Onur Mutlu: Catalogue data in Spring Semester 2020
|Name||Prof. Dr. Onur Mutlu|
ETH Zürich, ETZ G 61.2
|Telephone||+41 44 632 88 53|
|252-0028-00L||Digital Design and Computer Architecture||7 credits||4V + 2U||O. Mutlu, F. K. Gürkaynak|
|Abstract||The class provides a first introduction to the design of digital circuits and computer architecture. It covers technical foundations of how a computing platform is designed from the bottom up. It introduces various execution paradigms, hardware description languages, and principles in digital design and computer architecture.|
|Objective||This class provides a first approach to Computer Architecture. The students learn the design of digital circuits in order to:|
- understand the basics,
- understand the principles (of design),
- understand the precedents (in computer architecture).
Based on such understanding, the students are expected to:
- learn how a modern computer works underneath, from the bottom up,
- evaluate tradeoffs of different designs and ideas,
- implement a principled design (a simple microprocessor),
- learn to systematically debug increasingly complex systems,
- hopefully be prepared to develop novel, out-of-the-box designs.
The focus is on basics, principles, precedents, and how to use them to create/implement good designs.
|Content||The class consists of the following major blocks of contents:|
- Major Current Issues in Computer Architecture: Principles, Mysteries, Motivational Case Studies and Examples
- Digital Logic Design: Combinational Logic, Sequential Logic, Hardware Description Languages, FPGAs, Timing and Verification.
- Basics of Computer Architecture: Von Neumann Model of Computing, Instruction Set Architecture, Assembly Programming, Microarchitecture, Microprogramming.
- Basics of Processor Design: Pipelining, Out-of-Order Execution, Branch Prediction.
- Execution Paradigms: Out-of-order Execution, Dataflow, Superscalar Execution, VLIW, SIMD Processors, GPUs, Systolic Arrays, Multithreading.
- Memory System: Memory Organization, Memory Technologies, Memory Hierarchy, Caches, Virtual Memory.
|Lecture notes||All the materials (including lecture slides) will be provided on the course website: |
The video recordings of the lectures are likely to be made available after lectures, but there may be delays associated with the posting of online videos.
|Literature||Patt and Patel's "Introduction to Computing Systems" and Harris and Harris's "Digital Design and Computer Architecture" are the official textbooks of the course.|
We will provide required and recommended readings in every lecture since the course is cutting-edge and there is no textbook that covers what the course covers. They will be mostly chapters of the two textbooks, and important articles that are essential for understanding the material.
|263-2211-00L||Seminar in Computer Architecture |
Number of participants limited to 22.
The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar.
|2 credits||2S||O. Mutlu, M. H. K. Alser, J. Gómez Luna|
|Abstract||This seminar course covers fundamental and cutting-edge research papers in computer architecture. It has multiple components that are aimed at improving students' (1) technical skills in computer architecture, (2) critical thinking and analysis abilities on computer architecture concepts, as well as (3) technical presentation of concepts and papers in both spoken and written forms.|
|Objective||The main objective is to learn how to rigorously analyze and present papers and ideas on computer architecture. We will have rigorous presentation and discussion of selected papers during lectures and a written report delivered by each student at the end of the semester.|
This course is for those interested in computer architecture. Registered students are expected to attend every meeting, participate in the discussion, and create a synthesis report at the end of the course.
|Content||Topics will center around computer architecture. We will, for example, discuss papers on hardware security; accelerators for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing in memory; various fundamental and emerging paradigms in computer architecture; hardware/software co-design and cooperation; fault tolerance; energy efficiency; heterogeneous and parallel systems; new execution models; predictable computing, etc.|
|Lecture notes||All materials will be posted on the course website: https://safari.ethz.ch/architecture_seminar/|
Past course materials, including the synthesis report assignment, can be found in the Fall 2019 website for the course: https://safari.ethz.ch/architecture_seminar/fall2019/doku.php
|Literature||Key papers and articles, on both fundamentals and cutting-edge topics in computer architecture will be provided and discussed. These will be posted on the course website.|
|Prerequisites / Notice||Design of Digital Circuits.|
Students should (1) have done very well in Design of Digital Circuits and (2) show a genuine interest in Computer Architecture.