Tietokoneen toiminta, kevät 2002

Harjoitus 1

Käsitellään harjoitusryhmissä keskiviikkona 15.5.2002.
  1. Korkean tason kieli vs. symbolinen konekieli. Oletetaan, että meillä on korkean tason kielellä (C, Java, Pascal) tehty ohjelma Simple, joka on käännetty TTK-91 koneen konekielelle.

    Missä fyysisesti erilaisissa tietokoneen komponenteissa ohjelman Simple muuttujan X arvo voi sijaita (TTK-91 koneessa) ohjelman suoritettaessa? Anna kaksi vaihtoehtoa. Perustele vastauksesi.

    Anna seuraaviin kysymyksiin vastaukset TTK-91 koneen osalta erikseen kullekin em. kahdelle vaihtoehdolle.

    1. Millä konekäskyillä X:n arvon voi tulostaa?
    2. Millä konekäskyillä X:n osoitteen voi tulostaa?
    3. Millä konekäskyillä X:n arvoksi asetetaan luku 65?
    4. Millä konekäskyillä X:n osoitteeksi asetetaan luku 211?
    5. Millä konekäskyillä X:n arvo voidaan tallettaa muistiin muuttujan Y arvoksi?

  2. Korkean tason kieli vs. symbolinen konekielen käskyt. Minkälaisen korkean tason kielen ohjelmakohdan toteuttamiseen voitaisiin käyttää TTK-91 koneen (pseudo)konekäskyä
    1. SUB
    2. MOD
    3. OR
    4. XOR
    5. COMP
    6. JUMP
    7. JNGRE
    8. DC
    Anna esimerkki kustakin tapauksesta.
    Miten pseudokonekäskyt eroavat tavallista konekäskyistä?

  3. Esitä allaolevat käskyt TTK-91 käskyrakenteen mukaan kokokaislukuina (ei siis tarvitse muuttaa biteiksi):
       MUL R1, R5
       LOAD R3, Puppu
       ADD R5, Puppu(FP)
       STORE R1, Puppu
       JUMP @Puppu(R1)
       SUB R3, @Link(FP)
    
    Olkoon symbolin Puppu arvo 127 ja symbolin Link arvo 4. Käskyrakenne löytyy Häkkisen monisteesta tai luentokalvoista. Operaatioiden koodit on esitetty KOKSI-ohjeessa.

  4. Muistin osoitusmuodot. Oletetaan, että kullakin käskyllä jatkossa lähtötilanne on luentojakson 2 kalvon 18 tilanne. Anna kullekin käskylle tehollinen muistiosoite (effective address) ja joko muuttuneen rekisterin sisältö tai muuttuneen muistipaikan osoite ja sisältö. Jos jokin käsky ei ole laillinen, kerro minkä takia näin on.
    1. LOAD R4, 200
    2. LOAD R3, One(R1)
    3. STORE R0, One(R1)
    4. STORE R2, @9(R3)
    5. LOAD R0, @R1
    6. LOAD R1, @R1
    7. LOAD R1, @R2(R3)
    8. STORE R1, @R1
    9. STORE R0, R1
    10. STORE R2, =One

  5. TTK-91 -koneen KOKSI simulaattori
    1. Miten simulaattori eroaa todellisesta tietokoneesta?
    2. Miten simulaattorilla suoritettavat ohjelmat eroavat todellisella tietokoneella suoritettavista ohjelmista?
    3. Mitä etua on suorittaa ohjelmia simulaattorilla sen sijaan, että ne suoritettaisiin todellisella tietokoneella?
    4. Mitä haittaa on suorittaa ohjelmia simulaattorilla sen sijaan, että ne suoritettaisiin todellisella tietokoneella?

  6. a) Tutustu KOKSI-simulaattoriin lukemalla KOKSI-simulaattorin käyttöohje, joka löytyy kurssin kotisivulta.
    b) Selvitä, kuinka KOKSI-simulaattoria voi käyttää laitoksen koneissa ja kuinka simulaattorin voi asentaa omalle koneelle. Tietoa löytyy esim. tämän kevään Tietokoneen toiminnan luentokurssilta.