YL19885 9787115480521 9787121339011
手把手教你设计CPU——RISC-V处理器篇
内容简介
本书是一本介绍通用CPU设计的入门书,以通俗的语言系统介绍了CPU和RISC-V架构,力求为读者揭开CPU设计的神秘面纱,打开计算机体系结构的大门。
本书共分为四部分。一部分是CPU与RISC-V的综述,帮助初学者对CPU和RISC-V快速地建立起认识。二部分讲解如何使用Verilog设计CPU,使读者掌握处理器核的设计精髓。三部分主要介绍
蜂鸟E203配套的SoC和软件平台,使读者实现蜂鸟E203 RISC-V处理器在FPGA原型平台上的运行。四部分是附录,介绍了RISC-V指令集架构,辅以作者加入的背景知识解读和注解,以便于读者理
解。
本书不仅适合CPU或芯片设计相关从业者阅读使用,也适合作为大中专院校相关师生学习RISC-V处理器设计(使用Verilog语言)和CPU设计的指导用书。
一部分 CPU与RISC-V综述
目录
1章 一文读懂CPU之三生三世 2
1.1 眼看他起高楼,眼看他宴宾客,眼看他楼塌了——CPU众生相 3
1.1.1 ISA——CPU的灵魂 4
1.1.2 CISC与RISC 5
1.1.3 32位与64位架构 6
1.1.4 ISA众生相 6
1.1.5 CPU的领域之分 10
1.2 ISA请扛起这口锅——为什么国产CPU尚未足够成功 12
1.2.1 MIPS系——龙芯和君正 12
1.2.2 x86系——北大众志、兆芯和海光 13
1.2.3 Power系——中晟宏芯 13
1.2.4 Alpha系——申威 14
1.2.5 ARM系——飞腾、华为海思、展讯和华芯通 14
1.2.6 背锅侠ISA 15
1.3 人生已是如此艰难,你又何必拆穿——CPU从业者的无奈 17
1.4 *敌是多么寂寞——ARM统治着的世界 18
1.4.1 独乐乐与众乐乐——ARM公司的盈利模式 18
1.4.2 小个子有大力量——无处不在的Cortex-M系列 21
1.4.3 移动*者——Cortex-A系列在手持设备领域的巨大成功 23
1.4.4 进击的巨人——ARM进军PC与服务器领域的雄心 25
1.5 东边日出西边雨,道是无晴却有晴——RISC-V登场 25
1.6 原来你是这样的“薯片”——ARM的免费计划 28
1.7 旧时王谢堂前燕,飞入寻常百姓家——你也可以设计自己的处理器 28
2章 大道至简——RISC-V架构之魂 29
2.1 简单就是美——RISC-V架构的设计哲学 30
2.1.1 无病一身轻——架构的篇幅 30
2.1.2 能屈能伸——模块化的指令集 32
2.1.3 浓缩的都是精华——指令的数量 32
2.2 RISC-V指令集架构简介 33
2.2.1 模块化的指令子集 33
2.2.2 可配置的通用寄存器组 34
2.2.3 规整的指令编码 34
2.2.4 简洁的存储器访问指令 34
2.2.5 *效的分支跳转指令 35
2.2.6 简洁的子程序调用 36
2.2.7 无条件码执行 37
2.2.8 无分支延迟槽 37
2.2.9 零开销硬件循环 38
2.2.10 简洁的运算指令 38
2.2.11 优雅的压缩指令子集 39
2.2.12 特权模式 40
2.2.13 CSR寄存器 40
2.2.14 中断和异常 40
2.2.15 矢量指令子集 40
2.2.16 自定制指令扩展 41
2.2.17 总结与比较 41
2.3 RISC-V软件工具链 42
2.4 RISC-V和其他开放架构有何不同 44
2.4.1 平民英雄——OpenRISC 44
2.4.2 豪门显贵——SPARC 44
2.4.3 名校优生——RISC-V 45
3章 乱花渐欲迷人眼——盘点RISC-V商业版本与开源版本 46
3.1 各商业版本与开源版本综述 47
3.1.1 Rocket Core(开源) 47
3.1.2 BOOM Core(开源) 49
3.1.3 Freedom SoC(开源) 50
3.1.4 LowRISC SoC(开源) 50
3.1.5 PULPino Core and SoC(开源) 50
3.1.6 PicoRV32 Core(开源) 51
3.1.7 SCR1 Core(开源) 51
3.1.8 ORCA Core(开源) 51
3.1.9 Andes Core(商业IP) 52
3.1.10 Microsemi Core(商业IP) 52
3.1.11 Codasip Core(商业IP) 53
3.1.12 蜂鸟E200 Core与SoC(开源) 53
3.2 总结 53
4章 开源RISC-V——蜂鸟E200系列低功耗Core与SoC 54
4.1 与众不同的蜂鸟E200处理器 55
4.2 蜂鸟E200简介——蜂鸟虽小,五脏俱全 56
4.3 蜂鸟E200型号系列 57
4.4 蜂鸟E200性能指标 58
4.5 蜂鸟E200配套SoC 59
4.6 蜂鸟E200配置选项 60
二部分 手把手教你使用Verilog设计CPU
5章 先见森林,后观树木——蜂鸟E200设计总览和顶层介绍 65
5.1 处理器硬件设计概述 66
5.1.1 架构和微架构 66
5.1.2 CPU、处理器、Core和处理器核 66
5.1.3 处理器设计和验证的特点 66
5.2 蜂鸟E200处理器核设计哲学 67
5.3 蜂鸟E200处理器核RTL代码风格介绍 68
5.3.1 使用标准DFF模块例化生成寄存器 68
5.3.2 推荐使用assign语法替代if-else和case语法 70
5.3.3 其他若干注意事项 71
5.3.4 小结 72
5.4 蜂鸟E200模块层次划分 72
5.5 蜂鸟E200处理器核源代码 73
5.6 蜂鸟E200处理器核配置选项 73
5.7 蜂鸟E200处理器核支持的RISC-V指令子集 74
5.8 蜂鸟E200处理器流水线结构 74
5.9 蜂鸟E200处理器核顶层接口介绍 74
5.10 总结 77
6章 流水线不是流水账——蜂鸟E200流水线介绍 78
6.1 处理器流水线概述 79
6.1.1 从经典的五级流水线说起 79
6.1.2 可否不要流水线——流水线和状态机的关系 81
6.1.3 深处种菱浅种稻,不深不浅种荷花——流水线的深度 81
6.1.4 向上生长——越来越深的流水线 82
6.1.5 向下生长——越来越浅的流水线 83
6.1.6 总结 83
6.2 处理器流水线中的乱序 83
6.3 处理器流水线中的反压 84
6.4 处理器流水线中的冲突 84
6.4.1 流水线中的资源冲突 84
6.4.2 流水线中的数据冲突 85
6.5 蜂鸟E200处理器的流水线 86
6.5.1 流水线总体结构 86
6.5.2 流水线中的冲突 87
6.6 总结 87
7章 万事开头难吗—— *切从取指令开始 88
7.1 取指概述 89
7.1.1 取指特点 89
7.1.2 如何快速取指 90
7.1.3 如何处理非对齐指令 91
7.1.4 如何处理分支指令 92
7.2 RISC-V架构特点对于取指的简化 97
7.2.1 规整的指令编码格式 97
7.2.2 指令长度指示码放于低位 97
7.2.3 简单的分支跳转指令 98
7.2.4 没有分支延迟槽指令 100
7.2.5 提供明确的静态分支预测依据 100
7.2.6 提供明确的RAS依据 101
7.3 蜂鸟E200处理器的取指实现 101
7.3.1 IFU总体设计思路 102
7.3.2 Mini-Decode 103
7.3.3 Simple-BPU分支预测 105
7.3.4 PC生成 109
7.3.5 访问ITCM和BIU 111
7.3.6 ITCM 115
7.3.7 BIU 116
7.4 总结 116
8章 一鼓作气,执行力是关键——执行 117
8.1 执行概述 118
8.1.1 指令译码 118
8.1.2 指令执行 118
8.1.3 流水线的冲突 119
8.1.4 指令的交付 119
8.1.5 指令发射、派遣、执行、写回的顺序 119
8.1.6 分支解析 121
8.1.7 小结 121
8.2 RISC-V架构特点对于执行的简化 121
8.2.1 规整的指令编码格式 122
8.2.2 优雅的16位指令 122
8.2.3 精简的指令个数 122
8.2.4 整数指令都是两操作数 122
8.3 蜂鸟E200处理器的执行实现 123
8.3.1 执行指令列表 123
8.3.2 EXU总体设计思路 123
8.3.3 译码 124
8.3.4 整数通用寄存器组 130
8.3.5 CSR寄存器 133
8.3.6 指令发射派遣 134
8.3.7 流水线冲突、长指令和OITF 139
8.3.8 ALU 145
8.3.9 高性能乘除法 157
8.3.10 浮点单元 158
8.3.11 交付 159
8.3.12 写回 159
8.3.13 协处理器扩展 160
8.3.14 小结 160
9章 善始者实繁,克终者盖寡——交付 161
9.1 处理器交付、取消、冲刷 162
9.1.1 处理器交付、取消、冲刷简介 162
9.1.2 处理器交付常见实现策略 163
9.2 RISC-V架构特点对于交付的简化 164
9.3 蜂鸟E200处理器交付硬件实现 164
9.3.1 分支预测指令的处理 165
9.3.2 中断和异常的处理 168
..............................
芯片验证漫游指南——从系统理论到UVM的验证全视界
内容简介
**验证专家刘斌(路桑)向您全面介绍芯片验证,从验证的理论,到SystemVerilog语言和UVM验证方法学,再到**验证项目话题。这本综合性、实用性的验证理论和编程方面的图书,针对芯片验证领域不同级别的验证工程师,给出由浅入深的技术指南:学习验证理论来认识验证流程和标准,学习SystemVerilog语言和UVM方法学来掌握目前主流的动态验证技术,了解**验证话题在今后遇到相关问题时可以参考。
目录
第1章 芯片验证全视
1.1 功能验证简介
1.2 验证的处境
1.2.1 验证语言的发展
1.2.2 验证面临的挑战
1.3 验证能力的5个维度
1.3.1 完备性
1.3.2 复用性
1.3.3 **性
1.3.4 高产出
1.3.5 代码性能
1.4 验证的任务和目标
1.4.1 按时保质低耗
1.4.2 芯片研发与客户反馈
1.4.3 缺陷增长曲线
1.5 验证的周期
1.5.1 验证周期中的检查点
1.5.2 功能详述
1.5.3 制定验证计划
1.5.4 开发验证环境
1.5.5 调试环境和HDL文件
1.5.6 回归测试
1.5.7 芯片生产
1.5.8 硅后系统测试
1.5.9 逃逸分析
1.6 本章结束语
........................
我一直梦想着能够亲手设计一个属于自己的CPU,但苦于找不到合适的入门书籍。《【现货包邮】手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 自己设计制作CPU架构开发》这个书名,简直就是为我量身定做的。特别是“手把手教你设计”和“自己设计制作CPU架构开发”这样的表述,让我感觉这本书会非常接地气,不会是那种高高在上的理论讲解,而是能够真正带领我一步步去实践。RISC-V这个词也让我眼前一亮,它代表着开放和未来,学习它比学习那些闭源的架构更有意义,也更容易获得成就感。我一直认为,学习CPU设计,光看书是远远不够的,必须要有实际的动手操作,所以“自己设计制作”这一点对我来说是最大的吸引力。我希望这本书能够提供清晰的设计思路,并且有详细的硬件描述语言(HDL)代码示例,让我能够直接跟着做。更让我惊喜的是,书中还包含了“芯片验证漫游指南”,这说明它不仅仅关注设计,还强调了验证的重要性。我深知,一个设计得再好的CPU,如果没有经过严格的验证,也很难真正投入使用。所以,我非常期待这本书能在验证方法、测试环境搭建等方面给我提供有益的指导,让我能够全面地掌握CPU设计和验证的整个流程,最终能够实现自己的CPU设计梦想。
评分从我个人学习技术的经验来看,选择一本能够深入浅出、理论与实践并重的书籍至关重要。这本书的书名《现货包邮】手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 自己设计制作CPU架构开发》恰恰符合了我的期望。我一直认为,理解CPU的精髓,必须从其最核心的设计原理入手,而不是仅仅停留在软件层面的应用。RISC-V作为一个开源指令集,为我提供了一个绝佳的学习平台,让我能够摆脱商业授权的束缚,更自由地探索CPU的设计细节。更重要的是,标题中“手把手教你设计”和“自己设计制作CPU架构开发”的表述,预示着这本书会提供一种循序渐进的学习路径,而不是简单罗列概念。我期待书中能够包含实际的硬件描述语言(HDL)代码示例,并对每个设计模块进行详细的讲解。此外,“芯片验证漫游指南”也让我看到了这本书的深度。在我看来,一个设计是否优秀,很大程度上取决于其验证的完备性。这本书如果能提供有效的验证方法和工具使用指导,那将是极大的加分项。总而言之,我对这本书寄予厚望,希望能它能够为我打开CPU设计和验证的大门,让我能够真正掌握这项硬核技术。
评分这本书真是让我眼前一亮!我一直对计算机底层运作原理充满好奇,特别是CPU是如何工作的。虽然市面上有很多介绍CPU的书籍,但要么过于理论化,要么停留在概念层面,让我觉得难以入手。这本《现货包邮】手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 自己设计制作CPU架构开发》则完全不同,它从“手把手教你设计”这个标题就抓住了我的痛点。我一直认为,学习技术最好的方式就是动手实践,而这本书似乎正是为此而生。标题中提到的“RISC-V处理器篇”让我看到了学习现代、开放指令集架构的希望,这比学习那些封闭的、商业化的架构更容易让我获得成就感。同时,“芯片验证漫游指南”这个副标题也让我对这本书的实用性有了更高的期待。我一直觉得,设计出CPU只是第一步,如何确保它正确高效地工作同样重要,而验证正是关键所在。这本书能同时涵盖设计和验证,让我觉得物超所值。我迫不及待地想翻开这本书,看看作者是如何一步一步地引导我构建属于自己的CPU,并学习如何对其进行 rigorous 的测试。我希望这本书能提供清晰的步骤、丰富的图示以及易于理解的代码示例,让我这个初学者也能跟得上。
评分我是一个对计算机底层技术充满热情但又缺乏实践经验的初学者。《【现货包邮】手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 自己设计制作CPU架构开发》这个书名,如同黑暗中的灯塔,瞬间吸引了我。它直接点出了“设计CPU”的核心目标,并且强调了“手把手教你”的学习方式,这对于像我这样的新手来说,简直是福音。过去我尝试阅读过一些计算机体系结构的经典书籍,但往往因为理论过于抽象而难以消化,最终不了了之。而这本书的“自己设计制作CPU架构开发”的表述,则预示着它会提供一条通往实践的路径,让我能够真正地“玩转”CPU设计。RISC-V的加入,更是让我看到了学习的潜力,一个开放、可定制的指令集,意味着我可以更深入地理解CPU的工作原理,甚至去尝试修改和优化。我特别期待这本书能够提供丰富的代码示例,最好是用Verilog或VHDL等硬件描述语言编写的,并且配有详细的注释和解释,这样我才能更好地理解代码的逻辑,并尝试复现。而“芯片验证漫游指南”这个副标题,则让我看到了这本书的全面性和前瞻性。我明白,一个成功的CPU设计离不开严格的验证,所以我希望这本书能够教会我如何搭建验证环境,如何编写测试用例,以及如何分析验证结果,让我能够从设计到验证都拥有扎实的功底,从而真正地做出自己的CPU。
评分作为一个对计算机体系结构有着浓厚兴趣的学习者,我一直在寻找一本能够真正将理论知识转化为实践能力的图书。《【现货包邮】手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 自己设计制作CPU架构开发》这个书名,立刻吸引了我的注意力。它明确地指向了“设计CPU”这个我一直以来都渴望深入探索的领域,并且聚焦于RISC-V,一个在当前备受瞩目的开源指令集架构。这让我感到非常兴奋,因为学习RISC-V不仅能帮助我理解现代CPU的设计理念,还能让我接触到前沿的技术发展。而“手把手教你设计”和“自己设计制作CPU架构开发”这些词语,则给我一种强烈的信心,认为这本书不是那种晦涩难懂、只讲理论的教材,而是真正注重实践,能够引导读者一步步完成CPU设计过程的书籍。我特别期待书中能够包含大量的图示、流程图以及实际的代码案例,能够清晰地展示CPU的各个组成部分是如何协同工作的。同时,“芯片验证漫游指南”这个副标题,也让我看到了这本书的全面性。我认为,设计一个CPU仅仅是成功的一半,对其进行有效的验证,确保其功能的正确性和性能的优化,同样至关重要。我希望这本书能够提供关于验证策略、测试平台搭建以及常用验证工具使用的详细介绍,让我能够真正掌握从设计到验证的完整流程。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有