我試圖了解 RAM 如何跟上 CPU 的步伐。以下是我為什麼認為它不會的原因的細分:
- 現代 CPU 的時脈速度通常大於 RAM 模組的時脈速度(例如 2.4GHz 筆記型電腦處理器與 2133MHz RAM 模組)
- 此類 CPU 通常具有多個內核,允許以高於時脈速度的速率執行指令
- 這些 CPU 還可以採用單核心並行技術,使每個核心執行的指令多於時脈週期
- 有鑑於此,指令的執行速度遠高於 RAM 頻率
- 每個 RAM 時脈週期最多可以從 RAM 中取得一個位址的內容
- 也許除了 BIOS 之外,指令最終必須來自 RAM
- 因此,從記憶體中獲取指令的需求大大超過了 RAM 提供指令的能力
我找到了答案彼得·科德斯在這堆疊溢位問題,它解釋了這個問題是透過快取和預取解決的,但我不明白 CPU 是如何獲得預取的機會的,因為它需要獲取指令的速度似乎超過了所能達到的速度由RAM提供。這維基百科頁面列出了 Intel Core i7 6950X 能夠以 317900 MIPS 的速率執行指令;使用 2133MHz 的 RAM 頻率,每個 RAM 時脈週期大約有 150 個指令。
我缺什麼?
我剛剛看了雪梨豪克對前面連結的問題的回答,其中指出 CPU 知道將重複的指令不會從記憶體中重新獲取。這本身足以彌補速度差異嗎?