這個問題應該從cpu、寄存器和內(nèi)存單元的物理結構來看。

圖1
上圖是一個手畫的cpu訪問寄存器和內(nèi)存的簡單結構圖,從圖中我們看到,寄存器是在cpu芯片的內(nèi)部,內(nèi)存是在cpu的外部。僅此一點,我們就可以理解為什么cpu訪問寄存器的速度比內(nèi)存要快。
為了進一步加深對這個問題的理解,參考圖2和圖3:

圖2
圖2是cpu內(nèi)部結構圖。從圖中可以看到,要執(zhí)行的指令、執(zhí)行指令的電路部分以及ALU和寄存器是通過總線直接連在一起的。

圖3
從圖3可以看出,存儲器處于cpu的外部,cpu要對存儲單元進行訪問,就必須通過地址總線。這里的寄存器是指R0,R1等。

圖4
圖4是一個簡單的寄存器電路。

圖5
我們知道,一個內(nèi)存地址分為段地址和偏移地址,兩者相加才會形成一個實際的物理地址,這部分由專門的電路完成,如圖5,這個電路也處于cpu的內(nèi)部,但它產(chǎn)生的物理地址必須輸出到cpu外部的地址譯碼器。

圖6
圖6是一塊內(nèi)存電路,包括地址譯碼器和內(nèi)存電路。

圖7
圖7是上面幾部分的連接示意圖。圖下面的譯碼器代表指令執(zhí)行電路,左上角是寄存器,上部中間是內(nèi)存地址形成電路,這三部分都在cpu芯片的內(nèi)部。右上角藍色部分是地址譯碼器和內(nèi)存電路,兩者處于cpu的外部。
假設一條指令的機器碼由下部譯碼器的輸入端A0,A1,A2等引腳輸入,由此可以明顯看出,如果這條指令中分別用到了寄存器和內(nèi)存單元,兩者的訪問速度肯定存在著明顯的差別。
-
寄存器
+關注
關注
31文章
5608瀏覽量
129968 -
cpu
+關注
關注
68文章
11277瀏覽量
224954 -
內(nèi)存
+關注
關注
9文章
3209瀏覽量
76358
原文標題:cpu訪問寄存器的速度為什么比內(nèi)存快
文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
寄存器、內(nèi)存(內(nèi)存儲器)與外設寄存器
什么是寄存器?什么是寄存器映射
CPU結構執(zhí)行單元BIU寄存器存儲器組織結構
多寄存器Load/Store內(nèi)存訪問指令
寄存器變量
移位寄存器的種類與作用
匯編知識:淺談寄存器和內(nèi)存單元指令
什么是寄存器和存儲器?寄存器與存儲器有何區(qū)別?
CPU、寄存器和內(nèi)存單元的物理結構
評論