CS302-Computer Architecture
Degree Program: BSCS
Credit Hours: 3(2-1)
Prerequisite(s):-
Course Description:
The course provides an introduction to advanced principles and current practices in computer architecture. It covers topics such as instruction set design, hardware and software methods for exploiting parallelism, memory hierarchies, and input/output systems. The course also introduces multicore processors, cache coherence problems, and parallel architectures.
Aims and Objectives:
After completing this course, students will be able to:
Acquire an understanding of the fundamental principles and concepts of computer architecture.
Familiarise themselves with the components and organisation of a computer system.
Understand different instruction set architectures (ISA) and their relationship with software.
Explore the design and optimization of processors, including pipelining and microarchitecture.
Explain memory hierarchy and caching techniques for efficient data access.
Learning Outcomes:
By the end of this course, students will be able to:
Analyse and explain the core concepts and principles of computer architecture.
Design and optimise instruction set architectures and processor microarchitectures.
Implement and manage memory hierarchy and caching techniques.
Develop and evaluate input/output systems in computer architecture.
Explain and apply the principles of parallel architectures and parallel programming.
Evaluate the performance of computer systems using appropriate metrics and tools.
Recommended Text:
Computer Organization and Architecture (Eighth Edition) by William Stallings
Secondary Texts:
Computer Architecture: A Quantitative Approach by John L. Hennessy and David A. Patterson
Structured Computer Organization by Andrew S. Tanenbaum and Todd Austin
Other Readings/Notes:
Additional mandatory reading material will be provided over the semester.