深入理解計算機系統 處理器體系結構

2021-07-28 12:31:49 字數 2207 閱讀 6308

第四章 處理器體系結構

乙個處理器支援的指令和指令的位元組級編碼稱為它的isa(instruction-set architecture,指令體系結構)。

isa 在編譯器編寫者和處理器設計人員之間提供了乙個概念抽象層。

描述硬體系統控制部分的簡單語言,hcl(hardware control language,硬體控制語言)

4.1 y86指令集體系結構

指令集的乙個重要性質是位元組編碼必須有惟一的解釋。

4.2 邏輯設計和硬體控制語言hcl

4.2.1 邏輯門

邏輯門總是active。一旦乙個門的輸入變化可,在很短的時間內,輸出就會相應的變化。

4.2.2 組合電路和hcl布林表示式

計算塊(computational block)即組合電路,很多邏輯門組合成的網。組成這個網的兩個規定:

兩個或多個邏輯門的輸出不能接在一起,否則可能會線上訊號矛盾,導致不合法的電壓或電路故障。

這個網必須是無環的。

多路復用器

4.2.3 字級的組合電路和hcl整數表示式

設計對資料字(data words)操作的電路。

算術/邏輯單元(alu)是一種重要的組合電路。

4.2.4 集合關係(set membership)

4.2.5 儲存器和時鐘控制

時序電路(sequential circuit)。

兩類儲存裝置:時鐘暫存器。隨機訪問儲存器。

典型的暫存器檔案

4.3 y86的順序實現

4.3.1 將處理組織成階段

取指:icode(指令**),ifun(指令功能) 解碼

執行 訪存

寫回更新pc

4.3.2 seq 硬體結構

4.3.3 seq 的時序(timing)

4.3.4 seq 的階段實現

4.3.5 seq+: 重新安排計算階段

4.4 流水線的通用原理

吞吐量,執行時間

4.4.1 計算流水線

4.4.2 流水線操作的詳細說明

4.4.3 流水線的侷限性

不一致的劃分

流水線過深,收益反而下降

4.4.4 帶反饋的流水線系統

資料相關

控制相關

4.5 y86的流水線實現

4.5.1 插入流水線暫存器

4.5.2 對訊號進行重新排列和標號

4.5.3 **下乙個pc

設計目的:每個時鐘週期都發射(issue)乙個指令。

分支**

4.5.4 流水線冒險(hazard)

資料相關和控制相關。這些相關可能會導致流水線產生計算錯誤,稱為冒險。

資料冒險和控制冒險

4.5.5 用暫停(stalling)來避免資料冒險

4.5.6 用**(forwarding)來避免資料冒險

將結果值直接從乙個流水線階段傳到較早階段的技術稱為資料**。

4.5.7 載入/使用(load/use)資料冒險

4.5.8 pipe 各階段的實現

pc選擇和取指階段

解碼和寫回階段

執行階段

訪存階段

4.5.9 流水線控制邏輯

4.5.10 效能分析

4.5.11 未完成的工作

深入理解計算機系統

關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...

《深入理解計算機系統》

知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...

深入理解計算機系統

系統的硬體組成 快取記憶體 作業系統管理硬體 程序虛擬記憶體 檔案amdahl定律 併發和並行 0和1組成的位序列,又稱為位元序列,8個位被組織成一組,成為位元組。每個位元組表示程式中的某些文字字元。系統中的所有資訊 包括磁碟檔案 記憶體中的程式 記憶體中存放的的使用者資料以及網路上傳送的資料,都是...