Computer Organization and Networks (WS 2023/24)

Course Number INB06000UF and INB07001UF | Wintersemester 2023/24

Lecturers

Stefan Mangard

Jakob Heher

Lukas Anton Lamster

Martin Unterguggenberger

Moritz Waser

Teaching Assistants

Sebastian Daniel Felix

Verena Schaffer

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

Lectures

There 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

Practicals

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

Tutorials

Lecture exams

  • 01.02.2024
  • 19.03.2024

Material of Previous Years

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.

Lecturers

Teaching Assistants