Pre-requisite(s)
Computer Organization and Assembly Language (CS-2523)
Introduction to Programming (CS-1133)
Recommended Book(s)
Computer Architecture: A Quantitative Approach, 5th Edition John L. Hennessy And David A. Patterson. Morgan Kaufmann Publishers
COURSE OBJECTIVES
This course forms a strong foundation in the understanding and design of modern computing systems. Building on a computer organization base, this course explores techniques that go into designing a modern microprocessor.
COURSE LEARNING OUTCOMES (CLO)
Course Objectives
COURSE CONTENTS
Quantitative Principles of Computer Design
The Task of a Computer Designer
Technology and Computer Usage Trends
Cost and Trends in Cost
Measuring and Reporting Performance
Benchmarks and metrics
Instruction Set Principles and Examples
Classification of Instruction Set Architectures
Instruction Formats and Semantics
Memory Addressing Modes
Operations in the Instruction Set
Encoding and Instruction Set
The Role of Compilers
Advanced Pipelining and Instruction-Level Parallelism
Basic Pipeline Operations
Data and Control Pipeline Hazards
Instruction-Level Parallelism
Dynamic Instruction Scheduling and Branch Prediction
Thread Level Parallelism
Multiprocessor Systems and Applications
Centralized Shared-Memory Architectures
Distributed Shared-Memory Architectures
Execution Synchronization
Models of Memory Consistency
Data Level Parallelism (Time Permitting)
Vector Processing
Support for Multimedia Applications
Graphics Processing Units
MAPPING OF CLOs TO ASSESSMENT MODULES
Midterm exam |
Final exam |
Project/Paper Presentaion |
Homework & Quiz |