
1. 为什么我把计算机组成原理的复习重心放在刷题上计算机组成原理这门课在上大学时几乎劝退了我。当时用的教材是唐朔飞老师的版本厚厚一本知识点又多又杂从二进制小数到CPU数据通路从Cache映射到微程序控制器每一章都能单独拉出来讲好几节课。上课听老师讲“组间串行进位”的时候我整个人是懵的——明明每个汉字都认识连在一起就是不知道在说啥。后来期末复习我发现一个很扎心的事实光看知识点总结、背概念上了考场照样不会做题。反而是那些平时刷题多的同学哪怕原理没完全搞懂也能凭“见过类似的题”把分数拿下来。说句实话计算机组成原理的期末考试、考研408中的计算机组成原理部分题型非常固定。数据表示里的补码运算存储系统里的Cache地址划分指令流水线里的加速比计算CPU章节里的微指令编码几乎年年考换汤不换药。这就意味着做题本身就是最有效的复习方式。通过刷题你能快速判断自己到底有没有理解某个知识点。比如“补码加减法溢出判断”这个概念看书时觉得懂了但一做题就会发现自己总在“符号位进位”和“最高数值位进位”之间犯迷糊。这种偏差只有通过题目才能暴露出来。有人可能会问那我先把课本从头到尾读一遍再开始刷题不行吗我的建议是不要。等你把整本书读完前面早就忘光了。最好的方式是“一章知识点快速过一遍马上做对应习题做完再看下一章”。这样每章的知识都能在题目里得到即时验证。而且计算机组成原理的题目很吃“手感”比如给你一个二进制数你要条件反射地算出补码、移码判断溢出给你一个Cache容量你要熟练地划分地址字段。这些熟练度只能靠反复刷题来获得靠“看”是看不出来的。所以我一直觉得与其对着PPT盲目划重点不如直接进入题目场景从题目中反向理解原理。下面几节我把自己复习时整理过的几类高频题型连同答案和易错点一起拆开揉碎了讲一讲。题目都不是我凭空编的基本是各高校期末和考研中的经典变体你刷题时大概率能见到类似版本。看完以后自己动手算一遍会比我干巴巴讲十遍都有用。2. 数据表示与运算器必考题型的拆解与易错点2.1 补码加减法一道题讲透符号位与进位补码加减运算是计算机组成原理的“开胃菜”几乎所有试卷的第一道大题都跟它有关。很多同学觉得简单但真做起来错在符号位和进位上的情况特别多。先看一道典型题。题目设机器字长为8位含1位符号位。已知x -1101y 1011用补码求x y和x - y并判断是否溢出。解答先把 x、y 转换成补码。机器字长8位数值位7位。x -0001101原码是10001101补码为11110011。y 0001011原码是00001011补码就是00001011。注意正数的补码等于原码负数的补码是“原码除符号位外取反加1”。求 x y11110011 00001011 11111110结果是补码11111110最高位是1为负数。转换成真值补码11111110减1再取反除符号位得到原码10000010即 -2。验算一下-13 11 -2正确。求 x - y也就是 x (-y)。先求 -y 的补码y 是正数00001011那么 -y 的补码就是 y补 全部按位取反再加1符号位也参与运算00001011 取反为11110100加1得到11110101。x (-y) 11110011 11110101 11101000最高位进位丢弃因为字长只有8位。这个结果补码11101000最高位是1负数。转换成真值11101000减1得11100111取反符号位不变得10011000即 -11000也就是 -24。验算 -13 - 11 -24正确。易错点很多同学在做减法时喜欢先把 y 转换成负数的补码但往往忘记“取反加1”应该对包括符号位在内的整个8位进行。另外在相加过程中产生了进位如果超出了字长范围直接丢掉千万不要觉得“进位了就是溢出”。进位和溢出是两回事这一点下面专门讲。2.2 组间串行进位加法器的延迟计算“组间串行进位”这个概念是唐朔飞教材里的经典考点也是很多学校期末选择题的常客。我之前第一次看到这个名词时还以为是某种复杂电路后来才发现它本质上就是把多个4位CLA超前进位加法器模块串联起来组内并行、组间串行。计算延迟时很多同学背公式背得晕其实理解了电路结构就通了。题目一个16位加法器采用4位一组CLA构成组内为并行进位组间为串行进位。已知每个门电路延迟为1ty一位全加器产生本位和与进位输出的延迟分别为6ty和5ty组内并行进位逻辑的延迟为2ty即产生组内进位信号的延迟。求整个16位加法器完成一次加法的最长延迟。解答先不用纠结具体数值关键在于理解“最长路径”。组内是4位CLA第一组的进位C4由输入C0经过组内进位逻辑产生需要2ty同时各组内部求和时要等组内进位稳定后才能产生最终的和。后面每组都是串行也就是说C4要作为下一组的输入进位下一组内部再花2ty产生C8依次类推。等到C16产生后最高位所在的那组还要产生本组和通常还需要一个全加器求和的延迟即6ty。具体计算产生第一组进位C4需要2tyC4传到第二组产生C8又需要2ty第三组产生C12需要2ty第四组产生C16需要2ty。这是组间串行的4次传递共8ty。最后C16可以作为最高位和S15的生成条件注意最高位求和可能需要等待C12到C16的传递或者在实际电路中高位和需要等待组内进位和组间进位都稳定后才能输出。一般来说4位CLA内的和位延迟是进位稳定后加上一个全加器求和的延迟6ty。所以总延迟 产生C16的4次组间传递每次2ty 最高位求和延迟6ty 输入操作数到加数/被加数进入加法器的门延迟如果题目明确给出输入信号立即有效就忽略输入延迟。这样总延迟 2 × 4 6 14ty。但这个答案在不同教材的“标准解答”里可能略有差异有的会把“产生最低位组内进位”的2ty替换成“第一个全加器产生进位输出的5ty”。为什么会有差异因为组内采用CLA时最低位进位来源不是C0直接经过一个全加器而是经过超前进位逻辑所以用2ty更合理。如果题目没有给出组内进位逻辑延迟只给了全加器进位5ty那就按5ty算。这提醒我们做这类题时一定先看题目提供的延迟参数不要硬套公式。核心结论组间串行进位加法器的总延迟 组间级数 × 单级组间延迟 最后求和延迟。组间级数 总位数 / 每组位数。如果题目考的是“组内串行进位行波进位”的延迟那每一级进位都要经过一个全加器的进位延迟公式变成 n × 单个全加器进位延迟。先判断是哪种进位方式再动笔可以避免大面积失分。2.3 溢出判断的三种方法与快速口诀溢出判断是运算器里的必考点选择题和简答题都爱出。很多同学记了三种方法但一到计算题就混。实际上这三种方法核心都一样只是看问题的角度不同。第一种双符号位法变形补码。在运算时使用两个符号位比如正数符号位为00负数符号位为11。运算后如果结果的符号位为01表示正溢出为10表示负溢出为00或11则无溢出。这个方法最直观做题时可以把单符号位扩展成双符号位再算一遍。第二种单符号位进位判断法。如果最高数值位向符号位产生的进位与符号位产生的进位不同则溢出。具体来说符号位产生进位而最高数值位不产生进位说明正溢出反之则是负溢出。这个方法很多同学容易绕晕建议配合“异或”理解溢出 符号位进位 ⊕ 最高数值位进位。第三种操作数符号与结果符号法。两个同号数相加如果结果的符号与操作数相反则溢出两个异号数相加不可能溢出。这种方法最适合做填空题因为它不需要看进位只需要看符号。我自己的做题习惯是先用第三种方法快速过滤如果操作数异号直接写“不会溢出”如果同号再用第一种双符号位法验算一遍。比如前面2.1那道题x y 中 x是负、y是正异号相加肯定不会溢出。x - y 本质上也是异号相加负加负不对x是负-y是负同号相加结果 -24 在8位范围内所以不溢出。用双符号位法验证x补 111110011? 算了不展开。总之三种方法取长补短能帮你快速锁定答案。3. 存储系统Cache映射与地址划分题的套路化解法3.1 Cache与主存映射选择题的快速判断存储系统部分的题目基本围绕Cache展开。不管是直接映射、全相联映射还是组相联映射第一步都是把地址字段划分清楚。这道题是基础中的基础。题目某计算机的主存地址空间大小为256MB按字节编址Cache容量为8KBCache块大小为32B采用4路组相联映射。求主存地址中各字段的位数块内地址、Cache组号、主存字块标记Tag各是多少位解答按字节编址主存大小256MB 2^28B所以主存地址总位数是28位。Cache块大小32B所以块内地址位数 log2(32) 5位。Cache容量8KB块大小32B所以Cache共有 8KB / 32B 256块。4路组相联即每组4块所以Cache组数 256 / 4 64组组号位数 log2(64) 6位。主存字块标记位数 主存地址总位数 - Cache组号位数 - 块内地址位数 28 - 6 - 5 17位。所以答案是块内地址5位组号6位主存字块标记17位。易错点很多同学会把“Cache块数”和“Cache组数”搞混。4路组相联时先算出Cache总块数再除以每组块数得到组数。如果题目变成“8路组相联”组数就是256/8 32组号位数变成5位。另外题目说“按字节编址”很关键如果是按字编址块内地址位数要根据字的地址来算通常块内地址位数 log2(块内字节数 / 字节数)其实应该直接按编址单位来看。但大多数题目都是按字节编址不要一上来就想按字。还有如果主存容量改成“256MB”注意是 M 不是 K256M2^28千万别算成2^27。明白了地址划分映射方式的选择题基本送分。直接映射的格式是“主存字块标记 Cache块号 块内地址”全相联是“主存字块标记 块内地址”没有Cache块号或组号组相联是“主存字块标记 组号 块内地址”。考试时给你一个映射方式和地址长度让你求标记位数按这三段公式套即可。3.2 命中率与平均访问时间的计算细节Cache部分第二类大热门是“平均访问时间”计算。题目通常会给Cache命中率、Cache访问时间、主存访问时间让你求平均访问时间。但很多同学容易踩坑因为不同教材对“失效后访问主存”的时间定义不一样。题目某存储系统由Cache和主存构成Cache的存取周期为2ns主存的存取周期为40ns。CPU访存时访问Cache命中率为95%。求CPU访问存储系统的平均存取时间。解答这里需要明确一点Cache未命中时需要把该块从主存调入Cache然后再从Cache中取出数据。因此未命中的访问时间是“Cache存取周期 主存存取周期”。平均存取时间 命中率 × Cache存取周期 (1 - 命中率) × (Cache存取周期 主存存取周期)。代入数据 0.95 × 2 0.05 × (2 40) 1.9 2.1 4ns。这是最常用的公式。但有些题目在描述时会说“未命中时访问主存的时间是40ns”这个40ns可能已经包含了Cache访问时间也可能没有。这时候要仔细看题目如果它说“Cache未命中时CPU需要额外访问主存额外开销40ns”那平均访问时间 0.95 × 2 0.05 × (2 40) 还是 0.95 × 2 0.05 × 40后者其实是把40当作“在Cache中查找并发现未命中之后再去主存取数据的总时间”而Cache查找时间已经被忽略或包含在40内。考研和期末考试中大多数按“未命中时先访问Cache失败再访问主存总时间为Cache时间主存时间”来处理也就是我用的公式。我的建议做题时遇到平均访问时间先在草稿纸上把访问流程画出来。先到Cache里找找到需要tc没找到再去主存读总花费 tc tm因为已经白费了Cache查找时间。画出这个时间轴公式自然就出来了不会因为题目表述而犹豫。3.3 替换算法与脏位简答题的隐藏分除了计算Cache相关的简答题也常考。问法一般是“试述Cache的三种替换算法及特点”或“什么是脏位有什么作用”。这些属于背多分但如果只回答定义可能拿不满。替换算法三种随机替换RAND不用多少脑子实现但命中率不稳定FIFO先进先出容易实现但可能出现“抖动”——刚被替换出去的数据马上又要用LRU近期最少使用依据局部性原理命中率通常最高但需要记录访问历史硬件开销大。脏位dirty bit是回答写策略时的重要概念。如果Cache采用写回法CPU修改Cache中的数据后主存中的数据并没有同步更新。此时将脏位置1标记该块在Cache中被修改过。当该块被替换出Cache时如果脏位为1则必须先把该块写回主存否则会丢失修改。所以脏位的作用就是“收账本”告诉你替换前哪些块该回写。面试和笔试都爱把这个点和写直达、写回放在一起考。一道比较经典的简答变体为什么Cache写回法比写直达法速度快因为有写缓冲和避免重复写主存。写直达法每次写Cache都要同时写主存总线开销大写回法只写Cache由脏位决定何时写主存速度更快但主存可能与Cache不一致。这种题最好结合“脏位”一起答显得有体系。4. 指令流水线与数据相关概念题和计算题怎么答不丢分4.1 数据相关、结构相关与控制相关的辨析流水线章节几乎每年都考名词辨析尤其是“数据相关”和“结构相关”这两个词经常在热词里出现说明大家都容易混淆。其实一句话就能区分结构相关硬件资源不够用。比如指令取指时要访存而某条访存指令也要访存同一个存储器同一时刻被两条指令争用这就是结构相关。解决办法是让指令轮流使用资源或者把指令存储器和数据存储器分开经典做法就是哈佛结构。数据相关一条指令要用到前面指令的运算结果而这个结果还没算出来。最常见的是写后读RAW第一条指令写某个寄存器第二条指令要读同一个寄存器如果第二条指令读得太早读到旧值就出错了。控制相关转移指令造成流水线断流。因为取指阶段还没算出转移目标地址后续指令已经进入流水线到底该不该执行就产生了依赖。考试常给一段指令序列比如I1ADD R1, R2, R3 ; R1 ← R2 R3 I2SUB R4, R1, R5 ; R4 ← R1 - R5 I3AND R6, R1, R7 ; R6 ← R1 R7问你哪些指令之间存在数据相关。答案I2和I1之间关于R1存在RAW相关I3和I1之间关于R1也存在RAW相关。如果再补充一条I4OR R1, R2, R3写R1而前面I2、I3还要读R1那就是读后写WAR或写后写WAW相关具体取决于流水线顺序。一般考试重点考RAW因为它最危险。这类题目怎么答不丢分先指明相关类型再说明是哪个寄存器、在哪个阶段发生的最后给出解决思路。不要只写“有数据相关”那样只有一半分。4.2 流水线性能计算加速比与吞吐率流水线计算题的套路非常固定拿分容易但细节容易错。典型题某指令流水线有“取指、译码、执行、访存、写回”五个功能段每段时间为10ns连续输入100条指令不中断求加速比和吞吐率。解答单条指令串行执行总时间 5 × 10 50ns。100条指令串行总时间 100 × 50 5000ns。流水线方式下第一条指令完成需要5个段花了5 × 10 50ns之后每隔10ns流水线输出一条指令结果。所以100条指令完成时间 5 × 10 (100 - 1) × 10 50 990 1040ns。加速比 不采用流水线的总时间 / 采用流水线的总时间 5000 / 1040 ≈ 4.81。吞吐率 完成任务数 / 总时间 100 / 1040 ≈ 0.0961条/ns 96.1 MIPS因为1s10^9ns0.0961条/ns9.61×10^7条/s96.1MIPS。这里很多同学容易把“时间单位”算错比如把1040ns当作1040ms或者把10^-9换算错丢分很冤。如果题目还要求“流水线最大吞吐率”那就是1条指令时间/周期 1/10 0.1条/ns 100 MIPS。但实际有装入和排空所以平均吞吐率略低。答题时区分“最大理论吞吐率”和“实际平均吞吐率”能体现出你对概念的理解。另一个注意点是如果功能段时间不等长比如各段时间为10ns、15ns、10ns、10ns、10ns那么流水线周期应取最大段时间15ns。总完成时间 所有段第一次完成时间这里因为取最长段确定周期后每段时间都当作15ns所以第一条完成5×1575ns (n-1)×15。这种题的关键是“时钟周期由最慢段决定”不要一上来就用10去乘。4.3 数据冒险的解决方式旁路、阻塞与重排数据冒险的解决方式既可出简答题也能出小计算。三种经典方案插入气泡阻塞、数据旁路转发、编译重排。插入气泡最简单也最“笨”在发生冲突的两条指令之间插入NOP空操作等待前面指令写回。比如五段流水线如果第二条指令在译码阶段读寄存器而第一条指令在写回阶段才写寄存器那中间可能需要插入2~3个气泡取决于流水线设计。这种做法的代价是浪费时钟周期。数据旁路是在硬件上把运算结果直接送到需要它的功能单元不用等写回寄存器再读出来。例如ALU的运算结果在执行阶段末尾就产生可以直接把它“旁路”到下一个操作数输入。代价是需要额外的硬件布线但能消除部分RAW停顿。编译器重排则是从软件层面把互不相关的指令移到相关指令之间拉大距离让硬件有时间完成数据运算。这与编译器优化有关考试常考“对给定指令序列重排使之不发生数据冒险”。我曾经在期末复习时做了一道题一个5段流水线ALU运算结果在执行段结束时就可用但寄存器写回在写回段。如果一条算术指令X紧跟着一条使用其结果的算术指令YX的结果要经过“执行-访存-写回”再到Y的译码具体几拍取决于硬件。我一开始不会数后来同事教我一个土办法画一个时空图把每条指令在每个时钟周期所在的段标出来然后看Y在哪个周期读寄存器X在哪个周期写寄存器差几拍就需要插入几个气泡。这个方法也推荐你们试试画图比空想靠谱得多。5. CPU结构与微程序控制简答题的得分点整理5.1 指令周期、机器周期、时钟周期问答题怎么答CPU章节的高频简答题里“指令周期/机器周期/时钟周期”三者的关系几乎必考。很多同学背了定义但答题时写不清被扣分。这道题其实有标准框架。题目什么是指令周期、机器周期、时钟周期它们之间有什么关系答案要点指令周期CPU取出并执行一条指令所需的总时间。不同指令的指令周期可能不同比如一条空NOP指令比一条乘法指令短得多。机器周期CPU周期通常被定义为从内存中读取一条指令字的最短时间。一个指令周期可以包含多个机器周期比如取指周期、间址周期、执行周期、中断周期。注意并不是所有指令都有间址周期和中断周期只有涉及间接寻址或者响应中断时才出现。时钟周期节拍/T周期时钟脉冲的重复周期是CPU操作的最基本时间单位。一个机器周期通常包含若干个时钟周期具体数量与CPU设计有关比如一个机器周期包含4个不重叠的时钟周期T1、T2、T3、T4。回答关系时按“指令周期由若干机器周期组成机器周期由若干时钟周期组成”来写然后画一个包含关系图文字描述也行。再补充一句机器周期数取决于指令的操作内容不同指令的指令周期不同但每个机器周期内的时钟周期数通常固定。这样能拿高分。如果题目把“存取周期”也掺进来比如“主存存取周期为250ns机器周期取多少”那就需要按教材提示机器周期通常与主存存取周期相关但具体要看题目上下文。5.2 微程序控制与硬布线控制对比微程序控制还是硬布线控制这一对比题也是经典。硬布线控制器由逻辑门电路直接产生控制信号速度快但当指令系统复杂时硬件庞杂难以修改和扩展。微程序控制器把控制信号编码成微指令存放在控制存储器CM中执行指令时逐条读取微指令从而产生控制信号灵活性高易于增加或修改指令但速度因为要访问CM而变慢。对比表格记关键词硬布线电路、快、不灵活微程序存储、慢、可扩展。再延伸一个计算题考点微指令字长和控制存储器容量。题目某微程序控制器共有50个微命令采用字段直接编码方式将微命令分成5个互斥组每组分别包含8、8、8、8、18个微命令假设微指令顺序控制采用下地址字段。求微指令字长至少多少位控制存储器的容量至少为多少字解答字段直接编码时每组微命令中最多同时发出一个命令所以每组需要的位数取决于使该组所有命令都能被编码的最少位数。一般每组需要 log2(命令数) 向上取整如果是8个微命令需要3位因为8种状态其中可能还要一个“不发出任何命令”的状态所以通常需要4位这里教材存在差异。有的教材在字段编码时每组的编码位数 log2(命令数 1) 取上整因为需要有一个状态表示“该组无微命令”。对于8个微命令需要 log2(9)≈4位对于18个微命令需要 log2(19)≈5位。于是5组位数分别为4、4、4、4、5共21位再加上下地址字段。控制存储器容量一般指微指令条数而不是字长。若下地址字段占8位则控制存储器容量最多 2^8 256 字。微指令字长 21 8 29位。如果题目没有要求保留“无命令”状态有些教材会直接用 log2(8)3位和 log2(18)5位那字长 333358 25位。到底用哪个取决于教材对编码状态的约定。我建议你们在复习时以自己学校指定教材的规则为准。选择题一般会明确给出“需要编码的状态数”比如“每组命令数为8不考虑不发命令的情况”那就取3位一旦没说优先采用“命令数1”的保守算法因为更严谨。6. 期末复习冲刺以唐朔飞教材为例的习题使用策略6.1 按章节过题目的优先级期末复习时间紧不是所有题目都值得平均用力。以唐朔飞教材为例我建议按下面的优先级刷题性价比更高优先级章节/主题理由高第2章 数据表示与运算计算题和选择填空必考题型固定刷题见效最快高第3章 存储系统Cache地址划分、命中率计算、DRAM刷新几乎每年大题高第5章 CPU指令周期、数据通路、微程序控制简答计算并存中第4章 指令系统寻址方式、指令格式多为选择和简答中第6章 总线总线仲裁、总线带宽计算独立成题中第7章 I/O系统中断、DMA、通道主要考概念对比低第1章 概述性能指标CPI、MIPS简单过一遍即可很多同学一上来就抠第一章的“计算机系统组成”其实分值不高。先把运算器、存储和CPU拿下及格甚至高分都不成问题。我当年复习就是先做第2、3、5章课后题把这三章的习题来回刷了三遍最后期末成绩反而比天天背第一章的同学高不少。原因很简单这三章的计算题有标准答案对就是对、错就是错比较容易形成“肌肉记忆”。6.2 错题复盘比刷题量更重要的动作光刷题不总结等于白刷。我在刷《计算机组成原理习题含答案》这类资料时会把错题分成三类概念不清型、计算失误型、审题偏差型。概念不清型比如“Cache块大小是32B为什么块内地址是5位”没想通。这种错题要先回到课本对应章节把原理弄懂再找3道同类题巩固。计算失误型比如补码右移时符号位没扩展。这种题型最可惜我会在错题本上写一个大大的“坑”并在旁边标注正确规则。审题偏差型比如题目问“主存地址字段位数”我却求成了“Cache地址字段位数”。对策是拿到题先把“求什么”圈出来再开始算。复盘不去看你错了多少道而是看你能不能在三天后重新做对。我的方法是当天把错题弄懂三天后把错题遮住答案重做一遍如果还错就说明没有真正掌握需要再重复一次。这个方法听着简单坚持下来的人不多。但只要你坚持三轮大部分错题都能消掉。6.3 实验课怎么和笔试结合现在很多学校计算机组成原理课程都配了实验有的用硬件实验箱有的用“头歌”这类在线实训平台也有用Logisim做电路仿真。很多同学把实验当成“完成作业”能跑通就行和笔试完全脱节。这样特别亏因为实验里的很多细节就是笔试的考点。比如做ALU实验时你会真正搭一个加法器电路看到进位位是如何一位一位传的这时候“组间串行进位”的延迟题你不需要背只要回忆一下电路图就能算出来。做单周期CPU实验时你需要在数据通路上连线指令是经过哪些部件读寄存器、算地址、写回结果的你亲手连过一次回答“指令周期/机器周期”简答题时脑子就有画面了。做存储器实验时你看到地址译码、片选、读写时序Cache地址划分的理解会更深。所以我的建议是实验课上不要只满足于“点一下运行看到结果正确”而是多问自己如果把某个信号改成别的方式会发生什么这些思考会在期末复习时变成你的隐藏优势。那些只背抽象概念的同学很难理解为什么一条指令要分好几个机器周期而做过实验的人会知道你是在一步一步地控制信号。7. 分享一点我个人的刷题方法计算机组成原理这门课确实有难度但它也是计算机专业课里“投入产出比”最高的科目之一。因为它不像操作系统那样概念极其抽象也不像网络那样协议庞杂它的核心考点就是那么几个模块反复出现。你只要肯下功夫把习题做透成绩一定不会差。我个人比较受用的一个方法是“三遍法”。第一遍学完一章马上做这一章的题不管对错把所有题都过一遍。第二遍隔两天只做第一遍做错的题看能不能独立做对。第三遍考前一周把所有做错过的题再快刷一遍重点看自己当时标注的“坑”。这样做下来大部分知识点都会被磨得很熟。我甚至会在考试前一晚上看完错题本倒头就睡而不是临时抱佛脚去看整本书。另外准备一个小本子专门抄公式和结论。比如“补码加法减法溢出判断规则”、“Cache平均访问时间公式”、“流水线总时间(kn-1)×周期”、“组间串行进位延迟计数法”。考前只看这个小本子比翻整本教材高效得多。如果你到现在还没有一份属于自己的“考前速查卡”可以试试这个方法它会帮你把零散的知识点串成一张网。学习计算机组成原理说到底就是要多动手、多做题、多复盘。不要被“组间串行进位”这种名字吓到本质上就是多换几次进位的电路不要被Cache地址划分吓到本质上就是小学的除法不要被流水线数据冒险吓到本质上就是“你还没写完作业别人就要抄”的问题。用平常心去刷题你会发现它并没有想象中那么难。