Gedächtnisprotokoll RS08-1: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
K (Bot: Kosmetische Änderungen)
 
(34 dazwischenliegende Versionen von 13 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) 0100110
c) 0100110


d) 1111101
d) 1111101


== Aufgabe 5 ==
== Aufgabe 5 ==
Zeile 33: Zeile 39:
Gegeben sind folgende DNF
Gegeben sind folgende DNF


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


Y = .....


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 63: 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 B wurden vertauscht.
[ ] Die Schaltung ist richtig, aber aber die Eingäng A und C wurden vertauscht.
...
...
[ ] Keine der Aussagen trifft zu.
</pre>
</pre>


Zeile 86: Zeile 95:


== Aufgabe 7 ==
== Aufgabe 7 ==
Zustansautomat:
( 30 Punkte )
a) ....
 
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


b)
c) Minimierte Ausgangsgleichung:
 
http://nilstgmd.bplaced.net/data/RS_aufg7c.png


c)
d) Kombinatorische Logik:


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


== Aufgabe 8 ==
== Aufgabe 8 ==
Zeile 100: Zeile 130:
// UNVOLLSTÄNDIG
// UNVOLLSTÄNDIG


...
Welche Flags werden bei addcc gesetzt:
 
a) 0x7FFFFFFC + 0xC


0xFFFFFF9C + 0x6C
b) 0xFFFFFF9C + 0x6C


...
Welche Flags werden bei subcc gesetzt:


a) 0x0 - 0x80000000 =


b) 0x0 - 0xffff126 = [letzte Ziffer nicht ganz sicher]


...
...
 
0x7FFFFFFC + 0xC =
0x0 - 0x80000000


...
...


== Aufgabe 9 ==
== Aufgabe 9 ==
Assembler 1
( 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 ) ==
Assembler 2
( 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 129: Zeile 250:
Haupspeichergröße = 2^18
Haupspeichergröße = 2^18


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


Cacheblockgröße = 16
Cacheblockgröße = 16 Byte




In welchem Cacheblock werden die Werte folgender Adressen abgelegt:
In welchen Cachemengen werden die Werte folgender Adressen abgelegt:


a) 10101001001010
a) 01 0110 1010 0100 1010


b) 10101001011101
b) 10 1010 1010 0101 1101


c) 01010011101001
c) 11 0101 0100 1110 1001


d) 01111010111010
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:         Bit
Tag:             Bit
Index:       Bit
Index:           Bit
Offset:      Bit
Bytenummer:      Bit
</pre>
</pre>


[[Kategorie:Gedaechtnisprotokoll]]
[[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