计算机体系结构-量化研究方法(第六版)-汉化
  • 关于翻译
  • 前言
    • 我们为什么写这本书
    • 当前版本
    • 选材与组织
    • 内容概述
    • 阅读导览
    • 章节结构
    • 案例研究与习题
    • 补充材料
    • 帮助改进这本书
    • 结语
  • 第一章 量化设计和分析的基础知识
    • 摘要
    • 1.1 介绍
    • 1.2 计算机的类别
      • 物联网/嵌入式计算机
      • 个人移动终端
      • 桌面计算机
      • 服务器
      • 集群/数据仓库规模的计算机
      • 并行性和并行架构的类别
    • 1.3 计算机体系结构的定义
      • 指令集架构:计算机体系结构的“狭隘”观点
      • 名副其实的计算机体系结构:设计组织(Organization)和硬件以满足设计指标和功能需求
    • 1.4 技术趋势
      • 性能趋势:带宽的提升大于延迟
      • 晶体管性能和导线的扩大
    • 1.5 集成电路中功率和能耗的发展趋势
      • 电源和能耗,一个系统的视角
      • 微处理器内的能耗和功率
      • 由于能耗的限制,计算机架构的转变
    • 1.6 成本的发展趋势
      • 时间、数量和商品化的影响
      • 集成电路的成本
      • 成本与价格
      • 制造成本与运营成本
    • 1.7 可靠性
    • 1.8 评测、报告和总结性能
      • 基准评测
        • 桌面应用基准
        • 服务器应用基准
      • 报告性能结果
      • 总结性能结果
    • 1.9 计算机量化设计原则
      • 利用并行化的优势
      • 局部性原理
      • 关注常见情况
      • 阿姆达尔定律
      • 处理器性能方程
    • 1.10 把它们放在一起:性能、价格和功耗
    • 1.11 谬误和陷阱
    • 1.12 结论
    • 1.13 历史观点和引用
    • 案例研究和习题
  • 第二章 内存层次结构设计
  • 第三章 指令级并行及其应用
  • 第四章 矢量、SIMD和GPU架构中的数据级并行性
  • 第五章 线程级并行
  • 第六章 大规模数据中心级计算机的并行性:请求级并行(RLP)和数据级并行
  • 第七章 领域特定架构(DSA)
  • 附录A-指令集设计原则
  • 附录B-内存层次结构的回顾
    • 摘要
    • B.1 介绍
      • 缓存性能回顾
      • 四个内存层次的问题
      • 一个例子:Opteron的数据缓存
  • 附录C-流水线:初级和中级概念
  • 附录D-存储系统
  • 附录E-嵌入式系统
  • 附录F-多机互联
  • 附录G-深入向量处理器
  • 附录H-VLIW和EPIC的硬件和软件
  • 附录I-大规模多处理器和科学计算的应用
  • 附录J-计算机算数(Arithmetic)相关
  • 附录K-指令集架构的回顾
  • 附录L-地址翻译(Address Translation)的高级概念
  • 附录M-历史观点和参考文献
Powered by GitBook
On this page
  1. 第一章 量化设计和分析的基础知识

1.12 结论

Previous1.11 谬误和陷阱Next1.13 历史观点和引用

Last updated 2 years ago

本章介绍了一些概念,并提供了一个量化分析框架,我们将在全书中展开。从上一版开始,能效是性能的永恒伴侣。

在中,我们从内存系统设计这个最重要的领域开始。我们将研究一系列的技术,这些技术的综合应用使得内存看起来无限大,同时又尽可能地快。(为没有太多经验和背景的读者提供了关于缓存的介绍性材料)。在后面的章节中,我们将看到硬件和软件的合作已经成为高性能内存系统的关键,就像它对高性能流水线一样。本章还包括虚拟机,这是一种越来越重要的保护技术。

在中,我们研究ILP,其中流水线是最简单和最常见的形式。利用ILP是构建高速单处理器的最重要技术之一。首先对基本概念进行了广泛的讨论,使你为这两章所研究的广泛思想做好准备。使用的例子横跨约40年,从最早的超级计算机之一(IBM 360/91)到2017年市场上最快的处理器。它强调了所谓的利用ILP的动态或运行时方法。它还谈到了ILP思想的局限性,并介绍了多线程,这在和都有进一步的展开。为没有很多流水线经验和背景的读者提供了关于流水线的介绍性材料。(我们希望它能成为许多读者的复习资料,包括那些我们的介绍性课本《计算机组织与设计:硬件/软件接口》的读者)。

解释了利用数据级并行的三种方法。最经典和历史悠久的方法是矢量结构,我们从这里开始,奠定SIMD设计的原则。(对矢量结构进行了更深入的研究。)接下来我们将解释当今大多数台式微处理器中的SIMD指令集扩展。第三部分是对现代图形处理单元(GPU)如何工作的深入解释。大多数GPU的描述都是从程序员的角度写的,这通常掩盖了计算机的真正工作原理。这一部分从内部人士的角度解释GPU,包括GPU术语和更传统的架构术语之间的对应关系。

重点讨论了使用多处理器(multiprocessors)实现更高的性能问题。多处理器不是使用并行性来重叠单个指令,而是使用并行性来允许多个指令流在不同处理器上同时执行。我们的重点是多处理器的主要形式,即共享内存多处理器(shared-memory multiprocessors)。尽管我们也介绍其他类型,并讨论了多处理器中出现的广泛问题。这里我们将再次探讨各种技术,重点是 20 世纪 80 年代和 90 年代首次提出的重要观点。

介绍了集群,然后深入探讨了计算机架构设计者帮助设计的WSCs。WSCs的设计者是超级计算机先驱的继任者,如Seymour Cray,因为他们正在设计这样的特殊计算机:包含数以万计的服务器,设备和容纳它们的建筑耗资近2亿美元。前面几章所关注的性价比和能源效率问题适用于WSCs,量化的决策方法也适用于WSCs。

是本版的新内容。它介绍了特定领域的架构,鉴于摩尔定律和Dennard定律的结束,这是提高性能和能源效率的唯一途径。它提供了如何构建有效的特定领域架构的指南,介绍了令人兴奋的深度神经网络领域,描述了最近的四个例子,它们采取了非常不同的方法来加速神经网络,并比较了它们的性价比。

本书在网上附带了大量的材料(详见前言),既是为了降低成本,也是为了向读者介绍各种高级课题。图1.25显示了它们的全部内容。书中出现的-将成为许多读者的回顾。

在中,我们将讨论重点从处理器转移到存储系统的问题。我们采用了一种类似的量化分析方法,但这种方法是基于对系统行为的观察,并使用端到端的方法进行性能分析。本附录讨论了如何利用成本较低的磁性存储技术有效地存储和检索数据这一重要问题。我们的重点是研究典型的I/O密集型工作负载的磁盘存储系统的性能,例如本章中提到的OLTP基准测试。我们广泛地探讨了基于RAID的系统的高级主题,该系统使用冗余磁盘来实现高性能和高可用性。最后,介绍了排队理论,它为权衡可用和延迟提供了基础。

将嵌入式计算的观点应用于各章和前述附录。

广泛探讨了系统互连的主题,包括广域网(wide area networks)和系统域网络(system area)中的计算机互联。

回顾了VLIW硬件和软件,相比之下,与EPIC在上一版前出现时相比,VLIW硬件和软件已经不那么流行了。

介绍了用于高性能计算的大规模多处理器。

是第一版中唯一保留的附录,它涵盖了计算机算术。

提供了指令架构的总结,包括80x86、IBM 360、VAX,以及许多RISC架构,包括ARM、MIPS、Power、RISC-V和SPARC。附录L是新的,讨论了内存管理的高级技术,重点是对虚拟机的支持和对非常大的地址空间的地址转换设计。随着云处理器的增长,这些架构上的改进变得更加重要。

我们接下来介绍。

附录D
附录D
附录E
附录F
附录H
附录I
附录J
附录K
附录M
第二章
附录B
第三章
第三章
第三章
第四章
第五章
附录C
第四章
附录G
第五章
第六章
第七章
附录A
C
图1.25 附录列表。