首页 电脑数码

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

时间:2024-02-13 08:38:54  作者:万物皆有源

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

图1

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

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

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

图2

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

图3

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

图4

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

图5

我们知道,一个内存地址分为段地址和偏移地址,两者相加才会形成一个实际的物理地址,这部分由专门的电路完成,如图5,这个电路也处于cpu的内部,但它产生的物理地址必须输出到cpu外部的地址译码器。

图6

图6是一块内存电路,包括地址译码器和内存电路。

图7

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

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

相关文章