我明白那个:
Faster访问时间 >More昂贵的
Slower访问时间 >Less昂贵的
我还了解到寄存器是层次结构的顶部,并且具有最快的访问时间。我很难研究的是why这么贵吗?据我所知,寄存器实际上是直接内置于 ALU 中的电路。如果它们确实内置于 CPU(尤其是 ALU)中,那么究竟是什么让它最昂贵呢?
是大小(当然,寄存器是最小的)吗?
寄存器非常非常昂贵,因为它们必须非常非常快,并且需要同时从许多地方访问它们。
例如,如果您有语句 a = a + x; b = b + x; c = c + x;你有三个指令,它们都想读取同一个寄存器。所以寄存器不仅仅是内存。处理器中还需要所有数据路径,以便来自保存 x 的寄存器的相同数据可以同时发送到三个指令。而且数据可以传输到很多很多地方。如果你写 double a = x;并且x是整数,那么必须有一条数据路径将寄存器x发送到浮点单元。或者向量单位。等等。
那么你就会遇到这样的问题:你不仅需要存储数据,还必须确保它可用。如果你写x = y + z; a = a + x;当第一条指令运行时,必须有人跟踪保存 x 的寄存器现在无效,直到存储加法结果,并停止第二条加法运行。那是超级贵的。
因此,构建寄存器不仅仅是添加一点内存,而且需要付费。寄存器对于处理器的速度至关重要,因此需要使用最昂贵、最快的技术来构建它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)