第1章 计算机系统结构基础及并行性的开发
1.2 计算机系统结构、组成、实现
计算机系统结构、组成、实现三者互不相同,但又相互影响。
1.3 计算机系统的软、硬件取舍和性能评测及定量设计原理
1.3.1 软硬件取舍的基本原则
简答、选择、填空
- 应考虑在现有硬件、器件条件下,系统要有高的性能价格比。
- 要考虑准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现计数的采用。
- 把如何为编译和操作系统的实现及如何为高级语言程序的设计提供更多、更好的硬件支持放在首位。
1.3.2 计算机系统性能评测及定量设计原理
IC:总指令条数
CPI:平均每条指令的时钟周期数
f[c]:主时钟频率
CPU程序执行时间 T[cpu]
T[cpu] = IC × CPI × (1 / f[c])
计算机系统的定量设计原理
尽可能加速处理高概率事件远比加速处理低概率事件对性能的提高要显著。
性能可改进比 f[new] :系统性能可改进部分占用时间与改进前系统总执行时间比值,0<=f[new]<=1
部件加速比 r[new] :系统性能可改进部分,在改进后系能提高的比值,r[new]>1
系统加速比 S[p] :系统改进后的性能与未改进时的性能的比值
S[p] = T[old] / T[new] = 1 / ((1 - f[new]) + f[new] / r[new])
解释:
- 性能是时间的倒数,即 S[p] = 改进后性能 / 改进前性能 = (1 / T[new]) / (1 / T[old])
选择、填空、简答
程序访问的 局部性定律 :包括时间上和空间上的两个局部性。
1.3.3 计算机系统设计的主要任务和方法
计算机系统的设计方法
- 由上往下
- 由下往上
- 由中间开始
1.5 系统结构中的并行行开发及计算机系统的分类
并行性 : 同一时刻 或 同一间隔 完成 两种及以上 性质 相同或不同 的工作
1.5.1 并行性的概念和开发
开发并行性的途径
- 时间重叠(流水线)
- 资源重复(阵列)
- 资源共享(多处理机)
多机系统包含 多处理机系统 和 多计算机系统 。
冯氏分类法 字W 位B 串S 并P
- 字串位串 (WSBS)
- 字串位并 (WSBP)
- 字并位串 (WPBS)
- 字并位并 (WPBP)
习题1
1-3
1-10
第2章 指令系统
2.4 指令系统的发展和改进
- CISC 复杂指令系统计算机
- RISC 精简指令系统计算机
2.4.3 按RISC方向发展和改进指令系统
选择、简答
设计RISC的基本原则
- 确定指令系统时,只选择使用频度很高的那些指令(一般不超100条)。
- 减少指令系统所用寻址方式种类,一般不超过两种。精简指令格式限制在两种之内,并使全部指令等长。
- 所有指令都在一个机器周期内完成。
- 扩大通用寄存器数,一般不少于32个,尽量减少访存,仅STORE和LOAD可访存,其他指令一律只操作寄存器。
- 大多数指令用硬联控制实现,提高指令执行速度,少数指令才用微程序。
- 通过精简指令和优化设计编译程序,简单有效地支持高级语言实现。
设计RISC结构采用的基本技术
- 选取其中常用的基本指令,使指令数精简。
- 逻辑实现采用硬联和微程序相结合。
- 在CPU中设置大量工作寄存器并采用重叠寄存器窗口。
第5章 标量处理机
5.1 重叠方式
5.1.1 重叠原理与一次重叠
实现指令的重叠解释必须在计算机组成上满足:
- 要解决访主存的冲突。
- 要解决“分析”与“执行”操作的并行。
- 要解决“分析”与“执行“操作控制上的同步。
- 要解决指令间各种相关的处理。
一次重叠:取值和分析重叠,同时有 两个 工作进行。N次重叠同时有N+1个工作。
5.2 流水方式
流水的分类
依据 向下扩展 和 向上扩展 的思路。
按多功能流水线的各段能否允许同时用于多种不同功能连接流水,可把流水线分为 静态流水线 和 动态流水线 。
重点掌握动态流水线
5.2.2 标量流水线的主要性能 需要扩展
直接做题
标量流水线的主要性能
- 吞吐率: T[p]
- 加速比: S[p]
- 效率: η
最大吞吐率: T[p[max]]
各个子过程时间长度不一时,最大吞吐率由最长的字过程时间决定
T[p[max]] = 1 / max{Δt}
实际吞吐率 T[p] 总小于最大吞吐率
T[p] = 实际任务数 / 实际时间
加速比 S[p] 总大于1
S[p] = 流水线方式性能 / 非流水线性能 = (1 / 流水线方式总时间) / (1 / 非流水线总时间)
即
S[p] = 非流水线总时间 / 流水线方式总时间
效率 μ
μ = 实际使用时间 / 整个运行时间
可以按阴影区面积与整个时空区面积的比求
具体公式看 P175
设m段流水线,各段经过时间相同,完成n个任务,则
T[p] = n / (m × Δt[0] + (n - 1) × Δt[0]) 或
T[p] = 1 / Δt[0] × (1 + (m - 1) / n) 或
T[p] = T[p[max]] / (1 + (m - 1) / n)
S[p] = m / (1 + (m - 1) / n)
若m段每段经过时间Δt[i]不等,其中瓶颈段时间为Δt[j],完成n个任务,则
T[p] = n / (Σ(i=1, m)Δt[i] + (n - 1)Δt[j]) 或
T[p] = 任务数 / (第一个任务时间 + 其余任务额外花费的时间)
S[p] = n个任务线性处理花费的时间 / (第一个任务时间 + 其余任务额外花费的时间)
其余任务额外花费的时间受瓶颈段时间影响,即 (n - 1) × 瓶颈段时间
5.2.3 标量流水机的处理和控制机构
5.2.3.4 非线性流水的调度
大题?
直接做题
5.3 指令集高度并行的超级处理机
5.3.1 超标量处理机
采用多指令流水线,每个Δt同时流出m条指令
5.3.3 超流水线处理机
每个Δt'仍旧只流出一条指令,但Δt'值小
第6章 向量处理机
6.1 向量的流水处理和向量流水处理机
- 向量横向处理:向量的处理方式,但不是向量的流水处理方式
- 向量纵向处理、分组纵横处理:向量的处理方式,也是向量的流水处理方式
基本思路
横纵结合 寄存器组 写后读
6.2 阵列处理机的原理
6.2.1 阵列处理机的构型和特点 需要扩展
定义、特点
6.2.2 ILLIAC IV的处理单元阵列结构 需要扩展
选择、填空
6.3 SIMD计算机的互连网络
注意:互 连 网络
6.3.1 互连网络的设计目标与互连函数
简答
SIMD中,处理单元之间、处理单元与存储分体之间,都要通过互联网络进行信息交换
SIMD系统的互连网络的设计目标
- 结构不要过分复杂,以降低成本;
- 互连要林或,以满足算法和应用的需要;
- 处理单元间信息交换所需传送步数要尽可能少,以提高系统性能
- 能用规整单一的基本构件组合而成(模块化)
6.3.2 互连网络应抉择的几个问题
选择、填空
需要对 操作方式 、 控制策略 、 交换方法 和 网络的拓补结构 作出抉择。
- 操作方式:同步、异步、同步与异步组合。 阵列处理机根据其SIMD性质均为同步 ,异步与组合多用于多处理机。
- 控制策略:集中、分布。 多数SIMD采用集中控制部件 。
- 交换方法:线路交换、包交换、线路与包交换组合。 SIMD多采用硬连线路交换 ,包交换多用于多处理机和计算机网络中。
6.3.3 基本的单级互连网络 需要扩展
计算、选择、填空
- 立方体单级网络
- PM21 单级网络
- 混洗交换单级网络
- 蝶形单级网络
6.3.4 基本的多级互连网络
选择、填空
不同的多级互连网络,在所用的 交换开关 、 拓补结构 、 控制方式 上各有不同。
- 交换开关:两个入端和两个出端的交换单元。
- 拓补结构:各级间出端与入端互连的模式。
- 控制方式:各个交换开关进行控制的方式。
利用这三个参量,可以描述各种多级互联网络的结构。
大题
直接做题
6.3.4.1 多级立方体互连网络 需要扩展
STARAN网络用作交换网络时,采用级控制,实现的是 交换函数 。
- 交换函数:将一组元素首尾对称地进行交换。
填空
STARAN网络用作移数网络时,采用 部分级控制 。
6.3.4.2 多级混洗交换网络 需要扩展
6.4 共享主存构形的阵列处理机中并行存储器的无冲突访问 需要扩展
选择
第7章 多处理机
7.1 多处理机的概念、问题和硬件结构
7.1.2 多处理机的硬件结构
- 紧耦合和松耦合
- 机间互连形式
- 存储器的组织
选择、填空、简答
P248 流水、向量或阵列处理机中,主存一般都不采用高位交叉编址的方案。
但在多处理机中会有不同的考虑,当各个处理机上活跃的进程是共享统一集中连续物理地址空间中的数据时,主存采用低位交叉编址是有力的。然而,当它们只是较少或基本不共享集中的数据时,主存采用低位交叉编址反倒会引起不希望的访存冲突,不如采用高位交叉编址为好。
7.2 紧耦合多处理机多 Cache 的一致性问题 可能需要扩展
选择、填空
7.2.1 多 Cache 的一致性问题的产生
7.2.2 多 Cache 的一致性问题的解决办法
- 解决进程迁移引起的多 Cache 不一致性
- 以硬件为基础实现多 Cache 的一致性
- 以软件为基础实现多 Cache 的一致性
7.3 多处理机的并行性和性能 需要扩展
7.3.1 并行算法
大题?
7.3.2 程序并行性分析 需要扩展
7.3.3 并行语言与并行编译
大题
直接做题
7.4 多处理机的操作系统
- 主从型
- 各自独立型
- 浮动型
第8章 数据流计算机和规约机
8.1 数据流计算机
基于异步性和函数性的一种计算模型
- 异步性:一旦操作数到齐就开始操作
- 函数性:消耗一组输入产生一组输出
8.1.1 数据驱动的概念
8.1.3 数据流计算机的结构
- 静态数据流机
- 动态数据流机