Gedächtnisprotokoll RS08-1: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (Bot: Kosmetische Änderungen) |
||
(42 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Aufgabe 1 == | == Aufgabe 1 == | ||
Wandeln sie die Dezimalzahl 17,125 in eine Binärzahl um | (5 Punkte) | ||
Wandeln sie die Dezimalzahl 17,125 in eine Binärzahl um mit 6 Vorkomma und 4 Nachkomma. | |||
== Aufgabe 2 ( Extraaufgabe ) == | == Aufgabe 2 ( Extraaufgabe ) == | ||
Geben Sie die Dezimalzahl 0,9 als Binärbruch an. Geben Sie dazu die Vorperiode und die Periode sowie die Zahl auf 6 Stellen gerundet an. | (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: | Vorperiode: | ||
Zeile 9: | Zeile 13: | ||
Periode: | Periode: | ||
Gerundet: | neutral Gerundet: | ||
== Aufgabe 3 == | == Aufgabe 3 == | ||
(10 Punkte) | |||
Berechnen Sie zur Nachricht 1101001011 die Schutzkette nach dem CRC verfahren. Das Divisionspolynoms ist 10011. | Berechnen Sie zur Nachricht 1101001011 die Schutzkette nach dem CRC verfahren. Das Divisionspolynoms ist 10011. | ||
Geben Sie die geschützte Nachricht (Nachricht + Schutzkette) an. | Geben Sie die geschützte Nachricht (Nachricht + Schutzkette) an. | ||
Zeile 22: | Zeile 28: | ||
b) 1010000 | b) 1010000 | ||
c) | c) 0100110 | ||
d) | d) 1111101 | ||
== Aufgabe 5 == | == Aufgabe 5 == | ||
Zeile 32: | Zeile 38: | ||
Gegeben sind folgende DNF | Gegeben sind folgende DNF | ||
Y = | 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: | Dadraus wurden mithilfe von KV-Diagrammen die folgenden minimierten DNF erstellt: | ||
a) | a) | ||
Zeile 62: | Zeile 69: | ||
Aus den minimierten DNF wurde folgende Schaltung gebaut: | Aus den minimierten DNF wurde folgende Schaltung gebaut: | ||
... | |||
http://nilstgmd.bplaced.net/data/RS_aufg6b.png | |||
Kreuzen Sie alle richtigen Aussagen an: | Kreuzen Sie alle richtigen Aussagen an: | ||
<pre> | <pre> | ||
[ ] Die Schaltung ist richtig. | [ ] Die Schaltung ist richtig. | ||
[ ] Die Schaltung ist falsch. | [ ] 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 Ausgänge wurden vertauscht. | ||
[ ] Die Schaltung ist richtig, aber alle Eingänge wurden vertauscht. | [ ] Die Schaltung ist richtig, aber alle Eingänge wurden vertauscht. | ||
[ ] Die Schaltung ist richtig, aber aber die Eingäng A und | [ ] Die Schaltung ist richtig, aber aber die Eingäng A und C wurden vertauscht. | ||
... | ... | ||
[ ] Keine der Aussagen trifft zu. | |||
</pre> | </pre> | ||
Zeile 85: | Zeile 95: | ||
== Aufgabe 7 == | == Aufgabe 7 == | ||
( 30 Punkte ) | |||
b) | 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? --[[Benutzer:Olli|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 == | == Aufgabe 8 == | ||
Die Ausgabe der Sparc (inklusive Flags) für folgende Aufgaben | |||
// UNVOLLSTÄNDIG | |||
Welche Flags werden bei addcc gesetzt: | |||
a) 0x7FFFFFFC + 0xC | |||
b) 0xFFFFFF9C + 0x6C | |||
Welche Flags werden bei subcc gesetzt: | |||
a) 0x0 - 0x80000000 = | |||
b) 0x0 - 0xffff126 = [letzte Ziffer nicht ganz sicher] | |||
... | |||
0x7FFFFFFC + 0xC = | |||
... | |||
== Aufgabe 9 == | == 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 ) == | == 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: | |||
ldd [%fp-16], %f4 | |||
std %f4, [%fp-8] | |||
fmovs %f4, %f0 | |||
fmovs %f5, %f1 | |||
jmp %i7+8 | |||
restore | |||
== Aufgabe 11 == | == Aufgabe 11 == | ||
Zeile 111: | Zeile 250: | ||
Haupspeichergröße = 2^18 | Haupspeichergröße = 2^18 | ||
Cachemengen = 32 mit je 4 Cacheblöcken (direct mapped) | |||
Cacheblockgröße = | Cacheblockgröße = 16 Byte | ||
In | In welchen Cachemengen werden die Werte folgender Adressen abgelegt: | ||
a) | a) 01 0110 1010 0100 1010 | ||
b) | b) 10 1010 1010 0101 1101 | ||
c) | c) 11 0101 0100 1110 1001 | ||
d) | d) 00 1001 1110 1011 1010 | ||
Geben Sie an wie viele Bit der Adresse auf was verfallen: | Geben Sie an wie viele Bit der Adresse auf was verfallen: | ||
<pre> | <pre> | ||
Tag: | Tag: Bit | ||
Index: | Index: Bit | ||
Bytenummer: Bit | |||
</pre> | </pre> | ||
[[Kategorie:Gedaechtnisprotokoll|RS]] |
Aktuelle Version vom 8. Juni 2012, 17:07 Uhr
Aufgabe 1[Bearbeiten]
(5 Punkte)
Wandeln sie die Dezimalzahl 17,125 in eine Binärzahl um mit 6 Vorkomma und 4 Nachkomma.
Aufgabe 2 ( Extraaufgabe )[Bearbeiten]
(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[Bearbeiten]
(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 )[Bearbeiten]
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[Bearbeiten]
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[Bearbeiten]
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 aber die Eingäng A und C wurden vertauscht. ... [ ] 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[Bearbeiten]
( 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[Bearbeiten]
Die Ausgabe der Sparc (inklusive Flags) für folgende Aufgaben
// UNVOLLSTÄNDIG
Welche Flags werden bei addcc gesetzt:
a) 0x7FFFFFFC + 0xC
b) 0xFFFFFF9C + 0x6C
Welche Flags werden bei subcc gesetzt:
a) 0x0 - 0x80000000 =
b) 0x0 - 0xffff126 = [letzte Ziffer nicht ganz sicher]
... 0x7FFFFFFC + 0xC =
...
Aufgabe 9[Bearbeiten]
( 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 )[Bearbeiten]
( 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: ldd [%fp-16], %f4 std %f4, [%fp-8] fmovs %f4, %f0 fmovs %f5, %f1 jmp %i7+8 restore
Aufgabe 11[Bearbeiten]
Cache LRU und Beladys
Anzahl Seitenalarme
Aufgabe 12[Bearbeiten]
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