Courses
CS 152. Computer Architecture & Engineering
Current Schedule (Spring 2013)
- CS 152: Krste Asanović, T T 2:00-3:30P, 3108 Etcheverry [course homepage]
Description
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
