索引 / 001 ZH-CN
Modern Processor Design: Fundamentals of Superscalar Processors(现代处理器设计:超标量处理器基础) cover

计算机科学

计算机科学

Modern Processor Design: Fundamentals of Superscalar Processors(现代处理器设计:超标量处理器基础)

John Paul Shen; Mikko H. Lipasti

英文原名: Modern Processor Design: Fundamentals of Superscalar Processors

沈(John Paul Shen)与利帕斯蒂(Mikko Lipasti)合著的超标量处理器微体系结构教材。全书从流水线出发,逐步建立处理器在每个周期执行多条指令所用的技术,包括乱序执行、寄存器重命名和分支预测,并通过商用设计的案例加以说明。

需要的基础: 需修过涵盖指令集、简单流水线与高速缓存的计算机组成课程;假定具备基本数字逻辑知识。

难度等级
高级
学术层次
研究生
computer architecturemicroarchitecturesuperscalar processorsinstruction-level parallelism教科书

01 / 导读

导读

引用

Shen, J. P., & Lipasti, M. H. (2013). Modern Processor Design: Fundamentals of Superscalar Processors. Waveland Press.

章节概要

全书共十一章,Waveland版约640页。从目录即可看出清晰的递进:处理器设计与流水线回顾,处理器周边的存储与I/O系统,超标量的核心内容,两个详细案例研究加上对商用设计的综述,最后是高级技术与多线程。每章末尾都有作业题。

第1章:处理器设计

开篇一章涵盖微处理器的演变、指令集处理器设计、处理器性能原理以及指令级并行处理。它为全书定下框架:每个周期执行多条指令。

第2章:流水线处理器

本章讲述流水线基础、流水线处理器设计以及深度流水线处理器,是后面超标量各章的基础。

第3章:存储与I/O系统

第3章从系统概览以及延迟与带宽这两个关键概念讲起,随后涵盖存储层次、虚拟内存系统、存储层次的实现以及输入/输出系统。

第4章:超标量组织

本章从标量流水线的局限讲起,继而描述从标量到超标量流水线的过渡,并给出超标量流水线的概览。

第5章:超标量技术

全书的技术核心按“流”的类别组织:指令流技术、寄存器数据流技术和存储器数据流技术。

第6–7章:PowerPC 620;Intel的P6微体系结构

两个案例研究。第6章通过实验框架依次考察PowerPC 620的取指、分派、执行和完成,给出观察结论,并过渡到IBM POWER3和POWER4。第7章描述P6流水线,包括按序前端、乱序核心、退休和存储子系统。

第8章:超标量处理器综述

综述超标量处理器的发展、对近期设计的分类、各处理器的描述,以及超标量处理器的验证。

第9–10章:高级指令流技术;高级寄存器数据流技术

第9章涵盖静态、动态和混合分支预测以及其他指令流问题。第10章介绍值局部性与冗余执行,以及不使用和使用推测来利用值局部性的技术。

第11章:执行多个线程

最后一章涵盖共享内存线程的同步、多处理器系统导论、显式和隐式多线程处理器,以及同一线程的重复执行。

核心概念

第1–3章:基础

  • 处理器性能与指令级并行:性能原理,以及每周期执行多条指令的思想。
  • 流水线:让指令执行的各阶段相互重叠,包括深度流水线设计。
  • 延迟与带宽;存储层次:存储与I/O系统的关键概念。

第4–5章:超标量处理器

  • 超标量流水线:每一级都能处理多条指令的流水线。
  • 指令流、寄存器数据流与存储器数据流:组织第5章核心技术的三种“流”。

第6–8章:案例研究与综述

  • 乱序核心与退休:通过PowerPC 620和Intel P6来描述。

第9–11章:高级专题

  • 分支预测:静态、动态与混合预测器。
  • 值局部性:利用重复出现的值,包括使用和不使用推测两种方式。
  • 多线程:显式和隐式多线程处理器。

评析

优点

  • 框架清晰。 出版社把本书描述为概念清楚、表述精确,把复杂的做法提炼为基本原理,研究生和本科生都能读懂。章节结构体现了这一点:指令流、寄存器流和存储器流为主要技术提供了统一的分类。
  • 先讲基础,再看案例。 第4、5章讲解原理,第6–8章再把它们应用到具体设计和综述中。两个案例研究加上对商用超标量处理器的综述,让读者看到真实设计如何权衡取舍。
  • 高级技术独立成章。 分支预测(第9章)、值局部性技术(第10章)以及多线程与多处理器(第11章)与核心内容分开,便于选读。
  • 练习题。 每章末尾都有作业题,出版社称它们为新兴技术打下基础。

局限

  • 案例研究有其年代。 详细研究的是PowerPC 620和Intel P6,而Waveland版标注的版权年份为2005年,因此涉及具体设计的章节描述的是当时的处理器。应把它们看作原理的示例,而不是当今硬件的写照。
  • 本书假定读者已有先修知识。 第1–3章回顾了处理器设计、流水线和存储,因此本书最好在已经学过指令集、简单流水线和高速缓存的计算机组成课程之后阅读,并具备基本的数字逻辑知识。
  • 焦点较窄。 主题是单个超标量处理器的微体系结构,结尾涉及多线程;向量与数据并行硬件、GPU或能耗等主题不在章节标题之列。

在课程中的定位

在本课程书单中,Modern Processor Design 是讲解微体系结构的深入读物。Charles Petzold 的 Code 与 Nisan、Schocken 的 The Elements of Computing Systems 是从逻辑门和逻辑电路出发构建计算机的平缓入门;Harris 与 Harris 的 Digital Design and Computer Architecture: RISC-V Edition 带读者从数字逻辑一路到流水线处理器及其存储系统;Bryant 与 O'Hallaron 的 Computer Systems: A Programmer's Perspective 从软件一侧认识机器;Hennessy 与 Patterson 的 Computer Architecture: A Quantitative Approach 则是更宽泛、以性能与能耗为导向的论述,涵盖指令级和数据级并行、存储层次、多核处理器和仓储级系统。

Shen 与 Lipasti 是讲处理器微体系结构的专门著作:在理解基本流水线之后,想系统了解超标量处理器如何工作时阅读,或与 Hennessy 和 Patterson 中关于指令级并行的内容对照阅读。

如何使用本书

本书面向已修完计算机组成课程的研究生和高年级本科生。

建议的学习安排:

  • 核心: 第1、2章快速回顾,然后认真读第4、5章。其中包含后文所依赖的超标量思想。
  • 辅助: 第3章,讲存储与I/O系统,是理解存储器数据流所需的内容。
  • 案例研究: 读完第5章后,细读第6章或第7章之一作为实例,把第8章当作可浏览的综述。
  • 高级: 第9章(分支预测)是自然的后续;第10、11章可按兴趣选读。
  • 练习: 做每章末尾的作业题,并重新画出案例研究中的流水线图,以确认指令流的每一步。