Gedächtnisprotokoll RS08-2: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
Zeile 130: Zeile 130:


Geben Sie an wie viele Bit der Adresse auf was verfallen:
Geben Sie an wie viele Bit der Adresse auf was verfallen:
Tag:              Bit
Index:            Bit
Bytenummer:      Bit


== Augabe 12 ==
== Augabe 12 ==

Version vom 27. März 2008, 16:11 Uhr

Aufgabe 1

Aufgabe 2

Aufgabe 3

Aufgabe 4

Aufgabe 5

Aufgabe 6

Aufgabe 7

Aufgabe 8

Aufgabe 9

( 15 Punkte )

Was macht dieses Programm:

  funktion:
      save %sp, -120, %sp
      mov %i0, %o0          ! %o0 = x
      
      smul %o0, %o0, %o3
      smul %o0, %o3, %o2
      
      sll %o2, 2, %o0
      sll %o2, 3, %o1
      add %o0, %o1, %o2
      
      sll %o3, 1, %o0
      sll %o3, 4, %o1
      add %o0, %o1, %o3
      
      add %o3, %o2, %o3
      add %o3, 60, %o0
      
      sra %o0, 31, %g1
      wr %g0, %g1, %y
      nop
      nop
      nop
      sdiv %o0, 18, %i0
      
      jmp %i7+8
      restore

Aufgabe 10 (Extraaufgabe)

(20 Punkte )

Bei folgendem Programm gab es Übertragungsprobleme und zwei Befehle konnten nicht mehr entziffert werden. Rekonstruieren Sie diese.

  .global psum
  .section ".rodata"
  .null: .word 0, 0
  .section ".text"
  ! double psum( int n, double x[], double y[] )
  ! %i0 -> n
  ! %i1 -> x[]
  ! %i2 -> y[]
  psum:
      save %sp, -120, %sp
      
      sethi %hi(.null), %o0
      ldd [%o0 + %lo( .null )], %f4
      st %f4, [%fp-16]
      st %f4, [%fp-12]
      
      mov %g0, %i5
      cmp %g0, %i0
      bge .ende
      nop
      
  .schleife:
      ld [%fp-16], %f8
      ld [%fp-12], %f9
      
      mov %i5, %o0
      sll %o0, 3, %o1
      
      add %i1, %o1, %g1
      ld [%g1], %f4
    ! fehlender Befehl
    !
      add %i2, %o1, %g1
      ld [%g1], %f6
      ld [%g1+4], %f7
      
      fmuld %f4, %f6, %f4
      faddd %f8, %f4, %f4
      
      st %f4, [%fp-16]
      st %f5, [%fp-12]
      
      add %i5, 1, %i5
    ! fehlender Befehl
    !
      bl .schleife
      nop
      
  .ende:
      
      ldd [%fp-16], %f4
      std %f4, [%fp-8]
      fmovs %f4, %f0
      fmovs %f5, %f1
      
      jmp %i7+8
      restore

Aufgabe 11

Haupspeichergröße = 2^18

Cachemengen = 32 mit je 4 Cacheblöcken (direct mapped)

Cacheblockgröße = 16 Byte


In welchen Cachemengen werden die Werte folgender Adressen abgelegt:

a) 01 0110 1010 0100 1010

b) 10 1010 1010 0101 1101

c) 11 0101 0100 1110 1001

d) 00 1001 1110 1011 1010

Geben Sie an wie viele Bit der Adresse auf was verfallen: Tag: Bit Index: Bit Bytenummer: Bit

Augabe 12

(6 Punkte) Wir betrachten ein RAID-5 System mit 4 Platten. Die platte 2 sei vollständig ausgefallen. Rekonstruieren Sie den Inhalt der Platte 2!

platte 1: 0110 1100 00 01 0111 01

platte 3: 1110 1010 0011 1111 10

platte 4: 0100 1110 0101 00 01 11