Gedächtnisprotokoll RS08-1

Aus Fachschaft_Informatik
Version vom 14. Februar 2008, 03:56 Uhr von Olli (Diskussion | Beiträge) (Hinweis, Aufgabe Sieben enthält schon die Lösungen, das ist suboptimal)
Zur Navigation springen Zur Suche springen

Aufgabe 1

(5 Punkte)

Wandeln sie die Dezimalzahl 17,125 in eine Binärzahl um mit 6 Vorkomma und 4 Nachkomma.

Aufgabe 2 ( Extraaufgabe )

(10 Punkte)

Geben Sie die Dezimalzahl 0,9 als Binärbruch an. Geben Sie dazu die Vorperiode und die Periode sowie die Zahl auf 6 Stellen 'neutral' gerundet an.

Vorperiode:

Periode:

neutral Gerundet:

Aufgabe 3

(10 Punkte)

Berechnen Sie zur Nachricht 1101001011 die Schutzkette nach dem CRC verfahren. Das Divisionspolynoms ist 10011. Geben Sie die geschützte Nachricht (Nachricht + Schutzkette) an.

Aufgabe 4 ( Extraaufgabe )

Die Hamming Codierung lässt sich als CRC Codierung auffassen. Das Divisionspolynoms sei 1101. Berechnen Sie ob folgende Nachrichten korrekt übertragen wurden. Ansonsten geben sie die korrigierten Nachrichten an.

a) 0111001

b) 1010000

c) 0100110

d) 1111101

Aufgabe 5

Gegeben sind folgende Relative Häufigkeiten 5, 7, 11, 18, 19, 23 eines Zeichensatzes. Geben Sie die Längen der Codewörter eines zugehörigen Huffmancodes an.

Aufgabe 6

Gegeben sind folgende DNF

X = /ABC + A/B/C + A/BC + AB/C + ABC

Y = /A/BC + /AB/C + A/BC + AB/C + ABC


Dadraus wurden mithilfe von KV-Diagrammen die folgenden minimierten DNF erstellt:

a)

X = ....

Y = .....


Kreuzen Sie alle zutreffenden Aussagen an:

[ ] Die minimierten Terme sind richtig
[ ] Die minimierten Terme sind falsch
[ ] Nur X ist richtig
[ ] Nur Y ist richtig
[ ] Die minimierten Terme sind richtig, aber vertauscht
[ ] Die minimierten Terme sind richtig, aber in der falschen Reinfolge


b)

Aus den minimierten DNF wurde folgende Schaltung gebaut:


http://nilstgmd.bplaced.net/data/RS_aufg6b.png

Kreuzen Sie alle richtigen Aussagen an:

[ ] Die Schaltung ist richtig.
[ ] Die Schaltung ist falsch.
[ ] Die Schaltung ist richtig, aber alle Ausgänge wurden vertauscht.
[ ] Die Schaltung ist richtig, aber alle Eingänge wurden vertauscht.
[ ] Die Schaltung ist richtig, aber aber die Eingäng A und B wurden vertauscht.
...


c)

Geben Sie an welche Bedeutung die in der Schaltung verwendeten Symbole als elementare Schaltglieder haben.

d)

Geben Sie an wie oft die elementaren Schaltglieder in der Schaltung verwendet wurden.

Aufgabe 7

( 30 Punkte )

Entwicklung einer Taktunterteilung die das existierenden Takt-Signal derart unterteilt das jeweils nach vier Takten eine 1 am Ausgang anliegt.

http://theoneandonlyfoo.th.funpic.de/rs-aufgabe7.png


a) Implementations Model:

ACHTUNG: Im folgenden sind bereits die Lösungen eingetragen, das ist ja nicht
unbedingt der Sinn des Gedächtnisprotokolls, vielleicht sollten wir
das nochmal ändern? --Olli 03:56, 14. Feb. 2008 (CET)

http://nilstgmd.bplaced.net/data/RS_aufg7a.png

b) Zustandstabelle:

http://nilstgmd.bplaced.net/data/RS_aufg7b.png

c) Minimierte Ausgangsgleichung:

http://nilstgmd.bplaced.net/data/RS_aufg7c.png

d) Kombinatorische Logik:

http://nilstgmd.bplaced.net/data/RS_aufg7d.png

Aufgabe 8

Die Ausgabe der Sparc (inklusive Flags) für folgende Aufgaben

// UNVOLLSTÄNDIG

Welche Flags werden bei addcc gesetzt:

a)

b) 0xFFFFFF9C + 0x6C

Welche Flags werden bei subcc gesetzt:

a)

b) 0x0 - 0x80000000

...

0x0 - 0x80000000 =

...

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 )

( 30 Punkte )

Was macht das Programm:

   .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
       ld [%g1+4], %f5
       
       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
       cmp %i5, %i0
       bl .schleife
       nop
       
   .ende:
       
       ld [%fp-16], %f4
       ld [%fp-12], %f5
       fmovs %f4, %f0
       fmovs %f5, %f1
       
       jmp %i7+8
       restore

Aufgabe 11

Cache LRU und Beladys

Anzahl Seitenalarme

Aufgabe 12

Haupspeichergröße = 2^18

Cacheblöcke = 32

Cacheblockgröße = 16


In welchem Cacheblock werden die Werte folgender Adressen abgelegt:

a) 10101001001010

b) 10101001011101

c) 01010011101001

d) 01111010111010

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

Tag:          Bit
Index:        Bit
Offset:       Bit