Tietokoneen toiminta, Kesä 2004
Avoin yliopisto
Tämä aikataulu- ja sisältösivu päivittyy aina tarpeen tullen eli siis aika usein. Tarkkailkaa tätä sivua ainakin viikoittain kurssin aikana. Kurssin sisältö voi vielä jonkin verran muuttua aika myöhäänkin.
Kaikki ilmoittautumis- ja muut hallintoasiat hoidetaan suoraan Avoimen yliopiston kautta. Kaikkien tulee olla ilmoittautunut ja hyväksytty opiskelemaan tälle kurssille. Peruutuspaikoille otetaan uusia opiskeijoita rajoitetusti ensimmäisellä löuennointikerralla. Kurssikirjanpitoa varten kaikkien (Avoimeen yliopistoon jo ilmoittautuneiden ja kurssille hyväksyttyjen) tulisi ilmoittautua myös TKTL:n ILMO järjestelmään.
This is a condenced intensive version of normal lecture course. It is not recommended for foreign students. All lectures and practice sessions will be in Finnish only.
Suoritusmuoto
Tämä on erityisesti muuntokoulutettaville ja Avoimeen yliopistoon suunniteltu tiivistetty luentokurssi, jonka sisältö vastaa tavanomaista Tietokoneen toiminta (2 ov) luentokurssia. Opetusta on yhteensä sama määrä kuin tavanomaisella luentokurssilla. Luennot ovat tavallisia, mutta tavanomaiset laskuharjoitukset on korvattu ohjatuilla harjoitusten tekemisillä. Kaikki harjoitukset on siis tarkoitus tehdä paikan päällä harjoitustilaisuudessa itsenäisesti ohjauksen avustuksella.Kurssi on pedagogisesti tiivis paketti, joten se vaatii osallistujilta tavanomaista enemmän työtä. Seitsemän viikon kurssi on tiivistetty kolmeen viikkoon. Tiivistä aikataulua on hieman kompensoitu tehostetulla opetuksella, mutta kurssin seuraaminen edellyttää silti merkittävän määrän opiskelijan omaa panosta. Kurssi alkaa täysipainoisesti heti ensimmäisellä luentokerralla. Ottakaa luennolle mukaan kyseisen päivän luentokalvojen kopiot (esim. mv 2/sivu).
Kurssimateriaali
- [Stal03], luvut 1-2, 3-3.1, 4.1, 5-5.2, 6-6.1, 7-7.5, 8-8.2, 9-9.2, 10
(tai [Stal99], luvut 1-2, 3-3.1, 4-4.2, 5-5.1, 6-6.5, 7-7.2, 8-8.2, 9) - [Tane99], luvut 4.2, 7.3-7.4
- Esimerkkitietokoneen ttk-91 uusi konekielisimulaattori TITOKONE
- ttk-91 -tietokoneen yleiskuva ja toiminta: ks. luentokalvot luentoihin 2-4
- Vanhaa materiaalia: [Häkk98], luvut 4-5 eli
esimerkkitietokoneen ttk-91 konekielisimulaattori KOKSI
- tämä on edelleen käyttökelpoista materiaalia, mutta samat asiat (ttk-91 tietokoneen yleiskuva ja toiminta) tulevat esille luennoillakin.
- Luentokalvot (pdf ja html) ja harjoitustehtävät (tulevat verkkoon aikanaan)
- Kurssikuulustelu (vain tämän kurssin aktiivisille osallistujille)
- Uusintakuulustelut (2 kpl, vain tälle kurssille aktiivisesti osallistuneille)
Suosittelen, että hankitte oheislukemistoksi käyttöönne Stallingsin kirjan ([Stal03] tai [Stal99]), vaikka se ei olekaan ihan välttämätön aktiivisesti luennoilla kuunteleville. Häkkisen luentomonistetta tarvitaan lähinnä esimerkkitietokoneen ttk-91 yleiskuvan ja toiminnan kuvaamiseen, mutta nämä asiat on aika hyvin selostettu luentokalvoissa ja tietenkin oikein hyvin selostettu luennoilla.
Yleistä
- Kurssiin liittyvät yleiset asiat (siis muut kuin erityisesti tähän tämän
lukukauden kurssiin liittyvät asiat) ovat kurssin kotisivulla http://www.cs.helsinki.fi/teemu.kerola/tito/index.html.
- Kurssin uutisryhmä on hy.opiskelu.tktl.tito. Uutisryhmä on tarkoitettu opiskelijoiden ei-realiaikaiseen keskinäiseen kommunikointiin.
- Jos haluatte (nopeaa) reagointia (esim. jokin verkkosivu ei aukea ajoissa) luennoitsijalta, niin käyttäkää sähköpostia. Kaikkia kurssilaisia kiinnostavat asiat julkaistaan luennoitsijan puolesta mieluummin tällä foorumilla (tämä sivu) kuin uutisryhmässä tai jutusteluhuoneessa.
- Kaikilla oppilailla tulisi olla yliopiston mikroverkkotunnus
Windows-järjestelmien käyttämistä varten. Tunnukset jaetaan ensimmäisessä
harjoitustilaisuudessa niille opiskelijoille, joilla sellaista ei ennestään
ole.
- Luentokalvot (pdf ja html), harjoitustehtävät ja kertauskysymykset julkaistaan verkossa.
- Kurssiin liittyvää lisämateriaalia (muut kuin kirjan kuvat) on myös kurssikansiossa Exactumin salissa C127.
- Kurssimoniste, luentokalvot ja luennot ovat suomeksi. Valinnaisesti käytettävät
oppikirjat ovat englanniksi.
- Kurssiin liittyy yksi kurssikuulustelu, josta voi saada 48 pistettä ja
siitä täytyy saada vähintään 24 pistettä. Harjoituksista
voi saada 12 pistettä ja niistä täytyy saada vähintään yksi piste.
Yhteensä välikokeesta ja harjoituksista (ja valinnaisesta ryhmätyöstä)
tulee saada vähintään 30 pistettä kurssin läpipääsyyn.
- Kustakin tavallisesta harjoitustehtävästä saa yhden harjoitustehtäväpisteen
(htp) ja joistakin vaikeammista tehtäistä voi saada useammankin htp:n. Noin
30% maksimi htp:stä tuottaa yhden arvosanaan vaikuttavan
pisteen ja noin 83% tuottaa maksimin 12 pistettä. Muut pisteet annetaan
suurinpiirtein lineaarisesti tuolta väliltä.
Esimerkki: 6 laskaria á 6 htp = 36 htp. Tällöin 11 htp:tä tuottaa 1 pisteen ja 30 htp:tä tuottaa 12 pistettä.
Pisteet karttuvat siis hyvin nopeasti ensimmäisen pisteen jälkeen, minkä toivotaan motivoivan opiskelijoita tekemään paljon tehtäviä. Karkeasti ottaen voisi sanoa, että on pakollista tehdä kahden harjoituksen verran tehtäviä ja seuraavista harjoituksista saa kaikki tehtävät tekemällä kustakin yhden pykälän verran paremman arvosanan.
- Käytäntö on osoittanut, että kurssin läpäisy on vaikeata, jos ei tee runsaasti
harjoituksia. Tällä tavoin sekä oppii asiat että saa samalla paremman arvosanan.
Koetulosten ja tehtyjen harjoitustehtävien korrelaatiot yliopiston luentokurssien
kevät
2001, syksy
2000 ja kevät
2000 osalta ovat nähtävissä verkossa. Tiedän kyllä, että korrelaatiosta
ei seuraa kausaalisuutta. Voihan se olla niinkin, että hyvin asioista perillä
olevat opiskelijat muuten vain haluavat tehdä paljon tehtäviä. Toisaalta,
harjoitustehtävät on suunniteltu siten, että niitä varten lukemalla ja niitä
tekemällä oppii kurssin asioita pintaa syvällisemmin ja sillä perusteella
pärjäisi myös kokeessa.
- Kurssin kirjanpitotilasto on luettavissa laitoksen intranetissä. Selain kysyy tietojenkäsittelytieteen laitoksen myöntämää atk-järjestelmien käyttäjätunnusta ja salasanaa. Kirjanpitolistasta näkyy laskuharjoituspisteet ja koetulokset . Tilastossa on mukana vain ne opiskelijat, jotka ilmeisesti eivät todella osallistuvat kurssille. Jos ette halua omia tilastojanne näkyville tässä tai siinä on mielestänne jotain puutteita, ottakaa yhteys luennoijaan.
- Kurssin tulokset ja kokeen arvosteluperusteet näkyvät tällä paikalla (intranetissä) lyhyen aikaa (muutaman viikon) kokeen arvostelun jälkeen.
Opetus, kokeet
Luennot yleensä |
17.8-2.9.2004 |
ti, to |
12:15-16 | Physicum E204 |
Teemu Kerola |
Luento |
31.8.2004 | ti | 12:15-16 | Physicum E207 | Teemu Kerola |
Harjoitukset Ryhmä 1 |
18.8-3.9.2004 |
ke, pe | 14:15-16 | Exactum B221 |
Kimmo Airamaa ja Heikki Lindholm |
Harjoitukset Ryhmä 2 |
18.8-3.9.2004 |
ke, pe | 16:15-18 | Exactum B221 | Kimmo Airamaa ja Heikki Lindholm |
Kurssikuulustelu | 6.9.2004 | ma | 17:00-21 | tenttipaikka | |
Uusintakuulustelut | 9.10.2004 10.11.2004 |
la ma |
9:00-13 17:00-21 |
tenttipaikka |
Avoimen yliopiston tarkemmat tenttipaikat
ja -ajat ovat siis verkossa (aikanaan).
Tarkista ne molemmat ennen
tenttiin menoa!
Sisältö ja aikataulu
Luentokalvojen ja harjoitusten linkit aktivoituvat aikanaan, hyvissä ajoin ennen ko. luentoa tai harjoitusta. Jos ongelmia ilmenee, niin ottakaa yhteys luennoitsijaan. Mustavalkoiset ja värikopiot ovat pdf-tiedostoja. PowerPointin tekemät html-versiot toiminevat hyvin ainakin v. 4.0 tai sitä tuoreemmissa IE-selaimissa. Muiden selainten kanssa on hieman ongelmia. Sorry.
Muista, että luentokalvot eivät sisällä lähestkään kaikkea luennolla esitettyä asiaa. Jos olet poissa luennolta, niin lue vastaavat asiat kurssikirjoista.
- Luento 0 (ti 17.8): Hallintoa
(Administration)- Luentokalvot (lu00) mv 2/sivu mv 6/sivu väri 1/sivu html
- Luento 1 (ti 17.8): Järjestelmän rakenne
(Overall system structure)- Luentokalvot (lu01) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 1 [Stal03] tai Ch 1 [Stal99] (luku 1 [Häkk98])
- Kertauskysymyksiä
- Luento 2 (ti 17.8): TTK-91 -tietokone ja sen KOKSI simulaattori
(TTK-91 computer and the KOKSI simulator for it)- Luentokalvot (lu02) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 3.1, 10.1-3 [Stal03] tai Ch 3.1, 9.1-3 [Stal99] (luku 4 [Häkk98])
- Kertauskysymyksiä
- Harjoitukset 1 (ke 18.8): LH 1
- Luento 3 (to 19.8): Konekielinen ohjelmointi
(Assembly language programming)- Luentokalvot (lu03) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 10.4-6 [Stal03] tai Ch 9.4-6 [Stal99] (luku 5 [Häkk98])
- Kertauskysymyksiä
- Luento 4 (to 19.8): Aliohjelmien toteutus konekielen tasolla
(Assembly language subroutine implementation)- Luentokalvot (lu04) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 10.4 [Stal03] tai Ch 9.4 [Stal99] (luku 5 [Häkk98])
- Kertauskysymyksiä
- Harjoitukset 2 (pe 20.8): LH 2
- Luento 5 (ti 24.8): Suoritin (CPU) ja väylä
(Processor and bus)- Luentokalvot (lu05) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 3.1, 3.3 [Stal03] tai Ch 3.1, 3.3 [Stal99] (luku 3, 9 [Häkk98])
- Kertauskysymyksiä
- Luento 6 (ti 24.8): Tiedon esitysmuodot
(Data representation)- Luentokalvot (lu06) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 10.1-3 [Stal03] tai Ch 9.1-3 [Stal99] (luku 2.1-2.3 [Häkk98])
- Kertauskysymyksiä
- Harjoitukset 3 (ke 25.8): LH 3
- Luento 7 (to 26.8): Tiedon muuttumattomuus ja järjestelmän sisäinen
muisti
(Internal memory and error correction)- Luentokalvot (lu07) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 4.1, 5.1-2 [Stal03] tai Ch 4.1, 4.2 (Types of RAM, Error Correction) [Stal99] (luvut 2.4 ja 9.1-9.2 [Häkk98])
- Kertauskysymyksiä
- Luento 8 (to 26.8): Ohjelman toteutus järjestelmässä
(Program implementation in the system)- Luentokalvot (lu08) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 8.1-2 [Stal03] tai Ch 7.1-2 [Stal99] (luku 8.1-8.3 [Häkk98])
- Kertauskysymyksiä
- Harjoitukset 4 (pe 27.8): LH 4
- Luento 9 (ti 31.8): Järjestelmän ulkoinen muisti, I/O-laitteet,
I/O:n toteutus
(External memory, I/O-devices)- Luentokalvot (lu09) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 6.1, 7.1-5 [Stal03] tai Ch 5.1, 6.1-5 [Stal99] (luvut 10-11 [Häkk98])
- Kertauskysymyksiä
- Luento 10 (ti 31.8): Käännös, linkitys ja lataus
(Compilation, linking and loading)- Luentokalvot (lu10) mv 2/sivu mv 6/sivu väri 1/sivu html
- Luento on saatavana Verkkoluennon protona html,
joka vaatii oman liitospalikan (Macromedia
Authorware Web Player) selaimeen. Tätä ei (valitettavasti)
voi itse asentaa laitoksen koneisiin, kuten ei muitakaan selainten
liitospalikoita. Proto toimii ainakin toistaiseksi ainoastaan Windows
ympäristöissä.
Liitospalikka on asennettu laitoksen koneisiin (ainoastaan IE selaimeen)
Porkkala-1 ... Porkkala-6 (A214) ja Tauvo-1 ... Tauvo-6 (D423).
Luennoitsijalla on kuulokkeita lainattavissa.
Kirjallisesti 10.9.04 mennessä annetusta verkkoluennon arvioinnista ja/tai siihen liittyvistä rakentavista kommenteista voi saada kurssin arvosanaan vaikuttavia lisäpisteitä (max 3). Raportin voi palauttaa sähköpostitse. - Viitteet: Ch 7.3, 7.4 [Tane99] (luku 6 [Häkk98])
- Kertauskysymyksiä
- Harjoitukset 5 (ke 1.9): LH 5
- Luento 11 (to 2.9): Tulkinta ja emulointi
(Interpretation and emulation)- Luentokalvot (lu11) mv 2/sivu mv 6/sivu väri 1/sivu html
- Viitteet: Ch 4.2 [Tane99] (luku 6 [Häkk98])
- Kertauskysymyksiä
- Luento 12 (to 2.9): Yhteenveto ja kertausta
(Summary)- Luentokalvot (lu12) mv 2/sivu mv 6/sivu väri 1/sivu html
- Harjoitukset 6 (pe 3.9): LH 6
- Kurssikuulustelu (ma 6.9) klo 17:00-21 (tenttipaikka). Varsinainen koeaika on 3.5 tuntia.
Kirjallisuutta ja muita viitteitä
- [Stal03] William
Stallings, Computer Organization and Architecture - Designing for Performance,
6th Ed., Prentice Hall, 2003.
- 19.8.2002 Asta Vuori Yliopistokirjakaupasta sanoi, että kirjaa oli hyllyssä 38 kpl hintaan 70€.
- William Stallings'in kotisivu.
- William Stallings'in oma tukisivu kurssikirjaa käyttäville opiskelijoille ja opettajille.
- Otan mielelläni vastaan opiskelijoiden tietoja siitä, mistä tätä kirjaa
kulloinkin on saatavana mihinkin hintaan. Välitän tietoja eteenpäin
muille opiskelijoille tällä foorumilla.
- [Stal99] William
Stallings, Computer Organization and Architecture, 5th Ed., Prentice
Hall, 1999.
- William Stallings'in oma tukisivu kurssikirjaa käyttäville opiskelijoille ja opettajille.
- Kirjan uusin painovirhelista Stallingsilta (Latest Errata Page )
- Tauno Perkiön tekemä suomenkielinen referaatti (140 s.)
- [Häkk98] Auvo Häkkinen, Tietokoneen toiminta, opetusmoniste
D390 (vanha kurssimoniste), Tietojenkäsittelytieteen laitos, Helsingin
yliopisto, 30.1.1998. Monistetta voi ostaa TKTL:n monistemyynnistä (????,
avoinna ma-pe kello ????) hintaan 15€.
- Monisteen painovirhelista löytyy
verkosta.
- Monisteen painovirhelista löytyy
verkosta.
- [Tane99] Andrew S. Tanenbaum, Structured Computer Organization, 4th Ed, Prentice-Hall, 1999.
- [PaHe98] Patterson & Hennessy, Computer Organization and Design - The Hardware/Software Interface, 2nd Ed, Morgan Kaufmann, 1998.
- [Scra92] Greg W. Scragg, Computer Organization - A Top Down Approach, McGraw-Hill, 1991.
- Ttk-91 -tietokoneen konekielisimulaattori Titokone on kopioitavissa
verkosta
- Titokoneen tiedostojen paikalliset kopiot
(Titokone files, local copies):
- Asennusohje (Titokone Installation Instructions)
- Käyttöohje (Titokone User's Manual)
- Ttk-91 koneen käskyt (ttk-91 instruction summary)
- Titokoneen vähän erikoisemmat piirteet tai ongelmat.
- Asennustiedostot (versio 1.1): titokone.jar ja titokone.zip .
- Kaikki Titokoneeseen liittyvä materiaali löytyy myös sen keväällä 2004 toteuttaneen Koski-ohjelmistotuotantoprojektin sivuilta. Ohjelmiston suunnittelivat ja toteuttivat Olli Alm, Seppo Hätönen, Sini Ruohomaa, Antti Takalahti, Sampo Yrjänäinen ja Arto Åkerlund. Titokoneen taustalla olevan ttk-91 esimerkkitietokoneen on suunnitellut Auvo Häkkinen.
- Titokoneen tiedostojen paikalliset kopiot
(Titokone files, local copies):
- Aikaisemmin opetuskäytössä ollut ja edelleen
ainakin vanhemmissa Windows-järjestelmissä toimiva konekielisimulaattori
KOKSI (koksi.zip)
on myös kopioitavissa verkosta, tekijänsä Auvo Häkkisen sivuilta.
- KOKSIn käyttöohje
- esimerkkikoneen TTK-91 käskykannan kuvaus.
- Kimmo Palinin Linux TTK-91 simulaattori. Käyttö omalla vastuulla. Käyttö-ohjeita löytynee Kimmo Palinilta itseltään (ja uutisryhmistä).
- Heikki Lindholmin dosemu_ohje.txt
Koksin (alkup. Windows-version) käyttämiseen tehokkaassa Linux-PC:ssä
Dos-emulaattorin avulla. Käyttö omalla vastuulla.
- Luennolla käytettyjä (ja muita) ttk-91
-esimerkkejä
sekä aikaisempien kurssien esimerkkejä on
myös
verkossa. Kopioikaa ne omaan käyttöönne omaan hakemistoonne.
(KOKSIa käytettäessa esimerkkiohjelmat on kopioitava samaan hakemistoon kuin mihin KOKSI on asennettu!).
Koksi references in English
- KOKSI simulator: koksi.zip
- [KariA] Introduction to the KOKSI simulator by Kalle Karinen (student project)
- [KariB] A summary of TTK-91 instructions by Kalle Karinen (student project)
- [Liu] TTK-91 Memory addressing by Song Liu (student project)
- The KOKSI simulator itself (koksi.zip) can be downloaded from here. Download it into some directory (e.g., koksi) and unzip the files contained.
- KOKSI examples and older examples. To use them please make copies of them into your own koksi directory.
- Sanakirjoja
- Slides for
Principles Of Computer Architecture, Miles J. Murdocca and Vincent P.
Heuring
(vähän Titoa vastaavan kurssin luentokalvot) - Uusi suomalainen merkistöstandardi, Erkki Kolehmainen, TIEKE (joulukuu 1999)
- ISO Latin 9 as compared with ISO Latin 1, Jukka Korpela, TKK (14.3.2000)
- The Java Virtual Machine Specification, Second Edition, Tim Lindholm, Frank Yellin, Sun Microsystems (1999)
- IEEE-754 Calculators Christopher Vickery, Computer Science Department at Queens College of CUNY (The City University of New York)
Teemu Kerola