Gedächtnisprotokoll RS08-2
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