58123-3 Tietokoneen toiminta (3 ov) Loppukoe 6.6.2000 1. Taulukkoon on talletettu ei-negatiivisia lukuja esim. opiskelijoiden kokeesta saamia pistemääriä. Lukujen määrää ei tiedetä, mutta taulukkoon talletettu negatiivinen luku ilmoittaa varsinaisten lukujen loppuneen. a) Tee aliohjelma karvo, joka laskee taulukkoon talletettujen lukujen keskiarvon. Parametrien välitykseen käytetään pinoa. Aliohjelmalle annetaan pinossa parametrina taulukon osoite ja aliohjelma palauttaa pinossa laskemansa keskiarvon. (6 p) b) Tee myös pääohjelma, joka kutsuu aliohjelmaa karvo taulukkoon Pisteet talletettujen koepisteiden keskiarvon laskemiseen ja tulostaa saamansa keskiarvon. Voit olettaa, että pistemäärät on jo talletettu halutulla tavalla taulukkoon Pisteet. (6 p) c) Esitä pinon rakenne heti aliohjelman kutsun jälkeen. (3 p) 2. Olet kirjoittanut isohkon, useasta ohjelmamoduulista koostuvan ohjelman jollakin yleisesti käytetyllä ohjelmointikielellä, esim. C-kielellä, Javalla tai Pascalilla ja tallettanut sen tietokoneesi muistiin. Jotta ohjelmasi voidaan suorittaa, se pitää muuttaa tietokoneen ymmärtämään muotoon. Tässä tarvitaan kääntäjää, linkittäjää ja lataajaa. a) Selvitä, mitä kääntäjä tekee. Mihin symbolitaulua tarvitaan? Entä mihin käytetään uudelleensijoitushakemistoa? Mitä käännöksen tuloksena saadaan? (9 p) b) Miksi tarvitaan linkittäjää? Mitä se tekee? (4 p) c) Mitä latauksessa tehdään? (2 p) 3. Sitten suoritetaan ohjelmaasi. Käytetään esimerkkinä tietokoneesta kurssilla esitettyä TTK-91 -tietokonetta, jonka prosessorissa on rekisterit LIMIT, BASE, MAR, MBR, TR, IR, PC, SR, R0-R5, SP ja FP. a) Selvitä prosessori- ja rekisteritasolla, miten kurssilla käytetyn esimerkkikoneen TTK-91:n keskussuoritin toimii suorittaessaan seuraavan käskysarjan (10 p): .... DIV R1, 200 JUMP 100 .... 100 SVC SP,=11 ; palvelupyyntö HALT b) Mitä virhetilanteita suorituksessa voi tapahtua? Miten niihin reagoidaan? (5p) 4. Kerro, mitä seuraavat asiat tarkoittavat ja millä tavalla ne liittyvät tietokoneen suorituskykyyn ja tehokkuuteen (15 p, a' 3p). a) siirtoväylänleveys ja sananpituus b) kellojakso c) välimuisti d) RISC e) liukuhihna (pipeline)