-
内容大纲
本书涵盖了计算机性能的四个关键支柱,并为推理和理解这些概念提供了高级基础: 小即快——规模扩展如何驱动性能;隐性并行——顺序程序如何通过并行而更快地执行;动态定位——通过在更小的空间内安排数据而绕过物理限制;并行——通过工作者团队提高性能。这些原则和模型提供了清晰易懂的高层次见解和定量建模,同时兼顾了低层次细节。最后,本书还涵盖了GPU和机器学习加速器,它们对主流应用变得越来越重要。本书可帮助软件架构师、开发人员甚至是数据科学家了解计算机体系结构以及如何提升性能。 -
作者介绍
-
目录
译者序
前言
第1章 计算与社会变迁
1.1 计算改变了社会和经济
1.1.1 家庭
1.1.2 汽车和交通
1.1.3 商业
1.2 计算改变了科学和探索
1.3 计算的非凡特性
1.4 什么是计算机体系结构
1.5 计算机性能的四大支柱:微型化、隐式并行性、动态局部性和显式并行性
1.6 对读者的预期
1.7 本书组织结构
1.8 总结
1.9 习题
第2章 指令集、软件和指令执行
2.1 计算机的指令集
2.2 计算机系统结构
2.3 指令集体系结构:RISC-V实例
2.3.1 计算指令
2.3.2 条件控制和程序连接指令
2.3.3 内存访问指令
2.4 机器指令和基本的软件结构
2.4.1 基本表达式的实现
2.4.2 数据结构的实现:结构体和对象
2.4.3 一维数组和多维数组的实现
2.4.4 实现条件迭代结构:循环
2.4.5 实现过程调用、返回和栈
2.5 基本的指令执行和实现
2.5.1 顺序状态和指令执行
2.5.2 指令执行的硬件实现
2.6 提高指令的执行速度和程序的性能
2.7 总结
2.8 深入探究
2.9 习题
第3章 处理器与扩展:小即快
3.1 微型化与信息处理
3.2 计算机的自然规模是什么
3.2.1 例子:位大小和速度
3.2.2 体积不断缩小的计算机
3.3 计算机的大小和速度
3.3.1 体积较小的计算机更快
3.3.2 例子:应用物理大小和时钟周期模型
3.3.3 从房间大小的计算机到单芯片计算机的尺寸缩放
3.3.4 尺寸缩放的单芯片计算机:功耗问题和登纳德的解决方案
3.3.5 登纳德缩放定律的终结
3.4 计算机尺寸与功耗
3.5 其他技术中的尺寸
3.6 微型计算机推动应用爆炸式发展
3.7 总结
3.8 深入探究
3.9 习题
第4章 顺序抽象,并行实现
4.1 顺序计算抽象
4.1.1 顺序程序
4.1.2 指令级并行:流水线及更多方法
4.1.3 数据依赖和顺序错觉
4.2 顺序错觉:重命名与乱序执行
4.2.1 变量与寄存器的重命名
4.2.2 实现寄存器重命名的方法: 重排序缓冲区
4.2.3 乱序执行的局限性
4.3 因果关系错觉:推测执行
4.3.1 分支预测
4.3.2 推测执行
4.3.3 精确的分支预测器
4.3.4 推测执行的安全风险:幽灵和熔断
4.4 总结
4.5 深入探究
4.6 习题
第5章 存储器:开发动态局部性
5.1 存储器技术、小型化和不断增加的容量
5.2 软件和应用程序对内存容量的需求
5.3 存储系统的挑战:存储墙
5.4 存储器延迟
5.4.1 空间局部性和时间局部性(缓存)
5.4.2 程序中的动态局部性
5.4.3 地址过滤器(缓存)
5.4.4 过滤器的有效性
5.4.5 实现缓存(局部性和过滤)
5.4.6 递归过滤(多级缓存)
5.4.7 存储层次结构性能建模
5.5 为什么缓存具有良好的效果,如何编程以提高局部性
5.6 应用程序动态局部性的测量和性能的建模
5.6.1 测量动态局部性:重用距离
5.6.2 重用距离和动态局部性
5.6.3 使用重用距离对应用程序的访存性能进行建模
5.6.4 调整程序以实现动态局部性
5.7 访问速率和并行存储器系统
5.8 总结
5.9 深入探究
5.10 习题
第6章 通用计算机
6.1 一个商用处理器:英特尔Skylake
6.2 一个商业存储层次结构:英特尔Skylake
6.3 CPU是通用计算机
6.4 观点:数学的普遍性和复杂性
6.5 总结
6.6 深入探究
6.7 习题
第7章 顺序之上:多核和云端的并行性
7.1 登纳德缩放定律的失效与向并行性的转变
7.2 并行单芯片计算机:多核CPU
7.3 多核计算机的编程:OpenMP和pthreads
7.3.1 OpenMP:基于指示符的并行化
7.3.2 pthreads:显式线程并行性
7.3.3 多核CPU中的并行性挑战
7.3.4 多核的简便使用方法:库和服务器
7.4 百万级的并行:超级计算机与云计算
7.5 高效并行性:计算粒度大小
7.6 云计算机编程:粗粒度并行性
7.6.1 三层Web应用程序:可扩展的Web服务
7.6.2 分布式MapReduce(Hadoop和Spark)
7.6.3 微服务:模块化的可靠性与演化
7.6.4 无服务器架构(函数/功能即服务)
7.7 总结
7.8 深入探究
7.9 习题
第8章 加速器:为性能定制的体系结构
8.1 加速器的出现
8.1.1 加速器的硬件优势
8.1.2 编程和软件方面的挑战
8.2 并行加速器
8.2.1 GPU体系结构
8.2.2 不同的GPU及其性能
8.3 机器学习加速器
8.3.1 Google的张量处理单元
8.3.2 Cerebras CS-2:一个晶片规模的机器学习加速器
8.3.3 小型机器学习加速器(边缘)
8.4 加速器的其他应用机会
8.5 加速计算的限制和不足
8.6 总结
8.7 深入探究
8.8 习题
第9章 计算性能:过去、现在和未来
9.1 计算机性能的历史演变
9.2 未来计算机性能:性能提升的机会
9.2.1 硬件的缩放和机会
9.2.2 并行性对编程和软件的挑战
9.3 新计算模型
9.3.1 高级架构
9.3.2 量子计算
9.3.3 神经形态计算
9.4 总结
9.5 深入探究
9.6 习题
附录 RISC-V指令集参考卡
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
