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