Gedächtnisprotokoll RS09-1
Rechnerstruktur Klausur, WS 08/09, 1. Termin, Freitag, 13.02.2009
ANMERKUNG: Es gab insgesamt 180 Punkte zu erreichen, davon entfallen alleine 60 auf Bonuspunkte. Das heisst, für eine 1,0 würden 120 Punkte reichen, zum Bestehen 60.
Aufgabe 1
(7 Punkte)
Wandeln sie folgende Zahl 7951 in Binär, Oktal und Sedezimaldarstellung um.
Aufgabe 2 (Bonusaufgabe)
(10 Punkte)
Wandeln Sie 0,35 in einen Binärbruch um. Geben Sie dazu die Vorperiode, Periode an und runden Sie diesen neutral auf die 8 Stelle.
Aufgabe 3
(10 Punkte)
Gegeben sind folgende Relative Häufigkeiten 4, 7, 11, 18, 19, 23 eines Zeichensatzes. Geben Sie die Längen der Codewörter eines zugehörigen Huffmancodes an.
Aufgabe 4
(20 Punkte)
Berechnen Sie zu folgender Bittkette K = 11010010010 einen Prüfcode mittels des Divisionspolynoms C = 10011. Geben Sie die korrigierte Nachricht in der Form K konkav C an.
Aufgabe 5 (Zusatzaufgabe)
(20 Punkte)
Berechnen Sie ob die folgenden Nachrichten korrekt übertragen wurden, das Divisionspolynom ist 1101. Ansonsten geben Sie die korrigierten Nachrichten an.
a) 0111001 b) 1010000 c) 0100110 d) 1111010
Aufgabe 6
(20 Punkte)
VORSICHT! Die Aufgabe ist nicht genau dieselbe wie beim Gedächtnisprotokoll zu RS08-1! Die Ankreuzmöglichkeiten waren ein wenig verändert! Das heisst, nicht einfach auswendig lernen und in der Klausur richtig durchlesen! Vielleicht kann sich ja jemand noch an die richtigen Möglichkeiten erinnern ;)
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, weil die Eingänge falsch belegt sind. [ ] Die Schaltung ist falsch, weil die Ausgänge falsch belegt sind. [ ] 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 die Eingäng A und B wurden vertauscht. [ ] Die Schaltung ist richtig, aber nicht für diese DNF ... [ ] Keine der Aussagen trifft zu.
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
(32 Punkte)
Ampelschaltung
Zustand | Zustandscodierung | Auto-Ampel | Fußgänger-Ampel X 001 Gelb Rot Y 011 Rot Rot Z 111 Rot Grün A 110 Rot Rot B 100 Rot-Gelb Rot W 000 Grün Rot
a) Übertragen Sie die Ampelphasen ausgehend aus der Zustandstabelle in einen Zustandsgraphen
b) Übertragen Sie ihren Zustandsgraphen in eine Zustandstabelle der Form:
K | Z2 Z1 Z0 | Z2+ Z1+ Z0+
c) Leiten Sie mittels Minimierung durch KV-Diagramme die minimierten Terme des Übergangschaltnetzwerkes aus Ihrer Zustandstabelle ab.
d) Erstellen Sie eine Wertetabelle für die Ausgangsfunktion in folgender Form:
Z2 Z1 Z0 | Stop Gehen | Rot Gelb Grün
e) Bestimmen Sie mittels Minimierung durch KV-Diagramme die minimierten Terme der Ausgangsfunktion.
f) In welchem Zustand befindet sich Ihre Ampelsteuerung zum Zeitpunkt des Einschaltens? Wie verhält sich Ihre Schaltung in den nicht realisierten Zuständen?
g) Welche Möglichkeiten haben Sie, die Schaltung sicherer zu machen bzw. die Fälle auszuschließen?
Aufgabe 8
Geben Sie für folgende Ausgangsmatrix die Verbindungsmatrix an.
http://img216.imageshack.us/img216/3715/verbindungendn9.th.jpg
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
Gegeben seien zwei Single-Zahlen (32 Bit) a und b in Sedezimalnotation. Berechnen Sie die Summe von a und b und geben Sie sie auch in Sedezimalnotation an.
4 Additionsaufgaben!
Aufgabe 11
Sie haben die Formel (a XOR b) XOR a = b, und müssen aus zwei Registern R1 und R2 ein Ergebnis berechnen, ohne einen Zwischenspeicher zu verwenden. Schreiben Sie Assembler-Code und nutzen Sie die Eigenschaften der XOR Funktion.
Anmerkung: Assembler-Code war in der Aufgabenstellung nicht explizit gefragt, kann das hier wer besser in den Wortlaut übersetzen?
Aufgabe 12
Haupspeichergröße = 2^20
Cachemengen = 32 mit je 4 Cacheblöcken (direct mapped)
Cacheblockgröße = 32 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