581305-6 Tietokoneen toiminta, 2 ov, kurssikoe 13.12.2004
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimesi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
- [12 p] Tiedon esitys.
- [6p] Oletetaan, että käytössä on Big Endian tavujärjestys.
Jos tavuosoitteessa 184 on arvo 0xFF ja tavuosoitteessa 185 on arvo 0xD7, niin
mitä desimaalilukua nämä tavut yhdessä esittävät tietokoneessa,
joka käyttää kokonaislukujen esitysmuotona
- kahden komplementtia
- yhden komplementtia
- lisäystä 32767:lla (32767=215-1)
(Etuliite "0x" tarkoittaa, että perässä tuleva luku
on heksadesimaalimuotoinen.)
- [3p] Mikä on desimaalijärjestelmän luvun 11.325 binääriesitys?
- [3p] Mikä on IEEE:n 32-bitin
liukulukustandardin mukainen esitys desimaalijärjestelmän luvulle 11.325?
- [12 p] Käännös, linkitys ja lataus. Oletetaan, että kyse on
"tavallisella" ohjelmointikielellä (kuten esim. C tai Pascal)
kirjoitetusta ohjelmasta
- [6 p] Mitä tapahtuu ohjelmaa käännettäessä?
- [3 p] Mitä tapahtuu ohjelmaa linkitettäessä?
- [3 p] Mikä tapahtuu ohjelmaa ladattaessa?
- [12 p] Ohjelmien suoritus
- Miten suoritin suorittaa konekielisiä ohjelmia?
- Minkä tyyppiset tapahtumat aiheuttavat
poikkeuksia käskyjen normaaliin suoritusjärjestykseen?
- Miten nämä poikkeustilanteet käsitellään?
- Miten poikkeustilanteiden käsittely suhtautuu
aliohjelmakutsuun ja aliohjelmasta paluuseen?
Erot/samankaltaisuudet?
- [12 p] Ttk-91 koneen symbolinen konekieli.
Kokonaislukuarvoinen taulukko T[24]
on määritelty pääohjelmatasolla. Taulukossa on siis 24 alkiota
(alkiot
0,...,23).
- [2 p] Anna taulukon T määrittely.
- [4 p] Tee funktio Laske(S, N, Pos, Neg), joka palauttaa arvonaan
N-alkioisen taulukon S positiivisten alkioiden lukumäärän.
Lisäksi funktio palauttaa ulostuloparametrissa Pos
positiivisten alkioiden summan ja ulostuloparametrissa Neg
negatiivisten alkioiden summan itseisarvon.
Noudata
suositusten mukaista
aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia.
Parametrit S, Pos ja Neg
ovat viiteparametreja ja parametri N on arvoparametri.
- [3 p] Anna ttk-91 symbolisen konekielen konekäskyt, joilla
em. funktiota käyttäen tulostetaan (pääohjelmatasolla
määritellyn) 24 alkioisen taulukon T positiivisten alkioiden
lukumäärä ja summa. Noudata
suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia. Parametrit S,
Pos ja Neg ovat
viiteparametreja ja parametri N on arvoparametri.
- [3 p]Piirrä aktivointiotietuepino
- kohdan b) funktion Laske kutsun jälkeen
(CALL käskyn jälkeen)
- pino-osoittimen SP arvon ollessa
suurimmillaan funktiota Laske suoritettaessa
- ennen funktion Laske EXIT-käskyn suoritusta
- funktion Laske EXIT-käskyn suorituksen jälkeen.
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