這個(gè)問(wèn)題應(yīng)該從cpu、寄存器和內(nèi)存單元的物理結(jié)構(gòu)來(lái)看。
圖1
上圖是一個(gè)手畫(huà)的cpu訪問(wèn)寄存器和內(nèi)存的簡(jiǎn)單結(jié)構(gòu)圖,從圖中我們看到,寄存器是在cpu芯片的內(nèi)部,內(nèi)存是在cpu的外部。僅此一點(diǎn),我們就可以理解為什么cpu訪問(wèn)寄存器的速度比內(nèi)存要快。
為了進(jìn)一步加深對(duì)這個(gè)問(wèn)題的理解,參考圖2和圖3:
圖2
圖2是cpu內(nèi)部結(jié)構(gòu)圖。從圖中可以看到,要執(zhí)行的指令、執(zhí)行指令的電路部分以及ALU和寄存器是通過(guò)總線直接連在一起的。
圖3
從圖3可以看出,存儲(chǔ)器處于cpu的外部,cpu要對(duì)存儲(chǔ)單元進(jìn)行訪問(wèn),就必須通過(guò)地址總線。這里的寄存器是指R0,R1等。
圖4
圖4是一個(gè)簡(jiǎn)單的寄存器電路。
圖5
我們知道,一個(gè)內(nèi)存地址分為段地址和偏移地址,兩者相加才會(huì)形成一個(gè)實(shí)際的物理地址,這部分由專(zhuān)門(mén)的電路完成,如圖5,這個(gè)電路也處于cpu的內(nèi)部,但它產(chǎn)生的物理地址必須輸出到cpu外部的地址譯碼器。
圖6
圖6是一塊內(nèi)存電路,包括地址譯碼器和內(nèi)存電路。
圖7
圖7是上面幾部分的連接示意圖。圖下面的譯碼器代表指令執(zhí)行電路,左上角是寄存器,上部中間是內(nèi)存地址形成電路,這三部分都在cpu芯片的內(nèi)部。右上角藍(lán)色部分是地址譯碼器和內(nèi)存電路,兩者處于cpu的外部。
假設(shè)一條指令的機(jī)器碼由下部譯碼器的輸入端A0,A1,A2等引腳輸入,由此可以明顯看出,如果這條指令中分別用到了寄存器和內(nèi)存單元,兩者的訪問(wèn)速度肯定存在著明顯的差別。
-
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120365 -
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211763 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3025瀏覽量
74047
原文標(biāo)題:cpu訪問(wèn)寄存器的速度為什么比內(nèi)存快
文章出處:【微信號(hào):電子技術(shù)控,微信公眾號(hào):電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論