DM548 - Computer Architecture and System Programming, 2018

Course description

Schedule

(Official schedule)

Week

Day

Class

Material

Notes

36

Mon.

F

Slides, Code, Ch. 1, 2

Introduction

37

Mon.

F

Slides, Code, Part of Ch. 12, 13

Assembly (1 Oct: slide 24 updated with flags and mode for “open”)

Wed.

F

Slides, Ch. 9, 10

Computer arithmetic

Tue. / Wed.

L

(no class)

Thu.

E

(no class)

38

Mon.

F

Computer arithmetic, continued

Wed.

F

Slides, Ch. 11

Digital logic

Tue. / Wed.

L

Lab, Code

Introduction to assembly

Thu.

E

(no class)

39

Mon.

F

Slides, Ch. 3

Top-level view

Wed.

L

Lab, Code

I/O and command line arguments

Thu.

E

Exercises

Computer arithmetic

40

Mon.

F

Slides, Ch. 4

Caches (15 Oct.: slides updated)

Wed.

F

(cancelled)

Tue. / Wed.

L

Lab, Code

More assembly

Thu.

E

(no class)

41

Mon.

F

(cancelled)

Wed.

F

Caches, continued

Tue. / Wed.

L

(cancelled)

Thu.

E

(cancelled)

42

(fall break)

43

Mon.

F

Slides, Ch. 5, 6

Internal and external memory

Tue.

F

Slides, Ch. 7

I/O

Thu.

E

Exercises

Computer arithmetic and boolean algebra

44

Mon.

F

Slides, Ch. 14

Processor structure and pipelining

Wed.

F

Slides, Ch. 15

RISC

Tue.

L

Lab

SSE

Thu.

E

Exercises

Cache and memory

45

Mon.

F

Slides, Ch. 16, Slides, Ch. 17, 18

Superscalar processors. Parallel Processing and Multicore Computers

Wed.

F

Slides, Ch. 20, 21

Parallel Processing and Multicore Computers, continued. Control unit

Thu.

E

Remaining exercises and project Q/A

46

Mon.

F

Control unit, continued

Wed.

F

Intro Slides, Code

Introduction to C

Thu.

E

Exercises

I/O, Processor Structure, and RISC

Sun.

Assignment 1 deadline

47

Mon.

F

I/O Slides

Introduction to C, continued. I/O in C

Wed.

F

Makefile Slides, Makefile Code, UDT Slides, UDT Code

I/O in C continued, Makefiles, User-defined types (30 Nov.: Makefile slides and code updated)

Tue. / Wed.

L

Lab

Introduction to C

Thu.

E

Exercises

Superscalar processors and parallel processing

48

Mon.

F

Dyn. Mem. Slides, Dyn. Mem. Code, Various Slides, Various Code

User-defined types continued, Dynamic memory allocation, Various

Wed.

F

Various continued.

Tue. / Wed.

L

Lab, Code

A binary search tree in C.

Thu.

E

(no class)

49

Mon.

F

Libraries Slides, Libraries Code

Libraries

Tue. / Wed.

L

A binary search tree in C, continued.

Thu.

E

Exercises

50

Sun.

Assignment 2 deadline

Mandatory Assignments

Assignment 1: Sorting in Assembly

  • Project description: PDF

  • Code snippets: code

  • Deadline: Sunday 18 November

Assignment 2: A Dynamic Array in C

  • Project description: PDF

  • Code snippets: code

  • Deadline: Sunday 16 December

Exam

  • Examination dates

  • The details of the written exam are posted on Blackboard under Course Information and Announcements.

  • The exam questions will be in English, but answers may be written in either English or Danish.

  • A selection of exam questions from previous years can be found here. The filenames refer to the year the course took place, not the year the exam was held. The oldest questions are unfortunately only available in Danish. Note that not all questions are relevant in the current curriculum.

Teaching Assistants

  • Caroline Berntsen Knudsen

  • Jørn Guldberg

Material

William Stallings: Computer Organization and Architecture — Designing for Performance, Global Edition, 10th edition, Pearson, 2015.

Course Evaluation

The course evaluation, without free-text comments, can be found here, and the action plan can be found here.

Additional Resources