1.3 计算机系统的层次结构
计算机系统以硬件为基础,通过配置各种软件,形成一个有机组合的系统。使用计算机帮助我们解决问题的方法从控制流程的角度看可分为三种:
①全硬件的方法,即使用组合、时序逻辑设计方法,设计硬件逻辑电路,实现控制流程;
②软、硬件相结合的方法,即部分流程由硬件逻辑实现,另一部分由微程序实现;
③全软件的方法,即采用某种计算机语言,按流程算法编制程序,实现控制流程。
究竟采用什么方法,取决于人员知识、开发成本、速度、可靠性、存储容量等多种因素。
计算机能提供给我们这么多解决问题的方法,与计算机自身不同层面上的功能是分不开的。我们采用一种层次结构的观点分析计算机,便于我们选择某一层次分析计算机的组成、性能和工作原理。计算机系统按功能划分的层次结构如图1-3所示。
图1-3 计算机系统按功能划分的层次结构图
一台实际的计算机在没有加载任何软件之前就是一台最基本的物理机,物理机按照功能实现划分成不可再分的三个实际机器层次,M0 是由电子线路组成的机器实体,这里称其为硬联逻辑层,M1是支持和执行微指令的微程序层,M2是机器语言层。计算机设计者关心实际机器层的组成。面向实际机器层,用户只有编制二进制代码程序,才能使之工作。在这三个层次上解决实际问题都属于硬件层面。
M3 ~M6为虚拟机器层。虚拟机只对“观察者”存在,它的功能体现在广义的计算机语言上(即把计算机上安装的所有不同层面上的软件都看成是计算机语言),虚拟机除应用自身层次上的语言外,还对紧邻的较低层次提供自身语言的翻译手段。从某一层次的观察者看来,他只能是通过该层次的语言来了解和使用计算机,至于对实际问题在较低层次上的具体解决和实现是不必关心的。即虚拟机是提供了软件支持的计算机。为使用户能够高效、方便地使用计算机,通常面向用户的是一台虚拟机器。
M3是操作系统层。操作系统是计算机软件中的核心程序,用来管理和控制计算机系统中的硬件和软件资源,并为用户和其他软件提供服务。操作系统控制应用程序执行,并作为计算机用户与计算机硬件间的接口。操作系统与计算机硬件有着固有的联系:在设计操作系统时,必须充分考虑硬件的特性;在设计硬件时,也必须认识到硬件必须为操作系统提供足够的支持。
操作系统的主要功能有:
①处理器管理功能,即为一个或多个用户合理、有效地分配CPU;
②存储管理功能,即合理组织和分配存储空间(包括主存和辅存);
③数据管理功能,即合理组织信息在辅助存储器上的存储和检索;
④设备管理功能,即合理组织和使用I/O设备;
⑤作业管理功能,即合理组织和调度作业的运行;
⑥系统的安全和保护功能,即为保护系统正常运行,减少和避免由各种操作错误及设备故障引起的问题所采取的防范措施。
操作系统的工作方式是:计算机在开机的瞬间,固化在ROM BIOS(在计算机主板上)中的引导程序将操作系统内核装入主存,然后操作系统运行它的第一个初始化进程,初始化整个系统,随后准备处理用户的各种请求和系统中的事件。现代操作系统是事件(中断、用户请求等)驱动的,如果没有进程执行、用户响应和I/O设备需要服务,操作系统将静止地等待。当中断发生时,硬件将CPU的控制权交给操作系统,操作系统进行中断处理,完成后又静止等待下一个事件。中断是激活操作系统的手段,提供完善的中断机制是现代计算机必备的。
M4是中间语言或汇编语言层。面向用户的是提供了汇编支持的虚拟机器,用户可以使用汇编语言编写程序。
M5是高级语言层。面向用户的是提供了编译或解释支持的虚拟机器,用户可以使用高级语言编写程序。
M6是应用语言层。这一层是为使计算机满足某种用途而专门设计的,是各种面向问题的应用语言。可以设计专门用于人工智能、教育、行政管理和计算机设计等方面的虚拟机器,这些虚拟机器也是当代计算机应用领域的重要研究课题。
我们利用计算机解决问题,使其展开复杂的任务处理,实际上就是在计算机系统的层次结构上按照从较高层次到较低层次的层层“翻译”来完成的,如常见的:用户→建模→应用程序→高级语言→汇编、编译或解释语言→操作系统→机器语言→微程序→硬联逻辑。
计算机系统的层次结构的概念是在计算机发展过程中逐渐形成的,分层方式不是唯一的。不同计算机系统之间的层次结构的划分与实现方法是有差别的,一般来说,相邻层的语法结构的差别不大,这有利于编译或解释,但最终必须处理为能在实际机器上直接执行的机器语言程序。在以上所述的分层方式中,计算机系统的软、硬件界面定在M2 与M3 之间。但是,随着大规模集成电路技术的发展,计算机软、硬件界面已经变得模糊。任何操作可以用软件完成,也可以用硬件完成;任何指令的执行可以用硬件完成,也可以用软件完成。
计算机系统构成多层次结构,使得各层次面向不同的人员。作为学习计算机组成与结构的人员,面向我们的是汇编语言层M4、机器语言层M2和微程序层M1。