欢迎光临散文网 会员登陆 & 注册

cpu访问寄存器的速度为什么比内存快

2022-04-03 22:26 作者:我爱计算机科学  | 我要投稿

这个问题应该从cpu、寄存器和内存单元的物理结构来看。

图1

上图是一个手画的cpu访问寄存器和内存的简单结构图,从图中我们看到,寄存器是在

cpu芯片的内部,内存是在cpu的外部。仅此一点,我们就可以理解为什么cpu访问寄存器的速度比内存要快。

为了进一步加深对这个问题的理解,参考图2和图3:

图2

图2是cpu内部结构图。从图中可以看到,要执行的指令、执行指令的电路部分以及ALU和寄存器是通过总线直接连在一起的。

图3

从图3可以看出,存储器处于cpu的外部,cpu要对存储单元进行访问,就必须通过地址总线。这里的寄存器是指R0,R1等。

图4

图4是一个简单的寄存器电路。

图5

我们知道,一个内存地址分为段地址和偏移地址,两者相加才会形成一个实际的物理地址,这部分由专门的电路完成,如图5,这个电路也处于cpu的外部。

图6

图6是一块内存电路。

图7

图7是上面几部分的连接示意图。图下面的译码器代表指令执行电路,左上角是寄存器,这两部分都在cpu芯片的内部。右上角是内存地址形成电路和内存电路,两者处于cpu的外部。

假设一条指令的机器码由下部译码器的输入端A0,A1,A2等引脚输入,由此可以明显看出,如果这条指令中分别用到了寄存器和内存单元,两者的访问速度肯定存在着明显的差别。


cpu访问寄存器的速度为什么比内存快的评论 (共 条)

分享到微博请遵守国家法律