Teaching

Computer Architecture 1 (RA I)

Lecturer: Prof. Akash Kumar

Instructor: Martin Brüstel (Contact)

Description: The objective of this course is to introduce the basic principles of computing technology. The course material is very helpful in understanding the architectures of modern computer systems. It starts with an introduction of binary coding (number systems) and methods of data processing. The designs of different basic computer components will be discussed. Using the principles of Von Neumann computer, CISC and RISC architectures will be introduced. The course will also cover the memory hierarchy, communication protocols and interaction of individual components.

Configuration: 2 V / 2 Ü / 0 P

Module: INF-B-330, INF-LE-EUI, INF-LE-MA, IST-05-PF-GS, MATH-BA-INFG

Language of Instruction: German 

Schedule (Vorlesung): Tuesday 14:50 hrs (Room: HSZ / 0002)

Tutorials (Übung): Information is available here.

Examination Type: TBA

Lecture Material and Exercises (Vorlesung und Übung): Available here

 

Additional Resources: anandtech, RISC

 

Einführung in die Technische Informatik

Configuration: 4 weeks each with 4 DS

Lecturer: Prof. Akash Kumar
Instructor: Salim Ullah (for practical sessions only)

Description: This course gives an introduction to different topics in computer engineering. It is taught by several professors of the institute for "Technische Informatik", including "Parallel Processing" by Prof. Nagel , "HW/SW Co-design" by Prof. Göhringer, Compiler Design by Prof. CastrillonThe part covered by Prof. Kumar includes trends and challenges in modern computing systems, with emphasis on neural network design and optimization.


Schedule: In the winter semester 2019/2020, the lecture will be held on: Tuesdays, 16:40-18:10 in room APB/E007 and Fridays, 14:50-16:20 in room APB/E006 (2nd part starting on the 12.11.19). More details available here.

Lectures: 12.11 (4:40pm), 15.11 (2:50pm), 19.11 (4:40pm), 22.11 (2:50pm), 26.11 (4:40pm), 29.11 (2:50pm), 03.12 (4:40pm)

 
Lectures Material
 
 
Exercises
 
Embedded Hardware Systems Design

Lecturer: Prof. Akash Kumar

Instructor: Dr. Tuan Duy Anh Nguyen (Contact)

Module Number: DSE-14-E14, INF-B-510, INF-B-520, INF-BAS3, INF-BAS4, INF-BI-4, INF-BI-5, INF-E-3,
INF-PM-ANW, INF-PM-FOR, INF-VERT3, INF-VERT4, INF-VERT5

Language of Instruction: English

Motivations: Nowadays, the means of computation in datacenters are no longer homogeneous. Traditionally, only the General Purpose Processors were used to process the data. The current datacenters are moving towards heterogeneous computation where other components are integrated alongside GPPs. They are either GPGPUs (General Purpose Graphic Processing Units), dedicated hardware accelerators (like Google TPU, Tensor-Processing Unit) or a more generic reconfigurable platform for accelerators, FPGA (Field Programmable Gate Array). GPGPU proves to be very efficient in parallel processing in the big-data era with tremendous data bandwidth and processing power. However, they require hundreds of watts of power (each) to operate which significantly contribute to the plethora of problems in cooling and power management in datacenters. On the other end of the spectrum, dedicated hardware accelerators are extremely fast and power efficient for its very desired functionality. FPGAs sit in the middle of the spectrum to offer the best of both worlds: fast computation with inherently infinite parallelism, generic enough for (almost) any accelerator on the same platform with reconfigurability, and finally, energy-efficient with reasonable power consumption (40W on Microsoft datacenters). As a result, many companies have been investing in FPGA in their datacenter solutions such as Microsoft, Amazon, Baidu, Huawei, Ericsson, etc.
The aim of this module is to equip the students with the knowledge of hardware systems design. It starts with different ideas, flows, and steps involved in moving from a high-level system architecture specification models to a fully functional, optimized system on the FPGA. In order to fulfill this goal, the students need to have a different mindset in working with hardware. It’s no longer sequential, everything is parallelized. The insights into different algorithms and techniques in every step of building the hardware (turning hardware description language model to logic elements, mapping and placing them to FPGA resources, connecting those resources to realize a working system) are discussed. These are the foundations for the students to critically analyze and successfully design a hardware system on the FPGA. 

Configuration: 2 V / 0 Ü / 0 P

Pre-requisites: Basic knowledge of computer architecture and embedded systems is required. Furthermore, knowledge in hardware design, including VHDL and FPGA is an advantage.

Examination: The exam form for the award of credits corresponds to the regular exam at the first retake exam (WH1). In the case of an approved second re-examination (WH2), the examination is an oral individual examination of 30 minutes.

Credits and grades: 6 credit points. The module grade corresponds to the grade of the examination.

Schedule: Thursdays, 11.10-12.40

New Location for Lectures: Helmholtzstrasse 18, BAR-III81-82

Dates: 4.4. / 11.4. / 18.4. / 25.4. / 2.5. / 9.5. / 16.5. / 23.5. / 6.6. / 27.6. / 4.7. / 11.7.

Lecture Material

Lecture 1 - Introduction (PDF)

Lecture 2 - FPGA (PDF)

Lecture 3 - System Specification and Modeling (PDF)

Lecture 4 - Modeling with SystemC (PDF)

Lecture 5 -Questions (PDF)

Guest Lecture (PDF)

Lecture 5 - Architectural (Behavioral) Synthesis (PDF)

Lecture 6 - Architectural (Behavioral) Synthesis-2 (PDF)

Lecture 7 - Logic Minimization - 1 (PDF)

Lecture 8 - Logic Minimization - II (PDF)

Lecture 9 - Technology Mapping (PPTX)

Lecture 10 - Physical Synthesis-I (PDF)

Lecture 11 - Physical Synthesis-II (PDF)

 

Seminar Topics (PDF)

Praktikum Embedded Hardware Systems Design

Lecturer: Prof. Dr. Akash Kumar

Configuration: 0 V / 0 Ü / 2 P

Module: DSE-14-E14, INF-PM-FPA, INF-VERT1, INF-VERT4, INF-VERT5  

Description: This module is designed as a follow-up for the Embedded System Design (lecture and seminar) offered in the last semester. However, it is also suitable for other participants who did not attend the lecture. Previously, the participants learnt about the knowledge of hardware systems design. It started with different ideas, flows, and steps in moving from a high-level system architecture specification models to a fully functional, optimized system on the FPGA. The insights into different algorithms and techniques in every step of building the hardware (turning hardware description language model to logic elements, mapping, and placing them to FPGA resources, connecting those resources to realize a working system) were discussed. These are the foundations for the participants to critically analyze and successfully design a hardware system on the FPGA.

In this module, the participants will be designing the actual embedded systems on the FPGA. It is different than the Embedded System Design Seminar, where the participants are free to choose the topics of interest without having to implement on the FPGA board. The goal of this module is to have hands-on practice of developing complex embedded systems on a Xilinx Zynq FPGA. In these systems, the software running on the ARM core (in the Processing Subsystem) will interact with the hardware accelerators implemented in the Programmable Logic via the AMBA AXI bus. The participants will be instructed through a set of tutorials every week to learn what these embedded systems are comprised of, how they can be implemented starting from the most basic accelerator to the more complex ones with AMBA AXI-4 and AXI-Stream interfaces. The participants will also write their own hardware accelerators with any hardware description language that they are comfortable with. The main language for the software running on ARM is C/C++.

Schedule: The instructors and students will agree upon the timeline for the meeting. It’s preferably every two weeks to make sure that the students are going the right direction and to clarify the doubts. The location will be BAR-III (the exact room will be informed later)


Registration: Sending an email to Dr. Tuan.

Language: English

Pre-requisites: Basic knowledge of computer architecture and embedded systems is required. Furthermore, knowledge in hardware design, including VHDL and FPGA, is an advantage.

Forschungspraktikum Embedded Hardware Systems Design

Lecturer: Prof. Dr. Akash Kumar
Module Number: DSE-14-E14, INF-PM-FPA, INF-VERT1, INF-VERT4, INF-VERT5  

Schedule: Once every two weeks, will be agreed upon by all participants. The location will be BAR-III (the exact room will be informed later)
Language: English
Motivations: This module is similar to the Praktikum Embedded Hardware Systems Design. However, it is more research oriented. Beside following the tutorials to be familiar with the practical design process, the participants will work on the state-of-the-art problems in order to propose novel solutions to tackle them. The participants will also need to write a research article that is compliant with the international conferences/journals.
Configuration: 0 V / 0 Ü / 4 P
Pre-requisites: Basic knowledge of computer architecture and embedded systems is required. Furthermore, knowledge in hardware design, including VHDL and FPGA is an advantage.

Forschungspraktikum Prozessorentwurf

Configuration: 8P/PB

Description: In this module, the student acquires the essential skills for doing research: performing a related work search, proposing new solutions, implementing the ideas and composing a 6-page paper-like write-down and presenting it. These are fundamental skills that are required as early as doing a Bachelor Thesis, Großer Beleg or Master Thesis.
The student is free to choose a topic/paper from a set of pre-selected conference papers. The papers will be in the domain of low-power and multi-processor architectures including design techniques like approximate computing and reconfigurable architectures for machine learning, image/signal processing, etc. The student has two to three weeks to review and gather related work on the subject matter addressed in this paper. Then, the student needs to analyze the advantages as well as the disadvantages of the state-of-the-art, propose a solution to address one of those drawbacks. Afterwards, the student has to implement and evaluate the solution, either using hardware (preferably), software or simulation of the hardware. Finally, the paper report is expected to be compliant with the international conferences/journals. If the results are sufficiently good, the student will submit the paper to a suitable conference/journal.

Pre-requisites: Basic knowledge of computer architecture and embedded systems is required. Furthermore, knowledge in hardware design, including VHDL and FPGA is an advantage.

Schedule: Individually

Language: Deutsch/English

 

Seminar Embedded Hardware Systems Design

Configuration: 0 V / 2 Ü / 0 P

Description: In this seminar, the student acquires the basic skills for doing developmental research: performing a related work search on the desired topics, deriving the solutions and plan for implementing the topic, composing a 4-page paper-like write-down and presenting it. These are fundamental skills that are required as early as doing a Bachelors Thesis or Master Thesis.

The students, in groups of 1 to 2, are free to choose a topic from a set of pre-defined ones ranging from system architecture modeling, high-level synthesis for some particular domains such as Machine Learning, Image Processing, data processing like compression, filtering, etc. They can also propose their own. Afterwards, the students have one month to review and gather related works and techniques on the topic. The next one month would be for implementation. Finally, the students work on the 4-page technical report and presentation.

Schedule: The instructors and students will agree upon the timeline for meeting during first lecture (Vorlesung). It’s preferably every two weeks to make sure that the students are going the right direction and to clarify the doubts.

Language: English.

Forschungslinie – Einführung in die Forschung

Configuration: 1DS

Lecturer: Prof. Akash Kumar

Description: Overview of modern embedded processor designs and principles with a quick introduction to today's research problems in the domain, including approximate computing and fault-tolerant computing.

Schedule:

Language:

Course Material:

Seminar Current Topics in Embedded Systems (Hauptseminar)

Classification:

Degree

Program

Module

Bachelor

Informatik

INF-B-510

Medieninformatik

INF-B-530

Master

Informatik

INF-AQUA, INF-VERT5

Medieninformatik

INF-AQUA

Diplom

Informatik

INF-D-940, INF-VERT5

Informationssystemtechnik

INF-VERT5

Configuration: 0/2/0

Description: In this seminar, the student acquires the basic skills for doing research: performing a related work search, composing a 6-page paper-like write-down and presenting it. These are fundamental skills that are required as early as doing a Bachelors Thesis, Großer Beleg or Masters Thesis.

The student is free to choose a topic/paper from a set of pre-selected conference papers. The papers will be in the domain of low-power and predictable multi-processor architectures including design techniques like approximate computing and reconfigurable architectures. Afterwards, the student has one month to review and gather related work on the subject matter addressed in this paper. The write-down must present a more detailed comparison on the paper topic than is already given in the related work section. It may also refer to commonalities in other areas and should suggest new research directions that the approach in the selected paper does not cover.

Schedule: There will be a maximum capacity of 10 students to participate in the seminar. Register with an e-mail to Martin Brüstel until the 30th of April. We will follow up with a date for the presentation and the distribution of topics afterwards.

Language: English.