1. WDH. Maschinensprache, Hochsprache, Maschinensprache

Transcription

1. WDH. Maschinensprache, Hochsprache, Maschinensprache
1. WDH.
2. WDH.
Maschinensprache, Hochsprache,
Maschinensprache reflektiert Hardware der Prozessoren
z.B. der Hochsprachenbefehl a=b+c; wird von einem Compiler in
Maschinensprache übertragen - je nach Prozessortyp:
LDA b
MU-0
Didaktischer Prozessor und
ADD c
Akkumulator-Prozessor,
STR a
Register Speicher Maschine
v. Neumann Prozessor mit
dem geringsten
Hardwareaufwand
ARM
Register-Register Prozessor
LDR r1, b
LDR r2, c
ADD r0,r1,r2
STR r0, a
VAX
Speicher-Speicher Prozessor
ADD a,b,c
11/780
MU-0 und ARM Prozessor werden in der Vorlesung behandelt
Computer sind Geräte, die Programme ausführen.
Programme sind eine Folge von einzelnen Befehlen, die nacheinander
ausgeführt werden (siehe Kochrezept)
Programme sind eine Ansammlung von Nullen und Einsen, die im
Speicher stehen
Die von den Programmen zu verarbeitenden Daten (Operanden) liegen
in binärer Form im Speicher
Programm und Daten liegen in unterschiedlichen Bereichen des
Speichers – an unterschiedlichen Adressen
CPU
PC
IR
Akku
Alu
control unit
PC
IR
AKKU
Alu
Speicher
Programm (Code)
1. Befehl
2. Befehl
.
.
n. Befehl
a
c
b
- Programmzähler (program counter)
- Instruktionsregister (instruction register)
- Ergebnis und Operandenregister (Akkumulator)
- Rechenwerk für arithmetische und logische Operationen
3. Wdh.
Einfacher
MU0Programm
–
PC, IR und Akku sind Register, ein Register ist ein Hardwarebaustein,
der eine Anzahl von bits (binären Zeichen) laden, speichern und wieder
ausgeben kann.
Die Anzahl von bits im Register sind für Computerklassifikationen
wichtig. 8, 16, 32 oder 64 bit Prozessoren
Zahlen werden im Prozessor in Registern gemerkt, gespeichert
Egal, wie viel bit ein Register besitzt, es ist durch die Anzahl bits im
Wertebereich beschränkt. z.B. 8 bit Register:
Bereich 0000 0000 – 1111 1111b = 0 – 255 d
Bei arithmetischen Operationen mit vorzeichenlosen ganzen Zahlen
(Addition, Subtraktion) entsteht deshalb unter Umständen ein
Übertragbit (Carry), das der Prozessor in einem Statusregister setzt und
damit anzeigt, ob das Ergebnis von der gegebenen Breite des Registers
erfasst werden kann.
Negative Zahlen sind dadurch gekennzeichnet, dass das oberste bit
gesetzt ist.
1000 0000 = -128
1111 1111 = -1
Bei arithmetischen Operationen mit vorzeichenbehafteten ganzen Zahlen
(Addition, Subtraktion) entsteht deshalb unter Umständen ein Overflow ,
das der Prozessor in einem Statusregister setzt und damit anzeigt, ob das
Ergebnis richtig im Register gespeichert werden kann.
0100 0000 (64)
+0100 0000 (64)
=1000 0000 (-1) -> Overflow
Addition von fünf Zahlen
Befehl, Opcode, Mnemonic, Operand
Operanden sind bei MU0 immer Zahlen, die als Adresse auf den
Operandenspeicherbereich ausgewertet werden !
Das hat den Namen Direkte Addressierung

Documents pareils