2011-03-14 38 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

相關問題