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.
  1. Lısiğ einkennum şessara 16 bita fleytitalna, şar á meğal stærstu og minnstu tölu, á stöğluğu og óstöğluğu formi.
  2. 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.
  1. Almennt er smellahlutfall (hit ratio) tengins skyndiminnis hærra en skyndiminnis meğ beina vörpun.
  2. Smellahlutfall mengistengis skyndiminnis meğ eins staks mengjum (1-way associative) er lægra en skyndiminnis meğ beina vörpun.
  3. Gagnaflæği vegna "write-back" skyndiminnis er yfirleitt meira en vegna "write- through" skyndiminnis.
  4. Aukin línustærğ kemur sér betur fyrir gagnaskyndiminni en skipanaskyndiminni.