Von - Neumann - Rechner Zentral- einheit ( CPU )

Werbung
M
SP
01
Eingabe
Verarbeitung
Ausgabe
Von - Neumann - Rechner
Eingabeeinheit
Zentraleinheit
Ausgabeeinheit
( CPU )
von Neuman
Übersicht
LAN
M
SP
02
Von-Neumann-Rechner mit Busstruktur
Umwelt
Rechenwerk
Eingabe
Steuerwerk
Ausgabe
externer
Speicher
interner Speicher
Bus
von Neuman
Übersicht
LAN
M
SP
03
Arbeitsweise eines Prozessors : Holen
Die Befehle werden aus dem Programmspeicher geladen ( Fetch-Zyklus ) und
anschließend dekodiert. Erst im nächsten Arbeitsgang können dann die
Befehle ausgeführt werden. Hierzu muss das Blockbild verfeinert werden.
Bus
Datenspeicher
Speicherzähler
Programmspeicher
Programmeingabe
Hilfsregister
Bus
Adressregister
Adressbearbeitung
von Neuman
Übersicht
Befehlsregister
LAN
M
SP
04
Arbeitsweise eines Prozessors : Ausführen
Nach dem Holen und Dekodieren können Assemblerbefehle wie EIN, AUS,
LD adr, STO adr, ADD adr, SUB adr, …( Mikroprogrammierung ) ausgeführt und
die Ergebnisse gespeichert werden ( Execute-Zyklus ). Die Befehlsbearbeitung
besteht demnach aus den Phasen Holen, Dekodieren, Ausführen, Speichern.
Bus
Datenspeicher
Speicherzähler
Programmspeicher
Programmeingabe
Akkumulator
Rechenwerk
Ausgabe
Hilfsregister
Eingabe
Bus
Adressbearbeitung
von Neuman
Adressregister
Übersicht
Befehlsregister
LAN
M
SP
05
Mikroprogrammierung : Torsteuerung 1
Es muß beschrieben werden, in welcher Reihenfolge Tore an den Registern
geöffnet werden, um Informationen auf den Bus oder in die Register zu lassen.
Geschlossene Tore lassen keine Informationen durch; daher muß nach jedem
Öffnen wieder ein Schließen erfolgen. Tore sind UND-Gatter mit RS-Flipflop.
Bus
Programmeingabe
03
Datenspeicher
Speicherzähler 15
16
Programmspeicher
01
02
04
05
Akkumulator
06
Rechenwerk
08 Ausgabe
09
Hilfsregister
10
Ein07 gabe
Bus
14
13
Adressbearbeitung
von Neuman
12
Adressregister
Ü b e rs i ch t
11
Befehlsregister
LAN
M
SP
06
Mikroprogrammierung : Befehl holen
Der nächste Befehl soll ins Befehlsregister übertragen werden,
anschließend muß der Speicherzähler um 1 erhöht werden.
Tor 15 auf, Tor 01 auf, Tor 11 auf, Tor 11 zu, Tor 01 zu, Tor 15 zu.{ Befehl geladen }
Tor 16 auf, Tor 16 zu.
{ Der Speicherzähler um 1 erhöht }
Bus
Programmeingabe
03
Datenspeicher
Speicherzähler 15
16
Programmspeicher
01
02
04
05
Akkumulator
06
Rechenwerk
08 Ausgabe
09
Hilfsregister
10
Ein07 gabe
Bus
14
13
Adressbearbeitung
von Neuman
12
Adressregister
Übersicht
11
Befehlsregister
siehe auch
die Befehle
EIN
LD adr
ADD adr
LAN
M
SP
07
Mikroprogrammierung : EIN
"EIN" holen wie oben, dann zur Übernahme der Eingabe in den Akkumulator :
"EIN" ausführen :
Tor 07 auf, Tor 06 auf, Tor 06 zu, Tor 07 zu.
Bus
Programmeingabe
03
Datenspeicher
Speicherzähler 15
16
Programmspeicher
01
02
04
05
Akkumulator
06
Rechenwerk
08 Ausgabe
09
Hilfsregister
10
Ein07 gabe
siehe auch
die Befehle
Bus
14
13
Adressbearbeitung
von Neuman
12
Adressregister
Übersicht
11
Befehlsregister
LD adr
ADD adr
LAN
M
SP
08
Mikroprogrammierung : LD adr
Befehl holen wie oben, dann zweiteilige Adresse holen :
Tor 15 auf, Tor 1 auf, Tor 12 auf, Tor 12 zu, Tor 1 zu, Tor 15 zu, Tor 16 auf, Tor 16 zu;
Tor 15 auf, Tor 1 auf, Tor 12 auf, Tor 12 zu, Tor 1 zu, Tor 15 zu, Tor 16 auf, Tor 16 zu;
Nun Daten von Speicher adr in den Akku laden:
Tor 13 auf, Tor 3 auf, Tor 6 auf, Tor 6 zu, Tor 3 zu, Tor 13 zu.
Bus
Programmeingabe
03
Datenspeicher
Speicherzähler 15
16
Programmspeicher
01
02
04
05
Akkumulator
06
Rechenwerk
08 Ausgabe
09
Hilfsregister
10
Ein07 gabe
siehe auch
die Befehle
Bus
14
13
Adressbearbeitung
von Neuman
12
Adressregister
Übersicht
11
Befehlsregister
EIN
ADD adr
LAN
M
SP
09
Mikroprogrammierung : ADD adr
Befehl holen wie oben, zweiteilige Adresse holen wie oben:
Der 1. Summand steht im Akku, der 2. Summand im Datenspeicher. Von dort wird er
über das Hilfsregister zum Rechenwerk geleitet und zum Wert des Akku addiert; die
Summe steht wieder im Akku:
Tor 13 auf, Tor 3 auf, Tor 10 auf, Tor 9 auf, Tor 9 zu, Tor 10 zu, Tor 3 zu, Tor 13 zu.
Bus
Programmeingabe
03
Datenspeicher
Speicherzähler 15
16
Programmspeicher
01
02
04
05
Akkumulator
06
Rechenwerk
08 Ausgabe
09
Hilfsregister
10
Ein07 gabe
siehe auch
die Befehle
Bus
14
13
Adressbearbeitung
von Neuman
12
Adressregister
Übersicht
11
Befehlsregister
EIN
LD adr
LAN
M
SP
10
Mikroprogrammierung : Torsteuerung 2
Torsteuerung 1
Es muss beschrieben werden, in welcher Reihenfolge Tore an den Registern
geöffnet werden, um Informationen auf den Bus oder in die Register zu lassen.
Geschlossene Tore lassen keine Informationen durch; daher muss nach jedem
Öffnen wieder ein Schließen erfolgen. Tore sind UND-Gatter mit RS-Flipflop.
Daten
beliebiges Tor als
BLACK BOX
nn
Bus
Daten
&
Impuls zum
Öffnen
S Q
Impuls zum
Schließen
R Q
von Neuman
beliebiges Tor als
UND-Gatter
mit
FlipFlop
Übersicht
LAN
M
SP
11
V
o
n
N
e
u
m
a
n
n
R
e
c
h
n
e
r
Vergrößerung und Beschleunigung einzelner von-Neumann-Komponenten
CPU
RAM
Cache
RISC, CISC
BUS
Pipelining
16 bit, 32 bit, 64 bit, …
Zusätze innerhalb der von Neumann-Architektur
Coprozessoren
Integer-Arithmetik
Real-Arithmetik
D irect
M emory
A ccess
i/O-Prozessoren
Eingabe
Ausgabe
Neue Architekturen
Vektorrechner
Parallelrechner
Multiprozessorsysteme
Neue Konzepte
Analog
arbeitende
Rechner
Neuronal
vernetzte
Systeme
Organisch
arbeitende
Systeme
Zeitliche Entwicklung, seit John von Neumann Programme als Information speicherte
≈ 1950
von Neuman
≈ 2000
Übersicht
≈ 2010
LAN
M
SP
12
Leistung skalarer Einprozessorsysteme
CISC = Complex Instruction Set Computer
RISC = Reduced Instruction Set Computer
MIPS = Mega Instructions Per Second
GIPS = Giga Instructions Per Second
ƒ·Np
Leistung =
[ MIPS ]
Aµ +Am
ƒ
: Taktfrequenz des µProzessors in MHz
Np
: Anzahl der voneinander unabhängigen
Datenprozessoren im µProzessor
Aµ
: Mittlere Anzahl von Mikroinstruktionen
pro Maschinenbefehl
Am
: Anzahl der Taktzyklen
für einen Speicherzugriff
ƒ
≈ 250 MHz
Np
=1
Aµ
≈ 6
Am
≈ 4
Leistung = 250·1 25 MIPS
6 +4
etwa 1998
Leistungssteigerung
von Neuman
Übersicht
LAN
M
SP
13
Leistungssteigerung skalarer Einprozessorsysteme
ƒ
≈ 1-10 GHz eine höhere Frequenz wird kaum erreicht werden, weil
• die Leiterbahnen im µChip endliche Längen haben
• die verschiedenen Leiterbahnenlängen Signalverzögerungen erfordern.
• der induktive Widerstand von Biegungen ( = halbe Spulenwindung ) proportional
mit der Frequenz wächst. ( RL = 2πƒ· L )
Np ≈ 5
etwa Intel Pentium Pro oder Motorola MPC750 Microprozessor
• 2 Integer-Prozessoren,
• 2 Gleitkomma-Prozessoren
• 1 I / O - Prozessor
Aµ ≈ 1
etwa durch Verwendung von
• RISC-Prozessoren und
• Pipelineverfahren sowohl bei der
- Befehlsausführung als auch bei
- längeren arithmetischen Operationen
Am ≈ 1
etwa durch Verwendung von
Leistung =
etwa 2000
von Neuman
10 000 · 5
1+1
Cache-Speichern auf dem ProzessorChip
= 25 000 MIPS = 25 GIPS
Übersicht
LAN
M
SP
14
Pipelineverarbeitung
Die Ausführung einer Instruktion wird in mehrere Teilschritte zerlegt,
um gleichzeitig verschiedene Teilschritte mehrerer Instruktionen zu bearbeiten:
•
bei aufwendigen arithmetischen Operationen
•
bei der Befehlsverarbeitung ( Beispiel unten )
Zur Veranschaulichung werde jeder Befehl in 4 gleich langen Phasen ausgeführt;
jede Phase besteht bei n-bit-Registern aus n Takten:
Holen, Decodieren, Ausführen, Speichern
01 02 03 04 05 06 07 08 09 10 11 12
Beispielsweise benötigen 3 Befehle 12 Phasen:
H D A S H D A S H D A S
1. Befehl
Im Pipelineverfahren werden die
Phasen zeitlich versetzt gestartet,
so daß zu jeder Zeit jeweils vier
Phasen verarbeitet werden.
2. Befehl
3. Befehl
01 02 03 04 05 06 07 08 09 10 11 12
1. Befehl
2. Befehl
3. Befehl
4. Befehl
5. Befehl
6. Befehl
7. Befehl
8. Befehl
9. Befehl
H D A S
H D A S
H D A S
H D A S
H D A S
H D A S
H D A S
H D A S
H D A S
In 12 Phasen werden nun
9 Befehle abgearbeitet, was dem
3-fachen (max 4 -fachen) der Verarbeitungsgeschwindigkeit entspricht.
Beim SuperPipelineverfahren werden Halbphasen verarbeitet und damit fast eine
weitere Verdoppelung der Verarbeitungsgeschwindigkeit erreicht.
von Neuman
Übersicht
LAN
M
SP
15
Cachespeicher
Zur Erhöhung der Verarbeitungsgeschwindigkeit werden zeitweise oft benötigte Daten
und Programmteile in einem kleinen, schnellen Speicher innerhalb der CPU abgelegt.
Prozessor
Cachespeicher
Hauptspeicher
Instruktionen
und
Daten
Cachespeicher mit einer Princeton- Architektur
Die Zugriffszeit auf diesen Cachespeicher entspricht etwa der Zugriffszeit auf Register;
damit kann Zeit gewonnen und der interne Bus entlastet werden.
Daten
Set 0
Set 1
data
Tag
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
3
Set 2
Set 3
Zweiweg-assoziativer
Cachespeicher mit 4 Cachesets
Hauptspeicher
data
…
…
…
Neben den Daten „data“ aus dem Hauptspeicher müssen im Cache auch die
Herkunftsadressen der Daten als SetNr und Tag gespeichert werden:
allgemein:
Beispiel:
SetNr = Speicheradresse MOD Anzahl Cachesets
Tag
= Speicheradresse DIV Anzahl Cachesets
SetNr = 13 MOD 4 = 1
Tag = 13 DIV 4 = 3
von Neuman
Übersicht
LAN
M
SP
16
Beispiele von Cache- und Pipelining
Instruction Unit
System Bus (External)
L2 Cache
Cache Bus
Additional Features
Instruction Fetch Unit
Next IP
Unit
Instruction Cache (L1)
Simple
Instruction
Decoder
Memory
Reorder
Buffer
Branch
Target
Buffer
Instruction Decoder
Simple
Instruction
Decoder
Complex
Instruction
Decoder
Microcode
Instruction
Sequencer
Reorder Buffer (Instruction Pool)
Retirement
Register File
(Intel Arch.
Registers)
64 Entry
Reservation Station
Reservation Station
Reservation Station
Integer Unit 1
I
Integer Unit 2
System Register
Unit
+ x ∏
+
FloatingPoint Unit
(FPU)
Integer
Unit
Integer
Unit
Memory
Interface
Unit
Reservation Station
FPR File
Rename Buffers
(6)
32-Bit
Load/Store Unit
64-Bit
+
64-Bit
Floating-Point
Unit
(EA Calculation)
+ x ∏
Store Queue
FPSCR
FPSCR
32-Bit
PA
Completion Unit
Reorder Buffer
(6 Entry)
FloatingPoint Unit
(FPU)
Reservation Station
(2 Entry)
GPR File
CR
32-Bit
Reservation Station
EA
60x Bus Interface Unit
Data MMU
SRs
(Original)
DTLB
64-Bit
Instruction Fetch Queue
L1 Castout Queue
DBAT
Array
L2 Bus Interface
Unit
L2 Castout Queue
Tags
32-Kbyte
D Cache
Data Load Queue
L2 Controller
L2CR
L2 Tags
32-Bit Address Bus
32-/64-Bit Data Bus
To Branch
Target Buffer
32-Kbyte
I Cache
Tags
64-Bit
(2 Instructions)
Rename Buffers
(6)
Data Cache
Unit (L1)
IBAT
Array
ITLB
Dispatch Unit
From
Integer
Unit
SRs
(Shadow)
BHT
2 Instructions
Register Alias Table
Retirement Unit
Instruction Queue
(6 Word)
Instruction MMU
CTR
LR
BTIC
• Time Base Counter/Decrementer
• Clock Multiplier
• JTAG/COP Interface
• Thermal/Power Management
• Performance Monitor
Bus Interface Unit
128-Bit
(4 Instructions)
Branch Processing
Unit
Fetcher
Not in the MPC740
17-Bit L2 Address Bus
64-Bit L2 Data Bus
Internal Data-Results Buses
Intel PentiumPro®
Motorola PowerPC750®
Leistungssteigerung
Multiprozessorsysteme
von Neuman
Übersicht
LAN
M
SP
17
Multiprozessorsysteme
Systeme mit gemeinsamem Speicher sind charakterisiert durch:
• globaler Adressraum
• Programmierung mit konventionellen Sprachen
• nicht skalierbar, maximal 30 Prozessoren
Speicher
rb
Prozessor
Speicher
Speicher
Verbindungsnetz
Verbindungsnetz
Prozessor
Prozessor
Systeme mit verteiltem Speicher sind charakterisiert durch:
• skalierbar, 1000 Prozessoren und mehr
• Programmierung in neuen Sprachen; diese Sprachen werden zur Zeit entwickelt und beinhalten:
- Aufteilung in einzelne Prozesse, Parallelisierung
- Kommunikation zwischen den Prozessen
- Koordinierung der Prozesse
Verbindungsnetz
rb
Prozessor
Prozessor
Prozessor
Speicher
Speicher
Speicher
Knoten
Knoten
Knoten
von Neuman
Übersicht
LAN
M
SP
18
Verbindungsnetze :
Arbeitsweise, Topologie
Verbindungsart:
Leitungsvermittlung
Paketvermittlung
Zellvermittlung
Empfänger
4711
• etwa Telefonnetz
• zeitabhängig
• Sprachübertragung
Sender
Bei der Leitungsvermittlung wird für die Dauer der Übertragung eine Datenleitung
über viele Knoten reserviert und blockiert damit die gesamte Leitung. Die Daten oder
Gespräche werden mit den Pausen in einem einzigen Block gesendet.
von Neuman
Übersicht
LAN
M
SP
Verbindungsnetze :
19
Arbeitsweise, Topologie
Verbindungsart:
Leitungsvermittlung
Paketvermittlung
Zellvermittlung
• etwa ISDN, Datex P,…
• zeitunabhängig
• Datenübertragung
ISDN = Integrated Services
Digital Network
1
Empfänger
4711
2,4
3
2
1
4
2,3
Sender
3
3
4
3
Bei der Paketvermittlung wird die Datenmenge
in Pakete nicht konstanter Länge
zerlegt. Beim Senden wird jedes Paket nummeriert und mit der Empfängeradresse versehen.
Jedes Paket sucht sich seinen eigenen Weg. Dadurch wird das Netz gleichmäßig ausgelastet;
die Nachricht erreicht schneller das Ziel. Der Empfängerknoten setzt alle Pakete
4711.1
4711.2
4711.3
4711.eof
Diese Zeile
stellt eine
verschlüsselte
Botschaft dar.
in der richtigen Reihenfolge zusammen und übermittelt die Nachricht zum Empfänger.
von Neuman
Übersicht
LAN
M
SP
20
Verbindungsnetze :
Arbeitsweise, Topologie
Verbindungsart:
Leitungsvermittlung
Paketvermittlung
Zellvermittlung
• etwa ATM, 1000 mal
schneller als ISDN
• zeitunabhängig
• Übertragung
von Sprache und Daten.
Sender
1
Empfänger
4711
2,4
3
2
1
4
2,3
3
3
4
ATM = Asynchron Transfer Modus
ISDN = Integrated Services Digital Network
3
Bei der Zellvermittlung werden die Datenpakete auf Zellen aufgeteilt, die genau 48 Bytes
an Daten und 5 Bytes für den Header zur Zielangabe aufnehmen. Beim Senden wird jede
Zelle nummeriert und mit der Adresse des nächsten Routers versehen. Die Router verwalten den gesamten Prozess. Die Nachricht erreicht so schnell das Ziel, daß Bilder in
Echtzeit übertragen werden. ATM ist zugleich Vermittlungs- und Übertragungstechnik.
Header ( 5 Bytes )
von Neuman
Datenteil (48 Bytes )
Übersicht
LAN
M
SP
21
Verbindungsnetze :
Verbindungsart, Topologie
Arbeitsweise:
•
synchron
einfach zu realisieren. Sender und Empfänger übertragen zu festen, zentral
getakteten Zeitpunkten. Dies geht wegen der verschiedenen Weglängen nur für
kleine Netze : LAN ( = Local Area Network )
•
asynchron
nicht so einfach zu realisieren. Jeder Sender und jeder Empfänger stellen zu jedem
beliebigen Zeitpunkt ihre Übertragungsanforderungen (Baudrate) an das Netz.
Dieses Verfahren ist auch für große Netze geeignet : WAN ( = Wide Area Network )
Wegsteuerung:
•
zentral
Der Wegaufbau im Netz erfolgt unabhängig von der zu übertragenden Information.
•
dezentral
Die Wegangabe muss im Kopf der zu übertragenden Nachricht stehen.
von Neuman
Übersicht
LAN
M
SP
Verbindungsnetze :
22
Verbindungsart, Arbeitsweise
Topologie:
allgemein, speziell
Bus
Vollständige
Vernetzung
von Neuman
Ring
Stern
3 D - Würfel
Baum
Gitter
4 D - Hyperwürfel
( flächenhaft )
Übersicht
LAN
M
SP
23
Verbindungsnetze :
Verbindungsart, Arbeitsweise
Topologie:
allgemein , speziell Sterntopologie mit SubNetzen
lokales
Hauptnetz
mit Hub
1. lokales Subnetz
2. lokales Subnetz
als Kaskade
ÜbertragungsNetz
lokaler
Router
von Neuman
ProviderNetz
Provider
Router
Ü bersicht
Lokales Netz
Herunterladen