计算机系统结构(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

采用的状态表包括:

  1. 指令状态表:记录每条指令的流出、执行、写结果状态;
  2. 保留站状态表:记录各保留站的 Busy、Op、Vj、Vk、Qj、Qk、A 等字段;
  3. 寄存器状态表:记录各浮点寄存器的 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)

计算其效率、加速比、吞吐率