1.3 计算机硬件的五个功能部件及其功能
计算机系统的核心功能是执行程序.为此,首先必须有能力把要运行的程序和用到的原始数据输入到计算机内部并存储起来,接下来应该有办法逐条执行这个程序中的指令以完成数据运算并得到运算结果,最后还要输出运算结果供人检查和使用.为此,一套计算机的硬件系统至少需要由下述5个相互连接在一起的部件或设备组成,如图所示.
在图中用5个方框表示了计算机硬件的5个基本功能部件:其中,数据输入设备完成把程序和原始数据输入计算机;数据存储部件实现程序和数据的保存,图中指的是内存;数据运算部件承担数据的运算和处理功能;数据输出设备完成把运算及处理结果从计算机输出,供用户查看或长期保存;而计算机控制部件则负责首先从存储部件取出指令并完成指令译码,然后根据每条指令运行功能的要求,向各个部件或设备提供它们所需要的控制信号,它在整个硬件系统中起着指挥、协调和控制的作用.
可以把计算机想象为一个处理数据的工厂,则数据运算部件就是数据加工车间,数据存储部件就是存放原材料、半成品和最终产品的库房,数据输入设备相当于运送原材料的运货卡车,数据输出设备相当于发出最终产品的运货卡车,计算机控制部件则相当于承担领导、指挥功能的厂长和各个职能办公室.在领导的正确指挥下,如果能够源源不断地获得原材料,工厂内又有存放的场所,车间能够对这些原材料进行指定的加工处理,加工后的产品可以畅通地运送出去并销售,如果这些硬件资源能协调的工作,则这个工厂(计算机)就纳入正常运行轨道了.
在图中,被称为部件的3个组成部分通常是使用电子线路来实现的,安装在一个金属机柜内或者印制电路板上,称为计算机的主机.数据运算部件(运算器)和计算机控制部件(控制器)合称为计算机的中央处理器(center processing unit, CPU).
图中间的是计算机中3种类型的总线.数据总线用于在这些部件或设备之间传送属于数据信息(指令和数据)的电气信号;地址总线用于在这些部件或设备之间传送属于地址信息的电气信号,以选择数据存储部件中的一个存储单元,或者外围设备中的一个设备;控制总线用于向存储部件和外围设备传送起控制作用的电气信号,也就是指定在CPU和这些部件或者设备之间数据传送的方向以及操作的性质(读操作还是写操作)等.可以看出,计算机的5个功能部件正是通过这3种类型的总线被有机地连接在一起的,从而构成一台完整的、可以协调运行(执行程序)的计算机硬件系统.
在计算机中,普遍采用的体系结构是由冯·诺依曼提出来的、被称为存储程序的计算机体系结构.早期计算机中,各个部件是围绕着运算器来组织的,如图1.3(a)所示,其特点是在存储器和输入输出设备之间传送数据都需要经过运算器.在当前流行的计算机中,更常用的方案则是围绕着存储器来组织的,如图1.3(b)所示.这两种方案并无实质性的区别,只是在一些小的方面做了部分改进,使输入输出操作尽可能地绕过CPU,直接在输入/输出设备和存储器之间完成,以提高系统的整体运行性能.
前面说到的还只限于“工厂的硬件组成”,也就是人员和厂房、设备等,仅有这些,工厂还是运转不起来的,至少是很难运行.要成功运转,还需要有一系列的规章制度、管理策略和经营办法等“软件”部分.计算机系统也一样,在硬件组成的基础之上,还必须有软件部分,主要包括操作系统、程序设计语言及其支持软件等,这些在前面已经提到.