Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 1
Vorlesung Grundlagen der
Rechnerarchitektur und -organisation
WS 2011/12
Dietmar Fey
Lehrstuhl für Informatik 3 - Rechnerarchitektur
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 2
Organisatorisches
Organisatorisches Übungen
Übung
2 Übungsgruppen:
• Mo 14:15 - 15:45 07.150 Franz Richter
• Fr 12:15 - 13:45 00.156 Andreas Schäfer
Beginn des Übungsbetriebs: ab 24.10.2011
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 3
Organisatorisches
Organisatorisches – Vorlesung / Skript
Skript
• Vorlesungsfolien:
http://www3.informatik.uni-erlangen.de/Lehre/Semester/SS11.html
Ergänzungsmaterialien: zum Vorlesungsstoff
• StudOn
Organisatorisches – Übung
Abgabe elektronisch als PDF über EST
• Anmelden unter http://est.informatik.uni-erlangen.de
• Passwort s. Tafel
• Name der Veranstaltung in EST: Gra WS11
10 Übungsblätter
• 15 Bonuspunkte für Klausur plus Zusatzaufgaben (ohne Punkte)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 4
Organisatorisches
Organisatorisches – Klausur
• Am Ende des Semesters (vermutlich Mitte / Ende)
• Dauer: 90 Minuten
• Bonuspunkte erzielbar über Übungsaufgaben
• 15 Punkte zusätzlich, sofern bei Klausur Mindestpunktzahl zum
Bestehen erreicht wurde
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 5
Rechnerarchitektur in der Forschung
Woran forscht man in der Rechnerarchitektur?
• Verarbeitungsstrategien / Zugriffstechniken im Prozessor / auf Speicher • Pipelining, Multi-threading, Umgang mit Datenabhängigkeiten, …
• Zugriffe auf Caches und deren Organisation
• Z.B. Parallele Architekturen • Cluster-Rechner
• Grids / Clouds
• Parallelisierung für Multi-Kern-Prozessoren / GPGPUs
• Architekturen für Netzwerke • Bussysteme (z.B. PCI-Bus), Ringbusse (z.B. bei Caches in Multicore-Prozessoren)
• Punkt-zu-Netzwerke (z.B. PCIe)
• Architekturen für Eingebettete Systeme • Hochgeschwindigkeitskamera-Systeme
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 6
Inhalt Vorlesung
Inhalt Vorlesung - vorläufig (Struktur wird evtl. noch geändert)
Kapitel 0: Einleitung 0.1: Historische Entwicklung
0.2: Was ist Rechnerarchitektur?
Kapitel 1: Grundprinzipien einer Rechnerarchitektur 1.1: von Neumann Universalrechenautomat
1.2: Befehlszyklus
1.3: Abweichungen vom Universalrechner
Kapitel 2: Komponenten eines Rechners 2.1: Leitwerk: Mikroprogrammierung und Befehlssatzarchitekturen
2.2: Rechenwerke (Fließkomma-Architektur)
2.3: Speicherwerk (Hierarchie, Struktur, Grundlagen Caches)
2.4: Ein-/Ausgabewerk (PIO, DMA, Busse vs. Punkt-zu-Punkt-Architekturen (P2P))
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 7
Inhalt Vorlesung
Kapitel 3: Architektur moderner Prozessoren
3.1: Einführung (von CISC bis Multi-Core)
3.2: RISC-Architekturen
3.3: VLIW, EPIC, Multi-Threading
3.4: Multi-Core-Prozessoren
Kapitel 4: Hardwarenahe Programmierung in Assembler
Kapitel 5: Schnittstelle zum Betriebssystem (wichtig für Vorlesung Systemprogrammierung)
5.1: Anbindung zum Betriebssystem
5.2: Speicherverwaltungseinheit / Memory Management Unit
(Segmentierung, Paging)
5.3: Optimierungen bei der Speicherverwaltung
(mehrstufige Seitentabellen, Translation-Look-Aside Buffer)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 8
Literatur
Stallings: Computer Organization and Architecture, 8.ed, Pearson 2010
Hennessy / Patterson: Computer Architecture – A Quantitative Approach, 4.ed, Morgan Kaufmann, 2006
Patterson / Hennessy: Computer Organization and Design, 4.ed, Morgan Kaufmann, 2008
Tannenbaum: Computerarchitektur, 5. Auflage,
Pearson Studium, 2006
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 9
0 Einleitung
0.1 Historische Entwicklung
Meilensteine der Rechnerarchitektur
Mechanische Computer
1642 Blaise Pascal:
Apparat mit Räderwerk und Kurbel zum Addieren und Subtrahieren
1672 Wilhelm Gottfried Leibniz:
mechanische Maschine, die auch multiplizieren und dividieren
konnte
1822 Charles Babbage
• Difference Engine
– Ein Algorithmus Berechnung von Zahlentabellen zur Schiffsnavigation
– Konnte addieren und subtrahieren
– Besaß Ausgabeeinheit: stanzte Ergebnisse mit stählernen Prägestempeln
in Kupferplatte
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 10
0 Einleitung
0.1 Historische Entwicklung
• Analytical Engine
– Im Gegensatz zu Differential Engine universell
– Speicher (Säulen, 1000 Worte à 50-stellige Zahlen)
– Recheneinheiten (Mühle)
– Programmierbar durch Einstanzen von Befehlen in Lochkarten und
gestanzte Ausgabe (Regal)
– Problem: mechanische Präzision der vielen Räder und Getriebe im
19.Jhrdt. erlaubte keine hohe Zuverlässigkeit
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 11
0 Einleitung
0.1 Historische Entwicklung
1936-1941 Konrad Zuse
• Automatische Rechenmaschinen Z1, Z2 und Z3 mit
elektromagnetischen Relais
• Erste vollautomatisch programmgesteuerte Rechner der Welt
• Verwendeten Gleitkomma-Arithmetik
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 12
0 Einleitung
0.1 Historische Entwicklung
1928-1942 Atanasoff
• Entwickelten Konzept für Computer ABC - Computer mit Binärarithmetik
• Für Speicher Kondensatoren, die immer wieder aufgefrischt werden
mussten (Urvater des DRAMs)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 13
0 Einleitung
0.1 Historische Entwicklung
1944 Aiken:
• Baute Mark 1
– Allzweck-Rechner aus Relais
– Gelochte Ein-/Ausgabe
– 72 Wörter mit jeweils 23-stelligen Zahlen
– Mark II wurde fertig als Relais-Computer überholt waren, das elektronische
Zeitalter begann
Elektronische Computer
Zunächst angetrieben durch Zweiten Weltkrieg
1943 britische Regierung, Alan Turing: COLOSSUS
• Erster digitaler elektronischer Computer der Welt
• Aufgabe: Entschlüsselung verschlüsselter Befehle
• Für die weitere Entwicklung der Rechnerarchitektur ohne Bedeutung,
da alle Ideen des Projektes 30 Jahre unter Verschluss gehalten
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 14
0 Einleitung
0.1 Historische Entwicklung
1946 ENIAC Mauchley/Eckert
• Erkannte ebenfalls Bedeutung des Militärs als Finanzgeber
• ENIAC (Electronic Numerical Integrator And Computer)
– 18000 Vakuumröhren, 1500 Relais, 30 Tonnen Gewicht, 140 kW Strom
– Arbeitete im Dezimalsystem
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 15
0 Einleitung
0.1 Historische Entwicklung
1951 MIT
• Whirlwind 1
– Erster Echtzeit-Computer
– Nicht wie ENIAC und IAS für Verarbeitung großer Zahlenmengen gedacht
– 16 Bit Worte, Projekt führte zu Erfindung des magnetischen Kernspeichers
1952 John von Neumann:
• Mitglied des ENIAC-Projekts und bereits zu Lebzeiten einer der
renommiertesten Mathematiker der Welt
• Erkannte Schwächen von ENIAC
– Umständliche Programmierung
– Dezimalarithmetik
• Maschine IAS (Institute of Advanced Studies, Princeton)
– Behandelte Programmkode wie Daten! Diese werden wie Daten im
Speicher digital dargestellt
– Binärdarstellung
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 16
0 Einleitung
0.1 Historische Entwicklung
Zeit der Pioniere ging dem Ende zu,
In den 50er Jahren Aufstieg von IBM
• Anfangs auf Herstellung von Kartenlesern spezialisiert
• Zunächst viel kleiner als UNISYS (Fa. von Mauchley und Eckert)
1960 PDP-1 von DEC
• Lincoln Laboratorien, MIT:
– Transistor-Rechner TX-0, TX-1, TX-2,
16-Bit Maschine nach Art des Whirlwind, erlangte keine Bedeutung aber
einer der Konstrukteure, Olson, gründete die Firma DEC
– Baute auf Basis des TX-0 die PDP-1
• PDP-1
– 4 KByte an 18-Bit Wörtern, Zykluszeit von 5 µs
– Halbe Leistung von IBM 7090
– Preis: 120000 $; IBM 7090 mehrere Millionen
– Geburt der Mini-Computer
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 17
0 Einleitung
0.1 Historische Entwicklung
• 1965 wurde die PDP-8 eingeführt
– Gegenüber PDP-1 mit 12000 $ wesentlich billigere 12-Bit Maschine
– Wichtige Neuerung: Bus, der Omnibus oder Unibus, IAS dagegen
speicherzentriert
– PDPs waren vor allem im wissenschaftlichen Bereich sehr beliebt
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 18
0 Einleitung
0.1 Historische Entwicklung
IBM
• 1961: IBM 1401, kleiner Computer als Verkaufsschlager im
kommerziellen Bereich
• 1962: IBM 7094: wissenschaftlicher Rechner
1964: neue Firma CDC tritt auf
• CDC 6600 erster wissenschaftlicher Supercomputer
– nutzte Parallelverarbeitung (mehrere Funktionseinheiten Addierer,
Multiplizierer und Dividierer, sowie Peripherieprozessoren)
– 10x schneller als 7094
– Erste sog. „Number Cruncher“
– Entwickelt von Seymour Cray
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 19
0 Einleitung
0.1 Historische Entwicklung
Rechner mit integrierten Schaltungen
1958 gelang es Noyce mehrere Transistoren in Silizium zu
integrieren
IBM vollzogen als Erste radikalen Schritt
• Rechnerfamilie IBM 360 mit verschiedenen Modellen
• Kompatibilität der Assembler-SW zwischen Modellen
• Mehrprogrammbetrieb
• Mikroprogrammierung erlaubte Emulieren anderer Rechner
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 20
0 Einleitung
0.1 Historische Entwicklung
PDP-11: Rechner ebenfalls mit integrierter CPU
• War besonders an Universitäten sehr erfolgreich
• Vorherrschender Minicomputer der 70er Jahre
Oben erwähnte CDC6600 ebenfalls integrierte CPU
1974: Cray 1 erster Vektor-Superrechner
1978: DEC VAX erster 32-Bit Superminicomputer
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 21
0 Einleitung
0.1 Historische Entwicklung
80er Jahre: VLSI-Technik
Geburtsstunde des Mikroprozessors INTEL 4004
Leistungsfähigere und billigere CPUs
1974: 8080 erste universelle CPU auf einem Chip
Integrierte Mikroprozessoren Basis für Entstehen von
Tischcomputern
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 22
0 Einleitung
0.1 Historische Entwicklung
Siegeszug der Tischcomputer
• Personalcomputer Apple
– Anfänglich als Bausatz
– Ohne Software
• IBM PC
– Bisher untypisches Verhalten für IBM
– Offenes System
– Sog. IBM Klones entstehen
– Kaufen wichtige Komponenten hinzu (Betriebssystem MS-DOS, Intel 8080)
– Machen ungewollt INTEL und insbesondere Microsoft zu Industrie-Giganten
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 23
0 Einleitung
0.1 Historische Entwicklung
• PC-Welle mit IBMs Marktmacht überrollte alles
– Andere Hersteller wie Atari, Commodore, Sinclair chancenlos
• Nischen für Arbeitsplatzrechner für Konstruktion, CAD mit besonderen
Anforderungen an Grafik und Rechenleistung
– 1985 Workstations von MIPS und 1987 Workstations von SUN mit SPARC-
Prozessoren
– RISC-Maschine
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 24
0 Einleitung
0.2 Was ist Rechnerarchitektur?
Frage: Wie funktioniert ein Computer?
Daten verarbeiten
Daten speichern
Daten transportieren
Im Blickfeld der Rechnerarchitektur:
Funktionsweise, Aufbau und Organisation von Komponenten,
die Daten verarbeiten, speichern und transportieren
Gibt es eine Definition einer Rechnerarchitektur?
In der Literatur unterschiedlich genaue und auch nicht unbedingt
völlig konforme Fassungen des Begriffs Rechnerarchitektur
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 25
0 Einleitung
0.2 Was ist Rechnerarchitektur?
Definition 1: nach Ungerer, Universität Augsburg
Rechnerarchitektur besteht aus zwei Schichten:
Befehlsarchitektur
Endoarchitektur
Befehlsarchitektur
Beschreibung des Verhaltens eines Rechners auf einer abstrakten
Ebene
Alles was nach außen hin zur Software sichtbar wird
• Maschinendatentypen
• Maschinenoperationen
• Befehlssätze
• Unterbrechungssystem
• Ablage der Daten im Speicher usw.
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 26
0 Einleitung
0.2 Was ist Rechnerarchitektur?
Endoarchitektur: Darstellung der inneren Struktur
und Arbeitsweise des Rechners auf abstrakter
Beschreibungsebene
Darstellung besteht aus drei Elementen
Rechnerstruktur
statische Topologie der Hardware-Komponenten und ihrer
Verbindungen
Informationsstruktur
interne Repräsentation von Daten und Programm-Kode
Operationsprinzip (Arbeitsweise des Rechners)
Wie wird die Informationsstruktur unter Verwendung der
Rechnerstruktur verändert
Wie wird ein Programm und dessen Befehle verarbeitet?
– Datenpfade (Transport der Operanden, Befehle)
– Kontrollpfade (Steuerung der Verarbeitung)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 27
0 Einleitung
0.2 Was ist Rechnerarchitektur?
Definition 2: Skript Vorlesung Rechnerstrukturen
R. Brück Uni Siegen:
Rechnerstruktur =
Rechnerarchitektur + Implementierung
Rechnerarchitektur =
• Schnittstelle zwischen Rechner und Benutzer
– Befehlssätze
– Maschinenorganisation
Implementierung
• Hardware-Aufbau der Komponenten (Speichereinheiten,
Recheneinheiten und Verbindungssysteme), die Rechnerarchitektur
realisieren
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 28
0 Einleitung
0.2 Was ist Rechnerarchitektur
Definition 3: W. Stallings, Computer Organization &
Architecture
Computer Organization
• Operations-Einheiten und Verbindungen, welche die Architektur-
Spezifikationen erfüllen
Computer Architecture
• Attribute eines Systems, die für den Programmierer sichtbar sind
Trennung ermöglichte „Architektur-Familien“
Unterschiedliche Notationen
Konsens darüber, dass es solche Trennung gibt, welche die
genannten Aufgaben erfüllt
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 29
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
„Urvater“ der meisten Rechner ist der klassische
Universalrechenautomat (URA)
Grundidee kundgetan in einem Konzeptpapier von John v.Neumann
• First Draft of a Report on the EDVAC. Moore School, University of Pennsylvania,
1945. Reprinted in IEEE Annals on the History of Computing, No. 4, 1993.
Implementiert als IAS-(Institute of Advanced Studies)-Rechner, geht
zurück auf Burks, Goldstine, John von Neumann, (Princeton, 1946)
• Preliminary Discussion of the Logical Design of an Electronic computer
Instrument. Report prepared for U.S. Army Ordnance Dept., 1946, reprinted
1971.
Das Grundprinzip findet sich auch heute noch, trotz aller
gewaltigen technologischen Veränderungen, in modernen
Mikroprozessoren
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 30
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
Konzept basiert auf 7 Prinzipien
1. Der Rechner besteht aus 4 Werken
Rechenwerk
Speicherwerk
Leitwerk
E/A-Werk
Leitwerk interpretiert Programme
Haupt- bzw. Arbeitsspeicher für Programme und Daten
Rechenwerk führt arithmetische und logische Operationen aus
Ein-/Ausgabewerk kommuniziert mit der Umwelt ferner: als Sekundärspeicher fungierender Langzeitspeicher
Ein-/ Ausgabewerk
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 31
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
2. Struktur des Rechners unabhängig vom Problem:
programmgesteuert
Daten Ergebnisse Folge
arithmetischer und
logischer
Funktionen
HW-Programmierung
SW-programmgesteuert
Befehls-
interpreter
Befehle
Daten Ergebnisse All-Zweck
arithmetische und
logische
Funktionen
Kontroll-
signale
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 32
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
3. Programme und Daten stehen in demselben Speicher, sind
prinzipiell durch Rechner modifizierbar
4. Hauptspeicher ist in Zellen gleicher Größe eingeteilt, die
durch fortlaufende Nummer (Adresse) benannt werden;
über Adresse werden Daten und Programmbefehle
angesprochen
5. Programm besteht aus einer Folge von Befehlen, die im
Allgemeinen nacheinander ausgeführt werden (Prinzip der
Sequentialität als Fortschaltungsregel)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 33
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
6. Abweichungen von der sequentiellen Ausführung der
Befehl durch bedingte und unbedingte Sprungbefehle
Bewirkt Sprung an bestimmte Zelle im Hauptspeicher
Bedingte Sprünge sind von der Auswertung gespeicherter Werte
abhängig
7. Der URA besitzt Binärcodes, Zahlen werden dual
dargestellt
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 34
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
Struktur des IAS-(Institute of Advanced Studies)-Rechners
Implementierung der v.Neumann-Konzeptidee
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 35
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
Simulation mit MOPS-Simulator • MOPS ist ein Modellrechner gemäß dem schematischen Aufbau eines von-
Neumann-Rechners mit integriertem Assembler und Quelltext-Editor
(http://www.viktorianer.de/info/info-mops.html), © M. Haase
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 36
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
IAS Rechner mehr im Detail
Daten und Programmkode gleichzeitig im Speicher abgelegt
Daten
• 4096 Worte à 40 Bit
Befehle
• Zwei Befehle à 20 Bit in einem Wort abgelegt
– 8 Bit Operationskode und 12 Bit Adresse bzw. konstanter Wert
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 37
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
IAS Befehlssatz
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 38
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
IAS Struktur der Architektur
Datenpfade gezeigt
Kontrollpfad nur angedeutet
Enthält 7 Register
• Memory Buffer Register - MBR
• Memory Address Register - MAR
• Instruction Register - IR
• Instruction Buffer Register - IBR
• Programm Counter - PC
• Akkumulator - AC
• Multiplier Quotient - MQ
(Erklärung nachfolgende Folie)
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 40
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
Ablaufplan einer Operation im IAS Rechner
• Zwei Zyklen
• Befehlsholzyklus
• Ausführungszyklus
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 41
1 Grundprinzipien einer Rechnerarchitektur
1.1 von Neumann‘sche Universalrechenautomat
Andere Darstellung des URA aus R. Klar, Digitale Rechenautomaten (Kap.
4, S. 171)
Leitwerk
F
BZ
B
+1
FE
OS
Rechenwerk
E/A-Werk
M
A Q
v
E/A
Speicherwerk S
W
ASP
E/A: Ein-/Ausgabe- register
FB: Befehlsregister FE: Funktionsentschlüsselung
BZ: Befehlszähler OS: Operationssteuerung
M: Multiplikations- register Q: Quotienten- register
A: Akkumulator
v: logische Verknüpfung
S: Speicherregister W: Speicherwahl(adress)register
ASP: Arbeitsspeicher
Prozessor
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 42
1 Grundprinzipien einer Rechnerarchitektur
1.2 Befehlszyklus
Maschinenbefehlszyklus
Beschreibt gemeinsame Arbeitsweise von Leit- und
Rechenwerk
Bei IAS Rechner 2 Unterzyklen (BH und EX) definiert (s.S.
40)
Betrachten im Weiteren folgende feinere Untergliederung
(unterschiedlich gehandhabt je nach Literatur 4-6 Zyklen)
BH EX
BH DE OP EX RS AD
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 43
1 Grundprinzipien einer Rechnerarchitektur
1.2 Befehlszyklus
Befehlsholphase (BH)
• Auf Basis des Befehlszählers wird der nächste zu bearbeitende Befehl
aus dem Speicher ins Instruktionsregister eingelesen
Dekodierungsphase (DE)
• Dekodiert Operationskode
• Generiert Steuersignale
Operandenholphase (OP)
• Stellt der ALU die im Maschinenbefehl im Adressteil spezifizierten
Operanden zur Verfügung
Ausführungsphase (AU)
• Verknüpft in den Registern des Rechenwerkes die zuvor geholten
Operanden
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 44
1 Grundprinzipien einer Rechnerarchitektur
1.2 Befehlszyklus
Rückschreibphase (RS)
• Die während der Ausführungsphase produzierten Ergebnisse werden in
die vorgesehenen Speicherstellen (Speicher, Register)
zurückgeschrieben
Adressierungsphase (AD)
• Adresse des nächsten Befehls wird bestimmt und im Befehlszähler abgelegt
Zyklus beginnt von neuem mit Befehlsholphase
Verfahren wurde in gleicher Form im Übrigen unabhängig von
v. Neumann auch von Zuse entwickelt
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 45
1 Grundprinzipien einer Rechnerarchitektur
1.2 Befehlszyklus
Befehlszyklus als Zustandsdiagramm
Befehl
holen
Befehl
dekodieren
Befehl
ausführen
Adresse
Operand
berechnen
Adresse
Ergebnis
berechnen
Operanden
holen
mehrfache
Operanden
Ergebnis
speichern
mehrfache
Ergebnisse
Befehl
fertig
Adresse
Befehl
berechnen
Bearbeiten von
Vektoren
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 46
Alternativen zum URA und dem Prinzip der
von Neumann`schen Befehlsbearbeitung
Neuronale Rechner
Datenflussrechner
/ *
-
+
x y z w
/x y z z w
wij
x11 , 1, ,
,
( )out in
i j i j i j
i j
x th x w x21
0 1 2
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 47
Systolische Rechner Kombination aus Datenfluss-
und SIMD-(single instruction multiple data)-Prinzip
Synchrones getaktetes System
Alle Prozessorknoten führen
gleiche Operation aus
Ein-/Ausgabe über am Rand
angeordnete Prozessorknoten
Anwendung in der digitalen Signalverarbeitung
y a b x
a
b
y x
b11
b11
b11
a
b
y x
a
b
y x
y a b x
0
b12
b12
b12
b13 ...
a21
a11
a12
a11
a31
a13
...
a22
a12
a22
a12
a32
a32
...
.
a23
a13
a23
a13
a33
a33
...
.
.
b21
b21
b22
b22
b21
b22
...
.
b23
b31
b32
b31
b31
b32
.
b32
.
...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 48
Situation nach Takt 1
a
b y x
b11 b11
a
b y x
a
b y x 0
b12 b12 b12
b13 ...
a21
a21 a11 a31
a31
...
a22 a12
a22 a12 a32
a32
...
a23 a13
a23 a13 a33
a33
...
.
b21 b21
b22 b22 b21
b22
... b23
b31
b32 b31 b31
b32
.
b32 ...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
1111 ba 0 0
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 49
Situation nach Takt 2
a
b y x
b11
a
b y x
a
b y x 0
b12 b12 b12
b13 ...
a21 a11 a31
a31
...
a22
a22 a12 a32
a32
...
a23 a13
a23 a13 a33
a33
...
b21
b22 b22 b21
b22
... b23
b31
b32 b31 b31
b32 b32 ...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
1121 ba 0
21121111 baba
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 50
Situation nach Takt 3
a
b y x
a
b y x
a
b y x 0
b12 b12 b12
b13 ...
a21 a11
a31
...
a22 a12 a32
a32
...
a23
a23 a13 a33
a33
...
b22 b22 b21
b22
... b23
b32 b31 b31
b32 b32 ...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
1131 ba
21221121 baba
11311321121111 cbababa
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 51
Situation nach Takt 4
a
b y x
a
b y x
a
b y x 0
b12 b12
b13 ...
a21 a31
...
a22 a12
a32
...
a23 a13 a33
a33
...
b22 b22
b22
... b23
b32 b31
b32 b32 ...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
1211 ba
21321131 baba
11311321121111 cbababa
21312321221121 cbababa
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 52
Situation nach Takt 5
a
b y x
a
b y x
a
b y x 0
b12 b13 ...
a31
...
a22 a32
...
a23 a13
a33
...
b22 b22
... b23
b32 b32 b32 ...
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
1221 ba
22121211 baba
11311321121111 cbababa
21312321221121 cbababa
31313321321131 cbababa
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 53
Es gilt: Prinzip der von Neumann`schen Befehlsbearbeitung kommt im
Prinzip in nahezu allen kommerziellen Prozessoren zur Anwendung
Folgende Modifikationen sind jedoch häufig gegeben
Aus Gründen der Leistungssteigerung und der Zuverlässigkeit
Vervielfachung einer oder mehrerer Teilwerke
• Mehrere E-/A-Werke, um Ein-/Ausgabe zu beschleunigen bzw. den
Datendurchsatz zu erhöhen
• Mehrere Leit- und Rechenwerke, um mehrere Befehle gleichzeitig zu
bearbeiten
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip
Lehrstuhl für Informatik 3 - Prof. D. Fey
Vorlesung GRa - WS 2011/12 19./20.10.2011, Folie 54
Anstelle der zweistufigen Speicherhierarchie (Haupt- und
Hintergrundspeicher) mehrstufige Hierarchie
• Besseres Preis/Leistungsverhältnis führt zu mehrstufigen
Hintergrundspeichern (Kosten/Bit bei Magnetplatte geringer als bei
Halbleiterspeicher)
• Durch technologische Entwicklung bedingt
– Prozessoren wurden immer schneller, Zugriff auf Speicher erweist sich
zunehmend als Flaschenhals („von Neumannscher Flaschenhals“)
– Lösung: kleine schnelle Halbleiterspeicher ( Cache)
(Logisch) Getrennte Speicher und Busse für Daten und Befehle
Prinzip der Selbstmodifikation aus Sicherheitsgründen aufgegeben
• Ist jedoch für rekonfigurierbare Hardware (dynamische
Rekonfigurierbarkeit) wieder aktuell geworden
1 Grundprinzipien einer Rechnerarchitektur 1.3 Abweichungen vom URA-Prinzip