CS 461 Computer Architecture

Catalog Description: 
An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.
Prerequisite: 
CS 226 and CS 219 or permission of the instructor.
Credits: 
3
Offered: 
First semester—odd years
Required or Elective: 
Elective
Level: 
Advanced
Coordinator: 
Bill Pierce
Current Textbook: 

Computer Architecture: A Quantitative Approach, John L. Hennessey and David A. Patterson, Fifth Edition, 2012.

Topics covered: 
  • Fundamentals of Computer Design and Analysis
  • Pipelining and Instruction Sets
  • Memory Hierarchy Design
  • Instruction Level Parallelism and Its Exploitation
  • Data Level Parallelism in Vector, SIMD and GPU Architectures
  • Thread Level Parallelism
  • Warehouse-Scale Computers
  • Decimal Floating Point (IEEE-754 2008)
Student Learning Outcomes: 

On completing this course, the student will be able to:

  1. Understand the design techniques, machine structures, technology factors and evaluation methods that are guiding the development of current and future computer systems
  2. Acquire and apply skills to analyze and quantify the effects of various system design criteria
  3. Expand and enhance previously learned concepts
  4. Further develop analytical skills and the ability to solve problems
  5. Describe the limitations associated with computer design in quantitative terms.
  6. Be able to apply computer architecture formulas in solving problems associated with memory bandwidth, computer performance, system availability and power.
  7. Describe from historical perspectives designs of past computer systems and their significance and impact on current technology.
  8. Describe methods for implementing parallelism and multiprocessing in computer architectures.
Relation of Course Outcomes to Program Outcomes: 

 

CS 461 Student Outcomes (SOs)
Course Learning Outcomes a b c d e f g h i j k
1. Understand the design techniques, machine structures, technology factors and evaluation methods that are guiding the development of current and future computer systems                  
2. Acquire and apply skills to analyze and quantify the effects of various system design criteria.                  
3. Expand and enhance previously learned concepts.                
4. Further develop analytical skills and the ability to solve problems.                  
5. Describe the limitations associated with computer design in quantitative terms.              
6. Be able to apply computer architecture formulas in solving problems associated with memory bandwidth, computer performance, system availability and power.              
7. Describe from historical perspectives designs of past computer systems and their significance and impact on current technology.                  
8. Describe methods for implementing parallelism and multiprocessing in computer architectures.                  

 


 

Role in Assessment: 
Current syllabus: 
Go to top