581305-6 Tietokoneen toiminta, 4 op, koe 13.6.2014                      in EnglishOther side in English

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi ja nimikirjoitus, opiskelijanumero ja kurssin nimi. Kuhunkin tehtävään riittää noin 1-2 sivun vastaus.
Tämä koe on tavallinen erilliskoe ja sen koealue on koko kurssi.
Koe toimii myös korvaavana kuulusteluna kevään 2014 ohjatun itseopiskelukurssin kurssikuulustelulle.
  1. [9 p] Tiedon esitysmuodot
    1. [3 p] Anna kokonaisluvun -27 esitysmuoto 16-bittisessä kahden komplementin (twos complement) Big-Endian esitysmuodossa.
    2. [3 p] Anna kokonaisluvun -27 esitysmuoto 8-bittisessä yhden komplementin (ones complement) Little-Endian esitysmuodossa.
    3. [3 p] Anna liukuluvun +12.0 esitysmuoto 32-bittisessä IEEE liukulukustandardin Big-Endian esitysmuodossa.
     
  2. [9 p] Ohjelma ja sen suoritus järjestelmässä
    1. [2 p] Mikä on prosessi ja mikä on sen esitysmuoto järjestelmässä?
    2. [3 p] Miten tekstimuotoisesta (esim. Java tai C) ohjelmasta saadaan järjestelmässä suorituksessa oleva prosessi?
    3. [2 p] Mitkä ovat järjestelmässä olevan prosessin viisi elinkaaritilaa. Mitä tarkoittaa, kun prosessi on kussakin noista tiloista?
    4. [2 p] Mitä ovat etuoikeutetut (privileged) prosessit ja miten ne eroavat tavallisista (user) prosesseista? Miksi niitä tarvitaan?
     
  3. [9 p] I/O:n toteutus.
    1. [3 p] Millä kolmella tavalla I/O voidaan toteuttaa järjestelmässä? Miten ne toimivat?
    2. [3 p] Mitä etuja/haittoja I/O:n eri toteutustavoilla on toisiinsa nähden? Miten näitä eri tapoja toteuttavat laitteet eroavat toisistaan väylätason toteutuksessa (ts., miten ne käyttävät väylää)?
    3. [3 p] Mikä tapa on yleinen levy-I/O:n toteutuksessa? Miksi ne muut kaksi tapaa eivät olisi hyviä?
     
  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. [5 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. [4 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