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章可按兴趣选读。
- 练习: 做每章末尾的作业题,并重新画出案例研究中的流水线图,以确认指令流的每一步。
