Document

Werbung
INFORMATIK ÜBUNGSBLATT 6
1. Der Rechner ist logisch und räumlich eichgeteilt in:
* Rechnerwerk
Rechneroperationen, logische Verknüpfungen
* Speicher
Speicherung von Programmen und Daten
* Steuerwerk
Steuert Programmablauf
 Interpretation von Instruktionen
 Steuerung der Ausführung
* Ein- / Ausgabe
Für E/A von Daten und Programmen
2. Speicherprogrammierung („Universalrechner“)
* Struktur des Rechner unabhängig von der zu bearbeitenden
Aufgabe
* Bearbeitungsvorschrift (Programm) wird für jede Aufgabe
eingegeben und im Speicher abgelegt
3. Gleichheit von Daten und Programmen
* Ablage in einheitlichem Speicher (auch Programme sind
Daten)
4. Adress-Speicherung
* Jeder Speicherplatz erhält eine numerische Adresse
* Daten sind über diese numerische Adresse abrufbar.
5. Sequentielle Programmspeicherung
* Aufeinanderfolgende Programmbefehle (Einzelschritte der
Bearbeitungsvorschrift) werden in aufeinanderfolgenden
Speicherplätzen abgelegt
* Holen des nächsten Befehls: Erhöhung der Adresse um 1 (bzw.
um Befehlslänge)
6. Verfügbarkeit von Adress-Sprüngen
* Sprungbefehle:
Nach Befehl aus Adresse a kann Befehl aus Adresse b != a + 1
ausgeführt werden
* „in a steht Sprungbefehl nach b“
7. Verfügbarkeit bedingter Sprungbefehle
* Nach Ausführung des Befehls aus Adresse a wird mit dem
Befehl aus Adresse b
!= a + 1 fortgesetzt, falls Bedingung p erfüllt ist, sonst
(falls p nicht erfüllt) mit Befehl aus a + 1
 Zwischenergebnis determinieren, wie das Programm abläuft
 Abhängigkeit von zunächst unbekannte Größen
8. Verwendung des dualen Zahlensystems
* Von Neumann-Rechner sind Digitalrechner auf
Binärzahlbasis
27, 5, +, 3, *, 12, PUSH
PUSH
ADD
PUSH
MULT
PUSH
SUBT
POP
27
5
3
5
27
3
27 + 5
12
(27+5)*3
12
84
Speichere 84 und entferne aus dem Stack!
(27+5)*312
Eineradressbefehlsfolge:
LOAD
MULT
STORE
LOAD
ADD
STORE
B
8
MULTIPLICATION
A
MULTIPLICATION
R
Zweieradressbefehlsfolge:
MULT
ADD
STORE
B, 8
A
R
Dreieradressbefehlsfolge:
MULT
ADD
(STORE
B, 8
(R,) A
R)
Faustregeln bei Speicherbausteine:
 je größer die Kapazität, desto größer die Zugriffszeit
 je schneller, desto teurer
Wichtige Eigenschaften vieler Programme (Lokalitätsprinzip):
 viele zeitliche beieinander liegende Speicherzugriffe betreffen
benachbarte Adressen
 schnelle und teure Speicher werden ergänzt durch langsamere Speicher
höherer Kapazität:





Register
Cache
Arbeitsspeicher
Plattenspeicher
Magnetbänder, Netzwerkspeicher,…
-
Sprungbefehl
 Die Ausführung des Sprungbefehls bewirkt eine Übertragung
des Operanden (Sprungziel) in den Befehlszähler
 Damit wird im nächsten Zyklus das Programm an einer anderen
Stelle fortgesetzt
-
Unterprogrammaufruf
Ausführung des Befehls „Unterprogrammaufruf“ bewirkt:
 Übertragung aller Registerinhalte auf den Stack (Stackpointer
wird erhöht)
 Übertragung des Operanden (= Startadresse Unterprogramm)
in den Befehlszähler
-
Unterprogrammende (return)
 Rückübertragung vom Stack in die Register
 Damit enthält der Befehlszähler die Adresse des nächsten
Befehls des aufrufenden Programms
-
Reset
Bewirkt das Laden einer fix vorgegebenen Adresse in den
Befehlszähler
Zusätzliche Indirektion über Indexregister
Adressteil enthält Angaben über
Basisregister, Indexregister, Distanz
Effektive Adresse = [Basisregister] + [Indexregister] + Distanz
Vorteil:
Programmgesteuerter Zugriff auf zusammenhängende
Speicherbereiche (arrays, Felder):
Beispiel:
Summe von 100 benachbarten Speicherzellen:
 Distanz gibt Anfang des Bereichs an
 Schleife über einen Addierbefehl, wobei
 Indexregister von 0 bis 99 hochgezählt wird
Probleme: überschneiden von zwei oder mehreren Arbeitsschritten –
Deadlock
Herunterladen