Topics include memory system organization and architecture, interfaces and communication, functional organization, multiprocessing and alternative architectures, performance enhancements.
Instructor: Darrell Crooks
Prerequisites: COMP 2203 and 6 additional hours of Computer Science courses, all with C- or better
Course Type: Online; Continuous-intake. Register anytime and learn at your own pace
This course is about the operation of a computer with emphasis on hardware principles, implementation strategies, and operational principles. It starts with an overview of the evolution of computers, discusses several approaches to computer instruction sets, the structure of a typical CPU and its internal design, the hierarchy of the memory system and the reasons why memory has several levels, the ways in which computer systems access input and output devices, and the principles of input-output devices themselves. The obvious reason why future computer professionals need this course is that they should know what makes computers tick. Another reason is that they may need to know how to interface other devices to computers and this requires understanding of Computer Architecture. Finally, several fundamental Computer Science courses, such as operating systems, compilers, programming languages, and networking, depend on the understanding of the interaction between software and hardware. Without understanding Computer Architecture, topics such as memory management, code generation, and device drivers are meaningless.