Vorlesung Grundlagen der Rechnerarchitektur und ... · Inhalt Vorlesung Kapitel 3: ......

53
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

Transcript of Vorlesung Grundlagen der Rechnerarchitektur und ... · Inhalt Vorlesung Kapitel 3: ......

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