252-0028-00L  Digital Design and Computer Architecture

SemesterSpring Semester 2020
LecturersO. Mutlu, F. K. Gürkaynak
Periodicityyearly recurring course
Language of instructionEnglish


252-0028-00 VDigital Design and Computer Architecture4 hrs
Thu13:00-15:00ER SA TZ »
13:15-15:00HG F 5 »
13:15-15:00HG F 7 »
Fri13:00-15:00ER SA TZ »
13:15-15:00HG F 5 »
13:15-15:00HG F 7 »
O. Mutlu, F. K. Gürkaynak
252-0028-00 UDigital Design and Computer Architecture2 hrs
Tue15:15-17:00HG E 19 »
15:15-17:00HG E 26.1 »
15:15-17:00HG E 26.3 »
15:15-17:00HG E 27 »
Wed15:15-17:00HG E 19 »
15:15-17:00HG E 26.1 »
15:15-17:00HG E 26.3 »
15:15-17:00HG E 27 »
Fri08:15-10:00HG D 11 »
08:15-10:00HG D 12 »
08:15-10:00HG E 26.3 »
08:15-10:00HG E 27 »
10:15-12:00HG E 19 »
10:15-12:00HG E 26.1 »
10:15-12:00HG E 26.3 »
10:15-12:00HG E 27 »
O. Mutlu, F. K. Gürkaynak

Catalogue data

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 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 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, but there may be delays associated with the posting of online videos.
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 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.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
In examination block forBachelor's Degree Programme in Computer Science 2016; Version 07.04.2022 (First Year Examination Block 2)
ECTS credits7 credits
ExaminersO. Mutlu, F. K. Gürkaynak
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationwritten 180 minutes
Additional information on mode of examinationEine Abschlussprüfung, insgesamt 180 Minuten (70%)
Übungen (obligatorische Leistungselemente) mit Vor-Ort-Beurteilung und Abgabe von Berichten (30%). Alle Übungen werden gleichmässig mitgezählt. Die Nichtbeteiligung in einer Übung ergibt die Note 1 (bzw. Null Punkte) in jener Übung.

One final exam of 180 min (70%).
Lab assignments (compulsory continuous performance assessments) with on-site assessment and submission of lab reports (30%). All lab assignments will count equally. Not participating In a lab assignment incurs grade 1 (or zero points) in that lab assignment.
Written aidsNo books, papers, computers, phones, calculators, or other electronic devices are allowed.
Maximum 6 A4 hand-written pages (i.e., 3 double-sided A4 sheets or 6 one-sided A4 sheets) with notes are allowed.

Bücher, Publikationen, Computer, Mobiltelefone, Taschenrechner oder andere elektronische Geräte sind nicht erlaubt. Maximal sechs A4 Seiten mit handschriftlichen Notizen sind erlaubt (d.h. drei beidseitig beschriftete A4 Seiten, oder sechs einseitig beschriftete A4 Seiten).
If the course unit is part of an examination block, the credits are allocated for the successful completion of the whole block.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

Main linkCourse website
Only public learning materials are listed.


No information on groups available.


There are no additional restrictions for the registration.

Offered in

Computer Science BachelorFirst Year Examination Block 2OInformation