Syllabus for |
|
EDA331 - Computer system engineering |
|
Syllabus adopted 2008-02-20 by Head of Programme (or corresponding) |
Owner: TKDAT |
|
7,5 Credits |
Grading: TH - Five, Four, Three, Not passed |
Education cycle: First-cycle |
Major subject: Computer Science and Engineering
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: Swedish
Course module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
|
No Sp |
0105 |
Examination |
6,0 c |
Grading: TH |
|
|
|
|
6,0 c
|
|
|
|
26 May 2009 am V, |
14 Jan 2009 am V, |
17 Aug 2009 am V |
0205 |
Laboratory |
1,5 c |
Grading: UG |
|
|
|
|
1,5 c
|
|
|
|
|
In programs
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 2 (compulsory)
MPIES INTEGRATED ELECTRONIC SYSTEM DESIGN, MSC PROGR, Year 1 (elective)
TKELT ELECTRICAL ENGINEERING, Year 3 (elective)
Examiner:
Docent
Lars Svensson
Replaces
EDA330
Computer system engineering
Eligibility:
For single subject courses within Chalmers programmes the same eligibility requirements apply, as to the programme(s) that the course is part of.
Course specific prerequisites
Machine oriented programming
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)
- Identify and describe the constituent hardware components of a computer system.
- Give an overview of the instruction-set architecture of a modern three-address computer.
- Identify and describe the hardware components of a simpe implementation of the ISA.
- Read and write simple assembly programs for this machine.
- Modtivate pipelining as a design principle for microprocessors.
- Identify the basic types of conflicts that occur as a result of pipelining.
- 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 fucntion and performance influene 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.
- 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.
Content
Lectures, group exercises and laborative work combine to convey basic insights into the deisng and functionalilty 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
D.A. Patterson, J.L. Hennessy: Computer organization and design: The hardware/software interface, third edition. Morgan Kaufmann Publishers. Additional material distributed via the home page.
Examination
Demonstration of a working solution to the practical project. The solution should also be presented in a written report. Written exam.