Title | Klausur2010WSmitloesungen |
---|---|
Course | Rechnerarchitektur |
Institution | Hochschule Darmstadt |
Pages | 9 |
File Size | 428.8 KB |
File Type | |
Total Downloads | 168 |
Total Views | 485 |
Warning: Unimplemented annotation type "FreeText", falling back to base annotation. Warning: Unimplemented annotation type "FreeText", falling back to base annotation. Warning: Unimplemented annotation type "FreeText", falling back to base annota...
Klausur: Rechnerarchitektur, am 01.02.2010
Gruppe:
A
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
Nachname:
Vorname:
Anzahl Anlagen: Punkte:
( Klausur NICHT werten (Î Note 5 )
(max = )
Matr.-Nr.: )
Unterschrift:
Note:
Hiermit bestätige ich, dass ich das Praktikum bestanden habe: ____________________________ Zugelassene Hilfsmittel: 1 Blatt DIN A4 handschriftlich, ARM Quickreferenz ausgedruckt
Aufgabe 1 (8 Punkte): Gegeben sei die 8 Bit Binärzahl
B=10001011
a) Welchem Dezimalwert entspricht diese Binärzahl in 2K Darstellung? 01110101 (2K) = -117 b) Welches ist die größte darstellbare Dezimalzahl in 8 Bit 2K Darstellung? 01111111 = > 127 c) Welches ist die kleinste darstellbare Dezimalzahl in 8 Bit 2K Darstellung? 10000000 => -128 d) Welche Flags können Sie nach einer compare -Operation zweier unsigned-Arithmetik Zahlen sinnvoll auswerten? Zero, Carry
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
1/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
A
Vorname:
Nachname:
Aufgabe 2 (34 Punkte): 1. Konstruieren Sie eine Operation move immediate to accu movi #imm, die einen immediate Wert, der als 16 bit Konstante im nächsten Wort hinter dem opcode des Befehls steht, in den Accu überträgt. Beachten sie, dass der ProgramCounter im Mu0-2 immer schon einen Schritt weiter zeigt. 2. Konstruieren sie danach den Befehl str acc, [sp, #imm], der den Wert des Akkumulators an die Adresse sp+immed speichert. Auch hier steht der immediate Wert als 16 Bit Konstante hinter dem Opcode. Sie dürfen den Accu als Zwischenspeicher benutzen. Tragen Sie dazu die symbolische Beschreibung der Schritte ein und skizzieren Sie anschließend die Phasen im Datenpfadmodell. Schließlich füllen Sie bitte die Schaltmatrix aus. Den Fetchzyklus brauchen sie nicht zu berücksichtigen, er wurde jeweils vorher ausgeführt. Symbolische Beschreibung der Schritte (Beispiel A = Din) des Befehls movi #imm Schritt Nummer
Beschreibung
1) Din = [PC] 2) Acc = Din Symbolische Beschreibung der Schritte (Beispiel A = Din) des Befehls str acc, [sp, #imm] Schritt Nummer 1 2
Beschreibung 1) Dout = Acc 2) Acc = IR+SP 3) [Acc] = Dout
3 4
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
2/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
A
Vorname:
Nachname:
Informationsfluss im Datenpfadmodell für Befehl movi:
Data Data Out Out
MU0-2 MU0-2 Datenpfad Datenpfad
Adress Adress
Dout
A
0
ALU
MU0-2 MU0-2 Datenpfad Datenpfad
Data Data Out Out
Adress
Dout
1
IR
PC
SP
A
Data Data In In
Din
A
A
1
IR
PC
SP
B
0
Data Data In In
ALU
Din
B
Timing/Control
Timing/Control
Steuermatrix für Befehl movi
h_da/fbi
KlausurWS_09_10-RA-7.odt
R/nW
MEMrq
ALU Function
DOUToe
DOUTie
Kommentar
DINoe
DINie
SPoe
Spie
IRoe
Irie
PCoe
Pcie
Aoe
Aie
Adress
step
ACC15
ACCz
111101
Outputs
step
mvi
Reset
Instruction
Opcode
Inputs
ver: 0.02
3/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
A
Vorname:
Nachname:
Informationsfluss im Datenpfadmodell für Befehl str acc, [sp, #imm]: Data Data Out Out
MU0-2 MU0-2 Datenpfad Datenpfad
Adress Adress
Dout
A
ALU
MU0-2 MU0-2 Datenpfad Datenpfad
Data Data Out Out
Adress Adress
Dout
1
IR
PC
SP
A
0
Data Data In In
Din
A
0
A
1
IR
PC
SP
B
Data Data In In
ALU
Din
B
Timing/Control
Timing/Control
Steuermatrix für Befehl str acc, [sp, #imm]
str Acc, [Sp, #imm]
R/nW
MEMrq
ALU Function
DOUToe
DOUTie
DINoe
Kommentar
DINie
SPoe
SPie
IRoe
IRie
PCoe
PCie
ACCoe
ACCie
Adress
step
ACC15
ACCz
Outputs
step
Reset
Instruction
Opcode
Inputs
111110
Abkürzung
Erklärung
Abkürzung
Erklärung
ACCie
Accumulator input enable
ACCoe
Accumulator output enable
IR
Instruction Register
SP
Stackpointer Register
PC
Program Counter Register
Reset
Eingang um Prozessor zu resetten
step
Micro Program Counter, sowohl Eingang als Opcode auch Ausgang
Befehlskodierung
Adress
Einstellung des Adressmultiplexers (0, 1, x)
ACCz
Zero Status des Accumulators
ALU
Funktion der ALU
ACC15
Negativ Bit des Accumulators
Din
Eingangsregister vom Datenbus
Memrq
Zugriff auf Speicher 0=nein, 1= ja
Dout
Ausgangsregister auf den Datenbus
R/nW
Read / not Write: 1 bei Lesen, 0 bei Schreiben, x wenn nicht gebraucht
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
4/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
Nachname:
A
Vorname:
Aufgabe 3 (18 Punkte): a) Skizzieren Sie das prinzipielle Blockschaltbild einer MMU mit TLB
b) Beschreiben Sie die prinzipiellen Merkmale und Funktion einer MMU mit TLB. Erläutern Sie dabei auch die Funktion des TLB.
c) welche Situationen können beim Lesen einer gewünschten Speicheradresse auftreten, erläutern Sie ?
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
5/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
Nachname:
A
Vorname:
d) Welche Kapazität benötigt die Seitentabelle, wenn der virtuelle Adressraum 4 Gbyte groß sein soll und die Kachelgröße 4 kByte sein soll ?
e) Was versteht man unter einem voll assoziativen Assoziativspeicher?
f) Direkt abbildendem Cache?
g) N -Wege mengenassoziativem Cache?
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
6/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
Nachname:
A
Vorname:
Aufgabe 4 (20 Punkte): Ergänzen sie in folgendem Programm den Code, der zu den Kommentaren gehört. Das Programm word2string wandelt eine 32 Bit Zahl in einen String aus ASCII Nullen und Einsen mit abschließendem Stringende. Der Funktion und in übergeben. Als steht . word2string: mov r2, #0x30
@ speichere 0x30 ('0') in r2
mov r3, #0x31
@ speichere 0x31 ('1') in r3
mov ip, #32
@ speichere 32 in ip
mov c r1, r1 lsl #1
@ schiebe r1 um eine Position nach links und speichere das Bit im Carry Flag
loop:
strbhs r3, [r0], #1
@ wenn das Carry Bit gesetzt ist, speichere den Inhalt von r3 als Byte an der Adresse auf die r0 zeigt und erhöhe danach r0 um 1
strblo r3, [r0], #1
@ wenn das Carry Bit nicht gesetzt ist, speichere den Inhalt von r3 als Byte an der Adresse auf die r0 zeigt und erhöhe danach r0 um 1
subs ip, ip, #1
@ ziehe von ip 1 ab speichere das Ergebnis in ip und setze die Statusbits
bne loop
@ wenn das Ergebnis ungleich 0 war, springe zum Label loop @ speichere ein String-Endezeichen auf die Adresse, auf die r0 zeigt. In welchem Register finden sie ein String-Ende?
bx lr
h_da/fbi
@ springe zurück ins Hauptprogramm
KlausurWS_09_10-RA-7.odt
ver: 0.02
7/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
Nachname:
A
Vorname:
Aufgabe 5 (20 Punkte): 1. Zeichnen Sie für die folgenden Befehle die Position der Registerinhalte im Speicher. Vor Beginn des Befehls zeigt das Adressregister rx (Registernummer für x angeben) auf ’Adr’. Markieren Sie ebenfalls die Position im Speicher, auf welches das Adressregister nach Ausführung des Befehls zeigt.
a) STMIA r1, {r2,r4,r6}
b) STMDB r1, {r2,r4,r6}
c) LDMIA r1!, {r2,r4,r6}
d) LDMDB r1!, {r2,r4,r6}
2. Welche der unter a) – d) gezeigten Befehle passen zueinander, um einen voll absteigenden Stack zu realisieren?
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
8/9
Klausur: Rechn chnerarchitektur erarchitektur, am 01.02.2010
Gruppe:
Gerhard Raffius, Günther Fröhlich, Joachim Wietzke, Ralf Mayer, h_da, Fb Informatik
A
Vorname:
Nachname:
3. Was sagt der APCS Standard bezüglich der folgenden Fragen aus? Antworten Sie stichwortartig. 1. Wie erfolgt Parameterübergabe an Unterprogramme? r0-r3
2. Wie erfolgt die Rückgabe eines Wertes aus einem Unterprogramm (return)?
3. Welche Register darf das Unterprogramm verändern?
4. Welche Register darf das Unterprogramm nicht verändern?
5. Auf welche Weise kann das Unterprogramm sicherstellen, dass am Ende seiner Ausführung Register unverändert sind?
h_da/fbi
KlausurWS_09_10-RA-7.odt
ver: 0.02
9/9...