FINAL 07 2 Juli Winter 2018/2019, Fragen und Antworten PDF

Title FINAL 07 2 Juli Winter 2018/2019, Fragen und Antworten
Course Rechnerarchitektur
Institution Hochschule Darmstadt
Pages 15
File Size 1.1 MB
File Type PDF
Total Downloads 102
Total Views 1,019

Summary

Warning: TT: undefined function: 32Klausur: Rechnerarchitektur WS 18/19, am 01. 02. 19Prof. A. Müller, Dr. S. BerningerNachname: Vorname: Matr.-Nr.: ___Punkte: (max = 110) Note:Aufgabe 1(7) 2 (16) 3(15) 4(15) 5(20) 6(12) 7(16) 8(9) Summe()PunkteAufgabe 1 (7 Punkte):Grundbegriffe und Verständnisfrage...


Description

Klausur: Rechnerarchitektur WS 18/19, am 01. 02. 19 Prof. A. Müller, Dr. S. Berninger

Nachname:

Vorname:

Punkte: Aufgabe

(max = 110) 1(7)

2 (16)

Matr.-Nr.:

___

Note: 3(15)

4(15)

5(20)

6(12)

7(16)

8(9)

Summe()

Punkte

Aufgabe 1 (7 Punkte): Grundbegriffe und Verständnisfragen zur Rechnerarchitektur Ermitteln Sie die korrekte Antwort (nur eine Antwort pro Frage ist möglich)!

Bsp Beispielaufgabe: 0

Was kennzeichnet ein Register? a) Enthält nur Daten, keine Adressen b) Ermöglicht schnelleren Zugriff als auf Hauptspeicher c) Input und Output werden vom Steuerwerk en- bzw. disabled d) Register sind in einem Prozessor immer in der gleichen Anzahl wie ALUs vorhanden

Antworten: 0.1 alle Antworten sind richtig 0.2 nur a), b) und c) sind richtig 0.3 keine Antwort ist richtig 0.4 nur b) und c) sind richtig 1

Lösung: 0.4

Ordnen Sie die Speicherarten nach ihrer Geschwindigkeit, die schnellste zuerst: a) Hauptspeicher, Level 2 Cache, Level 1 Cache, Register b) Level 2 Cache, Hauptspeicher, Hard disk c) Register, Level 1 Cache, Level 3 Cache, Hauptspeicher Antworten: 1.1 nur b) ist richtig 1.2 nur b) und c) sind richtig 1.3 nur c) ist richtig 1.4 nur a) ist richtig

2

h_da/fbi

Lösung:

Was kennzeichnet die von-Neumann-Architektur?

Klausur_WS18_19_V11_oL

ver: 0.01

1 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

a) Befehle und Daten liegen in einem gemeinsamen Speicher b) Gemeinsamer Daten- und Adressbus c) Während des Befehlsfetch können keine Datenzugriffe im Speicher stattfinden Antworten: 2.1 2.2 2.3 2.4. 3

Lösung:

nur a) und b) sind richtig nur a) ist richtig nur a) und c) sind richtig nur b) und c) sind richtig

Wieviele Takte benötigt die vollständige Abarbeitung von 10 Befehlen bei einer 5-stufigen Pipeline ohne stall? a) 10 b) 14 c) 15 d) 5 Antworten: 3.1 3.2 3.3 3.4

4

Lösung:

nur a) ist richtig nur b) ist richtig nur c) ist richtig nur d) ist richtig

In welcher Reihenfolge entstanden die folgenden Rechner/Prozessoren: Antworten:

Lösung:

4.1 4.2 4.3

Zuse Z3, Babbage engine, Intel 8086, ENIAC, ARM Cortex 53 Babbage engine, Zuse Z3, ENIAC, Intel8086, ARM Cortex 53 Zuse Z3, ENIAC, Intel8086, Babbage engine, ARM Cortex 53

4.4

Babbage engine, Zuse Z3, ENIAC, ARM Cortex 53, Intel8086

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

2 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

5

___

Vorname:

Worauf beruhten moderne Prozessoren im Jahr 2018: a) Transistoren b) Elektromechanischen Relais c) Röhren d) Staffelwalzen Antworten:

6

5.1

nur a) und c) sind richtig

5.2 5.3 5.4

nur a) ist richtig nur b) ist richtig nur a) und b) ist richtig

Lösung:

Alle Aktivitäten des Steuerwerks und der CPU folgen einem gemeinsamen __________. Antworten:

7

6.1

Sprungverhalten

6.2

Pipelining

6.3

Takt

6.4

Multithreading

Lösung:

Welche Verdrängungsstrategie(n) verwenden Sie, wenn Sie das Element im Cache ersetzen wollen, das sich bereits am längsten darin befindet? a) Least recently used b) First in first out c) Least frequently used (LFU) d) Random Antworten: 7.1

nur a) und c) sind richtig

7.2 7.3 7.4

nur b) ist richtig alle Antworten sind richtig nur a) ist richtig

h_da/fbi

Lösung:

Klausur_WS18_19_V11_oL

ver: 0.01

3 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 2 (16 Punkte): ARM Assembler Programmierung Sehen Sie sich die hier angegebene Lösung für die Funktion calc_modulo () für den ARM7 an, und deren Aufruf aus der Testfunktion testfall27_modulo() . int testfall27_modulo () { int test_ok=1; // true int result=0; int a=27; int b=4; result = calc_modulo (a, b); if (3 != result) { test_ok=0; // false } return (test_ok);

calc_modulo: STMDB SP!, {R0-R3, LR} MOV R4, R0 MOV R5, R1 Loop: CMP R4, #0 BGT Dec ADD R4, R4, R5 LDMIA SP!, {R0-R3, LR} Back: BX LR Dec: SUB R4, R4, R5 B Loop

}

a) Welchen (inkorrekten!) Wert hat result in der Funktion testfall27_modulo() nach Rückkehr aus der Funktion calc_modulo()? result = ………….

1 Punkt

Zeigen Sie den Stackinhalt auf unmittelbar vor Verlassen der Funktion calc_modulo() (bei der Marke Back), und zeichnen Sie ein, wohin in diesem Moment der Stackpointer zeigt.. Geben Sie im Stack die Werte und das gespeicherte Register an, nutzen Sie für unbekannte Werte „n.n.“! Stack:

h_da/fbi

6 Punkte

Klausur_WS18_19_V11_oL

ver: 0.01

4 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

b) Benennen Sie die Verstöße gegen die APCS (Procedure Call Standard for ARM Architecture) und geben Sie jeweils einen Korrekturvorschlag an. 4 Punkte

c) Optimieren Sie die gegebene Lösung in Hinsicht Codegröße und Laufzeit. Die Vorgaben der APCS sind auch dabei zu befolgen.

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

5 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 3 (15 Punkte): Pipeline, Hazards Betrachten Sie einen Prozessor mit einer fünfstufigen Pipeline (Befehl holen, Befehl dekodieren, ALU, Speicherzugriff, Register schreiben), der Forwarding (Bypassing) unterstützt. Skizzieren Sie für Teilaufgabe a) den Pipelinedurchlauf der jeweiligen Folgebefehle in das Taktraster. Prüfen Sie, ob Forwarding zur Konfliktvermeidung sinnvoll ist, und tragen Sie ggf. das Forwarding-Register an den/die Folgebefehl(e) durch einen Pfeil ein. Sofern die Pipeline angehalten werden muss (stall), skizzieren Sie dies mit einem Kreis. Sie können die Pipeline vereinfacht zeichnen. a)

8 Punkte

SUB R2, R2, R0

ADDS R0, R2, #-4

LDR R2, [R0, #4] !

STR R2, [R0, #4]

b) Nach welchen Pipelinestufen ist bei einer fünfstufigen Pipeline ein Forwarding überhaupt sinnvoll? 2 Punkte

c) Wieviel Bit benötigen Sie für eine Branch History Table, die 100 Programm-Befehle abdeckt? 1 Punkt

d) Welche Informationen enthält ein Branch Target Buffer? 1 Punkt

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

6 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

e) Womit wird ein Branch Target Buffer adressiert?

f)

1 Punkt

Welche Möglichkeiten haben Sie, die Wahrscheinlichkeit auftretender Steuerungskonflikte zu reduzieren? 2 Punkte

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

7 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 4 (15 Punkte): ARM: Condition Code Bits im Statusregister Die Vorbelegung folgender Register ist gegeben: R0 = 79 10 *2 24, R1 = 116 , R2=231, R3 = 232 -1, R4= -110 , NZCV = 0000 Notieren Sie die Condition Code Bits nach Ausführung des jeweiligen Befehls. Vor jedem Befehl gilt die Registerbelegung aus der Angabe, inkl. NZCV.

Befehl

Hexwert des Registers Hex-Wert R5

ADDS R5, R0, R0

R0=

SUB R5, R1, R0

R1=

EORS R5, R2, R2

R2=

TST R3, R3, LSL #1

R3=

CMN R2, R4

R4=

h_da/fbi

Klausur_WS18_19_V11_oL

15 Punkte

NZCV

ver: 0.01

8 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 5 (20 Punkte): MU1 Mit der MU1 soll eine Stackmachine realisiert werden, vergleichbar dem hp-Taschenrechner mit umgekehrt polnischer Notation (Praktikum 1). Realisieren Sie den Befehl Duplicate (DUP) für den Befehlssatz des MU1-Prozessors. DUP nimmt den obersten Wert des Stacks und schreibt ihn als Top of Stack erneut auf den Stack. höhere Adressen

niedere Adr.

a) Skizzieren Sie den Informationsfluss im Datenpfadmodell für die Ausführung des DUP Befehls einschließlich des Fetch Zyklus. (5 Punkte) b) Geben Sie die Steuerinformationen für die Register sowie Multiplexer, Speicher, Alu etc. sowie den Mikrocode für den Befehl DUP in der nachfolgenden Tabelle an. [Beispiel: Mikrocode für einen Register-Transfer: A = DIN] (10 Punkte, 5 Bits +5 Mikrocode) c) Können Sie den DUP Befehl auch in einer MU1 mit dem bestehenden Standardbefehlssatz abbilden? Falls ja, welche Befehlssequenz der Standard MU1 entspricht dem DUP? (3 Punkte)

d) Welches Performanz-Verhältnis hat die direkte Realisierung des DUP Befehls im Vergleich zur Standard MU1 Befehlen? Bitte in Taktzyklen angeben. (2 Punkte)

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

9 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

DUP

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

10 / 15

Klausur: Rechnerarchitektur am 02.07.18

MEMrq RnW

Beschreibung

Opcode /Reset Step (actual) ACCZ / Zero ACC15 / Negativ Step (next) Adress ACCoe ACCie PCoe PCie IRoe IRie SPoe SPie DINoe DINie DOUToe DOUTie

Outputs

Microcode in mathematischer Schreibweise

1001

Instruction

Inputs

DUP

___

Vorname:

ALU Function

Nachname:

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 reseten

DIN

Data-In Register

Opcode

Befehlskodierung

DOUT

Data-Out Register

ACCZ/Zero

Zero Status des Accumulators

Adress

Einstellung des Adressmultiplexers ACC15/Neg (0, 1)

Negativ Bit des Accumulators

ALU

Funktion der ALU

MEMrq

Zugriff auf Speicher 0=nein, 1= ja

Step (next, actual)

Micro Program Counter, sowohl Eingang als auch Ausgang

RnW

Read / not Write: 1 bei Lesen, 0 bei Schreiben, 1 oder x, wenn nicht gebraucht

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

11 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 6 (12 Punkte ): ARM Load/Store und Stack In folgender Tabelle ist ein Speicherauszug dargestellt (Endianness: Little). Welchen Inhalt haben die Register nach Ausführung der jeweiligen Befehle? Vor jedem Befehl ist R13 = 0x8000: Adresse

Inhalt

0x8010

0x4711

0x800c

0x5678

0x8008

0x1234

0x8004

0xFF

0x8000

0xEE

0x7ffc

0xDD

0x7ff8

0xCC

0x7ff4

0xBB

0x7ff0

0xAA

a)

c)

LDMIB R13!, {R3, R4, R7}

b)

LDMDB R13, {R3, R4, R7}

R3

R3

R4

R4

R7

R7

R13

R13

POP {R3, R4, R7}

d)

LDRB R3, [R13,#13]

R3

R3

R4

R13

R7 R13

e)

LDR R3, [R13],#-12 R3 R13

f)

LDRSB R3, [R13, #-12]! R3 R13

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

12 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 7 (16 Punkte): Cache Gegeben seien die Lesezugriffe in den 2 folgenden Tabellen verschiedener Cachearten (linke Spalte der Tabelle). Der Cache umfasst insgesamt 4 Datenelemente. Dieser Cache ist entweder direkt abgebildet (a), oder satzassoziativ (b) organisiert. Eine Cachezeile entspricht einem einzigen Datenwort. Tragen sie jeweils in die Tabelle den neuen Tagwert hexadezimal ein. Bei Tabelle b) gilt zusätzlich die Ersetzungsstrategie Least Recently Used (LRU). a) (8 Punkte) (jeweils 1 Punkt pro Zeile) hexadezimaler Inhalt des Tagspeichers nach dem Zugriff

Direkt abgebildeter Cache Adresse des Speichers 0x47

binäre Adresse 0100 0111

Treffer (ja/nein) n

Tag/Index 0

Tag/Index 1

Tag/Index 2

Tag/Index 3 0x11

0x17 0x23 0x17 0x10 0xC 0xD 0x10 0x26 b) (8 Punkte) (jeweils 1 Punkt pro Zeile) Satz-assoziativer Cache Adresse des binäre AdSpeichers resse 0x47

0100 0111

hexadezimaler Inhalt des Tagspeichers nach dem Zugriff Treffer (ja/nein)

Tag/Satz 0

Tag/Satz 0

n

Tag/Satz 1

Tag/Satz 1

0x23

0x17 0x23 0x17 0x10 0xC 0xD 0x10 0x26

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

13 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

___

Vorname:

Aufgabe 8 (9 Punkte (je 0,5) ): Lückentext Die Flags des Statusregisters werden nur bei den ______ und ________- Befehlsgruppen automatisch gesetzt. Alle anderen Befehle müssen die Statusbits explizit setzen (bleiben ansonsten weiter erhalten). Dazu ist ein __ an den Befehl anzuhängen. Jeder Befehl kann __ ______ ausgeführt werden. Dazu wird die __________ (vorher gesetzte Werte des Statusregisters) als Ergänzung an den Befehl angehängt. Der ARM-Prozessor unterstützt Befehlstypen zur Datenverarbeitung (z.B. ______________, ______________), Ablaufsteuerung (z.B. ___________) und zur Speicheradressierung (z.B. _______/ ________) Laut APCS Konvention sind die Register _____ bis _____ Übergaberegister. Das Register _____ wird als Rückgaberegister (32 Bit) verwendet. Entsprechend sind diese Register sogenannte ________- Register. Zu diesem Registertyp gehört auch noch das Register _____. Alle anderen Register sind sog. ___________-Register. Letztere müssen beim Eintritt in eine Routine auf dem ________ gesichert werden und bei der Rückkehr restauriert werden. Für die Eintritts- und Austrittsroutine kommen in der Regel die Befehle ________ und ________ zum Einsatz.

h_da/fbi

Klausur_WS18_19_V11_oL

ver: 0.01

14 / 15

Klausur: Rechnerarchitektur am 02.07.18

Nachname:

h_da/fbi

___

Vorname:

Klausur_WS18_19_V11_oL

ver: 0.01

15 / 15...


Similar Free PDFs