计算机组成与设计(原书第5版)  硬件软件接口 RISC-V

这本书是引进过来的,本系列图书广受盛誉,有两位“图灵奖”得主撰写,书的权威性及细致性不言而喻,两位作者的履历也是让我们望而项背:

本书内容简单总结

本书第5版在MIPS和ARM版的基础上,特别推岀了R1SC-V版,这满足了广大读者学习和了解新技术及其发展的需要。该版本使用RISC -V指令系统作为实例,抽丝剥茧般呈现了设计一套新指令系统所需的技术考虑及其与微体系结构之间的密切联系,真正做到了“知其然,知其所以然”,这正是国外优秀的计算机体系结构研究者的“底蕴”。D.Patterson教授曾经表示过,RISC-V的未来在中国。我们也特别希望这部经典著作之R1SC-V版中译本的岀版,能够对我国的软硬件生态建设和发展有所贡献,能够对计算机体系结构领域的教学和科研有所帮助。

书本资源

本书网站booksite.elsevier.com/9780128122754 提供更多学习资源,可下载RISC-V软件工具,还有用于教学的PPT、练习题答案和附录等。

书本目录

章 计算机的抽象与技术 1
1.1 引言 1
1.1.1 计算机应用的分类和特点 2
1.1.2 欢迎来到后PC时代 3
1.1.3 你能从本书中学到什么 4
1.2 计算机体系结构中的8个伟大思想 6
1.2.1 面向摩尔定律的设计 6
1.2.2 使用抽象简化设计 7
1.2.3 加速大概率事件 7
1.2.4 通过并行提高性能 7
1.2.5 通过流水线提高性能 7
1.2.6 通过预测提高性能 7
1.2.7 存储器层次结构 7
1.2.8 通过冗余提高可靠性 7
1.3 程序表象之下 8
1.4 硬件包装之下 10
1.4.1 显示器 11
1.4.2 触摸屏 12
1.4.3 打开机箱 13
1.4.4 数据的安全存储 15
1.4.5 与其他计算机通信 16
1.5 处理器和存储器制造技术 17
1.6 性能 20
1.6.1 性能的定义 20
1.6.2 性能的度量 22
1.6.3 CPU的性能及其度量因素 24
1.6.4 指令的性能 24
1.6.5 经典的CPU性能公式 25
1.7 功耗墙 28
1.8 沧海巨变:从单处理器向多处理器转变 29
1.9 实例:Intel Core i7基准测试 32
1.9.1 SPEC CPU基准测试程序 32
1.9.2 SPEC功耗基准测试程序 34
1.10 谬误与陷阱 34
1.11 本章小结 36
1.12 历史观点与拓展阅读 37
1.13 练习题 38
第2章 指令:计算机的语言 42
2.1 引言 42
2.2 计算机硬件的操作 44
2.3 计算机硬件的操作数 46
2.3.1 存储器操作数 47
2.3.2 常数或立即数操作数 50
2.4 有符号数和无符号数 51
2.5 计算机中指令的表示 56
2.6 逻辑操作 61
2.7 决策指令 64
2.7.1 循环 65
2.7.2 边界检查的简便方法 67
2.7.3 case/switch语句 67
2.8 计算机硬件对过程的支持 68
2.8.1 使用更多的寄存器 69
2.8.2 过程嵌套 71
2.8.3 在栈中为新数据分配空间 73
2.8.4 在堆中为新数据分配空间 74
2.9 人机交互 76
2.10 LEGv8中的宽立即数和地址的寻址 79
2.10.1 宽立即数 79
2.10.2 分支中的寻址 80
2.10.3 LEGv8寻址模式总结 82
2.10.4 机器语言解码 82
2.11 并行与指令:同步 86
2.12 翻译并启动程序 88
2.12.1 编译器 88
2.12.2 汇编器 89
2.12.3 链接器 90
2.12.4 加载器 92
2.12.5 动态链接库 92
2.12.6 启动Java程序 94
2.13 综合实例:C排序程序 95
2.13.1 swap过程 95
2.13.2 sort过程 97
2.14 数组和指针 101
2.14.1 用数组实现clear 102
2.14.2 用指针实现clear 102
2.14.3 比较两个版本的clear 103
2.15 主题:编译C和解释Java 104
2.16 实例:MIPS指令集 104
2.17 实例:ARMv7(32位)指令集 105
2.18 实例:x86指令集 106
2.18.1 Intel x86的演进 107
2.18.2 x86寄存器和数据寻址模式 108
2.18.3 x86整数操作 110
2.18.4 x86指令编码 112
2.18.5 x86总结 112
2.19 实例:ARMv8指令集的其他部分 113
2.19.1 完整的ARMv8整数算术逻辑指令 114
2.19.2 完整的ARMv8整数数据传输指令 116
2.19.3 完整的ARMv8分支指令 117
2.20 谬误与陷阱 118
2.21 本章小结 119
2.22 历史观点与拓展阅读 121
2.23 练习题 121
第3章 计算机的算术运算 128
3.1 引言 128
3.2 加法和减法 128
3.3 乘法 131
3.3.1 顺序乘法算法及硬件 131
3.3.2 有符号乘法 134
3.3.3 更快速的乘法 134
3.3.4 LEGv8中的乘法 134
3.3.5 小结 135
3.4 除法 135
3.4.1 除法算法及硬件 135
3.4.2 有符号除法 137
3.4.3 更快速的除法 138
3.4.4 LEGv8中的除法 138
3.4.5 小结 139
3.5 浮点运算 140
3.5.1 浮点表示 141
3.5.2 异常和中断 142
3.5.3 IEEE 754浮点标准 142
3.5.4 浮点加法 145
3.5.5 浮点乘法 148
3.5.6 LEGv8中的浮点指令 150
3.5.7 算术性 154
3.5.8 小结 156
3.6 并行与计算机算术:子字并行 157
3.7 实例:x86中的流处理SIMD扩展和向量扩展 158
3.8 实例:其他的ARMv8算术指令 160
3.8.1 完整的ARMv8整数和浮点算术指令 160
3.8.2 完整的ARMv8 SIMD指令 161
3.9 加速:子字并行和矩阵乘法 163
3.10 谬误与陷阱 166
3.11 本章小结 168
3.12 历史观点与拓展阅读 171
3.13 练习题 171
第4章 处理器 175
4.1 引言 175
4.1.1 一种基本的LEGv8实现 176
4.1.2 实现概述 176
4.2 逻辑设计的一般方法 178
4.3 建立数据通路 180
4.4 一种简单的实现机制 187
4.4.1 ALU控制 187
4.4.2 主控制单元的设计 188
4.4.3 数据通路的操作 191
4.4.4 完成控制单元 194
4.4.5 为什么不使用单周期实现 195
4.5 流水线概述 197
4.5.1 面向流水线的指令集设计 200
4.5.2 流水线冒险 200
4.5.3 流水线概述小结 206
4.6 流水线数据通路及其控制 207
4.6.1 图形化表示的流水线 215
4.6.2 流水线控制 218
4.7 数据冒险:旁路与阻塞 221
4.8 控制冒险 231
4.8.1 假定分支不发生 231
4.8.2 减少分支延迟 232
4.8.3 动态分支预测 234
4.8.4 流水线小结 236
4.9 异常 236
4.9.1 LEGv8体系结构中的异常处理 237
4.9.2 流水线实现中的异常 238
4.10 指令级并行 241
4.10.1 推测的概念 242
4.10.2 静态多发射 243
4.10.3 动态多发射 246
4.10.4 动态流水线调度 247
4.10.5 能耗效率与流水线 249
4.11 实例:ARM Cortex-A53和Intel Core i7流水线 250
4.11.1 ARM Cortex-A53 251
4.11.2 Intel Core i7 920 253
4.11.3 Intel Core i7 920的性能 255
4.12 加速:指令级并行和矩阵乘法 256
4.13 主题:采用硬件设计语言描述和建模流水线的数字设计技术以及更多流水线示例 258
4.14 谬误与陷阱 258
4.15 本章小结 259
4.16 历史观点与拓展阅读 260
4.17 练习题 260
第5章 大容量和高速度:开发存储器层次结构 271
5.1 引言 271
5.2 存储器技术 275
5.2.1 SRAM技术 275
5.2.2 DRAM技术 275
5.2.3 闪存 277
5.2.4 磁盘存储器 277
5.3 cache的基本原理 279
5.3.1 cache访问 280
5.3.2 cache缺失处理 285
5.3.3 写操作处理 285
5.3.4 cache实例:Intrinsity FastMATH处理器 287
5.3.5 小结 289
5.4 cache性能的评估和改进 289
5.4.1 通过更灵活的块放置策略来减少cache缺失 292
5.4.2 在cache中查找块 295
5.4.3 替换块的选择 296
5.4.4 使用多级cache减少缺失代价 297
5.4.5 通过分块进行软件优化 299
5.4.6 小结 303
5.5 可信存储器层次结构 303
5.5.1 失效的定义 303
5.5.2 纠1检2汉明码(SEC/DED) 305
5.6 虚拟机 308
5.6.1 虚拟机监视器的要求 309
5.6.2 指令集体系结构(缺乏)对虚拟机的支持 309
5.6.3 保护和指令集体系结构 310
5.7 虚拟存储器 310
5.7.1 页的存放和查找 313
5.7.2 缺页故障 315
5.7.3 用于大型虚拟地址的虚拟内存 316
5.7.4 关于写 318
5.7.5 加快地址转换:TLB 318
5.7.6 Intrinsity FastMATH TLB 319
5.7.7 集成虚拟存储器、TLB和cache 322
5.7.8 虚拟存储器中的保护 323
5.7.9 处理TLB缺失和缺页 324
5.7.10 小结 326
5.8 存储器层次结构的一般框架 328
5.8.1 问题1:块放在何处 328
5.8.2 问题2:如何找到块 329
5.8.3 问题3:cache缺失时替换哪一块 330
5.8.4 问题4:写操作如何处理 330
5.8.5 3C:一种理解存储器层次结构行为的直观模型 331
5.9 使用有限状态机控制简单的cache 332
5.9.1 一个简单的cache 333
5.9.2 有限状态机 333
5.9.3 一个简单cache控制器的有限状态机 335
5.10 并行与存储器层次结构:cache一致性 336
5.10.1 实现一致性的基本方案 337
5.10.2 监听协议 337
5.11 并行与存储器层次结构:廉价冗余磁盘阵列 339
5.12 主题:实现cache控制器 339
5.13 实例:ARM Cortex-A53和Intel Core i7的存储器层次结构 339
5.14 实例:ARMv8系统的剩余部分以及特殊指令 343
5.15 加速:cache分块和矩阵乘法 345
5.16 谬误与陷阱 346
5.17 本章小结 349
5.18 历史观点与拓展阅读 350
5.19 练习题 350
第6章 并行处理器:从客户端到云 362
6.1 引言 362
6.2 创建并行处理程序的难点 364
6.3 SISD、MIMD、SIMD、SPMD和向量 367
6.3.1 x86中的SIMD:多媒体扩展 368
6.3.2 向量 368
6.3.3 向量与标量 370
6.3.4 向量与多媒体扩展 370
6.4 硬件多线程 372
6.5 多核和其他共享内存多处理器 375
6.6 图形处理单元 378
6.6.1 NVIDIA GPU体系结构简介 379
6.6.2 NVIDIA GPU存储结构 380
6.6.3 正确理解GPU 381
6.7 集群、仓储式计算机和其他消息传递多处理器 383
6.8 多处理器网络拓扑简介 386
6.9 与外界通信:集群网络 389
6.10 多处理器基准测试程序和性能模型 389
6.10.1 性能模型 391
6.10.2 Roof?line模型 392
6.10.3 两代Opteron的比较 393
6.11 实例:Intel Core i7 960和NVIDIA Tesla GPU的评测及Roof?line模型 396
6.12 加速:多处理器和矩阵乘法 399
6.13 谬误与陷阱 402
6.14 本章小结 403
6.15 历史观点与拓展阅读 405
6.16 练习题 405
附录A 逻辑设计基础 414
索引 470
网络内容
附录B 图形处理单元
附录C 控制器的硬件实现
附录D RISC指令集体系结构

视频资源

本书非常经典,所以慕课上有相应的课程,大家觉得书本读起来无聊的时候可以结合视频区学习,mooc地址:

https://www.icourse163.org/course/ZJU-1452997167?from=searchPage

PS:书本和视频不是很匹配但是视频的参考图书就是这本书,会给入门的同学一点启发。

图书链接

中英文版本:

链接:https://pan.baidu.com/s/1Yi2FhTzKghJX0rdEoIMz-g 提取码:open

解压密码:openfpga

上面链接失效请看下面和彩云永久链接:

链接:https://caiyun.139.com/m/i?1B5C6LmNZq7ES 提取码:FJpJ 复制内容打开和彩云PC客户端,操作更方便哦

解压密码:openfpga

小程序链接

写在最后

分享的图书只供大家学习使用,切勿进行商业通途,否则后果自负。大家觉得有所收获请购买正版书籍进行研读。

NOW

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......

文件名 主标题 内容简单介绍 是否有中文版
UG476 7 Series FPGAs GTX/GTH  Transceivers GTX和GTH介绍,PCIe、serdes等学习必备
UG471 7 Series FPGAs SelectIO Resources 描述 7 系列 FPGA 中可用的 SelectIO资源。
UG1114 PetaLinux Tools Documentaton PetaLinux 工具文档 参考指南 是,V2019.2
UG949 UltraFAST 设计方法指南(适用于 Vivado  Design Suite) 赛灵思® UltraFast™  设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标 是,V2018.1
IP手册 pg057 FIFO Generator FIFO生成器IP使用手册
pg104 Complex Multiplier 复数乘法器IP使用手册
pg122 RAM-Based Shift Register  移位寄存器IP使用手册

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【Vivado使用误区与进阶】总结篇

【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键

SystemVerilog数字系统设计_夏宇闻 PDF

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

简谈:如何学习FPGA

Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目

AD936x+ZYNQ搭建收音机(一)

AD936x+ZYNQ搭建OpenWIFI

无招胜有招-Vivado非工程模式下的详细设计

面试中经常会遇到的FPGA基本概念,你会几个?

FPGA 的重构

国产CPU概括

从电子游戏历史看IC发展的助推剂

PCIe总线的基础知识

万字长文带你回顾电子游戏的七十多年历史(完整版)

FPGA中异步复位,同步释放的理解

OpenFPGA系列文章总结

用Verilog设计一个16 位 RISC 处理器

介绍一些新手入门FPGA的优秀网站(新增)

Verilog数字系统基础设计-CR

建立和保持时间及时序简单理解

(Xilinx)FPGA中LVDS差分高速传输的实现

Xilinx Multiboot实例演示

高速串行通信常用的编码方式-8b/10b编码/解码

图书推荐|一本图像/视频处理的强大工具书

Verilog HDL-同步技术

再说System Verilog 与 Verilog 的关系

数模混合信号建模语言Verilog-AMS

Intel/Altera 系列FPGA简介

一块带给无数人年少欢乐的CPU,别说你没用过它

Verilog在编写第一行代码之前

【例说】Verilog HDL 编译器指令,你见过几个?

穿越时空的爱恋-Z80 CPU的前世今生

【Vivado】那些事儿-汇总篇

古老CPU启示录-晶体管之路

【Vivado那些事儿】约束的顺序

童年修复系列-SNES芯片组介绍及FPGA实现

优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V

串行总线技术(一)-串行总线结构(以PCIe为例)

串行总线技术(二)-串行总线中的先进设计理念及SerDes/PMA介绍

优秀的 Verilog/FPGA开源项目介绍(三)- 大厂的项目

古老CPU启示录-意义重大的8008 芯片

图书推荐|计算机组成与设计(原书第5版) 硬件软件接口 RISC-V相关推荐

  1. Linux内核设计与实现 原书第3版中文版pdf

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 下载地址 ...

  2. 新书推荐 |《计算机安全:原理与实践(原书第4版)》

    新书推荐 <计算机安全:原理与实践(原书第4版)> 长按二维码 了解及购买 深入浅出地介绍计算机安全的原理,计算机安全领域的知名教材. 编辑推荐 本书作者William Stallings ...

  3. 新书推荐 | Java核心技术 卷II 高级特性(原书第11版)

    新书推荐 <Java核心技术 卷II 高级特性(原书第11版)> 长按二维码 了解及购买 全新第11版!针对Java SE9.10.11全面更新!Java领域极具影响力和价值的著作之一,与 ...

  4. 计算机python程序设计导论,程序设计导论:Python计算与应用开发实践(原书第2版)...

    程序设计导论:Python计算与应用开发实践(原书第2版) 语音 编辑 锁定 讨论 上传视频 <程序设计导论:Python计算与应用开发实践(原书第2版)>是2018年机械工业出版社出版的 ...

  5. 优秀网站设计:打造有吸引力的网站(原书第3版)

    <优秀网站设计:打造有吸引力的网站(原书第3版)> 基本信息 原书名:Web Style Guide, 3rd Edition 作者: (美)Patrick J. Lynch Sarah ...

  6. 新书推荐 |《OpenCV 4计算机视觉项目实战(原书第2版)》

    新书推荐 <OpenCV 4计算机视觉项目实战(原书第2版)> 长按二维码 了解及购买 一本使用OpenCV进行计算机视觉应用开发的实践,指南不仅介绍OpenCV基础知识,还详细讲解各种实 ...

  7. 《VMware vSphere设计(原书第2版)》——1.3 设计原则

    本节书摘来自华章出版社<VMware vSphere设计(原书第2版)>一 书中的第1章,第1.1节,作者:[美] 福布斯·格思里(Forbes Guthrie)斯科特·罗威(Scott ...

  8. 《VMware vSphere设计(原书第2版)》——1.1 什么是设计

    本节书摘来自华章出版社<VMware vSphere设计(原书第2版)>一 书中的第1章,第1.1节,作者:[美] 福布斯·格思里(Forbes Guthrie)斯科特·罗威(Scott ...

  9. 《产品设计与开发(原书第5版)》——3.8 步骤5:选出最佳机会方案

    本节书摘来自华章计算机<产品设计与开发(原书第5版)>一书中的第3章,第3.8节,作者:(美)乌利齐(Ulrich, K. T.),(美)埃平格(Eppinger, S. D.)著,更多章 ...

最新文章

  1. poj3068(最小费用流)
  2. 使用python 的paramiko制作堡垒机
  3. Yii游客允许查看页面设置
  4. 集合习题之列出有限集合所有子集
  5. Linux vi 行尾 ctrl,linux中vi使用技巧常用技巧和高级替换
  6. HDU2553 N皇后问题【DFS+回溯法】
  7. 【cocos】无法启动程序“..\proj.win32\Debug.win32\libcocos2d.dll
  8. FATFS Copy Files
  9. 如今市面上有哪些可以远程的软件?
  10. 2019美赛C题o奖论文结构整理
  11. 恶补地理知识--四大洋,七大洲
  12. react报错解决 Rendered more fewer hooks than during the previous render
  13. 神器大师泰兹瑞与威穆
  14. 如何导入阿里巴巴字体图标
  15. 在网页中搜索指定内容和以PDF格式保存网页
  16. 毕业去哪儿?看这里!神策数据 2023 校园招聘启动啦
  17. TS之namespace与module
  18. macOS安装软件的正确方法
  19. solidity 中的时间_Solidity快速了解
  20. 解决用pyinstaller打包python程序,生成的.exe文件过大问题

热门文章

  1. mac远程桌面Microsoft Remote Desktop for Mac - Mac-连接Windows远程桌面
  2. Scala版本冲突--java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()
  3. Ubuntu数据备份与恢复工具(一)
  4. c++rpg黑框游戏_RPG游戏 C++源码 文字RPG游戏
  5. 纯DOS下安装Linux
  6. linux安装SecureCRT安装教学
  7. delphi7 获取计算机名,Delphi中根据IP地址得到主机名
  8. ruoyi笔记0-尝试启动ruoyi
  9. Cognos安装详解
  10. 【科普文】二维码的[生成]和[扫码]