资讯动态

计算机组成期末复习:Cache、IEEE754与Booth乘法计算题拆解

发布时间:2026/10/17 8:59:29 来源:尧图企业网站定制
简介这份天津理工大学中加计算机组成期末复习PPT面向正在备考计算机组成原理的学生尤其适合需要梳理考点、查漏补缺的复习阶段使用。资源包共1个pptx文件大小约1.46MB以幻灯片形式集中呈现复习范围与试卷题型分布涵盖选择题、判断题与计算分析题三大类。内容按章节拆解考点包括负数补码互求、卡诺图圈组、一位热编码与二进制编码对比、MIPS指令格式、CPI计算、指令周期、PCI总线仲裁、Cache写策略、SRAM与DRAM区别、IEEE754浮点数表示、Booth乘法、移位操作以及时钟周期与指令周期计算等核心知识点并配有典型例题与参考答案。已有146人学习适合用于期末冲刺阶段快速定位重点章节、对照题型进行针对性练习也可作为课堂笔记的补充材料帮助建立从数据表示到存储系统设计的整体知识框架。1. 从一份期末复习 PPT 说起计算机组成到底考什么如果你正在搜“计算机组成 期末试卷”或者“天津理工大学 中加计算机组成 复习”大概率你手里已经有一份复习 PPT但翻了两页就发现信息密度极高、考点散落在十几章里根本不知道从哪下手。这份复习资料的核心价值不在于“押题”而在于它把 DDCA 和 COA 两本教材的考点按章节拆开明确标注了每章的分值分布和题型——选择题、判断题、计算分析题各占多少哪些章节只出判断哪些章节必出大题。换句话说它是一张考卷的“结构图”而不是知识点堆砌。适合谁用如果你已经学过一遍课程但知识点是散的这份资料能帮你把碎片串成线如果你时间紧、只想抓大头计算分析题占了 70 分集中在 Cache、存储器、IEEE754、Booth 乘法、指令周期这几块优先攻这些章节的性价比最高。接下来我会按“考点拆解 → 计算题实操 → 避坑 → 进阶验证”的顺序把这份 PPT 里真正会考的东西讲透。2. 考点分布拆解哪些章节值得花时间哪些可以放2.1 分值地图70 分计算题集中在五章先看复习范围里给出的分数分布这是决定复习优先级的唯一依据。选择题 20 分、判断题 10 分、计算分析题 70 分计算题是绝对大头。把各章分值拉出来看章节选择/判断分值计算分析分值核心考点COA-Chp42010Cache 地址格式、写策略COA-Chp50110汉明码、SRAM/DRAMCOA-Chp9022IEEE754、Booth 乘法COA-Chp102110指令类型、算术移位COA-Chp11010指令流水线COA-Chp12210时钟周期、指令周期计算DDCA-Chp1~3530补码、K-Map、状态编码COA-Chp1~31020I/O、CPI、指令周期、PCI 仲裁COA-Chp9 的 22 分是单章最高IEEE754 码制互求和 Booth 乘法几乎必考。COA-Chp4 和 Chp5 各 10 分计算题对应 Problems 4.2/4.3 和 5.11/5.12题型固定。DDCA 部分只出选择判断分值分散但总量不小8 分补码和 K-Map 是送分题不该丢。2.2 选择判断题的高频考点清单选择题和判断题虽然每题分值低但覆盖面广复习时按“关键词 → 正确表述”的方式记忆效率最高。从复习范围里提取出以下必记点DDCA-Chp1负数补码码值互求。给十进制转 8 位补码或给补码转十进制注意溢出判断。DDCA-Chp2K-Map 圈组。判断哪个圈组是正确的核心原则是圈尽可能大、圈内 1 的个数是 2 的幂、圈可以重叠但每个圈至少包含一个未被其他圈覆盖的 1。DDCA-Chp3one-hot encoding 用 K 位表示 K 个状态binary encoding 用 log₂K 位。判断题常考“one-hot 比 binary 更省位”——错是更费位但更抗噪。DDCA-Chp6MIPS 指令格式。R 型、I 型、J 型各字段位数判断题常考“所有 MIPS 指令都是 32 位”——对。COA-Chp1I/O 设备定义、ALU 和 CU 的功能划分。CU 负责控制ALU 负责运算别搞反。COA-Chp2CPI 计算、冯诺依曼结构特点存储程序、顺序执行、计算机世代划分。COA-Chp3指令周期阶段划分、PCI 总线仲裁方案集中式/分布式。COA-Chp5SRAM 单元是六晶体管DRAM 是单晶体管加电容DRAM 需要刷新。COA-Chp10算术移位操作左移乘 2、右移除 2注意符号位处理。COA-Chp15/16控制单元两大任务取指、执行水平微指令 vs 垂直微指令的区别。这些点不需要深究原理但必须能在一句话内判断对错。我一般会把它们整理成一张 A4 纸正面写关键词、背面写正确表述考前过三遍。2.3 计算分析题的题型识别计算分析题虽然占 70 分但题型高度集中复习范围里已经点名了具体题号COA-Chp4Problems 4.2 和 4.3Cache 地址格式拆分。4.2 是给定 Cache 参数求地址各字段位数4.3 是给定十六进制地址求 Tag/Line/Word 或 Tag/Set/Word。COA-Chp5Problems 5.11 和 5.12汉明码校验位计算和纠错。COA-Chp9IEEE754 码制互求 Booth 乘法22 分两道大题的量。COA-Chp10Problems 10.6指令类型相关计算。COA-Chp11Problems 11.4流水线相关。COA-Chp12Problems 12.1 和 12.3时钟周期和指令周期计算。这些题号对应的题型在教材里有固定解法下面挑最核心的几类展开。3. Cache 与存储器计算题从地址格式到汉明码3.1 Cache 地址拆分三步搞定任意映射方式Cache 计算题的核心就一件事把主存地址的二进制位拆成 Tag、Set/Line、Word 三段。拆法取决于映射方式直接映射地址 Tag Line Word全相联地址 Tag Word组相联地址 Tag Set Word以 Problems 4.2 为例题目给的是两路组相联、行大小 16 字节、总大小 8KB、主存 64MB 字节编址。解题步骤第一步算 Cache 行数 行数 总大小 / 行大小 8KB / 16B 512 行 第二步算组数组相联才有 组数 行数 / 路数 512 / 2 256 组 第三步算各字段位数 主存地址长度 log2(64M) 26 位 Word 字段 log2(行大小) log2(16) 4 位 Set 字段 log2(组数) log2(256) 8 位 Tag 字段 26 - 8 - 4 14 位 第四步写出地址格式 TAG(14位) | SET(8位) | WORD(4位)参数说明行大小决定 Word 位数组数决定 Set 位数Tag 是剩下的。注意主存地址长度是 log₂(主存容量)不是容量本身。如果题目给的是“字节编址”且主存 64MB那就是 2²⁶ 个地址单元26 位。Problems 4.3 是反向操作给十六进制地址求各字段值。以 111111₁₆ 为例先转二进制111111₁₆ 0001 0001 0001 0001 0001 0001₂ 24位高位补0到26位 00 0001 0001 0001 0001 0001 0001₂ 直接映射Tag 14位 | Line 9位 | Word 4位因为512行需要9位 取低4位为 Word 0001₂ 0x1不对看答案 Word0x3这里有个容易翻车的点题目答案里 Word0x3说明地址的低 4 位是 0011₂。我重新核对 111111₁₆ 的二进制10001所以 111111₁₆ 0001 0001 0001 0001 0001 0001₂低 4 位是 0001₂0x1。但答案写的是 Word0x3这说明我可能看错了地址或者答案的拆分方式不同。实际考试时以题目给定的地址格式图为准不同教材的字段顺序可能不同。常见做法是先确认教材里 Figure 4.10 的格式图按图拆位不要凭记忆。提示Cache 题最怕的就是字段顺序搞反。我一般会在草稿纸上先画出教材里的格式图标好每一位的范围再把地址填进去最后转十六进制。3.2 汉明码校验位计算定位与纠错Problems 5.11 是给 8 位数据字 11000010求汉明码校验位。汉明码的核心是校验位放在 2 的幂次位置1、2、4、8……每个校验位负责一组数据位的奇偶校验。数据位D1~D8 1 1 0 0 0 0 1 0 位置 1 2 3 4 5 6 7 8 9 10 11 12 内容 C1 C2 D1 C4 D2 D3 D4 C8 D5 D6 D7 D8 值 ? ? 1 ? 1 0 0 ? 0 0 1 0 C1 负责位置 1,3,5,7,9,11D1⊕D2⊕D4⊕D5⊕D7 1⊕1⊕0⊕0⊕1 1 C2 负责位置 2,3,6,7,10,11D1⊕D3⊕D4⊕D6⊕D7 1⊕0⊕0⊕0⊕1 0 C4 负责位置 4,5,6,7,12D2⊕D3⊕D4⊕D8 1⊕0⊕0⊕0 1 C8 负责位置 8,9,10,11,12D5⊕D6⊕D7⊕D8 0⊕0⊕1⊕0 1所以校验位 C1C2C4C8 1 0 1 1。但题目答案给的是 0 0 1 0说明我的数据位排列或校验位定义和教材不同。这里的关键是汉明码的校验位位置和覆盖范围在不同教材里可能有差异考试时以复习 PPT 里给出的布局为准。我一般会先把 PPT 里的布局表抄下来按表算不自己推。Problems 5.12 是纠错给定存储的校验位 0111读出的校验位 1101异或得 1010₂ 10说明第 10 位出错。第 10 位对应 D6翻转 D6 即可得到正确数据字。3.3 写策略与存储器类型判断题Cache 写策略只有两种写直达Write Through和写回Write Back。写直达是每次写都同时更新 Cache 和主存慢但简单写回是只更新 Cache替换时才写回主存快但需要脏位标记。判断题常考“写回比写直达更简单”——错写回需要额外的脏位和替换时的写回逻辑更复杂。SRAM 和 DRAM 的区别也是高频判断点SRAM 用六晶体管速度快、成本高、不需要刷新DRAM 用单晶体管加电容容量大、成本低、需要定期刷新。判断题说“DRAM 不需要刷新”——直接判错。4. IEEE754 与 Booth 乘法22 分大题的实操拆解4.1 IEEE754 单精度格式互求IEEE754 单精度是 32 位1 位符号位、8 位阶码偏移 127、23 位尾数隐含前导 1。十进制转 IEEE754 的步骤例将 -12.375 转为 IEEE754 单精度 第一步转二进制 12 1100₂ 0.375 0.011₂ 所以 12.375 1100.011₂ 第二步规格化 1100.011 1.100011 × 2³ 尾数部分 100011后面补 0 到 23 位 第三步算阶码 阶码 3 127 130 10000010₂ 第四步拼装 符号位 1负数 阶码 10000010 尾数 10001100000000000000000 结果1 10000010 10001100000000000000000反向转换IEEE754 转十进制就是逆过程拆符号、阶码减 127 得实际指数、尾数加隐含 1 后移位。注意阶码全 0 和全 1 是特殊值。全 0 表示非规格化数或零全 1 表示无穷大或 NaN。考试如果出特殊值转换别按常规公式算。4.2 Booth 乘法从补码到积的完整流程Booth 乘法用于有符号数乘法核心是检查乘数相邻两位的差值来决定加被乘数、减被乘数还是不变。算法步骤例用 Booth 算法计算 (-3) × (-5)4 位补码 被乘数 M -3 1101₂4位补码 乘数 Q -5 1011₂4位补码 Q-1 0 初始化A 0000, Q 1011, Q-1 0, M 1101 第1轮Q0 Q-1 1 0 → A A - M 0000 - 1101 0011 算术右移A0001, Q1101, Q-11 第2轮Q0 Q-1 1 1 → 不操作 算术右移A0000, Q1110, Q-11 第3轮Q0 Q-1 0 1 → A A M 0000 1101 1101 算术右移A1110, Q1111, Q-10 第4轮Q0 Q-1 1 0 → A A - M 1110 - 1101 0001 算术右移A0000, Q1111, Q-11 结果AQ 0000 1111 15 验证(-3) × (-5) 15 ✓参数说明M 是被乘数Q 是乘数A 是累加器Q-1 是辅助位。每轮看 Q 的最低位和 Q-101 加 M10 减 M00 或 11 不变。然后做算术右移保持符号位。轮数等于位数。Booth 乘法的坑在于算术右移时符号位要复制不是补 0。另外减 M 在补码里是加 M 的补码别搞错。4.3 指令周期与 CPI 计算CPI 计算是送分题公式是加权平均CPI Σ(指令数 × 周期数) / 总指令数 例整数运算 35000 条 × 1 周期 数据传送 35000 条 × 2 周期 浮点运算 25000 条 × 2 周期 控制传送 5000 条 × 2 周期 总周期 35000×1 35000×2 25000×2 5000×2 35000 70000 50000 10000 165000 总指令 35000 35000 25000 5000 100000 CPI 165000 / 100000 1.65指令周期计算Problems 12.3通常是给时钟频率和指令阶段数求执行时间。常见做法是先算一个时钟周期的时间再乘以每条指令的平均周期数。5. 避坑与排查复习和考试里最容易翻车的五个点5.1 补码转换时忘记溢出判断现象把 -50 转 8 位补码算出 11001110但题目选项里有 overflow 选项不确定要不要选。原因8 位补码范围是 -128 到 127-50 在范围内不会溢出。溢出只发生在结果超出表示范围时比如 -200 转 8 位补码就会溢出。解决转换前先确认目标位数的表示范围转换后验证符号位和数值是否合理。正数补码符号位 0负数符号位 1如果正数算出符号位 1说明溢出。5.2 K-Map 圈组贪大导致覆盖不全现象K-Map 化简时圈了一个最大的组但剩下的 1 没法用更少的圈覆盖结果表达式不是最简。原因贪心圈最大的组忽略了后续覆盖。K-Map 化简需要全局最优不是局部最优。解决先圈孤立的 1只被一个圈能覆盖的再圈大的。圈可以重叠但每个圈至少要有一个“独占”的 1。圈内 1 的个数必须是 2 的幂。5.3 Cache 地址字段顺序搞反现象算出来的 Tag 和 Set 值和答案对不上但位数是对的。原因不同教材的地址格式图字段顺序不同有的 Tag 在高位、Set 在中间、Word 在低位有的顺序不一样。解决考试时先找题目给的格式图Figure 4.10/4.12/4.15按图拆位。如果没有图按“Tag 高位、Set 中间、Word 低位”的通用规则但要在草稿纸上标清楚每一位的范围。5.4 Booth 乘法算术右移补错位现象Booth 乘法结果不对检查发现右移时补了 0 而不是符号位。原因算术右移和逻辑右移搞混了。Booth 乘法里 A 和 Q 的联合右移是算术右移A 的最高位保持不变。解决右移时 A 的符号位复制到 A 的最高位A 的最低位移到 Q 的最高位Q 的最低位移到 Q-1。记住“算术右移保符号”。5.5 IEEE754 阶码偏移量记错现象十进制转 IEEE754 时阶码算错导致整个结果偏差。原因单精度偏移量是 127双精度是 1023记混了。解决单精度 8 位阶码偏移 127双精度 11 位阶码偏移 1023。转换时先确认精度再套偏移量。特殊值全 0、全 1单独处理。6. 用 Python 验证你的手算结果一个脚本搞定所有计算题手算完最怕的就是不确定对不对。我一般会写一个小脚本把关键计算跑一遍对照手算结果。下面这个脚本覆盖了补码转换、IEEE754、Booth 乘法和 CPI 计算考前用它验证几遍比反复翻书效率高。def twos_complement(value, bits): 十进制转指定位数补码 if value 0: value (1 bits) value return format(value, f0{bits}b) def ieee754_encode(num): 十进制转 IEEE754 单精度 import struct packed struct.pack(f, num) binary .join(f{b:08b} for b in packed) return f{binary[0]} {binary[1:9]} {binary[9:]} def booth_multiply(m, q, bits4): Booth 乘法返回十进制结果 M m ((1 bits) - 1) Q q ((1 bits) - 1) A 0 Q_1 0 for _ in range(bits): q0 Q 1 if q0 1 and Q_1 0: A (A - M) ((1 bits) - 1) elif q0 0 and Q_1 1: A (A M) ((1 bits) - 1) # 算术右移 combined (A (bits 1)) | (Q 1) | Q_1 combined 1 Q_1 combined 1 Q (combined 1) ((1 bits) - 1) A (combined (bits 1)) ((1 bits) - 1) result (A bits) | Q if result (1 (2 * bits - 1)): result - (1 (2 * bits)) return result def compute_cpi(instruction_counts, cycles_per_instruction): 计算 CPI total_cycles sum(c * cy for c, cy in zip(instruction_counts, cycles_per_instruction)) total_instructions sum(instruction_counts) return total_cycles / total_instructions # 验证 print(补码 -50 (8位):, twos_complement(-50, 8)) print(IEEE754 -12.375:, ieee754_encode(-12.375)) print(Booth (-3)×(-5):, booth_multiply(-3, -5)) print(CPI:, compute_cpi([35000, 35000, 25000, 5000], [1, 2, 2, 2]))逻辑说明twos_complement用位运算处理负数补码ieee754_encode借助 struct 库直接打包浮点数booth_multiply完整实现了 Booth 算法的四轮循环compute_cpi做加权平均。参数方面bits控制位数Booth 乘法默认 4 位CPI 传入指令数和周期数列表。跑完对照手算结果如果一致就放心了。不一致就回去检查手算步骤比翻书快得多。提示这个脚本只用于验证考试时不能带。但考前用它跑几组数据能帮你建立对计算结果的直觉考场上算完心里有底。从那以后我每次复习计算题都会先手算一遍再用脚本验证错的地方重点标记。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑