《手把手教你RISC-VCPU上处理器设计CPU自主设计嵌入式开发蜂鸟E》[90M]百度网盘|pdf下载|亲测有效
《手把手教你RISC-VCPU上处理器设计CPU自主设计嵌入式开发蜂鸟E》[90M]百度网盘|pdf下载|亲测有效

手把手教你RISC-VCPU上处理器设计CPU自主设计嵌入式开发蜂鸟E pdf下载

出版社 温州富庶电子商务店
出版年 2021-10
页数 390页
装帧 精装
评分 9.3(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供手把手教你RISC-VCPU上处理器设计CPU自主设计嵌入式开发蜂鸟E电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com




手把手教你RISC-V CPU.上,处理器设计
定价 109.80
出版社 人民邮电出版社
版次 D1版
出版时间 2021年10月
开本 16开
作者 胡振波主编 芯来科技生态组
装帧 平装
页数 376
字数 547000
ISBN编码 9787115568007




内容介绍

本书系统地介绍了 CPU 设计技巧和新兴开源RISC-V架构,内容翔实,涵盖开源蜂鸟E203处理器各模块的具体实现,以及可扩展协处理器的实现机制。为了让读者学以致用,本书还集成了大量的实例,用实例把各个模块的实现方式贯穿起来。 本书适合从事CPU设计的工程师和技术爱好者阅读。

作者介绍

胡振波,芯来科技创办人兼执行官,中国RISC-V领域的先行者,拥有丰富的处理器内核开发经验,曾长期J职于外企,担任处理器内核研发核心岗位负责人。其打造的GNRISC-V开源项目——蜂鸟E203,对GNRISC-V的普及和推广起到了巨大的推动作用。以胡振波为核心创办的芯来科技目前已经成为中国先行的RISC-V处理器内核IP和解决方案公司,推出的嵌入式CPU核系列产品处于中国RISC-V处理器研发与产业化的前列。

目录

DI一部分CPU与RISC-V综述

D1章 CPU之三生三世2
1.1眼看他起高楼,眼看他宴宾客,眼看他楼塌了—CPU众生相3
1.1.1ISA—CPU的灵魂4
1.1.2CISC架构与RISC架构5
1.1.332位架构与64位架构6
1.1.4ISA众生相6
1.1.5CPU的领域之分11
1.2ISA请扛起这口锅—为什么国产CPU尚未足够成熟12
1.2.1MIPS系—龙芯和君正12
1.2.2x86系—北大众志、上海兆芯和天津海光13
1.2.3Power系—中晟宏芯14
1.2.4Alpha系—申威14
1.2.5ARM系—飞腾、海思、展讯14
1.2.6RISC-V系—平头哥、芯来科技16
1.2.7背锅侠ISA16
1.3人生已如此艰难,你又何必拆穿—CPU从业者的无奈18
1.4WD者是多么寂寞—ARM统治着的SJ19
1.4.1D乐乐与众乐乐—ARM公司的盈利模式19
1.4.2小个子有大力量—无处不在的Cortex-M系列22
1.4.3移动WZ—Cortex-A系列在手持设备领域的巨大成功23
1.4.4进击的巨人—ARM进军PC与服务器领域的雄心25
1.4.5ARMD前发展26
1.5东边日出西边雨,道是无晴却有晴—RISC-V登场26
1.5.1缘起名校26
1.5.2兴于开源27
1.5.3本土发展29
1.6旧时王谢堂前燕,飞入寻常百姓家—你也可以设计自己的处理器30
D2章 大道至简—RISC-V架构之魂31
2.1简单J是美—RISC-V架构的设计理念32
2.1.1无病一身轻—架构的篇幅32
2.1.2能屈能伸—模块化的指令集34
2.1.3浓缩的都是精华—指令的数量34
2.2RISC-V架构简介35
2.2.1模块化的指令集35
2.2.2可配置的通用寄存器组36
2.2.3规整的指令编码36
2.2.4简洁的存储器访问指令37
2.2.5高效的分支跳转指令38
2.2.6简洁的子程序调用38
2.2.7无条件码执行39
2.2.8无分支延迟槽40
2.2.9零开销硬件循环指令40
2.2.10简洁的运算指令40
2.2.11优雅的压缩指令子集41
2.2.12特权模式42
2.2.13CSR42
2.2.14中断和异常42
2.2.15P扩展指令子集43
2.2.16矢量指令子集43
2.2.17自定义指令扩展43
2.2.18比较43
2.3RISC-V软件工具链44
2.4RISC-V和其他开放架构有何不同47
2.4.1平民英雄—OpenRISC47
2.4.2豪门显贵—SPARC48
2.4.3身出名门—MIPS48
2.4.4名校优生—RISC-V49
D3章乱花渐欲迷人眼—盘点RISC-V商业版本与开源版本50
3.1各商业版本与开源版本综述51
3.1.1Rocket Core51
3.1.2BOOM Core53
3.1.3Freedom E310 SoC54
3.1.4LowRISC SoC54
3.1.5PULPiD Core与SoC54
3.1.6PicoRV32 Core55
3.1.7SCR1 Core56
3.1.8ORCA Core56
3.1.9Andes Core56
3.1.10Microsemi Core56
3.1.11Codasip Core57
3.1.12Nuclei Core57
3.1.13蜂鸟E203处理器核与SoC58
3.2小结59
D4章开源RISC-V—蜂鸟E203处理器核与SoC60
4.1与众不同的蜂鸟E203处理器61
4.2蜂鸟E203处理器简介—蜂鸟虽小,五脏俱全62
4.3蜂鸟E203处理器的性能指标64
4.4蜂鸟E203处理器的配套SoC64
4.5蜂鸟E203处理器的配置选项66

D二部分手把手教你使用Verilog设计CPU
D5章先见森林,后观树木—蜂鸟E203处理器核设计z览和1;CY=CY层70
5.1处理器硬件设计概述71
5.1.1架构和微架构71
5.1.2CPU、处理器、Core和处理器核71
5.1.3处理器设计和验证71
5.2蜂鸟E203处理器核的设计理念72
5.3蜂鸟E203处理器核的RTL代码风格73
5.3.1使用标准DFF模块例化生成寄存器73
5.3.2推荐使用assign语法替代if-else和case语法75
5.3.3其他若干注意事项77
5.4蜂鸟E203模块层次划分77
5.5蜂鸟E203处理器核的源代码78
5.6蜂鸟E203处理器核的配置选项78
5.7蜂鸟E203处理器核支持的RISC-V指令子集79
5.8蜂鸟E203处理器核的流水线结构79
5.9蜂鸟E203处理器核的1;CY=CY层接口79
5.10小结82
D6章流水线不是流水账—蜂鸟E203处理器核流水线83
6.1处理器流水线概述84
6.1.1从经典的5级流水线说起84
6.1.2可否不要流水线—流水线和状态机的关系86
6.1.3深处种菱浅种稻,不深不浅种荷花—流水线的深度86
6.1.4向上生长—越来越深的流水线87
6.1.5向下生长—越来越浅的流水线88
6.2处理器流水线中的乱序88
6.3处理器流水线中的反压88
6.4处理器流水线中的冲突89
6.4.1流水线中的资源冲突89
6.4.2流水线中的数据冲突90
6.5蜂鸟E203处理器的流水线91
6.5.1流水线z体结构91
6.5.2流水线中的冲突92
6.6小结92
D7章万事开头难— 一切从取指令开始93
7.1取指概述94
7.1.1取指特点94
7.1.2如何快速取指95
7.1.3如何处理地址不对齐的指令96
7.1.4如何处理分支指令97
7.2RISC-V架构特点对于取指的简化102
7.2.1规整的指令编码格式102
7.2.2指令长度指示码放于低位102
7.2.3简单的分支跳转指令103
7.2.4没有分支延迟槽指令104
7.2.5提供明确的静态分支预测依据105
7.2.6提供明确的RAS依据105
7.3蜂鸟E203处理器的取指实现106
7.3.1IFUz体设计思路106
7.3.2简单译码108
7.3.3简单BPU110
7.3.4PC生成114
7.3.5访问ITCM和BIU116
7.3.6ITCM120
7.3.7BIU120
7.4小结121
D8章一鼓作气,执行力是关键—执行122
8.1执行概述123
8.1.1指令译码123
8.1.2指令执行123
8.1.3流水线的冲突124
8.1.4指令的交付124
8.1.5指令发射、派遣、执行、写回的顺序124
8.1.6分支解析126
8.2RISC-V架构的特点对于执行的简化126
8.2.1规整的指令编码格式127
8.2.2优雅的16位指令127
8.2.3精简的指令个数127
8.2.4整数指令的操作数个数是1或2127
8.3蜂鸟E203处理器的执行实现127
8.3.1执行指令列表128
8.3.2EXUz体设计思路128
8.3.3译码129
8.3.4整数通用寄存器组135
8.3.5CSR138
8.3.6指令发射、派遣139
8.3.7流水线冲突、长指令和OITF143
8.3.8ALU149
8.3.9交付162
8.3.10写回162
8.3.11协处理器扩展162
8.4小结163
D9章善始者实繁,克终者盖寡—交付164
9.1处理器中指令的交付、取消、冲刷165
9.1.1指令交付、取消、冲刷165
9.1.2指令交付的常见实现策略166
9.2RISC-V架构特点对于交付的简化166
9.3蜂鸟E203处理器中指令交付的硬件实现167
9.3.1分支预测指令的处理168
9.3.2中断和异常的处理171
9.3.3多周期执行的指令的交付171
9.4小结172
D10章 让飞一会儿—写回173
10.1处理器的写回174
10.1.1处理器写回功能简介174
10.1.2处理器常见写回策略174
10.2蜂鸟E203处理器的写回硬件实现174
10.2.1Z终写回仲裁175
10.2.2OITF模块和长指令写回仲裁模块176
10.3小结179
D11章 哈弗还是比亚迪—存储器181
11.1存储器概述182
11.1.1谁说处理器一定要有缓存182
11.1.2处理器一定要有存储器183
11.1.3ITCM和DTCM185
11.2RISC-V架构特点对于存储器访问指令的简化186
11.2.1仅支持小端格式186
11.2.2无地址自增/自减模式186
11.2.3无一次读多个数据和一次写多个数据的指令186
11.3RISC-V架构的存储器访问指令187
11.3.1存储器读和写指令187
11.3.2fence指令和fence.i指令187
11.3.3A扩展指令集187
11.4蜂鸟E203处理器核的存储器子系统硬件实现188
11.4.1存储器子系统z体设计思路188
11.4.2AGU188
11.4.3LSU193
11.4.4ITCM和DTCM195
11.4.5A扩展指令集的硬件实现198
11.4.6fence与fence.i指令的硬件实现202
11.4.7BIU204
11.4.8ECC204
11.5小结204
D12章 黑盒子的窗口—z线接口单元205
12.1片上z线协议概述206
12.1.1AXI206
12.1.2AHB206
12.1.3APB207
12.1.4TileLink207
12.1.5z结比较207
12.2自定义z线协议ICB208
12.2.1ICB协议简介208
12.2.2ICB协议信号209
12.2.3ICB协议的时序209
12.3ICB的硬件实现214
12.3.1一主多从214
12.3.2多主一从215
12.3.3多主多从216
12.4蜂鸟E203处理器核BIU217
12.4.1BIU简介217
12.4.2BIU的微架构218
12.4.3BIU的源代码218
12.5蜂鸟E203处理器SoCz线219
12.5.1SoCz线简介219
12.5.2SoCz线的微架构220
12.5.3SoCz线的源代码220
12.6小结221
D13章 不得不说的故事—中断和异常222
13.1中断和异常概述223
13.1.1中断概述223
13.1.2异常概述224
13.1.3广义上的异常224
13.2RISC-V架构异常处理机制226
13.2.1进入异常226
13.2.2退出异常229
13.2.3异常服务程序230
13.3RISC-V架构中断定义231
13.3.1中断类型231
13.3.2中断屏蔽233
13.3.3中断等待233
13.3.4中断优先级与仲裁234
13.3.5中断嵌套235
13.4RISC-V架构中与中断和异常相关的CSR236
13.5蜂鸟E203处理器中异常处理的硬件实现236
13.5.1蜂鸟E203处理器的异常和中断实现要点236
13.5.2蜂鸟E203处理器支持的中断和异常类型237
13.5.3蜂鸟E203处理器对mepc寄存器的处理237
13.5.4蜂鸟E203处理器的中断接口238
13.5.5蜂鸟E203处理器CLINT微架构及源代码分析239
13.5.6蜂鸟E203处理器PLIC微架构及源代码分析242
13.5.7蜂鸟E203处理器中交付模块对中断和异常的处理244
13.6小结248
D14章 Z不起眼的其实是Z难的—调试机制249
14.1调试机制概述250
14.1.1交互调试概述250
14.1.2跟踪调试概述252
14.2RISC-V架构的调试机制252
14.2.1调试器软件的实现253
14.2.2调试模式253
14.2.3调试指令254
14.2.4调试模式下的CSR254
14.2.5调试中断254
14.3蜂鸟E203处理器中的调试机制254
14.3.1蜂鸟E203处理器中的交互式调试254
14.3.2DTM255
14.3.3硬件调试模块256
14.3.4调试中断处理259
14.3.5调试模式下CSR的实现260
14.3.6调试机制指令的实现261
14.4小结262
D15章 动如脱兔,静若处子—低功耗的诀窍263
15.1处理器低功耗技术概述264
15.1.1软件层面的低功耗264
15.1.2系统层面的低功耗264
15.1.3处理器层面的低功耗265
15.1.4模块和单元层面的低功耗265
15.1.5寄存器层面的低功耗266
15.1.6锁存器层面的低功耗267
15.1.7SRAM层面的低功耗267
15.1.8组合逻辑层面的低功耗267
15.1.9工艺层面的低功耗268
15.2RISC-V架构的低功耗机制268
15.3蜂鸟E203处理器低功耗机制的硬件实现268
15.3.1蜂鸟E203处理器在系统层面的低功耗268
15.3.2蜂鸟E203处理器层面的低功耗270
15.3.3蜂鸟E203处理器在单元层面的低功耗272
15.3.4蜂鸟E203处理器在寄存器层面的低功耗272
15.3.5蜂鸟E203处理器在锁存器层面的低功耗275
15.3.6蜂鸟E203处理器在SRAM层面的低功耗276
15.3.7蜂鸟E203处理器在组合逻辑层面的低功耗277
15.3.8蜂鸟E203处理器在工艺层面的低功耗278
15.4小结278
D16章 工欲善其事,必先利其器—RISC-V可扩展协处理器279
16.1领域特定架构280
16.2RISC-V架构的可扩展性281
16.2.1RISC-V架构的预留指令编码空间281
16.2.2RISC-V架构的预定义指令282
16.3蜂鸟E203处理器的协处理器扩展机制—NICE282
16.3.1NICE指令的编码282

16.3.2NICE协处理器的接口信号283
16.3.3NICE协处理器的流水线接口284
16.3.4NICE协处理器的存储器接口285
16.3.5NICE协处理器的接口时序286
16.4蜂鸟E203处理器的协处理器参考示例290
16.4.1示例协处理器的实现需求290
16.4.2示例协处理器的自定义指令291
16.4.3示例协处理器的硬件实现292
16.4.4示例协处理器的软件驱动292
16.4.5示例协处理器的性能分析294

D三部分开发实战
D17章 先冒个烟—运行Verilog仿真测试298
17.1E203开源项目的代码层次结构299
17.2E203开源项目的测试用例300
17.2.1riscv-tests自测试用例300
17.2.2编译ISA自测试用例301
17.3E203 开源项目的测试平台304
17.4在测试平台中运行测试用例304
D18章 套上壳子上路—更多实践308

附录ARISC-V架构的指令集311
附录BRISC-V架构的CSR341
附录CRISC-V架构的PLIC351
附录D存储器模型背景359
附录E存储器原子操作指令背景364
附录FRISC-V指令编码列表367
附录GRISC-V伪指令列表374