需要有关注册文件的说明

时间:2014-02-01 11:05:08

标签: cpu cpu-registers

有人可以用简单的简单字解释注册文件的确切内容吗? 我对CPU的运行方式有了基本的了解,对汇编代码的经验也很少,但我找不到任何好的解释。
当我们说“CPU寄存器”时,这是我们的意思吗?它是一个高速缓冲存储器(意味着一些硬件组件位于最靠近CPU的位置)?如果是这样 - 为什么称为“注册文件”?不是文件只是一个抽象?它与我们在汇编编码中使用的可寻址单词有什么关系吗? (%eax,%ebx,%ecx等......)
我试图谷歌它并阅读维基百科的“注册文件”,但无法找到它的答案。

2 个答案:

答案 0 :(得分:2)

寄存器是一种快速存储器。汇编语言中的寄存器名称只是指令集公开的寄存器,它们可能会也可能不会直接映射到硬件寄存器。现代CPU通常使用寄存器重命名来重新排列指令,使它们同时执行,因此用于存储值的寄存器数量可能会大得多。 Register file是他们中的一员。

在硬件中,寄存器实际上是由触发器构成的任何数据存储装置。在流水线之间必须有寄存器,在块之间可能还有许多触发器在输入/输出端口,并且每个块也有很多寄存器来计算和存储媒体间值,就像软件中的变量一样

答案 1 :(得分:1)

寄存器确实是CPU内部的一些硬件组件 。就速度而言,甚至比保存存储器的一小部分的本地副本的存储器高速缓存更接近。术语文件仅表示收集所有寄存器以及用于访问它们的硬件连接。它与磁盘或文件系统无关。