2011-03-14 37 views

回答

6

寄存器是内部处理器存储。 他们没有内存地址,因为他们不驻留在内存。例如,您可以通过它们的名称来识别它们:EAX。这就是说,内存映射寄存器确实存在,但是在任何现代处理器中,它们都属于其他设备,从来都不是CPU。为方便起见,它们被分配了“假”内存地址。见memory-mapped I/O

+0

我会补充说,他们也没有映射到RAM。由于映射正在进行,因此许多硬件设备的寄存器都具有“地址”。这里唯一的一点是x86不会使这些寄存器变为可映射的。 – 2012-05-20 06:29:10

+0

好点!和更多的字符 – slezica 2012-05-20 08:39:50

+0

@ MahmoudAl-Qudsi:64位版本的架构也是如此吗? – user2284570 2016-09-05 20:57:04

4

寄存器是CPU电路内的物理电子组件。他们不在RAM中,所以没有地址。要访问它的内容,请使用mov指令。

+0

很好,很感谢这些答案 – jerome 2011-03-14 17:39:17

+1

'寄存器是CPU电路内部的物理电子组件。对于case情况下的ʀᴀᴍ也是如此。 – user2284570 2016-09-05 20:58:28

7

已有架构使用低地址来指定CPU寄存器,如Univac 1100系列计算机。

http://en.wikipedia.org/wiki/UNIVAC_1100/2200_series

当前的x86硬件不工作的方式,这样你就不能获得EAX寄存器的地址 - 它只是没有一个。

+0

一些微控制器仍然有内存映射寄存器,例如AVR(具有32个GP寄存器的8位RISC):http://www.avr-tutorials.com/general/avr-memory-map。 – 2017-09-19 02:38:15

相关问题