Mikrocomputertechnik 2.Mikroprozessor

Ähnliche Dokumente
Folie 1. Folie 2. Folie 3

Tutorium Rechnerorganisation

Mikrocomputertechnik. Einadressmaschine


Mikroprozessor als universeller digitaler Baustein

RO-Tutorien 3 / 6 / 12

Die Mikroprogrammebene eines Rechners

Mikrocomputertechnik 2.Mikroprozessor

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

Teil 2: Rechnerorganisation

9. Assembler: Der Prozessor Motorola 68000

Von-Neumann-Architektur

Informatikgrundlagen I Grundlagen der Informatik I

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

Kap 4. 4 Die Mikroprogrammebene eines Rechners

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

Einführung in die Informatik

Johann Wolfgang Goethe-Universität

Rechnergrundlagen SS Vorlesung

F Ein einfacher Modellprozessor

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Mikrocomputertechnik

Aufbau eines Taschenrechners

H Hypothetischer Prozessor

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

L3. Datenmanipulation

Prinzipieller Aufbau und Funktionsweise eines Prozessors

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

Allgemeine Struktur eines Digitalrechners

Teil 1: Prozessorstrukturen

Der Toy Rechner Ein einfacher Mikrorechner

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

C. BABBAGE ( ): Programmgesteuerter (mechanischer) Rechner

Vorlesung Rechnerarchitektur. Einführung

Rechner Architektur. Martin Gülck

Mikrocomputertechnik

Informatik I Modul 5: Rechnerarithmetik (2)

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

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert.

ZENTRALEINHEITEN GRUPPE

Microcomputertechnik

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

1. Übung - Einführung/Rechnerarchitektur

Integrierte Schaltungen

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

Programmierbare Logik Arithmetic Logic Unit

Helmut Bähring. Mikrorechner Technik. Übungen und Lösungen. Mit 78 Abbildungen und CD-ROM. Springer

Mikroprozessortechnik Grundlagen 1

Assembler Integer-Arithmetik

Algorithmen zur Integer-Multiplikation

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Teil 1: Prozessorstrukturen

Fachbereich Medienproduktion

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

3. Rechnerarchitektur

Datenpfad einer einfachen MIPS CPU

Elementare logische Operationen

Geräteentwurf mit Mikroprozessoren 1

1. Übung aus Digitaltechnik Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

3. Grundlagen der Rechnerarchitektur

Teil VIII Von Neumann Rechner 1

Rechnergrundlagen. Vom Rechenwerk zum Universalrechner

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

Der 8086/88 als Rechenkünstler

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

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

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Zahlendarstellungen und Rechnerarithmetik*

Teil Rechnerarchitekturen M03. Darstellung von Zahlen, Rechnen, CPU, Busse. Corinna Schmitt

Mikrocomputertechnik. Adressierungsarten

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Grundlagen der Rechnerarchitektur

TI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

Assembler und Hochsprachen

Rechnerarchitektur Zusammengetragen vom Marc Landolt

INFORMATIK Oberstufe. Funktionsweise eines Rechners

Prozessorentwurf (2) Einführung: im weiteren wird der Entwurf des Datenpfades Steuerwerkes eingeführt.

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach

Technische Informatik. Der VON NEUMANN Computer

Philipp Grasl PROZESSOREN

Vorwort 8. Kap. 1: Grundlagen 10

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

2. Komponenten eines Mikroprozessors

Praktikum Grundlagen der Elektronik

Informationsverarbeitung in IT-Systemen

6. Zahlendarstellungen und Rechnerarithmetik

Grundlagen der Informationsverarbeitung:

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

Prozessor HC680 fiktiv

Aufbau und Funktionsweise eines Computers

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Arbeitsfolien - Teil 4 CISC und RISC

D.8 Versuchsreihe 8: Steuerwerk - Teil I

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Teil III: Wat macht ene Mikrokontroller?

Transkript:

2.2 Die Elemente eines Mikroprozessors 2.2.1 Struktur eines 16/32 Bit µp Um den Datenfluß bei der Befehlsbearbeitung innerhalb eines µp zu betrachten, gehen wir von einem Modell eines 16/32 Bit µ aus. Das Modell ist dem Prozessor MC 68000 von Motorola nachempfunden. Registersatz D (Daten) Registersatz A (Adressen) Operand 1 OR1 ALU Operand 2 OR2 32 16 IDB 32 PC +2 AR OPC QU2/ZI MODE2 MODE1 QU1 Programmzähler Operandenadresse 16 32 IR 32 32 32 32 PSR Rechenwerk Treiber 32 16 24 Datenbus Adressbus PSR PC IR DBT IDB IAR Prozessorstatusregister Zero-Flag Ergebnis = 0 Negativ-Flag Ergebnis < 0 Carry-Flag Overflow-Flag Übertrag Bereichsüberschreitung Programmzähler (Programcounter) enthält die Adresse des nächsten Befehls Instruktionsregister enthält das Befehlswort Datenbustreiber Interner Datenbus Zwischenspeicher für Operanden m Steuerlogik 4 RAB n Leitwerk Clock Steuerbus MCT 2-17

Befehlsformate Die Architektur eines Prozessors basiert auf einem bestimmten Befehlformat. Ein arithmetischer Ausdruck besteht aus 4 Komponenten C = A + B Ergebnis 1. Operand Operator 2. Operand Entsprechend lautet ein Prozessorbefehl : 3-Adress-Befehl OPC 1. Operandenadresse 2. Operandenadresse Zieladresse 2-Adress-Befehl OPC 1. Operandenadresse 2. Op.adr./ Zieladr. C = C + A 1-Adress-Befehl OPC 1. Operandenadresse Akku = Akku + A MCT 2-18

2.2.2 Steuerwerk Aufgabe : Steuerung des Zusammenspiels der einzelnen Prozessorkomponenten Steuerwerk ist typischerweise ein synchrones Schaltwerk, d.h. benötigt wird => Takt => Reset Takt: Taktgenerator meist im Prozessorchip, wird mit Quarz stabilisiert. Takt reicht von einigen MHz bis zu 2 3 GHz Bei Mikrocontrollern kann der Takt oft per Programm verändert werden Reset ( wichtigstes Bedienelement ) Startzustand des Steuerwerks wird hergestellt Geordnete Initialisierung Reset-Signal des Prozessors ist bidirektional Damit kann CPU die Peripherie zurücksetzen. Man unterscheidet: Einschaltreset (Power On Reset) POR Manueller Reset Typische Hestellerangabe für Reset-Signal: /reset für t>= 100 ms auf Lowpegel, nachdem die Betriebsspannung ihren Pegel erreicht hat. MCT 2-19

Steuerregister (Control-Register) Ist ein Element des Steuerwerks und hat Einfluß auf die aktuelle Arbeitsweise des Steuerwerks 15 8 7 0 T S I2 I1 I0 Control Register Condition Code Register (gehört zum Rechenwerk) T : Trace Bit S: Supervisor Bit I2-I0 : Interruptmaske MCT 2-20

Mikroprogramm-Steuerwerk In den meisten Prozessoren wird heute das Steuerwerk nicht als eine festverdrahtete Steuerung realisiert, sondern als sogenanntes Mikroprogramm-Steuerwerk (µpstw). OPCode IR Mapper Status Sequenzer Adresse Mikroprogramm- Speicher Folgeadresse Mikro-Befehlsregister Steuersignale MCT 2-21

Mikrobefehl Der OP-Code des Befehlswortes wird mit Hilfe des Mappers in eine Startadresse für eine Mikrobefehlssequenz umkodiert. Die Mikrobefehlssequenzen stehen im Mikroprogramm-speicher. Jeder Mikrobefehl besteht aus einzelnen Bits, die die Steuersignale für den Prozessor darstellen. In der Regel wird hier nicht mehr kodiert, sondern jedes Bit stellt direkt ein Steuersignal z.b. ein Freigabesignal für ein Register oder ein Auswahlsignal dar. Aufbau eines Mikrobefehls Registeradressen Rechenwerk ALU HR Folgeadresse Systembus- Schnittstelle Adreßwerk Externe Steuersignale...... MCT 2-22

Steuerwerk des MC68000 von Motorola Befehlsregister Befehlsdekoder Mikrobefehls zähler (+1) Startadresse Befehlsende Steuerwerk Mikroprogrammspeicher ca. 640x10 Bits Demultiplexerlogik (ca. 70 Eingänge auf 180 Ausgänge) Zeitsteuerung Nanocodespeicher ca. 280x70 Bits Das µp-stw des 68000 ist zweistufig realisiert. Es zeigt sich nämlich, daß bei vielen Mikroprogrammen Befehlssequenzen identisch sind. Durch die zweistufige Realisierung brauchen diese nur einmal abgelegt werden. In den 640 10-Bit-Worten sind sämtliche Befehle des Prozessors kodiert. Die eigentlichen Steuersignale werden im Nanospeicher erzeugt, der etwa 27 Kbit groß ist. Die Zeitsteuerung sorgt dafür, daß die Signale zu den richtigen Zeitpunkten weitergeleitet werden. Steuersignale z.b. Registerauswahl Meldesignale Steuersignale MCT 2-23

2.2.3 Rechenwerk Elemente des Rechenwerks Das Rechenwerk besteht aus : ALU Register Condition Code Register ALU Arithmetic Logic Unit: Führt arithmetische und logische Verknüpfungen von Daten aus. Bei 68000 arbeitet die ALU wahlweise als 8 Bit, 16 Bit oder 32 Bit ALU. Die Verarbeitungsbreite ist variabel. Sie wird durch ein mit Punkt getrenntes Zeichen direkt beim Befehl mit angegeben..b = Byte (8 Bit).W = Wort (16 Bit).L = Long (32 Bit) MOVE.B ist daher ein Move-Befehl, der nur die unteren 8 Datenbit verwendet. Daten- und Adress-Register: Zum Rechenwerk gehören die Daten und Adressregister eines Prozessors. Die Anzahl und oft auch die Funktion sind bei jedem Prozessor unterschiedlich. Die Datenregister des 68000 sind wie die ALU als 8 Bit, 16 Bit oder als 32-Bit Register verwendbar MCT 2-24

Condition Code Register Damit ist die untere Hälfte (Bit 0-7) des Statusregisters gemeint.. 15 8 7 0 T S I2 I1 I0 X N Z V C Control Register Condition Code Register C : Carry Bit ( Übertrag) Z : Zero-Bit (Ergebnis = 0) N: Negativ- Bit (Ergebnis < 0) V : Overflow-Bit (Zahlenbereichsüberschreitung bei vorzeichenbehafteten Zahlen) X: Extended Bit ( spezielles Bit, Bedeutung ist abhängig vom Befehl) Overflow: Zahlenbereichsüberschreitung dann, wenn bei Addition von pos. Zahlen ein neg. Ergebnis auftritt oder bei Addition von neg. Zahlen ein positives Ergebnis auftritt MCT 2-25

Die Conditioncodes werden entsprechend der verwendeten Datenbreite (.B,.W oder.l) verwendet! Beispiele: SUB.W D2, D1 ; bedeutet, Inhalt von D2 wird von D1 subtrahiert, Ergebnis steht in D1 SUB.W D2, D1 D1: $76543210 D2; $00003210 D1: Zero-Flag : SUB.L D2, D1 D1: $76543210 D2; $00003210 D1: Zero-Flag : ADD.B D2, D1 D1: $76543210 D2; $00000076 D1: Zero-Flag : Negativ_Flag : Overflow-Flag : MCT 2-26

Befehlsatz des Rechenwerks Arithmetische Operationen mit ganzen Zahlen o Addieren, Subtrahieren, o Multiplitieren, Dividieren o Negieren (2er Komplement) o Logische Operationen o Negation o UND o ODER o EXOR Schiebe und Rotationsbefehle o Links/Rechts Schieben o Links/Rechts Rotieren Transport Befehl o Move MCT 2-27

Beispiele zu logischen Befehlen 1. Maske beim Einlesen einer Schaltergruppe 2. Setzen der Lämpchen 1 und 2, ohne die anderen zu verändern 3. Löschen der Lämpchen 1 und 2, ohne die anderen zu verändern 4. Umschalten der Lämpchen 1 und 2 MCT 2-28

Schiebebefehle und Rotationsbefehle Die Schiebeoperationen nehmen eine gewisse Sonderstellung ein. Sie dienen sowohl der logischen als auch der arithmetischen Informationsverarbeitung. Durch Links-Schieben bzw. Rechts-Schieben lassen sich Multiplikationen bzw. Divisionen durch 2 und Vielfache davon realisieren. Durch das Schieben bestimmter Bitpositionen in einem Status-Flag lassen sich einzelne Bits manipulieren bzw. auswerten. So ist z. B. damit eine parallel-seriell-umsetzung möglich. ASL, LSL ASR, LSR ROL,ROR, ROXL, ROXR Beim Links-Schieben sind logisches und arithmetisches Schieben identisch. Wird das Links-Schieben arithmetisch gedeutet, bedeutet eine Stellenverschiebung um eine Position nach links eine Multiplikation mit 2. Wenn nach dieser Operation das C-Flag gesetzt ist, wurde der gültige Zahlenbereich verlassen. Beim Rechts-Schieben verhalten sich logisches - und arithmetisches Schieben unterschiedlich. Das arithmetische Rechts-Schieben um eine Position, bedeutet eine Division durch 2. Dabei muß das Vorzeichen, das in der MSB-Position kodiert ist, erhalten werden. Wenn logisch nach rechts geschoben wird, wird in die MSB-Position eine 0 geschoben. Bei den rotierenden Schiebeoperationen wird das Register zu einem Ring geschlossen. D. h., beim Rechts- Schieben wird das MSB in das LSB (ROR) bzw. das LSB in das MSB (ROL) geschoben. Bei den Befehlen ROXL und ROXR. wird noch das X-Flag dazwischen geschaltet. MCT 2-29

Links-Schiebe- Operationen Rechts-Schiebe- Operationen C C < ASL 0 VZ ASR > X X C C < LSL 0 0 LSR > X X C < ROL ROR > C X < ROXL ROXR > X C C MCT 2-30

2.2.4 Adress-Rechenwerk Aufgabe: Berechnen der Adressen von Operanden oder Befehlen (effektive Adresse). Adresse eines Operanden Steht im Speicher Steht in einem Adress-Register Wird berechnet durch Addition (bzw. Subtraktion ) von Teiladressen Diese Aufgabe übernimmt ein zusätzliches Rechenwerk, das parallel zum eigentlichen Rechenwerk die Adress-Berechnungen duchführt. Blockschaltbild des Adress-Rechenwerks: Skalierung Index ±n (Adress-) Register effektive Adresse Addierer Barrel Shifter für Byte, Word, Long Operandenadresse Adresspuffer Adressbus Bef.zähle r MCT 2-31 Programmadresse

Skalierung Eine Teiladresse wird vor der Addition mit 1, 2 oder 4 multipliziert. Damit wird bei Inkrementieren bzw. Dekremenieren die änge eines Operanden (Byte,Word,Long) berücksichtigt. Barrel-Shifter Schiebelogik, die in einem Schritt einen Wert um mehrere Stellen verschiebt En E3 E2 E1 E0 0 0 MUX MUX MUX MUX MUX An A3 A2 A1 A0 Mehrere Multiplexer werden entsprechend der Skizze miteinander verschaltet MCT 2-32