认识各个硬件部件
1.1主存储器的基本组成
原理:
- 取数据时,CPU会把想要存储的数据的指定地址放在MAR之中,存储体就会根据MAR接收到的地址信息去存储体拿出信息,并放在MDR中,最后CPU就可以通过数据线路从MDR中取走想要的数据。
- 写数据时,CPU会指明想要写入到哪个位置告诉MAR,写入的数据会放在MDR中,最后CPU会通过控制总线告诉主存储器说,这是执行的是写的操作,主存储器根据CPU发出的这三个信息,就会往对应的位置往CPU写入数据了。
存储单元:每个存储单元存放一串二进制代码
存储字:存储单元中的二进制代码的组合
存储字长:存储单元中发二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit
MAR位数反映了存储单元的个数
MDR位数=存储字长
数据在存储体内按地址储存
例如:
MAR=4位=>总共有$2^4$个村春单元
MDR=16位->每个存储单元可存放16bit,一个字(Word)=16bit=两个字节
1字节(Byte)=8bit
1B=1个字节,1b=1个bit
1.2 运算器的基本组成
1.3 控制器的基本组成
1.4 计算机的工作过程
int a=2;b=3;c=1;y=0; void main(){ y=a*b+c; }
解释
- 首先PC会指向0第一条指令的位置,
- PC通过地址总线传输到MAR当中,控制器会告诉主存储器我要进行的读操作
- 主存储器会根据MAR记录的地址信息去存储体找出0号地址对应的二进制数据,并且放到MDR中
- 这条指令会通过数据总线传递到IR中,控制器的IR已经存放了此次的指令
- 指令中的前6位操作码,会被送到CU单元,CU分析以后,会得到这是取数的指令
- IR会将指令的地址码送到MAR中,00000001转化为10进制为5,最后传递给MAR=5
- 接下来主存储器根据MAR中的地址,找到a=2,并将结果放在MDR中
- MDR中的数据会被传输到ACC累加器中
1.5 总结