CS 152. Computer Architecture & Engineering


Catalog Description: (5 units) Instruction set design, Register Transfer. Verilog and CAD tool design. Testing methodologies. Data-path design. Controller design. Memory system. Addressing. Microprogramming. Computer arithmetic. Out-of-order pipelining and branch prediction. Survey of real computers and microprocessors. Computer design project requiring about 100 hours involves creative application of techniques to build unique pipeline.

Prerequisites: CS 150.

Course objectives: This course will give you an in-depth understanding of the inner-workings of modern digital computer systems and tradeoffs present at the hardware-software interface. You will work in groups of 4 or 5 to get an understanding of the design process in the context of a complex hardware system and practical experience with computer-aided design tools. You will be required to present your design and results in front of the TAs and class.

Topics covered:

  • 5 components of a computer
  • ISA's and Intro to MIPS
  • MIPS operations and Performance
  • Delay Modeling
  • Low Power Design
  • Design Process, ALU & Adders
  • Multipliers & Shifters
  • Dividers & Floating Point
  • Verilog
  • Design and testing methodologies
  • Single cycle datapath and control
  • Multiple cycle processor, controller, and microprogramming
  • Exceptions
  • Introduction to Pipelining
  • Pipelining and control
  • Pipelining and exceptions
  • Advanced pipelining, Out-of-Order Execution, Branch Prediction
  • Intro to Memory Systems
  • Cache Design
  • Virtual memory
  • I/O Systems
  • Embedded Processors
  • DSP processors
  • Real world processor design with examples of impact of technology

General Catalog

Undergraduate Student Learning Goals