计算机组成与操作系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 计算机系统的组成

一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。如果仅有硬件系统,计算机不能做任何有意义的工作,硬件仅仅是建立了计算机的物质基础。如果要计算机硬件发挥作用,必须配置软件系统,软件使计算机硬件具有了生命力。

1.2.1 计算机系统的层次结构

计算机系统是一个十分复杂的硬件和软件的结合体,两者不可分割,但处于不同的层次上。没有计算机软件的“裸机”寸步难行,发挥不了任何作用,就像人只有躯壳,没有灵魂一样。而硬件是软件的物质基础,正是由于硬件的高度进步才为软件的发展提供了舞台。随着计算机结构的不断改进,计算机软件也产生了革命性的变化。

计算机系统的层次结构通常由5个以上不同的级别组成,每一级都能进行程序设计,如图1.1所示。

第1级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微指令。如果某一个应用程序直接用微指令来编写,那么可在这一级上运行该应用程序。

图1.1 计算机层次结构图

第2级是一般机器级,也称为机器语言级。这一级由微程序解释机器指令系统,也是硬件级。

第3级是操作系统级,它由操作系统程序实现。这些操作系统程序由机器指令和广义指令组成。广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级。

第4级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。如果应用程序采用汇编语言编写,则机器必须要有这一级的功能;如果应用程序不采用汇编语言编写,则这一级可以不要。

第5级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置。这一级由各种高级语言编译程序支持和执行。

这种层次结构的划分,有利于正确理解计算机系统的工作过程,明确了计算机硬件和软件在计算机系统中的地位和作用,以及计算机各层次之间的内在关系。了解计算机系统的层次结构,对于全面地认识计算机是非常有必要的。当然这种计算机层次的划分是相对而言的,它们之间也有交叉。随着计算机的发展以及集成电路技术的发展,软件功能可以由硬件实现,硬件功能可以由软件完成。

1.2.2 计算机硬件系统

计算机硬件系统是指构成计算机的所有实体部件的集合,通常这些部件由电子元器件、导线、机械装置等物理部件组成,它们都是看得见、摸得到的。计算机硬件主要由5大部件组成,即运算器、控制器、存储器、输入设备和输出设备,其中包含接口和其他外部设备。将这些硬件按照某一种方式有机地连接起来就是硬件系统。通常将运算器和控制器称为中央处理器(Central Processing Unit,CPU),CPU和存储器一起称为主机,而输入设备和输出设备均称为外围设备。计算机硬件组成结构如图1.2所示。

图1.2 计算机硬件组成结构

1.计算机的主要部件

(1)运算器。运算器是计算机的数据加工处理部件,它的主要功能是进行算术运算和逻辑运算。

运算器通常由算术逻辑运算部件(Arithmetic Logical Unit,ALU)、通用寄存器组或累加器以及数据传送逻辑电路等组成,其结构示意图如图1.3所示。算术逻辑运算部件ALU可以完成算术运算和逻辑运算,其核心部分是加法器。寄存器组或累加器可以暂存数据,一个寄存器可以存放一个数据。

(2)控制器。控制器是统一指挥和控制计算机各部件工作的中央机构,它的主要功能是按照人们预先确定的操作步骤,控制整个计算机的各部件协调地进行工作。

控制器主要由指令部件、时序部件、控制信号形成部件组成,其结构示意图如图1.4所示。控制器从内存储器中逐条地取出指令,并对该指令进行译码,产生相应的操作信号,控制计算机完成指令所规定的操作。时序部件用来产生各种时序信号,协调计算机的各部件有条不紊地工作。控制信号形成部件是控制器的核心,用来产生计算机工作时所需要的控制信号。可以用两种方式产生控制信号:一种是组合逻辑电路的方法,另一种是微程序技术。目前主要采用第二种方式产生计算机信号。

图1.3 运算器结构示意图

图1.4 控制器结构示意图

(3)存储器。存储器是计算机用来存放程序和数据的部件,具有“记忆”功能。它的基本功能是按照指定的存储位置“读出”或“写入”信息。

存储器主要由地址寄存器、数据寄存器、存储体及读/写控制电路等组成,其结构示意图如图1.5所示。地址寄存器中保存“读/写”数据的存储单元地址,数据寄存器中保存要进行“读/写”的数据。存储体中包含若干个存储单元,存储单元可以存放一个数据或一条指令。

图1.5 存储器结构示意图

存储器有读出和写入两个基本操作。不论进行哪一种操作,都应该事先知道存储单元的地址。为了区分存储体中的存储单元,要求为每个存储单元进行编号,这个编号就称为存储单元地址。在计算机中,表示信息的最小单位是位(bit),1位可以表示二进制数“1”或“0”。我们将8位二进制数构成的单位称为1个字节(Byte),存储信息的最小单位是字节。将1个或n个字节构成的整体称为1个字(Word),1个存储单元可以存放1个字。若存储单元的地址按照存储器中“字”的个数进行编址,称为字地址;若存储单元的地址按照存储器中“字节”的个数进行编址,则称为字节地址。

存储器分为内存储器(内存)和外存储器(外存)。内存由半导体器件RAM和ROM构成,用来存放CPU正在执行的指令和数据;外存由磁性材料等构成,用来存放暂时不执行的程序和数据,常用的外存有软盘、硬盘、光盘、U盘和磁带机等。

(4)输入设备。输入设备的任务是将人们编制好的程序和原始数据送到计算机中。其功能就是将它们转换成计算机能够识别的电信号,并将这些电信号存放到计算机的存储器中。

常用的输入设备有键盘、鼠标、扫描仪、触摸屏、数码相机以及早期的纸带输入机和卡片输入机等。输入设备与主机之间通过设备接口连接。接口有数据缓冲的功能,用来解决输入设备与主机之间工作速度上的差异;接口也可以进行信息格式转换,即将字母、数字、声音、图像等信息转换成计算机能识别的代码;接口还是输入设备与主机之间的桥梁,可以向主机提供输入设备的状态,接收主机对输入设备的命令等。

(5)输出设备。输出设备的任务是将计算机的处理结果进行输出。其功能是将计算机中用代码描述的处理结果转换成人类认识的符号进行输出。

常用的输出设备有显示器、打印机、绘图仪、刻录机等。输出设备与主机之间也需要通过设备接口进行连接。

外存也是外围设备,它既可以作为输入设备,又可以作为输出设备。

2.计算机的总线结构

将计算机基本组成的5个部件,用一组导线按照某种方式连接起来,就构成了计算机的硬件系统,这一组导线称为总线(Bus),其中包括地址总线、数据总线和控制总线。

总线负责计算机中各部件之间公共信息的传递,它能分时地发送与接收各个部件的信息。在计算机中采用总线结构,可以减少信息传送线的数目,还可以提高计算机扩充内存和外设的灵活性。

计算机的组成结构形式取决于计算机各部件的功能和整机系统的性能要求,不同的计算机系统采用不同的结构形式。在此介绍3种常用的总线结构。

(1)单总线结构。如图1.6所示,用单一的一组总线将计算机的5大部件连接起来,使每个部件都可以通过该总线与另一个部件通信,这就是单总线结构。这种结构的优点是结构简单,成本低,便于扩充。缺点是总线负载大,分时使用导致信息传输速率受到限制,因此只用在小型计算机或微型计算机中。

图1.6 单总线结构

(2)双总线结构。单总线的数据传输速度受到限制,影响了整个计算机的工作效率。为了解决这一问题,可以采用双总线结构,这样在同一时刻,可以使用两条总线并行工作,提高了计算机的工作速度。

(3)多总线结构。为了计算机系统功能的扩大和工作效率的提高,我们采用了多总线结构。虽然多总线结构可以提高主机和外设的并行工作能力,但是在设计与实现上增加了难度和成本。

1.2.3 计算机软件系统

计算机软件是指程序、数据和文档,其中文档包括程序的使用说明、程序开发过程中各阶段的文字记录等。性能优良的计算机硬件系统能否充分发挥其应有的功能,在很大程度上取决于所配置软件的完善与丰富程度。

计算机软件系统主要包括系统软件、程序设计语言和应用软件。

1.系统软件

系统软件是指为了方便用户使用计算机和充分发挥计算机的效率,向用户提供的一系列软件,其中包括操作系统、语言处理程序、支持软件等。系统软件的作用是对计算机系统进行管理、调度、监控和维护,提供程序的运行和开发环境,向用户提供各种服务。

(1)操作系统。操作系统是计算机中最重要的一种系统软件,它是一些程序模块的集合。操作系统用有效、合理的方式组织和管理计算机系统的软/硬件资源,合理地安排计算机的工作流程,控制和支持应用程序的运行,改善人机界面及为应用软件提供支持,并且向用户提供各种服务,使得用户能方便、灵活、有效地使用计算机,也使整个计算机系统高效率地运行。

计算机首先配置的软件必须是操作系统,操作系统是最靠近硬件层的一种软件,它把裸机改造成为功能更加完善的虚拟机,使得对计算机系统的使用和管理更加方便。操作系统不仅提高了系统资源的利用率,而且还是对计算机系统进行自动管理的控制中心。

根据操作系统提供给用户的工作环境的不同来进行分类.可将操作系统分成单用户操作系统、多道批处理系统、分时系统、实时系统、网络操作系统和分布式操作系统等多种。本章的后续章节中会进一步介绍。

(2)语言处理程序。语言处理程序包括汇编程序、编译程序、解释程序。这些语言处理程序之间的不同之处主要体现在它们生成计算机可执行机器语言的过程不同。

汇编程序是将用汇编语言书写的源程序翻译成用二进制代码“0”或“1”表示的机器语言,形成了计算机可执行的机器指令代码。

编译程序是将用高级语言书写的源程序翻译成等价的机器语言程序,最终产生了一个可以在计算机上执行的目标程序。

解释程序是将用高级语言书写的源程序分段地转换为相同功能的指令序列,并且执行这段等价的指令序列,即边解释边执行,没有产生目标程序。

(3)支持软件。支持软件是支持其他软件的开发和维护的一种软件,也是系统软件中的一个重要组成部分。其中包括诊断程序、调试程序、链接程序、数据库管理系统等。

2.程序设计语言

程序设计语言是人与计算机交互的工具,是用来编写程序的语言,包括机器语言、汇编语言和高级语言。

机器语言用二进制代码“1”或“0”表示机器指令,是计算机能够直接识别和执行的一种面向计算机硬件的程序设计语言。用机器语言编写的程序运行速度快,但是不具有通用性和可移植性。而且机器语言不便于记忆,程序编写难度大,不容易查错,属于低级语言。

汇编语言用助记符表示机器指令,这种符号化的语言称为汇编语言。汇编语言程序比机器语言程序易读、易查、易修改,还保留了机器语言执行速度快的优点,但也不具有通用性和可移植性。汇编语言也是一种面向计算机硬件的程序设计语言,属于低级语言。用汇编语言编写的程序,计算机不能直接识别,需要有一种翻译程序将其翻译成机器语言程序(二进制代码),然后计算机方可执行,这样的过程称为“汇编”。

高级语言是与人们自然习惯相近、与计算机硬件无关的一种程序设计语言。用高级语言编写程序方便,容易阅读和理解,可以提高编程效率,但是计算机不能直接执行用高级语言编写的源程序,必须经过编译程序或解释程序对高级语言源程序进行翻译,计算机才能识别并执行。由于用高级语言编写的源程序不依赖于具体的计算机硬件,因此具有较好的通用性和可移植性。

用汇编程序、编译程序或解释程序对源程序进行“翻译”的过程,如图1.7所示。

图1.7 源程序执行过程

3.应用软件

应用软件是指专门用于解决各种具体应用问题的应用程序。随着计算机的广泛应用,应用软件的种类有很多,例如文字处理软件Word、电子表格软件Excel、计算机辅助设计软件AutoCAD、媒体播放软件Media Player、网络通信软件Outlook、学籍管理系统和人事管理系统等。

计算机系统的组成如图1.8所示。

图1.8 计算机系统的组成

1.2.4 计算机硬件与软件的关系

计算机硬件是计算机系统的物质基础,计算机软件是计算机系统的灵魂,两者是不可分割的一个整体。

在计算机系统中没有一条明确的硬件与软件的分界线,硬件与软件在逻辑功能上是等效的。也就是说,用软件实现的操作,在原理上可以用硬件来实现;同理,用硬件实现的许多操作也可以通过用软件模拟来实现。例如,乘法的运算可以有两种实现方法:一种方法是在计算机硬件中设置乘法器,用硬件来完成乘法运算,这样计算机的处理速度快,占用存储器的空间小,但是需要增加硬件,成本高;另一种是用软件(乘法子程序)的方法来完成乘法运算,这样计算机的处理速度慢,占用存储器空间大,但是不需要增加硬件,成本低。究竟采用哪种方法实现乘法运算,应该从计算机系统的速度、价格、效率和资源等方面综合考虑,也就是说,哪些功能由硬件实现,哪些功能由软件实现,应该由所选择的设计目标、电子元器件的发展和系统性能等来决定。

目前,计算机的硬件和软件正朝着相互渗透、相互融合的方向发展,软件和硬件可以互相转化。在早期的计算机设计中,由于硬件成本较高,只用硬件完成比较简单的指令系统功能,依靠软件来完成更多的功能,减少硬件以便降低成本,这就是硬件软化。随着集成电路技术的发展,硬件价格逐渐降低,将原来用软件实现的一部分功能用硬件来实现,提高了计算机的运算速度,降低了存储器空间的占有率,这种用硬件来实现软件功能的方法称为软件固化。不论采用哪种方法,计算机系统所完成的功能都是相同的。从用户的角度看,重要的是计算机系统能完成哪些功能。