發表於2024-12-22
基本信息
書名:超標量處理器設計
原價:49.00元
作者:姚永斌
齣版社:清華大學齣版社
齣版日期:2014-03-31
ISBN:9787302347071
字數:
頁碼:373
版次:1
裝幀:平裝
開本:16開
商品重量:0.4kg
編輯推薦
隨著智能手機的興起,處理器這個詞逐漸齣現在人們的視野中,越來越多的公司希望通過自行設計的處理器來提供差異化的産品,在處理器的陣營中,超標量(SuperScalar)處理器的性能最好,但是復雜度也最高,《超標量處理器設計》重點講述的就是超標量處理器。處理器的設計是一門交叉學科,設計者不但要懂計算機體係結構,還要懂微電子和集成電路設計的相關知識,本書力求以通俗易懂的語言將讀者帶入處理器設計的世界,書中以RISC指令集為基礎,涉及到瞭Cache、分支預測、指令集體係、寄存器重命名和亂序執行等內容,並使用VerilogHDL作為基本的硬件描述語言,通過閱讀本書,讀者可以瞭解超標量處理器的運行過程,從而為設計齣更高性能的處理器打下基礎。
內容提要
《超標量處理器設計》講述超標量(SuperScalar)處理器的設計,現代的高性能處理器都采用瞭超標量結構,大至服務器和高性能PC的處理器,小至平闆電腦和智能手機的處理器,無一例外。《超標量處理器設計》以超標量處理器的流水綫為主綫展開內容介紹。《超標量處理器設計》主要內容包括超標量處理器的背景知識、流水綫、順序執行和亂序執行兩種方式的特點;Cache的一般性原理、提高Cache性能的方法以及超標量處理器中的Cache,尤其是多端口的Cache;虛擬存儲器的基礎知識、頁錶、TLB和Cache加入流水綫後的工作流程;分支預測的一般性原理、在超標量處理器中使用分支預測時遇到的問題和解決方法以及如何在分支預測失敗時對處理器的狀態進行恢復;一般的RISC指令集體係的簡單介紹;指令解碼的過程,尤其是超標量處理器中的指令解碼;寄存器重命名的一般性原理、重命名的方式、超標量處理器中使用寄存器重命名時遇到的問題和解決方法以及如何對寄存器重命名的過程實現狀態恢復;指令的分發(Dispatch)和發射(Issue)、發射過程中的流水綫、選擇電路和喚醒電路的實現過程;處理器中使用的基本運算單元、旁路網絡、Cluster結構以及如何對Load/Store指令的執行過程進行加速;重排序緩存(ROB)、處理器狀態的管理以及超標量處理器中對異常的處理過程;經典的Alpha21264處理器的介紹。在本書中使用瞭一些現實世界的超標量處理器作為例子,以便於讀者加深對超標量處理器的理解和認識。
《超標量處理器設計》可用作高等院校電子及計算機專業研究生和高年級本科生教材,也可供自學者閱讀。
目錄
第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.1 Cache的一般設計
2.1.1 Cache的組成方式
2.1.2 Cache的寫入
2.1.3 Cache的替換策略
2.2 提高Cache的性能
2.2.1 寫緩存
2.2.2 流水綫
2.2.3 多級結構
2.2.4 Victim Cache
2.2.5 預取
2.3 多端口Cache
2.3.1 True Multi�瞤ort
2.3.2 Multiple Cache Copies
2.3.3 Multi�瞓anking
2.3.4 真實的例子: AMD Opteron的多端口Cache
2.4 超標量處理器的取指令
第3章 虛擬存儲器
3.1 概述
3.2 地址轉換
3.2.1 單級頁錶
3.2.2 多級頁錶
3.2.3 Page Fault
3.2.4 小結
3.3 程序保護
3.4 加入TLB和Cache
3.4.1 TLB的設計
3.4.2 Cache的設計
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.1 MIPS指令集
5.2.2 ARM指令集
5.3 Load/Store指令
5.3.1 Load指令
5.3.2 Store指令
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.4 LDM/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.1 1�瞣f�睲的仲裁電路
8.4.2 N�瞣f�睲的仲裁電路
8.5 喚醒
8.5.1 單周期指令的喚醒
8.5.2 多周期指令的喚醒
8.5.3 推測喚醒
第9章 執行
9.1 概述
9.2 FU的類型
9.2.1 ALU
9.2.2 AGU
9.2.3 BRU
9.2.4 其他FU
9.3 旁路網絡
9.3.1 簡單設計的旁路網絡
9.3.2 復雜設計的旁路網絡
9.4 操作數的選擇
9.5 Cluster
9.5.1 Cluster IQ
9.5.2 Cluster Bypass
9.6 存儲器指令的加速
9.6.1 Memory 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.4 Store指令的處理
10.4.5 指令離開流水綫的限製
第11章 真實世界的例子: Alpha 21264處理器
11.1 概述
11.2 取指令和分支預測
11.2.1 line/way的預測
11.2.2 分支預測
11.3 寄存器重命名
11.4 發射
11.5 執行單元
11.5.1 整數的執行單元
11.5.2 浮點數的執行單元
11.6 存儲器的訪問
11.6.1 Speculative Disambiguation
11.6.2 Load hit/miss Prediction
11.7 退休
11.8 結論
參考文獻
作者介紹
暫時沒與相關內容
文摘
暫時沒與相關內容
序言
暫時沒與相關內容
超標量處理器設計 下載 mobi pdf epub txt 電子書 格式 2024
超標量處理器設計 下載 mobi epub pdf 電子書超標量處理器設計 mobi epub pdf txt 電子書 格式下載 2024