User Tools

Site Tools


start

Computer Architecture

Description

This course presents the core concepts of computer architecture and design ideas embodied in many machines, and emphasizes a quantitative approach to cost/performance trade-offs. This course concentrates on uniprocessor systems. A few machines are studied to illustrate how these concepts are implemented; how various trade-offs that exist among design choices are treated; and how good designs make efficient use of technology. Future trends in computer architecture are also discussed. Topics covered may include fundamentals of computer design; Performance and cost; Instruction set design and measurements of use; Pipeline design techniques; Memory hierarchy design; Input output subsystems;

Course Learning Outcomes

By the end of this course, the student should be able to

  1. Design cache, memory hierarchy, and virtual memory using different techniques to improve cost/performance ratio.
  2. Demonstrate how dynamic scheduling and speculative execution can improve the system performance and explain how it is implemented in modern processors.
  3. Evaluate different design alternatives and make quantitative/qualitative argument for one design over the other.
  4. Identity the different types of parallelism (data, instruction, thread, transaction) for a given application.
  5. Compare and evaluate different techniques (such as multithreading, multicore, or vector) to improve CPU performance

Lecture Times

  • Section T: Tuesdays and Thursdays, 10:00am - 11:30pm, PSE 321
start.txt · Last modified: 2017/08/29 17:41 by aboelaze