0
点赞
收藏
分享

微信扫一扫

(一)计算机系统的层次结构【计算机组成原理】

上古神龙 2022-01-27 阅读 54
经验分享

文章目录

1,主存储器:

图1 (假设正在和CPU进行交互)

(1)存储数据:

需要CPU给主存储器一个要存储数据的指令,然后将数据的地址放进地址寄存器,接着将数据放进数据寄存器。

这样存储体就可以通过提供的这三个东西来存储。


(2)取出数据:

CPU将想要取出的数据的地址交给地址寄存器,并且CPU告诉存储器这次要执行的是读操作。然后存储体就会通过地址将对应的数据放在数据寄存器中,然后CPU就可以通过线路将数据寄存器中的数据取走。

(3)存储体:
2

存储单元:在这个存储单元中放一串二进制代码。

存储字:这就是存储单元中放的二进制代码的组合。

存储字长:存储字的二进制代码的长度。

在MAR(地址寄存器)中,它的位数与存储体中的存储单元的个数是对应的(MAR中也是有好几位的,只是用的时候将它转换成10进制的使用)。ex:地址存储器中的数都是4位的,那么存储体中的存储单元的个数就是2的4次方。相应的,如果存储体中的存储单元的个数是2的5次方,那么地址寄存器中的二进制的位数就是5.

在MDR(数据寄存器)中,它的位数是和存储单元中的存储字长有关系的。如果MDR中的二进制都是16位的,那么代表着存储单元中存储字长就是16位的。

(注意上面的单位都是比特,不是字节。)



2,运算器:

运算器的作用就是实现算术运算和逻辑运算。

3

在这里插入图片描述

其中ALU的结构是十分复杂的,因为它负责运算。其他三个只负责存储。



3,控制器:

5 6

执行一条指令:先从PC中根据下一条指令的地址来找指令。然后将指令放在IR中。最后CU来分析指令并且执行指令。



4,举例子:

7

通过编译放进主存储器中。

8

(前面的是机器指令,后面的是数据存储。指令分为操作码和地址码两个部分,加起来正好与数据的字长一样,16比特。所以存储字长就是16比特。操作的时候CPU会自动将指令拆成操作码和地址码。)

以上是存储操作。


接下来开始执行:

指令1:

10

最开始:PC = 0,指向的是第一条指令的存储地址。

前面提到过,PC有自动加一的功能,当已经完成了地址为0的指令后,就会指向1; ACC = 2



指令2:

11

PC+1,执行了2; ACC = 6



指令3:

12

PC+1,得PC = 3,ACC = 7.



指令4:

13



指令5:
14

PC+1 = 4



15
在现实中,MAR和MDR通常会被集成在CPU中,所以以后遇到了可以理解。



————王道视频学习笔记

举报

相关推荐

0 条评论