超標量處理器設計

超標量處理器設計

《超標量處理器設計》是2014年清華大學出版社出版的圖書,作者是姚永斌

基本介紹

  • 書名:超標量處理器設計
  • 作者姚永斌
  • ISBN:9787302347071
  • 定價:49元
  • 出版社:清華大學出版社
  • 出版時間:2014-3-18
  • 裝幀:平裝
  • 印次:1-1
圖書簡介,目錄,

圖書簡介

本書講述超標量(SuperScalar)處理器的設計,現代的高性能處理器都採用了超標量結構,大至伺服器和高性能PC的處理器,小至平板電腦和智慧型手機的處理器,無一例外。本書以超標量處理器的流水線為主線展開內容介紹。本書主要內容包括超標量處理器的背景知識、流水線、順序執行和亂序執行兩種方式的特點; Cache的一般性原理、提高Cache性能的方法以及超標量處理器中的Cache,尤其是多連線埠的Cache; 虛擬存儲器的基礎知識、頁表、TLB和Cache加入流水線後的工作流程; 分支預測的一般性原理、在超標量處理器中使用分支預測時遇到的問題和解決方法以及如何在分支預測失敗時對處理器的狀態進行恢復; 一般的RISC指令集體系的簡單介紹; 指令解碼的過程,尤其是超標量處理器中的指令解碼; 暫存器重命名的一般性原理、重命名的方式、超標量處理器中使用暫存器重命名時遇到的問題和解決方法以及如何對暫存器重命名的過程實現狀態恢復; 指令的分發(Dispatch)和發射(Issue)、發射過程中的流水線、選擇電路和喚醒電路的實現過程; 處理器中使用的基本運算單元、旁路網路、Cluster結構以及如何對Load/Store指令的執行過程進行加速; 重排序快取(ROB)、處理器狀態的管理以及超標量處理器中對異常的處理過程; 經典的Alpha 21264處理器的介紹。在本書中使用了一些現實世界的超標量處理器作為例子,以便於讀者加深對超標量處理器的理解和認識。

目錄

第1章超標量處理器概覽
1.1為什麼需要超標量
1.2普通處理器的流水線
1.2.1流水線概述
1.2.2流水線的劃分
1.2.3指令間的相關性
1.3超標量處理器的流水線
1.3.1順序執行
1.3.2亂序執行
第2章Cache
2.1Cache的一般設計
2.1.1Cache的組成方式
2.1.2Cache的寫入
2.1.3Cache的替換策略
2.2提高Cache的性能
2.2.1寫快取
2.2.2流水線
2.2.3多級結構
2.2.4Victim Cache
2.2.5預取
2.3多連線埠Cache
2.3.1True Multiport
2.3.2Multiple Cache Copies
2.3.3Multibanking
2.3.4真實的例子: AMD Opteron的多連線埠Cache
2.4超標量處理器的取指令
第3章虛擬存儲器
3.1概述
3.2地址轉換
3.2.1單級頁表
3.2.2多級頁表
3.2.3Page Fault
3.2.4小結
3.3程式保護
3.4加入TLB和Cache
3.4.1TLB的設計
3.4.2Cache的設計
3.4.3將TLB和Cache放入流水線
第4章分支預測
4.1概述
4.2分支指令的方向預測
4.2.1基於兩位飽和計數器的分支預測
4.2.2基於局部歷史的分支預測
4.2.3基於全局歷史的分支預測
4.2.4競爭的分支預測
4.2.5分支預測的更新
4.3分支指令的目標地址預測
4.3.1直接跳轉類型的分支預測
4.3.2間接跳轉類型的分支預測
4.3.3小結
4.4分支預測失敗時的恢復
4.5超標量處理器的分支預測
第5章指令集體系
5.1複雜指令集和精簡指令集
5.2精簡指令集概述
5.2.1MIPS指令集
5.2.2ARM指令集
5.3Load/Store指令
5.3.1Load指令
5.3.2Store指令
5.4計算指令
5.4.1加減法
5.4.2移位指令
5.4.3邏輯指令
5.4.4乘法指令
5.4.5乘累加指令
5.4.6特殊計算指令
5.5分支指令
5.6雜項指令
5.7異常
第6章指令解碼
6.1指令快取
6.2一般情況
6.3特殊情況
6.3.1分支指令的處理
6.3.2乘累加/乘法指令的處理
6.3.3前/後變址指令的處理
6.3.4LDM/STM指令的處理
6.3.5條件執行指令的處理
第7章暫存器重命名
7.1概述
7.2暫存器重命名的方式
7.2.1使用ROB進行暫存器重命名
7.2.2將ARF擴展進行暫存器重命名
7.2.3使用統一的PRF進行暫存器重命名
7.3重命名映射表
7.3.1基於SRAM的重命名映射表
7.3.2基於CAM的重命名映射表
7.4超標量處理器的暫存器重命名
7.4.1解決RAW相關性
7.4.2解決WAW相關性
7.5暫存器重命名過程的恢復
7.5.1使用Checkpoint
7.5.2使用WALK
7.5.3使用Architecture State
7.6分發
第8章發射
8.1概述
8.1.1集中式VS分散式
8.1.2數據捕捉VS非數據捕捉
8.1.3壓縮VS非壓縮
8.2發射過程的流水線
8.2.1非數據捕捉結構的流水線
8.2.2數據捕捉結構的流水線
8.3分配
8.4仲裁
8.4.11ofM的仲裁電路
8.4.2NofM的仲裁電路
8.5喚醒
8.5.1單周期指令的喚醒
8.5.2多周期指令的喚醒
8.5.3推測喚醒
第9章執行
9.1概述
9.2FU的類型
9.2.1ALU
9.2.2AGU
9.2.3BRU
9.2.4其他FU
9.3旁路網路
9.3.1簡單設計的旁路網路
9.3.2複雜設計的旁路網路
9.4運算元的選擇
9.5Cluster
9.5.1Cluster IQ
9.5.2Cluster Bypass
9.6存儲器指令的加速
9.6.1Memory Disambiguation
9.6.2非阻塞Cache
9.6.3關鍵字優先
9.6.4提前開始
第10章提交
10.1概述
10.2重排序快取
10.2.1一般結構
10.2.2連線埠需求
10.3管理處理器的狀態
10.3.1使用ROB管理指令集定義的狀態
10.3.2使用物理暫存器管理指令集定義的狀態
10.4特殊情況的處理
10.4.1分支預測失敗的處理
10.4.2異常的處理
10.4.3中斷的處理
10.4.4Store指令的處理
10.4.5指令離開流水線的限制
第11章真實世界的例子: Alpha 21264處理器
11.1概述
11.2取指令和分支預測
11.2.1line/way的預測
11.2.2分支預測
11.3暫存器重命名
11.4發射
11.5執行單元
11.5.1整數的執行單元
11.5.2浮點數的執行單元
11.6存儲器的訪問
11.6.1Speculative Disambiguation
11.6.2Load hit/miss Prediction
11.7退休
11.8結論
參考文獻

相關詞條

熱門詞條

聯絡我們