Introduction to Computer Organization
Revised: December 2008 (Bill Kreahling)
Course Description
Introduction to computer arithmetic, processor organization and design, micro-programming and control unit design, memory organization, I/O organization. 3 credit hours. Prerequisites: MATH 250.
Objectives
To provide an in-depth understanding of the
- workings of modern digital computer systems.
- trade-offs present at hardware-software interface.
- design process of a hardware system.
Text
Required: Patterson, David A. and Hennessy, John L., Computer Organization Design: The Hardware/Software Interface, Second Edition (Revised Printing), Morgan Kaufmann, 2007.
Grading Procedure
Grading procedures and factors influencing course grade are left to the discretion of individual instructors, subject to general university policy.
Attendance Policy
Attendance policy is left to the discretion of individual instructors, subject to general university policy.
Course Outline
- Introduction
Administrative. Introduction, course overview, and basic terminology.Measuring System Performance
A discussion of how system performance can be measured; pros and cons for using these methods. - Assembly Language
MIPS assembly language basics, representing instructions and data in memory, instruction layout, flow of control, branching, looping, switch/case, procedures, addressing modes. - Number Representation and Arithmetic
Number representation including one's compliment, two's compliment, floating point; addition, subtraction, multiplication and division using several different number representations; signed/unsigned. - Processor Datapath and Control
In depth discussion of single and multi-cycle datapath for a small subset of the MIPS processor; hazards; Microprogramming control design; exception handling. - Pipelining
Introduction to advanced datapath and control design: overview of pipelining, dynamic pipelining, and superscalar design. - Memory Hierarchy
Cache design; cache performance; virtual memory.







