CS220{C,S,T}. Computer Architecture

Introduces students to the organization and architecture of computer systems, beginning with the standard von Neumann model and then moving forward to more recent archictural concepts.

Prerequisites: introduction to computer science (any implementation of CS103 or CS112), discrete structures (CS106 or CS115)

Syllabus:

Units covered:
AR1 Digital logic and digital systems   3 core hours (of 6)
AR2 Machine level representation of data   3 core hours
AR3 Assembly level machine organization   9 core hours
AR4 Memory system organization and architecture   5 core hours
AR5 Interfacing and communication   3 core hours
AR6 Functional organization   7 core hours
AR7 Multiprocessing and alternative architectures   3 core hours
AR8 Performance enhancements   3 hours
  Contemporary architectures   2 hours
  Elective topics   2 hours

Notes:
Differences in the internal structure and organization of a computer lead to significant differences in performance and functionality, giving rise to an extraordinary range of computing devices, from hand-held computers to large-scale, high-performance machines. This course addresses the various options involved in designing a computer system, the range of design considerations, and the trade-offs involved in the design process.

A key issue in relation to this course is motivation. It is important to try to heighten the motivation of both students and faculty into seeing hardware design as an increasingly interesting, relevant, and challenging area. One approach is to include a significant laboratory component with the course that gives students the opportunity to build their own computer system. In doing so, they will come to appreciate the underlying issues at a much greater level of detail. In addition, those students will experience a sense of accomplishment in the hardware area similar to what most students describe when they complete a significant software project.

Software tools can play an important role in this course, particularly when funding for a hardware laboratory is not available. These tools include, for example, instruction set simulators, software that will simulate cache performance, benchmark systems that will evaluate performance, and so on.

Students who complete this course should be able to perform the following tasks:

Online resources for CS220


 
CC2001 Report
December 15, 2001