CS 350 Syllabus

Computer Organization

Revised: February, 2015

Course Description

Introduction to computer arithmetic, processor organization and design, micro-programming and control unit design, memory organization, I/O organization. Prerequisite: CS 151. Three semester hours.

Student Learning Objectives

By the end of the course the students will be able to:

  • Explain the workings of modern computer systems, in particular the classic five-stage pipeline.
  • Explain the trade-offs present at the hardware-software interface.
  • Explain the design process of a hardware system.

Text

David A Patterson. and John L. Hennessy, Computer Organization Design: The Hardware/Software Interface, Fifth Edition, Morgan Kaufmann, 2014.

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
    System Performance, throughput, response time, Cycles Per Instruction (CPI), clock rate, clock period.
  • Assembly Language using MIPS
    MIPS assembly language basics, representing instructions and data in memory, endianness, instruction layout, flow of control, branching, looping, switch/case, procedures, addressing modes.
  • Number Representation and Computer Arithmetic
    Number representation including one's compliment, two's compliment, floating point; addition, subtraction, multiplication and division; signed/unsigned, sign extension.
  • Processor Datapath and Control
    In depth discussion of datapath implementation; single cycle implementation and multiple cycle pipelined implementation, for a small subset of the MIPS processor; pipeline hazards; control signals, exception handling.
  • Memory Hierarchy
    Cache design; cache performance.
Office of Web Services