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

Tietojenkäsittelytieteen laitos

in English suomeksi Kurssikuvaus 1.8.2008

581305-6 Tietokoneen toiminta, 4 op

Asema opetuksessa

Tietojenkäsittelytieteen aineopintojen pakollinen kurssi ja perusopintojen valinnainen kurssi. Kurssin ajateltu kohdeyleisö on 1-2 vuoden opiskelijat.

Esitiedot

Esitietoina edellytetään Ohjelmoinnin perusteet -kurssin tiedot.

Oppimistavoitteet

Tavoitteena on ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta: miten tietokonejärjestelmä on rakennettu ja miten se suorittaa sille annettua ohjelmaa. Pääpaino on yhden ohjelman suorituksella konekielen tasolla.

Tavoitteena on myös ymmärtää suorittimen toiminta konekielen tasolla. Konekielisen ohjelman suoritusta tarkastellaan sekä yleisellä tasolla että käytännönläheisesti yksinkertaisen opetustarkoitukseen kehitetyn esimerkkitietokoneen (ttk-91), tämän koneen (symbolisen) konekielen ja tälle koneelle tehdyn simulaattorin avulla. Tarkastelemme myös käyttöjärjestelmän roolia ohjelman suorituksen kannalta.

Oppimistavoitteet on tarkemmin kuvattu omalla oppimistavoitteet-sivullaan.

Suoritusmuodot

Kurssin voi suorittaa joko opintopiiripohjaisena verkkokurssina tai erilliskokeella (loppukokeella). Verkkokurssi tarjotaan joka vuosi kevätlukukaudella. Itseopiskelua tukemaan syyslukukaudella voidaan tarjota verkkokurssiin pohjautuva itseopiskelukurssi. Huomaa, että luentokurssin kurssikuulustelua ei voi käyttää erilliskokeena.

Opintopiiripohjaiseen verkkokurssiin sisältyy

  • luennot (4t)
  • itseopiskeluun sopivat verkkoluennot (20 t)
  • itsenäisesti tai opintopiirissä tehtäviä harjoitustehtäviä, keskustelutehtäviä ja projekteja
  • automaattisesti tarkastettavia ohjelmointitehtäviä
  • ohjattuja opintopiiritapaamisia (2t/viikko, 6 viikkoa)
  • kurssikuulustelu

Erilliskokeessa tentitään yhdellä kokeella allamainittu kurssimateriaali. Erilliskokeeseen ei sisälly harjoituksia eikä aikaisempien luentokurssien harjoitustehtävistä saa lisäpisteitä.

Kurssimateriaali

  • [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
  • Esimerkkitietokone ttk-91 ja sen ohjelmointi: Titokone, TitoTrainer
  • Ttk-91 -tietokoneen yleiskuva ja toiminta: ks. verkkoluennot lu02, lu03 ja lu04 (flash-muotoisina)

Opiskelijoiden edellytetään osaavan perusasiat konekielitason ohjelmoinnista. Riittävää on osata toteuttaa pieni ohjelmia ja aliohjelmia ttk_91 symbolisella konekielellä.

Sisältö

  • Tietokonejärjestelmän kokonaisvaltainen rakenne
  • Ttk-91 -tietokone ja sen Titokone simulaattori
  • Ohjelman esitys konekielen tasolla ja konekielinen ohjelmointi
  • Suorittimen (CPU) ja väylän perusrakenne, suorittimen tilat
  • Tiedon esitysmuodot ja tiedon muuttumattomuus
  • Järjestelmän sisäinen ja ulkoinen muisti
  • I/O:n toteutus ja I/O laitteet
  • Ohjelman toteutus ja suoritus järjestelmässä, prosessi ja sen tilat
  • Käännös, linkitys ja lataus
  • Java-ohjelmien suorittaminen

Kirjallisuus

  • [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.
  • Esimerkkitietokone ttk-91: Titokone

Teemu Kerola