Computer Organization and Networks (WS 2022/23)

Course Number INB06000UF and INB07001UF | Wintersemester 2022/23

Lecturers

Stefan Mangard

Jakob Heher

Martin Unterguggenberger

Teaching Assistants

Sebastian Daniel Felix

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

Practicals

Date Event
2022-10-05 publication Task 1 – Tutorial SystemVerilog, Example SystemVerilog, Tutorial Task 1aExample 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}

Lecture exams

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 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.

Lecturers

Teaching Assistants