Week 1计算机体系结构概论与指令集
📖核心知识点:计算机体系结构的抽象层次——ISA(指令集架构)作为硬件/软件接口;RISC vs CISC设计哲学的核心差异——固定长度指令vs变长指令、Load-Store架构vs内存操作指令;MIPS/RISC-V指令集基础——R型/I型/J型指令格式;寄存器文件结构与寻址模式(立即数、寄存器、基址偏移);指令编码与机器码翻译。⏰本周节奏:第一周以建立ISA层面的理解为主,需要熟练进行汇编指令与机器码的互相翻译,建议做8-10道编码练习。🎯考试关联:指令编码/解码是期末必考计算题;RISC vs CISC的设计权衡是简答题高频考点。🧪Tutorial/Lab:手动将MIPS汇编指令翻译为32位机器码;在模拟器(如MARS/RARS)中运行简单汇编程序。📌作业关联:Assignment中的处理器设计需要透彻理解指令格式,本周的编码练习直接服务后续设计。⚠️易错点:I型指令的立即数是符号扩展还是零扩展取决于指令类型;分支指令的偏移量是相对PC+4而非PC本身。
Week 2单周期处理器设计
📖核心知识点:数据通路(Datapath)的五大组件——PC、指令存储器、寄存器文件、ALU、数据存储器;控制信号的产生——主控制单元根据opcode生成RegWrite/MemRead/MemWrite/ALUSrc/MemtoReg/Branch等信号;ALU控制的两级解码——主控制→ALUOp→ALU控制;R型指令、lw/sw、beq的数据通路追踪——信号流经每个组件的完整路径。⏰本周节奏:单周期处理器是全课的基础设计,必须能画出完整数据通路并标注每条指令的控制信号值,建议对每种指令类型做完整的信号追踪。🎯考试关联:画数据通路并填写控制信号表是期末必考大题(20+分);添加新指令到单周期处理器的设计题是区分HD的关键。🧪Tutorial/Lab:在硬件描述语言(Verilog/VHDL)或模拟工具中实现单周期MIPS处理器的核心模块。📌作业关联:Assignment 1通常要求实现或扩展单周期处理器,数据通路理解是核心。⚠️易错点:beq的PC更新逻辑——偏移量左移2位再加PC+4;忘记为不同指令类型设置MUX选择信号导致数据通路错误。
Week 3流水线处理器基础
📖核心知识点:流水线(Pipelining)思想——将指令执行分为IF/ID/EX/MEM/WB五个阶段;流水线寄存器(Pipeline Registers)的作用——隔离各阶段的数据;流水线的性能分析——理想加速比=阶段数、实际加速比受冒险限制;流水线冒险(Hazard)分类——结构冒险(资源冲突)、数据冒险(数据依赖)、控制冒险(分支延迟)。⏰本周节奏:流水线是全课最重要的概念,建议画出5条指令在5级流水线中的时序图,理解每个时钟周期各阶段的并行执行。🎯考试关联:流水线时序图绘制和冒险识别是期末必考大题;流水线加速比的计算是常考计算题。🧪Tutorial/Lab:绘制指令序列的流水线时序图;识别给定指令序列中的数据冒险和控制冒险。📌作业关联:Assignment的流水线处理器设计需要完整理解五阶段流水线的时序关系。⚠️易错点:流水线的时钟周期由最慢阶段决定而非平均值;写后读(RAW)冒险的识别——需要看源寄存器是否与前序指令的目标寄存器相同。
Week 4流水线冒险与解决方案
📖核心知识点:数据冒险的解决——转发(Forwarding/Bypassing)技术,从EX/MEM或MEM/WB流水线寄存器直接转发结果;Load-Use冒险——lw后紧跟使用其结果的指令必须插入一个气泡(Stall),转发无法完全解决;冒险检测单元(Hazard Detection Unit)的设计——检测load-use冒险并插入stall;控制冒险的解决——分支预测(静态预测/动态预测)、延迟槽(Delay Slot)、提前分支判定。⏰本周节奏:转发逻辑是全课最精细的设计部分,建议画出转发路径图并对每种依赖情况标注转发来源。🎯考试关联:给定指令序列判断需要哪些转发和stall是期末高频大题;冒险检测单元的控制逻辑是设计题考点。🧪Tutorial/Lab:在流水线处理器中实现转发逻辑和冒险检测单元;分析带stall的指令序列实际执行时钟周期数。📌作业关联:Assignment流水线处理器必须正确实现转发和stall机制,这是正确性的核心保证。⚠️易错点:双重转发优先级——EX/MEM转发优先于MEM/WB转发(更近的结果优先);寄存器$0的转发需要特殊处理($0恒为0不需要转发)。
Week 5分支预测与高级流水线
📖核心知识点:静态分支预测——总是预测不跳转/总是预测跳转/基于分支方向预测;动态分支预测——1位预测器、2位饱和计数器、相关预测器((m,n)预测器);分支目标缓冲(BTB)——缓存分支指令的目标地址加速跳转;超标量(Superscalar)处理器概念——每周期发射多条指令;乱序执行(Out-of-Order Execution)的基本思想——Tomasulo算法简介。⏰本周节奏:分支预测是流水线性能优化的关键,重点掌握2位预测器的状态转移和预测准确率计算。🎯考试关联:给定分支历史计算2位预测器的预测准确率是期末常考计算题;超标量与乱序执行的概念是简答题考点。🧪Tutorial/Lab:模拟2位分支预测器在给定分支序列上的预测过程;分析不同预测策略的准确率差异。📌作业关联:Assignment可能要求在流水线处理器中实现简单的分支预测机制。⚠️易错点:2位预测器需要连续两次预测错误才改变预测方向——这是它比1位预测器稳定的原因;BTB miss时的处理流程。
Week 6存储层次结构:Cache基础
📖核心知识点:存储层次结构的动机——SRAM(快贵小)→DRAM(中等)→磁盘(慢廉大);局部性原理——时间局部性(最近访问的数据可能再次被访问)和空间局部性(邻近数据可能被访问);Cache的基本参数——块大小(Block Size)、Cache大小、关联度(Associativity);直接映射Cache的工作原理——地址分解为Tag/Index/Offset;Cache命中与缺失的处理流程。⏰本周节奏:Cache是体系结构中最核心的性能优化机制,地址分解和命中判定必须练到自动化,建议做8-10道地址映射练习。🎯考试关联:Cache地址分解和命中/缺失判定是期末必考计算题(15-20分);Cache设计参数的权衡是简答/论述题考点。🧪Tutorial/Lab:手动模拟直接映射Cache的访问过程(给定地址序列计算命中率);分析不同块大小对命中率的影响。📌作业关联:Assignment可能涉及Cache模拟器的实现或Cache参数优化分析。⚠️易错点:地址位数分配——Offset位数=log2(块大小)、Index位数=log2(Cache行数)、Tag位数=总地址位数-Index-Offset;字节vs字的地址单位混淆。
Week 7Cache进阶:组相联与替换策略
📖核心知识点:全相联Cache——任何块可放入任何Cache行(灵活但硬件开销大);N路组相联Cache——折中方案,地址映射到组(Set)后在组内任意放置;替换策略——LRU(最近最少使用)、FIFO、随机替换的优缺点;写策略——写直达(Write-Through)vs写回(Write-Back)、写分配(Write-Allocate)vs非写分配;Cache性能分析——AMAT=命中时间+缺失率×缺失代价。⏰本周节奏:组相联Cache的地址分解和LRU模拟是本周重点,建议完成3-4个完整的组相联Cache访问模拟(跟踪每个Set的状态)。🎯考试关联:组相联Cache的地址映射和LRU替换模拟是期末大题;AMAT计算和Cache参数优化是计算题高频考点。🧪Tutorial/Lab:手动模拟4路组相联Cache的访问过程(含LRU替换);计算不同Cache配置下的AMAT。📌作业关联:Cache参数优化可能是Assignment的分析任务之一。⚠️易错点:组相联中Set的数量=Cache行数/关联度(不是Cache行数);LRU替换时需要跟踪每个Set内所有块的最近访问顺序。
Week 8虚拟内存
📖核心知识点:虚拟内存的动机——地址空间隔离、内存保护、高效的物理内存利用;虚拟地址到物理地址的翻译——页表(Page Table)的结构与查表过程;页表项(PTE)内容——物理帧号、有效位、脏位、权限位;TLB(Translation Lookaside Buffer)——页表的缓存,加速地址翻译;多级页表——减少页表内存开销的层次化设计;缺页(Page Fault)的处理流程。⏰本周节奏:虚拟内存连接了OS和体系结构,地址翻译的完整流程(TLB→页表→物理地址→Cache)是本周必须掌握的核心链路。🎯考试关联:虚拟地址→TLB查找→页表查找→物理地址→Cache查找的完整流程是期末综合大题。🧪Tutorial/Lab:手动执行虚拟地址到物理地址的翻译过程(含TLB和页表查找);分析TLB大小对地址翻译性能的影响。📌作业关联:理解虚拟内存是分析Cache行为的前提——Cache通常使用物理地址(PIPT)或虚拟地址(VIVT)。⚠️易错点:TLB和页表的查找结果不一致时的处理(TLB miss但页表命中需要更新TLB);混淆虚拟页号和物理帧号的位数计算。
Week 9并行与多核处理器
📖核心知识点:指令级并行(ILP)的极限——数据依赖和控制依赖限制了单核性能提升;多核处理器的动机——功耗墙(Power Wall)迫使从频率提升转向核心增多;Cache一致性(Cache Coherence)问题——多核共享数据时各核的私有Cache可能持有不同副本;MESI协议——Modified/Exclusive/Shared/Invalid四种状态及状态转移;总线嗅探(Bus Snooping)vs目录协议。⏰本周节奏:多核和Cache一致性是现代体系结构的核心挑战,重点掌握MESI协议的状态转移图。🎯考试关联:MESI协议的状态转移模拟是期末常考计算题;多核性能分析(Amdahl定律)是计算题考点。🧪Tutorial/Lab:在给定多核访问序列上模拟MESI协议的状态变化;用Amdahl定律计算不同并行比例下的加速比。📌作业关联:理解Cache一致性有助于分析多线程程序的性能行为。⚠️易错点:MESI中Exclusive和Shared状态的转移条件——其他核的读请求使Exclusive→Shared;Amdahl定律中串行部分占比是限制加速比的瓶颈。
Week 10I/O系统与全课总结
📖核心知识点:I/O系统基础——内存映射I/O vs端口映射I/O;I/O数据传输方式——程序控制(Polling)、中断驱动(Interrupt-driven)、DMA(直接内存访问)各自的适用场景;磁盘与SSD的性能特征——寻道时间、旋转延迟、传输时间(磁盘)vs无机械延迟(SSD);RAID级别概览;全课知识图谱——ISA→单周期→流水线→Cache→虚拟内存→多核→I/O的完整体系结构体系。⏰本周节奏:最后一周以整合为主,建议绘制全课架构图——从处理器核心到存储层次到I/O的完整计算机系统。🎯考试关联:I/O数据传输方式的对比是简答题考点;全课综合题可能要求分析一个程序的性能瓶颈(CPU-bound vs Memory-bound vs I/O-bound)。🧪Tutorial/Lab:计算DMA传输与中断驱动I/O的性能差异;做全课综合模拟题覆盖流水线+Cache+虚拟内存。📌作业关联:所有Assignment截止前最终检查——确保处理器设计功能正确、时序合理。⚠️易错点:DMA传输期间CPU仍可执行其他指令但总线可能被占用;混淆I/O性能瓶颈的位置(CPU速度vs总线带宽vs设备速度)。