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ä. Erilliskokeet perustuvat viimeksi pidetyn luentokurssin materiaaliin.
Kurssimateriaali
- [Stal06], luvut 1-2, 3-3.1, 4.1, 5-5.2, 6-6.1, 7-7.5, 8-8.2, 9-9.2, 10, 11.1, 12.1-3
- [Tane06], 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
Opiskelijoiden edellytetään osaavan perusasiat konekielitason ohjelmoinnista. Riittävää on osata suunnitella ja toteuttaa pieniä ohjelmia ja aliohjelmia ttk-91 esimerkkitietokoneen 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
- [Stal06] William Stallings, Computer Organization and Architecture - Designing for Performance, 7th Ed., Prentice Hall, 2006.
- [Tane06] Andrew S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall, 2006.
- Esimerkkitietokone ttk-91: Titokone
Teemu Kerola