Syllabus for |
|
EDA332 - Computer system engineering
|
Datorsystemteknik |
|
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
|
Department: 37 - COMPUTER SCIENCE AND 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
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 2 (compulsory)
TKELT ELECTRICAL ENGINEERING, Year 3 (compulsory elective)
Examiner:
Lars R Bengtsson
Go to Course Homepage
Replaces
EDA330
Computer system engineering EDA331
Computer system engineering
Eligibility:
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.
Aim
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.
Content
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.
Organisation
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.
Literature
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.