301 lines
18 KiB
Markdown
301 lines
18 KiB
Markdown
# 第1章 概述 - 各老师章节总结
|
||
|
||
---
|
||
|
||
## 曲冠南老师
|
||
|
||
### 授课主线概述
|
||
|
||
曲冠南老师的PPT以"概述"为题,系统性地介绍了计算机系统结构的基础知识。整章内容按照"引言→计算机体系结构概念→发展趋势→性能测试→量化设计原理"的逻辑层层递进,从历史起源讲起,逐步深入到计算机体系结构的核心概念与设计原理。授课风格注重理论与实践结合,通过大量Intel处理器发展历程的实例帮助学生建立直观认识,同时引入Amdahl定律、CPU性能公式等量化分析方法培养学生的工程思维。
|
||
|
||
### 一、引言部分
|
||
|
||
老师首先以ENIAC的诞生(1946年)作为计算机发展的起点,对比展示了从第一台通用电子计算机到Pentium 4的性能提升(从每秒5000次加法到每秒约80亿次二进制加法),让学生直观感受到计算机性能发展的惊人速度。
|
||
|
||
在1.1.1节"计算机技术的发展"中,老师强调计算机性能的发展源于**半导体技术发展**和**计算机体系结构发展**两个方面的共同推动。早期处理器的性能增长主要由半导体技术驱动,但随着时间推移,体系结构和组织思想的发展贡献了更大份额。然而,功耗和指令级并行(ILP)的限制使得单处理机性能增长遇到瓶颈,2007年开始单芯片核数每年增长,并行化受Amdahl定律限制。
|
||
|
||
### 二、并行度和并行体系结构
|
||
|
||
老师详细介绍了Flynn分类法,将计算机体系结构分为四类:
|
||
- **SISD**:单处理器,可使用指令级并行(流水线、动态调度、超标量)
|
||
- **SIMD**:同一指令操纵多条数据流,包括向量体系结构和GPU
|
||
- **MIMD**:每个处理器独立取指和处理数据,分为紧密耦合(线程级并行)和松散耦合(集群)两种
|
||
- **MISD**:目前没有商用机,最接近的是脉动阵列
|
||
|
||
### 三、计算机体系结构定义
|
||
|
||
老师区分了狭义和广义两种定义:
|
||
- **狭义定义(Amdahl)**:指令集的设计,包括寄存器、内存地址、访存方式、指令集设计等
|
||
- **经典定义**:机器语言程序员所见到的计算机的属性,即概念性结构和功能特性
|
||
- **广义定义(《计算机体系结构-量化研究方法》)**:包括指令集结构、组成和硬件三个方面
|
||
|
||
老师进一步详细讲解了指令集结构(ISA)的各个要素:分类(通用寄存器体系结构)、存储器寻址(字节寻址、访问对齐、多种寻址模式)、操作数类型和大小、指令类型(数据传输、算逻运算、控制指令、浮点指令等)、指令格式(固定、可变)。
|
||
|
||
### 四、发展趋势
|
||
|
||
老师从多个维度介绍了计算机技术的发展趋势:
|
||
|
||
**1. 技术趋势**
|
||
- 晶体管密度每年增长约35%,每四年翻两番
|
||
- 芯片上晶体管数目每年增长40%-55%(摩尔定律)
|
||
- DRAM芯片容量每年增长25%-40%
|
||
- 磁盘密度每年增长约40%
|
||
|
||
**2. 性能趋势:带宽和延迟**
|
||
老师指出带宽的增长明显优于延迟,经验法则为"带宽的增长速度至少是延迟改进速度的平方"。
|
||
|
||
**3. 晶体管性能与连线发展**
|
||
特征尺寸从1971年的10微米缩小到2017年的0.016微米,晶体管性能以线性提升,密度以平方曲线上升。
|
||
|
||
**4. 功率和能耗趋势**
|
||
老师强调了热设计功耗(TDP)的重要性,说明能耗作为性能对比参数的意义,并介绍了多种节能技术(关闭非活动模块、动态电压-频率调整、Turbo模式等)。
|
||
|
||
**5. Intel架构发展史**
|
||
老师以Intel处理器为例,展示了从8086到Arrow lake共17代架构的演进历程,涵盖了工艺制程、架构特点、性能提升等关键信息,是本章的特色内容。
|
||
|
||
### 五、性能测试
|
||
|
||
老师介绍了性能评估的基本概念:
|
||
- **性能指标**:响应时间/执行时间(用户关心)、吞吐量(操作人员关心)
|
||
- **加速比**:衡量系统性能改进程度
|
||
- **执行时间分类**:墙上时间(包含系统开销)和CPU时间(仅计算时间)
|
||
- **基准测试**:程序内核、玩具程序、合成基准测试程序、基准测试套件(Benchmark suites)
|
||
|
||
老师详细介绍了SPEC组织及其基准测试套件的发展历程(SPEC89→SPEC CPU 2006→SPEC CPU 2017)。
|
||
|
||
### 六、计算机设计的量化原理
|
||
|
||
**1.5.1 充分利用并行**
|
||
老师讲解了并行性的含义(同时性和并发性),以及提高并行性的三种途径:
|
||
- **时间重叠**:单处理机中部件功能专用化,多处理机中处理机专用化
|
||
- **资源重复**:单处理机中重复设置功能部件,多处理机中重复设置处理机构成容错系统或同构型多处理机系统
|
||
- **资源共享**:单处理机中的分时系统,多处理机中的分布式系统
|
||
|
||
**1.5.2 局部性原理**
|
||
老师指出了程序访问存储器的簇聚特性,并给出经验规则"程序执行时间的90%都是在执行程序中10%的代码",然后分别讲解时间局部性和空间局部性的概念。
|
||
|
||
**1.5.3 重点关注常见情形**
|
||
老师强调"对经常发生的情况采用优化方法的原则进行选择",通过溢出处理和处理器取指/译码部件优化的例子说明这一原则。
|
||
|
||
**1.5.4 Amdahl定律**
|
||
老师给出了加速比的定义和计算公式,系统讲解了可改进比例和部件加速比两个关键因素,并通过例题详细演示了应用Amdahl定律计算系统加速比的方法。老师还强调了Amdahl定律的推论:"如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过1/(1-可改进比例)"。
|
||
|
||
**1.5.5 CPU性能公式**
|
||
老师给出了CPU时间的基本公式:CPU时间 = IC × CPI × 时钟周期时间,并说明各参数的影响因素。还介绍了CPI公式的细化形式和CPU性能公式的拓展公式。
|
||
|
||
**1.5.6-7 摩尔定律与Dennard定律**
|
||
老师介绍了摩尔定律(晶体管数目约每隔18个月翻倍)和Dennard定律(晶体管面积缩小使静态功耗降至四分之一)的基本内容。
|
||
|
||
---
|
||
|
||
## 李宏图老师
|
||
|
||
### 授课主线概述
|
||
|
||
李宏图老师的PPT同样围绕"第1章 概述"展开,内容结构与曲冠南老师类似但在细节上有所差异。老师的授课风格更加精炼和聚焦,重点突出核心概念和公式讲解,强调计算机性能提升的历史脉络和量化分析方法的实际应用。
|
||
|
||
### 一、引言部分
|
||
|
||
老师从计算机发展史的角度切入,指出1986-2003年间计算机性能以超过50%的年增长率持续增长长达17年,这一飞速发展带来四重效果:(1)增强可供计算机用户使用的功能;(2)导致新型计算机的出现;(3)半导体制造业持续发展使微处理器计算机主导设计领域;(4)对软件开发产生影响。
|
||
|
||
2004年后"硬件复兴结束",原因是功耗和ILP开发受限,发展方向转向数据级并行(DLP)和线程级并行(TLP)。
|
||
|
||
### 二、并行度和并行体系结构
|
||
|
||
老师采用与曲冠南老师相同的Flynn分类法框架,详细讲解SISD、SIMD、MIMD、MISD四类体系结构的特点和应用场景。
|
||
|
||
### 三、计算机体系结构定义
|
||
|
||
老师给出了与曲冠南老师一致的狭义定义(Amdahl)和广义定义(《计算机体系结构-量化研究方法》),强调指令集结构、组成和硬件三个方面的统一。
|
||
|
||
### 四、发展趋势
|
||
|
||
**1. 技术趋势**
|
||
老师分门别类地介绍了集成电路(晶体管密度每年增长约35%)、半导体DRAM(容量每年增长25%-40%)、半导体闪存(每年增长50%-60%,价格是DRAM的1/15~1/20)、磁盘技术(密度每年提高约40%,价格是DRAM的1/300~1/500)和网络技术的发展趋势。
|
||
|
||
**2. 性能趋势:带宽和延迟**
|
||
老师给出具体数据:处理器带宽增长32,000-40,000倍,内存和磁盘带宽增长300-1200倍;处理器响应时间改进50-90倍,内存和磁盘响应时间改进6-8倍。强调"带宽的增长速度至少是延迟改进速度的平方"这一经验法则。
|
||
|
||
**3. 晶体管性能与连线发展**
|
||
特征尺寸从1971年10微米发展到2017年0.016微米,晶体管性能线性提升,密度平方曲线上升,但连线延迟改进有限。
|
||
|
||
**4. 功率和能耗趋势**
|
||
老师介绍了TDP(热设计功耗)的概念及其对冷却需求的决定作用,讲解了动态能耗优化技术(关闭非活动模块、动态电压-频率调整等)和Intel的Turbo超频模式。
|
||
|
||
**5. 成本趋势**
|
||
老师从时间、产量和大众化三个维度分析集成电路成本:
|
||
- 时间:学习曲线导致制造成本随时间降低
|
||
- 产量:提高产量缩短学习曲线时间,增加购买与制造效率
|
||
- 大众化:多家销售商大量出售基本相同产品,个人计算机行业大部分已变成大众化商品业务
|
||
|
||
老师还提到了制造成本与运行成本的关系,以仓库级计算机、云计算和挖矿为例说明。
|
||
|
||
### 五、性能测试
|
||
|
||
老师详细介绍了性能指标(响应时间/执行时间、吞吐率、加速比)、执行时间分类(墙上时间和CPU时间)以及基准测试的四种类型。
|
||
|
||
### 六、计算机设计的量化原理
|
||
|
||
**1.5.1 充分利用并行**
|
||
老师给出了并行性的明确定义,区分同时性和并发性,并详细讲解提高并行性的三种途径(时间重叠、资源重复、资源共享)及其在单处理机和多处理机中的具体实现。
|
||
|
||
**1.5.2 局部性原理**
|
||
老师通过经验规则"程序执行时间的90%都是在执行程序中10%的代码"说明程序的局部性特征,并分别讲解时间局部性和空间局部性。
|
||
|
||
**1.5.3 重点关注常见情形**
|
||
老师强调优化应针对经常性事件,并以溢出处理和处理器部件优化为例说明。
|
||
|
||
**1.5.4 Amdahl定律**
|
||
老师给出了加速比的定义和Amdahl定律的完整公式,讲解可改进比例和部件加速比两个关键因素,并通过与曲冠南老师相同的例题(功能速度提高20倍,占运行时间40%)进行演示。老师还介绍了Amdahl定律的推论和公式拓展形式。
|
||
|
||
**1.5.5 CPU性能公式**
|
||
老师给出完整的CPU时间公式:CPU时间 = IC × CPI × 时钟周期时间,详细讲解各参数的影响因素,并给出CPI的细化计算公式。老师通过另一个例题(CPUA vs CPUB的条件分支设计)对比分析,展示了不同设计决策对CPU性能的影响。
|
||
|
||
### 七、摩尔定律与Dennard定律
|
||
|
||
老师介绍了摩尔定律(18个月翻倍)和Dennard定律(晶体管面积减半静态功耗降至四分之一)的基本内容。
|
||
|
||
---
|
||
|
||
## 谭婧炜佳老师
|
||
|
||
### 授课主线概述
|
||
|
||
谭婧炜佳老师的PPT内容最为丰富(74张幻灯片),在内容覆盖面上与其他两位老师基本一致,但在讲解深度和细节上有显著增加。老师特别注重概念的历史背景和物理意义的讲解,善于通过图示和具体数值帮助学生建立直观理解。课程还特别引入了脉动阵列等较高阶的内容,并包含大量程序局部性的代码级示例。
|
||
|
||
### 一、引言部分
|
||
|
||
老师以ENIAC(1946年)作为起点,强调第一台通用电子计算机的诞生开启了计算机技术飞速发展的历程。老师还特别引用了2025年11月Top500榜首El Capitan超级计算机的性能数据(1.809 EFlop/s)作为对比,展示了计算机性能的指数级增长。
|
||
|
||
老师将计算机技术飞速发展的原因归结为两个方面:
|
||
- 计算机制造技术的发展
|
||
- 计算机系统结构的创新
|
||
|
||
并指出计算机技术经历了4个发展过程。
|
||
|
||
### 二、发展过程详解
|
||
|
||
老师将计算机发展分为两个主要阶段:
|
||
|
||
**第一阶段(1986-2003)**:计算机体系结构和组织方式的发展共同促成计算机性能以超过50%的年增长率持续增长17年,带来四重效果:功能增强、新型计算机出现、微处理器主导、对软件开发的影响。
|
||
|
||
**第二阶段(2004-)**:硬件复兴结束,原因包括功耗限制和ILP开发受限,发展方向转向数据级并行(DLP)和线程级并行(TLP)。
|
||
|
||
老师还从技术层面分析:
|
||
- 处理器性能增长主要来自半导体技术驱动
|
||
- 体系结构和组织思想贡献更大份额
|
||
- 功耗和ILP限制单处理机性能
|
||
- 2007年开始单芯片核数每年增长
|
||
- 性能增长降低,摩尔定律受限,并行化受Amdahl定律限制
|
||
|
||
### 三、摩尔定律与Dennard Scaling
|
||
|
||
老师为两个定律提供了更详细的背景介绍:
|
||
|
||
**摩尔定律**:
|
||
- 由Intel名誉董事长戈登·摩尔提出,被称为计算机第一定律
|
||
- 含义:单芯片上晶体管数目约每隔18个月翻倍,性能也提升一倍
|
||
- 意义:指数定律意味着同样面积芯片上晶体管数量每10年增长100倍
|
||
- 影响:指数级发展使集成电路成本迅速降低,良性循环让集成电路成为信息化社会的基石
|
||
|
||
**登纳德缩放比例定律**:
|
||
- 1974年登纳德论文指出芯片工作电压、电流随晶体管尺寸缩小而等比例缩小
|
||
- 如果晶体管大小减半,静态功耗降至四分之一(电压电流同时减半)
|
||
- 与摩尔定律一起引领芯片行业30多年飞速发展
|
||
- 2004年后因量子隧穿效应导致漏电,晶体管更小但静态功耗不减反增
|
||
- 散热成为急需解决的问题,芯片商停止高频芯片研发转向多核
|
||
- 2006年开始处理器频率极限约为4GHz(功耗墙)
|
||
|
||
### 四、Flynn分类法
|
||
|
||
老师详细讲解了Flynn分类法的原理:
|
||
- 按照指令流和数据流的多倍性进行分类
|
||
- 指令流:计算机执行的指令序列
|
||
- 数据流:由指令流调用的数据序列
|
||
- 多倍性:在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目
|
||
|
||
四类结构与前两位老师一致:SISD(单处理器,可用指令级并行)、SIMD(向量体系结构,GPU)、MIMD(紧密耦合→线程级并行,松散耦合→集群)、MISD(无商用机,脉动阵列)。
|
||
|
||
老师用了较大篇幅讲解SIMD与MISD的区别,并用具体示例(C[i]=A[i]+B[i])说明SIMD的计算模式,以及脉动阵列(systolic array)计算卷积的过程,这是其他两位老师未涉及的内容。
|
||
|
||
### 五、计算机体系结构定义
|
||
|
||
与前两位老师一致,老师给出了狭义定义(Amdahl)和广义定义(《计算机体系结构-量化研究方法》),并详细介绍了指令集结构(ISA)的各个要素和组成与硬件的区别。
|
||
|
||
### 六、发展趋势
|
||
|
||
**1. 技术趋势**
|
||
老师详细介绍了集成电路、DRAM、闪存、磁盘和网络技术的发展数据,与前两位老师基本一致。
|
||
|
||
**2. 性能趋势:带宽和延迟**
|
||
老师给出了具体的性能提升数据比,并强调了"带宽增长速度至少是延迟改进速度平方"的经验法则。
|
||
|
||
**3. 晶体管性能与连线发展**
|
||
特征尺寸从1971年10微米发展到2017年0.016微米的详细过程,晶体管性能线性提升但连线延迟改进有限。
|
||
|
||
**4. 功率和能耗趋势**
|
||
老师详细介绍了TDP、能耗优化技术和Intel Turbo模式等内容。
|
||
|
||
### 七、性能测试
|
||
|
||
老师介绍了性能指标(响应时间/执行时间、吞吐量、加速比)、执行时间分类和基准测试的四种类型,特别指出最常用的是SPEC(www.spec.org)。
|
||
|
||
### 八、计算机设计的量化原理
|
||
|
||
**1.5.1 充分利用并行**
|
||
老师给出了并行性的明确定义,区分同时性和并发性,详细讲解三种途径(时间重叠、资源重复、资源共享)。
|
||
|
||
**1.5.2-3 局部性原理与重点关注常见情形**
|
||
老师通过生活化例子(上课)解释时间局部性和空间局部性,并强调针对经常性事件进行优化的原则。
|
||
|
||
**1.5.4 Amdahl定律**
|
||
老师给出了完整的公式和详细解释,并通过三道例题进行系统讲解:
|
||
- 例1:浮点加减法速度提高5倍,占40%时间,求整体性能提升(答案1.47倍)
|
||
- 例2:浮点平方根速度提高40倍,占5%时间,求整体性能提升(答案1.05倍)
|
||
- 例3:浮点运算速度提高20倍,整体性能提高5倍,求浮点操作比例(答案84.2%)
|
||
|
||
老师还总结了Amdahl定律的推论:"如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过1/(1-可改进比例)"
|
||
|
||
**1.5.5 CPU性能公式**
|
||
老师给出了完整的CPU性能公式体系,讲解CPI的定义和计算方法,介绍各参数的影响因素,并给出了详细的CPI公式细化形式。老师还通过CPUA vs CPUB的例题进行了完整的性能分析,展示不同设计决策的影响。
|
||
|
||
### 九、程序的局部性原理
|
||
|
||
老师用了超过10张幻灯片的篇幅详细讲解程序局部性原理,这是本章的特色内容:
|
||
|
||
**基本概念**
|
||
- 程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚
|
||
- 经验规则:程序执行时间的90%都是在执行程序中10%的代码
|
||
- 时间局部性:程序即将用到的信息很可能就是目前正在使用的信息
|
||
- 空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近
|
||
|
||
**局部性原理的生活解释**
|
||
- 时间局部性:重复发生一件事,如同一学期多次上同一门课程
|
||
- 空间局部性:事情的发生与今后发生的事情空间上相同或相似,如周围位置的同学较固定
|
||
|
||
**代码示例**
|
||
老师通过具体的循环程序示例:
|
||
```c
|
||
j=1;
|
||
k=2;
|
||
For (i=0; i<5;i++) {
|
||
A[i] += j;
|
||
B[i] += k;
|
||
}
|
||
```
|
||
分析变量i、A、B、j、k的内存访问模式,通过多张幻灯片逐步展示循环执行过程中各变量在内存中的位置变化,直观演示数据局部性的概念。
|
||
|
||
---
|
||
|
||
## 三位老师内容对比总结
|
||
|
||
| 章节 | 曲冠南老师 | 李宏图老师 | 谭婧炜佳老师 |
|
||
|------|-----------|-----------|-------------|
|
||
| 引言 | ENIAC历史,Pentium 4对比 | 计算机性能增长历史,四重效果 | ENIAC历史,El Capitan对比,4个发展过程 |
|
||
| 并行度分类 | Flynn分类法四种类型 | Flynn分类法四种类型 | Flynn分类法四种类型,脉动阵列详解 |
|
||
| 体系结构定义 | 狭义/广义定义 | 狭义/广义定义 | 狭义/广义定义 |
|
||
| 发展趋势 | 技术/性能/晶体管/功率/Intel架构史 | 技术/性能/晶体管/功率/成本趋势 | 技术/性能/晶体管/功率,摩尔/登纳德定律 |
|
||
| 性能测试 | 性能指标/基准测试/SPEC | 性能指标/基准测试 | 性能指标/基准测试 |
|
||
| 量化原理 | 并行性/局部性/重点关注/Amdahl/CPU公式/摩尔定律 | 并行性/局部性/重点关注/Amdahl/CPU公式/摩尔定律 | 并行性/局部性/重点关注/Amdahl/CPU公式,程序局部性示例 |
|
||
| 特色内容 | Intel 17代架构发展史 | 成本趋势分析 | 脉动阵列计算过程,程序局部性代码示例 |
|
||
| 幻灯片数量 | 58张 | 55张 | 74张 | |