Technische Informatik - Eine Einführung

Ähnliche Dokumente
Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Was ist die Performance Ratio?

Datenpfad einer einfachen MIPS CPU

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Datenpfad einer einfachen MIPS CPU

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Das Prinzip an einem alltäglichen Beispiel

Prinzipieller Aufbau und Funktionsweise eines Prozessors

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Arbeitsfolien - Teil 4 CISC und RISC

Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

L3. Datenmanipulation

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Einführung in die Systemprogrammierung

Technische Informatik 1 - HS 2017

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Technische Informatik 1 - HS 2016

3. Grundlagen der Rechnerarchitektur

9. Assembler: Der Prozessor Motorola 68000


Grundlagen der Rechnerarchitektur

ARM: Befehlssatz (Forts.)

Lösungsvorschlag zur 4. Übung

Data Hazards. Grundlagen der Rechnerarchitektur Prozessor 74

DIGITALE SCHALTUNGEN II

Neue Prozessor-Architekturen für Desktop-PC

Rechnernetze und Organisation

Technische Informatik 1 - HS 2016

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Systeme 1: Architektur

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Rechner Architektur. Martin Gülck

Teil 1: Prozessorstrukturen

Die Mikroprogrammebene eines Rechners

Computational Engineering I

Beispiele von Branch Delay Slot Schedules

Datenpfad einer einfachen MIPS CPU

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Übungsblatt 10 (Block C 2) (16 Punkte)

2.2 Rechnerorganisation: Aufbau und Funktionsweise

H E F B G D. C. DLX Rechnerkern

Tutorium Rechnerorganisation

Der Toy Rechner Ein einfacher Mikrorechner

, WS2013 Übungsgruppen: Di., Fr.,

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 14/15 1. J. Kaiser, IVS-EOS

Von-Neumann-Architektur

Computer-Architektur Ein Überblick

Teil 1: Prozessorstrukturen

Assembler am Beispiel der MIPS Architektur

Teil 1: Prozessorstrukturen

Quantitative Prinzipien im Hardwareentwurf. 1. Small is fast

10. Die Adressierungsarten des MSP 430

Assembler - Adressierungsarten

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Computational Engineering I

Instruktionssatz-Architektur

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Grundlagen der Informationsverarbeitung:

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Rechnerstrukturen 1: Der Sehr Einfache Computer

a) Erläutern Sie die Begriffe CISC und RISC. Worin liegen die Unterschiede zwischen diesen beiden Architekturen?

Heute nur MIPS-Praxis (4 Aufgaben)

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

Einleitung Performance Netzwerk Leistungsaufnahme Skalierbarkeit Sicherheit Zuverlässigkeit Kompatibilität. Ziele und Maße. Dr.-Ing.

Mikrocomputertechnik. Adressierungsarten

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Assembler Integer-Arithmetik

Hier: Soviele Instruktionen wie möglich sollen in einer Zeiteinheit ausgeführt werden. Durchsatz.

Was ist Rechnerleistung

2 Rechnerarchitekturen

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS

Vorlesung Rechnerarchitektur. Einführung

, SS2012 Übungsgruppen: Do., Mi.,

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Mikroprozessor als universeller digitaler Baustein

Tutorium Rechnerorganisation

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

Digitaltechnik und Rechnerstrukturen Lothar Thiele Institut für Technische Informatik und Kommunikationsnetze ETH Zürich 1.

Kapitel 11 RISC-Rechner

Brückenkurs / Computer

Kap 4. 4 Die Mikroprogrammebene eines Rechners

System-Architektur und -Software

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Modul Computersysteme Prüfungsklausur WS 2011/2012. Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

Legen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit!

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

RO-Tutorien 3 / 6 / 12

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Transkript:

Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe 1 (0 Punkte) Der Intel 8086-Prozessor erlaubt es, bis zu 2 20 Byte zu adressieren. Wieviele 16-Bit-Wörter können in einen entsprechenden Speicher abgelegt werden? Geben Sie die Zahl in dezimaler Schreibweise an! Aufgabe 2 (0 Punkte) Hinweis: Ein typischer Maschinenbefehl (z. B. Addition) ist eine Verknüpfung von zwei Operanden. Das Ergebnis dieser Operation wird in einem dritten Operanden abgelegt. Deshalb müsste ein Maschinenbefehl neben dem Operationscode in der Regel drei Operandenadressen enthalten. Da so konstruierte Befehle zu lang sind und der Speicherzugriff für alle drei Operanden zu langsam wird, sollten nach Möglichkeit die Operanden prozessornah in Registern gehalten weden. Bei einer Ein-Adress-Maschine gibt es ein spezielles Register, welches stets den zweiten Operanden enthält und in welches auch das Ergebnis geschrieben wird. Dieses Register heißt auch Akkumulator. Im Maschinenbefehl selbst wird neben dem Operationscode somit lediglich die Adresse eines Operanden angegeben. Gegeben ist eine Ein-Adress-Maschine mit einem Akkumulator. Weiterhin ist ein Speicher mit folgenden Belegungen gegeben: Adresse Inhalt 20 40 30 50 40 60 50 70 Welche Werte werden bei Ausführung der folgenden Befehle jeweils in den Akkumulator geladen. a) LOAD_IMMEDIATE 20 b) LOAD_DIRECT 30 c) LOAD_INDIRECT 20 1

Aufgabe 3 (0 Punkte) Gegeben ist ein Prozessor mit 32 Registern sowie einem festen Index- und einem festen Basis- Register. Der Prozessor beherrscht alle in der Vorlesung vorgestellten Adressierungsarten. Die Wortbreite beträgt 2 Byte und damit werden z. B. bei jedem Ladebefehl auch 2 Byte gelesen. Das höherwertige Byte steht an der kleineren Adresse. (z. B. steht an Adresse 1036 der Wert 4500). Alle Werte sind hexadezimal. In der nachfolgenden Tabelle sind die Belegungen der Register und des Speichers ausschnittsweise dargestellt. Registerbelegung Register Inhalt Indexregister 0001 Basisregister 102c Befehlszähler 1032 Register 8 1030 Speicherbelegung Speicheradresse Inhalt 1039 ae 1038 10 1037 13 1036 45 1035 46 1034 3f 1033 12 1032 32 1031 42 1030 07 000d 11 000c 23 000b 04 000a 28 0009 2a 0008 00 0007 22 Benennen Sie die verschiedenen Adressierungsarten, die in der Vorlesung vorgestellt wurden, und geben Sie den dezimalen Wert an, der für den Befehl Lade 8 jeweils geladen wird. Aufgabe 4 (0 Punkte) Nehmen Sie an, dass ein Prozessor einen Systemtakt von 100MHz hat. Wie lange dauert ein Taktzyklus? Geben Sie die Dauer eines Taktzyklus in Nanosekunden an! Aufgabe 5 (0 Punkte) In einem Prozessor wurde die Ausführungszeit einiger Operationen um den Faktor 3 beschleunigt. a) Wieviel Zeit benötigt ein Programm nach der Verbesserung, wenn es vorher 100 Sekunden zur Ausführung brauchte? Gehen Sie davon aus, dass 50 % der ausgeführten Befehle des Programms durch die Verbesserung beschleunigt werden und alle ausgeführten Befehle die gleiche Zeit benötigen. 2

b) Stellen Sie den bereits genutzten Zusammenhang zwischen Ausführungszeit t neu des Programms nach Verbesserung, Ausführungszeit t beeinflusst beeinflusst von der Verbesserung, Ausführungszeit t unbeeinflusst unbeeinflusst von der Verbesserung und Beschleunigung α der verbesserten Operationen in einer Formel dar. (Bemerkung: Es handelt sich hierbei um die Erste Version von Amdahls Gesetz.) Aufgabe 6 (0 Punkte) Das Amdahls Gesetz ist eine andere Darstellung für den Speedup, also der Beschleunigung. Der Speedup selbst gibt das Verhältnis zwischen Leistung vor Verbesserung und Leistung nach Verbesserung bzw. zwischen Ausführungszeit nach Verbesserung und Ausführungszeit vor Verbesserung an. Dabei soll eine Leistungssteigerung durch einen Speedup echt größer als 1 ersichtlich sein. a) Stellen Sie die Formel für den Speedup auf. b) Gesucht ist ein Benchmark-Programm, welches für die Verbesserung aus der vorigen Aufgabe einen Speedup von 2 anzeigt. Dabei nehmen wir an, dass das Benchmark vor der Verbesserung 100 Sekunden auf dem alten Prozessor läuft. Wieviel der anfänglichen Ausführungszeit muss durch die Verbesserung beeinflusst werden, um einen Speedup von 2 in diesen Benchmark zu erhalten? Aufgabe 7 (0 Punkte) Native MIPS steht für Native Millionen Instruction per Second und ist ein Maß für die Ausführungsgeschwindigkeit eines bestimmten Prozessors. Für ein bestimmtes Programm gilt: MIP S = Instructions ExecutionT ime 10 6 wobei die ExecutionT ime die Laufzeit dieses Programms und Instructions die Anzahl der für das Programm benötigten Befehle darstellen. CPI steht für Clock cycles per Instruction und gibt die benötigte Anzahl von Takten zur Ausführung eines bestimmten Befehles an. a) Stellen Sie den Zusammenhang zwischen MIPS, Clock Rate (Taktrate) und CPI rechnerisch dar. b) Für drei verschiedene Prozessoren seien für drei verschiedene Klassen von Befehlen folgende CPI-Werte gegeben: Klasse CPI CPI CPI Proz. 1 Proz. 2 Proz. 3 A 1 2 2 B 3 1 2 C 3 2 1 3

Zwei Compiler mit unterschiedlichen Optimierungen erzeugen für diese Prozessoren und den gegebenen Befehlsklassen folgenden Code: Anzahl der Befehle Klasse A Klasse B Klasse C Compiler 1 4 1 1 Compiler 2 8 1 1 Weiter sei eine Taktfrequenz von 100 MHz gegeben. Welcher Compiler erzeugt für Prozessor 1 den schnelleren Code bzgl. MIPS und welcher bzgl. der tatsächlichen Ausführungszeit? Erklären Sie den Grund für diesen Unterschied. Aufgabe 8 (0 Punkte) CP I (clock cycles per instruction) bezeichnet die Anzahl der benötigten Takte pro Befehl. Für mehrere Befehle läßt sich eine durchschnittliche CPI-Rate bestimmen. Ein Prozessor hat 3 Klassen von Befehlen C 1, C 2 und C 3 mit CP I C1 = 1, CP I C2 = 2, CP I C3 = 4 und arbeitet mit einer Taktfrequenz von 1 GHz. Nehmen Sie an, dass ein Algorithmus, der auf dem Prozessor ausgeführt wird, aus 3 10 6 Instruktionen der Klasse C 1, 1 10 6 Instruktionen der Klasse C 2 und 8 10 5 Instruktionen der Klasse C 3 zusammensetzt. a) Welche Zeit benötigt das Programm auf dem Prozessor? b) Wie ist der Zusammenhang zwischen MIPS (Native Million Instruction per Second) und CPI? Stellen Sie dies in einer Formel dar! c) Wie ändert sich der Wert bei Beschleunigung von CP I C3 auf 3? Aufgabe 9 (0 Punkte) Mit CPI (Clock cycles per Instruction) bezeichnet man die Anzahl der durchschnittlichen Taktzyklen für eine Klasse von Befehlen eines Prozessors. Für drei verschiedene Prozessoren seien für drei verschiedene Klassen A, B, C von Befehlen folgende CPI-Werte gegeben: Klasse CPI CPI CPI Proz. 1 Proz. 2 Proz. 3 A 1 2 2 B 3 1 2 C 3 2 1 Mittels verschiedener Optimierungen kann ein Compiler aus einem gegebenen Programm drei verschiedene Codesequenzen X, Y, Z mit folgender Anzahl von Befehlen einer Klasse erzeugen: 4

Sequenz Klasse A Klasse B Klasse C X 4 1 1 Y 2 1 3 Z 3 1 2 a) Für welche Codesequenz sollte sich der Compiler bei jedem einzelnen Prozessor entscheiden? b) Eine Maschine mit Prozessor 2 koste 15.000 Euro und eine Maschine mit Prozessor 3 koste 20.000 Euro. Welchen prozentualen Mindestanteil am Gesamtprogramm müsste die jeweils vom Compiler gewählte Codesequenz haben, d. h. wie oft muss die Codesequenz laufen, um Prozessor 3 gegenüber Prozessor 2 vorzuziehen? Gehen Sie dabei von folgenden Eckdaten aus: das Restprogramm wird auf allen Prozessoren mit 2 CPI ausgeführt geplante Nutzungsdauer sei 3 Jahre (jeweils 365 Tage) Bewertung von 1 Milliarde zusätzlichen ausgeführten Befehlen mit 1 Cent die Prozessoren arbeiten mit einer Taktfrequenz von 400 MHz Aufgabe 10 (0 Punkte) Es sollen 1000 Briefumschläge mit jeweils 4 Dokumentseiten an die Mitglieder einer Organisation verschickt werden. Im einzelnen werden folgende Arbeitsschritte in einem vierstufigen Fließband durchgeführt: Kopieren Heften In den Stempeln, mit einem = und = Umschlag = Adressieren, Kopiergerät Falten stecken Frankieren T 1 = 10 s T 2 = 5 s T 3 = 5 s T 4 = 15 s a) In welchen Zeitabständen wird ein neuer Brief fertiggestellt? b) Nach welcher Zeit sind 1000 Briefe fertiggestellt? c) Wieviel Zeit wäre ohne Fließbandverarbeitung notwendig gewesen? d) Welche Beschleunigung wurde durch die Fließbandverarbeitung erzielt? Aufgabe 11 (0 Punkte) Probleme beim Pipelining Ein fiktiver Prozessor mit fünf Registern 1,..., 5 besitzt einen Datenpfad, unterteilt in die fünf Phasen einer Pipeline: Instruction Fetch Instruction Decode / Register File Read Execute / Address Calculation 5

Memory Access Write Back Jede dieser Stufen hat eine Ausführungszeit von 5 ns. Gegeben sei für diesen Prozessor (in SPIM-Syntax) der Programmcode.data var0:.word 0 var1:.word 1 abbruch:.word 5.text main: lw $1, var0 lw $2, var1 lw $4, abbruch add $3, $2, $1 loop: sll $2, $1, 1 add $3, $2, $3 ble $2, $4, loop a) Was berechnet dieses Programm? b) Geben Sie an, wie die Pipeline des Prozessors nach jedem Takt belegt ist. c) Welche Ausführungzeit hat das Programm im günstigsten Fall? Aufgabe 12 (0 Punkte) Gegeben sei folgendes Programm in MIPS-Assembler. # # Fibonacci # Berechnung Kaninchenpaare nach 12 Monaten #.text main: countloop: li $t4, 1 # Schleifenzaehler li $s1, 12 # Ende nach 12 Monaten li $t2, 0 # F(n) = 0 li $t3, 1 # F(n+1) = 1 # Schleife move $t1, $t2 # F(n) => F(n-1) move $t2, $t3 # F(n+1) => F(n) add $t3, $t1, $t2 # F(n+1) = F(n) + F(n-1) addi $t4, $t4, 1 # Zaehler++ ble $t4, $s1, countloop # bis Zaehler >= Ende 6

# Ausgabe # Ende li $v0, 1 # print_int F(n+1) move $a0, $t3 syscall li $v0, 10 # end syscall Welche Daten- bzw. Control-Hazards werden von diesem Programm verursacht, wenn man eine Pipeline des MIPS R2000-Prozessors voraussetzt, und kein Bypassing (d. h. keine Forwarding-Unit) genutzt werden kann. Wie könnten Sie das Programm verändern, um Hazards zu vermeiden. Stellen Sie es entsprechend um, wieder unter der Annahme, dass Bypassing nicht möglich ist. Aufgabe 13 (0 Punkte) a) Was bedeuten die beiden Abkürzungen CISC und RISC? b) Nennen Sie vier Unterschiede zwischen CISC- und RISC-Rechnern. c) Geben sie an, welche der folgenden Rechner CISC- bzw. RISC-Rechner sind? Rechner Power PC x86 SPARC Pentium 4 Hersteller Motorola, Appel, IBM Intel SUN Intel Aufgabe 14 (0 Punkte) Gegeben sei ein RISC-Prozessor mit 32 Bit Instruktionswortlänge, 256 verschiedenen ALU- Befehlen sowie einer Drei-Adress-Architektur, d. h. alle Maschinenbefehle können bis zu drei Operanden (Registeradressen) enthalten. Wieviele Register kann der Registersatz maximal enthalten, damit alle vorhandenen Register in allen ALU-Befehlen adressiert werden können? Aufgabe 15 (0 Punkte) Beantworten Sie folgende Verständnisfragen: a) Warum werden Cache-Speicher verwendet und wo werden diese im Rechner eingesetzt? b) Was sind charakteristische Eigenschaften einer RISC-Architektur? c) Warum benötigen RISC-Rechner mehr Register als CISC-Rechner? 7