MIT 6.004 Computation Structures
课程目录
课程链接:MIT 6.004公开课程
- L01 - 引言 (Introduction)
- L02 - RISC-V 汇编 (RISC-V Assembly)
- L03 - 编译代码、过程及栈 (Compiling Code, Procedures, and Stacks)
- L04 - 过程和存储映射I/O (Procedures and MMIO)
- L05 - 组合逻辑 (Combinational Logic)
- L06 - Barrel Shifter 和 Boolean 优化 (Barrel Shifter, Boolean Optimizations, and Logic Synthesis)
- L07 - 在Bluespec中的复杂组合电路 (Complex Combinational Circuits in Bluespec)
- L08 - 算术电路设计权衡 (Design Tradeoffs in Arithmetic Circuits)
- L09 - 时序电路 (Sequential Circuits)
- L10 - 时序电路:带有保护接口的模块 (Sequential Circuits, Modules with Guarded Interfaces)
- L11 - 在Bluespec中的硬件综合 (Hardware Synthesis in Bluespec)
- L12 - 模块接口与并发性 (Module Interfaces and Concurrency)
- L13 - 在硬件中实现RISC-V处理器 (Implementing RISC-V Processor in Hardware)
- L14 - 多周期处理器 (Multicycle Processors)
- L15 - 存储层次结构 (The Memory Hierarchy)
- L16 - 存储系统设计与实现 (Memory Systems: Design and Implementation)
- L17 - 操作系统 (Operating Systems)
- L18 - 虚拟内存 (Virtual Memory)
- L19 - 流水线引言 (Introduction to Pipelining)
- L20 - 处理器流水线 (Processor Pipelining)
- L21 - 实现流水线 (Implementing Pipelines)
- L22 - 同步 (Synchronization)
- L23 - 实现处理器流水线 (Implementing Processor Pipelines)
- L24 - 数字抽象和时序约束 (The Digital Abstraction and Sequential Timing Constraints)
- L25 - 缓存一致性 (Cache Coherence)
课程信息
- 课程名称:Computation Structures
- 开课学期:Spring 2019
- 教师团队:包括Arvind, Silvina Hanono Wachman, Jason Miller等,以及多名助教。
课程简介
MIT的6.004课程探讨了计算机系统的基本构建块,专注于通用处理器的设计。课程内容涵盖了从数字逻辑到操作系统等方面的知识,旨在培养学生理解和设计RISC-V处理器的能力。
课程内容概述
计算设备的演变
- 从1943年的ENIAC到2018年的典型笔记本电脑,计算设备经历了巨大的变化,体现在体积、功耗和计算能力上的巨大差异。
通用处理器设计
- 微处理器是计算机系统的基本构建块。
- 学习微处理器的设计对于理解硬件极为重要。
- 课程目标是让学生能够从零开始设计多个RISC-V处理器。
课程重点
- 模块一:介绍二进制表示和操作,RISC-V指令集架构,汇编语言编程等。
- 模块二:讲解数字抽象,布尔代数与组合逻辑,时序逻辑,以及逻辑设计的Bluespec表达。
- 模块三:实现非流水线和流水线RISC-V计算机,包括缓存,控制和数据危害处理,分支预测等。
- 模块四:操作系统概念,I/O中断与异常,虚拟内存。
- 模块五:并行编程,多核问题,同步,缓存一致性等高级主题。
设计与实验
- 课程强调使用现代设计工具,如Bluespec SystemVerilog(BSV)和Yosys合成工具,进行处理器设计和实验。
- 学生将完成多个设计任务,包括不同阶段的RISC-V处理器设计。
课程安排
- 包括每周两次讲座和两次辅导课。
- 八个实验和一个终期设计项目。
- 三次测验。
资源与支持
- 课程网站提供最新信息、讲义和补充阅读材料。
- Piazza论坛用于课程公告和答疑。
评分与要求
- 实验、设计项目和测验构成了主要的评分部分。
- 要求学生积极参与课堂和辅导课。
反馈与互动
- 课程强调学生反馈的重要性,鼓励学生通过电子邮件或Piazza分享意见。
Table of contents
- L01 Introduction
- L02 RISC-V haskell and Binary Notation
- L03 Compiling Code, Procedures, and Stacks
- L04 Procedures and MMIO
- L05-Combinational Circuits:From Boolean Algebra to Gates
- L06-Barrel Shifter, Boolean Optimizations, and Logic Synthesis
- L07-Complex Combinational Circuits in Bluespec
- L08-Design Tradeoffs in Arithmetic Circuits
- L09-Sequential Circuits
- L10-Sequential Circuits:Modules with Guarded Interfaces
- L11 Hardware Synthesis in Bluespec
- L12 Module Interfaces and Concurrency
- L13 Implementing RISC-V Processor in Hardware
- L14 Multicycle Processors