计算机硬件的基本组成
早期的冯·诺依曼机
科学家冯·诺依曼最先提出 “程序存储” 的思想,并成功将其运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机
“程序存储”:指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
典型的冯·诺依曼机结构如下:
简化如下:
在微处理器问世之前,运算器与控制器分离,而且存储器容量小,因此设计成以运算器为中心的结构
现代计算机的组织结构
随着微电子技术的进步,同时计算机需要处理的信息也越来越多,大量 I/O 设备的速度和 CPU 的速度差距悬殊,因此需要更新换代计算机的组织结构以适应新的需求
计算机发展为了以存储器为中心,使 I/O 设备尽可能的绕过 CPU,直接在 I/O 设备与存储器之间完成操作,以提高整体效率。其结构如下图所示:
计算机的功能部件
计算机的五大功能部件:
-
运算器
-
控制器
-
存储器
-
输入设备
- 输出设备
运算器
算术逻辑单元 ALU
核心:算术逻辑单元(Arithmetic and Logical Unit,ALU)
能实现多组算术运算和逻辑运算的组合逻辑电路
通用寄存器
用于暂存操作数和中间结果
- 累加器 (Accumulator,ACC)
累加器 A 是一个具有特殊用途的二进制 8 位寄存器,专门用来存放操作数或运算结果
在 CPU 执行某种运算前,两个操作数中的一个通常应放在累加器 A 中,运算完成后累加器 A 中便可得到运算结果
- 乘商寄存器(Multiple Quotient Register,MQ)
负责数据的乘法与除法运算并可保存运算结果
- 操作数寄存器 X
操作数本身存放于寄存器中,在指令中只是给出了几个位的代码来表示它具体存放在哪个寄存器中
- 变址寄存器(Index Register,IX)
指寄存器 ESI、EDI、SI 和 DI 的寄存器,它们主要用于存放存储单元在段内的偏移量
-
基址寄存器(Base Register,BR)
-
数据缓冲寄存器 DR
程序状态寄存器
一类是体现当前指令执行结果的各种状态信息 (条件码) ,如
- 有无进位(CF 位)
- 有无溢出(OF位)
- 结果正负(SF 位)
- 结果是否为零(ZF 位)
- 奇偶标志位(P 位)
- ....等
另一类是存放控制信息(PSW:程序状态字寄存器),如
- 允许中断(IF 位)
- 跟踪标志(TF位)
- ...等
控制器
控制器是计算机的指挥中心,它指挥着各部件自动协调地进行工作
程序计数器 PC
程序计数器 (Program Counter,PC)
控制单元
控制单元(Control Unit,CU)
- 指令寄存器(Instruction Register,IR)
IR 是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令
- 指令译码器(Instruction Decoder,ID)
对指令中的操作码字段进行解释分析
- 控制寄存器(Operation Controller,OC)
产生各种控制信号
其他
时序部件
存储器
存储器是计算机的存储部件,用来存放程序和数据
存储器分为主存储器(简称主存,也称被存储器)和辅助存储器(简称辅存,也称外存储器)
- CPU 能够直接访问的存储器是主存储器
- 辅助存储器用于帮助主存储器记忆更多的信息,辅助存储器中的信息必须调入主存后,才能为 CPU 所访问
主存储器有许多存储单元组成,每个存储单元包括若干个存储元件,每个存储元件存储一位二进制代码 “0” 或 “1”,故而存储单元可存储一串二进制代码,称这串代码为存储字,这串代码的位数称为存储字长,存储字长可以是一个字节(8bit)或者字节的偶数倍
输入设备
将程序和数据以计算机所能识别和接受的信息形式输入到计算机
输出设备
将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出
最常用、最基本的输出设备是显示器、打印机
计算机的输入、输出设备(简称I/O设备)是计算机与外界连接的桥梁