·《计算机体系结构十讲》
本课程结合本科—计算机体系结构基础、硕士—计算机体系结构、博士—高级计算机体系结构三大阶段课程,对计算机体系结构进行系统梳理,归纳要点,浓缩为十讲课程约40课时。课程体系强调基础性、系统性和实践性,涵盖十个模块,包括计算机系统结构基础、指令系统结构及软硬件协同、微结构之运算器设计、微结构之控制器1-指令流水线、微结构之控制器2-转移猜测、微结构之控制器3-高速缓存、微结构之多核结构、计算机组成原理和结构、计算机系统性能分析,以及多年CPU设计的体会,即实践是最好的课堂。
偏硬件/微架构方向,内容系统且偏工程实践。
主要内容:
计算机体系结构(前言)——课程介绍 整体课程定位、教学目标、为什么学体系结构、与组成原理的区别、课程大纲预览、适合对象(本科高年级/研究生/芯片工程师入门)。
第一讲:计算机系统结构基础 冯·诺依曼结构 vs 哈佛结构、指令集体系结构(ISA)基本概念、CISC vs RISC、Loongson(龙芯)架构定位、计算机分层(应用-系统-硬件)。
第二讲:指令系统与软硬件协同 指令集设计原则、指令格式与编码、寻址方式、特权指令与异常处理、编译器与硬件的协同优化(如指令调度、寄存器分配)。
第三讲:运算器设计 定点/浮点运算单元(ALU/FPU)设计、加法器(行波进位、超前进位、Wallace树等)、乘法器(Booth、阵列乘法)、除法器基本原理、龙芯中实际使用的运算部件实现。
第四讲:指令流水线(LA版) 经典5级流水线(取指-译码-执行-访存-写回)、流水线冲突(结构、数据、控制)、经典解决方法(数据前递、stall、预测等)、龙芯早期架构的流水线特点。
第五讲:转移猜测 分支预测技术详解:静态预测、1-bit/2-bit饱和计数器、分支目标缓冲(BTB)、返回地址栈(RAS)、TAGE等高级预测器、预测失败的代价与恢复机制。
第六讲:高速缓存 Cache基本原理(直接映射、组相联、全相联)、替换算法(LRU、伪LRU、随机)、写策略(写回/写穿)、一致性(MESI等)、Cache缺失类型(强制、容量、冲突)、预取技术。
第七讲:多核处理器 多核/多线程发展历程、共享缓存 vs 私有缓存、片上网络(NoC)、缓存一致性协议(目录法、监听法)、同步原语(锁、原子操作)、龙芯多核设计案例。
第八讲:计算机组成原理和结构 组成原理与体系结构的边界与联系、从RTL到微架构、控制器实现(硬连线 vs 微程序)、异常与中断处理、龙芯中实际的控制逻辑设计思路。
第九讲:性能分析和评价 性能指标(CPI、MIPS、FLOPS)、Amdahl定律、Gustafson定律、基准测试程序(SPEC、CoreMark等)、性能建模与模拟方法、如何评估微架构改进的效果。
第十讲:实践是最好的课堂 强调理论联系实际、龙芯芯片设计中的真实案例、建议学生/工程师参与开源处理器项目(如香山、龙芯教学核)、RTL设计、FPGA验证、性能调优的实战经验分享。
-------
学习资源:
视频:
https://www.bilibili.com/video/BV16HcWzJEcT
本课程结合本科—计算机体系结构基础、硕士—计算机体系结构、博士—高级计算机体系结构三大阶段课程,对计算机体系结构进行系统梳理,归纳要点,浓缩为十讲课程约40课时。课程体系强调基础性、系统性和实践性,涵盖十个模块,包括计算机系统结构基础、指令系统结构及软硬件协同、微结构之运算器设计、微结构之控制器1-指令流水线、微结构之控制器2-转移猜测、微结构之控制器3-高速缓存、微结构之多核结构、计算机组成原理和结构、计算机系统性能分析,以及多年CPU设计的体会,即实践是最好的课堂。
偏硬件/微架构方向,内容系统且偏工程实践。
主要内容:
计算机体系结构(前言)——课程介绍 整体课程定位、教学目标、为什么学体系结构、与组成原理的区别、课程大纲预览、适合对象(本科高年级/研究生/芯片工程师入门)。
第一讲:计算机系统结构基础 冯·诺依曼结构 vs 哈佛结构、指令集体系结构(ISA)基本概念、CISC vs RISC、Loongson(龙芯)架构定位、计算机分层(应用-系统-硬件)。
第二讲:指令系统与软硬件协同 指令集设计原则、指令格式与编码、寻址方式、特权指令与异常处理、编译器与硬件的协同优化(如指令调度、寄存器分配)。
第三讲:运算器设计 定点/浮点运算单元(ALU/FPU)设计、加法器(行波进位、超前进位、Wallace树等)、乘法器(Booth、阵列乘法)、除法器基本原理、龙芯中实际使用的运算部件实现。
第四讲:指令流水线(LA版) 经典5级流水线(取指-译码-执行-访存-写回)、流水线冲突(结构、数据、控制)、经典解决方法(数据前递、stall、预测等)、龙芯早期架构的流水线特点。
第五讲:转移猜测 分支预测技术详解:静态预测、1-bit/2-bit饱和计数器、分支目标缓冲(BTB)、返回地址栈(RAS)、TAGE等高级预测器、预测失败的代价与恢复机制。
第六讲:高速缓存 Cache基本原理(直接映射、组相联、全相联)、替换算法(LRU、伪LRU、随机)、写策略(写回/写穿)、一致性(MESI等)、Cache缺失类型(强制、容量、冲突)、预取技术。
第七讲:多核处理器 多核/多线程发展历程、共享缓存 vs 私有缓存、片上网络(NoC)、缓存一致性协议(目录法、监听法)、同步原语(锁、原子操作)、龙芯多核设计案例。
第八讲:计算机组成原理和结构 组成原理与体系结构的边界与联系、从RTL到微架构、控制器实现(硬连线 vs 微程序)、异常与中断处理、龙芯中实际的控制逻辑设计思路。
第九讲:性能分析和评价 性能指标(CPI、MIPS、FLOPS)、Amdahl定律、Gustafson定律、基准测试程序(SPEC、CoreMark等)、性能建模与模拟方法、如何评估微架构改进的效果。
第十讲:实践是最好的课堂 强调理论联系实际、龙芯芯片设计中的真实案例、建议学生/工程师参与开源处理器项目(如香山、龙芯教学核)、RTL设计、FPGA验证、性能调优的实战经验分享。
-------
学习资源:
视频:
https://www.bilibili.com/video/BV16HcWzJEcT










