Computer Organization and Networks (WS 2023/24)
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.
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, peripherals, C to machine language)
- Networks (Basics, Layers: Link, network, transport, and application)
- Processors, part II (caches, virtual memory, security)
Material
LecturesThere are recordings available on TUbe. All examples shown in the lectures are available via git from examples-2023.
Date | Begin | End | Slides |
---|---|---|---|
2023-10-04 | 13:00 | 15:15 | con2023_00_Welcome, con2023_01_Combinational_Circuits |
2023-10-11 | 13:00 | 15:15 | con2023_02_Number_Representation.pdf |
2023-10-18 | 13:00 | 15:15 | con2023_03_State_Machines |
2023-10-25 | 13:00 | 15:15 | con2023_04_Processors |
2023-11-08 | 13:00 | 15:15 | Processors (continued) |
2023-11-15 | 13:00 | 15:15 | con2023_05_Programming, con2023_05_stack_examples |
2023-11-22 | 13:00 | 15:15 | con2023_06_Networking1 |
2023-11-29 | 13:00 | 15:15 | con2023_07_Networking2 |
2023-12-06 | 13:00 | 15:15 | con2023_08_Networking3 |
2023-12-13 | 13:00 | 15:15 | con2023_09_memory_systems |
2023-12-20 | 13:00 | 15:15 | Memory Systems (continued) |
2024-01-10 | 13:00 | 15:15 | con2023_10_pipelining |
2024-01-17 | 13:00 | 15:15 | Pipelining (continued) |
2024-01-24 | 13:00 | 15:15 | con2023_11_interrupts_and_multitasking, con2023_11_buffer_overflow |
- Upstream repository
- Assignment sheet
- GitLab repositories
- Discord invitation link
- Software stack used: Icarus Verilog (at least version 12), 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 CON2023VM (we provide no support)
Date | Event |
---|---|
2023-10-09 | tutorial videos |
2023-10-09 | weekly question hours start |
2023-10-20 | deadline Task 0 |
2023-11-10 | deadline Task 1 |
2023-12-01 | deadline Task 2 |
2023-12-11 | week of assignment interviews for Tasks 1 and 2 |
2023-12-22 | deadline Task 3 |
2024-01-19 | deadline Task 4 |
2024-01-19 | weekly question hours end |
2024-01-22 | start assignment interviews for Tasks 3 and 4 |
- Tutorial task-0: git tutorial and VM introduction
- Tutorial SystemVerilog:
- Getting started SystemVerilog tutorial (from CON 2022/23) (slides_sv_tutorial)
- Full DSD SystemVerilog tutorial (from DSD 2021/22)
- Timestamp 7:12 Start
- Timestamp 40:20 Sequential Logic
- Timestamp 1:11:42 Non-blocking and Blocking Assignment
- Timestamp 1:19:47 SystemVerilog always_ff and always_comb
- Timestamp 1:28:20 Finite State Machines
- Tutorial task-1: SystemVerilog and CPU integration (slides_task-1)
- Tutorial task-2: RISC-V Assembly (slides_task-2)
- Tutorial task-3: Networks (slides_task-3)
- Tutorial task-4: Caches (slides_task-4)
- 01.02.2024
- 19.03.2024
- Course website: WS2020/2021, WS2021/2022, WS2022/2023
- 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 here
- deadlines: always happen on 23:59
- assignment interviews: your TA will send you an invitation. You discuss your solutions with your TA.
- grading: based on the assignments handed in by your TA.