圖1
上圖是一個手畫的cpu訪問寄存器和內存的簡單結構圖,從圖中我們看到,寄存器是在cpu芯片的內部,內存是在cpu的外部。僅此一點,我們就可以理解為什么cpu訪問寄存器的速度比內存要快。
為了進一步加深對這個問題的理解,參考圖2和圖3:
圖2
圖2是cpu內部結構圖。從圖中可以看到,要執行的指令、執行指令的電路部分以及ALU和寄存器是通過總線直接連在一起的。
圖3
從圖3可以看出,存儲器處于cpu的外部,cpu要對存儲單元進行訪問,就必須通過地址總線。這里的寄存器是指R0,R1等。
圖4
圖4是一個簡單的寄存器電路。
圖5
我們知道,一個內存地址分為段地址和偏移地址,兩者相加才會形成一個實際的物理地址,這部分由專門的電路完成,如圖5,這個電路也處于cpu的內部,但它產生的物理地址必須輸出到cpu外部的地址譯碼器。
圖6
圖6是一塊內存電路,包括地址譯碼器和內存電路。
圖7
圖7是上面幾部分的連接示意圖。圖下面的譯碼器代表指令執行電路,左上角是寄存器,上部中間是內存地址形成電路,這三部分都在cpu芯片的內部。右上角藍色部分是地址譯碼器和內存電路,兩者處于cpu的外部。
假設一條指令的機器碼由下部譯碼器的輸入端A0,A1,A2等引腳輸入,由此可以明顯看出,如果這條指令中分別用到了寄存器和內存單元,兩者的訪問速度肯定存在著明顯的差別。
-
寄存器
+關注
關注
31文章
5425瀏覽量
123529 -
cpu
+關注
關注
68文章
11049瀏覽量
216143 -
內存
+關注
關注
8文章
3111瀏覽量
75030
原文標題:cpu訪問寄存器的速度為什么比內存快
文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
什么是寄存器?什么是寄存器映射
多寄存器Load/Store內存訪問指令
寄存器變量
移位寄存器的種類與作用

評論