||Computer Science/Information Technology
This is a graduate level course. It builds on the concepts presented in the undergraduate computer architecture course. The emphasis is given to expose advances in the field through cost-performance-power trade-offs and good engineering design of computers. The course introduces the quantitative principles of computer design, performance enhancement methodologies, static and dynamic exploitation of instruction level parallelism in high-performance processors and performance enhancement of memory and input/output systems.
Course Learning Outcomes
Upon successful completion of this course, students should be able to:
- Understand the quantitative principles of computer design and metrics for performance measurement.
- Familiarize the benchmark to analyze the performance of different architectures.
- Exploit instruction level parallelism using static and dynamic techniques in high-performance processors including superscalar execution.
- Recognize the centralized and distributed share-memory multiprocessor architectures.
- Design memory hierarchy and storage systems with optimum performance.
- Be acquainted to input/output systems design and their performance benchmarks.
Introduction, Instruction Set Principles, Computer Hardware Design, Instruction Level Parallelism (ILP), Static Scheduling for ILP, Memory Hierarchy Design, Multiprocessing, Input and Output Systems, Computer Networks.
Course Related Links
Useful link for course related material, taught by Andreas Moshovos at Toronto University, Canada
Course Related valuable link provided by The University of York, UK
Useful link for course related material, taught by Dr. Muhamed Younis at University of Maryland Baltimore County
Useful link for course related material, taught by Rashid B. Muhammad at Kent State University
Course Related valuable link provided by University of Nebraska-Lincoln
Very good material in terms of Notes and Slides provided by Imperial College London