L01 Introduction


MIT 6.004 Spring 2019 课程的开篇讲座,由教授Arvind主讲。

课程旨在通过实际构建计算机的过程,深入理解计算机的内部工作原理。Arvind教授强调,了解通用处理器的设计对于深入理解硬件极其重要,即使学生未来不从事硬件设计工作。本课程将围绕设计多个RISC-V处理器进行。

课程内容概览

  • 技术发展历程:从1943年的ENIAC到现代笔记本电脑的技术演进,展示了计算设备的惊人进步。

  • 通用处理器的重要性:无论硬件大小,通用处理器的设计原理相同。理解这些原理有助于设计各种硬件。

  • 课程目标:课程的主要目标是通过实际构建不同内部设计的RISC-V处理器,理解计算机的运行原理。

  • 程序和硬件的关系:介绍了高级编程语言、汇编语言和硬件之间的关系,强调了了解这一接口对于硬件设计的重要性。

  • 数字计算的基本原理:所有现代电子计算机都是数字的,以二进制形式进行计算。了解这些基本操作对于硬件设计至关重要。

  • 课程模块:

    1. 二进制表示、RISC-V ISA、汇编语言编程等基础。
    2. 数字抽象、布尔代数、组合逻辑、时序逻辑和硬件设计语言Bluespec。
    3. 实现非流水线和流水线RISC-V计算机、缓存、分支预测等高级主题。
    4. 操作系统、I/O中断、异常和虚拟内存。
    5. 并行编程、多核问题、同步、缓存一致性等并行计算主题。
  • 设计工具:课程中使用Bluespec SystemVerilog和Yosys合成工具,从高级描述自动生成电路。

课程实践

  • 学生将完成8个实验和一个开放性设计项目,使用Bluespec进行处理器设计。课程通过实验、设计项目和测验进行评分。

MIT 6.004 2019年春季课程的大纲:

  • 模块 1:RISC-V汇编语言编程(4讲)。
  • 模块 2:数字逻辑设计(8讲),内容涵盖布尔代数、组合电路、时序电路、在Bluespec中表达逻辑设计、逻辑综合(包括将Bluespec设计转化为逻辑电路,以及将逻辑电路转化为标准的门电路库),以及并发问题。
  • 模块 3:RISC-V处理器(6+1讲)。
  • 模块 4:操作系统、输入/输出、虚拟内存(3讲)。
  • 模块 5:多核处理器(2讲)。