Skip to main content
Till KTH:s startsida

IS1500 Computer Organization and Components 9.0 credits

In this course, you will learn how a computer system is constructed. After that the course finished, you will have a fundamental understanding of how a processor is constructed, how a computer executes machine code, and how memory hierarchies affect execution time. You will also learn the basic principles of parallel computation. At the laboratory exercises, you will write assembly and C code, see how programs are executed on an embedded hardware platform, and construct a functional single-cycle processor in a simulation environment. Finally, in groups of two students, you will construct a mini-project on a real embedded platform.

Please see the course website for more information about the course (course memo, lectures etc.).

Information per course offering

Termin

Information for Autumn 2024 Start 26 Aug 2024 programme students

Course location

KTH Campus

Duration
26 Aug 2024 - 13 Jan 2025
Periods
P1 (4.5 hp), P2 (4.5 hp)
Pace of study

33%

Application code

51197

Form of study

Normal Daytime

Language of instruction

Swedish

Number of places

Places are not limited

Target group

Open to all programmes except TIDAB, TIEDB, CINTE, TCOMK as long as it can be included in your programme.

Planned modular schedule
[object Object]

Contact

Examiner
No information inserted
Course coordinator
No information inserted
Teachers
No information inserted

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus IS1500 (Autumn 2021–)
Headings with content from the Course syllabus IS1500 (Autumn 2021–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

The course gives basic knowledge of how a computer functions and is built-up both from a hardware and a software perspective The course is divided into six different modules, which for example include the following basic concepts:

  1. C-programming and assembler language: pointers, functions, stack, assembly language, machine language, instruction encoding and processor registers.
  2. I/O system: timers, interrupts and memory mapped I/O.
  3. Digital design: truth tables, gates, boolean algebra, multiplexers, decoders, adders, combinatorial nets, sequential networks and registers.
  4. Processor construction: arithmetic-logic unit, data path, control unit and pipeline.
  5. Memory architectures: instruction cache, data cache and virtual memory.
  6. Parallel processors and programs: Amdahl's law, different specialisations of parallelism as well as multicore.

Intended learning outcomes

Having passed the course, the student should be able to:

  • Implement low-level programs in the C programming language and in an assembly language
  • Implement low-level programs with input-output, timers, and interrupts
  • Analyse how logical gates, blocks, combinatorial circuits and sequential circuits work.
  • Analyse processor microarchitectures, with and without a pipeline,
  • Analyse memory hierarchies, including cache-structures.
  • Compare fundamental concepts about multiprocessor computers.
  • Explain and describe technical solutions both orally and in writing.

For higher grades, the student shall also construct more complex programs and/or discuss and analyze concepts within the course. The details are specified in the course memo.

Literature and preparations

Specific prerequisites

Completed course in programming corresponding to DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1331/DD1337/DD100N/ID1018..

Active participation in a course offering where the final examination is not yet reported in Ladok is considered equivalent to completion of the course.

Registering for a course is counted as active participation.

The term 'final examination' encompasses both the regular examination and the first re-examination.

Recommended prerequisites

The student must be able to write, explain and debug programs in imperative programming-languages, such as Java, C, or C++, up to program-sizes around 100 lines of code.

Equipment

No information inserted

Literature

No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F

Examination

  • ANN1 - Component Demostration, 1.5 credits, grading scale: P, F
  • LAB1 - Laboratory Works, 4.5 credits, grading scale: P, F
  • TEN1 - Examination, 3.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Technology

Education cycle

First cycle

Add-on studies

No information inserted

Supplementary information

In this course, the EECS code of honor applies, see: http://www.kth.se/en/eecs/utbildning/hederskodex.