麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 硬件 > 內存 > 正文

為什么寄存器比內存快?通俗易懂的回答

2020-10-26 22:18:01
字體:
來源:轉載
供稿:網友

  計算機的存儲層次(memory hierarchy)之中,寄存器(register)最快,內存其次,最慢的是硬盤。

為什么寄存器比內存快?

  同樣都是晶體管存儲設備,為什么寄存器比內存快呢?

晶體管

  Mike Ash寫了一篇很好的解釋,非常通俗地回答了這個問題,有助于加深對硬件的理解。下面就是我的簡單翻譯。

  原因一:距離不同

  距離不是主要因素,但是最好懂,所以放在最前面說。內存離CPU比較遠,所以要耗費更長的時間讀取。

  以3GHz的CPU為例,電流每秒鐘可以振蕩30億次,每次耗時大約為0.33納秒。光在1納秒的時間內,可以前進30厘米。也就是說,在CPU的一個時鐘周期內,光可以前進10厘米。因此,如果內存距離CPU超過5厘米,就不可能在一個時鐘周期內完成數據的讀取,這還沒有考慮硬件的限制和電流實際上達不到光速。相比之下,寄存器在CPU內部,當然讀起來會快一點。

  距離對于桌面電腦影響很大,對于手機影響就要小得多。手機CPU的時鐘頻率比較慢(iPhone 5s為1.3GHz),而且手機的內存緊挨著CPU。

  原因二:硬件設計不同

  蘋果公司新推出的iPhone 5s,CPU是A7,寄存器有6000多位(31個64位寄存器,加上32個128位寄存器)。而iPhone 5s的內存是1GB,約為80億位(bit)。這意味著,高性能、高成本、高耗電的設計可以用在寄存器上,反正只有6000多位,而不能用在內存上。因為每個位的成本和能耗只要增加一點點,就會被放大80億倍。

A7

  事實上確實如此,內存的設計相對簡單,每個位就是一個電容和一個晶體管,而寄存器的設計則完全不同,多出好幾個電子元件。并且通電以后,寄存器的晶體管一直有電,而內存的晶體管只有用到的才有電,沒用到的就沒電,這樣有利于省電。這些設計上的因素,決定了寄存器比內存讀取速度更快。

  原因三:工作方式不同

  寄存器的工作方式很簡單,只有兩步:(1)找到相關的位,(2)讀取這些位。

  內存的工作方式就要復雜得多:

  (1)找到數據的指針。(指針可能存放在寄存器內,所以這一步就已經包括寄存器的全部工作了。)

  (2)將指針送往內存管理單元(MMU),由MMU將虛擬的內存地址翻譯成實際的物理地址。

  (3)將物理地址送往內存控制器(memory controller),由內存控制器找出該地址在哪一根內存插槽(bank)上。

  (4)確定數據在哪一個內存塊(chunk)上,從該塊讀取數據。

  (5)數據先送回內存控制器,再送回CPU,然后開始使用。

  內存的工作流程比寄存器多出許多步。每一步都會產生延遲,累積起來就使得內存比寄存器慢得多。

  為了緩解寄存器與內存之間的巨大速度差異,硬件設計師做出了許多努力,包括在CPU內部設置緩存、優化CPU工作方式,盡量一次性從內存讀取指令所要用到的全部數據等等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品3 | 久久精品男人 | 国产无遮挡一区二区三区毛片日本 | 亚洲免费看片网站 | 亚洲爱爱网站 | v11av在线视频成人 | 久久久久久久久久亚洲 | 男人天堂新地址 | 国产精品av久久久久久久久久 | 刘亦菲一区二区三区免费看 | www.99热精品 | 免费国产精品视频 | 在线播放一区二区三区 | 蜜桃av网 | 91在线播放国产 | 久久久久久久久久亚洲精品 | 福利在线免费 | 中国洗澡偷拍在线播放 | 青草av.久久免费一区 | 国产在线观看av | 亚洲小视频在线播放 | 国产色爱综合网 | 舌头伸进添的我好爽高潮网站 | www国产成人免费观看视频 | 免费观看一区二区三区 | 亚洲成人在线免费 | 成人不卡| 黄视频免费观看 | 免费国产之a视频 | 欧美成人一二三区 | 青青草在线免费观看 | 国产精品视频中文字幕 | 蜜桃精品视频 | 欧美日韩亚洲一区二区三区 | 久久久久久久久国产 | 欧美一级毛片特黄黄 | 日日鲁一鲁视频 | 国产精品免费久久久久 | japanese hot milf free av | 成人做爰高潮片免费视频韩国 | 久久99精品久久久久久国产越南 |