高级检索结果页
欢迎来到工程科技数字图书馆
登录 | 注册
 
您当前的位置:图书 > 计算机体系结构:基于性能的考量

计算机体系结构:基于性能的考量

  • 相关图书推荐
  • 相关课程推荐
  • DeepSeek实用技巧
  • DeepSeek与AI办公提效
  • AI通识与DeepSeek提问逻辑
  • Deepseek高效使用技巧
  • 计算机组装与维护教程
  • C语言程序设计
  • Python编程基础与应用
  • Java算法从菜鸟到达人
  • deepseek高效辅助课题申报
  • AI辅助教学
  • deepseek高效辅助论文写作

本书涵盖了计算机性能的四个关键支柱,并为推理和理解这些概念提供了高级基础: 小即快——规模扩展如何驱动性能;隐性并行——顺序程序如何通过并行而更快地执行;动态定位——通过在更小的空间内安排数据而绕过物理限制;并行——通过工作者团队提高性能。这些原则和模型提供了清晰易懂的高层次见解和定量建模,同时兼顾了低层次细节。最后,本书还涵盖了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指令集参考卡
参考文献
后折页
封底

机工科技数字图书馆