尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

计算机组成原理期末复习:核心考点与题型全解析

计算机组成原理期末复习:核心考点与题型全解析 1. 为什么这门课让人又爱又恨先弄懂复习主线我在后台收到不少同学的私信说《计算机组成原理》是大学四年遇到过最“飘”的课——上课好像听懂了合上书啥也不记得平时作业会做一到期末看到卷子上的大题直接懵。尤其是燕山大学的期末考核既考概念辨析又考计算推理还时不时来一道综合性的CPU流程题很多同学复习时东一榔头西一棒槌最后只能靠死记硬背碰运气。这门课之所以难是因为它站在“数字逻辑”和“操作系统”的中间地带既要求你理解硬件电路怎么搭又要求你明白软件指令怎么跑。说白了它讲的就是一条指令从取指到执行数据在计算机内部到底走了一条什么样的路。如果把计算机比作一家快递公司CPU是分拣中心内存是仓库总线是传送带I/O设备是收货点那这门课就是在讲每一个包裹数据如何被分拣、暂存、转运最终准确送达。理解了这条主线复习就不会散。这一篇复习提纲我不会给你铺一堆“重点名词解释”让你背而是按燕大期末卷子的真实套路帮你把知识点重新组织成一张网。你不需要把书从头翻到尾跟着我的章节走把每一条主线串起来再配合对应的计算题、分析题练习期末拿个理想的分数完全可期。适合正在备考期末的本科生也适合考研复习第一轮想快速搭框架的同学。2. 数据表示与运算送分题和丢分题只隔一层窗户纸2.1 原码、反码、补码、移码别靠背靠“模”来理解很多同学对四种机器数的转换规则背得滚瓜烂熟但一到“为什么补码能统一加减法”就卡壳。你要抓住一个核心概念模。n位二进制数的模是2的n次方补码就是“用模减去绝对值”得到的编码。也就是说减去一个数和加上它的补码在模运算下效果完全一样。这么一想计算机里只需要加法器就能搞定减法ALU里也不用单独造一套减法电路这是补码存在的根本原因也是期末简答题的高频考点。具体的转换规律我直接给你整理成一张表复习时对着看就够类型正数负数零的表示范围n位原码符号位0数值位为绝对值符号位1数值位为绝对值0000和1000两种-(2^(n-1)-1) 到 (2^(n-1)-1)反码同原码原码数值位逐位取反0000和1111两种同原码补码同原码反码末位加1只有0000一种-2^(n-1) 到 (2^(n-1)-1)移码补码符号位取反补码符号位取反只有1000一种同补码注意补码的“-128”这种特殊情况8位补码能表示的最小负数是-128但原码和反码都表示不了这个数因为它们的“负零”占了一个编码位置。这个考点经常出填空题出的就是“8位补码能表示的最小负数是多少”这类题答案就是-128很多同学会写成-127一丢就是2分。2.2 定点数和浮点数IEEE 754必须亲手算一遍定点数的考题花样不多无符号数和有符号数的表示范围、定点小数和定点整数的格式区分把概念理清就行。真正拉开差距的是浮点数燕大期末卷子基本每年都会有一道IEEE 754单精度格式的转换题给你一个十进制数让你转成32位浮点数或者反过来。我建议你按下面这个步骤练每一步都动笔写不要只在脑子里演算把十进制数转成二进制科学计数法形式是 ±1.xxx × 2^y。确定符号位S正数为0负数为1。计算阶码E y 127转成8位二进制。这里容易出错的是“移码”和“补码”搞混记住IEEE 754用的是偏置值为127的移码。尾数部分只保留小数点后面的23位隐含的最高位1不存储这就是“隐藏位”的意思。我举个例子把十进制数 -12.75 转成单精度浮点数。第一步12.75的二进制是1100.11科学计数法是1.10011 × 2^3。第二步S1。第三步E 3 127 130二进制是10000010。第四步尾数是10011000000000000000000。拼在一起就是1 10000010 10011000000000000000000。这道题的完整过程必须写到草稿纸上考场上才不会慌。浮点数运算题型比如“对阶”“尾数求和”“规格化”“舍入”燕大考得不多但选择题偶尔会出现你把“对阶是小阶向大阶看齐”这个原则记牢基本能对付。2.3 运算器的硬件基础加法器怎么串出乘法这章节还有一个容易出大题的方向一位全加器的逻辑表达式、串行加法器和并行进位加法器CLA的区别。串行进位加法器也就是行波进位加法器每一位的进位输出作为下一位的进位输入电路简单但速度慢因为高位必须等低位算完才能确定进位。并行进位加法器通过“生成函数”G和“传播函数”P把进位信号直接算出来公式是 C_i1 G_i P_i·C_i。到了组间并行进位就是每组内部并行、组间也并行这正好对应热搜词里的“组间串行进位”——所以组间可以是串行的也可以是并行的做题时先看清楚题目问的是组内还是组间。之所谓我反复强调这部分是因为它既能出填空题比如“先行进位加法器的进位生成函数是____”也能跟CPU章节结合出分析题问你“如果采用串行进位整个加法器的延迟是多少”。延迟的计算模式是每个全加器产生进位需要2级门延迟n位串行加法器就是2n级门延迟。这个推导过程一定要自己推一遍。3. 存储系统Cache是绝对的重灾区也是高分分水岭3.1 存储层次结构为什么不能只用一种存储器存储系统的考题分值很高而且题目类型非常固定。第一步先把“寄存器—Cache—主存—辅存”这条金字塔链路的原理说清楚核心逻辑是速度越快价格越贵容量越小。CPU直接和寄存器打交道Cache是主存的缓存主存是Cache的后备辅存硬盘用来掉电保存海量数据。这里有个常考概念叫“局部性原理”分时间局部性和空间局部性。时间局部性是指刚访问过的数据很快会被再次访问比如循环体里的变量空间局部性是指访问了一个地址附近的地址很快也会被访问比如数组的顺序遍历。Cache能提升性能靠的就是这两条原理。期末简答题如果问你“Cache为什么能提高CPU访问主存的有效时间”答案就围绕局部性原理来答。3.2 Cache的三种映射方式画图理解比死记公式强直接映射、全相联映射、组相联映射这三者的区别年年考。我建议你画一张内存地址划分图来记直接映射主存块号对Cache块数取模每个主存块只能进唯一一个Cache行。地址结构是“标记 行号 块内地址”。全相联映射主存块可以进任意Cache行。地址结构是“标记 块内地址”没有行号字段标记字段更长比较电路成本高。组相联映射折中方案主存块按组号取模映射到特定组组内任意放置。地址结构是“标记 组号 块内地址”。计算题最爱考的套路是给出Cache容量、主存容量、块大小求各种字段的位数。我举个例子主存1GBCache 64KB块大小16B采用四路组相联。块内地址位数 log2(16) 4位Cache行数 64KB / 16B 4096行每组4行组数 4096 / 4 1024组所以组号位数 log2(1024) 10位主存地址总位数 log2(1GB) 30位标记位数 30 - 10 - 4 16位。这道计算题如果你能独立推出来映射方式的分数就到手了。3.3 替换算法和写策略LRU和写回是高频组合替换算法里LRU最近最少使用是题库里的常客考法通常是给一个访问序列让你模拟Cache的替换过程最终统计命中率。这里要特别小心“刚被调入的行是最近使用的”所以LRU计数器要置为最大值不是最小值。写策略分两种写直达和写回。写直达是每次写数据同时更新Cache和主存优点是主存数据始终最新缺点是访问主存频繁速度慢写回是只更新Cache当Cache行被替换出去时才写回主存优点是写速度快缺点是主存数据可能暂时不一致。对应还有一个“写分配”和“写不分配”的概念通常写直达配写不分配写回配写分配。选择题爱考这些搭配关系你按“写直达简单但慢”“写回复杂但快”来记大方向。3.4 DRAM与SRAM一句话分清各自阵营DRAM动态随机存取存储器靠电容存储电荷需要定期刷新所以叫“动态”集成度高、价格低用作主存SRAM静态随机存取存储器用触发器存储不需要刷新速度快、集成度低、价格高用作Cache。期末常见填空题是“主存通常采用____Cache通常采用____”答案分别是DRAM和SRAM。还可能问“DRAM的刷新方式有哪些”比如集中刷新、分散刷新、异步刷新其中异步刷新是分散刷新和集中刷新的折中既能保证刷新周期均匀又不产生过长的“死区”。懂了这个逻辑选择题里“哪种刷新方式CPU停机时间最短”你会选得很快——通常是最新教材里的异步刷新。4. 指令系统寻址方式是必考清单一个都不能漏4.1 指令格式与操作码扩展会读位段就会做指令系统的题目更像“语文阅读题”给你一条指令的二进制让你拆出操作码、地址码然后说明这条指令的功能。要应付这类题你得先分清指令格式的几种常见设计按地址码个数分有三地址、二地址、一地址、零地址指令按操作码长度分有定长操作码和变长操作码。变长操作码的“扩展操作码”设计是燕大的高分题常见考法一个16位指令系统4位操作码、3个4位地址字段最多能设计15条三地址指令操作码取0000~1110留一个编码1111作为扩展标志然后把4个地址字段中的某个挪作操作码从而扩展出更多二地址、一地址指令。算的时候抓住“留一个标志编码作为扩展口子”这个思路一步一步算就行。我复习时发现很多同学在这道题上丢分大多是因为没意识到“扩展标志也要占用编码空间”总把全部编码都当成指令来用。4.2 寻址方式十种方式背后的核心逻辑寻址方式的考核包括两个层面一是概念题给你一个寻址方式名词让你写出操作数地址的计算公式二是分析题给一条指令的操作数和地址码问“这种寻址方式下操作数的实际地址是多少”。我把最常考的几种整理成一张速查表寻址方式有效地址典型特点立即寻址操作数就在指令中不需要访存速度最快但操作数范围受地址码位数限制直接寻址EA A简单直观访存1次间接寻址EA (A)灵活但需要访存2次速度慢寄存器寻址EA 即寄存器编号指令中给出寄存器号不访存寄存器间接寻址EA (R)操作数在主存地址在寄存器变址寻址EA A (IX)适合数组遍历变址寄存器内容可变基址寻址EA A (BR)适合程序重定位基址寄存器内容由系统设定相对寻址EA (PC) A用于分支转移地址与当前位置有关堆栈寻址操作数在栈顶硬堆栈用SP指示操作码隐含你发现没有这些寻址方式本质上就是在解决“操作数放哪、怎么找它”的问题不是在“寄存器”就是在“内存”再加上“偏移量”的组合变化。做题时按这个思路去套就不会混乱。4.3 程序执行过程从PC到IR再到执行指令周期的五个阶段——取指令、指令译码、计算有效地址、取操作数、执行操作——必须会画流程。期末大题经常让你描述“取指周期的微操作序列”这其实是个固定模板PC → MAR程序计数器内容送存储器地址寄存器发出读命令M(MAR) → MDR主存单元内容读入存储器数据寄存器MDR → IR指令送入指令寄存器指令译码器开始译码PC 1 → PC程序计数器自动加一指向下一条指令这几个微操作不是靠背就能全对的理解关键是“每个寄存器各司其职”PC管“下一跳”的地址MAR管“给内存的地址线送地址”MDR管“和内存交互的数据”IR管“暂存当前正在执行的指令”。把各寄存器角色搞清了无论题目怎么变你都能写出正确的微操作序列。5. CPU设计理解数据通路比记住概念重要一百倍5.1 单周期、多周期、流水线三种数据通路的取舍CPU章节是整门课的集大成者。综合题通常给你一个简化CPU的数据通路图让你分析某条指令的执行过程或者计算时钟周期、CPI。我建议你把三种CPU设计方案放在一起对比单周期CPU每条指令在一个时钟周期内完成时钟周期必须按最慢指令往往是Load指令的延迟来设计所以整体频率上不去。多周期CPU每条指令拆成多个步骤每一步一个时钟周期时钟周期可以做得短但每条指令的CPI会增大。流水线CPU让不同指令的不同阶段重叠执行理想情况下CPI接近1是性能最优的方案但要面对数据冒险、控制冒险和结构冒险。期末如果考“为什么RISC-V这类精简指令集适合做流水线”你得答到指令格式规整、指令长度固定、寻址方式少这几个特点。这些特征让取指和译码阶段更容易硬件实现冒险检测和转发逻辑也更简单。5.2 数据冒险和控制冒险名解和简答题的送分题数据冒险的本质是“指令之间存在数据依赖但结果还没算出来后面的指令就要用了”。最常见的解题策略是转发/旁路也就是运算结果从ALU输出端直接送回ALU输入端不必等写回寄存器。控制冒险的本质是“转移指令还没算出跳转地址流水线已经把后面的指令取进来了”。解决思路有分支预测、延迟槽、在译码阶段提前计算跳转地址等。期末简答题如果问“流水线冒险有哪几种各举一例并说明解决方法”你按照结构冒险——硬件资源冲突解决方法是资源重复或者指令交替数据冒险——数据依赖解决方法是转发或者插入停顿控制冒险——分支造成解决方法是分支预测或延迟槽。回答时每种都配一个具体例子分数就会比较稳。5.3 几个必懂的基础概念CPI、MIPS、主频的关系CPU性能计算是每年必考的计算题。核心公式有时钟周期 T 1 / fCPU执行时间 指令条数 × CPI × 时钟周期MIPS 指令条数 / (执行时间 × 10^6) 主频 / (CPI × 10^6)经常出现的坑是单位换算主频1GHz 10^9 Hz时钟周期就是1nsMIPS计算时要把10^6写到分母里否则会差一千倍。还有一道经典题某程序包含100万条指令其中20%是转移指令每条转移指令CPI为5其他指令CPI为2主频1GHz求程序执行时间。解题时先算平均CPI 0.2×5 0.8×2 2.6再算执行时间 10^6 × 2.6 × 10^(-9) 2.6ms。记住这个套路只要题目给比例就加权求平均CPI。6. 总线与I/O方式性价比最高的拿分模块6.1 总线的分类和仲裁概念题全在这总线这部分难度不大、分数不少是期末性价比最高的模块。你要记住三条主线按数据传送方式分串行总线、并行总线。按连接部件分片内总线CPU内部、系统总线连接CPU、主存、I/O接口系统总线又分数据总线、地址总线、控制总线。按时序控制方式分同步总线统一时钟、异步总线握手协议。总线仲裁考的是“谁来决定下一个使用总线的部件”。集中式仲裁有三种链式查询、计数器定时查询、独立请求。链式查询的特点是电路简单、易扩展但“离总线控制器越远的设备优先级越低”而且链路中某个设备故障会影响后面的设备计数器定时查询的优先级可以通过计数器初值设定独立请求的响应速度最快但控制线数量最多。这类题在燕大期末多是选择题或填空题但在考研真题里常常出简答。如果你在准备考研就得把三种仲裁的优缺点对比写全。6.2 I/O控制方式从程序查询到DMA的大跃迁I/O方式这块核心是理解“CPU参与程度越来越少”的趋势程序查询方式CPU不断轮询设备状态标志位设备没准备好就一直等。优点是控制简单缺点是CPU被严重浪费没法做别的。程序中断方式设备准备好后主动发中断请求CPU暂时挂起当前程序去处理I/O处理完再返回断点。这里有个重要细节——“中断响应”和“中断处理”是两回事。响应是硬件行为回答“中断响应之后CPU进入中断服务程序之前需要做什么”时标准答案是关中断、保存断点、识别中断源——这个先后顺序千万别记反。DMA方式直接存储器访问DMA控制器接管数据传送CPU只在传送前做初始化、传送结束后做善后。DMA传送过程中CPU可以继续执行程序这是它与中断方式最大的区别。期末如果出“比较中断和DMA的区别”至少有三个方面要说CPU介入程度不同中断需要CPU在中断服务程序中逐字传送数据DMA由硬件控制器批量传送响应时机不同中断只在指令周期结束后响应DMA可以在指令周期内的任意总线空闲时响应传送单位不同中断以字节/字为单位DMA以连续数据块为单位。这三个角度写进答题卡简答题基本不丢分。6.3 中断的全过程五个字记住——请求、判优、响应、服务、返回关于中断处理流程燕大喜欢考“CPU响应中断的条件”和“中断隐指令的作用”。响应中断的条件包括中断源有中断请求CPU允许中断中断屏蔽触发器为1一条指令执行完毕不是任意时刻都能响应没有更高优先级的事情在占用CPU。中断隐指令是硬件自动完成的操作主要包括关中断防止响应过程被打断、保存断点把PC内容压栈、引出中断服务程序入口地址。很多同学把“中断隐指令”和“中断服务程序”混为一谈其实前者是硬件行为后者是软件执行的程序考试写明区别就会显得思路清晰。7. 刷题之外的误区我见过太多人栽在这三个坑里7.1 只背概念不做计算考场上题认识你、你不认识题计算机组成原理的期末卷子计算题占比通常在30%到50%之间包括二进制转换、补码加减、浮点数转换、Cache字段划分、CPI计算、总线带宽计算。这些题型不亲手算几遍光靠“看懂了”完全不够。我在复习后期给自己定了个规矩每天至少各做两道浮点数转换和Cache地址计算题连续做五天速度自然就上去了。7.2 忽略了“微操作序列”的默写训练燕大历年大题里让写“取指周期微操作”“中断响应流程”“DMA传送流程”的题目简直不要太常见。这类题考的其实是“时序意识”哪一步在前、哪一步在后是有严格因果关系的。我建议用卡片法复习把每个流程的关键步骤写成一张卡片打乱顺序然后自己重新排序。排到能连续默写出完整流程时才算真正掌握了。7.3 教材和PPT用电子版扫一遍就上考场热搜词里频繁出现“计算机组成原理电子版”“知识点总结”“王道笔记”说明大家确实在找复习资料。但我要提个醒电子版资料只能作为辅助索引真正上考场前一定要回归课本里的图。比如数据通路图、Cache映射图、总线仲裁图考试题目往往会直接“改编”教材原图只是改了参数或指令类型。你如果只看总结笔记没见过原图结构万一图里某个寄存器的编号变了你就容易发懵。所以复习顺序应该是先看教材原图再用笔记查漏补缺。8. 冲刺阶段的复习安排最后两周怎么分配时间距离考试还有两周的话我的建议是分三轮推进。第一轮第1-4天按本文的章节顺序把数据表示、存储系统、指令系统、CPU、总线I/O这五块知识过一遍每块配合教材的课后题或者往年题做十道左右。这个阶段的核心目标是“查漏”把不会的标记出来。第二轮第5-9天主攻计算题和高频大题按照“浮点数转换—Cache字段计算—平均CPI计算—Cache替换过程模拟—微操作序列默写”的顺序每天一个专题。每个专题完成后再合上资料独立做一遍检验效果。第三轮第10-14天做整套模拟卷或往年真题严格按照考试时间控制节奏。做完后重点分析错题凡是因为“看错题目条件”而错的要在卷子上写下自己的出错原因凡是因为“某个公式没记住”而错的就翻回对应章节重新巩固。如果你时间更紧只有一周也可以压缩成前三天主攻计算题中间两天背简答题和流程题最后两天做整套卷子。但不管怎么压缩“动手算”这个环节绝对不能省。9. 各章考点频率与备考优先级参考不搞虚的直接给你一个按期末出题频率排序的参考表优先级从高到低排优先级考点模块常见题型建议投入时间占比高Cache映射与地址划分、替换算法计算题、综合分析题20%高浮点数IEEE 754转换计算题10%高CPU性能计算CPI、MIPS计算题10%高指令周期微操作序列简答、分析题15%中高流水线冒险与解决简答、选择题10%中高DMA与中断方式对比简答、选择题10%中寻址方式计算选择、填空题8%中总线仲裁选择、填空、简答7%中补码运算与溢出判断计算题5%低存储芯片扩展、DRAM刷新填空、选择5%这个表的依据是我对比了燕大和周边高校近五年的期末卷子后总结出来的规律。如果你时间实在不够优先保“高”这一档再腾出时间看“中高”档基本可以覆盖卷面70%以上的分值。芯片扩展和DRAM刷新这类题目也不是完全不考但分值不大考前把基本思路过一遍即可。复习的时候我习惯把每次做错的题标注在提纲旁边最后考前只看错题效率非常高。你自己复习时也可以建一个“错题关键词”清单比如“Cache标记位数算错”“浮点数阶码忘加127”“MIPS忘记除以10^6”这些都是常见的坑考前扫一眼胜过多刷三套题。希望这份提纲能帮你把零散的知识点串起来。最后说一句考试的时候遇到综合题不要慌先圈出题目给的容量、位数、频率这些关键参数再按“画图—列公式—代入计算—检查单位”的顺序来稳定发挥这门课绝对不会辜负你的努力。
返回列表