Datenbus auf der Hauptplatine (Verbindung der Funktionseinheiten)

Werbung
12. Datenverarbeitungssysteme in: http://marvin.sn.schule.de/~dvt/lpe/index.html
12.1 Weiterentwicklungen der Rechner-Architektur nach
von Neumann
Merkmale (zur Erinnerung)
 1946 von John von Neumann vorgeschlagenes Konzept zur Gestaltung eines
universellen Rechners besteht aus fünf Funktionseinheiten:
 vereinfacht: Steuerwerk und Rechenwerk zu einer Einheit zu
Grenzen
Hauptschwachstelle des von-Neumann-Rechners ist der sog. von-NeumannFlaschenhals.
Das bedeutet, daß es nur
 ein Rechenwerk,
 einen System- und Steuerbus,
 einen gemeinsamen Speicher
 ein IO-Werk
 die Befehlsabarbeitungszyklen dürfen sich nicht
überlappen.
Dies alles verhindert die Herstellung von Prozessoren mit immer höherer
Leistung. Deswegen können moderne Prozessoren ihrem Aufbau nach keine
reinen von-Neumann-Prozessoren sein, sondern sie sind Weiterentwicklungen.
Weiterentwicklungen
1.
2.
3.
4.
Bussysteme
Pipeline
Cache
DMA
1. Bussysteme (PC)
 Bus ... Mehrzahl von Signalleitungen, über die getrennt Steuer-, Daten- und
Adreßsignale übertragen werden
 Unterscheidung:
Bus im Prozessor (Daten/Steuer/Adreßbus)
Datenbus auf der Hauptplatine (Verbindung der Funktionseinheiten)
(Systembus)
 Busslot mit Adapterkarte ...
 Bustypen(Bussysteme): (siehe Lehrbuch!)
Bussysteme unterscheiden sich durch zwei Merkmale:
1. Anzahl der Leitungen (8 – 32)
2. Taktfrequenz
Merkmale verschiedener wichtiger Bustypen:
Selbsstudium, Ergänzung
2. Pipeline
von-Neumann-Rechner: während die Operation von der ALU ausgeführt wird,
sind das Speicherwerk und das Leitwerk nicht ausgelastet
Die Idee des Pipelining: die einzelnen Ausführungsphasen des Prozessors
werden überlappt, um jede Einheit möglichst
gleichmäßig und ohne Unterbrechungen arbeiten zu
lassen.
Dazu notwendig:
Die Aufteilung des Maschinenbefehls in mehrere
Teilaufgaben (Operationszyklen  Mikroprogramme)
Operationszyklen (zur Erinnerung):
Holen
Lesen
Befehl vom Arbeitsspeicher holen, interpretieren
Daten aus dem Arbeitsspeicher lesen
Ausführen
Befehl in ALU ausführen
Schreiben
Daten in Arbeitsspeicher
den Arbeitsspeicher zurückschreiben
Befehl
holen
Befehl
holen
Daten
holen
Befehl
holen
BIU
(Fetch-Phase)
B1
B2
B3
Befehlswarteschlange
Befehl
einlesen
Befehl
analysieren
Befehl
ausführen
Befehl
einlesen
EU
Execute
-Phase
 Konflikte im Befehlsstrom
3. Cache-Speicher
Cachespeicher:
Cache ... Speicherzugriffsbeschleuniger, der die mittlere Zugriffszeit zum
Hauptspeicher senkt
 CPU kann auf die Daten im Cache-RAM schneller zugreifen, als auf die
Daten im normalen RAM
(Hauptspeicher .. HS)
 Daten werden zuerst im Cache gesucht, dann im langsameren HS
Speicherhierarchie (memory hierarchie):
Lokalitätsprinzip:
 wird auf einen bestimmten Speicherbereich zugegriffen, so erfolgt der
nächste Zugriff mit hoher Wahrscheinlichkeit auf den gleichen
Speicherbereich
 d.h. zuletzt genutzte Daten sollten im schnellsten Speicher gehalten werden
zwei Arten von Cache:
 Level-1 Cache:
 auch: L1, 1st level, internal, primary
 interner Prozessor-Cache
 Größe: ?
 meist: Datencache und Befehlscache getrennt
 Level-2 Cache:
 auch: L2, 2nd level, external, secondary
 externer Cache auf dem Motherboard oder einer Extraplatine
 Größe: ?
 SRAM (static RAM) kein Refresh der Speicherzellen notwendig!
4. DMA (Direkter Speicherzugriff ohne CPU)
Selbsstudium, Ergänzung
Begriffe des Speichermanagment
Speicher:
 Funktionseinheit zum Aufbewahren von Daten
 meist mittels Flip-Flops realisiert
Unterscheidungskriterien:
 Zugriffszeit:
 Zeit, die zum Lesen bzw. Schreiben einer Speicherzelle benötigt wird
 Zugriffszeit = Zeit zur Lokalisierung und Ansteuerung der
betreffenden Speicherzelle + Schaltzeit der Speicherelemente
 Zugriffsart:
 wahlfreier Zugriff / direkter Zugriff (random access)
 jede Speicherzelle ist unabhängig von ihrer Position auf die
gleiche Weise mit dem gleichen zeitlichen Aufwand erreichbar)
 z.B. Hauptspeicher (RAM), Magnetkernspeicher
 zyklischer / halbdirekter Zugriff
 Speicherzellen sind nur zeitperiodisch erreichbar
 z.B. Magnetplattenspeicher
 sequentieller Zugriff
 auf eine Speicherzelle kann erst dann zugegriffen werden, wenn
auf eine bestimmte Anzahl anderer (meist davorliegender)
Speicherzellen zugegriffen wurde
 z.B. Magnetbandspeicher, Streamer
 Zykluszeit:
 Zeitspanne vom Beginn eines Speichervorgangs bis zum Zeitpunkt, an
dem die nächste Speicherung beginnen kann
 Zykluszeit = Zugriffszeit + Regenerationszeit
 Speicherkapazität: Anzahl der Speicherzellen (Kbyte, Mbyte, Gbyte, ...)
 statischer Speicher:
 nicht flüchtig, d.h. sie behalten ihren Inhalt solange eine Spannung
anliegt
 dynamischer Speicher:
 flüchtig, d.h. sie verlieren ihre Informationen nach einem bestimmten
Zeitintervall
 Zellen müssen vor Ablauf dieses Intervalls neu beschrieben werden
(refresh)
12.2 Weitere Architekturen
Selbsstudium, Ergänzung
12.2.1. Klassifizierung nach Flynn
 1966 von Flynn entwickelt
 veraltete aber verbreitete und sehr universelle Klassifizierungsmethode
(immer noch verwendet !)
 es erfolgt eine Unterscheidung im Hinblick auf die Quantität der Befehlsund Datenströme.
Der Befehlsstrom leitet die Maschienenbefehle vom Hauptspeicher in das
Leitwerk und von dort als entschlüsselte Steuerinformationen an das
Rechenwerk weiter.
Der Datenstrom überträgt die Daten, die vom Rechenwerk bearbeitet
wurden zwischen dem Speicher und den Prozessorregistern.
Die Einteilung unterscheidet folgende Möglichkeiten (Streams):
single instruction - single data (SISD)
single instruction - multiple data (SIMD)
multiple instruction - single data (MISD)
multiple instruction - multiple data (MIMD)




SISD:
SIMD:
MISD:
MIMD:
?
?
?
?
12.2.2 reale Systeme
Personal Computer
Workstation
Mainframe
Supercomputer
Selbsstudium, Ergänzung der Merkmale
12.3 Prozessorarchitekturen
CISC und RISC
CISC:
 Complex Instruction Set Computer
 Computer mit umfangreichem Befehlssatz
 Vielzahl an Maschinenbefehlen (mehrere 100)
 sehr viele Adressierungsarten (ca. 200)
 Entwicklungsgedanke: ein Prozessor ist um so schneller, desto mehr Befehle
er kennt
 aber: viele Programme greifen nur auf ca. 30% dieser Befehle häufig zurück
 restliche 70% der Befehle werden also kaum genutzt und hemmen somit die
Performance des Prozessors
 anstelle der hardwaremäßigen Implementierung dieser Befehle in der CPU
(Mikroprogramme) wäre auch eine Emulierung mittels Software möglich
 komplexes Steuerwerk (ca. 50% der Chipfläche)
 Mikroprogrammierung
 Beispiele für CISC-Prozessoren:
 i80x86
 Motorola 680x0
RISC:
 Reduced Instruction Set Computer
 Computer mit reduziertem Befehlssatz
 weniger Befehle (30-100)
 weniger Befehlsformate und weniger Adressierungsarten (ca. 1-8)
 einfaches Steuerwerk (ca. 10% der Chipfläche)
 schneller als CISC
 keine Mikroprogrammierung, fest verdrahtet
 Speicherzugriff nur über die Befehle LOAD und STORE
 ausgeprägtes Pipelining
 Befehlsausführung in einem Taktzyklus
 Beispiele für RISC-Prozessoren:
 i860
 SPARC
 MIPS R4000
12.4 Verarbeitungsgeschwindigkeit und –Breite
Selbsstudium
Verarbeitungsgeschwindigkeit
Das Prozessor-Speicher-System bestimmt im wesentlichen die
Leistungsfähikgeit eines Rechners
(der Prozessor kann höchsten soviel verarbeiten, wie ihm der Speicher liefert)
 die theoretische Leistung des Systems ist abhänig von der durchschnittlichen
Taktzyklen pro Befehl (CPI-Wert)
 Leistungsermittlung durch Analyse von Art und der Häufigkeit der
benutzten Maschinenbefehle:
 ti ist die Operationszeit des i-ten Befehls
 Pi relative Häufigkeit des Befehls im Befehlssatz
Vorsicht ist bei Pipelinerechnern!
(die reine Ausführungszeit ist kleiner als die Operationszeit eines Befehls)
 Die Verarbeitungsgeschwindigkeit des Systems läßt sich mit der folgenden
Formel angeben:
 L wird in MIPS gemessen. (Millions Instructions Per Second)
Im numerischen Bereich ist das Äquvalent (M)FLOPS.
 Beispiel:
Der Rechner RS/6000 von IBM kann im Idealfall
eine Operation pro Taktzyklus schlucken. Er ist in
vier parallele Funktionseinheiten eingeteilt:
 Branch Unit
Sprungbefehlverarbeitung
 Condition Code
Vergleichsbefehle
 Integer Unit
Taschenrechnereinheit
 Floating-Point Unit
Schnelle
Taschenrechnereinheit
mit zwei Befehlen pro
Zyklus
Dieses System liefert nun fünf Ergebnisse pro
Taktzyklus, also CPI = 0,2 und bei 30 MHz
ergeben sich:
Verarbeitungsbreite
Verarbeitungsbreite := Speicherbedarf pro Durchschnittsbefehl *
Verarbeitungsgeschwindigkeit
 Nachbrenner für das Prozessor/Speichersystem ist das Adresspipelinig und
der BURST-Modus (Beim Adresspipelining wird die neue Adresse an den
Bus gelegt, während die letztadressierten Daten noch gelesen werden).
 Dadurch ein halber Takt mehr Decodierungszeit für das RAM
 Im Burst Modus wird einmal die Startadresse an das intelligente
RAM, oder Controller übergeben, und bei den nachfolgenden Zyklen
werden nur noch Daten gelesen (Die Adressen werden dann
automatisch vom Prozessor und RAM Controller erhöht.)
 Beispiel:
Der 486DX50 braucht im BURST Modus 5 Takte
pro 4 mal 32 Bit [16 Bytes]. Das macht eine
Verarbeitungsbreite von
Verarbeitungsbreitei486 = 16[Bytes]/5*20*10-9[s]
= 160[MB/s]
Ohne den BURST Mode werden 8 Takte für 4 mal
32 Bit gebraucht, die Bandbreite senkt sich auf 100
MB/s.
 Weitere Hilfsmittel sind getrennte Busse für Daten und Befehle, Caches und
Interleaving, d.h., Speicheraufteilung in mehrere Bänke, so daß man parallel
aus allen Speicherbanken lesen und schreiben kann.
12.5 Peripherie
 Selbsstudium
 Vorträge/ Ausarbeitungen (Word oder PP)
1. Monitore (Masken/TFT), Funktionsweise, Zusammenhang Auflösung,
Frequenzen, Anzahl Farben
2. Drucker Tinte
3. Drucker Laser
4. Festplatten/Diskette, Funktion, Organisation ,Berechnung Speicherkapazität
5. DFÜ-Geräte ( Modem, ISDN usw.)
6. Massenspeicher wie CD-ROM, DVD
7. Scanner
12.6 Berechnungen
Selbsstudium
Herunterladen