• 周五. 9月 30th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

1.2.2认识各个硬件部件

admin

11月 28, 2021

认识各个硬件部件

1.1主存储器的基本组成

image-20200816142654661

原理

  • 取数据时,CPU会把想要存储的数据的指定地址放在MAR之中,存储体就会根据MAR接收到的地址信息去存储体拿出信息,并放在MDR中,最后CPU就可以通过数据线路从MDR中取走想要的数据。
  • 写数据时,CPU会指明想要写入到哪个位置告诉MAR,写入的数据会放在MDR中,最后CPU会通过控制总线告诉主存储器说,这是执行的是写的操作,主存储器根据CPU发出的这三个信息,就会往对应的位置往CPU写入数据了。

image-20200816144140880

存储单元:每个存储单元存放一串二进制代码

存储字:存储单元中的二进制代码的组合

存储字长:存储单元中发二进制代码的位数

存储元:即存储二进制的电子元件,每个存储元可存1bit

MAR位数反映了存储单元的个数

MDR位数=存储字长

数据在存储体内按地址储存

例如:

MAR=4位=>总共有$2^4$个村春单元

MDR=16位->每个存储单元可存放16bit,一个字(Word)=16bit=两个字节

1字节(Byte)=8bit

1B=1个字节,1b=1个bit

1.2 运算器的基本组成

image-20200816160102264

1.3 控制器的基本组成

image-20200816160407272

1.4 计算机的工作过程

int a=2;b=3;c=1;y=0;
void main(){
    y=a*b+c;
}

image-20200816214115003

解释

  1. 首先PC会指向0第一条指令的位置,
  2. PC通过地址总线传输到MAR当中,控制器会告诉主存储器我要进行的读操作
  3. 主存储器会根据MAR记录的地址信息去存储体找出0号地址对应的二进制数据,并且放到MDR中
  4. 这条指令会通过数据总线传递到IR中,控制器的IR已经存放了此次的指令
  5. 指令中的前6位操作码,会被送到CU单元,CU分析以后,会得到这是取数的指令
  6. IR会将指令的地址码送到MAR中,00000001转化为10进制为5,最后传递给MAR=5
  7. 接下来主存储器根据MAR中的地址,找到a=2,并将结果放在MDR中
  8. MDR中的数据会被传输到ACC累加器中

1.5 总结

graph LR
A[各硬件部位]

A–>b(主存)–>C1[存储体]
–>D1[概念: 存储元 存储单元 存储字 存储字长 地址]
b(主存)–>C2[MAR]
–>D2[地址寄存器:用于指明要到读写那个存储单元,其位反应存储单元数量]
b(主存)–>C3[MDR]
–>D3[数据寄存器:用于暂存要读写的数据,其位数=存储字长]
A–>b2(运算器)–>E(ACC)
–>d1(累加计数器,存放操作,运算结果)
b2(运算器)–>E2(MQ)
–>d2(乘商寄存器,乘除法用到)
b2(运算器)–>E3(X)
–>d3(通用寄存器,存放操作数)
b2(运算器)–>E4(ALU)
–>d4(算数逻辑单元,用电路实现各种算数运算)
A–>b3(控制器)–>F(PC)
–>e1(程序计数器,存放下一条指令)
b3(控制器)–>F2(IR)
–>e2(指令寄存器,存放当前执行指令)
b3(控制器)–>F3(CU)
–>e3(控制单元,分析指令给出指令信号)
A–>b4(工作过程)–>g(初始指令:指令,数据存入主存,PC指向第一条指令)
b4(工作过程)–>g2(从主存中取出指令放入IR PC自动加1,CU分析指令,CU指挥其他部件执行命令)

发表回复

您的电子邮箱地址不会被公开。