0

寄存器(如 eax、ebx、ecx、edx、esp、ebp 等)是否在处理器中物理可用,或者从编程的角度来看它们是虚拟内存位置?

4

5 回答 5

2

您指定的寄存器在英特尔处理器上都是物理可用的,而不是虚拟内存。虚拟内存的概念在这里并不适用。

于 2012-04-12T10:47:50.570 回答
1

它们在处理器中可用。根据处理器的不同,您可能有额外的寄存器或少于您指定的寄存器。

维基百科“处理器注册”

在计算机体系结构中,处理器寄存器是作为 CPU 或其他数字处理器的一部分可用的少量存储。此类寄存器(通常)由主存储器以外的机制寻址,并且可以更快地访问。几乎所有的计算机,无论是否加载存储架构,都将数据从更大的内存加载到寄存器中,并通过某些机器指令用于算术、操作或测试。

于 2012-04-12T10:47:57.783 回答
1

寄存器是指定的硬件平台。Eax、ebx 或其他任何类似 rax、rbx 的东西都是 x86 寄存器它们确实存在于我们的计算机中,并且物理上可用 在 x86 中,寄存器不会映射到内存中

于 2012-04-12T10:48:26.677 回答
1

寄存器是物理的,它们是机器架构的一部分,而不是操作系统或任何其他软件的一部分。由于寄存器重命名,它们可能在芯片上没有一个对应的硅片,但从任何软件(包括操作系统)的角度来看,它们是硬件的一部分,与内存地址不同。

于 2012-04-12T12:10:47.227 回答
1

它们非常实际地存在于英特尔 CPU 中。Linux 在这些 CPU 之上运行。

于 2012-04-12T10:47:10.390 回答