📘 第1章 计算机系统概述
1
判断题
1分
用高级语言编写的程序可以在不同的机器上编译后执行,而汇编代码与特定机器密切相关。
✅ 答案:正确💡 汇编语言与机器指令一一对应,不同ISA的机器指令集不同,因此汇编代码不可移植。
2
判断题
1分
关系表达式-1 < 0U(无符号数)返回的值是1。
✅ 答案:错误💡 有符号数-1转换为无符号数是一个很大的正数(如32位下为2³²-1),因此-1 < 0U 为假。
3
判断题
1分
对于一个持续处理业务的系统而言,响应时间越短,作业吞吐量越小表明其性能越好。
✅ 答案:错误💡 吞吐量越小性能越差。响应时间短且吞吐量大才是性能好的表现。
4
判断题
1分
指令和数据在计算机中都以二进制表示。
✅ 答案:正确💡 计算机采用冯·诺依曼结构,指令和数据均以二进制形式存储在存储器中。
5
选择题
2分
用于指示将要执行的下一条指令地址的寄存器是
✅ 答案:C💡 PC(Program Counter)存放当前指令地址,每取一条指令后自动+4(32位)指向下一条。
6
选择题
2分
冯·诺依曼结构计算机由哪五部分组成?
✅ 答案:D💡 冯·诺依曼五大部件:控制器、运算器、存储器、输入设备、输出设备。
7
选择题
2分
下列不属于RISC特点的是
✅ 答案:D💡 RISC采用硬连线控制(Hardwired Control),CISC采用微程序控制。
8
填空题
1分
完成翻译转换任务的程序有汇编程序、解释程序和
✅ 答案:编译程序
9
填空题
1分
响应时间和是衡量计算机系统性能的基本指标
✅ 答案:吞吐率
10
简答题
6分
一台40MHz处理器执行测试程序,各指令类型及数量如下表,求CPI、MIPS和CPU执行时间。
| 指令类型 | 指令条数 | CPI |
|---|---|---|
| 整数运算 | 45000 | 1 |
| 数据传送 | 32000 | 2 |
| 浮点运算 | 15000 | 2 |
| 控制转移 | 8000 | 2 |
✅ 答案:
① 总指令数 = 45000+32000+15000+8000 = 100000 ② 总时钟周期 = 45000×1+32000×2+15000×2+8000×2 = 45000+64000+30000+16000 = 155000 ③ CPI = 155000/100000 = 1.55 ④ MIPS = 40×10⁶/(1.55×10⁶) = 25.8 ⑤ CPU时间 = 100000×1.55/(40×10⁶) = 3.875ms
56
计算题6分(课件原题)程序P在机器A上运行需10s,A的时钟频率为400MHz。现设计机器B,希望P在B上运行只需6s。B的时钟频率提高导致CPI增加,使P在B上的时钟周期数是A上的1.2倍。求B的频率需达到A的多少倍?
✅ 解答:
CPU时间A = 时钟周期数A / 频率A
时钟周期数A = 10 × 400M = 4000M个
时钟周期数B = 1.2 × 4000M = 4800M个
频率B = 4800M / 6 = 800 MHz
频率B/频率A = 800/400 = 2倍
频率增加2倍但性能只提升1.67倍,因为CPI增加了。
CPU时间A = 时钟周期数A / 频率A
时钟周期数A = 10 × 400M = 4000M个
时钟周期数B = 1.2 × 4000M = 4800M个
频率B = 4800M / 6 = 800 MHz
频率B/频率A = 800/400 = 2倍
频率增加2倍但性能只提升1.67倍,因为CPI增加了。
📗 第2章 数据的机器级表示
11
判断题
1分
浮点数的尾数一般用原码小数来表示;浮点数的指数一般用移码来表示。
✅ 答案:正确💡 IEEE754标准中,尾数用原码(隐含整数位1),阶码用移码(偏移127)。
12
判断题
1分
C语言与汇编语言是一一对应的。
✅ 答案:错误💡 一条C语句可能对应多条汇编指令,且编译器优化会改变对应关系,并非一一对应。
13
判断题
1分
MIPS大的计算机其CPU速度也一定快。
✅ 答案:错误💡 MIPS与ISA有关,不同ISA之间MIPS不可比。MIPS高不代表执行时间短。
14
判断题
1分
小端法存储0x01234567,从低位到高位的四个字节的值分别是0x67、0x45、0x23、0x01。
✅ 答案:正确💡 小端法:低字节(67)在低地址,高字节(01)在高地址。
15
判断题
1分
在计算机中,整数是用原码表示的。
✅ 答案:错误💡 现代计算机中整数用补码表示,补码可以将减法统一为加法。
16
判断题
1分
算术右移时,高位补0。
✅ 答案:错误💡 算术右移时高位补符号位(正数补0,负数补1),逻辑右移才补0。
17
选择题
2分
计算机中直接存储的数据是
✅ 答案:A💡 计算机所有信息都以二进制(0和1)编码存储。
18
选择题
2分
负零的补码表示为
✅ 答案:B💡 补码中0的表示唯一,+0和-0都表示为全0。
19
选择题
2分
IEEE754单精度45100000H的值是
✅ 答案:B💡 45100000H = 0 10001010 001000...,E=138,E-127=11,M=1.001 ×2¹¹=(+1.125)×2¹¹。
20
选择题
2分
[X]补=X₀X₁...Xₙ,模是
✅ 答案:B💡 n位补码的模为2ⁿ(舍弃进位)。
21
选择题
2分
32位补码整数的表示范围是
✅ 答案:A💡 n位补码范围为 -2ⁿ⁻¹ ~ +2ⁿ⁻¹-1,32位即为-2³¹~2³¹-1。
22
选择题
2分
最适合表示浮点数阶码的编码是
✅ 答案:D💡 移码方便比较阶码大小,且全0和全1可用于特殊值表示,IEEE754采用移码(偏移127)。
23
选择题
2分
边界对齐的主要优点是
✅ 答案:A💡 边界对齐保证数据在单个访存周期内完成读写,避免跨边界需多次访存。
24
选择题
2分
小端方式,float x=12345678H,地址C002H中内容是
✅ 答案:B💡 小端法:x占C000~C003,C000存78H,C001存56H,C002存34H,C003存12H。
25
选择题
2分
32位无符号整数的表示范围是
✅ 答案:A💡 n位无符号数范围为0~2ⁿ-1,32位即0~2³²-1。
26
选择题
2分
相同位数,阶码长尾数短(格式1)与阶码短尾数长(格式2)相比
✅ 答案:C💡 阶码长→范围大但尾数短→精度低(格式1);阶码短→范围小但尾数长→精度高(格式2)。
27
选择题
2分
假设在采用边界对齐的32位系统中,有如下结构体定义:
变量x首地址0x0C008,则x.i的地址为
struct A { char c; short s; int i; };变量x首地址0x0C008,则x.i的地址为
✅ 答案:A💡 char(1B)偏移0,short(2B)需对齐到2的倍数→偏移2,int(4B)需对齐到4的倍数→偏移4。首地址0xC008是4的倍数,因此x.i地址为0x0C00C。
28
选择题
2分
下列各数中最小的是
✅ 答案:B💡 A=101, B=93, C=1000, D=113,最小的是B(93)。
29
选择题
2分
补码定点整数1111 1111表示的十进制数是
✅ 答案:C💡 11111111₂补码:符号位1→负数,数值取反+1=00000001=1,值为-1。
30
选择题
2分
浮点数规格化的主要目的是
✅ 答案:C💡 规格化使每个浮点数具有唯一的表示形式,便于比较和运算。
31
填空题
1分
同样的位数,浮点数表示范围比定点数
✅ 答案:大
32
填空题
1分
浮点数的指数一般用表示
✅ 答案:移码
33
填空题
1分
-258的16位补码十六进制表示为
✅ 答案:FEFE
34
填空题
1分
算术左移一位后内容为
✅ 答案:FDFC
35
简答题
6分
将十进制数 -2.75 转换为IEEE754单精度浮点数格式,要求写出转换步骤和最终十六进制结果。
✅ 答案:
① (-2.75)₁₀ = (-10.11)₂ = (-1.011)₂ × 2¹ ② 符号位 S = 1(负数) ③ 阶码 E = 1 + 127 = 128 = 10000000₂ ④ 尾数 M = 011 0000 0000 0000 0000 0000(去掉隐含的1,保留23位小数) ⑤ 结果:1 10000000 01100000000000000000000 ⑥ 十六进制:C020 0000H
36
简答题
6分
在采用边界对齐的32位系统中,定义结构体如下,如何调整成员顺序以节省空间?调整后的结构体大小是多少?
struct Loose {
short s; // 2B
int i; // 4B
char c; // 1B
double *p; // 8B(指针)
};✅ 答案:
① 分析原结构体对齐:
- s(2B) 偏移0
- i(4B) → 需对齐到4倍数,偏移4(偏移2填充2B)
- c(1B) 偏移8
- p(8B) → 需对齐到8倍数,偏移16(偏移9填充7B)
- 总大小24B(16+8)
② 按成员大小降序排列:
struct Optimized {
double *p; // 8B, 偏移0
int i; // 4B, 偏移8
short s; // 2B, 偏移12
char c; // 1B, 偏移14
}; // 总大小16B(15填充到16的倍数)
③ 优化后大小:16字节(节省8字节)37
计算题
8分
将十进制数-12.75转换为IEEE754单精度浮点数,并以十六进制表示。
✅ 答案:
① (-12.75)₁₀ = (-1100.11)₂ = (-1.10011)₂ × 2³ ② 符号位 S = 1(负数) ③ 阶码 E = 3 + 127 = 130 = 10000010₂ ④ 尾数 M = 100 1100 0000 0000 0000 0000(去掉隐含的1,保留23位小数) ⑤ 结果:1 10000010 10011000000000000000000 ⑥ 十六进制:C14C0000H
📙 第3章 存储系统
38
判断题
1分
Cache-主存层次由软件管理,主存-辅存层次由硬件管理。
✅ 答案:错误💡 Cache-主存由硬件管理(对程序员透明),主存-辅存由软件(OS)管理。
39
判断题
1分
在直接映射Cache中,每个主存块只能映射到Cache的一个特定位置。
✅ 答案:正确💡 直接映射:主存块号 mod Cache块数,每个主存块映射到唯一确定的Cache行。
40
选择题
2分
主存容量32M字节,按字节编址,至少需要多少位地址?
✅ 答案:B💡 32M=2²⁵,需25位地址线才能访问全部32M字节。
41
选择题
2分
Cache写策略中,写Cache同时也写主存的是
✅ 答案:A💡 直写法(Write-through)写Cache时同时更新主存,保证数据一致性但开销大。
42
选择题
2分
Cache容量64KB,每块16B,4路组相联,组索引位数为
✅ 答案:B💡 块数=64KB/16B=4096,组数=4096/4=1024,组索引=log₂1024=10位。
43
填空题
1分
CPU时钟周期 = 1 /
✅ 答案:主频
44
填空题
1分
Cache-主存层次主要解决问题,主存-辅存层次主要解决问题
✅ 答案:速度、容量
45
简答题
6分
比较三种Cache映射方式(直接映射、全相联映射、组相联映射)的优缺点。
✅ 答案:
| 映射方式 | 优点 | 缺点 |
|---|---|---|
| 直接映射 | 实现简单、查表速度快、成本低 | 冲突率高,Cache利用率低 |
| 全相联映射 | 冲突率最低,Cache利用率最高 | 比较电路复杂、查表速度慢、成本高 |
| 组相联映射 | 折中方案,冲突率和硬件复杂度适中 | 实现复杂度介于两者之间 |
总结:直接映射简单但冲突多;全相联灵活但硬件复杂;组相联是广泛使用的折中方案(如4路组相联)。
46
计算题
8分
某计算机主存地址32位,Cache容量64KB,每块大小16B。分别计算:
(1) 直接映射时,标记Tag、块索引、块内偏移各多少位?
(2) 4路组相联时,标记Tag、组索引、块内偏移各多少位?
(1) 直接映射时,标记Tag、块索引、块内偏移各多少位?
(2) 4路组相联时,标记Tag、组索引、块内偏移各多少位?
✅ 答案:
① 块内偏移:每块16B=2⁴B,偏移4位。 ② Cache块数 = 64KB/16B = 4096 = 2¹²块。 ③ 直接映射: - 块索引 = log₂(4096) = 12位 - 标记Tag = 32 - 12 - 4 = 16位 - 地址格式:Tag(16位) | 块索引(12位) | 偏移(4位) ④ 4路组相联: - 组数 = 4096/4 = 1024 = 2¹⁰组 - 组索引 = 10位 - 标记Tag = 32 - 10 - 4 = 18位 - 地址格式:Tag(18位) | 组索引(10位) | 偏移(4位)
57
选择题2分(课件思考题)下列关于存储器说法正确的是( )
✅ 答案:C 存储层次中速度越快每位价格越高(SRAM比DRAM快但贵)。
📕 第4章 指令系统
47
判断题
1分
RISC指令集的指令长度固定。
✅ 答案:正确💡 RISC精简指令集的特点之一就是指令长度固定(如MIPS为32位),便于流水线译码。
48
判断题
1分
采用寄存器间接寻址方式的操作数一定在存储器中。
✅ 答案:正确💡 寄存器间接寻址中,寄存器存放的是操作数的地址,操作数本身在主存中。
49
选择题
2分
寄存器间接寻址,操作数在
✅ 答案:A💡 寄存器存放地址,操作数在主存中。
50
选择题
2分
下列寻址方式中,操作数在指令中的是
✅ 答案:A💡 立即寻址的操作数直接存放在指令中(立即数),不须访存。
51
选择题
2分
已知存储器内容:M[1200H]=12FCH, M[12FCH]=38B8H,采用间接寻址(地址码1200H)的操作数是
✅ 答案:C💡 间接寻址:EA=M[地址码]=12FCH,操作数=M[12FCH]=38B8H。
52
填空题
1分
MIPS中,分支指令的转移目标地址由PC+偏移量决定,称为寻址方式
✅ 答案:相对
53
简答题
6分
某计算机指令字长16位,操作码为定长4位(三地址指令),现已设计出15条三地址指令、15条二地址指令。要使单地址指令数量最多,求单地址指令最多可有多少条?
✅ 答案:
① 指令总位数16位,操作码4位(三地址指令)剩余12位。
② 扩展编码方案:
- 三地址指令15条:4位操作码用掉1110(0000~1101共14条,1110留作扩展)
- 二地址指令15条:扩展标志1110 + 4位操作码,已用1110 0000~1110 1110(最后1111留作扩展)
- 单地址指令:在二地址扩展基础上继续扩展
扩展标志:1110 1111
剩余位数:16-4-4-4=4位
最多单地址指令 = 2⁴ = 16条
③ 若单地址也用完,可继续在同一位置扩展零地址指令。58
简答题8分(课件原题)7条指令I1~I7,频度0.4,0.3,0.15,0.05,0.04,0.03,0.03,用哈夫曼编码求平均码长和压缩率。
✅ 解答:
编码:I1→0, I2→10, I3→110, I4→11100, I5→11101, I6→11110, I7→11111
平均码长 = 0.4×1+0.3×2+0.15×3+0.05×5+0.04×5+0.03×5+0.03×5 = 2.20位
定长3位,压缩率 = 1-2.20/3 = 26.7%
编码:I1→0, I2→10, I3→110, I4→11100, I5→11101, I6→11110, I7→11111
平均码长 = 0.4×1+0.3×2+0.15×3+0.05×5+0.04×5+0.03×5+0.03×5 = 2.20位
定长3位,压缩率 = 1-2.20/3 = 26.7%
59
简答题6分(课件原题)指令系统共74种指令。前4种频率0.42(3位编码),中间15种频率0.34(6位编码),最后55种频率0.24(9位编码)。求平均码长。
✅ 解答:
4/16/64扩展法(3-6-9位):
平均码长 = 0.42×3 + 0.34×6 + 0.24×9 = 1.26+2.04+2.16 = 5.46位
4/16/64扩展法(3-6-9位):
平均码长 = 0.42×3 + 0.34×6 + 0.24×9 = 1.26+2.04+2.16 = 5.46位
📘 第5章 流水线技术
54
判断题
1分
流水线技术可以缩短单条指令的执行时间。
✅ 答案:错误💡 流水线不能缩短单条指令执行时间,但能提高指令吞吐率,即单位时间执行的指令数。
55
选择题
2分
流水线数据冲突中,旁路(转发)技术用于解决
✅ 答案:B💡 旁路技术将ALU结果直接转发到后续指令的输入端,解决RAW数据冲突。
56
选择题
2分
流水线的三种冒险中,转移指令引起的是
✅ 答案:C💡 转移指令改变程序执行流,导致控制冒险(Control Hazard)。
57
计算题
8分
一条5段流水线(IF、ID、EX、MEM、WB),各段时间均为Δt=20ns。现连续输入100条指令,求:
(1) 流水线总执行时间
(2) 吞吐率
(3) 加速比
(4) 最大吞吐率
(1) 流水线总执行时间
(2) 吞吐率
(3) 加速比
(4) 最大吞吐率
✅ 答案:
① 总执行时间 Tk = (k + n - 1) × Δt = (5 + 100 - 1) × 20 = 2080ns ② 吞吐率 TP = n / Tk = 100 / 2080ns ≈ 48.08M条/s ③ 加速比 S = (n × k × Δt) / Tk = (100×5×20) / 2080 = 10000/2080 ≈ 4.81 ④ 最大吞吐率 TPmax = 1/Δt = 1/20ns = 50M条/s
60
简答题6分(课件原题)最复杂指令分6块A~F,延迟80,30,60,50,70,10ps,寄存器20ps。求(1)2级流水线的时钟周期和吞吐率;(2)3级流水线。
✅ 解答:
(1)平衡点C-D间:前170ps后130ps,时钟=190ps,吞吐率≈5.26G条/s
(2)插B-C和D-E间:三段110/110/80ps,时钟=130ps,吞吐率≈7.69G条/s
(1)平衡点C-D间:前170ps后130ps,时钟=190ps,吞吐率≈5.26G条/s
(2)插B-C和D-E间:三段110/110/80ps,时钟=130ps,吞吐率≈7.69G条/s
📗 第6章 输入输出组织
58
填空题
1分
冯·诺依曼结构计算机由控制器、、存储器和输入/输出部件组成
✅ 答案:运算器
💡 点击"查看答案"可查看解析并标记为已答 | 选择题和判断题自动判对错 | 填空题需手动输入后blur检测