ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

计算机组成原理面试通关:从加法器到数据通路构建体系感

计算机组成原理面试通关:从加法器到数据通路构建体系感 每年带学弟学妹做保研模拟面试我几乎每次都会问一句“计算机组成原理复习得怎么样了”听到最多的回答是“刷完王道了知识点都背过了。”然后我换一个问法“那你给我讲讲CPU执行一条加法指令从取指到写回控制信号是怎么一步步变化的”十个人里至少六七个会卡在半路。这不是个别现象而是很多人对这门课的复习方式出了问题。计算机组成原理在保研和考研面试里出现频率极高它不像数据结构可以靠刷题肌肉记忆也不像操作系统能靠总结八股速成它考察的是一种把硬件和软件串起来讲清楚的能力。这篇文章我把这几年的实际面试经验和帮人做的模拟面试复盘整理出来专门讲透面试官到底怎么考计组、你会被追问到什么深度、应该怎么准备才不会掉链子。1. 面试官眼中的计组不是在考知识点而是在考“体系感”1.1 三道题测出你的真实水平面试和笔试的核心区别在于笔试看你会不会算面试看你会不会讲。保研夏令营和考研复试的面试老师大多是体系结构、组成原理方向的骨干教师他们手上有很多“探测题”不问那些看一眼答案就能背出来的填空题而是问需要现场组织语言、逐步推理的问题。我总结下来计组方向有三道“试金石”级别的题“一个负数在计算机里是怎么表示的为什么用补码”“CPU访问一个内存单元从发出地址到拿到数据这中间发生了什么”“一条指令从主存取出来到执行完需要哪些部件参与哪些信号在起作用”这三道题覆盖了运算器、存储系统、控制器和数据通路。它们都不是“某个知识点”的单一考察而是要求你把多个模块串成一个完整的执行链路。面试官不会因为你背得出“补码是取反加一”就点头他想听到的是补码解决了什么问题、硬件上怎么实现、和溢出有什么关系、ALU如何利用补码把减法变成加法。能把一个简单问题讲到这种层次才说明你有“体系感”而不是只背了一堆定义。1.2 为什么“复习完王道面试还是被问倒”王道系列的PPT和笔记确实是很好的应试资料知识点覆盖全、结构清楚用来过第一遍完全没问题。但它天生的缺陷是它按“知识点”而不是按“问题链”组织每个模块都讲得很细却很少告诉你面试官会把哪几个模块捏在一起问。我做过一个实验让我带的模拟面试者看王道笔记上Cache的组相联映射那一节看完后让他解释“组相联为什么能降低冲突缺失”大部分人的回答是“因为它有多个路可以放多个块”。这个回答不能算错但没有答到根子上。面试官真正想听的是直接映射下多个地址映射到同一组导致频繁替换组相联通过增加每组中的行数让这些地址可以同时驻留在Cache里从“强制替换”变成“可以有多个候选位置”本质是用硬件并行比较的代价换取冲突缺失的下降。你心里有这条逻辑链才算懂了。这就是“被问倒”的真相你背的是结论面试官问的是结论背后的动机和代价。计组里几乎每个设计都是取舍面试官想看的就是你能不能说出这个取舍的两端。比如Cache为什么不是全相联因为全相联需要Tag全部比较硬件成本高、速度慢为什么不是直接映射因为冲突率太高。组相联就是在这两者之间找平衡。这套“动机—实现—代价”的话术比单纯背知识点重要得多。1.3 计组在计算机系统中的位置要学会用“三层答题法”很多人把计组当成一门孤立的硬件课其实它是整个计算机系统能力链路里最关键的“中间层”。上面有操作系统和编译器下面有数字电路和逻辑设计左邻是体系结构右邻是网络与并行。面试时如果能把一个计组问题往上下层延伸非常加分。举个例子面试官问“为什么程序访问数组快、访问链表慢”单纯回答“因为数组连续存储链表不连续”还不够。更好的答法是分三层第一层是程序语言层面数组元素地址连续编译器容易生成顺序访问的指令第二层是Cache层面连续地址对应的块可以被一次性加载进Cache后续访问命中率高第三层是硬件层面Cache利用空间局部性预取整块顺序访问能触发流水线和预取优化而链表节点的地址分散导致频繁缺失、访存延迟。你每延伸一层面试官都能看到你的系统能力。我建议大家在准备时固定一个“三层答题法”先给定义和结论再讲硬件实现和关键信号或数据结构最后向上关联OS或编译器层面的影响如果还能带一个例子就已经是高分回答。后面几节我们讲具体考点时都会反复用到这个答法。2. 高频考点逐个拆解从数据通路到存储层次答到什么程度才算过关2.1 数据表示与运算不能只会转补码数据表示是计组面试的入门必问题大多数人以为准备到这里就结束了其实这里最容易拉开差距。最经典的问题是“为什么要用补码”。如果你只说“因为可以把减法变成加法”只拿了40分。更好的回答至少要包含三层意思。第一层是硬件代价如果我们用原码表示负数做减法就要先比较符号位、决定谁减谁、再确定结果符号这套判断逻辑在电路里实现很麻烦而补码把最高位视为负权位符号位直接参与运算加法和减法统一为加法。第二层是编码完备性补码中0的表示唯一而原码会出现“正零”和“负零”这导致原码的数值范围和判断逻辑都不干净。第三层是模运算的视角对于一个n位寄存器所有运算自动对2的n次方取模减去一个数等价于加上它的补数这就是补码的数学本质。讲到这个层面面试官大概率会顺势追问溢出怎么判断。你不能只背“两个正数相加变负数就是溢出”要给出通用方法。最常用的有两种一种看符号位相加两数符号相同而结果符号相反则溢出一种看最高位进位和符号位进位两者不同则溢出也就是C_out异或C_sign。换成硬件语言这个异或门就放在加法器最前面输出Overflow标志。你能把编码理论的判断转化成电路视角才算过了这一关。浮点数也是高频点特别是“0.10.2为什么不是0.3”这种生活化的问题。核心原因是IEEE 754用有限尾数表示二进制小数0.1和0.2在二进制下都是无限循环小数存储时被舍入相加后误差被放大。面试官还可能问“阶码为什么用移码表示而不用补码”这时候要答出浮点比较大小需要先比阶码移码能保证阶码的数值顺序和编码顺序一致硬件比较器可以直接按无符号数比较比补码省一套符号处理逻辑。这种追问题答好了会留下很深的印象。2.2 存储系统Cache与虚拟内存是追问重灾区存储系统是计组面试里出题密度最高的区域因为它在考试中天然联系着操作系统、编译优化、体系结构多个方向。我见过的高频问法有下面几类。Cache部分三个必背点是映射方式、替换算法、写策略。映射方式的对比是面试官最爱用来测“体系感”的工具可以整理成一张表来记忆比较维度直接映射全相联映射组相联映射主存块可以放的位置固定1个Cache行任意Cache行固定组内任意行查找方式索引直接定位比较1次与所有行比较Tag索引定位组组内比较Tag硬件成本最低最高介于两者之间冲突率最高最低较低典型应用场景对成本敏感的简单设计小容量Cache或TLB现代处理器L1/L2主流方案面试官通常不满足于让你背表格他还会往下问“全相联既然冲突率最低为什么不做成全相联”答案核心就是硬件代价全相联需要把所有Cache行的Tag拉出来并行比较位数越多比较器和多路选择器面积越大、延迟越长频率就上不去组相联是折中组内路数一般取2到8路在成本和命中率之间找平衡。虚拟内存问题里最经典的是“CPU访问一个虚拟地址的完整过程”。建议把这句话练成一段流利的叙述CPU发出虚拟地址先查TLBTLB命中就直接拿到物理页框号组合成物理地址TLB未命中则去查页表如果页表项有效就同步更新TLB并返回物理地址如果缺页则触发缺页异常由操作系统从磁盘调入页面更新页表项和TLB再重新执行那条指令。拿到物理地址之后先访问CacheCache命中返回数据Cache缺失则访问主存取回块同时还要判断是否需要替换。整个链路里TLB其实是一个特殊的小容量Cache缓存页表项它本身也分相联度。能把这条链路从头到尾讲完再被追问“页表放哪、谁维护TLB的一致性”就能接住。替换算法里面试官最常问LRU。不要只说“最近最少使用的被换掉”要补充两点一是LRU需要维护访问历史信息硬件上常用“位矩阵”或“计数器栈”实现成本随路数上升二是它利用了时间局部性被认为在实际程序里表现接近理论最优。如果面试官问“LRU和FIFO谁更好”除了说LRU命中率高还要能说FIFO不考虑访问频率导致“刚被用过也可能被换走”的抖动这正好能体现你对算法动机的理解。2.3 指令系统与CPU把“一条指令的执行过程”讲成故事指令执行过程是计组面试的核心大题也是很多人“明明知道每部分一让串起来就卡壳”的地方。必须练到能不看图、边说边画把这几个阶段完整写出来。标准流程是取指阶段PC把地址送到MAR经过地址总线到主存主存把指令字返回给MDR再送入IR译码阶段控制器根据IR中的操作码生成控制信号同时寄存器堆根据Rs、Rt字段读出源操作数执行阶段ALU根据ALUSrc等信号选择立即数还是寄存器值完成加法、比较等运算访存阶段只有load/store类指令需要访问主存读写数据最后是写回阶段结果写回目标寄存器同时PC更新到下一条指令。注意PC的更新有两种情况顺序执行是PC加4分支指令则需要通过ALU比较结果决定是否把目标地址写入PC。这里要额外记一个常考结论单周期CPU中时钟周期长度取决于执行时间最长的指令通常是load指令因为load要走完取指、读寄存器、ALU算地址、访问内存、写回五个阶段路径最长。这个“最长路径决定周期”的思想是面试官判断你是否理解CPU设计权衡的重要信号。多周期CPU把一条指令拆成多个时钟周期每条指令的周期数不固定硬件部件可以共享但控制逻辑更复杂流水线CPU则在每个阶段之后加流水线寄存器让多条指令重叠执行性能提升靠吞吐率而不是单条延迟。流水线的三种冒险必须能脱口而出。结构冒险是硬件资源冲突比如指令存储器和数据存储器分离就是在解决“取指和访存同时要访问内存”的结构冒险数据冒险是后面指令要用前面指令还没写回的结果解决思路有转发/旁路、插入气泡、编译调度控制冒险来自分支解决思路有分支预测、延迟槽、尽早计算分支条件。面试官问“转发为什么能解决冒险”时要答出结果虽然还没写回寄存器但已经在执行段的输出或访存段的输出上可以通过数据通路里的旁路开关直接引到ALU输入端省下等待写回的时间。2.4 总线与I/O方式最容易拿分也最容易翻车的部分总线和I/O部分在笔试里分值不高面试却经常冷不丁来一下因为老师们觉得它“最能看出你上课有没有认真听”。这部分的重点其实是几个对比。总线仲裁里链式查询、计数器定时查询、独立请求三种方式要能说出各自的特点。链式查询结构最简单只需要一根总线请求线和一根总线授权线授权信号像链条一样逐级传递离控制器近的设备优先级高计数器定时查询用一组计数器产生设备地址优先级可以通过计数起点改变独立请求则是每个设备有单独请求线和授权线由中央仲裁器统一决策速度最快但线数多。这里有一个容易出彩的点计数器定时查询里最关键的就是那个计数器它每次从什么初值开始计数决定了设备获准使用总线的优先级。面试官如果问“计数器定时查询和链式查询的本质区别”你可以说一个是分布式的菊花链优先级一个是集中式的可编程优先级。I/O四种方式也常考程序查询方式CPU要不断轮询状态寄存器效率最低中断方式在外设准备好后主动通知CPUCPU不再空等DMA方式干脆让DMA控制器直接接管总线搬运数据只在传输完成后打断CPU一次。面试官喜欢追问“DMA为什么快”答案不只是“不需要CPU逐字拷贝”而要补充DMA控制器本身就是一个专门的数据搬运引擎它通过周期窃取或突发方式占用总线源地址、目的地址、传输长度都由DMA的寄存器保存CPU只需要配置一次。还有一个对比点中断方式每次传输都打断CPUCPU要保护现场、跳转中断服务程序、恢复现场开销非常大所以块设备的高速数据传输必须靠DMA。3. 老师们最爱用的连环追问一个“加法器”能挖出多少层3.1 第一层补码加法与溢出判断我在模拟面试里最喜欢的追问链是从一个最朴素的问题开始的“两个正数相加为什么可能变成负数”这是很多同学认为“太简单”的问题但恰恰是老师们检验水平的起点。标准回答是n位补码能表示的范围是-2^(n-1)到2^(n-1)-1两个在这个范围内的正数相加结果可能超过最大值于是最高位被截断符号位被错误置为1表现为负数。接着面试官会问“那硬件怎么知道溢出了”你需要说出两种方法如果两个加数符号相同且结果符号相反则溢出或者看最高位的进位和符号位的进位是否相同用异或门判断。到这里你已经从数值概念过渡到了电路实现。这里分享一个小经验面试时不要急着给出“溢出错误”的说法。你可以补一句“溢出标志和进位标志是两个东西处理器里OF和CF是分开的无符号数看CF有符号数看OF”这句话能瞬间把你和只会背定义的人区分开。3.2 第二层从串行进位到组间串行进位如果第一层你答得流畅面试官大概率会把话题引向加法器结构。最经典的追问是“n位加法器是怎么做出来的每一位的进位怎么处理”串行进位行波进位是基础答案把n个全加器串起来第i位的进位输出作为第i1位的进位输入。优点是结构简单缺点是延迟大第31位的运算必须等第30位进位算完最坏情况下进位信号从第0位一路传到最高位延迟随位数线性增长。紧接着面试官会问“怎么加速”这时要引出超前进位并行进位。核心思想是定义两个信号进位生成函数G_i A_i · B_i表示第i位不管进位输入是什么都一定会产生进位进位传递函数P_i A_i ⊕ B_i表示第i位会把它收到的进位原样传递给下一位。于是每一位的进位C_i G_i P_i · C_{i-1}展开之后每一位的进位都只依赖最开始的C_0和各输入信号不再依赖前级进位结果延迟大幅降低。但这里有个现实问题完全展开所有进位的电路扇入扇出会爆炸位数多了硬件代价极高。于是就有了折中方案——组间串行进位。把16位或32位加法器分成若干组组内用超前进位组间用串行方式连接也就是每组超前进位单元产生的组进位作为下一组的输入。这样既避免了全串行的长延迟又避免了大规模并行进位导致的门电路爆炸。这块内容出现在“计算机组成原理组间串行进位”这个热词里确实是很多学校的课程重点也是面试官非常喜欢试探深度的地方。如果被追问延迟可以简单分析组间串行进位的延迟大约等于“组内的超前进位延迟 组间进位链条数 × 每组进位输出到下一组的延迟”比全串行快很多又比全并行的硬件开销可控。能答到这一层面试官基本会满意。3.3 第三层ALU如何组织这些加法器加法器不是孤立存在的它在ALU里承担核心运算功能。面试官通常会借机问“74181是什么你们实验里为什么常看到4位ALU级联”74181是经典的4位ALU芯片能完成多种算术和逻辑运算输出结果和进位都提供。如果要构造16位或32位ALU最简单的方式就是芯片级联也就是把4片74181按组间串行方式连接每片内部可以看成超前进位片间采用串行进位。所以你在课设或实验里看到“组间串行进位”很多时候就是ALU级联场景。这时可以主动提一小句“ALU的控制端决定选哪个功能比如加减逻辑还是与或逻辑”这会让面试官知道你清楚ALU不是加法器单打独斗前面还有多路选择器根据功能码选择运算类型。如果还能说出“ALU的结果零标志、符号标志、溢出标志、进位标志会送到状态寄存器供后续条件跳转指令使用”这一层的深度就够了。3.4 第四层加法器如何变成一条加法指令到了这一层面试官的追问就彻底把你带回了整机视角。他会问“那加法器到底怎么为一条ADD指令服务的”这正是把前面所有内容串起来的机会。一条指令“ADD R1, R2, R3”在经典五段流水线里是这样走的取指后译码控制信号RegDst1表示把目的寄存器选为R1ALUSrc0表示第二个ALU输入来自寄存器堆的R3ALUOp设置为加法对应的编码执行阶段寄存器堆把R2和R3的值送到ALU的两个输入端ALU内部经过前面讨论的进位逻辑产生结果和标志位写回阶段结果在控制器信号控制下写回R1。这个过程中加法器内部的进位只是很小的一环但它最终服务于指令集、寄存器堆、控制器、数据通路这整个系统。我建议你私下练习时把这个“加法器层层展开”的问题完整写一遍、讲一遍。因为几乎所有运算类追问都能套进这个框架被问到乘法器可以说移位相加和Booth算法被问到浮点运算可以说对阶、尾数运算、规格化。有了一条“从底层电路到上层指令”的思路面试时遇到新鲜问题就不会完全慌。4. 实验与工程类问题的隐藏考点计数器、单周期CPU到底怎么准备4.1 为什么实验类问题代表面试分水岭保研面试和考研复试里实验类问题出现的概率比很多人想象的高得多。面试官可能在你介绍项目、提到课程经历甚至回答完某个理论问题之后冷不丁来一句“你做过什么实验吗”。这个问题才是真正的分水岭没有动手经验的同学只能泛泛说“计算机组成原理实验大概做了ALU、寄存器堆、计数器”有经验的同学能讲出实验现象、踩过的坑、改过的设计。面试官最反感的就是把实验说成流水账所以准备时要把每个实验都提炼成“原理实现踩坑改进”的结构。4.2 计数器实验从模N计数到同步异步复位都能说计数器几乎是最常见的计组/数电实验题但它一点都不简单因为它的变体很多。面试官常问的是“设计一个模12计数器”你要立刻反应过来模12表示计数范围是0到11需要4位二进制但到12就归零而不是到15归零。标准答法是先判断计数宽度再用同步复位的思路每个时钟上升沿到来时如果当前计数值等于11下一个周期回0否则加1。如果实验要求用异步复位就需要把复位信号放进敏感列表并说明异步复位和同步复位的区别异步复位不依赖时钟复位信号一到立刻清零适合上电初始化和紧急复位同步复位只在时钟边沿采样复位信号能避免复位释放时的亚稳态问题但必须有有效时钟沿才能生效。面试如果追问“你的设计最高能跑多高频率”其实是在问关键路径计数器的关键路径通常从“比较器判断是否等于N-1”到“加法器加1”再到“寄存器更新”这块逻辑越长频率越低。这里给一个参考代码面试时你可以不看代码也能讲清逻辑module counter #(parameter N 12) ( input wire clk, input wire rst_n, input wire en, output reg [3:0] q ); always (posedge clk or negedge rst_n) begin if (!rst_n) q 4d0; else if (en) q (q N - 1) ? 4d0 : q 1b1; end endmodule这段代码里最值得提的是“q N-1”这个比较器和“q 1”这个加法器它们会同时出现在实际电路里。如果你能主动说出“我这里清零条件是等于N-1而不是等于N因为要保证输出保持一个周期符合模N计数的语义”面试官会认为你真动过手。4.3 单周期CPU必须能“指图讲指令”很多学校的高阶实验是做一个单周期CPU通常是MIPS指令子集。这个实验的面试问法非常固定“你的CPU支持哪些指令这些指令在数据通路上分别经过了哪些部件”准备到能张口就来的程度。比如支持lw、sw、add、sub、beq这几条指令你需要清楚lw的路径是取指→读寄存器→ALU计算地址→访问数据存储器→写回寄存器堆sw的路径是取指→读寄存器→ALU计算地址→写入数据存储器不需要写回寄存器堆beq的路径是取指→读寄存器→ALU做减法比较→决定是否把目标地址写入PC。对应到控制信号上RegDst决定写哪个寄存器、ALUSrc决定ALU的第二个输入是读出的寄存器数据还是立即数、MemRead/MemWrite控制数据存储器、MemtoReg决定写回的是ALU结果还是从内存读出的数据、Branch和Zero信号共同决定是否跳转。如果实验用的是硬布线控制器要能说一句“控制信号由译码逻辑根据指令操作码直接产生”如果是微程序控制器则要说“控制信号以微指令形式存储在控制存储器里一条机器指令对应一组微指令”。面试官问“单周期CPU的缺点”时答“所有指令都按最长的load指令时间设周期简单的add指令也要等那么久”这就自然衔接到了流水线。4.4 把踩坑经历变成加分项实验平台不是借口面试时被问到实验最减分的回答是“平台太烂了Logisim很卡”“实验箱有问题”“那个使用手册写得不清楚”。平台问题几乎每个学校都存在但面试官想听的不是抱怨而是你如何定位问题和解决问题。举例来说如果你做过Logisim下的单周期CPU可能会遇到“仿真时加法器结果正常但寄存器堆写不进去”的问题。排查思路可以是先检查寄存器堆的写使能信号是否为高电平再看时钟边沿时钟是上升沿有效还是下降沿有效最后检查数据总线的连接是否恰好错位。把这个排错过程讲出来比任何“我完成了实验”都有说服力。又比如实验箱上跑计数器可能会出现“上电后计数初始值不确定”的问题。你可以说解决方案是“加一个异步复位按键同时对复位信号做消抖”或者“改用同步复位并确保时钟稳定后再释放复位”。哪怕这个问题你并没有在真实实验里遇到只要你能基于原理做出合理分析面试官都会认可你的思路。关键在于展示你理解问题背后的原因而不是背答案。讲到实验平台不管用的是国产实验箱还是Logisim或者FPGA开发板都建议不要纠结于“这个平台好不好”因为面试官已经听到过太多类似抱怨。把重点放在“我在这个平台上完成了什么”“遇到什么坑”“怎么解决的”才是性价比最高的策略。5. 容易被忽视的失分细节与最后冲刺复习路径5.1 面试中常见的失分行为与改法面试失分往往不是因为知识不会而是一些可以训练的小毛病。以下是我在做模拟面试时反复看到的问题每条都配一个立刻能用的改法。第一个问题是“只背名词不给机制”。比如被问到Cache命中只会说“命中率高”但不说命中是什么、地址如何比较。改法是使用“定义动作原因”的格式命中是指处理器根据索引找到Cache行后行内Tag与地址Tag相等说明该块已在Cache中可以直接返回数据从而避免了访问主存的延迟。第二个问题是“画图不熟”。面试时经常让画出单周期CPU数据通路或者存储层次图很多人知道但手跟不上。改法是考前每天用手在白纸上画一遍经典图画到不用思考顺序为止可以节省面试现场大量组织语言的时间。第三个问题是“被问住之后直接沉默”。沉默是面试大忌哪怕不能立刻答全也要说出已知部分“我目前能想到的是……这个部分我有点不确定但根据原理推测应该是……”。只要你边想边说面试官能看到你的思考过程而思考过程本身就是考核项。说得不完全对也比沉默有分。还有一个容易被忽略的是“术语含糊”。说“CPU访问内存”时要去分清楚是访问Cache、主存还是虚拟地址空间说“寄存器”时要能分清是通用寄存器、段寄存器还是流水线寄存器。细节术语的准确程度往往比大框架更能体现平时的积累。5.2 用“问题卡画图复述”替代刷PPT到了冲刺阶段我不推荐再一遍遍从头翻王道PPT。更高效的做法是把知识清单转成“问题卡”一页一个问答题正面是问题背面是关键词和答案框架。比如“Cache组相联映射的优缺点是什么”“为什么DMA能减轻CPU负担”“单周期CPU周期为什么取决于最长指令”这些问题正好对应“计算机组成原理问答题”“计算机组成原理知识点总结”这些常被检索的内容你把它们做成卡比看十遍PPT管用。具体操作可以分三步。第一步根据目标院校的面试风格圈定高频问题数量控制在60到80题第二步每题用三层答题法写下关键词不要写大段文字只写“结论—实现—上层关联—例子”四层提示词第三步也是最重要的每天抽半小时不看卡面亲手在白纸上画出核心图同时口中复述答案。计组太依赖图了地址译码、数据通路、Cache结构、总线仲裁这些内容只要你能一边画一边讲面试时表达就会很流畅。如果找不到同学对练就用手机录音自问自答。录音回放能发现大量“口头禅”、逻辑断层、语速过快的问题。我试过这个方法效率相当高比默背效果好得多。5.3 临考前三周的安排与考前一天的复习方式最后三周可以这样分配时间。第一周做“全面体检”把数据表示、存储系统、CPU、总线I/O、实验类这五个模块过一遍自己标记“能画图讲清”和“只能背结论”两类。第二周集中攻克“只能背结论”的部分用上面说的问题卡逐题过同时对高频题做连环追问训练每答完一题自己追问自己三个“为什么”模拟老师的追问节奏。第三周做全套模拟面试找同学或对着摄像头完整走一遍“自我介绍→计组抽题→追问→实验经历”的流程严格控制时间。考前一天不要再碰新题。把核心图重新画几遍把最容易忘的数据通路、Cache替换、总线仲裁、流水线冒险这几块再复述一遍早点休息。面试时遇到不会的题尝试把问题拆成自己会的子问题比如“组间串行进位”不会可以先说串行进位的基本原理再说并行进位的G和P最后说如何在两者之间折中这样即使没完全答上也让老师看到了你的思考框架。我最后想专门说一个小技巧面试结束后如果老师让你反问问题可以问一句“老师我们学校计组的实验平台是怎么安排的”。这个问题一方面显示你对动手实验有兴趣另一方面能让你提前了解研究生的实验环境。在我这些年帮人模拟面试的观察里能问出这个问题的同学往往在老师心里的评价比单纯说“没问题”要高。说到底计组面试考察的不只是知识点更是你面对复杂系统时的拆解能力、表达能力和那股真正想搞懂硬件的劲头。
返回列表