Harjoitukset

Tietokoneen toiminta, Itseopiskelukurssi, HT 2

  1. Tiedon sijainti laitteistossa

    Missä kaikkialla laitteistossa (esim. muisti, välimuisti, levymuisti, CD-asema, DVD-asema, Flash-kovalevy, rekisterit) konekäskyssä suoritusaikana viitattava data voi sijaita? Minkälaisilla konekäskyillä eri paikoissa sijaitsevaan dataan viitataan?
    Miten tiedon tyyppi (esim. kokonaisluku, totuusarvo, taulukko, tietue, tiedosto) vaikuttaa tähän asiaan?
    Onko joku tiedon sijaintipaikka parempi kuin muut? Milloin ja miksi?
    Missä kaikkialla laitteistossa voi tietty kokonaisluku sijaita? Entä taulukko?
    Minkälainen tieto ei voi olla rekisterissä?

  2. Muistin osoitusmuodot. Oletetaan, että kullakin käskyllä jatkossa lähtötilanne on oheisen kuvan [Tito luento 2, Kesä 2004] 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. LOAD R1, =X(R0)
    11. STORE R2, =One
       
  3. Taulukot ja tietueet
    1. Miten 1-ulotteiset taulukot on toteutettu konekielen tasolla? Miten taulukon alkioihin viitataan?
    2. Jos 1-ulotteisen taulukon osoite on rekisterissä R3 ja indeksi rekisterissä R1, millä konekäskyillä saat kyseisen alkion arvon rekisteriin R4?
    3. Miten 2-ulotteiset taulukot on toteutettu konekielen tasolla? Miten taulukon alkioihin viitataan?
    4. Mitä tarkoittaa käsite sarakettain talletettu 2-ulotteinen taulukko?
    5. Miten tietueet on toteutettu konekielen tasolla? Miten tietueen kenttiin viitataan?
    6. Miten oliot on toteutettu konekielen tasolla? Miten metodit on toteutettu?

     
  4. Tämän viikon TitoTrainer tehtävät, ainakin tehtävät a-050, a-100, a-110 ja a-150.