新書推薦:
《
海外中国研究·朱熹的思维世界(增订版)
》
售價:NT$
653.0
《
甲骨文丛书·沙漠之王:英美在中东的霸权之争
》
售價:NT$
505.0
《
汗青堂丛书147·光明时代:中世纪新史
》
售價:NT$
388.0
《
能成事的团队
》
售價:NT$
510.0
《
现代无人机鉴赏(珍藏版)
》
售價:NT$
356.0
《
汗青堂丛书·晚清风云(4册套装):帝国的切口 清朝与中华传统文化 太平天国运动史 冲击与回应
》
售價:NT$
1948.0
《
穿在身上的历史:世界服饰图鉴(增订珍藏版)
》
售價:NT$
2540.0
《
历史的严妆:解读道学阴影下的南宋史学(中华学术·有道)
》
售價:NT$
500.0
|
編輯推薦: |
全景式介绍RISC-V相关技术。从处理器基本概念入手,详细介绍了RISC-V处理器微架构、处理器核的设计及验证平台的搭建。
理论与实践相结合。通篇使用SystemVerilog语言介绍RISC-V处理器核关键设计细节以及验证平台的核心代码。
|
內容簡介: |
本书从处理器指令集架构入手,介绍了RISCV指令集架构,在此基础上对处理器微架构进行阐述,同时,以Ariane核为例详述微架构中指令提取、指令译码、指令发射、指令执行和指令提交,以及存储管理、中断和异常处理。除RISCV核之外,本书还涉及处理器验证,其中包括UVM、RISCV验证框架的搭建、指令发生器和模拟器。
本书适合作为大专院校学生学习RISCV指令集微架构以及芯片验证的入门教材,也可供RISCV处理器设计与验证相关工程技术人员或研究人员参考。
|
目錄:
|
第一部分处理器指令集架构
第1章RISCV指令集架构浅析0031.1指令集架构003
1.1.1复杂指令集计算机与精简指令集计算机003
1.1.2经典指令集005
1.1.3RISCV009
1.2RISCV指令集简介010
1.3RISCV基础指令集011
1.3.1算术与逻辑操作指令013
1.3.2控制转移指令017
1.3.3内存访问指令019
1.3.4控制和状态指令021
1.4RISCV扩展指令集023
1.4.1RV32M整数乘除法指令023
1.4.2RV32A原子指令024
1.4.3RV32C压缩指令027
1.4.4RV32F单精度浮点指令034
1.4.5RV32D双精度浮点指令039
1.5RISCV 64位基础指令044
1.6RISCV特权指令046
1.7本章小结047 开源RISCV处理器架构分析与验证目录 第二部分处理器微架构
第2章微架构顶层分析0512.1流水线051
2.1.1RISCV指令集052
2.1.2流水化实现053
2.1.3流水线性能055
2.1.4流水线冒险058
2.1.5分支预测063
2.1.6标量流水线局限性063
2.2Ariane微架构064
2.2.1Ariane简介064
2.2.2顶层接口065
2.2.3流水线架构068
2.2.4数据流071
2.2.5模块层次072
2.3本章小结074
第3章指令提取075
3.1指令提取概述075
3.2分支预测算法076
3.2.12位饱和计数器077
3.2.2两级分支预测器078
3.2.3Gshare分支预测器079
3.2.4分支目标缓冲器080
3.2.5返回地址堆栈080
3.3指令提取单元设计081
3.3.1整体设计081
3.3.2指令重对齐085
3.3.3分支检测087
3.3.4分支预测088
3.3.5指令队列089
3.3.6取指地址091
3.4本章小结091
第4章指令译码092
4.1指令译码概述092
4.1.1压缩指令093
4.1.2译码异常094
4.2指令译码单元设计095
4.2.1整体设计095
4.2.2压缩指令解码098
4.2.3标准指令译码100
4.3本章小结102
第5章指令发射103
5.1单发射和多发射103
5.2顺序发射和乱序发射104
5.3指令动态调度105
5.4指令发射单元设计108
5.4.1整体设计108
5.4.2Scoreboard模块实现113
5.4.3Issue_Read_Operands模块实现116
5.5本章小结116
第6章指令执行117
6.1指令执行概述117
6.2指令执行单元设计119
6.2.1整体设计119
6.2.2LSU模块设计123
6.2.3FLU模块设计126
6.2.4FPU模块设计131
6.3本章小结137
第7章指令提交138
7.1指令提交概述138
7.2指令提交单元设计139
7.2.1整体设计140
7.2.2Commit_Stage模块实现142
7.2.3Controller模块实现146
7.3本章小结148
第8章存储管理149
8.1缓存原理149
8.1.1缓存组织结构150
8.1.2缓存写入策略152
8.1.3缓存替换算法153
8.1.4缓存优化155
8.2缓存设计156
8.2.1整体设计156
8.2.2指令缓存模块设计158
8.2.3数据缓存模块设计160
8.3存储管理部件166
8.3.1虚拟内存167
8.3.2地址转换170
8.4存储管理部件设计176
8.5本章小结179
第9章中断和异常180
9.1中断和异常概述181
9.2异常处理机制183
9.2.1异常处理过程183
9.2.2寄存器说明184
9.3中断控制平台189
9.3.1中断源190
9.3.2中断目标192
9.3.3中断处理流程192
9.4中断和异常设计实例193
9.4.1异常产生和处理193
9.4.2PLIC模块195
9.4.3CLINT模块199
9.5本章小结200
第三部分处理器验证
第10章UVM简介20310.1UVM概述203
10.1.1验证方法学概述204
10.1.2验证方法学的发展史205
10.2UVM基本概念206
10.2.1UVM类的说明207
10.2.2UVM树形结构209
10.2.3UVM运行机制210
10.3UVM组件介绍219
10.3.1uvm_test219
10.3.2uvm_env221
10.3.3uvm_agent222
10.3.4uvm_driver224
10.3.5uvm_monitor225
10.3.6uvm_scoreboard225
10.3.7uvm_sequence和uvm_sequencer225
10.3.8reference model228
10.3.9tb_interface228
10.4本章小结229
第11章RISCV验证框架230
11.1通用验证框架230
11.1.1验证测试点232
11.1.2验证层次233
11.1.3验证透明度236
11.1.4验证激励约束240
11.1.5验证检测机制244
11.1.6验证集成环境246
11.2RISCV验证特点249
11.2.1指令发包器随机性249
11.2.2指令集模拟器准确性251
11.2.3覆盖率模型完备性252
11.3本章小结253
第12章RISCV指令发生器254
12.1RISCVDV概述254
12.1.1特性简介254
12.1.2验证流程255
12.1.3测试用例集256
12.2RISCVDV使用方法256
12.2.1软件安装257
12.2.2运行指令发生器258
12.2.3命令说明259
12.2.4YAML配置261
12.3RISCVDV结构分析264
12.3.1仿真激励xaction264
12.3.2Generator267
12.3.3测试用例269
12.3.4扩展说明270
12.4本章小结271
第13章RISCV指令集模拟器272
13.1RISCV指令集模拟器概述272
13.2Spike概述273
13.2.1特性简介273
13.2.2软件栈分析274
13.3Spike使用方法275
13.3.1软件安装275
13.3.2命令解析275
13.3.3运行示例277
13.3.4Log文件分析277
13.3.5运行Linux278
13.4Spike源代码分析279
13.4.1代码目录结构279
13.4.2静态结构281
13.4.3启动流程282
13.5Spike扩展284
13.5.1定制Log284
13.5.2扩展指令286
13.5.3扩展外设286
13.6本章小结288
|
內容試閱:
|
RISCV是基于精简指令原则的开源指令集架构。该项目2010年始于加州大学伯克利分校,采用开源BSD License。RISCV指令集可自由地用于任何目的,允许任何人设计、制造、销售RISCV芯片和软件,而不必支付给任何公司专利费。其目标是成为一个通用的指令集架构,能适应包括从最袖珍的嵌入式控制器到最快的高性能计算机等各种规模的处理器。与现有其他指令集架构相比,RISCV架构有着鲜明的特点和优势。
(1) 开源和免费。开源意味着开发者可以针对特定应用场景进行定制优化,免费意味着RISCV可以帮助开发者有效降低CPU设计成本。
(2) 模块化和简洁。模块化设计和简洁的基础指令可以让使用RISCV技术的芯片设计者开发出很简单的RISCV CPU,特别是在嵌入式和物联网(Internet of Things,IoT)等领域对功耗和代码体积有较高限制的应用场景。
(3) 灵活和可扩展性。RISCV架构预留大量的编码空间用于自定义扩展,并定义了4条用户指令供用户直接使用,该特性在安全或者IoT领域有着广泛的需求。
2015年,RISCV基金会成立,它是开放、协作的软硬件创新者社区,指导未来发展方向并推动RISCV的广泛应用。同时,在我国也成立了中国开放指令生态(RISCV)联盟和中国RISCV产业联盟来推动RISCV在我国的发展。
虽然RISCV目前的生态还处于初级阶段,但是越来越多的产业界巨头对RISCV有着强烈的兴趣并纷纷加入RISCV基金会,RISCV极有可能像Linux那样开启开源芯片设计的黄金时代。从中国的自主可控生态建设来看,从零开始建立互相兼容的RISCV生态当下也许是最好的时机,可以期待在不久的将来,RISCV的生态就可以挑战x86和ARM的地位。
全书由13章组成,分为三大部分。第1章为第一部分——处理器指令集架构,主要介绍指令集相关基础概念及RISCV指令集架构。第2~9章为第二部分——处理器微架构,主要内容为RISCV CPU微架构设计及逻辑实现,从微架构和流水线设计原理着手,详细介绍RISCV指令集架构CPU的设计方法,并以开源处理器核Ariane为例,介绍RISCV处理器的实现细节。第10~13章为第三部分——处理器验证,主要内容为RISCV CPU验证,着重介绍如何基于当前主流验证方法UVM构建RISCV CPU验证平台,并完成CPU核的验证工作。
希望本书能够成为RISCV处理器爱好者的入门图书,为RISCV处理器在国内的普及和发展贡献绵薄之力。
感谢鹏城实验室自主可控项目组参与本书编写的所有成员,编写过程中有着大量的代码分析、资料整理和文稿校对工作,他们的付出使得本书能够最终成文。同时,还要感谢清华大学出版社各位编辑的大力支持,他们认真细致的工作保证了本书的质量。
由于编者水平有限,书中难免有疏漏和不足之处,恳请读者批评指正!
编者2023年11月
|
|