Lothar Thiele: Catalogue data in Autumn Semester 2018
|Name||Prof. em. Dr. Lothar Thiele|
Inst. f. Techn. Informatik u. K.
ETH Zürich, ETZ G 77
|Telephone||+41 44 632 70 31|
|Department||Information Technology and Electrical Engineering|
|227-0013-00L||Computer Engineering I||4 credits||2V + 1U + 1P||L. Thiele|
|Abstract||The course provides knowledge about structures and models of digital systems (abstract data types finite state automata, dependence and process graphs), assembler and compiler, control path and data path, pipelining, speculation techniques, superscalar computer architectures, memory hierarchy and virtual memory, operating system, processes and threads.|
|Objective||Logical and physical structure of computer systems. Introduction to principles in hardware design, datapath and control path, assembler programming, modern architectures (pipelining, speculation techniques, superscalar architectures), memory hierarchy and virtual memnory, software concepts.|
|Content||Structures and models of digital systems (abstract data types finite state automata, dependence and process graphs), abstraction and hierarchy in computer systems, assembler and compiler, control path and data path, pipelining, speculation techniques, superscalar computer architectures, memory hierarchy and virtual memory, operating system, processes and threads.|
Theoretical and practical exercises using a simulation-based infrastructure.
|Lecture notes||Material for practical training, copies of transparencies.|
|Literature||D.A. Patterson, J.L. Hennessy: Computer Organization and Design: The Hardware/ Software Interface. Morgan Kaufmann Publishers, Inc., San Francisco, ISBN-13: 978-0124077263, 2014.|
|Prerequisites / Notice||Prerequisites: Programming skills in high level language, knowledge of digital design.|
|227-0102-00L||Discrete Event Systems||6 credits||4G||L. Thiele, L. Vanbever, R. Wattenhofer|
|Abstract||Introduction to discrete event systems. We start out by studying popular models of discrete event systems. In the second part of the course we analyze discrete event systems from an average-case and from a worst-case perspective. Topics include: Automata and Languages, Specification Models, Stochastic Discrete Event Systems, Worst-Case Event Systems, Verification, Network Calculus.|
|Objective||Over the past few decades the rapid evolution of computing, communication, and information technologies has brought about the proliferation of new dynamic systems. A significant part of activity in these systems is governed by operational rules designed by humans. The dynamics of these systems are characterized by asynchronous occurrences of discrete events, some controlled (e.g. hitting a keyboard key, sending a message), some not (e.g. spontaneous failure, packet loss). |
The mathematical arsenal centered around differential equations that has been employed in systems engineering to model and study processes governed by the laws of nature is often inadequate or inappropriate for discrete event systems. The challenge is to develop new modeling frameworks, analysis techniques, design tools, testing methods, and optimization processes for this new generation of systems.
In this lecture we give an introduction to discrete event systems. We start out the course by studying popular models of discrete event systems, such as automata and Petri nets. In the second part of the course we analyze discrete event systems. We first examine discrete event systems from an average-case perspective: we model discrete events as stochastic processes, and then apply Markov chains and queuing theory for an understanding of the typical behavior of a system. In the last part of the course we analyze discrete event systems from a worst-case perspective using the theory of online algorithms and adversarial queuing.
2. Automata and Languages
3. Smarter Automata
4. Specification Models
5. Stochastic Discrete Event Systems
6. Worst-Case Event Systems
7. Network Calculus
|Literature||[bertsekas] Data Networks |
Dimitri Bersekas, Robert Gallager
Prentice Hall, 1991, ISBN: 0132009161
[borodin] Online Computation and Competitive Analysis
Allan Borodin, Ran El-Yaniv.
Cambridge University Press, 1998
[boudec] Network Calculus
J.-Y. Le Boudec, P. Thiran
[cassandras] Introduction to Discrete Event Systems
Christos Cassandras, Stéphane Lafortune.
Kluwer Academic Publishers, 1999, ISBN 0-7923-8609-4
[fiat] Online Algorithms: The State of the Art
A. Fiat and G. Woeginger
[hochbaum] Approximation Algorithms for NP-hard Problems (Chapter 13 by S. Irani, A. Karlin)
[schickinger] Diskrete Strukturen (Band 2: Wahrscheinlichkeitstheorie und Statistik)
T. Schickinger, A. Steger
Springer, Berlin, 2001
[sipser] Introduction to the Theory of Computation
PWS Publishing Company, 1996, ISBN 053494728X
|227-0778-00L||Hardware/Software Codesign||6 credits||2V + 2U||L. Thiele|
|Abstract||The course provides advanced knowledge in the design of complex computer systems, in particular embedded systems. Models and methods are discussed that are fundamental for systems that consist of software and hardware components.|
|Objective||The course provides advanced knowledge in the design of complex computer systems, in particular embedded systems. Models and methods are discussed that are fundamental for systems that consist of software and hardware components.|
|Content||The course covers the following subjects: (a) Models for describing hardware and software components (specification), (b) Hardware-Software Interfaces (instruction set, hardware and software components, reconfigurable computing, heterogeneous computer architectures, System-on-Chip), (c) Application specific instruction sets, code generation and retargetable compilation, (d) Performance analysis and estimation techniques, (e) System design (hardware-software partitioning and design space exploration).|
|Lecture notes||Material for exercises, copies of transparencies.|
|Literature||Peter Marwedel, Embedded System Design, Springer, ISBN-13 978-94-007-0256-1, 2011.|
Wayne Wolf. Computers as Components. Morgan Kaufmann, ISBN-13: 978-0123884367, 2012.
|Prerequisites / Notice||Prerequisites for the course is a basic knowledge in the following areas: computer architecture, digital design, software design, embedded systems|