6.1920 建构式计算机架构,CCA
先行条件
6.1910 计算结构
课程介绍
本课程展示了一种“构造式(constructive)”而非“描述式(descriptive)”的计算机体系结构研究方法。课程内容包括:
- 组合式与流水线算术逻辑单元(ALU)
- 乱序执行(in-order)流水线微架构
- 分支预测
- 阻塞与非阻塞缓存(blocking and unblocking caches)
- 中断机制
- 虚拟内存支持
- 缓存一致性(cache coherence)与多核架构
课程实验使用现代硬件描述语言(HDL),用于展示处理器设计的不同方面。课程的期末项目中,学生将完成一个多核处理器设计,并在 FPGA 开发板上实现并运行该设计。
参考资料
- BSV Reference Manual;
- 《Introduction to Digital Design as Cooperating Sequential Machines》(Arvind等著,2019)
- 《Computer Architecture: A Constructive Approach》(Arvind等著,2014,仅需阅读第5、6、9、10、11、12章,注意其中部分内容可能与课堂讲解不完全一致)。
相关课程
Digital Design and Computer Architecture - Spring 2023
实验
Lec 1 引言
Lec 2 组合电路
组合电路是纯函数,给定相同的输入,它产生相同的输出。虽然可以用真值表来表达,但是对于大量的输入而言,这样做并不实际。我们将使用一种名为Bluespec SystemVerilog(BSV)的编程语言来表达所有的电路。
Lec 3 存储器与多规则系统
Lec 4 调度约束与EHRs
Lec 5 非流水线处理器
Lec 6 流水线处理器
Lec 7 高速缓存与存储缓冲区
Lec 8 分支预测
Lec 9 超标量处理器
Lec 10 多线程处理器
Lec 11 乱序执行
Lec 12 同步与顺序一致性
Lec 13 缓存一致性
Lec 14 向量机与 SIMD
Lec 15 片上网络 I:基础
Lec 16 片上网络 II:拓扑与路由
Lec 17 连接加速器
Lec 18 从 BSV 到芯片:硅综合与 FPGA
参考资料
6.1920:Constructive Computer Architecture