This course provides comprehensive coverage of the architecture and organization of a digital computer system, the relationship between the software and the hardware, performance analysis, and evaluation at both functional block level and system level. This course is a foundation course for Computer programs, including Computer Engineering and Computer Science. By the end of this course:
(1) Students of Computer Engineering can design and implement a digital computer system with a basic architecture.
(2) Students of Computer Science can design and develop software that runs effectively and appropriately on a given Computer Architecture.
Course learning outcomes:
- Understand the structure, organization of a computer system: the main components and the basic principles of its operation;
- Understand the fundamentals of different instruction set architectures and their relationship to the CPU design;
- Understand the principles and the implementation of computer arithmetic;
- Understand the principles and working mechanism of memory hierarchy;
- Write and optimize small programs and fragments of codes to demonstrate an understanding of machine-level operation;
- Design and emulate a single cycle of pipelined CPU by given specifications using.
Students can download the slides from here or from the BKeL webpage
1. Chapter 0: Introduction (slide)
2. Chapter 1: Computer Abstractions and Technology (slide)
3. Chapter 2: Instructions - Language of the Computer (slide)
4. Chapter 3: Arithmetic for Computers (slide)
5. Chapter 4: The Processor (slide)
6. Chapter 5: Memory Hierarchy (slide)
7. Chapter 6: Advanced Topics (slide)