Viimeksi päivitetty 14.2.2000

Helsingin yliopisto
Tietojenkäsittelytieteen laitos

58123-3 Tietokoneen toiminta (3 ov)

Syksy 1999


Sisältö


Tavoitteet

Kurssilla tutustutaan tietokoneen toimintaan laitteiston, symbolisen konekielen ja käyttöjärjestelmän tasoilla. Tavoitteena on ennen kaikkea selkeä kokonaiskuva ja peruskäsitteiden hallinta. Symbolista konekieliohjelmointia harjoitellaan kuvitteellisen kielen (TTK-91) ja simulaattorin avulla. Esitietoina edellytetään tunnetuiksi kurssien Tietotekniikan alkeet ja Johdatus ohjelmointiin (tai Ohjelmointi (Pascal)) asiat.


Ajankohtaista

Loppukoe 9.2.
  • Hyväksytyt
  • Koepisteet
  • Koetehtävät
  • Kokeen arvostelusta (tulee kohtapuoleen)

Kurssin koe 17.12.1999

Kokeen arvosteluperusteet ja esimerkkiratkaisuja . Kokeen ns. valitustilaisuus on keskiviikkona 19.1.2000 klo 12-13 salissa B453. Tällöin opiskelijat voivat tutustua koepaperinsa arvosteluun. Kokeen tarkastajat ovat paikalla ja tarvittaessa oikaisevat mahdolliset arvostelu-, yhteenlasku- ja kirjausvirheet.

Koepaperiinsa voi tutustua myös Liisa Marttisen vastaanottoaikoina.

Kurssin tulokset /Course results Kurssin tulokset ovat nähtävissä ilmoitustaululla.

Tarkista tekemäsi harjoitustehtävät tästä tarkistuslistasta. tarkistuslistasta. Jos listan tiedot eivät täsmää, ota yhteyttä harjoitusryhmäsi ohjaajaan tai Liisa Marttiseen.

Kurssin loppukokeet keväällä 2000:
ke 9.2. klo 16-20 sali 1, päärakennus
ti 28.3. klo 16-20 Auditorio

Vanhoja koetehtäviä:

18.12.99 tehtävät

26.02.99 tehtävät exam

27.08.99 tehtävät exam

16.10.99 tehtävät

27.11.99 tehtävät

Vapaaehtoisen ohjelmointiharjoituksen aihe ja ohjeet löytyvät täältä.


Opetus

Luennot

20.10.-8.12.1999 ma 12-14 ja ke 9-12, Auditorio (Teollisuuskatu 23), Liisa Marttinen ( Liisa Marttinen)

Luentokalvojen kopiot ovat haettavissa osoitteesta http://www.cs.helsinki.fi/~marttine/tito/syksy99/luentokalvot. Luentokalvot on tehty Windows 95:n MS Officen PowerPoint-ohjelmistolla. Paperikopiot kalvoista on kopiointia varten talletettu kurssimappiin (A412).

Harjoitukset

Harjoitusryhmät: 25.10-10.12

           1. Leht. Liisa Marttinen  (in English)       MON 10-12 C474
           2. Tuntiop. Raine Kauppinen                  MA  10-12 B450
           3. Tuntiop. Janne Kraft                      TI  10-12 A319
           4. Tuntiop. Janne Kraft                      TI  12-14 A319
           5. Tuntiop. Sami Andberg                     TI  14-16 A318
           6. Leht. Liisa Marttinen                     KE  12-14 C454
           7. Tuntiop. Sami Andberg                     KE  12-14 C474
           8. Tuntiop. Janne Kraft                      KE  12-14 A319
           9. Tuntiop. Sami Andberg                     KE  14-16 C474
         (10. Tuntiop. Raine Kauppinen                  TO   8-10 B453 peruutettu)
           11. Tuntiop. Raine Kauppinen                 PE   8-10 B453
           12. Tutk.ass. Satu Sihvo                     PE  10-12 A320
           13. Tutk.ass. Satu Sihvo                     PE  12-14 A319
 
Kurssin kertauskuulustelu on perjantaina 17.12. klo 16-20 Yliopiston päärakennus sali 1

Kurssin suorittaminen edellyttää aktiivista harjoituksiin osallistumista eli opiskelijan on osallistuttava vähintään viiteen (5) harjoitukseen. Pelkkä läsnäolo ei riitä, vaan kullakin kerralla opiskelijan on etukäteen tehtävä vähintään puolet harjoituskerran kotitehtävistä. Ratkaisujen ei välttämättä tarvitse olla täysin oikeita, vaan rehellinen yrittäminen riittää. Harjoituksen alussa kukin opiskelija merkitsee kiertävään listaan tekemänsä tehtävät. Merkintä listassa tarkoittaa sitä, että opiskelija on valmis esittämään muille oman ratkaisunsa.

Harjoitustehtävät jaetaan luennoilla ja ne ovat myös kopioitavissa verkosta.

Huom! Harjoitustehtävien ratkaisut eivät enää ole nähtävissä . Tarvittaessa, esim. loppukokeeseen valmistautuessa, ratkaisuja voi kysyä Liisa Marttiselta.

25.-29.10. Harjoitus 1 Exercise 1
ratkaisuja solutions
1.-5.11. Harjoitus 2 Exercise 2
ratkaisuja solutions
8.-12.11. Harjoitus 3 Exercise 3
ratkaisuja solutions
HUOM! Käskykoodit löytyvät täältä
NOTE! Instruction codes can be found here
15.-19.11. Harjoitus 4 Exercise 4
ratkaisuja solutions
22.-26.11. Harjoitus 5 Exercise 5
ratkaisuja solutions
29.11-3.12. Harjoitus 6 Exercise 6
ratkaisuja solutions
7.12-10.12. Harjoitus 7 Exercise 7
ratkaisuja solutions

Ohjelmointiharjoitus

Kurssiin liittyy vapaaehtoinen konekieliohjelmoinnin pienimuotoinen harjoitustyö. Siitä voi saada enimmillään kolme ylimääräistä kurssipistettä varsinaisten jatkoksi. Työssä suunnitellaan ja laaditaan esimerkkikone TTK-91:lle monipuolinen sovellus ratkaisemaan tietty laskennallinen ongelma. Tehtävä on kaikille sama, ja se tulisi suorittaa itsenäisesti. Ongelman voi ratkaista toki useammalla tavalla, ja laskuharjoitusten ohjaajan neuvot ja lisävihjeet ovat tarvittaessa käytettävissä.


Kurssimateriaali

Luentomoniste

Kurssin luentorunkona on A. Häkkisen luentomoniste "Tietokoneen Toiminta" (HY/TKTL, moniste D390). Huom: ohjelmaesimerkeissä on v. -98 ja -99 painoksissa käytetty Java-kieltä, aiemmissa Pascalia. Korjauksia uudemman painoksen painovirheisiin löytyy täältä. Monistetta voi ostaa TKTL:n monistemyynnistä (B435, avoinna ma - pe kello 12.00 - 13.00) hintaan 75 mk.

Luentojen kalvo- ja PowerPoint -kopioita, erilaista oheismateriaalia ja harjoitusten vastauksia löytyy TKTL:n salissa A412 olevasta kurssikansiosta. Lisäksi verkossa on luennoilla käsiteltyjä ohjelmaesimerkkejä (selitetty/selitetään siis luennoilla!).

Konekielisimulaattori KOKSI on kopioitavissa täältä. Tarjolla on myös käyttöohje ja käskykannan kuvaus.

Lisämateriaalia

Oheislukemistoiksi soveltuu ainakin:

  • Tanenbaum A.S: Structured Computer Organisation, 4th ed. Prentice-Hall, 1999.
  • van de Goor A.J: Computer Architecture and Design. Addison-Wesley, 1989.
  • Heuring V. P. & Jordan H: Computer Systems Design and Architecture. Addison-Wesley, 1997.
  • Norton P: Inside the PC, 6th ed. Sams Publishing, 1995.
Tietokonelehdistä löytyy paljon kurssin aihepiiriin liittyvää materiaalia, samoin verkosta.


Kurssin asiasisältö

Tämä sisällysluettelo tarkentuu kurssin edetessä ja tulee sisältämään myös tiedot luentojen etenemisestä.
 
1.  Johdanto    ke 20.10 
    - atk-järjestelmä
    - tietokoneiden historiaa
    - hierarkkisen tietokoneen tasot
    - ohjelmasta prosessiksi  
2.  Tiedon esittäminen    
    - bittiesitys
    - binääriluvut
    - datan  esitys   ma 25.10  
        - kokonaisluvut, reaaliluvut, merkit
        - muista lausekielten tietotyypeistä
        - kuvat ja ääni
    - tiedon oikeellisuuden tarkistus  ke 27.10 
        - pariteettibitit
        - Hamming-koodi
3.  Keskusyksikkö  
    - keskussuoritin, väylä, keskusmuisti
    - käskyjen suoritus

4.  TTK-91 symbolinen konekieli  ma 1.11 
    - Tietokoneen TTK-91 rakenne
     - käskyrakenne
     - osoitusmuotoja
     - yhteenveto TTK-91 -käskyistä
       ke 3.11 
  
5.  Konekielisiä ohjelmia  ke 3.11.  
    - KOKSI-simulaattori
    - yksinkertaisia ohjelmia
    - monimukaisempia ohjelmia
          - pinon käyttö
          - linkitetty lista
    -aliohjelmat             ma 8.11.  
           - kutsumekanismi
           - aktivointitietueet 
    - rekursio                 
    - lisää tietorakenteita 
   
6.  Käännös, linkitys ja lataus 

7.  Yleistä käyttöjärjestelmästä       
   7.1 Käyttöjärjestelmän kehityksestä
   7.2 Käyttöjärjestelmien perustyypit 
   7.3 Käyttöjärjestelmän tehtäviä
   
8. Prosessien hallinta 
    8.1. Prosessi 
    8.2  Keskeytyskäsittely
    8.3  Prosessien vuorottaminen       
    8.4  Prosessien poissulkeminen ja synkronointi
    
9. Muistinhallinta 
    9.1  Muistin organisointi
    9.2  Kanta- ja rajarekisteriä käyttävä järjestelmä
    9.3  Virtulaalimuisti
         sivu/sivutila, sivutaulu, 
         TLB, sivunpuutoskeskeytys      
    9.4  Heittovaihto      
    
10. Tiedostojärjestelmä ja muistilaitteet 
   10.1  Tiedostojärjestelmän periaatteita
   10.2  Tiedostojen talletus levylle
   10.3  Suojaus
   10.4  Tiedoston käyttö
   10.5  Magneettilevyt
   10.6  Optiset levyt       
   10.7  Magneettinauha
    
11. Siirräntäjärjestelmä 
    - laiteriipumaton siirräntä, laiteajurit
    - muistiinkuvattu I/O, DMA-siirto
    - syöttö- ja tulostuslaitteita
    
12. Tietoliikenne      
    - modeemit
    - lähiverkot
    - Internet 
    
13. Toiminnan nopeutus 
    - liukuhihnoitus, rinnakkaisuus
    - RISC-arkkitehtuurit
14. Kertausta      

9. Käyttöjärjestelmät 
    - kurssin alkupuoliskon kertausta
    - puolivälin kurssipalaute
    - käyttöjärjestelmän tehtävät
    - historiaa
10. Prosessien hallinta 
    - prosessien hierarkia ja tilamalli
    - keskeytyskäsittely
    - vuorottaminen
    - poissulkeminen, semaforit ja synkronointi
11. Muistinhallinta  
    - virtuaalimuisti
12. Oheismuistit 
    - magneettiset ja optiset levyt, magneettinauha
    - tiedostojärjestelmä
13. Siirräntäjärjestelmä 
    - laiteriipumaton siirräntä, laiteajurit
    - muistiinkuvattu I/O, DMA-siirto
    - syöttö- ja tulostuslaitteita
14. Tietoliikenne 
    - modeemit
    - lähiverkot
    - Internet 
15. Toiminnan nopeutus 
    - liukuhihnoitus, rinnakkaisuus
    - RISC-arkkitehtuurit
16. Kertausta 



Suoritus

Hyväksyttyyn suoritukseen vaaditaan noin 30 p. ja parhaaseen arvosanaan 3/3 n. 51 p. Pisteitä saa seuraavasti:

Koe                     max. 50 p.  
Laskuharjoitukset       max. 10 p.
                        ----------
Yhteensä                max. 60 p.  

Ohjelmointiharjoitus    max.  3 lisäpistettä. 

Kokeessa kysytään pääosin luentomonisteesta löytyviä asioita sekä harjoituksissa käsiteltyjä tehtäviä.


Tämä sivu:
http://www.cs.helsinki.fi/~marttine/tito/syksy99/