Übungen zu Grundlagen der Rechnerarchitektur und -organisation (ÜGRa) Aufgabenblatt 07 Ausgabe: 2016-06-13 Abgabe: 2016-06-27 Aufgabe 1: Die MIPS-Architektur ist eine typische Register-Register-Architektur mit RISC-Befehlssatz. MARS Im StudOn finden Sie eine Befehlsreferenz sowie den Simulator MARS. a) Machen Sie sich mit der Assembler-Syntax und dem Simulator vertraut. b) Portieren Sie die folgende Funktion auf die MIPS-Architektur und simulieren Sie sie. 1. i n t e l _ s y n t a x n o p r e f i x 2.data 3 v a l u e s : 4. l o n g 9, 4, 2, 1, 6, 8, 1 1, 3, 1 2, 1 0, 5, 7 5 length : 6. l o n g 12 7 8. t e x t 9. g l o b l main 10 main : 11 c a l l s o r t 12 mov eax, 0 13 ret 14 15 s o r t : 16 push ebx 17 mov eax, 0 18 jmp.lcondouter 19. L o u t e r : 20 mov ecx, eax 21 jmp. LcondInner 22. L i n n e r : 23 mov edx, v a l u e s [0+eax 4 ] 24 mov ebx, v a l u e s [0+ecx 4 ] 25 cmp edx, ebx 26 jg.lswap 27 jmp. L s k i p 28.Lswap : 29 mov v a l u e s [0+eax 4 ], ebx 30 mov v a l u e s [0+ecx 4 ], edx 31. L s k i p : 32 add ecx, 1 33. LcondInner : 34 cmp ecx, length 35 j l. L i n n e r 36 add eax, 1 37.LcondOuter : 38 cmp eax, length 39 j l. L o u t e r 40 pop ebx 41 ret ÜGRa 1 Informatik 3, FAU
Aufgabe 2: a) Worin unterscheiden sich SRAM und DRAM? Arbeitsspeicher b) Wie sind DRAM-Speichermodule für PCs aufgebaut? Wie unterscheiden sie sich von DDR, DDR2, DDR3-SDRAM? Welche Taktraten können im Kontext von (DDRx-)SDRAM unterschieden werden? c) Was versteht man unter einem Burst-Zugriff? d) Was versteht man unter Speicherverschränkung (Memory Interleaving) und wozu dient sie? Aufgabe 3: Ein einfacher paralleler Bus enthalte 32 Adressleitungen, 64 Datenleitungen, sowie die Steuerleitungen MR, MW, IOR, IOW, INT. An diesen Bus können Speicherbausteine und/oder I/O-Komponenten angeschlossen werden. Bus a) Was ist die maximale Größe an Speicher in Byte, der hierbei genutzt werden kann? Unterscheiden Sie dabei byteweise und wortweise Adressierung. b) An den Bus seien CPU, RAM, ROM und ein Tastaturcontroller angeschlossen. Überlegen Sie sich, ob die Busleitungen jeweils Eingang und/oder Ausgang aus Sicht der betreffenden Komponente sind, oder ob eine Komponente eine Leitung gar nicht benötigt. Skizzieren Sie den Aufbau. Aufgabe 4: a) Was versteht man unter Memory Mapped IO, was unter Isolated IO? Worin unterscheiden sich beide Varianten im Hinblick auf den physikalischen Aufbau des Busses? b) Warum ist es für die verwendete Aktualisierungsstrategie des Caches relevant, welche Adressierung zum Einsatz kommt? c) Welche Variante wird in der Realität verwendet? Aufgabe 5: Welche Möglichkeiten gibt es, Daten zwischen CPU und Speicher bzw. Peripherie zu übertragen? ÜGRa 2 Informatik 3, FAU
Bonusaufgaben: Aufgabe 6: 15 Punkte Laden Sie die Datei lena.asm aus StudOn. Sie enthält ein 64 64-Graustufenbild (Label lena) 1 und die Routinen START, INIT, FILTER_H und FILTER_V. MARS a) In welchem Adressbereich (Anfang, Ende) im Hauptspeicher befindet sich das Eingabebild? 1 P unkt b) Mittels Tools Bitmap Display kann Speicherinhalt grafisch angezeigt werden. Die einzelnen Bytes eines 4-Byte Datenwortes im Speicher werden als Farbinformation für Rot, Grün und Blau interpretiert. Die Routine INIT kopiert die Farbinformation zu Beginn auf alle Kanäle, um das Graustufenbild richtig darzustellen. Stellen sie die Pixelgröße jeweils auf 4, und die Display-Größe auf 256 1024. Vergessen Sie nicht, auf Connect to MIPS zu drücken. Nachdem das Programm durchgelaufen ist, sollten Sie folgendes Bild sehen: 1 http://de.wikipedia.org/wiki/lena_(testbild) ÜGRa 3 Informatik 3, FAU
Das obere Bild zeigt die Eingabe, das Mittlere das Zwischenergebnis nach Durchlauf von FILTER_H und das Untere das Endergebnis nach FILTER_V. Erklären Sie das Zustandekommen der Ergebnisbilder anhand des Programms! Gehen Sie dabei darauf ein, was in den Routinen FILTER_H und FILTER_V passiert, und beschreiben Sie die Auswirkungen auf das Bild. Was geschieht an den Rändern? Warum? 4 P unkte c) Mittels Tools Data Cache Simulator (Abb. 1) kann die Effizienz eines parametrierbaren Caches simuliert werden. Ermitteln Sie für einen direktabbildenden, einen 2-fach und einen 4-fach asoziativen Cache, jeder mit 8 Blöcken und 8 Datenworten pro Block, Ersetzungsstrategie LRU, die Hit-Rate, jeweils einzeln für jede aufgerufene Funktion ( INIT, FILTER_H, FILTER_V)! Nutzen Sie dazu entweder Breakpoints, die Sie durch Setzen des Hakens im Execute- Fenster gezielt aktivieren können oder kommentieren Sie die anderen Funktionsaufrufe aus. 3 P unkte Abbildung 1: Data Cache Simulator ÜGRa 4 Informatik 3, FAU
d) Erklären Sie die Ursache der einzelnen Hit-Raten konkret anhand des Caches und der Speicherzugriffsmuster der Funktionen. Überlegen Sie sich dazu, wie eine bzw. benachbarte Bildzeilen auf die Cache-Blöcke verteilt werden. Tools Memory Reference Visualization (Abb. 2) kann außerdem bei der Analyse hilfreich sein. 7 P unkte Abbildung 2: Memory Reference Visualization ÜGRa 5 Informatik 3, FAU