Course description

This course is a study of the fundamental concepts in the design and organization of modern computer systems. Topics include computer organization, instruction-set design, processor design, memory system design, timing issues, interrupts, microcoding, and various performance-enhancing parallel techniques such as prefetching, pipelining, branch prediction, superscalar execution, and massive-parallel processing. We also study existing architectures using CISC, RISC, vector, data parallel, and VLIW designs. An extensive lab project encompassing the design and implementation of a new instruction set and CPU using an FPGA is required of all students.


Enroll now.
Take course