1.1 计算机硬件
计算机的功能从根本上说就是能够接收信息,根据事先编好的程序对信息进行处理,并给出处理的结果。信息是复杂的,带来计算机科学的复杂性。但不论多么复杂,都是靠计算机的基本部件协作完成的,这些部件有运算器、控制器、存储器、输入设备和输出设备。
计算机的基本结构如图1-1所示。运算器与控制器合称为中央处理器(Central Process-ing Unit,CPU),它是计算机硬件系统的控制核心。在由超大规模集成电路构成的微型计算机中,CPU被集成在一块芯片上,称为微处理器。中央处理器和主存储器合称为主机。辅助存储器和输入、输出设备统称为外部设备或外围设备。各部件间流动着信息流和控制流,图中实箭头表示信息流,虚箭头表示控制流。
图1-1 计算机的基本结构框图
计算机的主机中流动着两类信息流:指令流和数据流。由主存储器流向控制器的信息流称为指令流;由主存储器流向运算器或由运算器流向主存储器的信息流称为数据流。控制器依据指令发出控制信号,控制整机工作来处理信息。
1. 运算器
运算器(Arithmetic Unit)是一种执行部件,主要任务是完成信息的加工处理,实际上就是执行算术运算和逻辑运算。它主要由算术逻辑单元(Arithmetic Logical Unit,ALU)和一系列寄存器组成。
ALU是完成算术逻辑运算的部件。它的核心是加法器。算术运算是按照算术规则进行的运算,如加、减、乘、除等;逻辑运算一般指非算术性质的运算,如比较、移位、与、或、非和异或等。在计算机中,一些复杂的运算往往被分解成一系列算术运算和逻辑运算来完成。
运算器中的寄存器用于存放参加运算的操作数、运算的中间结果和最终结果。寄存器的存取速度比存储器的存取速度快得多。
2. 控制器
控制器(Control Unit)是对输入的指令进行分析,并统一控制计算机的各个部件完成一定任务的部件。
控制器一般由指令寄存器、状态寄存器、指令译码器、时序电路和控制电路组成。计算机的工作方式是执行程序,程序就是为完成某一任务所编制的特定指令序列,各种指令操作按一定的时间关系有序安排,控制器产生各种最基本的不可再分的微操作的命令信号,即微命令,以指挥整个计算机有条不紊地工作。当计算机执行程序时,控制器首先从指令指针寄存器中取得指令的地址,并将下一条指令的地址存入指令寄存器中,然后从存储器中取出指令,由指令译码器对指令进行译码后产生控制信号,实际上就是若干表示“1”和“0”的高低电位的组合,用以驱动相应的硬件完成指令操作。简言之,控制器就是指挥计算机各部件工作的元件,其基本任务就是根据输入指令的需要,综合有关的逻辑条件与时间条件,产生相应的微命令。
3. 存储器
存储器(Memory/Storage)是用来存放程序和数据的部件,它是计算机中各种信息的存储和交流中心。程序是计算机操作的依据,数据是计算机操作的对象。计算机的存储器体系通常包括高速缓冲存储器、主存储器(内存储器,简称主存或内存)和辅助存储器(外存储器,简称辅存或外存)三级。当前在计算机上运行的程序和数据存放在主存储器中;辅助存储器作为主存储器的后援,存放暂不运行的程序和数据。主存储器的速度比CPU慢,因此存储器和CPU之间通常加入一级小容量的高速缓冲存储器(Cache)。CPU能直接访问主存储器。高速缓冲存储器解决了CPU与主存储器之间速度不匹配的矛盾。辅助存储器弥补了主存容量的不足,扩大了用户的编程空间。
主存储器由若干个存储单元组成,每个单元存放若干位二进制信息。为了区分不同的存储单元,通常把全部单元进行统一编号,此编号称为存储单元的地址。不同的存储单元有不同的地址,单元与单元地址是一一对应的。存入信息至存储单元或从存储单元取出信息,称为访问存储器,即对存储器进行写入或读出操作。通常,读出时,被读出的存储单元的内容不变;写入时,被写入的存储单元原有内容被破坏而代之以新写入的内容。
4. 输入设备
输入设备(Input Equipment)是用户给主机提供信息(原始数据和处理这些数据的程序)的装置。现在的计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等,这些数据都可以通过不同类型的输入设备输入到计算机中,即输入设备具有信息转换和数据传送功能,也就是将它们转换为计算机所能识别的二进制代码,并传送给计算机的能力。
常用的输入设备有键盘、语音识别器、鼠标器、轨迹球、游戏杆、扫描仪等。
5. 输出设备
输出设备(Out Equipment)是接收计算机处理结果的装置。该装置能将二进制代码转换为用户所能识别的信息形式,如图形、图像、声音等。
常用的输出设备有显示器、打印机、绘图仪和语音输出装置等。
特殊的输入/输出设备还有很多,如辅助存储器,用于存储程序和数据,从功能上看是存储系统的一部分,可是从与主机的连接方式和信息交换方式来看,辅助存储器可视为输入/输出设备。另外,随着计算机网络的迅速发展,数据通信设备和终端已成为计算机输入/输出设备重要而特殊的一类,如传真机、调制解调器等。计算机应用系统中连接的一些专用装置,也广义地归类于输入/输出设备,如自动控制、检测系统中使用的与计算机相关的仪器、装置等。
输入/输出设备多是电子和机电混合的装置,与运算器、存储器等电子部件相比,速度较慢。输入/输出设备与主机连接需要通过接口电路。
6. 总线
图1-1中,各部件之间的联系纽带就是总线。系统总线是一组传递信息的公共导线,它可以是电缆,也可以是印制电路板上的连线,用来连接多个部件,并为之提供信息交换通路。
总线的特点是具有共享性和分时性。所谓共享性是指连接在总线上的部件都可通过总线传递信息,多个部件可以同时从总线接收相同的信息,这可以视为广播式。所谓分时性是指任意时刻只能有一个设备向总线发送信息,这当然也成为了系统瓶颈。
根据传送信息的内容与作用不同,系统总线分为地址总线AB、数据总线DB、控制总线CB三类。地址总线用于传送地址信息,地址线的根数决定了寻址存储器的范围;数据总线用来传送数据信息,数据线的根数决定了一次能够传送数据的位数;控制总线用来传送控制信号、时序信号和状态信息等。
CPU发出的控制信号经CB送到存储器和I/O设备,控制各部件完成指令的操作。与此同时,CPU经AB向存储器或I/O设备发送地址,只有经地址信息译码选中的存储器或I/O设备,才能驱动CB和DB。另外,存储器和I/O设备有时也向CPU送回一些信号,如准备好信号READY,CPU可根据这些信号来调整本身发出的控制信号。I/O设备也可以直接向存储器提出读/写要求,由设备接口控制器控制数据传送。各部件通过三态门挂接在总线上。三态门是具有逻辑“0”、逻辑“1”和浮空三种逻辑状态的门电路,浮空状态就是三态门输出呈现开路的高阻状态。当三态门控制信号无效时,输出就呈现高阻状态。通过对三态门的控制,就可以选择部件和控制传输线上的信号传送方向。