书籍作者:David Patterson | ISBN:9787121464096 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3187 |
创建日期:2024-05-03 | 发布日期:2024-05-03 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书首先提出一款指令集的7个评价指标,包括成本、简洁、性能、架构和实现分离、提升空间、代码大小、易于编程/编译/链接,并围绕这7 个评价指标从全系统角度向读者介绍RISC-V 的精巧设计和众多的取舍考量。同时,本书还介绍x86、ARM 和MIPS 的设计,并通过插入排序和DAXPY(双精度乘加)程序量化对比它们,突出RISC-V 的优势,深入阐释指令集设计对计算机系统的影响。 如果您是学生,本书将是一本优秀的课外读物,有助于您建立完整的计算机系统观念;如果您是教师,本书将为您提供丰富的真实案例,能给您的教学工作带来新的启发;如果您是相关方向的从业人士,本书除了开拓您的视野,还是一本方便的参考手册,帮助您更轻松地完成工作。
大卫·帕特森(David Patterson)在加州大学伯克利分校担任计算机科学系教授40年,于2016 年退休,并加入“Google 大脑”项目担任杰出工程师。他还担任RISC-V 国际基金会董事会副主席和RISC-V 国际开源实验室主任。
他曾被任命为伯克利计算机科学部主席,并当选计算研究协会(CRA,Computing Research Association)主席和计算机协会(ACM,Association for Computing Machinery)主席。
在20世纪80年代,他领导了四代精简指令集计算机(RISC,Reduced InstructionSet Computer)项目,伯克利z新的RISC 因此得名“RISC Five”(第五代RISC)。他和安德鲁·沃特曼(Andrew Waterman)均为四位RISC-V 架构师中的一员。
除RISC 以外,他z著名的研究项目是廉价磁盘冗余阵列(RAID,Redundant Arrays of Inexpensive Disks)。基于这项研究,他发表了多篇论文,出版了7 本书,获得了超过40项荣誉,包括当选美国国家工程院和美国国家科学院院士,入选“硅谷工程名人堂”,获ACM、CRA 和SIGARCH 颁发的杰出成就奖。他在教学方面所获奖项包括杰出教学奖(加州大学伯克利分校)、Karlstrom杰出教育家奖(ACM)、Mulligan 教育奖章(IEEE),以及两次教科书卓越奖(Text and Academic Authors Association)。
他最近获得的荣誉包括Tapia 成就奖、BBVA 基金会知识前沿奖以及ACM 图灵奖,其中后两者与约翰·轩尼诗(John Hennessy)共同获得。他在加州大学洛杉矶分校获所有学位,也被
该校授予杰出工程学院校友奖。他在南加州长大,兴趣爱好是和儿子们一起玩人体冲浪、骑自行车和踢足球,以及和妻子一起远足。他们在高中时期相爱,并于2022 年庆祝了55 周年结
婚纪念日。
安德鲁·沃特曼(Andrew Waterman)是SiFive 的总工程师和联合创始人。SiFive 由RISC-V 架构的发明者们创办,旨在提供基于RISC-V 的低成本定制芯片。他获加州大学伯克利分校计算机科学博士学位。其间,他厌倦了现有指令集架构的变幻莫测,于是参与设计了RISC-V ISA 和第一款RISC-V微处理器。安德鲁在多个开源项目中均做出主要贡献,包括基于RISC-V 指令集的开源Rocket chip 生成器、Chisel 硬件构造语言,以及Linux 操作系统内核、GNU C 编译器和C 库的RISC-V 版本移植工作。他还获加州大学伯克利分校硕士学位,其间开展了RISC-V 压缩扩展的前期工作。他还获杜克大学工学学士学位。
《RISC-V开放架构设计之道》由RISC-V架构的作者、著名的计算机体系架构专家David Patterson亲自主笔撰写,
以最精简的笔墨,清晰、透彻地勾勒了RISC-V架构的全貌,全书别出心裁地按照RISC-V模块化的指令来组织内容,以帮助读者深刻理解RISC-V的关键特性,
本书值得每一位对RISC-V感兴趣的读者精读,并可作为从业者随时翻阅的案头参考书。
w RISC-V 的基本概念和设计原则
w 深入分析RISC-V 的指令集、寄存器、内存管理、异常处理等
w 丰富的图表和示例
此外,本书还介绍x86、ARM 和MIPS 的设计,通过对比分析,突显RISC-V 的优势。
《RISC-V开放架构设计之道》由中科院计算所包云岗老师团队担纲翻译,是一本著译双馨的上乘佳作。
第1章 为什么要有RISC-V 1
1.1 导言 2
1.2 模块化ISA 和增量型ISA 3
1.3 ISA 设计导论 5
1.4 全书总览 11
1.5 结语13
1.6 扩展阅读14
第2章RV32I:RISC-V 基础整数指令集16
2.1 导言17
2.2 RV32I 指令格式18
2.3 RV32I 寄存器 21
2.4 RV32I 整数计算23
2.5 RV32I 取数和存数 25
2.6 RV32I 条件分支26
2.7 RV32I 无条件跳转 27
2.8 其他RV32I 指令28
2.9 通过插入排序对比RV32I、ARM-32、MIPS-32 和x86-32 28
2.10 结语34
2.11 扩展阅读 36
第3 章RISC-V 汇编语言 37
3.1 导言38
3.2 调用约定38
3.3 汇编器 41
3.4 链接器 46
3.5 静态链接和动态链接49
3.6 加载器 49
3.7 结语50
3.8 扩展阅读50
第4章RV32M:乘法和除法指令51
4.1 导言52
4.2 结语54
4.3 扩展阅读55
第5章RV32F 和RV32D:单精度和双精度浮点数56
5.1 导言57
5.2 浮点寄存器60
5.3 浮点取数、存数和算术运算62
5.4 浮点转换和数据传送63
5.5 其他浮点指令63
5.6 通过DAXPY 程序对比RV32FD、ARM-32、MIPS-32 和x86-32 65
5.7 结语68
5.8 扩展阅读68
第6章RV32A:原子指令70
6.1 导言71
6.2 结语73
6.3 扩展阅读74
第7章RV32C:压缩指令75
7.1 导言76
7.2 对比RV32GC、Thumb-2、microMIPS 和x86-32 81
7.3 结语82
7.4 扩展阅读82
第8章RV32V:向量83
8.1 导言84
8.2 向量计算指令85
8.3 向量寄存器和动态类型86
8.4 向量取数和存数88
8.5 向量操作的并行度 89
8.6 向量操作的条件执行90
8.7 其他向量指令90
8.8 示例:用RV32V 编写DAXPY 程序92
8.9 对比RV32V、MIPS-32 MSA SIMD 和x86-32 AVX SIMD· 93
8.10 结语97
8.11 扩展阅读 99
第9章RV64:64 位地址指令· 100
9.1 导言101
9.2 通过插入排序比较RV64 与其他64 位ISA 105
9.3 程序大小112
9.4 结语113
9.5 扩展阅读114
第10章RV32/64 特权架构115
10.1 导言116
10.2 简单嵌入式系统的机器模式117
10.3 机器模式的异常处理 119
10.4 嵌入式系统中的用户模式和进程隔离 124
10.5 现代操作系统的监管模式 126
10.6 页式虚拟内存128
10.7 标识和性能CSR 133
10.8 结语136
10.9 扩展阅读 136
第11章 未来的RISC-V 可选扩展 137
11.1 “B”标准扩展:位操作 138
11.2 “E”标准扩展:嵌入式 138
11.3 “H”特权态架构扩展:支持虚拟机管理器(Hypervisor) 138
11.4 “J”标准扩展:动态翻译语言· 138
11.5 “L”标准扩展:十进制浮点 139
11.6 “N”标准扩展:用户态中断139
11.7 “P”标准扩展:紧缩SIMD 指令139
11.8 “Q”标准扩展:四倍精度浮点140
11.9 结语140
附录A RISC-V 指令列表 141
附录B 把RISC-V 直译到其他ISA 187
索引195