581305-6 Tietokoneen toiminta, 4 op, koe 10.9.2013   

Kirjoita jokaiseen vastauspaperiin:     nimi ja nimikirjoitus, opiskelijanumero ja kurssin nimi.
Kuhunkin tehtävään riittää noin 1-2 sivun vastaus.

  1. [9 p] Ohjelman suoritus järjestelmässä.
    1. [3 p] Mikä on prosessin esitysmuoto järjestelmässä? Mitä tietoja siellä on?
    2. [3 p] Mikä on suoritinympäristö (context data), mitä varten se on olemassa, mitä tietoja siellä on, milloin se talletetaan ja milloin sitä luetaan?
    3. [3 p] Mitä tarkoittaa, kun prosessi P on Valmis suoritukseen (ready to run) -tilassa? Miten ja milloin se pääsee siihen tilaan? Miksi se on siellä? Miten se pääsee sieltä pois ja mihin tilaan se silloin siirtyy?

     
  2. [9 p] Konekäskyjen suoritus.
    1. [5 p] Määrittele käsite "käskyjen nouto- ja suoritussykli" (fetch-execute cycle).
      Mitkä ovat sen vaiheet ja mitä vaiheissa tapahtuu?
      Käytä vielä esimerkkinä konekäskyn LOAD R4, Arr(R1) suoritusta ja kerro mitä kaikkea eri vaiheissa tapahtuu juuri tämän konekäskyn suorituksen aikana.
    2. [4 p] Mikä on etuoikeutettu (privileged, supervisor) käskyjen suoritustila, mihin sitä tarvitaan ja kuinka se on käytännössä toteutettu käskyjen suoritussyklissä?
      Mitä kaikkea sellaista etuoikeutetussa suoritustilassa voi konekäskytasolla tehdä, mitä ei voi tehdä normaalissa (user) suoritustilassa?
      Miten etuoikeutettuun suoritustilaan päästään ja kuinka siitä palataan normaaliin käskyjen suoritustilaan?

  3. [9 p] I/O:n toteutus.
    1. [3 p] Millä kolmella tavalla I/O voidaan toteuttaa järjestelmässä ja miten näitä eri tapoja toteuttavat laitteet eroavat toisistaan?
    2. [3 p] Mitä etuja/haittoja I/O:n eri toteutustavoilla on toisiinsa nähden?
    3. [3 p] Mikä tapa on yleinen levy-I/O:n toteutuksessa ja miksi?

     
  4. [9 p] Titokone, TitoTrainer ja ttk-91. Aliohjelma Maxim (T, n, max, maxindex) palauttaa ulostuloparametreissa max ja maxindex n-alkioisen taulukon T suurimman alkion arvon ja sen indeksin. Parametri n on arvoparametri ja muut parametrit ovat viiteparametreja.
    Muuttujat maxS ja maxSi on määritelty pääohjelmatasolla, samoin kuin 600-alkioinen taulukko Salary.
    1. [4 p] Toteuta ttk-91 symbolisella konekielellä (aliohjelmaa Maxim kutsumalla) käskyt, joiden avulla muuttujiin maxS ja maxSi saadaan taulukon Salary suurimman alkion arvo ja sen indeksi.
    2. [5 p] Toteuta ttk-91 symbolisella konekielellä aliohjelma Maxim.
       
    Noudata suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia.

TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL, DIV, MOD, AND, IR, XOR, SHL, SHR, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER, JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR, POPR, SVC