Introduction to the architecture and organization of physical computers. Machine language programming, the design of instruction sets, and software/hardware tradeoffs are emphasized. Digital design topics such as transistors, Boolean algebra, logic gates, functional units, timing, computer arithmetic, and overall system design are studied. Topics include data path and controller design, hazard detection and resolution, dynamic scheduling, the memory hierarchy, parallelization, and application-specific processors.
Prerequisite Courses