universität gesamthochschule siegen

Werbung
UNIVERSITÄT GESAMTHOCHSCHULE
SIEGEN
Fachbereich 12
Elektrotechnik und
Informatik
Prof. Dr. H. Wojtkowiak
18. Arbeitsblatt
Vorlesung: Datenverarbeitung
8 Systemaufbau
Rechnerorganisation:
Anordnung von Rechnerkomponenten (Speicher, Register, EA-Geräte usw.) und die
Anordnung der Verbindungswege mit der zugehörigen Steuerung
8.1 Rechnerkomponenten
1. Eingabe für Operanden und Befehle;
2. Speicher für Operanden, Befehle und Ergebnisse;
3. Operationswerk für die Ausführung von Operationen;
4. Ausgabe für Ergebnisse an den Benutzer;
5. Steuerung, d.h. Setzen und Abfragen von Bedingungen.
Die
klassische
„von-Neumann-Struktur“
ist
eine
mögliche
Grundanforderungen, der sogenannten „5-Komponenten-Rechner“
1
Realisierung
dieser
EINGABE
SPEICHER
AUSGABE
OPERTATIONSWERK
STEUERUNG
Ergebnisse
Daten und Befehle
Steuerinformation
Bild 8.1: „von-Neumann-Struktur“
Aufgaben der Komponenten
Eingabe/Ausgabe:
Lesen
bzw.
Schreiben
von
Benutzerprogrammen
bzw.
Operationsergebnissen, zusätzlich Datenpufferung bzw. Datenwandlung.
Gründe: Verbindung zwischen dem schnellen Speicher und der im
Vergleich dazu langsamem Umwelt, denn:
- Benutzer schreibt einige Zeichen/sec.
- Band und andere Hintergrundspeicher überträgt ca. 10 5 Zeichen/sec. an Speicher
6
- Speicher kann ca. 10 und mehr Zeichen an CPU übertragen.
Datenwandlung (Konvertierung)
- Benutzer verwendet ASCII-Zeichen
-
Band
und
Hintergrundspeicher
verwendet
prüfbaren
Code
(für
Übertragungsfehler), Band ist zeichenorientiert
- Arbeitsspeicher (ASP) ist üblicherweise wortorientiert, daraus folgt die
Notwendigkeit für die Zerlegung und Zusammensetzung von Worten.
Datenwandlung => Operationswerk + Steuerung + Speicher
2
Organisationsfragen
Probleme
Adressierung
Anzahl der Adressen eines Befehls
- Null-Adreß-Maschinen (Stack-Maschinen)
- Ein-Adreß-Maschinen
- Mehr-Adreß-Maschinen
Adressierungsformen
- absolute
- relative
Adressierung
- virtuelle
Ablaufsteuerung- fest verdrahtet
- mikroprogrammiert
Ein-Ausgabe-Steuerung
- Steuerung und Übertragung mittels Zentralprozessor
- Einführung von Kanälen
- Simultanarbeit zwischen Zentralprozessor und Ein- Ausgabe-Prozessor
Steuerung der Datenübertragung zwischen Komponenten
-
Einführung autonomer Rechnerkomponenten, die unabhängig voneinander arbeiten
können (Parallelbetrieb), Notwendigkeit der Kommunikation (Synchronisation)
dieser Komponenten.
-
Forderung nach Unterstützung des Benutzers und Entlastung von
maschinenspezifischen Detailproblemen
Betriebssystemaufgaben:
3
1. Bereitstellung der Grundlagen für eine bequeme Verwaltung der technischen
Einrichtungen (Hardware) des Systems und eine einfache und maschinen-unabhängige
Programmierung derselben
2. Organisation des Betriebs im Rechner durch Steuerung der Benutzerprogramme
(Speicherplatzverwaltung, Prozessorvergabe)
Alternative Definition:
„Das Betriebssystem ist ein Programmsystem, welches die Pseudo-Hardware definiert, die
dem Benutzer zur Verfügung steht und diese mit Hilfe der gegebenen Hardware realisiert.“
Der Begriff "Hardware" ist nicht genau zu definieren, weil z.B. auch sogenannte
"Maschinenbefehle" häufig durch Mikroprogramme realisiert werden, so daß letztlich die
technischen Einrichtungen erweitert um eine oder mehrere Sprachebenen das sind, was sich
dem Benutzer als "abstrakte Maschine" darstellt.
8.2 Verarbeitung und Steuerung
Prozessor:
Verarbeitung von Daten und Steuerung von Abläufen
4
Be fehlsadresse
berechnen
Befehl
holen
Befehl
entschlüsseln
a)
d)
Operandenadresse
berechnen
b)
e)
Operand
holen
Befehl
ausfü hren
g)
c)
Ergebnisadresse
berechnen
f)
Ergebnis
abspeichern
Bild 8.2: Befehlsphasen
5
a) mit Operand
b) ohne Operand
c) mit Ergebnis
d) ohne Ergebnis
e) mehrere Operanden
f) mehrere Ergebnisse
g) mehrere Operanden
und Ergebnisse
Die Befehlsabarbeitung erfolgt in Phasen, die abhängig von der auszuführenden
Befehlsklasse durchlaufen werden. In einer ersten Näherung kann man drei Klassen
unterscheiden:
• Registerbefehle
• Speicherzugriffe
• Programmverzweigungen
Diese lassen sich in einem Prozessorzustandsdiagramm anschaulich darstellen (Bild 8.3).
R es e t
Be fe h l
h o le n
V er z w eig un g
L a d en
Sp eich e rn
I n cre m en t
Bild 8.3: Prozessorzustandsdiagramm
6
R e gis te r
n a ch
R e gis te r
A d reß ve ra rb e itun g
Spe ich er a dr eß re g is te r
( SA R )
Be fe h lsz ä h lre g is te r
(B Z R )
A dr ess e
Spe ich er ein h e it
(S E)
S ch r e ib e n / Le se n
Be fe h lsre g is te r
(B R )
M UX
C o d eü b ers e tz un g
( B efe h lse n ts ch lü ss e lu n g )
e xte r n e
A d r es se
Sp r u n ga dr e sse
Pro z e ss o r
S ta tu s B its
M ik ro pro g ra m m A d re ß fo rts ch a ltun g
(Se q ue n z e r)
Sta tu s B its
M ik ro pro g ra m m s pe ic h er
M UX
P i p el i n eR e gi ste r
A
B
C
D
E
F
A
B
C
D
E
F
:
:
:
:
:
:
Se q ue n z er -Ste u eru n g
St atu s b it- A us w a h l
Sp ru n g a dre ss e
Sp eich e r-S teu er un g
P roz e ss o r- Steu er un g
O p e ra n de n - Fe ld
Bild 8.4: Hardware für die Befehlsbearbeitung und –steuerung
7
8.4 Speicherverwaltung
Forderungen an einen Speicher:
•
Information schreiben (Speicher laden)
•
Information lesen
•
Informationseinheiten adressieren (zum gezielten Speichern und Wiederauffinden von
Information,
Unterscheidung
von
inhalts-
und
adreßorientierten
Adressierungsmechanismen)
Speicherkennzeichen
- Zugriffszeit (ns ... min)
- Zykluszeit (ns ... min),
- Zugriffsart (sequentiell, wahlfrei, zyklisch)
- Kapazität (Bit .. Mbit)
- Kosten usw.
Speicheranwendungen im Rechner:
•
Mikroprogrammspeicher, meist Lese- oder Schreib-Lesespeicher geringer Zugriffszeit
in Form von Halbleiterspeichern;
•
Pufferspeicher, für Befehle und Daten zwischen Arbeitsspeicher und Prozessor bzw.
zwischen verschiedenen Speicherebenen;
•
Arbeitsspeicher, in Form von Halbleiterspeichern;
•
Hintergrundspeicher meist noch in Form magnetomotorischer Schichtspeicher oder
optoelektronischer Speicher
Die Hauptaufgabe bzw. kritische Aufgabe von Speichern besteht darin, Programmteile
(Code) und Daten dem Prozessor mit möglichst kurzer Zugriffszeit zur Verfügung zu stellen;
das ist gleichbedeutend mit dem Ziel, die aktuellen Daten in der prozessornächsten
Speicherebene zu halten.
8
Speicherverwaltung:
• 1. und 2. Generation: Es ist nur ein Programm im Arbeitsspeicher, damit ist die
Verwaltung unproblematisch (user + resident)
• Mehrprogrammbetrieb erfordert, daß mehrere Programme gleichzeitig im Speicher
gehalten werden können, die vom Betriebssystem zu verwalten sind (fixed partitions,
variable partitions, overlay, swapping etc.)
Forderungen an eine Speicherorganisation:
1. eindeutige Adressierung
2. Schutz der Programme gegen unberechtigte Zugriffe
3. schnelle Zugriffsmöglichkeiten
4. gemeinsame Nutzungsmöglichkeit von Programmteilen durch verschiedene Programme
5. Gewährleistung günstiger Übergange zwischen aufeinanderfolgenden Programmen
8.4.1 Direkte und indirekte Adressierung
Direkte (absolute) Adressierung:
Programmadresse und Speicheradresse stimmen überein.
Relative Adressierung:
Speicheradresse gleich Addition von Programmadresse und Basisadresse
Basisad resse
Speicher
Program m ad resse
A dreßrechen werk
0
adress ierter
Speich erpla tz
N
Bild 8.5: Schema der relativen Adressierung
(Fall 1) Die Basisadresse ist Inhalt eines beliebigen Registers. Der Benutzer muß das zu
verwendende Register spezifizieren und für die Programmausführung laden
9
(Fall 2) Die Basisadresse ist Inhalt des Basisadreßregisters (BAR). Das BAR wird vom
Betriebssystem gesetzt und verwaltet
•
Vorteile: Der Speicherplatz im Arbeitsspeicher wird erst zur Laufzeit festgelegt;
Programme sind verschieblich; Benutzer im Fall (2) entlastet.
•
Nachteil: Eine Programmverschiebung zur Laufzeit erfordert eine Umspeicherung.
(1) Benutzer (Assembler, Compiler) erzeugt dann ein Programm mit absoluten Adressen:
•
Absprache unter den Benutzern über den verwendeten Speicherplatz erforderlich;
•
einmal erstellte Programme sind nicht verschieblich
(2) Benutzer (Assembler, Compiler) erzeugt ein Programm mit relativen Adressen und ein
Programm (i.a. als Lader oder Binder bezeichnet) wandelt dieses vor der Ausführung in ein
Programm mit absoluten Adressen um, d.h.:
•
es sind keine Absprachen zwischen den einzelnen Benutzern erforderlich;
•
die Programme sind verschieblich, bevor sie den Lader passiert haben;
•
Bibliotheksprogramme müssen mit gebunden werden.
P1
P2
P2
P4
P3
P4
P5
b e i vers ch ieb b are n
P ro g ram m en e rg ib t
sich nach B ee n d ig u ng vo n P 1, P 3, P 5
P6
LE ER
P6
LE ER
Bild 8.6: Wechselnde Arbeitsspeicherbelegung bei verschieblichen Programmen
Randbedingungen der angegebenen Adressierungsformen
10
• der ausführbare Code und die Daten stehen vollständig im Arbeitsspeicher,
• Programme müssen vor Bearbeitungsbeginn vollständig im Arbeitsspeicher stehen,
• die Adressierung bezieht sich nur auf den Arbeitsspeicher,
• Einlagerungen in dem Arbeitsspeicher werden durch den Benutzer vorgenommen,
• die Belastung für das Betriebssystem ist gering,
• einfache Implementierung, geringe Flexibilität für den Benutzer
8.4.2 Das virtuelle Speicherkonzept
Bisher einfache Adreßrechnung, die normalerweise durch Hardware unterstützt wird.
Virtuelles Speicherkonzept:
homogener logischer Adreßraum, der stückweise auf den physikalischen Adreßraum
abgebildet wird (durch Adreßtransformation).
Segmentdescriptor
Pagedescriptor
Displacement
Page- oder Segment Descriptoren können fehlen. Die Realisierung erfolgt üblicherweise so,
daß Arbeitsspeicher in Kacheln (page frames) eingeteilt werden, die genau eine Seite
aufnehmen können.
Adreßumsetzung
Fe ststellen o b e ine
S eite im A SP is t
Ja
Z u ord nu n g v on S eiten u n d K ache lnu m m er
N e in (Se ite nfe hler)
B e stim m en d e r H inte rgru nd ad res s e au s S eiten ta b elle
E in lagern d e r Se ite in d e n A S P
Z u o rd n u ng v o n S eiten u nd K ache lnu m m e r
11
Die Seitentabellen stehen normalerweise im Arbeitsspeicher. Daher sind im Falle eines
Seitenfehlers mehrere Speicherzugriffe erforderlich. Der zeitliche Aufwand kann durch die
Verwendung von Assoziativregistern verringert werden (Bild 8.7). Für den Fall, daß eine
Seite in den Arbeitsspeicher eingelagert werden muß, ist zu entscheiden, welche Seite
auszulagern ist. Dafür werden sog. Ersetzungsstrategien verwendet, wie z.B. FIFO, LRU,
Working-Set.
virtuelle Adresse
Seiten-Nr.
Displacement
... 0101
korrespondierendes
Speicherfeld
assoziatives
Speicherfeld
Kachel-Nr.
Displacement
... 0001
reale Adresse
Vergleichsausgänge
Bild 8.7: Adreßumsetzung mit Assoziativ-Speicher
12
Herunterladen