in English suomeksi Harjoitukset

Tietokoneen toiminta, HT 2

  1. Muistin osoitusmuodot. Oletetaan, että kullakin käskyllä jatkossa lähtötilanne on oheisen kuvan 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. LOAD R3, =One(R1)
    4. STORE R0, One(R1)
    5. STORE R2, @9(R3)
    6. LOAD R0, @R1
    7. LOAD R1, @(R1)
    8. STORE R1, @(R1)
    9. STORE R0, R1
    10. STORE R1, R0
    11. STORE R2, =One

     
  2. Ttk-91 tietokone ja sen simulaattori.
    1. Mitä tietotyyppejä voidaan käsitellä ttk-91 tietokoneessa konekäskytasolla? Onko olemassa tietotyyppejä, joita voidaan käsitellä konekäskytasolla nykyään käytössä olevilla tietokoneilla mutta ei ttk-91:ssä?
    2. Millä eri tavoin voidaan muistissa olevaan tietoon viitata ttk-91 tietokoneessa konekäskytasolla?
    3. Voidaanko samalla konekäskyllä muuttaa sekä rekisterin että muistin sisältöä? Miten tai miksi ei?
    4. Kuinka suuri kokonaisluku mahtuu ttk-91 koneen käskyn vakio-osaan? Mitä tehdä jos tarvitaan suurempaa lukua?
    5. Oletetaan, että ttk-91 rekistereiden lukumäärä olisikin 256 eikä 8. Miten tämä vaikuttaisi konekäskyn rakenteeseen?
    6. Oletetaan, että ttk-91 arkkitehtuuriin lisätään 46 uutta konekäskyä eri pituisten kokonais- ja liukulukujen, totuusarvojen, merkkien ja merkkijonojen käsittelyyn. Miten tämä vaikuttaisi konekäskyn rakenteeseen?
       
  3. Taulukot ja tietueet
    1. Useimmat ohjelmointikielet toteuttavat 2-ulotteiset taulukot riveittäin. Miksi näin tehtäisiin? Säästetäänkö tällä tavoin muistitilaa? Onko ratkaisu nopeampi kuin sarakettain tallennus? Miksi?
    2. Oletetaan, että sinulla on 1-ulotteinen taulukko Person, jonka alkiot ovat 5-kenttäisiä tietueita {id, height, weight, grade, level}. Anna ttk-91 konekäskyt, joilla toteutetaan sijoituslause "X = Person[i].grade".
    3. Anna ttk-91 konekäskyt, joilla toteutetaan sijoituslause "X = T3D[i][j][k]", kun T3D on kolmiulottteinen taulukko, joka on talletettu riveittäin.

  4.  
  5. [2 htp] Titokone ja TitoTrainer
    1. Opettele käyttämään Titokonetta ja TitoTraineria.
    2. Tee tason A TitoTrainer tehtävät a-050, a-100, a-110 ja a-150. Halutessasi voit ajaa tekemäsi (TitoTrainer-tehtävässä määritellyn) ohjelman ensin Titokoneessa ja sitten vasta TitoTrainerissa. Tällä tavoin saat parempia virheilmoituksia ja ohjelman kehittäminen on helpompaa. Käytä tarvittaessa omaa opintopiiriä konsultointiapuna, mutta yritä selvitä tehtävistä itsenäisesti.
    3. Halutessasi voit samalla kertaa tehdä loputkin tason A TitoTrainer tehtävät projektia 3 varten.

Teemu Kerola