日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)硬件、外部設(shè)備與維護CPU設(shè)計實戰(zhàn)

CPU設(shè)計實戰(zhàn)

CPU設(shè)計實戰(zhàn)

定 價:¥99.00

作 者: 汪文祥,邢金璋 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111674139 出版時間: 2021-04-01 包裝: 平裝
開本: 16開 頁數(shù): 376 字?jǐn)?shù):  

內(nèi)容簡介

  本書面向初學(xué)者,以實戰(zhàn)的方式帶領(lǐng)讀者了解CPU設(shè)計的流程,并從零開始逐步開發(fā)出自己的CPU。本書將計算機組成與體系結(jié)構(gòu)的理論知識和工業(yè)實踐充分結(jié)合,使讀者在實際的CPU設(shè)計與開發(fā)過程中更加深入地理解計算機系統(tǒng)的工作原理,掌握CPU設(shè)計理念、方法和技術(shù)。 本書共分為三個部分,第一部分介紹CPU的研發(fā)過程以及FPGA、數(shù)字邏輯電路等相關(guān)知識;第二部分先介紹簡單流水線CPU設(shè)計,在此基礎(chǔ)上添加指令、例外、中斷、總線、高速緩存等功能,完成一個具有基本功能的CPU;第三部分介紹如何增加各種高級功能,最終形成一個具有豐富功能的CPU。 本書深入淺出、層次清晰,并融入了典型的CPU開發(fā)相關(guān)的技術(shù)問題,既可以作為高等院校計算機及相關(guān)專業(yè)本科生和研究生的CPU開發(fā)類課程的教材,也可以作為從事CPU相關(guān)研發(fā)工作的專業(yè)人員的參考書。

作者簡介

  汪文祥 工學(xué)博士,龍芯中科技術(shù)股份有限公司首席工程師,中國科學(xué)院大學(xué)崗位教授。主要研究方向為處理器體系結(jié)構(gòu)設(shè)計、處理器驗證及計算機系統(tǒng)性能分析優(yōu)化等,參與了多項國家“核高基”、863 和 973 項目,在國內(nèi)外各種期刊會議發(fā)表文章十余篇,申請專利數(shù)十項,授權(quán)專利十余項。2012年起任龍芯中科芯片研發(fā)部IP組組長,負(fù)責(zé)龍芯系列CPU IP核的開發(fā)研制及維護,參與制訂龍芯指令系統(tǒng)架構(gòu)規(guī)范。邢金璋 碩士畢業(yè)于中國科學(xué)院計算技術(shù)研究所,2015年加入龍芯中科技術(shù)股份有限公司,從事處理器核結(jié)構(gòu)設(shè)計工作,是龍芯小、中系列處理器核演進版本的主要結(jié)構(gòu)設(shè)計者之一。近年來,積極參與“龍芯杯”全國大學(xué)生計算機系統(tǒng)能力培養(yǎng)大賽的技術(shù)支持、培訓(xùn)等工作。

圖書目錄

目  錄
叢書序言

前言
第1章CPU芯片研發(fā)過程概述 1
1.1處理器和處理器核 1
1.2芯片產(chǎn)品的研制過程 2
1.3芯片設(shè)計的工作階段 3
第2章硬件實驗平臺及FPGA設(shè)計流程 5
2.1硬件實驗平臺 5
2.1.1龍芯CPU設(shè)計與體系結(jié)構(gòu)教學(xué)實驗系統(tǒng) 5
2.1.2龍芯計算機系統(tǒng)能力培養(yǎng)遠(yuǎn)程實驗平臺 7
2.2FPGA的設(shè)計流程 8
2.2.1FPGA的一般設(shè)計流程 9
2.2.2基于Vivado的FPGA設(shè)計流程 10
2.2.3Vivado使用小貼士 33
2.3任務(wù)與實踐 35
第3章數(shù)字邏輯電路設(shè)計基礎(chǔ) 36
3.1數(shù)字邏輯電路設(shè)計與Verilog代碼開發(fā) 36
3.1.1面向硬件電路的設(shè)計思維方式 37
3.1.2行為描述的Verilog編程風(fēng)格 38
3.1.3自頂向下的設(shè)計劃分過程 38
3.1.4常用數(shù)字邏輯電路的Verilog描述 39
3.2數(shù)字邏輯電路功能仿真的常見錯誤及其調(diào)試方法 55
3.2.1功能仿真波形分析 56
3.2.2波形異常類錯誤的調(diào)試 60
3.3進一步使用Vivado 66
3.3.1定制同步RAM IP核 66
3.3.2定制異步RAM IP核 68
3.3.3查看時序結(jié)果和資源利用率 69
3.4任務(wù)與實踐 69
3.4.1實踐任務(wù)一:寄存器堆仿真 70
3.4.2實踐任務(wù)二:同步RAM和異步RAM仿真、綜合與實現(xiàn) 71
3.4.3實踐任務(wù)三:數(shù)字邏輯電路的設(shè)計與調(diào)試 72
第4章簡單流水線CPU設(shè)計 74
4.1設(shè)計一個簡單的單周期CPU 75
4.1.1設(shè)計單周期CPU的總體思路 75
4.1.2單周期CPU的數(shù)據(jù)通路設(shè)計 76
4.1.3單周期CPU的控制信號生成 88
4.1.4復(fù)位的處理 91
4.2不考慮相關(guān)沖突的流水線CPU設(shè)計 92
4.2.1添加流水級間緩存 92
4.2.2同步RAM的引入 93
4.2.3調(diào)整更新PC的數(shù)據(jù)通路 96
4.2.4不考慮相關(guān)沖突情況下流水線控制信號的設(shè)計 96
4.3CPU設(shè)計開發(fā)環(huán)境(CPU_CDE) 97
4.3.1快速上手CPU設(shè)計的開發(fā)環(huán)境 97
4.3.2CPU設(shè)計開發(fā)環(huán)境的組織與結(jié)構(gòu) 99
4.3.3CPU設(shè)計開發(fā)環(huán)境使用進階 113
4.4CPU設(shè)計的功能仿真調(diào)試技術(shù) 117
4.4.1為什么要用基于Trace比對的調(diào)試輔助手段 117
4.4.2基于Trace比對調(diào)試手段的盲區(qū)及其對策 119
4.4.3學(xué)會閱讀匯編程序和反匯編代碼 119
4.4.4CPU調(diào)試中要抓取的信號以及如何看這些信號 124
4.5指令相關(guān)與流水線沖突 125
4.5.1處理寄存器寫后讀數(shù)據(jù)相關(guān)引發(fā)的流水線沖突 126
4.5.2轉(zhuǎn)移計算未完成 127
4.6流水線數(shù)據(jù)的前遞設(shè)計 127
4.6.1前遞的數(shù)據(jù)通路設(shè)計 128
4.6.2前遞的流水線控制信號調(diào)整 130
4.6.3前遞引發(fā)的主頻下降 131
4.7任務(wù)與實踐 131
4.7.1實踐任務(wù)一:簡單CPU參考設(shè)計調(diào)試 132
4.7.2實踐任務(wù)二:用阻塞技術(shù)解決相關(guān)引發(fā)的沖突 132
4.7.3實踐任務(wù)三:用前遞技術(shù)解決相關(guān)引發(fā)的沖突 133
第5章在流水線中添加運算類指令 134
5.1算術(shù)邏輯運算類指令的添加 134
5.1.1ADD、ADDI和SUB指令的添加 134
5.1.2SLTI和SLTIU指令的添加 135
5.1.3ANDI、ORI和XORI指令的添加 135
5.1.4SLLV、SRLV和SRAV指令的添加 135
5.2乘除法運算類指令的添加 136
5.2.1調(diào)用Xilinx IP實現(xiàn)乘除法運算部件 136
5.2.2電路級實現(xiàn)乘法器 140
5.2.3電路級實現(xiàn)除法器 147
5.3乘除法配套數(shù)據(jù)搬運指令的添加 154
5.3.1乘法運算實現(xiàn)為單周期的情況 155
5.3.2乘法運算實現(xiàn)為多周期流水的情況 155
5.4任務(wù)與實踐 156
第6章在流水線中添加轉(zhuǎn)移指令和訪存指令 157
6.1轉(zhuǎn)移指令的添加 157
6.1.1BGEZ、BGTZ、BLEZ和BLTZ指令 158
6.1.2J指令 158
6.1.3BLTZAL和BGEZAL指令 158
6.1.4JALR指令 158
6.2訪存指令的添加 158
6.2.1LB、LBU、LH和LHU指令的添加 158
6.2.2SB和SH指令的添加 159
6.2.3非對齊訪存指令的說明 160
6.2.4LWL和LWR指令的添加 162
6.2.5SWL和SWR指令的添加 164
6.3任務(wù)與實踐 164
第7章例外和中斷的支持 166
7.1例外和中斷的基本概念 166
7.1.1例外是一套軟硬件協(xié)同處理的機制 166
7.1.2精確例外 167
7.2MIPS指令系統(tǒng)中與例外相關(guān)的功能定義 168
7.2.1CP0寄存器 168
7.2.2例外產(chǎn)生條件的判定 168
7.2.3例外入口 170
7.2.4MFC0和MTC0指令 170
7.2.5ERET指令 170
7.3流水線CPU實現(xiàn)例外和中斷的設(shè)計要點 170
7.3.1例外檢測邏輯 170
7.3.2精確例外的實現(xiàn) 172
7.3.3CP0寄存器 173
7.3.4CP0沖突 179
7.4任務(wù)與實踐 180
7.4.1實踐任務(wù)一:添加syscall例外支持 181
7.4.2實踐任務(wù)二:添加其他例外支持 181
第8章AXI總線接口設(shè)計 184
8.1類SRAM總線 184
8.1.1主方和從方 185
8.1.2類SRAM總線接口信號的定義 185
8.1.3類SRAM總線的讀寫時序 186
8.1.4類SRAM總線的約束 189
8.2類SRAM總線的設(shè)計 189
8.2.1取指設(shè)計的考慮 190
8.2.2訪存設(shè)計的考慮 195
8.3AXI總線協(xié)議 195
8.3.1AXI總線信號一覽 195
8.3.2理解AXI總線協(xié)議 197
8.3.3類SRAM總線接口信號與AXI總線接口信號的關(guān)系 202
8.4類SRAM-AXI的轉(zhuǎn)接橋設(shè)計 203
8.4.1轉(zhuǎn)接橋的頂層接口 203
8.4.2轉(zhuǎn)接橋的設(shè)計要求 204
8.4.3轉(zhuǎn)接橋的設(shè)計建議 204
8.5任務(wù)與實踐 205
8.5.1實踐任務(wù)一:添加類SRAM總線支持 205
8.5.2實踐任務(wù)二:添加AXI總線支持 208
8.5.3實踐任務(wù)三:完成AXI隨機延遲驗證 210
第9章TLB MMU設(shè)計 211
9.1TLB模塊的基礎(chǔ)知識 212
9.1.1TLB的虛實地址轉(zhuǎn)換 212
9.1.2TLB的軟件訪問 214
9.1.3TLB的軟硬件交互機制 215
9.2TLB模塊設(shè)計的分析 217
9.3TLB相關(guān)的CP0寄存器與指令的實現(xiàn) 219
9.4利用TLB進行虛實地址轉(zhuǎn)換及TLB例外 221
9.5任務(wù)與實踐 222
9.5.1實踐任務(wù)一:TLB模塊設(shè)計 222
9.5.2實踐任務(wù)二:添加TLB相關(guān)指令和CP0寄存器 224
9.5.3實踐任務(wù)三:添加TLB相關(guān)例外支持 225
第10章高速緩存設(shè)計 226
10.1Cache模塊的設(shè)計 227
10.1.1Cache的設(shè)計規(guī)格 227
10.1.2Cache模塊的數(shù)據(jù)通路設(shè)計 228
10.1.3Cache模塊內(nèi)部的控制邏輯設(shè)計 237
10.1.4Cache的硬件初始化問題 241
10.2將Cache模塊集成至CPU中 242
10.2.1Cache命中情況下的CPU流水線適配 242
10.2.2Cache缺失情況下的CPU流水線適配 243
10.2.3Uncache訪問的處理 243
10.3CACHE指令 245
10.3.1CACHE指令的定義 245
10.3.2CACHE指令的實現(xiàn) 247
10.4性能測試程序 247
10.4.1Dhrystone 247
10.4.2Coremark 250
10.5Cache的性能 251
10.6任務(wù)與實踐 252
10.6.1實踐任務(wù)一:Cache模塊設(shè)計 252
10.6.2實踐任務(wù)二:在CPU中集成ICache 254
10.6.3實踐任務(wù)三:在CPU中集成DCache 255
10.6.4實踐任務(wù)四:在CPU中添加CACHE指令 256
第11章進階設(shè)計 258
11.1運行Linux內(nèi)核 258
11.1.1復(fù)雜SoC搭建 259
11.1.2CPU的進一步完善 259
11.1.3調(diào)試建議 260
11.2提升主頻的常用方法 261
11.2.1平衡各級流水線的延遲 261
11.2.2優(yōu)化大概率事件的處理邏輯 261
11.2.3用面積和功耗換時序 262
11.2.4進一步切分流水線 262
11.3靜態(tài)雙發(fā)射流水線的實現(xiàn) 262
11.4動態(tài)調(diào)度機制的實現(xiàn) 263
11.4.1一個雙發(fā)射動態(tài)調(diào)度流水線的設(shè)計實例 263
11.4.2動態(tài)調(diào)度中常見電路結(jié)構(gòu)的RTL實現(xiàn) 266
11.5硬件轉(zhuǎn)移預(yù)測技術(shù) 266
11.5.1硬件轉(zhuǎn)移預(yù)測的流水線設(shè)計框架 267
11.5.2一個輕量級轉(zhuǎn)移預(yù)測器的設(shè)計規(guī)格 268
11.6訪存優(yōu)化技術(shù) 269
11.6.1store buffer 269
11.6.2Non-blocking Cache 270
11.6.3訪存亂序執(zhí)行 271
11.6.4多級Cache 271
11.6.5Cache預(yù)取 272
11.7多核處理器的實現(xiàn) 272
11.7.1多核互聯(lián)結(jié)構(gòu) 273
11.7.2多核編號 273
11.7.3核間中斷 273
11.7.4多核情況下的存儲一致性 274
11.7.5LL-SC指令對的訪存原子性 282
附錄A龍芯CPU設(shè)計與體系結(jié)構(gòu)教學(xué)實驗系統(tǒng) 285
附錄BVivado的安裝 288
附錄C簡單MIPS指令系統(tǒng)規(guī)范 301
附錄DVivado使用進階 345

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號