This course focuses on how to organize and control modern high performance processors which are adopted into recent computer systems, and covers the concepts and techniques of the advanced computer architecture, such as pipeline processors, vector computers, parallel computers, interconnection networks, multicore processors, etc.
The concept of parallel processing by pipelining and multiprocessors is essential for fast computation, and becomes the basis of designing modern high performance processors. This course introduces not only hardware technologies but also the aspect of the corresponding software, i.e., programming models. Students will have the technologies of modern computer architecture from both aspects.
At the end of this course, students will:
- Understand the concepts, principles, and properties of pipeline processors and superscalar processors from the aspects of both hardware and software,
- Understand the principles of vector processors and the relationship between their organization and performance,
- Understand the classification and organization of multiprocessor systems, and
- Understand the mechanisms of maintaining the consistency of data on multiprocessor systems from the aspects of both hardware and software.
RISC, pipelining, vector computer, interconnection network, shared memory multiprocessor, message-passing multiprocessor, multicore processor
|✔ Specialist skills||Intercultural skills||Communication skills||Critical thinking skills||Practical and/or problem-solving skills|
In the first 80% of each class, the details of topics are described. The remainder will be spent for quizzes and their explanation to help students’ comprehension.
|Course schedule||Required learning|
|Class 1||High performance processor and its evaluation||Explain the relationship between throughput and response time. Undersntad Amdahl's law.|
|Class 2||Instruction set architecture / addressing mode / CISC||Explain the advantages and disadvantages of CISC processors.|
|Class 3||RICS / piplining||Explain the advantages and disadvantages of RISC processors. Understand the principles of pipelining.|
|Class 4||Hazard / static multiple issue processor / VLIW||Understand the hazard problems and explain their solutions.|
|Class 5||Dyamic multiple issue processor / superscalar processor / Tomasulo's algorithm||Understand Tomasulo's algorithm|
|Class 6||Arithmetic pipeline / non-linear pipelining||Explain the scheduling of non-linear pipelining.|
|Class 7||Vector computer architecture||Explain the principles of vector computer architecture.|
|Class 8||Advances and evaluations of vector computers||Understand how to estimate the performance of vector computers.|
|Class 9||Static interconnection network / packet switching||Explain the variations of static interconnection networks and their routing methods.|
|Class 10||Dynamic interconnection network||Explain how to organize dynamic interconnection networks.|
|Class 11||Multiprocessor / shared memory multiprocessor / cache coherency / snooping cache coherence protocol||Explain snooping cache coherence protocol.|
|Class 12||Directory-based cache coherence protocol / programiming model for shared memory multiprocessor||Understand thre relationship between cache coherence protocols and mutual exclusion among threads.|
|Class 13||Distributed memory multiprocessor / message-passing / programming model for distributed memory multiprocessor||Understand the programming models for distributed memory multiprocessors.|
|Class 14||Multicore processor / manycore processor / GPU||Undersntad the properties of multicore and manycore processors|
|Class 15||Hardware multithreading / SIMD instructions / advanced topics||Undersntad hardware multithreading and SIMD instructions.|
Handouts used in class can be found on OCW-i.
- David A. Patterson, John L. Hennessy, “Computer Organization and Design -- The Hardware/Software Interface 5th Ed.”, Morgan Kaufmann, 2013
- John L. Hennessy, David A. Patterson, “Computer Architecture – A Quantitative Approach 5th Ed.”, Morgan Kaufmann, 2011
The course scores are based on the term-end exam.
No prerequisites are necessary, but enrollment in Computer Architecture I and Assembly Language is desirable.