计算机系统结构(420563)25-26第二学期期末考试
本文最后更新于 2026年6月22日 下午
update: 本人喜提一个良😃
名词解释 (5*3%)
什么是指令的静态调度
流水线的效率
Cache 的冲突不命中
动态流水线
异步 I/O
判断题 (15*1%)
这下面很多判错的就是题干里一些地方写错了,但是我不记得写错的地方是什么了,所以很多是直接给出正确的命题。
计算机系统的多级层次结构: L1微程序机器级 L2机器语言(传统机器级) L3操作系统虚拟机 L4汇编语言虚拟机 L5高级语言虚拟机 L6应用语言虚拟机(题目少了其中一两个问你对不对)
Amdahl 定律指出::当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于 该部件的执行时间占总执行时间的百分比
计算机系统结构:由程序员看到的计算机属性,即概念性结构与功能特性()
什么是广义系统结构(设计的三个方面):指令集结构、组成、硬件()
CISC 比 RISC 好()
解决流水线瓶颈问题:细分瓶颈段、重复设置瓶颈段(题目这两个有一个写错了,答案应该是 F,但是写错的是什么我忘记了)
填空 (一空一分 15*1%)
三种提升并行度的方法()()()
以程序执行的视角划分5种并行级别,从低到高()()()()()
根据是否存在反馈回路,流水线可以分为()和()
相关分为()()和名相关
IO设备是协调外设和()
大题 (55%)
1 (10%)
什么是多处理机的 Cache 一致性?解释目录协议与监听协议?
2 (10%)
一个系统,可改进比例 50%,部件加速比 10,求系统的加速比。
3 (10%)
二级Cache平均访存公式,设计二级Cache需要权衡的两个因素
4 (13%)
某浮点处理器采用 Tomasulo 动态调度算法 执行如下 6 条浮点指令。指令序列如下:
I1: L.D F6, 34(R2)
I2: L.D F2, 45(R3)
I3: MUL.D F0, F2, F4
I4: SUB.D F8, F6, F2
I5: DIV.D F10, F0, F6
I6: ADD.D F6, F8, F2处理器中设置有如下功能部件与保留站:
| 功能部件类型 | 保留站 / 缓冲站数量 |
|---|---|
| Load 缓冲站 | 2 个,记为 Load1、Load2 |
| 加减法保留站 | 3 个,记为 Add1、Add2、Add3 |
| 乘除法保留站 | 2 个,记为 Mult1、Mult2 |
采用的状态表包括:
- 指令状态表:记录每条指令的流出、执行、写结果状态;
- 保留站状态表:记录各保留站的 Busy、Op、Vj、Vk、Qj、Qk、A 等字段;
- 寄存器状态表:记录各浮点寄存器的 Qi 字段。
(1)
假设上述指令按顺序流出,采用 Tomasulo 算法进行动态调度。
当 第 1 条指令 L.D F6, 34(R2) 刚完成写结果 时,分别给出此时的:
- 指令状态表;
- 保留站状态表;
- 寄存器状态表。
(2)
若各类功能部件的执行时间如下:
| 指令类型 | 执行所需时钟周期 |
|---|---|
| Load | 1 个时钟周期 |
| ADD / SUB | 2 个时钟周期 |
| MUL | 10 个时钟周期 |
| DIV | 40 个时钟周期 |
在上述条件下,继续采用 Tomasulo 算法执行该指令序列。
要求画出或填写完整的:
- 指令状态表;
- 保留站状态表;
- 寄存器状态表。
5 (12%)
有一动态多功能流水线由 6 个功能段组成,如图所示。
flowchart LR
I1(( )) --> S1[S1]
I2(( )) --> S1
S1 --> S2[S2]
S2 --> S3[S3]
S1 -->|乘法| S4[S4]
S4 --> S5[S5]
S5 --> S6[S6]
S3 -->|加法| S6
S6 --> O1(( ))
S6 --> O2(( ))
classDef stage fill:#f8f3ef,stroke:#8b4a4a,stroke-width:2px,color:#111;
class S1,S2,S3,S4,S5,S6 stage;
其中,S1、S4、S5、S6 组成乘法流水线,S1、S2、S3、S6 组成加法流水线,各个功能段时间均为 50 ns。假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,并以最快的方式用该流水线计算: $$ \sum_{i=1}^{5} x_i y_i z_i $$
(1)
画出时空图
(2)
计算其效率、加速比、吞吐率