09.12.35 Stırikerfi I
Haustpróf 20. ágúst 1996
Öll skrifleg hjálpargögn leyfileg.
1. [10%] Beriğ saman lestrarhrağa á geisladiskum (300KB/sek. fyrir
2X geisladrif) og hörğum seguldiskum. Sem dæmi skoğiğ harğan disk sem
hefur 16 hliğar, 940 spor, 52 geira meğ 512 bæti í hverjum geira og snıst
á 5400 sn/mín. Hver er lestrarhraği şessa disks (takiğ fram forsendur!)
og hvernig er hann í samanburği viğ 2X, 4X eğa 8X geisladrif?
2. [5%] Dragiğ sextándakerfistöluna 001Fh frá FFF7h, túlkağ sem
2's complement 16 bita heiltölur. Sıniğ niğurstöğuna bæği sem tugatölu
og sextándakerfistölu.
3. [5%] Er şağ rétt ağ allar heiltölur (>0) sem 6 gengur uppí
hafi jafnan fjölda 1-bita í tvíundarframsetningu sinni? Rökstyğjiğ
eğa sıniğ mótdæmi.
4. [10%] Gerum ráğ fyrir ağ 16 bita fleytitala samkvæmt IEEE
stağlinum hafi 1 formerkisbita, 5 veldisbita og 10 bita undir brothluta.
- Lısiğ einkennum şessara 16 bita fleytitalna, şar á meğal stærstu
og minnstu tölu, á stöğluğu og óstöğluğu formi.
- Sıniğ hvernig eftirfarandi tölur væru táknağar á şessu formi (ef
şağ er hægt): i) -8.2 ii) 24.5 iii) 0.0034.
5. [20%] Skrifiğ 8086 smalamálsfall sem er kallanlegt úr
Borland C++ (ath. meğhöndlun á staflaramma) sem bır til slembibita.
Falliğ fær inn bendi á 32 bita sæği og şağ bır til nıjan bita meğ şví ağ
XOR-a saman bita 1, 4, 6 og 30 í sæğinu (viğ númerum bitana 1, 2, ..., 32,
frá hægri til vinstri). Sæğinu er síğan öllu hliğrağ um eitt sæti til
vinstri og nıji bitinn kemur inn frá hægri (sem næsti biti númer 1 í
sæğinu). Nıja bitanum er loks skilağ út (í AX). Hér ağ neğan er haus
fallsins eins og hann væri í C++.
int SBiti(long int& saedi);
6. [15%] Hér ağ neğan er gefiğ 8086-fall sem kallanlegt er úr C.
Lısiğ şví sem falliğ gerir, ş.e., hverju şağ skilar og hvernig şağ
vinnur. Útskıriğ sérstaklega hver er tilgangurinn meğ pop og
push-skipununum í upphafi fallsins.
xxx: xor cx, cx
pop ax
pop dx
pop bx
push bx
push dx
push ax
L1: mov ax, [bx]
L2: cmp ax, [bx]
jcxz L3
cmc
L3: ja L1
add bx, 2
dec dx
jnz L2
ret
Skipunin cmc (Complement carry) breytir gildi carry-bitans
(ş.e. snır honum viğ). Haus fallsins í C er hér ağ neğan:
unsigned int xxx(int a, unsigned int b[]);
7. [10%] Sumir RISC gjörvar hafa mörg şrep í pípunni
(e. superpipelined). Til dæmis hefur MIPS R4000 átta şrep. Lısiğ
kostunum viğ ağ hafa svona mörg pípuşrep og göllunum.
Bendiğ á a.m.k. tvær ağferğir sem notağar eru til ağ komast hjá göllunum.
8. [15%] Skrifiğ falliğ hér ağ neğan sem PA-RISC
smalamálsfall, sem fær inn gildi í %arg0 og skilar út í
%ret0 fjölda 1-bita í şví.
// Notkun: k = telja(w);
// Fyrir: w er heiltala
// Eftir: k er fjöldi 1-bita í w
int telja(int w) {
int i=0;
while( w != 0 ) {
i = i + (w&1);
w = w >> 1;
}
return i;
}
9. [10%] Hér ağ neğan eru nokkrar stağhæfingar um skyndiminni.
Segiğ hvort şær séu réttar eğa rangar og, í örfáum orğum, hvers vegna.
- Almennt er smellahlutfall (hit ratio) tengins skyndiminnis hærra
en skyndiminnis meğ beina vörpun.
- Smellahlutfall mengistengis skyndiminnis meğ eins staks mengjum
(1-way associative) er lægra en skyndiminnis meğ beina vörpun.
- Gagnaflæği vegna "write-back" skyndiminnis er yfirleitt meira en
vegna "write- through" skyndiminnis.
- Aukin línustærğ kemur sér betur fyrir gagnaskyndiminni en
skipanaskyndiminni.