视频加载失败

课程

6086 字
约 18 分钟

《计算机体系结构》模拟试卷

计算机体系结构exercises/Gemini_Paper·更新于 2026-09-15

《计算机体系结构》模拟试卷

适用专业: 计算机科学与技术

考试形式: 闭卷

总分: 100分


一、单项选择题(每题2分,共20题,40分)

  1. 关于计算机系统结构设计的定量原理,下列说法正确的是:
    • A. Amdahl定律主要用于计算处理器的功耗
    • B. 程序访问的局部性原理包括时间局部性和空间局部性
    • C. 增加指令级并行度总是能线性提高性能
    • D. CPU性能公式中,时钟周期时间完全由软件决定
  2. MIPS指令系统中,指令长度是固定的,这主要体现了RISC设计的哪一原则:
    • A. 越简单越快
    • B. 经常性事件优化
    • C. 适度的折衷
    • D. 必须支持复杂的寻址方式
  3. 在流水线技术中,由于由于多条指令在同一时刻争用同一功能部件而产生的冲突称为:
    • A. 数据冲突 (Data Hazard)
    • B. 控制冲突 (Control Hazard)
    • C. 结构冲突 (Structural Hazard)
    • D. 名字相关 (Name Dependence)
  4. 下列关于数据相关(Data Hazards)的描述,哪一项是RAW(Read After Write)相关?
    • A. 指令j试图在指令i写入寄存器之前读取该寄存器
    • B. 指令j试图在指令i写入寄存器之前写入该寄存器
    • C. 指令j试图在指令i读取寄存器之前写入该寄存器
    • D. 指令j试图在指令i读取寄存器之后读取该寄存器
  5. 向量处理机(Vector Processor)通过什么技术来提高性能,使得一组数据运算像流水线一样流过功能部件?
    • A. 循环展开
    • B. 分支预测
    • C. 向量流水线
    • D. 乱序执行
  6. 在指令级并行(ILP)的硬件开发方法中,Tomasulo算法通过什么机制解决了WAR(先读后写)和WAW(写后写)相关?
    • A. 猜测执行 (Speculation)
    • B. 寄存器重命名 (Register Renaming)
    • C. 旁路技术 (Forwarding)
    • D. 分支预测 (Branch Prediction)
  7. 下列哪项技术属于指令级并行的软件(编译器)开发方法?
    • A. 记分牌算法 (Scoreboarding)
    • B. Tomasulo算法
    • C. 循环展开 (Loop Unrolling)
    • D. 重排序缓冲 (ROB)
  8. VLIW(超长指令字)处理器依靠什么来安排指令的并行执行?
    • A. 硬件动态调度器
    • B. 编译器静态调度
    • C. 操作系统调度
    • D. 运行时微指令转换
  9. 在存储系统中,“增加Cache块大小”通常会降低哪种类型的Cache不命中率?
    • A. 强制性不命中 (Compulsory Miss)
    • B. 容量不命中 (Capacity Miss)
    • C. 冲突不命中 (Conflict Miss)
    • D. 所有类型的不命中
  10. 关于Cache的写策略,“写回法”(Write Back)是指:
    • A. 写操作同时更新Cache和主存
    • B. 写操作只更新Cache,当Cache块被替换时才写回主存
    • C. 写操作直接绕过Cache写入主存
    • D. 只有读操作经过Cache
  11. 虚拟存储器中,TLB(Translation Lookaside Buffer)的作用是:
    • A. 存储常用的数据副本
    • B. 加速虚拟地址到物理地址的转换
    • C. 解决页面置换问题
    • D. 存储页表的所有内容
  12. 在RAID(廉价磁盘冗余阵列)技术中,采用奇偶校验位分布在所有磁盘上,允许一块磁盘故障而不丢失数据的级别是:
    • A. RAID 0
    • B. RAID 1
    • C. RAID 5
    • D. RAID 6
  13. I/O系统与CPU交换信息的方式中,CPU效率最低(忙等)的方式是:
    • A. 程序查询方式 (Polling)
    • B. 中断驱动方式 (Interrupt)
    • C. DMA方式 (Direct Memory Access)
    • D. 通道方式 (Channel)
  14. Flynn分类法中,目前主流的多核处理器(Multicore)通常属于哪一类?
    • A. SISD (单指令流单数据流)
    • B. SIMD (单指令流多数据流)
    • C. MISD (多指令流单数据流)
    • D. MIMD (多指令流多数据流)
  15. 流水线的加速比(Speedup)定义为:
    • A. 流水线时钟周期 / 非流水线时钟周期
    • B. 非流水线执行时间 / 流水线执行时间
    • C. 流水线级数 / CPI
    • D. 吞吐率 / 效率
  16. 解决流水线控制冲突(分支指令)的静态方法不包括:
    • A. 冻结流水线
    • B. 预测分支不成功
    • C. 延迟槽(Delayed Branch)
    • D. 动态分支预测缓冲(BTB)
  17. 在基于ROB(重排序缓冲)的动态流出技术中,指令“提交”(Commit)必须是:
    • A. 乱序的
    • B. 按程序顺序的
    • C. 只要执行完就可以提交
    • D. 由编译器决定的
  18. 关于DMA(直接存储器访问),下列说法错误的是:
    • A. DMA控制器接管总线控制权
    • B. 数据直接在I/O设备和主存之间传输
    • C. CPU需要参与数据传输的每一个字节
    • D. 传输结束后,DMA控制器向CPU发送中断
  19. 下列哪个不是降低Cache不命中开销(Miss Penalty)的方法?
    • A. 采用多级Cache
    • B. 关键字优先(Critical Word First)
    • C. 读不命中优先于写
    • D. 增加Cache容量(这是降低不命中率)
  20. IA-64架构中的“谓词执行”(Predication)技术主要是为了消除:
    • A. 数据相关
    • B. 控制相关(分支跳转)
    • C. 结构冲突
    • D. 存储器别名

二、判断题(每题1分,共15题,15分)

  1. ( ) 摩尔定律指出,集成电路芯片上所集成的晶体管数量每18-24个月翻一番。
  2. ( ) 流水线技术通过让多条指令重叠执行,减少了单条指令的执行时间(Latency)。
  3. ( ) 只有RAW(写后读)相关是真数据相关,WAR和WAW相关是由于寄存器名字复用引起的。
  4. ( ) 在MIPS五段流水线中,Load指令引起的RAW相关可以通过内部前瞻(Forwarding)技术完全解决,不需要插入气泡。
  5. ( ) 动态分支预测技术(如分支历史表BHT)是在编译阶段完成的。
  6. ( ) Tomasulo算法采用了分布式的保留站(Reservation Station)代替了集中式的记分牌。
  7. ( ) VLIW处理器的硬件结构通常比超标量处理器复杂,因为硬件需要负责指令调度。
  8. ( ) 全相联Cache的冲突不命中率(Conflict Miss)通常低于直接映象Cache。
  9. ( ) 虚拟存储器的主要目的是为了解决主存容量不足的问题,并提供存储保护。
  10. ( ) TLB不命中(Miss)必然会导致缺页(Page Fault)。
  11. ( ) RAID 0 提供了数据冗余,提高了可靠性。
  12. ( ) 循环展开(Loop Unrolling)技术不仅开发了指令级并行,还减少了循环控制开销。
  13. ( ) I/O通道拥有自己的指令和程序,可以独立于CPU执行I/O操作。
  14. ( ) 采用写分配(Write Allocate)策略通常与写回法(Write Back)搭配使用。
  15. ( ) 向量链接(Chaining)技术允许一个向量功能部件的输出直接作为另一个向量功能部件的输入,无需写回向量寄存器组,从而提高了并行性。

三、简答分析题(共2题,25分)

  1. (12分)简述Cache失效的三种类型(3C模型),并针对每种类型列举至少一种降低其失效率的硬件或软件方法。
  2. (13分)请解释Tomasulo算法中的“寄存器重命名”是如何实现的?它主要解决了哪类相关?与记分牌算法相比,Tomasulo算法允许循环中的多次迭代并行执行的关键机制是什么?

四、计算综合题(每题10分,共2题,20分)

  1. (10分)Amdahl定律计算: 假设某计算机系统中,浮点数运算指令占总指令数的30%。现计划改进该计算机的浮点运算部件。 (1) 如果将浮点运算部件的速度提高到原来的2倍,求系统的整体加速比(Speedup)。 (2) 如果希望系统的整体加速比达到1.3倍,浮点运算部件的速度需要提高到原来的多少倍?(保留两位小数)
  2. (10分)流水线性能分析: 设有一条指令流水线由取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回(WB) 5个段组成。各段执行时间分别为:IF=2ns, ID=2ns, EX=3ns, MEM=4ns, WB=2ns。 (1) 计算该流水线的时钟周期应该定为多少? (2) 若连续执行100条指令,在没有流水线冲突的理想情况下,计算该流水线的实际吞吐率(指令/秒)和加速比(相比于等效的非流水线系统)。


参考答案与评分标准

一、单项选择题 (40分)

1-5: BACAC

6-10: BCBAB

11-15: BCADB

16-20: DBCDB

二、判断题 (15分)

  1. T
  2. F (流水线提高的是吞吐率,单条指令延迟通常略有增加或不变)
  3. T
  4. F (Load-Use hazard 需要停顿一个周期,不能仅靠Forwarding解决)
  5. F (动态是在运行时硬件完成的)
  6. T
  7. F (VLIW硬件简单,编译器复杂)
  8. T
  9. T
  10. F (TLB miss可能是页表在内存中但不在TLB中,不一定缺页)
  11. F (RAID 0无冗余)
  12. T
  13. T
  14. T
  15. T

三、简答分析题 (25分)

  1. Cache 3C模型 (12分)
    • 强制性不命中 (Compulsory Miss): 第一次访问该块。
      • 解决方法:增加块大小 (Block Size),预取技术 (Prefetching)。
    • 容量不命中 (Capacity Miss): Cache太小,无法容纳程序运行所需的全部块。
      • 解决方法:增加Cache容量。
    • 冲突不命中 (Conflict Miss): 多块映射到同一组,导致相互替换。
      • 解决方法:提高相联度 (Associativity),采用伪相联Cache等。
  2. Tomasulo算法 (13分)
    • 实现机制: 通过保留站 (Reservation Stations) 实现。当指令发射时,若操作数未就绪,保留站会记录产生该操作数的保留站编号(Tag),而不是寄存器号。当结果产生时,直接广播到总线(CDB),等待的保留站捕获数据。这实际上将逻辑寄存器映射到了物理的保留站槽位。
    • 解决相关: 解决了 WAR (先读后写)WAW (写后写) 名字相关。
    • 并行机制: 关键是寄存器重命名能力,使得循环的不同迭代可以使用不同的物理存储位置(保留站),消除了循环体之间对同一寄存器的名字依赖,允许后续迭代的指令在前面迭代未完成时就开始执行。

四、计算综合题 (20分)

  1. Amdahl定律 (10分)
    • 公式:Speedup=1(1Fe)+FeSeSpeedup = \frac{1}{(1-Fe) + \frac{Fe}{Se}},其中 Fe=0.3Fe=0.3
    • (1) Se=2Se=2Speedup=1(10.3)+0.32=10.7+0.15=10.851.18Speedup = \frac{1}{(1-0.3) + \frac{0.3}{2}} = \frac{1}{0.7 + 0.15} = \frac{1}{0.85} \approx 1.18
    • (2) 设需提高 xx 倍。 1.3=10.7+0.3x0.7+0.3x=11.30.7691.3 = \frac{1}{0.7 + \frac{0.3}{x}} \Rightarrow 0.7 + \frac{0.3}{x} = \frac{1}{1.3} \approx 0.769 0.3x=0.069x4.35\frac{0.3}{x} = 0.069 \Rightarrow x \approx 4.35 倍。
  2. 流水线性能 (10分)
    • (1) 时钟周期: 取决于最慢的一段。Tclk=max(2,2,3,4,2)=4nsT_{clk} = \max(2, 2, 3, 4, 2) = 4ns
    • (2) 100条指令执行时间: Ttotal=(k+n1)×Tclk=(5+1001)×4ns=104×4=416nsT_{total} = (k + n - 1) \times T_{clk} = (5 + 100 - 1) \times 4ns = 104 \times 4 = 416ns。 吞吐率 (TP): 100/(416×109)2.4×108100 / (416 \times 10^{-9}) \approx 2.4 \times 10^8 指令/秒 (240 MIPS)。 非流水线时间: 每条指令需 2+2+3+4+2=13ns2+2+3+4+2 = 13ns。100条需 1300ns1300ns。 加速比: S=1300/4163.125S = 1300 / 416 \approx 3.125
Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录