The course will focus on the basic and essential components of computing systems. From their memory and storage, through instruction-level parallelism, up to multi-processing and multi-threading. It will provide the students with a knowledge of the "big picture" of computer systems, their capabilities and limitations, together with design practice based on tradeoffs and constraints.
The outcome of this course is in an understanding and acquisition for the basic and essential components of computing systems.
MIPS, Instruction Set Architecture, Operating System, Memory, Pipelining, Speculation, Multi-threading, Multi Processors
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | Practical and/or problem-solving skills |
Frontal lectures in the classroom. There will home assignments of solving problems (though not checked, solutions will be published) and reading articles.
Course schedule | Required learning | |
---|---|---|
Class 1 | Overview | MIPS overview, Instruction Set Architecture (ISA), pipelining, hazards, interaction with the Operating System (OS). |
Class 2 | Memory | Memory hierarchy, technology and optimization, cache design. |
Class 3 | Virtual Memory | Virtual Memory (VM). |
Class 4 | Parallelism, Branch | Instruction-level parallelism, branch prediction. |
Class 5 | Pipeline | Pipeline extensions, static and dynamic scheduling. |
Class 6 | Speculation | Speculation, multiple-issue. |
Class 7 | Multi-threading | Multi-threading. |
Class 8 | Multi processors | Multi processors, symmetric shared-memory architecture, distributed memory. |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
None
J. L. Hennessy and D. A. Patterson, Computer Architecture, 4nd Edition, Morgan Kaufmann.
Learning achievement is evaluated by Final exam: 100%;
Knowledge of Digital Logic Systems, Logic Design, and Computers Introduction