Harjoitukset

Tietokoneen toiminta, Itseopiskelukurssi, HT 3

  1. Ohjelman tietorakenteiden sijainti. Korkean tason kieli vs. symbolinen konekieli. Oletetaan, että meillä on korkean tason kielellä (C, Java, Pascal) tehty ohjelma Sovellus, joka käännetään ttk-91 koneen konekielelle
    1. Mitkä ohjelman Sovellus tiedot (esim. muuttujien arvot) haluttaisiin pitää laiterekistereissä koko ohjelman suorituksen ajan. Miksi? Miten tämä voitaisiin saada aikaiseksi?
    2. Mitkä ohjelman Sovellus tiedot haluttaisiin pitää muistissa koko ohjelman suorituksen ajan. Miksi? Miten tämä voitaisiin saada aikaiseksi?
    3. Mitkä ohjelman Sovellus tiedot haluttaisiin pitää joskus rekisterissä ja joskus muistissa ohjelman suorituksen aikana. Miksi? Miten tämä voitaisiin saada aikaiseksi?
    4. Mitkä ohjelman Sovellus tietojen ei tarvitse sijaita missään ohjelman suorituksen aikana? Miksi? Anna esimerkkejä. (Tämä ei ole trikkikysymys)
    5. Mitkä ohjelman Sovellus tiedoista ei ole väliä, missä ne sijaitsevat suoritusaikana? Miksi? Anna esimerkkejä.
       
  2. Binääri- ja heksadesimaalijärjestelmät
    1. Mikä on desimaalijärjestelmän luvun 43.234 binääriesitys? Entä heksadesimaaliesitys?
    2. Mitä desimaalijärjestelmän lukua binääriluku 101010.1010 vastaa? Entä heksadesimaalilukua?

     
  3. Kokonaisluvut. Mikä on desimaalilukujen +23 ja -75 esitys seuraavissa 16 bitin Big-Endian esitysmuodoissa:
    1. etumerkillinen (sign and magnitude)
    2. kahden komplementti (two's complement)
    3. yhden komplementti (one's complement)
    4. 32767 vakiolisäys (biased by 32767)

  4.  
  5. Liukuluvut
    1. Mikä on desimaaliluvun -4.0 IEEE liukulukustandardin mukainen esitys (32 bittiä)?
    2. Mikä on desimaaliluvun 33.125 IEEE liukulukustandardin mukainen esitys?
    3. Oletetaan, että ohjelmointikielessä MyLan on totuusarvo (boolean) ja liukuluku tietotyypit. Esimerkiksi, MyLan ohjelmissa voidaan käyttää boolean tai float tyyppisiä muuttujia.

      Ttk-91 koneessa ei kuitenkaan ole tällaisia tietotyyppejä. Voisiko MyLan kielelle tehdä kääntäjän, jonka avulla MyLan kielisiä ohjelmia voisi suorittaa ttk-91 koneessa? Jos voi, niin miten? Jos ei voi, niin miksi ei?


     
  6. Miten Little-Endian ja Big-Endian esitysmuodot eroavat toisistaan?

  7.  
  8. Miten merkkijono "Aika lyhyt merkkijono" esitetään muistissa? Anna yksi konkreettinen (ei ttk-91) esimerkki.

  9.  
  10. Tämän viikon TitoTrainer tehtävät, ainakin tehtävät b-150, b-350 ja b-400.