各硬件详解
通过对冯诺依曼结构的介绍,我们初步了解了组成计算机的各个硬件,接下来对其进行详细介绍。
输入、输出设备就不再介绍。
存储器
先来看结构图:
存储体顾名思义就是存放数据、指令等,也就时一块儿存储空间。
MAR:存储地址寄存器
MDR:存储数据寄存器
我们拆开来看,寄存就是暂时存放,器就是器具。类似于菜鸟驿站,就是在那里中转一下。
接着我们来看地址和数据,数据就存放在计算机中总得有个明确的位置吧,这个位置就是地址。就像你无论在哪里上学,总得有个位置。
假设地址是我们的取件码,数据是我们的快递。存储器可以形象的类比记忆:
你到菜鸟驿站告诉取货员(MAR)你的取件码(地址),取货员去货架(储存体)找到快递(数据),放在柜台(MDR)上,然后你从柜台拿走。
运算器
累加器(ACC):用来存放操作数,或者运算结果。
算数逻辑单元(ALU):实现算数运算、逻辑运算。
通用操作数寄存器(X):用来存放操作数。
乘商寄存器(MQ):在乘、除运算中运来存放操作数或操作结果。
假设现在计算2+3+4,那么首先将2放在ACC中,将3取来放在X中,通过ALU计算得5放在ACC中,取来4放在X中,再利用ALU计算得9放在ACC中,然后调取ACC中的结果放在存储单元中。
控制器
控制单元(CU):分析指令,给出控制信号。
指令寄存器(IR):存放当前执行的指令。
程序计数器(PC):存放下一条指令,有自动+1功能.
计算机工作流程可以更好的理解各个部件的作用,可以参考具体计算机工作流程的例子。
这里我们只列出第一条指令的过程,旨在说明各个硬件的功能,后续的不再赘述。
- 开始PC=0,PC对MAR说我要取地址号是0的数据。
- MAR收到请求后查找储存体。
- 找储存体中地址是0的数据放到MDR暂时存放。
- MDR将数据传输给IR。
- IR将数据传给CU。
- CU分析发现是取数a放到ACC中的指令,控制IR向MAR说明地址码”0000000101“,也就是对MAR说我要取地址号是5的数据。
- MAR收到请求后查找储存体。
- 找储存体中地址是5的数据放到MDR暂时存放。
- MDR将数据传输给ACC。
分析该过程,可以对各个硬件的功能理解更深。
(详细过程可参考B站王道考研-计算机组成原理-P5-20:00)