13 KiB
tags, create time
| tags | create time | ||
|---|---|---|---|
|
2026-06-15 10:00 |
试题 2 — 武汉科技大学《计算机系统结构》B卷
概述
- 课程:计算机系统结构
- 学校:武汉科技大学
- 题型:选择题, 判断题, 分析题, 综合题
- 知识点:Cache, 流水线, 指令系统, Amdahl定律, 存储层次, Flynn分类, RISC, I/O系统
[!tip] 学习建议 本套试题新增了判断题和综合题两种题型,综合题侧重于 Amdahl 定律的计算应用和并行系统性能分析。判断题考察基本概念的准确性,分析题中的流水线数据相关和 Cache 设计计算是重点难点,建议配合 A 卷对比复习。
正文
一、选择题(每题 2 分,共 10 分)
- 在相联映像,LRU 替换的 Cache 存储器,不影响 Cache 命中率的是( )。 A. 增加主存容量 B. 增加块的大小 C. 增大 Cache 容量 D. 减少 Cache 中的块数
[!abstract]- 答案 A
[!note] 知识点补充 Cache 命中率主要受 Cache 容量、块大小、相联度和替换策略影响。主存容量的增减不影响 Cache 的命中率,因为 Cache 只缓存主存中被访问过的数据块。
- 按 Flymn 提出的计算机系统分类方法,多处理机属于( )。 A. SISD B. SIMD C. MISD D. MIMD
[!abstract]- 答案 D
[!note] 知识点补充 多处理机(MPP)属于 MIMD(多指令流多数据流),每个处理器可以独立执行不同的指令流处理不同的数据流。
- 评价 I/O 系统性能的主要参数包括( )。 A. 连接特性 B. I/O 系统的容量 C. 响应时间和吞吐率 D. 以上都是
[!abstract]- 答案 D
[!note] 知识点补充 I/O 系统性能评价是多维度的:连接特性(设备数量和带宽)、容量(存储空间)、响应时间(延迟)和吞吐率(单位时间处理量)都是关键指标。
- 以下不属于 RISC 机器遵循的设计原则的是( )。 A. 指令字长尽量是 32 位 B. 指令数量少,采用等长格式,寻址方式不超过 2 种 C. 采用流水线机制,大部分指令能在单个时钟周期内完成 D. 大多数指令采用硬连线逻辑来实现
[!abstract]- 答案 A
[!note] 知识点补充 RISC 的核心原则是精简指令集、等长格式、load-store 架构、硬连线控制等。指令字长尽量是 32 位并非 RISC 的必须原则,RISC 强调的是指令精简和规整性。
- 从程序开发的角度看待,计算机性能更重要的指标是( )。 A. 单个程序的执行时间 B. CPU 的架构 C. 数据访问效率 D. 任务吞吐率
[!abstract]- 答案 A
[!note] 知识点补充 从程序员角度,最关心的是单个程序的执行时间——即自己的程序跑多快。CPU 架构、数据访问效率都是影响因素,但最终体现为执行时间。
二、判断题(每题 1 分,共 10 分)
- 理想 CPI 是衡量流水线性能的一个指标。( )
[!abstract]- 答案 T
- 并行,即是在计算机系统某一时刻或者一段时间内进行多种运算或操作。( )
[!abstract]- 答案 T
- 吞吐率是指单位时间内流水线完成的任务数或输出结果的数量。( )
[!abstract]- 答案 T
- 采用分离 Cache 指令中不必使用延迟槽。( )
[!abstract]- 答案 F
- I/O 系统的性能对 CPU 的利用率影响不大,两者的性能不匹配,I/O 系统就有可能成为整个系统的瓶颈。( )
[!abstract]- 答案 T
- 从基于目录的 Cache 一致性机制中,可以看出这些点并非全是一个结点。( )
[!abstract]- 答案 F
- 对于绝大多数程序来说,程序访问的局部性在地址空间的分布上不是均匀的,而是相对地聚集。( )
[!abstract]- 答案 T
- 计算机的主存是由按块随机存取,但主存和 Cache 的大小不一样。( )
[!abstract]- 答案 F
- 如果对某个数据项的任何处理器都能得到最新的值,则称这个存储系统是一致的。( )
[!abstract]- 答案 T
- 计算机完成一条任务依次所经历的层次是:数据准备、存储器访问、计算、输入/输出、结果存储等。( )
[!abstract]- 答案 F
[!note] 解题思路 判断题需注意关键词和细节。例如第 2 题,并行强调的是"同一时刻"或"一段时间内"的并发操作,但定义中"某一时刻或者一段时间内"表述过于宽泛。第 9 题是存储一致性的经典定义。
三、分析题(每题 16 分,共 48 分)
- 在设计某计算机的指令系统时,如果只需要设计单地址指令和双地址指令两种类型,而且其指令字长固定为 16 位,每个地址字段都是 6 位,一共需要设计 12 条双地址指令,请问采用以下两种方式时的操作码设计,分别计算可以设计的单地址指令条数,并画出各自的指令格式。(操作码字段中地址码字段的位数分配)
(1)定长操作码格式
(2)等长扩展码
[!abstract]- 答案 (1)定长操作码:操作码 4 位($16-6\times2=4$),共
2^4=16条指令,双地址占 12 条,单地址最多 4 条。(2)等长扩展码:基本操作码 4 位中 12 个用于双地址,剩余 4 个(1100~1111)扩展为 10 位操作码 + 6 位地址,单地址最多
4 \times 2^6 =256 条。
[!note] 解题思路
(1)定长操作码
指令字长 16 位,每个地址码字段 6 位。操作码字段位数
= 16-6 \times 4 = 4位,共2^4=16条指令。双地址指令有 12 条,最多可设计16-12=4条单地址指令。(2)等长扩展码
基本操作码 4 位中,12 个编码(0000
1011)用于双地址指令,其余 4 个编码(11001111)用于操作码扩展,和一个地址字段(共 6 位)编码。单地址指令最多4 \times 2^6 = 256条。
- 假设某计算机有一条流水线,该流水线没有定向传送机制,有多个操作部件,其中 MOVE 部件可以完成数据传送,ADD 部件可以完成加法操作,DIV 部件可以完成除法操作,其在处理器上执行以下三条指令构成的程序段,操作数放在 R1 寄存器中,结果放在 R4 寄存器中:
k: SUB R2, R1, R3 ;(R2)←(R1)-(R0) k+1: MOVE R4, R2 ;(R4)←(R2) k+2: DIV R4, R1, R3 ;(R4)←(R4)/(R3)
(1)首先分析以上三条指令组成的序列,它们存在哪些相关,在哪些段。
(2)在以下给定条件下,画出指令执行的时空图,分析完成以上 3 条指令一共需要多少个时钟周期?
给定条件:
- 在流水线中,每种指令的取指段、译码段各需要一个时钟周期。
- MOVE、SUB 和 DIV 指令的具体执行部件分别需要 2 个、3 个和 4 个时钟周期。
- 所有指令都在第一个时钟周期从通用存储器中读取操作数,在最后一个时钟周期将运算结果写回到通用寄存器。
[!abstract]- 答案 (1) k→k+1 存在 RAW 数据相关(R2);k+1→k+2 存在 RAW 数据相关(R4);k+1 与 k+2 之间存在名相关中的输出相关(R4)。
(2) 无定向传送,共需 10 个时钟周期:
部件 1 2 3 4 5 6 7 8 9 10 IF k k+1 k+2 ID k+1 k+2 ADD k k k MOVE k+1 k+1 DIV k+2 k+2 k+2 k+2
[!note] 解题思路
(1)数据相关分析
- k 和 k+1 之间存在写后读相关(RAW):指令 k+1 需要读取 k 的结果 R2
- k+1 和 k+2 之间存在写后读相关(RAW):指令 k+2 需要读取 k+1 的结果 R4
- k 和 k+2 之间不存在直接相关
由于没有定向传送机制,相关指令之间必须插入气泡(空闲周期)来避免数据冲突。
(2)时空图与时钟周期分析
各指令执行时间:
- SUB:取指(1) + 译码(1) + 执行(3) + 写回(1) = 6 个时钟周期
- MOVE:取指(1) + 译码(1) + 执行(2) + 写回(1) = 5 个时钟周期
- DIV:取指(1) + 译码(1) + 执行(4) + 写回(1) = 7 个时钟周期
(3)流水线相关的 3 种类型
- 数据相关(真数据相关):两条指令 i 和 j,若 j 使用 i 的计算结果,则 j 与 i 数据相关。反映了数据流动关系。
- 名相关:两条指令使用相同寄存器/存储器名称,但无数据传递。包括反相关(写后读)和输出相关(写后写),可通过换名消除。
- 控制相关:由分支指令引起,需根据分支结果确定后续执行路径。
- 在给一个计算机系统设计 Cache 方案时,有两个备选方案,分别是直接映像 Cache 和两路组相联 Cache,请根据以下列出的系统基本情况,分析计算不同方案下的平均访问时间以及 CPU 的价格,选择合适的方案。
(1)如果 Cache 情况下的 CPI 为 2.5,时钟周期为 2ns,平均每条指令访存 1.5 次。
(2)但根据 Cache 中的多路选择器使 CPU 的时钟周期增加了 10%。
(3)这种 Cache 的不命中率总是为 90‰。
(4)命中时间为 1 个时钟周期。
(5)直接映像 Cache 的不命中率为 1.5%,两路组相联 Cache 的不命中率为 1.2%。
[!abstract]- 答案 直接映像:时钟 2ns,不命中率 1.5% → 平均访存 $= 1 + 1.5% \times 90 = 2.35$ns,
CPU时间 = IC \times (2.5 \times 2 + 1.5\% \times 90) = 7.025ICns两路组相联:时钟 2.2ns,不命中率 1.2% → 平均访存 $= 0.8 + 2.2 + 1.2% \times 90 = 0.28$ns,
CPU时间 = IC \times (2.5 \times 2.2 + 1.2\% \times 90) = 7.12ICns结论:选择直接映像 Cache。虽然组相联访存时间略短,但时钟周期增长导致 CPU 时间更长,且直接映像实现更简单。
[!note] 解题思路
(1)平均访存时间 = 命中时间 + 不命中率×不命中开销
- 直接映像:$T_1 = 1 + 1.5% \times 90 = 2.35$ns
- 两路组相联:$T_2 = 0.8 + 2.2 + 1.2% \times 90 = 0.28$ns
(2)CPU 时间
CPU时间 = IC \times (CPI \times 时钟周期 + 每指令访存次数 \times 不命中率 \times 不命中开销)
- 直接映像:
7.025ICns- 两路组相联:
7.12ICns性能比 $\frac{7.12}{7.025} \approx 1.0135$,直接映像更快。
四、综合题(每题 16 分,共 32 分)
- 自第一台通用计算机问世以来,计算机的性能以每年近人的速度增长。这得益于计算机系统结构设计技术,特别是基于计算机系统设计中广泛的定量原理。你知道系统设计中经常使用的定量原理有哪些?简述它们的主要内容和含义。
[!abstract]- 答案 四个定量原理:
(1)以经常性事件为重点:对高频事件优先处理,获得更大总体改善。
(2)Amdahl 定律:加速比受限于瓶颈部件在系统中的重要性。
(3)CPU 性能公式:$CPU时间 = IC \times CPI \times 时钟周期$。
(4)程序局部性原理:程序访问在时间/空间上具有聚集性,非随机分布。
[!note] 参考答案要点
(1)以经常性事件为重点(最主要原理 2 分)
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,从而得到更多的总体上的改善。
(2)Amdahl 定律(2 分)
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU 性能公式(2 分)
执行一个程序所需的 CPU 时间
= IC \times CPI \times时钟周期时间。(4)程序的局部性原理(2 分)
程序在执行时所访问的地址空间的分布不是随机的,而是相对地聚集。
- 并行处理面临着两个重要挑战:一个是程序中的并行性有限;另一个相对较大的通信开销,比如多处理器中从远端内存访问的巨大延迟。某单位需要评估程序在远程访问时间对多处理器性能的影响,作了以下试验:每单位(使用含 32 个处理器的计算机集群,处理程序的执行时间为 10ns,基于单处理器的 CPI 为 1.0),分为两种情况进行实验:第一种情况没有远程访问,第二种情况有 0.5% 的指令需要远程访问,对远程处理器访问时间为 2000ns,预测一下前后对比会快多少?(除通信以外,假设计算中的访问均匀中都局部存储器。当发出一个远程请求时,此处理器就挂起)
[!abstract]- 答案 远程访问时钟
= 2000 / 10 = 200个时钟有远程访问时
CPI = 1.0 + 0.5\% \times 200 = 2.0无远程访问时
CPI = 1.0结论:无远程访问的机器速度是有 0.5% 远程访问机器的 2 倍。
[!note] 参考答案要点
有 0.5% 远程访问的机器的实际 CPI 为:
CPI = \text{基本 CPI} + \text{远程访问率} \times \text{远程访问开销}
= 1.0 + 0.5\% \times 200 = 2.0它为只有局部访问的机器的
2.0 / 1.0 = 2倍。因此在没有远程访问状态下这台机器速度是有 0.5% 远程访问的机器速度的 2 倍。