6.173
Multicore Systems Laboratory

Prereq.: 6.004
Units: 3-8-1

Lectures and labs illustrate how to build a multicore computer system. Topics include parallelism, instruction-set architecture, memory hierarchy, and communication primitives. Using a field-programmable gate array (FPGA) board, programmed with a simple multicore processor and a minimal software environment, students develop Verilog and software to implement different hardware/software designs for caches, messages, shared memory, and coordination primitives. The labs culminate in a term project which students describe in a design paper and in-class presentation. Provides instruction in written and oral communication.

12 Engineering Design Points.
CI-M for 6-1, 6-2, 6-3