Computer Architecture

This course will study the design of complex computer systems. All parts of a computer system as covered. We will start off with a discussion of computer performance and measurement, instruction set architectures and computer arithmetic. We will discuss the basic control unit of a computer and the design of system datapaths. We will discuss pipelining, the most important topic in CPU design today. Finally, we will move to memory hierarchy and cache design and performance, input/output devices and signalling, and buses. We will finish the course with a brief discussion of multiprocessor systems.