Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Department of Computer Science

in English suomeksi Course description  1.8.2008

581305-6 Computer Organization I, 4 cr

Position in Curriculum

Undergraduate course in Computer Science. Obligatory for intermediate studies for those majoring in CS, elective for basic studies in CS.

Prerequisites

Introduction to Programming course (or similar).

Learning Goals

Understand salient features of a Computer System from the executing program viewpoint: what are the computer system components and how they execute a given program. The emphasis is on the execution of one program at the (symbolic) assembly language level.

The assembly language level operation of a processor is viewed both in general as well as in operational level using a simple example machine (ttk-91), its (symbolic) assembly language, and simulator that runs assembly language programs developed for that machine. We also look at the operating system role in the program execution.

Learning goals are better described in specific learning goals page.

Credit Methods

You can get credit for the course (a) by participating in a study circle web course or (b) taking a final exam. The study circle web course is given every Spring. Please notice that the course exam for the lecture course can not be used as a final exam. All exams can be taken in English, but you need to confirm this with the instructor one week before the exam.

The study circle course involves
  • lectures 4h (only in Finnish, sorry)
  • independent study web lectures (first few also in English)
  • independent study from text book
  • practice problems, dicussion problems and projects done independently or with study group
  • automatically reviewed programming problems
  • guided practice sessions 2h/week for 6 weeks
  • course exam (in English when needed, confirm with the instructor)

Final exam covers all course material given below. It does not include anything else and one does not get credit for possible earlier course work.

Course Material

  • [Stal06 or Stal10], luvut 1-2, 3-3.1, 4.1, 5-5.2, 6-6.1, 7-7.5, 8-8.2, 9-9.2, 9.4, 10, 11.1, 12.1-3
  • [Tane06 or Tane10], luvut 4.2, 5-5.1.4, 7.3-7.4
  • Example computer ttk-91 and programming with it: Titokone, TitoTrainer
  • General description and operation of Ttk-91: see web lectures lu02e, lu03e ja lu04e (in flash)
It is assumed that students know the basics of assembly language programming. It is sufficient to be able design and implement small programs and subroutines using the symbolic assembly language for ttk-91.

Contents

  • Overall Computer System
  • TTK-91 computer and Titokone simulator
  • Pregram representation in system and assembly language programming
  • CPU and bus basic structure, processor states
  • Data representation and error correction codes
  • Internal and external memory
  • I/O implementation and I/O devices
  • Implementing and executing programs in the system, process and its states
  • Compilation, linking and loading
  • Execution of Java programs

References

  • [Stal10] William Stallings, Computer Organization and Architecture - Designing for Performance, 8th Ed., Prentice Hall, 2010.
  • [Stal06] William Stallings, Computer Organization and Architecture - Designing for Performance, 7th Ed., Prentice Hall, 2006.
  • [Tane10] Andrew S. Tanenbaum, Structured Computer Organization, 5th International Ed, Prentice-Hall, 2010.
  • [Tane06] Andrew S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall, 2006.
  • Example computer ttk-91 and programming with it: Titokone, TitoTrainer.

 


Teemu Kerola