7. Aufbau und Arbeitsweise einer mikroprogrammierten CPU

Größe: px
Ab Seite anzeigen:

Download "7. Aufbau und Arbeitsweise einer mikroprogrammierten CPU"

Transkript

1 7. Aufbau und Arbeitsweise einer mikroprogrammierten CPU 245

2 Takte und Phasen Register und Busse ALU Hauptspeicher Mikrobefehle ROM-Speicher Adressberechnung Mikroprogramme Maschinenbefehle Load-Increment-Execute Zyklus Mikroprogrammierte CPU 246

3 Takte und Phasen Durch die interne Uhr werden Takte geliefert. Jeder Takt wird in drei Phasen unterteilt. In jeder der Phasen liegt ein entsprechendes Signal P 1, P 2 oder P 3 auf 1 und alle anderen auf 0. Jeder Schalter ist nur in einer bestimmten Phase aktiv. P1: Phase 1 P2: Phase 2 Phase i Ein/Aus P3: Phase 3 Taktraten :: x MHz MHz = x ** Takte/sec. Taktdauer :: 1/x 1/x ** sec sec Bsp MHz MHz ns ns Ein Schalter, der nur in Phase i aktiv ist In Phase Pi ist Pi =1 und Pk = 0 für i <> k. 247

4 Die Bedeutung der Phasen Die Ausführung eines Mikrobefehls soll jeweils einen Takt erfordern. In jeder Phase wird ein bestimmter Teil eines Mikrobefehls erledigt. P1 Holphase Argumente für für CPU-Operationen werden bereitgestellt P2 Rechenphase CPU rechnet P3 Bringphase Speichere Ergebnis der der Berechnung 248

5 Aufbau einer CPU Eine Gruppe von 32-Bit-Registern ist über Busse mit Registern X, Y und Z verbunden. Den Buszugang regeln Schalter, die nur in bestimmten Phasen aktiv sind. X und Y sind die Operanden-, Z das Ergebnisregister der ALU P1 Holphase s 16 -s 31 aktiv Z-Bus s 32 Mehrzweckregister R0 s 16 X-Bus s 24 Y-Bus P2 Rechenphase ALU aktiv s 39 R1... R7 s 23 s 31 X-Register Y-Register P3 Bringphase s 32 -s 39 aktiv ALU Z-Register 249

6 Mikrobefehle Die Stellung der Schalter für einen bestimmten Takt wird im Maschinenwort zusammengefaßt. Das Maschinenwort bleibt einen Takt lang gültig und steuert in diesem Takt die Arbeitsweise der CPU. Es wird daher als Mikrobefehl bezeichnet. Z-Bus Mehrzweckregister X-Bus Y-Bus s 32 R0 s 16 s 24 Schalter Aktive Phase s s 31 1 s s 39 3 s 39 R1... R7 s 23 s 31 In einem Takt passiert z.b.: Phase 1 : R 1 X, R 7 Y Phase 2 : ALU rechnet Phase 3 : Z R 0, R 1 X-Register ALU Y-Register Maschinenwort s 16 s 24 s 32 s 39 Z-Register X-Bus Y-Bus Z-Bus 250

7 Funktionen der ALU Die ALU unseres CPU-Modells kann 128 Funktionen ausführen. Dafür müssen die Operanden in den X- bzw. Y-Registern liegen. Der Funktionswert kommt in das Z-Register. Meist wird dabei auch das Flag-Register gesetzt. Die Vergleichsoperationen verändern nur das Flag-Register. ALUFC Arithmetische Operationen Logische Operationen Konstante Operationen wie wie mit mit Kopie Kopie der der ALU ALU Flags Flags in in das das CC-Register ALU-FC Flags X-Register Y-Register ALU Z-Register 251

8 Befehlsumfang der ALU (FC 0-63) ALUFC Operation 0 Z := Z (Wait) (Wait) 1 Z := :=--Z 2 Z := X 3 Z := :=--X 4 Z := := Y 5 Z := :=-Y-Y 6 Z := := Y, Y, X <--> <--> Y 7 Z := := X, X, X <--> <--> Y 8 Z := := Y, Y, Y --> --> X 9 Z := := X+1 X Z := := X-1 X Z := := X+Y X+Y Z := := X-Y X-Y Z := := X MUL MUL Y Z := := X DIV DIV Y Z := := X MOD MOD Y Falls Falls < ALUFC < :: Z, Z, X := := ALUFC ALUFC Operation Z := := X SAL SAL Y Z := := X SAR SAR Y Z := := X CMP CMP Y, Y, arith. arith Z := := X AND AND Y Z := := X NAND NAND Y Z := := X OR OR Y Z := := X NOR NOR Y Z := := X XOR XOR Y Z := := X NXOR NXOR Y Z := := X SLL SLL Y Z := := X SLR SLR Y Z := := X CMP CMP Y, Y, log. log X := := X := := FFFFFFFFh Y := := Y := := FFFFFFFFh Falls Falls < ALUFC < :: Z, Z, Y := := ALUFC

9 Einbindung der ALU Die Operation der ALU wird in ALUFC eingestellt. In Phase 2 berechnet die ALU aus den Inputs in X und Y ein Ergebnis, das dann in Z ausgegeben wird. ALU-FC wird ein Teil des Mikrobefehls ist ALU-Code für Addition (Z:=X+Y) In einem Takt passiert z.b.: Phase 1 : R 1 X, R 7 Y Phase 2 : Z := X+Y Phase 3 : Z R 0, R 1 Maschinenwort Z-Bus s 32 s 39 Mehrzweckregister R0 R1... R7 s 16 s 23 X-Bus Y-Bus s 24 s 31 X-Register Y-Register Flags ALU-FC ALU Z-Register s ALU-FC s 16 s 24 s 32 s X-Bus Y-Bus Z-Bus 253

10 Der Hauptspeicher Schalter Aktive Phase s 43 1 s s 42 3 Z-Bus s 40 s 41 MAR Hauptspeicher MDR s 42 X-Bus 0 1 Mode s Format Y-Bus Der Arbeitsmodus des Hauptspeichers wird in den Mode Schaltern eingestellt: lesen = 01, schreiben = 10, warten sonst. Die Format Schalter geben an, ob auf 1, 2 oder 4 Bytes zugegriffen wird. In MAR (Memory Address Register) wird die Adresse eingestellt. Über MDR (Memory Data Register) gelangen die Daten von bzw. zum Speicher. Eine typische Leseoperation s 40 s 43 s 46 s Speicher Md Ft 254

11 CPU mit RAM Zum Zum Schreiben sind sind zwei zwei Takte Takte notwendig: Phase Phase 3 :: Z MDR MDR Phase Phase 1 :: Phase Phase 2 :: Adresse berechnen Phase Phase 3 :: Z MAR MAR s 39 s 40 MAR R0 R1... R7 Hauptspeicher MDR s Mode s Format X-Register Y-Register s 9 ALU-FC Flags ALU-FC ALU Z-Register s 16 s 24 s 32 s 39 s 40 s 43 s 46 s X-Bus Y-Bus Z-Bus Speicher Md Ft 255

12 Das ROM ROM MCAR MAR Hauptspeicher Mode MCDR MDR Format ROM ROM = Read ReadOnly OnlyMemory Ein Ein Speicher, in in dem dem die die Mikrobefehle stehen. MC MC = micro microcode code R0 R1... MCAR MCAR ist ist Bit Bit breit breit Adressen MCDR MCDR ist ist Bit Bit breit. breit. ROM-Größe ca. ca. 6 KByte KByte Es Es gilt gilt immer immer :: Mode Mode = lesen lesen Format = Bit Bit R7 Flags X-Reg ALU-FC Z-Reg Y-Reg s 1 s 9 s 16 s 24 s 32 s 39 s 40 s 43 s 46 s 49 MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 256

13 Adressberechnung ROM MCDR Adressberechnungseinheit MCAR Während die die CPU CPU den den gegenwärtigen Befehl Befehl noch noch bearbeitet, berechnet eine eine Adressberechnungseinheit daraus daraus die die Adresse des des nächsten Befehls im im ROM. ROM. Diese Diese Adresse wird wird im im MCAR MCAR abgelegt und und der der gefundene nächste Befehl Befehl liegt liegt danach im im MCDR MCDR vor. vor. Der Der erste erste Teil Teil des des Mikrobefehles (1 (1 Byte) Byte) gibt gibt an, an, wie wieder nächste Befehl Befehl zu zu ermitteln ist. ist :: MCAR MCAR := := 4 ** MC-Next :: MCAR MCAR := := MCAR MCAR *MCNext :: MCAR MCAR := := MCAR MCAR *MCNext s 1 s 9 s 16 s 24 s 32 s 39 s 40 s 43 s 46 s 49 MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 257

14 Absolute Adressierung ROM MCAR MAR Hauptspeicher Mode MCDR MDR Format Mit Mit MCNEXT können der der Mikrobefehle im im ROM ROM adressiert werden. Adress- Ist Ist berechnungs- einheit nächste Mikrobefehl 4*MC-Next MC=00, dann dann ist ist der der R0 R1... R7 X-Reg Y-Reg Flags ALU-FC s 1 s Z-Reg s 16 s 24 s 32 s 39 s 40 s 43 s 46 s 49 MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 258

15 Segmente Je 4 ROM-Adressen werden zu einem Segment zusammengefasst. Absolute Sprünge sind nur an den Segmentanfang möglich. Segment 0: ROM MCAR Segment 1: Segment 2: MCDR 259

16 Einfache Sprünge Für MC <> 11 wird die Adressberechnung folgendermaßen durchgeführt: Segment 0: Segment 1: Segment 2: ROM :: MCAR MCAR := := 4 ** MC-Next :: MCAR MCAR := := MCAR MCAR *MC-Next :: MCAR MCAR := := MCAR MCAR *MC-Next MCAR An den Anfang eines Segmentes Für MC-Next = 0 zum nächsten Befehl. Vom letzten Befehl eines Segmentes immer zum Anfang eines nachfolgenden MCDR Für MC-Next = 0 zum nächsten Befehl. Vom letzten Befehl eines Segmentes immer zum Anfang eines vorhergehenden 260

17 Das Flag-Register Im Flagregister hat jedes einzelne Bit eine eigenständige Bedeutung. Viele Operationen oder Vergleichsoperationen zeigen das Vorliegen besonderer Eigenschaften durch das Setzen bestimmter Bits an. Flags Eine Eine Vergleichsoperation X < Y setzt setzt falls falls X --Y Bit Bit 0 :: =0 =0 Bit Bit 1 :: >0 >0 Bit Bit 2 :: <0 <0 Eine Eine arithmetische Operation Z := X Y setzt setzt falls falls Ergebnis Bit Bit 0 :: = 0 Bit Bit 1 :: > 0 Bit Bit 2 :: < 0 Bit Bit 3 :: Overflow 261

18 Bedingte Sprünge Bedingte Sprungbefehle beziehen sich immer nur auf den Inhalt der Flags. Mikrocode-Sprungbefehle besitzen eine Maske, d.h. ein Bitmuster. Diese Maske wird durch ein AND mit dem Flag-Register verknüpft. Ist das Resultat <> 0000, so wird der Sprung ausgeführt. Ein Ein Sprung mit mit der der Maske Maske wird wird genau genau dann dann ausgeführt, wenn wenn Bit Bit 1 oder oder Bit Bit 2 des des Flag-Registers eine eine 1 enthält, also also wenn wenn das das Ergebnis der der letzten letzten Operation <> <> 0 war, war, oder oder das das Ergebnis des des letzten letzten Vergleiches ungleich ergab. ergab Flags Z > < Of 262

19 Berechnete Sprünge Berechnete Sprünge sind sind solche, deren deren Sprungziel dynamisch berechnet werden kann. kann. Dafür Dafür ist ist der der Modus Modus MC MC = vorgesehen. Ein Ein Register MCOP MCOP kann kann dazu dazu über über den den Z-Bus Z-Bus geladen werden. Der Der Schalter s 44 öffnet 44 öffnet diesen diesen Datenweg. MCNext wird wird aufgespalten in in S-Mode und und Maske. Adressberechnungseinheit Mit Hilfe der Maske kann durch logisches AND festgestellt werden, welches Bit des Flagregisters gesetzt ist. MCOP s 44 IF S-Mode <> 00 and X-Register (Maske AND Flags) Y-Register = 0 THEN MCAR := MCAR+1 ELSE MCAR := 4*MCOP S-Mode Maske Flags ALU s 1 s s 16 s 24 s 32 s 39 MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft s 44 s 40 s 46 s

20 Ein Mikroprogramm Das Das folgende Mikroprogramm berechnet die die Summe aller aller Zahlen Zahlen von von 1 bis bis N, N, wobei wobei N anfangs als als 1 Byte Byte Größe Größe an an der der Adresse 00h 00h liegt. liegt. Das Das Ergebnis soll soll in in 01h 01h gespeichert werden. Initialisieren P 2: Z := 0 P 3: Z --Z-Bus -> R 0 -R 7, MAR MOV MOV R 0, 0,[00h] P 1: Mode = 01 (Read) P 3: MDR --Z-Bus -> R MCOP MCOP := := 1 P 2: Z := 1 P 3: Z --> MDR P 1: MDR --> MCOP MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 264

21 Ein Mikroprogramm (Fortsetzung) Add Add R 2, 2, R 0 0 P 1: R 0 -- X-Bus--> X, R 2 --Y-Bus-> Y P 2: Z := R 0 +R 2 P 3: Z --Z-Bus-> R P 1: R 0 - X-Bus--> X DEC DEC R 0 0 P 2: Z := X-1, CC JNZ JNZ 4 P 3: Z --Z-Bus-> R P 2: Z := 1 MOV MOV [01h], [01h], R 2 2 P 3: Z --> MAR Goto Goto8 P1: R 2 --> X P 2: Z := X P 3: Z --> MDR, Mode = Write MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 265

22 Maschinensprache Mikrocode-Programmierung ist für praktische Zwecke zu umständlich. Eine abstraktere Sicht der CPU zeigt nur noch Register, Speicher, Operationen, und Sprungbefehle, verbirgt aber Schalter, Takte und Phasen, Sprungmodi und Masken. Ein typischer Maschinenbefehl hat die Form : Op R 1, R 2 dabei ist Op eine Operation, R1 und R2 sind Register. Die Bedeutung ist : R 1 := R 1 Op R2 Beispiele : Add R1, R2 Mov R1, R2 And R1, R2 Bedingte Sprünge bestehen aus einer Vergleichsoperation mit anschließender Sprunganweisung, die auf dem Ergebnis des Vergleiches basiert Op R 1, R 2 CondJmp Ziel Jede Operation, die die Flags der ALU beeinflusst, kann als Vergleichsoperation dienen. Die Sprungbedingung ergibt sich aus den Flags. Beispiel : Sub R1, R2 JLE

23 Aufgaben der Register Die Operanden von Maschinenbefehlen sind Register oder Speicherplätze. Es dürfen aber nie beide Operanden Speicherplätze sein. Die Register werden für bestimmte Zwecke reserviert, etwa als Programmzähler, als Zeiger auf den Stack oder den Datenbereich. Einige Register behält man als Rechenregister. Diese heißen Allzweckregister oder Akkumulatoren. Die Maschinensprache-Befehle sind meist nur mit Allzweckregistern durchführbar. R 0 R 1 R 2 R 3 R 4 R 5 R 6 R 7 Prog. Counter PC Akkumulator A Akkumulator B Loop Index I Hilfsregister Aux I/O Port Data Pointer Stack Pointer Erlaubt : Mov A, B Add A, [021h] AND B,A Nicht erlaubt : Add PC, A Mov I, [0FFh] 267

24 Mikroprogrammierte Maschinenbefehle Jeden Maschinensprachebefehl können wir durch ein kurzes Mikroprogramm implementieren. ADD ADD A, A, B ADD ADD A, A, [[ B ]] Mov MovA, A, MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 268

25 Sprünge JNZ JNZ 7 Falls das Ergebnis der vorigen Operation = 0, führe den nächsten Maschinenbefehl aus. MCOP sei entsprechend gesetzt. Sonst setze PC (R0) auf 7 (Sprung!) Flags Z > < Of 1000 AND Flags <> 0 <==> Z = 1 SM Maske MC MC-Next ALU-FC X-Bus Y-Bus Z-Bus Speicher Md Ft 269

26 Der Maschinensprache-Interpreter Jeder Maschinensprachebefehl erhält eine Nummer, den OpCode. Er wird als kurze Mikrocoderoutine im ROM abgelegt. Die Routine beginnt immer am Anfang eines Segmentes. Der OpCode ist identisch mit der Segmentnummer. ROM Seg. 0: Seg. 1: Seg. 2: 8 Befehl mit OpCode Seg. 3: 12 Befehl mit OpCode

27 Der Mikrocode im ROM Segment 0 enthält Initialisierungsbefehle. Segment 1 enthält einen Load-Increment-Execute-Zyklus. Dies ist ein Interpreter für Maschinensprache. Jeder Maschinensprachebefehl endet mit einem Sprung an den Anfang von Segment 1. Seg. 0: Seg. 1: ROM Initialisierungsroutine Load-Increment-Execute Zyklus Zyklus Seg. 2: 8 Befehl mit OpCode 2 9 Endet mit Sprung an Seg Seg. 3: 12 Befehl mit OpCode 3. Endet mit Sprung an Seg

28 Load-Increment-Execute-Zyklus Der Load-Increment-Execute-Zyklus besteht aus 2 Mikrobefehlen. ROM Lade den Programmzähler Jump Execute P 1: R 0 ->X P 2: Z:=X, P 3: Z->MAR, P 1: Lies 1Byte, MDR->MCOP P 2: Z:=X+1, MCAR := 4*MCOP P 3: Z->R 0, Z->MAR Jeder Opcode, der Argumente benötigt, kann davon ausgehen, daß MAR auf das erste benötigte Argument zeigt. * Die obigen Befehle dürfen keine Flags verändern. Entweder müssen also die Flags gerettet (PUSHF) und später wiederhergestellt werden (POPF) oder es sind die Varianten der Befehle Z:=X und Z:= X+1 zu benutzen, welche die Flags nicht beeinflussen. 272

29 Maschinencode im RAM Während das Programm im ROM fest vorgegeben und nicht veränderbar ist, kann im RAM ein Programm in Form von Maschinenbefehlen zusammen mit ihren Argumenten liegen. Der Load-Increment-Execute-Zyklus führt dieses Programm aus. RAM Add Arg 1 Arg 2 Inc Arg 1 Jmp Arg 1 Add Arg 1 Clc Add Arg 1 Arg 2... Jeder Opcode, der Argumente benötigt, kann davon ausgehen, dass MAR auf das erste benötigte Argument zeigt. Die Implementierung jedes Opcodes muss garantieren, dass hinterher PC auf dem Opcode des nächsten Befehls steht. 273

30 Entwicklung eines Maschinenspracheprogrammes Pascal-Program { Gauss'sche Summe: Berechne die die Summe aller Zahlen von von 1 bis bis N } VAR VAR N,sum : Integer; BEGIN sum sum := := 0 ; WHILE n > 0 DO DO Begin sum sum := := sum+n ; n := := n-1 n-1 End End END END 274

31 Entwicklung eines Maschinenspracheprogrammes Ersetze Programmstrukturen durch Sprünge (Linearisiere das Programm) VAR VAR n,sum : Integer; LABEL loop,ende; BEGIN sum sum := := 0 ; loop: IF IF n = 0 Goto ende ; sum sum := := sum+n ; n := := n-1 n-1 ; Goto loop ende: END END 275

32 Entwicklung eines Maschinenspracheprogrammes Wähle Register oder Speicherplätze für die Variablen, benutze Assemblerbefehle ; Registerbelegung: ; sum sum --> --> A ; n --> --> B ; MOV MOV A,0 A,0 loop:cmp B,0 B,0 JE JE ende ADD ADD A,B A,B DEC DEC B JMP JMP loop ende:stop 276

33 Entwicklung eines Maschinenspracheprogrammes Implementiere die benötigten Befehle im Simulator. Hier sind es: Befehl Länge OpCode * * ) JMP JMP <adr> 2 02h 02h JE JE <adr> 2 03h 03h DEC DEC B 1 16h 16h ADD ADD A,B A,B 1 17h 17h CMP CMP B,<num> 2 18h 18h MOV MOV A,<num> 2 26h 26h STOP 1 FFh FFh *) Der OpCode kann frei gewählt werden. Die obigen Zahlen sind aus der Beispieldatei Summe.rom. 277

34 Entwicklung eines Maschinenspracheprogrammes 5.a 5.a Übertrage das Programm in das RAM. Im ersten Durchlauf bleiben Sprungadressen noch offen. Position: Inhalt: A 0B... 26h 00h 18h 00h 03h? 17h 16h 02h? FFh.. MOV A CMP B JE ADD A,B DEC B JMP STOP 5.b 5.b Position: Inhalt: Trage die richtigen Sprungadressen nach. Dies nennt man "Backpatching" A 0B... 26h 00h 18h 00h 03h 0Ah 17h 16h 02h 02h FFh.. 278

35 Ausführung des Maschinenspracheprogrammes Lade Datei in in ROM Implementiere "Load-Increment-Execute" Zyklus Implementiere die die benötigten Maschinenbefehle Schreibe Maschinenprogramm in in das das RAM Drücke "Reset" Schreibe das das gewünschte N in in Register B (=R (=R 2 ) 2 ) Führe das das Programm aus, aus, entweder --phasenweise --imim Drei-Phasen-Takt --in in L-I-E Schritten --vollständig (Break-Point-Ablauf) *) *) *) *) Schritte 2.,3.,4. können gespart werden, wenn die fertige Datei "Summe" geladen wird. 279

Der CPU-Simulator MikroSim

Der CPU-Simulator MikroSim Philipps-Universität Marburg Hessische Hochschulen Der CPU-Simulator MikroSim H. Peter Gumm, Martin Perner FB Mathematik, FG Informatik, Philipps-Universität Marburg Hans-Meerwein-Straße (Lahnberge) D-35032

Mehr

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

Mehr

Der Intel 8086 Reto Gurtner 2005

Der Intel 8086 Reto Gurtner 2005 Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE

Mehr

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht Kap.3 Mikroarchitektur Prozessoren, interne Sicht Kapitel 3 Mikroarchitektur 3.1 elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung (zur Realisierung der Befehlsabarbeitung

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 3 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Rechnerstrukturen 1: Der Sehr Einfache Computer

Rechnerstrukturen 1: Der Sehr Einfache Computer Inhaltsverzeichnis 1: Der Sehr Einfache Computer 1 Komponenten.................................... 1 Arbeitsweise..................................... 1 Instruktionen....................................

Mehr

Geräteentwurf mit Mikroprozessoren 1

Geräteentwurf mit Mikroprozessoren 1 Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 4 AM 21.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set

Mehr

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

1 Rechnerstrukturen 1: Der Sehr Einfache Computer David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I Inhaltsverzeichnis 1 Rechnerstrukturen 1: Der Sehr Einfache Computer 1 1.1 Komponenten................................. 1

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das

Mehr

Vorstellung (Wdh. für die Neuen )

Vorstellung (Wdh. für die Neuen ) Vorstellung (Wdh. für die Neuen ) Mein Name: Christian Mandery Studiengang: Diplom-Informatik im 4. Semester (ich höre also im Moment selbst noch Technische Informatik 2) E-Mail (bei Fragen und zum Senden

Mehr

9. Assembler: Der Prozessor Motorola 68000

9. Assembler: Der Prozessor Motorola 68000 9.1 Architektur des Prozessors M 68000 9.2 Adressierungsarten des M 68000 9-1 9.1 Beschreibung des Prozessors M 68000 Charakteristische Daten des 56 Maschinenbefehle 14 Adressierungsarten Zweiadressmaschine

Mehr

9. Assembler: Der Prozessor Motorola 68000

9. Assembler: Der Prozessor Motorola 68000 9.1 Architektur des Prozessors M 68000 9.2 Adressierungsarten des M 68000 9-1 9.1 Beschreibung des Prozessors M 68000 Charakteristische Daten des 56 Maschinenbefehle 14 Adressierungsarten Zweiadressmaschine

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Schnell-Einstieg in den Mikrocodesimulator MikroSim2000

Schnell-Einstieg in den Mikrocodesimulator MikroSim2000 Schnell-Einstieg in den Mikrocodesimulator MikroSim2000 Die folgenden Seiten sollen dem Neueinsteiger einen schnellen Überblick über die Tragweite der Mikrocodesimulation mit Hilfe des Mikrocodesimulators

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Übung 7 Rechnerstrukturen

Übung 7 Rechnerstrukturen Übung 7 Rechnerstrukturen Aufgabe 7.: X X2 X3 X4 F F2 F3 F4 X-X4 sind alle möglichen Binär-Werte. F-F2 ist das Ergebnis der Multiplikation von (XX2) und (X3X4). Dabei funktioniert die Multimpliation folgendermaßen:

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 20.03.09 4-1 Heutige große Übung Ankündigung

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Die HAM. Die Hypothetische Akku-Maschine

Die HAM. Die Hypothetische Akku-Maschine Die HAM Die Hypothetische Akku-Maschine Inhaltsverzeichnis 1 Die Ham 1.1 Überblick 1.2 Hardware Funktion der HAM 1.3 Der Assembler-Befehlssatz Addition zweier Zahlen 1.4 Der HAM-Editor Addition zweier

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000

5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000 5. Programmierung in Maschinensprache (Assembler) 5.1 Beschreibung des Prozessors M 68000 5.1 Beschreibung des Prozessors M 68000 5.2 Adressierungsarten des M 68000 5.3 Maschinenbefehle des M 68000 5.4

Mehr

Assembler Kontrollstrukturen

Assembler Kontrollstrukturen Assembler Kontrollstrukturen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Kontrollstrukturen 1/21 2008-04-03 Kontrollstrukturen

Mehr

5. Programmierung in Maschinensprache

5. Programmierung in Maschinensprache 5. Programmierung in Maschinensprache (Assembler) 5.1 Beschreibung des Prozessors M 68000 5.2 Adressierungsarten des M 68000 5.3 Maschinenbefehle des M 68000 5.4 Unterprogrammtechnik 5. Maschinensprache

Mehr

Lösung 5. Übungsblatt

Lösung 5. Übungsblatt Fakultät Informatik, Technische Informatik, Lehrstuhl für Eingebettete Systeme Lösung 5. Übungsblatt Entwicklung eines Mikroprogrammsteuerwerks und Maschinen-programmierung für einen einfachen Rechner.

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU Kontrollpfad der hypothetischen CPU fast alle Algorithmen benötigen FOR- oder WHILE-Schleifen und IF.. ELSE Verzweigungen Kontrollfluß ist datenabhängig CCR speichert Statussignale N,Z, V,C der letzten

Mehr

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden Rechnerstrukturen 7. Assembler Assemblerprogrammierung SML-CPU Inhalt SML-Assembler Adressierungsarten Instruktionssatz Assembler-Direktiven Binden 7.2 1 Maschinensprache Instruktion = Bitkombination Für

Mehr

"Organisation und Technologie von Rechensystemen 4"

Organisation und Technologie von Rechensystemen 4 Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation

Mehr

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht

Kap.3 Mikroarchitektur. Prozessoren, interne Sicht Kap.3 Mikroarchitektur Prozessoren, interne Sicht 3.1 Elementare Datentypen, Operationen und ihre Realisierung (siehe 2.1) 3.2 Mikroprogrammierung 3.3 Einfache Implementierung von MIPS 3.4 Pipelining Implementierung

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

ERA-Zentralübung Maschinenprogrammierung

ERA-Zentralübung Maschinenprogrammierung ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

1. Inhaltsverzeichnis

1. Inhaltsverzeichnis Mikrocomputer Simulator Inhaltsverzeichnis _ 2 _ 1. Inhaltsverzeichnis 1. INHALTSVERZEICHNIS...2 2. AUFBAU UND BEDIENUNG...3 2.1. EINFÜHRUNG...3 2.1.1. TECHNISCHE DATEN... 3 2.1.2. VERWENDUNGSZWECK...

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Einführung IMP-Syntax Reduktionssemantik Maschinen-Semantik. Teil IV. Semantik imperativer Sprachen

Einführung IMP-Syntax Reduktionssemantik Maschinen-Semantik. Teil IV. Semantik imperativer Sprachen Teil IV Semantik imperativer Sprachen 201 1. Einführung Alternativen zur Beschreibung der Semantik: natürliche Sprache (bisher, unpräzise) operational Reduktionssemantik (vgl. Haskell-Semantik in Kap.

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen)

Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen) rof. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/18 Praktikum Mikrorechner 5 (Bitadressen, Sprünge und Schleifen) Prof. Kemnitz Institut für Informatik, Technische

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur 0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung

Mehr

4. Mikroprogrammierung (Firmware)

4. Mikroprogrammierung (Firmware) 4. Mikroprogrammierung (Firmware) 4. Ein Mikroprogramm-gesteuerter Computer 4.2 Mikroprogramm-Beispiel: Multiplikation 4.3 Interpretation von Maschinenbefehlen durch ein Mikroprogramm 4. Mikroprogrammierung

Mehr

Bitte in Druckschrift ausfüllen: Nachname: Vorname: Fachbereich: Matrikelnummer: Geheimwort: Bitte nicht ausfüllen:

Bitte in Druckschrift ausfüllen: Nachname: Vorname: Fachbereich: Matrikelnummer: Geheimwort: Bitte nicht ausfüllen: Prof. Dr. B. Seeger Klausur zur Informatik IIIa WS 99/00 Martin Schneider Beginn: Ende: 8:15 Uhr 10:45 Uhr Bitte in Druckschrift ausfüllen: Nachname: Fachbereich: Matrikelnummer: Geheimwort: Tragen Sie

Mehr

Computer-Systeme. Teil 5: Central Processing Unit (CPU)

Computer-Systeme. Teil 5: Central Processing Unit (CPU) Computer-Systeme Teil 5: Central Processing Unit (CPU) Computer-Systeme WS 12/13- Teil 5/CPU 05.11.2012 1 Literatur [5-1] [5-2] [5-3] Bauer, F.L.: Wer erfand den von Neumann-Rechner? Informatik Spektrum,

Mehr

Computer-Systeme Teil 5: Central Processing Unit (CPU)

Computer-Systeme Teil 5: Central Processing Unit (CPU) Computer-Systeme Teil 5: Central Processing Unit (CPU) Computer-Systeme WS 12/13- Teil 5/CPU 05.11.2012 1 Literatur [5-1] [5-2] [5-3] Bauer, F.L.: Wer erfand den von Neumann-Rechner? Informatik Spektrum,

Mehr

Informatikgrundlagen I Grundlagen der Informatik I

Informatikgrundlagen I Grundlagen der Informatik I Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Einführung,

Mehr

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung

Mehr

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

Mehr

Rechnerarchitektur Zusammengetragen vom Marc Landolt

Rechnerarchitektur Zusammengetragen vom Marc Landolt Rechnerarchitektur Zusammengetragen vom Marc Landolt http://ml.buzzernet.com 1/14 1 Die verschiedenen Betrachtungsebenen Rechnerebene Hauptblockebene Registertransferebene Schaltwerkebene Ebene elektrischer

Mehr

Assembler (NASM) Crashkurs von Sönke Schmidt

Assembler (NASM) Crashkurs von Sönke Schmidt Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

MOP: Befehlsliste für den Mikrocontroller 8051 Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz

Mehr

... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle

... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle Adressierung und Befehlsfolgen (1) Speicherbelegung Hauptspeicheradressen Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle Address 0 1 i k 2-1 n bits...... word 0 word 1 b n-1 b 1 b

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

Mehr

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter ALU ALU-Aufbau Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus Addierer Logischer Einheit Shifter Eingänge in eine ALU: zwei Operanden, Instruktionscode OP1 OP0 Ausgänge einer ALU: Ergebnis,

Mehr

Die Arithmetisch-Logische Einheit ALU 74181

Die Arithmetisch-Logische Einheit ALU 74181 Die Arithmetisch-Logische Einheit ALU 74181 Blockschaltbild: IC 74181 Pin-Ansicht S0 S1 S2 S3 M C n P G C n + 4 A=B B0 A0 S3 S2 1 2 3 4 24 23 22 21 +5V A1 B1 A2 A0 B0 A1 B1 A2 B2 A3 B3 F0 F1 F2 F3 S1 S0

Mehr

Computersysteme. Stacks Anwendung in der Assembler-Programmierung

Computersysteme. Stacks Anwendung in der Assembler-Programmierung Computersysteme Stacks Anwendung in der Assembler-Programmierung 1 Unterprogramme Betrachten wir zunächst folgendes Programm m_mod_n : /Berechne m modulo n für positive Integerwerte m und n. /Beim Programmstart

Mehr