Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
EDA332 - Computer system engineering  
Syllabus adopted 2017-02-20 by Head of Programme (or corresponding)
Owner: TKDAT
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: First-cycle
Major subject: Computer Science and Engineering, Electrical Engineering

Teaching language: Swedish
Open for exchange students: No

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0116 Examination 6,0 c Grading: TH   6,0 c   07 Jun 2019 am H   13 Oct 2018 pm SB   20 Aug 2019 pm SB_MU  
0216 Laboratory 1,5 c Grading: TH   1,5 c    

In programs

TKELT ELECTRICAL ENGINEERING, Year 3 (compulsory elective)


Lars R Bengtsson

  Go to Course Homepage


EDA330   Computer system engineering EDA331   Computer system engineering


In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.

Course specific prerequisites

EDA452 Introduction to computer engineering and EDA482 Machine oriented programming or equivalent courses.


The course aims to convey how a modern computer system is constructed and how its hardware modules interact with eachother and with low- level software. Performance issues are particularly emphasized, since many design decisions are made to maximize performance at a given cost, or to minimize cost at a given performance level.

Learning outcomes (after completion of the course the student should be able to)

  • Read and write simple assembly programs for a typical three-address register machine.
  • Identify the basic types of conflicts that occur as a result of pipelining the datapath of a processor.
  • Identify and describe simple methods to avoid and work around these conflicts, describe limitations of these simple methods, and estimate their influence on performance.
  • Use arithmetic instructions (integer and floating-point) in a correct way.
  • Describe the function and performance influence of a memory hierarchy, including caches, main memory and virtual memory, including different parameters for size, block size, and associativity.
  • Compute the performance (for simple load cases) of an I/O system, particularly one consisting of processors, buses, and hard disks.
  • Identify performance bottlenecks in such a system.
  • Explain how computer system performance is defined and measured.
  • Estimate the influence of parameter changes on system performance above.
  • Give an overview of the architecture of a multicore processor.
  • Carry out a simple co-optimization of software (at assembly level) with hardware parameters to reach the best possible cost/performance ratio for a certain system. Present the carried out work in a brief written report.


Lectures, group exercises and laborative work combine to convey basic insights into the design and functionality of a small computer system (with a processor, memory, and I/O). The main focus is on performance and on interaction with low-level software.


The course contains lectures, group exercises, and lab work using a simulator of a small computer system. The laborative part ends with a hand-in task.


Pattersson&Hennessy: "Computer Organization and Design: The Hardware/Software Interface". Additional material via the course homepage in PingPong

Examination including compulsory elements

Demonstration of a working solution to the hand-in task. The solution should also be presented in a brief written report in english. Written exam.

Page manager Published: Thu 04 Feb 2021.