The spring semester 2021 will take place online until further notice. Exceptions: Courses that can only be carried out with on-site presence. Please note the information provided by the lecturers.

Onur Mutlu: Catalogue data in Spring Semester 2019

Name Prof. Dr. Onur Mutlu
FieldComputer Science
Dep. Inf.techno.u.Elektrotechnik
ETH Zürich, ETZ G 61.2
Gloriastrasse 35
8092 Zürich
Telephone+41 44 632 88 53
DepartmentComputer Science
RelationshipFull Professor

252-0028-00LDesign of Digital Circuits Information 7 credits4V + 2UO. Mutlu, F. K. Gürkaynak
AbstractThe 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.
ObjectiveThis 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.
ContentThe class consists of the following main blocks of contents:
- Digital Logic Design: Combinational Logic, Sequential Logic, Hardware Description Languages, FPGAs.
- Von Neumann Model of Computing: ISA, Microarchitecture, Microprogramming.
- Processor Design Methods: Pipelining, Out-of-Order Execution, Branch Prediction.
- Processing Paradigms: Out-of-order Execution, Dataflow, VLIW, SIMD Processors, GPUs, Systolic Arrays, Multithreading.
- Memory System: Memory Organization, Memory Technologies, Memory Hierarchy, Caches, Virtual Memory.
Lecture notesAll 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.
LiteraturePatt 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. They will be mostly chapters of the two textbooks, and important articles that are essential for understanding current computer architectures.
263-2211-00LSeminar in Computer Architecture Information Restricted registration - show details
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 credits2SO. Mutlu, M. H. K. Alser, J. Gómez Luna
AbstractIn this seminar course, we will cover fundamental and cutting-edge research papers in computer architecture. The course will consist of multiple components that are aimed at improving students' technical skills in computer architecture, critical thinking and analysis on computer architecture concepts, as well as technical presentation of concepts and papers in both spoken and written forms.
ObjectiveThe main objective is to learn how to rigorously analyze and present papers and ideas 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 lecture and participate in the discussion.
ContentTopics will center around computer architecture. We will, for example, discuss papers on hardware security; architectural acceleration mechanisms for key applications like machine learning, graph processing and bioinformatics; memory systems; interconnects; processing inside 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, etc.
LiteratureKey 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.