跳转至

Chap 1

Claude 4.6 Sonnet生成.

Computer Architecture Definition(计算机体系结构的定义)

Computer Architecture涵盖三个层面:

Instruction Set Architecture (ISA) — 指令集架构,程序员/汇编员能"看到"的硬件抽象层 Organization — 组织结构,如内存系统、总线等 Hardware — 具体的物理实现

架构 = ISA + Organization + Hardware,三者缺一不可

Flynn's Taxonomy(Flynn分类法)

指令流(Instruction Streams)数据流(Data Streams)的数量分类:

类型 全称 特点 例子
SISD Single Instruction Single Data 传统串行计算机 单核PC
SIMD Single Instruction Multiple Data 所有处理单元执行同一指令,但处理不同数据 GPU, 向量处理器
MIMD Multiple Instruction Multiple Data 每个处理器独立执行不同指令和数据 现代多核/超算
MISD Multiple Instruction Single Data 极少使用

SIMD适合高度规则性的问题(如图像处理)。MIMD是目前最常见的并行计算形式。

Moore's Law(摩尔定律):芯片上晶体管数量每 18-24个月翻一倍,成本不变。

各技术增长规律:

技术 增长率 倍增周期
Transistor density(晶体管密度) ~35%/year 每4年×4
DRAM capacity(内存容量) 25-40%/year 每2-3年×2
Flash capacity(闪存容量) 50-60%/year 每2年×2
Disk capacity(磁盘容量) ~60%/year

Bandwidth vs. Latency(带宽与延迟)

Rule of Thumb(经验法则):

Bandwidth improvement ≈ Latency improvement² (带宽改进约是延迟改进的平方)

  • Bandwidth提升了约10,000x-25,000x
  • Latency只提升了约30x-80x

Power and Energy(功耗与能耗)

Dynamic Power(动态功耗)—— 晶体管切换时消耗

\[\text{Power}_{dynamic} = \dfrac{1}{2} \times \text{Capacitive load} \times \text{Voltage}^2 \times \text{Frequency}\]
\[\text{Energy}_{dynamic} = \text{Capacitive load} \times \text{Voltage}^2\]

注意:Power包含频率(每秒切换次数),Energy不含频率。

Static Power(静态功耗)—— 漏电流造成

\[\text{Power}*{static} = \text{Current}*{static} \times \text{Voltage}\]

Rule of Thumb(经验法则):

电压降低10% → 频率降低10% → 功耗降低30% → 性能损失不到10%

具体关系:

电压变化 频率变化 功耗变化 性能变化
-1% -1% -3% -0.66%
作业1.8

方法a:Race-to-halt(跑完就关) 以正常速度跑完,立即关闭系统。由于系统只需运行一半时间(题目说快2倍),节省约50%能量

方法b:DVFS(Dynamic Voltage-Frequency Scaling,动态电压频率调整) 将电压和频率都降为原来的1/2:

\[\text{Energy} \propto V^2 \times \text{time}\]

时间变为原来2倍(频率减半),电压变为原来1/2:

\[\text{Energy}_{new} = (V/2)^2 \times 2T = \dfrac{1}{4}V^2 \times 2T = \dfrac{1}{2} \times V^2 \times T\]

所以节省50%能量,两种方法效果相同(但DVFS还额外节省静态功耗时间更短)。

Dependability(可信性)

核心测量指标

术语 全称 中文 含义
MTTF Mean Time To Failure 平均失效时间 从正常到失效的平均时间
MTTR Mean Time To Repair 平均修复时间 从失效到恢复的平均时间
MTBF Mean Time Between Failures 平均故障间隔 MTTF + MTTR
FIT Failures In Time 失效率 1/MTTF

Module Availability(模块可用性)

\[\text{Availability} = \dfrac{\text{MTTF}}{\text{MTTF} + \text{MTTR}} = \dfrac{\text{MTTF}}{\text{MTBF}}\]

系统级MTTF计算(作业1.11)

多个组件串联时:

\[\text{Failure Rate}_{system} = \sum \dfrac{1}{\text{MTTF}_i}\]
\[\text{MTTF}*{system} = \dfrac{1}{\text{Failure Rate}*{system}}\]
示例(PPT中原题)
  • 10个硬盘,各MTTF = 1,000,000小时
  • 1个SCSI控制器,MTTF = 500,000小时
  • 2个部件(电源+风扇),各MTTF = 200,000小时
  • 1根线缆,MTTF = 1,000,000小时
\[\text{Failure Rate} = \dfrac{10}{1{,}000{,}000} + \dfrac{1}{500{,}000} + \dfrac{2}{200{,}000} + \dfrac{1}{1{,}000{,}000} = \dfrac{23{,}000}{1{,}000{,}000{,}000}\]
\[\text{MTTF}_{system} \approx 43{,}500 \text{ hours} \approx 5 \text{ years}\]

Performance Measurement(性能测量)

三种性能指标

指标 关注方 说明
Response Time / Execution Time 用户 唯一无可争议的性能衡量标准
CPU Time 设计者 不含I/O等待
Throughput 管理员 单位时间完成的工作量

CPU Performance Equation

\[\text{CPU Time} = \text{Instruction Count} \times \text{CPI} \times \text{Clock Cycle Time}\]
\[= \dfrac{\text{Instruction Count} \times \text{CPI}}{\text{Clock Rate}}\]

MIPS(注意局限性)

\[\text{MIPS} = \dfrac{\text{Instruction Count}}{\text{Execution Time} \times 10^6}\]

MIPS可能是"meaningless indicator"(无意义指标),因为不同机器的指令集不同,一条指令做的事可能差很多。

Comparing Performance:三种平均

Arithmetic Mean(算术平均)

\[\bar{X}_{AM} = \dfrac{1}{n}\sum\limits_{i=1}^{n} X_i\]

适合:统计总执行时间

Harmonic Mean(调和平均)

\[\bar{X}_{HM} = \dfrac{n}{\sum\limits_{i=1}^{n} \dfrac{1}{X_i}}\]

适合:指标为速率(rate)时,如MIPS

Geometric Mean(几何平均)——SPEC使用

\[\bar{X}_{GM} = \sqrt[n]{\prod\limits_{i=1}^{n} X_i}\]

优点:

  • 对参考机器的选择无关(irrelevance of reference computer)
  • 每个应用权重相同

缺点:

  • 不能预测实际运行时间

Quantitative Principles(量化原则)-作业1.15

Amdahl's Law(阿姆达尔定律)

\[\text{Speedup} = \dfrac{1}{(1 - F_{parallel}) + \dfrac{F_{parallel}}{N}}\]

其中:

  • \(F_{parallel}\) = 可并行化的比例
  • \(N\) = 处理器数量

含义:程序中串行部分(1 - F)是性能提升的瓶颈,即使无限增加处理器,也无法突破串行部分的限制。

作业1.15

Application A:50%可并行,22核处理器

\[\text{Speedup}_A = \dfrac{1}{(1-0.5) + \dfrac{0.5}{22}} = \dfrac{1}{0.5 + 0.0227} \approx \dfrac{1}{0.5227} \approx 1.91\times\]

Application D:90%可并行,22核

\[\text{Speedup}_D = \dfrac{1}{(1-0.9) + \dfrac{0.9}{22}} = \dfrac{1}{0.1 + 0.0409} \approx \dfrac{1}{0.1409} \approx 7.10\times\]

总结:Chapter 1 考试高频考点

  1. Architecture定义:ISA + Organization + Hardware
  2. Flynn分类:SISD/SIMD/MIMD特点
  3. Dynamic Power公式\(\dfrac{1}{2}CV^2f\),Energy = \(CV^2\)
  4. DVFS节能原理:电压降,功耗降更多(平方关系)
  5. MTTF串联计算:失效率相加取倒数
  6. Availability公式:MTTF/(MTTF+MTTR)
  7. Amdahl's Law:并行加速比计算
  8. 三种平均:Geometric Mean用于SPEC,不依赖参考机器