Computer Organization and Networks (WS 2022/23)
Table of Content
Content
In this course, we study logic design and computer organization. We learn to model synchronous digital systems at the functional layer as well as the structural layer by using the hardware-design language System Verilog. Based on this, we discuss typical concepts found in computer organization: The fetch/execute algorithm, instruction sets, input and output, the stack, interrupt, handshake, memory technologies, direct memory access, and virtual memory. Furthermore, we learn the fundamentals of computer networks and communication technology. It discusses the network layers typically found in today's Internet-based communication. Thus, protocols found in today's networks are analyzed with respect to their function and their historical development.
This course replaces the previous courses of Computer Organization, Computer Organization and Networks and Computer and Communication Networks.The course is offered for students in the third semester of their bachelor's studies. It is advisable to have completed the programming courses offered in the first and second semesters. The course consists of four parts:
- Basics (logic gates, number representation, sequential logic, state machines)
- Processors, part I (Instruction sets, pipelining, memory layout, peripherals, C to machine language, interrupts)
- Networks (Basics, Layers: Link, network, transport, and application)
- Processors, part II (virtual memory, security)
Material
Lecture There is a live stream available via TUbe. Also recordings are available on TUbe. All examples shown in the lectures are available via git from examples-2022.Date | Begin | End | Slides |
---|---|---|---|
2022-10-05 | 13:00 | 15:15 | 00 Welcome 01 Combinational Circuits |
2022-10-12 | 13:00 | 15:15 | 02 Number Representation |
2022-10-19 | 13:00 | 15:15 | 03 State Machines |
2022-10-25 | 18:00 | 20:15 | 04 Processors |
2022-11-09 | 13:00 | 15:15 | 05 Pipelining |
2022-11-16 | 13:00 | 15:15 | 06 Peripherals and Interrupts 07 Assembly and Stack |
2022-11-23 | 13:00 | 15:15 | 07 Assembly and stack Examples |
2022-11-30 | 13:00 | 15:15 | 08 Networking I |
2022-12-07 | 13:00 | 15:15 | 09 Networking II |
2022-12-14 | 13:00 | 15:15 | 10 Networking III |
2023-01-11 | 13:00 | 15:15 | 11 Building Fast Processors and Memories |
2023-01-18 | 13:00 | 15:15 | 12 Virtual Memory |
Information on the Exam |
- Discord invitation link
- Software stack used: Icarus Verilog (at least version 11), SV2V, Yosys, GTKWave, asmlib, and GCC easy way: use the VirtualBox image with all tools preinstalled (we provide support if you have any questions) hard way: replicate the toolchain from ansible. Commit 360093591e481c9e4b67023755f5d191b97e436f was used to build CON2022VM (we provide no support)
Date | Event |
---|---|
2022-10-05 | publication Task 1 - Tutorial SystemVerilog, Example SystemVerilog, Tutorial Task 1a, Example Task 1a, Tutorial Task 1b, |
2022-10-10 | weekly question hours start |
2022-10-28 | deadline Task 1.a |
2022-11-04 | deadline Task 1.b publication Task 2 - Tutorial Task 2a, Tutorial Task 2b, Example Task 2b |
2022-11-25 | deadline Task 2.a |
2022-12-02 | deadline Task 2.b publication Task 3 |
2021-12-06 | week of assignment interviews for Tasks {1.a, 1.b, 2.a} |
2023-01-13 | deadline Task 3.a |
2023-01-20 | deadline Task 3.b weekly question hours end |
2023-01-23 | start assignment interviews for Tasks {2.b, 3.a, 3.b} |
- Course website: WS2019/2020, WS2020/2021, WS2021/2022
- Lecture exams:
Administrative Information
The lecture will be held in presence in the lecture hall. The practicals will be held online.- The lecture takes place every Wednesday at 13:00 and will be held in two blocks of 60min with a 15min break in-between. The exam after the annual lecture is in written form with a duration of 90 minutes.
- The practicals consist of these parts:
- tutorial videos: will be published here to introduce students to a topic or assignment
- question hours: happen every week. Time and day varies among TAs.
- assignment sheet: will contain the assignments and is distributed with your git repository at the beginning of the semester
- deadlines: always happen on 23:59
- assignment interviews: your TA will send you an invitation. You discuss your solutions with your TA in Discord then.
- grading: based on the assignments handed in by your TA.