CS3200 Computer Architecture

This course examines the organization of computer and processor architectures. Instruction set design alternatives, processor implementation, memory system hierarchy, and I/O systems are the main topics of study. A quantitative approach is taken in which different design alternatives are evaluated and compared through analysis and/or experimentation. The course is accompanied by a set of labs which reinforce and extend the lecture subject matter.

Prerequisite

CS2011 and either CS2020 or permission of the instructor

Lecture Hours

3

Lab Hours

2

Statement Of Course Objectives


Course Learning Outcomes

Upon successfully completing the course, the student will be able to:

  • Understand the tradeoffs of real-world computer and processor architectures.
  • Be able to measure and analyze the performance of computer systems.
  • Grasp energy implications of display, memory, storage, and processor technologies.
  • Be able to leverage different types of parallelism.
  • Understand alternatives to von Neumann processors.
  • Understand the distinction between latency and throughput.
  • Understand how custom hardware can accelerate high-throughput applications.
  • Be able to operate and program a high-performance computing (HPC) cluster.
  • Balance tradeoffs between computation, communication, control, and storage costs.
  • Be able to use computer architecture tools employed by researchers and practitioners.