计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)-戴维·A.帕特森 约翰·L.亨尼斯
- 书名: 计算机组成与设计:硬件/软件接口 RISC-V版(原书第2版)
- 作者: 戴维·A.帕特森 约翰·L.亨尼斯
- 简介: 本书由2017年图灵奖得主Patterson和Hennessy共同撰写,是计算机体系结构领域的经典书籍,强调软硬件协同设计及其对性能的影响。本书采用开源的RISC-V指令系统体系结构, 讲解硬件技术、指令、算术运算、流水线、存储层次、I/O以及并行处理器等。第2版将RV64切换为RV32以降低学习难度,新增关于领域定制体系结构(DSA)的讨论以反映新的技术趋势。此外,每一章都增加了“性能提升”和“自学”章节,并更新了大量练习题。本书适合计算机体系结构领域的专业技术人员参考,也适合高等院校计算机相关专业的学生阅读。
- 出版时间 2023-07-01 00:00:00
- ISBN: 9787111727972
- 分类: 计算机-编程设计
- 出版社: 机械工业出版社
高亮划线
封面
版权信息
译者简介
赞誉
译者序
前言
作者简介
第1章 计算机抽象及相关技术
1.2 计算机体系结构中的7个伟大思想
1.3 程序表象之下
1.4 箱盖后的硬件
1.5 处理器和存储制造技术
1.6 性能
1.7 功耗墙
1.8 沧海巨变:从单处理器向多处理器转变
1.9 实例:评测Intel Core i7
1.10 性能提升:使用Python语言编写矩阵乘法程序
1.11 谬误与陷阱
1.12 本章小结
1.13 历史视角和拓展阅读
1.14 自学
1.15 练习
第2章 指令:计算机的语言
2.1 引言
2.2 计算机硬件的操作
2.3 计算机硬件的操作数
- 📌 编译器的工作是将程序变量与寄存器相关联。以我们前面例子中的赋值语句为例: ^26-1716-1752
- ⏱ 2024-05-24 08:30:44
2.4 有符号数与无符号数
2.5 计算机中的指令表示
2.6 逻辑操作
2.7 用于决策的指令
2.8 计算机硬件对过程的支持
2.9 人机交互
2.10 对大立即数的RISC-V编址和寻址
2.11 并行性与指令:同步
2.12 翻译并启动程序
2.13 以C排序程序为例的汇总整理
2.14 数组与指针
2.15 高级专题:编译C语言和解释Java语言
2.16 实例:MIPS指令
2.17 实例:ARMv7(32位)指令
2.18 实例:ARMv8(64位)指令
2.19 实例:x86指令
2.20 实例:RISC-V指令系统的剩余部分
2.21 性能提升:使用C语言编写矩阵乘法程序
2.22 谬误与陷阱
2.23 本章小结
2.24 历史视角和扩展阅读
2.25 自学
2.26 练习
第3章 计算机的算术运算
3.1 引言
3.2 加法和减法
3.3 乘法
3.4 除法
3.5 浮点运算
3.6 并行性与计算机算术:子字并行
3.7 实例:x86中的SIMD扩展和高级向量扩展
3.8 性能提升:子字并行和矩阵乘法
3.9 谬误与陷阱
3.10 本章小结
3.11 历史视角和拓展阅读
3.12 自学
3.13 练习
第4章 处理器
4.1 引言
4.2 逻辑设计的一般方法
4.3 建立数据通路
4.4 一个简单的实现方案
4.5 多周期实现
4.6 流水线概述
4.7 流水线数据通路和控制
4.8 数据冒险:前递与停顿
4.9 控制冒险
4.10 例外
4.11 指令间的并行性
4.12 实例:ARM Cortex-A53和Intel Core i7 6700
4.13 性能提升:指令级并行和矩阵乘法
4.14 高级专题:数字设计概述——使用硬件设计语言进行流水线建模以及更多流水线示例
4.15 谬误与陷阱
4.16 本章小结
4.17 历史视角和拓展阅读
4.18 自学
4.19 练习
第5章 大而快:层次化存储
5.1 引言
5.2 存储技术
5.3 cache基础
5.4 cache的性能评估和改进
5.5 可靠的存储器层次
5.6 虚拟机
5.7 虚拟存储
5.8 存储层次结构的一般框架
5.9 使用有限状态自动机控制简单的cache
5.10 并行和存储层次结构:cache一致性
5.11 并行与存储层次结构:廉价磁盘冗余阵列
5.12 高级专题:实现cache控制器
5.13 实例:ARM Cortex-A53和Intel Core i7的存储层次结构
5.14 实例:RISC-V系统的其他部分和特殊指令
5.15 性能提升:cache分块和矩阵乘法
5.16 谬误与陷阱
5.17 本章小结
5.18 历史视角和拓展阅读
5.19 自学
5.20 练习
第6章 并行处理器:从客户端到云
6.1 引言
6.2 创建并行处理程序的难点
6.3 SISD、MIMD、SIMD、SPMD和向量机
6.4 硬件多线程
6.5 多核及其他共享内存多处理器
6.6 GPU简介
6.7 领域定制体系结构
6.8 集群、仓储级计算机和其他消息传递多处理器
6.9 多处理器网络拓扑简介
6.10 与外界通信:集群网络
6.11 多处理器测试基准和性能模型
6.12 实例:评测Google TPUv3超级计算机和NVIDIA Volta GPU集群
6.13 性能提升:多处理器和矩阵乘法
6.14 谬误与陷阱
6.15 本章小结
6.16 历史视角和拓展阅读
6.17 自学
6.18 练习
附录A 逻辑设计基础
术语表
文后
读书笔记
前言
划线评论
- 📌 阿姆达尔定律 ^367561166-7Rk1yXtRN
- 💭 阿姆达尔定律是由吉恩·阿姆达尔(Gene Amdahl)于1967年提出的,用于预测搭载多核处理器的机器提升程序速度的理论最大值。该定律指出,并行性是存在极限的,因此只靠多核无法解决所有的问题。
一、阿姆达尔定律的定义
-
阿姆达尔定律是一个简单的,但极其重要的并行程序的模型。
-
阿姆达尔定律可以用如下公式表示:S=1/(1-α),其中S为加速比,α为串行比例。
二、阿姆达尔定律的影响
-
阿姆达尔定律反映了物理上的必然性,是纯粹的物理定律。
-
阿姆达尔定律指出,并行性是存在极限的,因此只靠多核无法解决所有的问题。
三、阿姆达尔定律的应用
-
阿姆达尔定律主要用于发现当系统的部分组件得到改进,整体系统可能得到的最大改进。
-
阿姆达尔定律被综合地用于发现给定问题和资源池下的瓶颈。
-
阿姆达尔定律于1967年由IBM360系列机的主要设计者阿姆达尔首先提出。
- ⏱ 2024-05-20 08:09:11