☰
计算机组成期末复习指南:从补码、Cache到CPI计算题突破
2026/10/30 5:08:56 网站建设 项目流程

简介:面向天津理工大学中加计算机组成课程学生的期末复习PPT,围绕课程核心知识、试卷题型与各章分值分布进行梳理,适合在考前快速定位重点、建立复习框架并查漏补缺。资源包共1个pptx文件,约1.46MB,内容以复习提纲、考点归纳和例题分析为主,便于按章节翻阅和课堂对照。课件覆盖负数补码、布尔代数与卡诺图、二进制与一位热编码、MIPS指令格式、CPI计算、PCI总线仲裁、Cache写策略、SRAM/DRAM、IEEE754浮点数、Booth乘法、指令周期及控制单元与ALU等知识点,并结合选择题、判断题和计算分析题展示考察方式。已有150人学习,可帮助读者把握计算分析题的分值比重、熟悉典型题型与解题思路,提升期末复习的针对性。

1. 计算机组成期末复习:先分清“背概念”和“写步骤”的分界

计算机组成期末复习最怕平均用力:把PPT从第一页抄到最后一页,最后计算题还是写不出字段。这份期末试卷的题型给得很直白:选择题20分、判断题10分、计算分析题70分,选择判断决定你能否稳住及格线,计算分析题决定分数上限。命题人把分撒在补码、K-map、CPI、Cache、Hamming、IEEE754、Booth、指令周期这些点上,真正的门槛不是背概念,而是看到题能按步骤拆。适合正在刷PPT、需要把“会看”变成“会写”的人。

2. 分值地图与选择判断:20分选择题和10分判断题先拿稳

2.1 先看分值表:哪些章是选择题判断题的“高频货架”

复习范围把分数写得很清楚:选择题10题共20分,判断题10题共10分,计算分析题7小题共70分。选择题和判断题加起来30分,看起来散,其实集中在固定章节:补码、K-map、状态编码、MIPS指令长度、I/O设备、ALU与CU、CPI、冯诺依曼结构、指令周期、PCI仲裁、Cache写策略、SRAM/DRAM、指令类型、算术移位、控制单元任务、水平/垂直微指令。计算题则明显偏向Cache地址格式、Hamming校验、IEEE754、Booth乘法、指令系统和性能计算。

章节选择题判断题计算分析题主要考点
DDCA-Chp1210负数补码码值互求、离散值变量
DDCA-Chp2210K-map圈组、布尔方程
DDCA-Chp3010one-hot编码、二进制编码
DDCA-Chp6010MIPS指令长度
DDCA-Chp700实验考察通过实验验收
COA-Chp1210I/O设备定义、ALU与CU功能
COA-Chp2600CPI计算、冯诺依曼特点、计算机代际
COA-Chp3210指令周期、PCI总线仲裁
COA-Chp42010Cache写策略、Problems 4.2/4.3
COA-Chp50110SRAM/DRAM存储单元、Problems 5.11/5.12
COA-Chp90022IEEE754码制互求、Booth乘法
COA-Chp102110指令类型、算术移位、Problems 10.6
COA-Chp110010Problems 11.4
COA-Chp122010时钟周期、指令周期计算、Problems 12.1/12.3
COA-Chp15010控制单元两个基本任务
COA-Chp16010水平微指令、垂直微指令

这张表最有用的地方不是背总分,而是定位“花时间最少、拿分最快”的块。补码、K-map、one-hot、MIPS指令长度、I/O定义、ALU/CU、指令周期、PCI仲裁、SRAM/DRAM、算术移位、控制单元任务、微指令,这些都属于看一遍能判断、练两遍能稳定的点。CPI、Cache写策略、冯诺依曼特点、计算机代际、指令类型则要配合小题练。

2.2 选择题真题演练:答案要落到“为什么不是别的”

先看补码题:把十进制数-50转成8位补码。步骤是先把50写成8位二进制00110010,按位取反得到11001101,再加1得到11001110,所以选B。这里最容易错在两个地方:一是只取反不加1,二是把符号位提前写死再算数值。8位补码的“取反加一”必须在8位范围内完成,溢出题才另看范围。

CPI题给了一张指令混合表:整数运算35000条、CPI为1;数据传送35000条、CPI为2;浮点运算25000条、CPI为2;控制转移5000条、CPI为2。总指令数是35000+35000+25000+5000=100000,总周期数是35000×1+35000×2+25000×2+5000×2=165000,有效CPI=165000/100000=1.65,选B。这题不是把四个CPI相加再除以4,而是按指令条数加权。看到“instruction mix”和“instruction count”就要立刻想到加权平均。

I/O设备定义题要抓住“外部环境”:I/O设备是计算机与外部环境之间交换信息的设备,不是只有键盘鼠标,也不是只指硬盘。ALU和CU的功能判断题则要分清:ALU做算术和逻辑运算,CU负责取指、译码、产生控制信号。把“控制单元做算术”这种选项排掉,基本就稳。

指令周期题看基本阶段:取指、译码、执行,复杂指令还会插入间址周期、中断周期。选择题里常把“时钟周期”和“指令周期”混在一起,时钟周期是CPU一个节拍的时间,指令周期是完成一条指令所需的时间,后者通常等于若干个时钟周期。Problems 12.3这类题会把频率、时钟周期、CPI放在一起,先算时钟周期=1/频率,再算指令周期=CPI×时钟周期,单位要统一到秒或微秒。

Cache写策略选择题要背住两组词:写直达是每次写都同时写Cache和主存,写回是只先改Cache,替换时再看更新位决定是否写回主存。写分配是写未命中时先把块调入Cache,非写分配是直接写主存。题目常问“哪种策略会减慢写操作”,写直达因为每次都要访问主存,答案通常落在写直达。冯诺依曼结构的特点则是存储程序、五大部件、二进制表示、顺序执行,别把“并行处理”当成冯诺依曼的核心特点。

K-map题虽然给的是图,判断方法很固定:圈组大小必须是2的幂,圈要尽可能大,圈可以跨边界相邻,所有1都要被覆盖,don't care可以借来用但不能被强制覆盖。选择题里正确的圈组通常不是“圈得最多”的那个,而是“圈得最大且每个圈都合法”的那个。计算机代际题按真空管、晶体管、集成电路、大规模集成电路这条线记,不要和存储层次混淆。

2.3 判断题真题演练:一句话里通常只藏一个错点

判断题的套路是“把概念换一个词”或者“把必要条件说成充分条件”。discrete-valued variables考的是数字系统处理离散值,不是连续值,判断时抓住“离散”二字。Boolean equations考组合逻辑的布尔描述,布尔方程可以描述逻辑关系,这个点通常判对。

one-hot和binary encoding是高频混淆点:K个状态用二进制编码只需要log2K位,用one-hot编码需要K位,而且one-hot在任意时刻只有一个位为1。判断题如果说“one-hot用log2K位”,错;如果说“binary encoding用K位”,也错。MIPS指令长度同理,MIPS32的指令格式是固定32位,R型、I型、J型都是32位,判断题如果说“MIPS指令长度可变”,错。

ALU与CU的判断题常见错法是“CU执行算术运算”或“ALU产生控制信号”,这两个都错。PCI总线仲裁方案考集中式仲裁:设备发请求,仲裁器给授权,同一时刻只有一个主设备占用总线。判断题如果说“PCI不需要仲裁”或“多个主设备可同时无条件占用”,错。SRAM cell和DRAM cell的判断题要记住:SRAM用6个晶体管,速度快、不需要刷新;DRAM用1个晶体管加电容,容量大、需要定期刷新。说“DRAM不需要刷新”就是错。

算术移位operation的判断题要区分算术右移和逻辑右移:算术右移补符号位,逻辑右移补0;算术左移低位补0。题目如果说“算术右移补0”,错。控制单元two basic tasks是指令解释和控制信号生成,判断题如果说“控制单元只负责运算”,错。水平microinstructions和垂直microinstructions的判断题抓住“水平位宽大、并行控制强、译码少;垂直位宽窄、需要更多译码、并行性弱”,把“水平微指令需要更多译码”判错。

3. Cache与存储器计算:地址拆位、Hamming校验、写策略三套模板

3.1 Problems 4.2:两路组相联地址格式先算行、再算组、最后算Tag

Problems 4.2给的是两路组相联Cache:每行16字节,总容量8KB,主存64MB,按字节编址。第一步算Cache行数:8KB除以16B等于512行。第二步算组数:两路组相联,每组建2行,所以512÷2=256组。第三步算主存地址位数:64MB=2^26B,按字节编址就是26位地址。第四步拆字段:字偏移log2(16)=4位,组索引log2(256)=8位,Tag=26-8-4=14位。所以主存地址格式是TAG 14位、SET 8位、WORD 4位。

字段位数作用
TAG14判断Cache行是否命中
SET8选中256组中的哪一组
WORD4选中行内16字节中的哪一字节

这道题的得分点不是最后三个数字,而是写清楚“行数—组数—地址位数—字段位数”四行。阅卷时看到这四行,基本知道你是按结构算的。常见错误是把8KB直接当数据容量,忘了两路组相联要除以2;或者把WORD位数算成log2(8KB),那是把整个Cache当一行。还有一种错误是Tag用26-8=18位,忘了字偏移。只要先写“64MB=26位”,再写“16B=4位、256组=8位”,Tag自然就是14位。

3.2 Problems 4.3:直接映射、全相联、两路组相联的字段切法不要混

Problems 4.3给三个十六进制主存地址111111、666666、BBBBBB,分别求直接映射的Tag/Line/Word、全相联的Tag/Word、两路组相联的Tag/Set/Word。这道题和4.2不是同一组Cache参数,字段宽度要看图4.10、图4.12、图4.15对应的结构。复习资料里给出的结果可以作为字段顺序的核对表:

地址直接映射 Tag/Line/Word全相联 Tag/Word两路组相联 Tag/Set/Word
1111110xff / 0x3fff / 0x30x3fffff / 0x30x1ff / 0x1fff / 0x3
6666660x66 / 0x1999 / 0x20x199999 / 0x20x0cc / 0x1999 / 0x2
BBBBBB0xbb / 0x2eee / 0x30x2eeeee / 0x30x177 / 0x0eee / 0x3

答题时先判断映射方式:直接映射是Tag、Line、Word三段;全相联没有行索引,只有Tag和Word两段;两路组相联是Tag、Set、Word三段。然后把十六进制地址展开成二进制,按低位到高位切Word,再切Line或Set,剩下高位就是Tag。十六进制切位有个小技巧:Word占2位就对应十六进制的低1位的一部分,Line占14位、Set占13位时,最好先转二进制再分组,别直接在心算里借位。

注意:4.2算出来的是TAG 14、SET 8、WORD 4,4.3的字段宽度是另一组参数。把4.2的14/8/4套到4.3,是这类题最常见的翻车方式。每道题先看题面给的行大小、总容量、路数,再决定字段位数。

直接映射的Line是行号,不是组号;两路组相联的Set是组号,不是行号。全相联的Tag最长,因为没有索引位,所有行都要靠Tag比较。答题时把“Word是块内偏移,Line/Set是索引,Tag是剩余高位”这句话写在草稿上,能减少一半错误。

3.3 Problems 5.11/5.12:Hamming校验位先排位置,再按覆盖关系异或

Problems 5.11给8位数据字11000010,要求用Hamming算法求校验位。先把数据位和校验位排到Hamming字的位置上:位置1、2、4、8放校验位C1、C2、C3、C4,位置3、5、6、7、9、10、11、12放数据位D1到D8。8位数据字从低位到高位对应D1到D8:D1=0、D2=1、D3=0、D4=0、D5=0、D6=0、D7=1、D8=1。然后按覆盖关系算:

C1=D1⊕D2⊕D4⊕D5⊕D7=0⊕1⊕0⊕0⊕1=0
C2=D1⊕D3⊕D4⊕D6⊕D7=0⊕0⊕0⊕0⊕1=1
C3=D2⊕D3⊕D4⊕D8=1⊕0⊕0⊕1=0
C4=D5⊕D6⊕D7⊕D8=0⊕0⊕1⊕1=0

所以校验位C4C3C2C1=0010。答题时要把“位置1、2、4、8是校验位”和“每个校验位覆盖哪些位置”写出来,只写最后四个0/1,过程分很容易丢。

Problems 5.12是纠错题:8位字00111001存储时校验位是0111,读出时重新计算的校验位是1101。把存储校验位和计算校验位异或:0111⊕1101=1010,二进制1010等于十进制10,说明Hamming字第10位出错。第10位对应数据位D6,把读出数据字00111001

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询