第 9 集:高級 CPU 設計,緩存

00:24 早期是加快晶體管切換速度,來提升 CPU 速度

01:20 給 CPU 專門的除法電路 + 其他電路來做複雜操作,比如遊戲,視頻解碼

02:28 給 CPU 加緩存,提高數據存取速度,更快餵給 CPU,用計算餐館銷售額舉例

05:13 髒位 - Dirty bit

05:33 流水線設計,用 1 個洗衣機和 1 個乾燥機舉例

06:01 並行處理 - parallelize

07:33 亂序執行 - out-of-order execution

08:21 推測執行 - speculative execution

08:50 分支預測 - branch prediction

09:34 多個 ALU

09:54 多核 (Core)

10:11 多個獨立 CPU

10:52 超級計算機,中國的"神威 太湖之光"

 

 

緩存:

CPU已經很強大,而RAM與CPU 的傳輸速度卻沒有提高,所以直接在CPU中內嵌一個RAM,叫做“緩存”

 

緩存命中/緩存未命中

 

髒位:dirty bit

當緩存中產生中間值(比如複雜運算時,會先算出一個值,先存起來後面會用到)時,緩存的數據與RAM中就不一致了(因爲RAM中沒有這個中間值)

這種不一致需要記錄下來,之後要同步。因此緩存裏每塊空間有一個特殊標記,叫做“髒位”

 

異步與同步:

當“緩存”滿了而CPU又需要緩存時,會檢查“”髒位,如果是髒的會把數據先寫回RAM,然後再清理緩存,加載新的內容

 

CPU並行:

CPU內的不同部分並行處理,使單個時鐘週期可以處理一條指令

 

 

CPU並行帶來的問題:

1.指令之間的依賴關係。

高端CPU會將有依賴關係的指令進行動態排序,叫做“亂序執行”

2.條件跳轉

某些跳轉指令會讓CPU空等(要等跳轉之後的結果再繼續執行指令)而造成延遲。

高端CPU會“推測執行”。先進行推測,把指令排好,如果結果正確,則直接執行排好的指令;如果錯誤,就會清空排好的指令。

爲了增加推測的正確性,CPU廠商用複雜的方法開發了“分支預測”

 

超標量處理器 —— 多核CPU

 

超級計算機

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章