Realisierungsalternativen für eine...

78
J. Kaiser, IVS-EOS Realisierungsalternativen für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

Transcript of Realisierungsalternativen für eine...

Page 1: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Realisierungsalternativen

für eine Zentraleinheit

Otto-von-Guericke-Universität Magdeburg

Page 2: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Ebene der!Elektronischen !Komponenten!

Ebene der!Logischen!Komponenten!

Ebene der Rechner- Architektur (ISA)

Das Bild

Memory

MBR

MAR

PC

IR

A

Z

ALU

TFR S, X !LEAS -2, S!BSR FACT!PULS A!LEAS 2 ,S!

Register-!Transfer!Ebene!

E = 0 A = 0 E = 1

A = 0 E = 1 A = 0

Anfangszustand

A B C E = 1 A = 0

E = 0 A = 0

E = 0 A = 0

M B R à M [in s tr] PC PC + 1 I R MBR 29 - 0 M A R I R 29 - 20

à

à

à

Page 3: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Anwendungs-!software!

Systemsoftware!

Maschinensprache!RA!

RO!

RA: Rechnerarchitektur!RO: Rechnerorganisation!

SW!

HW!

HW/!FW! Automaten, Logik,!

Speicher,!

E-Technik,!

F

Page 4: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Steuerwerk Rechenwerk

Speicher

Eingabe/Ausgabe

Komponenten des klassischen Rechners

Datenpfad: Register, ALU

Adresspfad: Register, ALU

Kontrollpfad: Befehlsauswahl und Fortschalt- ung.

Status

Kontrolle

Kontrolle Status

4!

Page 5: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Historische Entwicklung •  1945: Von-Neumann Architektur (Eckert/Mauchly, John von Neumann)!

John von Neumann, left, with Robert Oppenheimer, Director of the Institute for Advanced Study from 1947-66

http://www.ias.edu/the-institute-letter/archive/03Winter/winter03.php"

John Mauchly (1907-1980) & !J. Presper Eckert (1919-1995) !

5!

Page 6: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Programmierung des ENIAC !

Quelle: http://www.columbia.edu/acis/history/eniac.html!

6!

Page 7: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Programmierung des ENIAC (1945) !

Quelle: http://www.columbia.edu/acis/history/eniac.html!

Gloria Gorden and Ester Gerston at work on the ENIAC !

7"

Page 8: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kontrolleinheit! Datenpfad!

Prinzip des sequentiellen programmgesteuerten Prozessors!

Speicher!

RAM!

CPU!

8!

Page 9: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

? Where shall I begin? Befehlssatz? Wortbreite? Speichergröße und Organisation? Registersatz? Arithmetisch/logische Einheiten?

Der Entwurf einer CPU

Leistung? Geldmittel? !

9!

Page 10: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

! !Datenpfad-bezogene Befehle: ! !Arithmetische Befehle: ADD, SUB, MULT, DIV, SQRT, SIN, COS, ARC,......! !Logische Befehle: AND, OR, XOR, NOT ! !Shift- Befehle: ASL, ASR, LSL, LSR, ROR, ROL, ! !Vergleichsbefehle: <, ≤, >, ≥, = !

Transferbefehle:! ! ! LOAD, STORE, MOVE !

Befehlsklassen:!

Kontrollfluß-bezogene Befehle: Programmverzweigungen (Sprungbefehle) ! !Unbedingter Sprung BRA, JMP ! !Bedingter Sprung BRx (Bedingung) ! !Unterprogrammsprung BSR, JSR!

Ein/Ausgabe, Betriebssystem, Spezielle Funktionseinheiten (z.B. Grafik), ......!10!

Softwareinterrupt, Trap SWI, Trap, SVC, ...!

Page 11: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Wortformate und Speichergröße

Wie viele Befehle müssen codiert werden? Wie groß sind meine Operanden? Wie viele Operanden sollen spezifiziert werden? Wie viele Register sollen verfügbar sein? Welcher Adreßraum soll unterstützt werden?

11!

Page 12: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Operandenspezifikation:!- wie viele Operanden?!- Speicheradressen ?!- Operandenregister ?!- direkte Operanden ?!!

V!

OPCODE!Befehlsformat!

Datenformat!0!2n -1!

12!

0!2n -1!

Operande(n) Spez.!

m Bit!

2n-m -1!2n-m !

Wortformate und Adreßraumgröße

- Festkomma?!- Fließkomma?!

Page 13: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

CCR"

AH"BH"CH"DH"

AL"BL"CL"DL"

AX"BX"CX"DX"

EAX"EBX"ECX"EDX"

16" 8" 8"

ESI"EDI"EBP"ESP"

CS"SS"DS"ES"FS"GS"

EIP"EEFLAGS"

0"7"8"15"16"31"

S" U"

Stackpointer!

PC!

R0"

R31"64!68 K! x86 (Pentium)! Ultra Sparc!

13!

Registersätze verbreiteter CPUs

Page 14: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Ein sehr einfacher Rechner

Wortorientiert, 1 Datenregister 1 Adreßregister 16-Bit Worte 16 Befehle

14!

Caxton C. Foster: Computer Architecture Computer Science Series, v. Nostrand Reinhold Company, 1970

Page 15: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

0!11!12!15!

Operandenadresse!

V!

OPCODE!Befehlsformat!

Datenformat!

Wortformate!

0!11!

Programmzähler PC!

allgemeines Register A!

0!15!

RUN-FF!

.. und Programmiermodell!

Programm-!kontrolle!

Daten-!manipulation!

0!15!

15!

Page 16: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

! !Datenpfad-bezogene Befehle: ! !Arithmetische Befehle: Addieren (ADD)! !Logische Befehle: AND, OR, XOR, Komplement (AND, IOR,XOR,NOT) ! !Shift- Befehle: Links-Shift (RAL) ! !Vergleichsbefehle: < 0 !

Transferbefehle:! ! ! LOAD, STORE!

Befehlsklassen:!

Kontrollfluß-bezogene Befehle: Programmverzweigungen (Sprungbefehle) ! !Unbedingter Sprung JMP ! !Bedingter Sprung JMP (Bedingung) ! !Unterprogrammsprung JSR!

Ein/Ausgabe - Befehle! 16!

Page 17: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

17!

---"

Page 18: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Ein (sehr) einfacher Befehlssatz

0000 HLT Halt 0001 JMA Adresse Jump on Minus 0010 JMP Adresse Jump to Address 0011 JSR Adresse Jump Subroutine 0100 ------ nicht belegt (For Future Use) 0101 RAL Rotate A Left 0110 INP Input Instruktion 0111 OUT Output Instruktion 1000 NOT Komplementbildung 1001 LDA Adresse Load A from Memory Address 1010 STA Adresse Store A to Memory Address 1011 ADD Adresse Add Operand at Memory Address to A 1100 XOR Adresse Exor Operand at Memory Address with A 1101 AND Adresse AND Operand at memory Address with A 1110 IOR Adresse OR Operand at Memory Address with A 1111 NOP No Operation

Caxton C. Foster: Computer Architecture Computer Science Series, v. Nostrand Reinhold Company, 1970

18!

Page 19: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

0!11!12!15!

Operandenadresse!

V!

OPCODE!Befehlsformat!

Datenformat!

Wortformate!

0!11!

Programmzähler PC!

allgemeines Register A!

0!15!

RUN-FF!

.. und Programmiermodell!

Programm-!kontrolle!

Daten-!manipulation!

0!15!

19!

Page 20: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Memory Buffer Register! Memory Address Register!

Memory!

0!11!0!15!

0!11!

Instruction Register!

0!15!

Program Counter!

OPC! Operand!11!

control!unit! state!

FF!

Run!FF!Z-Register!

A!

0!15!

ALU!

Speicherbezogene!Komponenten!

Datenpfad-!bezogene !Komponenten!

Kontrolleinheit-!bezogene !Komponenten!

Vom Programmiermodell ....... zum funktionsfähigen Rechner

20!

Page 21: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Daten-Bus

MBR!

A!

Z!

Bus-Struktur!des Datenpfads!

Page 22: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

T D!

Q!D T

D!

Q!T

D!

Q!T

D!

Q!

Daten"Leitungen"

Strobe"(Aktivierungssignal)"

Ziel-"Auswahl" Quelle-"

Auswahl"Bus-Struktur!

D D D

Page 23: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Das Bild kann nicht angezeigt werden. Dieser Computer verfügt möglicherweise über zu wenig Arbeitsspeicher, um das Bild zu öffnen, oder das Bild ist beschädigt. Starten Sie den Computer neu, und öffnen Sie dann erneut die Datei.

Memory

MBR

MAR

PC

IR

A

Z

ALU

OPCODE

MBR: Memory-Buffer-Reg. MAR: Memory-Address-Reg. PC: Program Counter IR: Instruction-Register A : Accumulator Z: Hilfs-Reg.

zur "CU”

Address-Bus!

MAR!

PC!

IR!

Daten-Bus

MBR!

A!

Z!

Gesamte!Bus-Struktur:!!getrennte Busarchitektur!für Daten und!Adressen.!

23!

Page 24: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kontrolle! Daten!!

Phasen der Befehlsausführung!

24!

Befehlszähler!

Ablaufkontrolle!

D-Register!

ALU!

Speicher!C

PU!

1. Befehl holen!!2. Befehl dekodieren! !3. Operanden ! bereitstellen!!4. Befehl ausführen!!5. Ergebnis ! speichern!

Instr. Reg.!

Page 25: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

A

Ablauf: • Transferiere 1. Operanden von A nach Z •  Lade 2. Operanden nach A •  Führe ALU-Operation aus •  Transferiere Ergebnis nach A

ALU

Datenpfad

Z

A: sichtbares Register Z: Hilfsregister

Durchführen einer !arithm. oder logischen !Operation:!

Bus!

Ausgangssituation:!1. Operand steht in Register A!2. Operand steht im Speicher!!Ziel:!Resultat steht in Register A!

25!

Page 26: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Wie beschreibt man die Ablaufpläne und wie setzt man sie in eine sequentielle Kontrolle um

Kontrolleinheit-!bezogene !Komponenten!

? 26!

Page 27: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

phys. Komp.

Gatter

Register,!ALUs

Prozessoren und Speicher

Struktur

Schaltkreis- Ebene

Logik- Ebene

Register-Transfer- Ebene

Architektur-Ebene

Layout

Zellen

Floorplan

Partitionen Geometrie

Befehle

Ablauf- pläne

Boolsche Ausdr.

E-Techn. Phys.

Verhalten

Wie beschreibt man das Verhalten auf der RT-Ebene?!

Automaten

Register-!Transfer-!Sprachen

27!

Page 28: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Register Rn-0 bezeichnet die Bitstellen n,n-1,. . . , 0 des Registers R Transfer: ← A ← B bezeichnet den Transfer des Inhalts von Register B nach A Speicher: M[addr] bezeichnet den Inhalt der Speicherzelle mit der Adresse "addr" Bedingungen: B: z.B. R = 0: A ← B, CP7 • RAL: A ← Z !

Die RTL Notation (Register Transfer Language)!

Grundelemente von RTL!

28!

Page 29: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Die RTL Notation : Beispiele!

29!

Page 30: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Ausführungsphasen!

Befehlsholphase (Speicherzugriff)!

Befehlsdekodierung und Operandenholphase!

Operandenholphase!(Speicherzugriff)!!Ausführungsphase!

Ausführungsphase!

Ausführung benötigt !zusätzliche Operanden!

Ausführung benötigt !keine Operanden!

Beisp.: zweistellige "arithmetisch/logische"Operationen"

Beisp. Shift-Op.s"Sprünge, NOP."

30!

Page 31: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

MBR ← M[A] CP1

PC ← PC + 1

CP2

CP3 CP4

CP5 CP6 CP7

CP8

CP1 CP2

CP3 CP4

CP5

CP6 CP7

CP8

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 HLT JMA JMP SRJ N.A RAL INP OUT NOT LDA STA ADD XOR AND IOR NOP

IR ← MBR

MAR ← PC MAR ← PC MAR ← PC

if A 15 = 1 PC ← IR 11-0

PC ← IR 11-0 PC ← IR 11-0 MAR ← IR 11-0

A 0-11 ← PC Z ← A SF ← E

Z ← A Z ← A Z ← A Z ← A Z ← A SF ← E MAR ← PC

A ← Z* A ← Z

MBR ← M[A] MBR ← M[A]

M[A] ← MBR

MBR ← A A ← MBR

MBR+Z A ←

MBR . Z A ←

MBR ⊕ Z A ←

* SUM ( MBR,Z) A ←

SF ← F MAR ← PC

SF ← F MAR ← PC

Detaillierter Ablauf und Timing der Maschinenbefehle SF = F : Fetch Phase SF = E : Execute Phase

Init RF ← H

MAR ← IR 11-0 SF ← E

* if C 15 =1 then RF ← HLT (Overflow) 31!

Init RF ← H

MAR ←PC

Page 32: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Sequentielles !

Schaltnetz!

Die Kontrolleinheit des Modellrechners!

OPCODE!Instruction Register!

1 aus 16 Dekodierer!

HLT! JMA! JMP! SRJ! CSA! RAL! INP! OUT! NOT! LDA! STA! ADD! XOR! IOR! AND! NOP!

1! Steuer- !Signale: !Register, !ALU, !Speicher!

32!

RUN/ HLT!

Page 33: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kombinarorisches ! Schaltnetz!Kombinarorisches ! Schaltnetz!

Die Kontrolleinheit des Modellrechners!

OPCODE!Instruction Register!

1 aus 16 Dekodierer!

HLT! JMA! JMP! SRJ! CSA! RAL! INP! OUT! NOT! LDA! STA! ADD! XOR! IOR! AND! NOP!

Status- !FF! RUN-FF! State-FF!R! H! F! E!

CP 1!CP 2!CP 3!CP 4!CP 5!CP 6!CP 7!CP 8!8-Phasen- !

Taktgeber!

1!

Steuer- !Signale: !Register, !ALU, !Speicher!

C

C: C

lock!(Taktgenerator)!

Zähler!

1 aus 8 Dekodierer!

33!

Page 34: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Init Read

Incr. PC

MAR on Bus MBR off Bus

State FF = F

CP0

CP1

CP2

CP3

CP4

CP5

CP6

CP7

HLT JMA JMP SRJ NA NOP

Init SF ← HLT

IR 11..0 on Bus

MAR off Bus PC on Bus

MAR off Bus PC on Bus

MAR off Bus PC on Bus

PC off Bus A 15

MAR off Bus PC on Bus

PC ← 11-0

MAR 11-0

A 0-11 PC

MAR off Bus PC

on Bus ←

IR

IR

1-Zyklus Befehle

34!

IR 11..0 on Bus

PC off Bus Init SF ← HLT to all gates

to all gates

Page 35: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kombinatorische ! ! Logik!

Kontrollsignale !für den Datenpfad!

Eingänge !von Befehls- !register und !ALU- !Bedingungen !

Festverdrahtete Zustandsmaschine zur Realisierung der Kontrolleinheit!

Zustands- ! !Speicher!

•  • ! Takt

gen.!

FF! FF! FF!

35!

Page 36: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

MBR ← M[A]PC ← PC + 1

IR ← MBR

Start

Instruction Fetch

Instruction Decode

Decode

HLT • CP7

NOP • CP8

JMP • C P7

JSR • CP7

A15 = 1

A15 = 0 • CP8

evaluate A15PC←IR11- 0

Init RF← H

MAR←PC

A0-11←PC

PC←IR11- 0MAR←IR11- 0

CSA • CP7

A← SWR

Start

CP2 CP3 CP4 CP5CP1MBR ← M[A] wait PC ← PC + 1 IR ← MBR

JMA • CP7

CP8

CP8

CP8

CP8

CP5

Ein-Zyklus Befehle!des Modellrechners!

36!

Page 37: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Grundlegende !Repräsentation!

Fortschaltung der !Kontrolle!

Logische !Repräsentation!

Implementierungs- !Technik!

Endlicher !Automat !(Zustandsdiagramm)!

Expliziter !Folgezustand!

Boolsche !Gleichungen!

Gatter, !Programmierbare Logik!

Programm!

Programm- !Zähler!

Wahrheits- !Tabelle!

R/W-Speicher, !ROM!

Festverdrahtete Kontrolleinheit ! ! (Hardwired Control)!

Programmierte ! Kontrolle!

Alternativen zur Spezifikation und Realisierung der Kontrolleinheit!

37!

Page 38: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

... I realized that the solution was to turn the control unit into a computer in miniature by adding a second matrix to determine the flow of control at the microlevel ......

Maurice Wilkes, Memories of a Computer Pioneer

Idee der Mikroprogrammierung

38!

Maurice Wilkes entwickelte die Mikroprogrammierung 1951.!

Page 39: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Mikro-!Programm- !Speicher!

Kontrollsignale !für den Datenpfad!

Eingänge !von ALU- !Bedingungen !

Mikroprogrammierte Kontrolleinheit!

Takt!

Folgeadresse!Adreß - !Kontrolle!

Adreß - !Generator!

OPCODE-Feld des Instruktionsregisters!

Mikroprogramm-!Steuerwerk!(Sequencer)!

39!

Page 40: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Beispiel für die mikroprogrammierte Implementierung des JMA-Befehls!

A!15!

PC !← !IR!11-0!MAR!←!PC!

MBR !←! M[A]!

PC !← !PC + 1!IR !← !MBR!

NOP!

Prolog für !alle !Mikroprogramme!

hier ist bekannt, !welcher Maschinenbefehl !ausgeführt werden muß!

OPCODE! IR!

Adr. Magic!: Generierung !der Einsprungadresse in !den MPS!

Next (zurück zum Prolog)!

MPC! = 0: skip next instr!

Berechne!nächste Adresse!

40!

Page 41: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Alternativen beim Entwurf der Kontrolleinheit!

Mikroprogrammierte Kontrolle!OPCODE! IR!

Adr. Magic!

Mikroprogrammspeicher!

s!m! s!0!Steuersignale!

Das Bild kann nicht angezeigt werden. Dieser Computer verfügt möglicherweise über zu wenig Arbeitsspeicher, um das Bild zu öffnen, oder das Bild ist beschädigt. Starten Sie den Computer neu, und öffnen Sie dann erneut die Datei. Wenn weiterhin das rote x angezeigt wird, müssen Sie das Bild möglicherweise löschen und dann erneut einfügen.

init !Read! init !

Write! MBR !on Bus! MBR !

off Bus! R! H! E! F! ADD!XOR! • • • • • !• • • !• • • • • • • !• • • • • • • !

Mikroinstruktionsregister!

Mikroprogrammworte!

41!

Page 42: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Alternativen beim Entwurf der Kontrolleinheit!Festverdrahtete Kontrolle! Mikroprogrammierte Kontrolle!

OPCODE! IR! OPCODE! IR!

Takt !t!1,...,!t!n!

komplexes !kombinatorisches !Schaltnetz!

Steuersignale!• • • • • • • • • • • !

s!m! s!0!

Adr. Magic!

Mikroprogrammspeicher!

s!m! s!0!Steuersignale!

Das Bild kann nicht angezeigt werden. Dieser Computer verfügt möglicherweise über zu wenig Arbeitsspeicher, um das Bild zu öffnen, oder das Bild ist beschädigt. Starten Sie den Computer neu, und öffnen Sie dann erneut die Datei. Wenn weiterhin das rote x angezeigt wird, müssen Sie das Bild möglicherweise löschen und dann erneut einfügen.

init !Read! init !

Write! MBR !on Bus! MBR !

off Bus! R! H! E! F! ADD!XOR! • • • • • !• • • !• • • • • • • !• • • • • • • !

Mikroinstruktionsregister!

Mikroprogrammworte!

42!

Page 43: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Aufgaben des Mikroprogramm-Steuerwerks (Sequencer)!

Generierung der "Adresse der nächsten Mikroinstruktion"!

"Nur" Adreßberechnung !! ! !

Standardeigenschaften:!

! !

- unbedingte Adreßfortschaltung !- bedingte Adreßfortschaltung !

43!

Page 44: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Mikroprogrammierte Kontrolle!

OPCODE! IR!

Adreß-Generator!Mikroprogrammspeicher!

s!m! s!0!Steuersignale!

init !Read! init !

Write! MBR !on Bus! MBR !

off Bus!R!U!N!

ADD!XOR! • • • • • !• • • !• • • • • • • !• • • • • • • !

Mikroinstruktionsregister!

Mikroprogrammworte!

Folgeadresse!

ALU-Bedingungen!

c! s!

A!15! V!

IR!15-12!

H!L!T!

E!X!E!

F!T!H!44!

Page 45: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Beispiel für die mikroprogrammierte Implementierung des JMA-Befehls!

A!15!

PC !← !IR!11-0!MAR!←!PC!

MBR !←! M[A]!

PC !← !PC + 1!IR !← !MBR!

NOP!

Prolog für !alle !Mikroprogramme!

hier ist bekannt, !welcher Maschinenbefehl !ausgeführt werden muß!

OPCODE! IR!

Adr. Magic!: Generierung !der Einsprungadresse in !den MPS!

Next (zurück zum Prolog)!

MPC! = 0: skip next instr!

Berechne!nächste Adresse!

45!

Page 46: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

MPS- Adressauswahl Adressteil Steuerteil Kommentar !Adresse c s ! ! !00 0 0 01 Init Read !01 0 0 02 !02 0 0 03 PC !← !PC+1 !03 0 0 ! 04 !04 1 0 05 ! ! ! !05 0 0 25 Start-Offset für HLT !06 0 0 30 Start-Offset für JMA !07 0 0 35 Start-Offset für JMP ! !• !• !• ! !30 0 0 31 RF !← !H !31 ! 0 0 00 MAR ← PC ! Beendigung von HLT und Rücksprung !32 !33 !34 !35 0 1 ! ! 36 ! ! ! ! if A!15! = 0 THEN skip !36 0 0 37 PC ← IR!11-0!37 0 0 00 MAR ← PC Beendigung von JMA und Rücksprung !38 !39 !40 0 0 41 PC ← IR!11-0!41 0 0 00 MAR ← PC !Beendigung von JMP und Rücksprung !• !• !• !

IR off Bus, MBR on Bus !IR ← MBR

46!

increment PC ! Folgeadresse = Adreßteil + OP-code !

Page 47: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Adressierungseinheit!

OPCODE! IR!

Address Magic!

Folgeadresse! c! s!

A!15 ! (Vorzeichenbit)!

IR!15-12!1! 0!

V (ALU-Überlauf)!

MUX!

MUX!

Mikro-Adreß-Register!

Exception-Adresse!

MIP-Adresse!

ADDER!

Für die Folgeadresse gilt: ! !C S A15 MIP-Adr ! !0 0 x F+0 !0 1 1 F+0 !0 1 0 F+1 !1 x x F+OPCODE!

c: computed next!s: skip next instr.!

47!

Page 48: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Adr.-Feld! MIP!CODE!

Register-Kontrolle!Z!MBR! IR! PC! A!MAR!

on! on! on! on! off!off! off!RF! SF!

H! R! F! E!on!SWR! Memory!

RM! WM!ALU!

s!0!s!1!s!2!s!3!s!4!s!5!

Status- ! FF! Speicher!

01! 00! 1!00!02!

03! 00!

inc!

1!04! 00! 1!1!30!35!

36! 01!37! 00!

1! 1!

00!05! 10!

00!00!41!

00! 00!

1!1!

1!1!

Layout des Mikroprogrammspeichers

in M-Instr.!Adr. im ! !MPS!

00!01!02!03!05!06!

35!36!

04!

37!40!41!

00!HLT!

00!1! 1!

JMA!

JMP!

off!

JMA!40!07! 00!JMP!

off! off!on!

31! 00!00! 00! 1!1!30!

31!HLT! 1!

Steuerteil!Adressteil!

48!

c s"

Page 49: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Adr.-Feld! MIP!CODE!

Register-Kontrolle!Z!MBR! IR! PC! A!MAR!

on! on! on! on! off!off! off!RF! SF!

H! R! F! E!on!SWR! Memory!

RM! WM!ALU!

s!0!s!1!s!2!s!3!s!4!s!5!

Status- ! FF! Speicher!

01! 00! 1!00!02!

03! 00!

inc!

1!04! 00! 1!1!30!35!

36! 01!37! 00!

1! 1!

00!05! 10!

00!1!1!

Zusammenfassung von Mikroprogrammen!

in M-Instr.!Adr. im ! !MPS!

00!01!02!03!05!06!

35!36!

04!

37!40!41!

00!HLT!

00!JMA!JMP!

off!

JMA!36!07! 00!JMP!

off! off!on!

31! 00!00! 00! 1!1!30!

31!HLT! 1!

Steuerteil!Adressteil!

49!

c s"

Page 50: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Horizontale Mikroprogrammierung! !

!Jedes Bit des Mikroinstruktionswortes steuert direkt eine Kontroll-Leitung ! ! !Vorteil! ! !: maximale Flexibilität, Geschwindigkeit ! !Nachteil! !: sehr langes Mikroinstruktionswort, großer Mikroprogrammspeicher!

!

50!

Page 51: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Fragestellungen bei der Mikroprogrammierung!

Wie kann der Micro-Code optimiert werden?!Zielkonflikt: Hardwarekosten gegen Geschwindigkeit und Flexibiltät!!Wie kann des Micro-Wort verkürzt und der M-Speicher vekleinert werden?!Zielkonflikt: Wortlänge gegen Dekodierungsaufwand und! Flexibilität!!Wie erreicht man größtmöglichen Komfort bei der Programmierung?!Zielkonflikt: Komfort gegen Effizienz und Flexibilität !

51!

Page 52: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Sequencer!Mikro-Steuerwerk! Mikroprogrammspeicher !

! MPS!

MPC!

MIR!Adreßteil! Steuersignale!

OPCODE! IR!(Mikro-( Statusinformation!Mikroprogrammierte Kontrolleinheit (horizontale MP)!

52!

Page 53: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Sequencer!Mikro-Steuerwerk! Mikroprogrammspeicher !

! MPS!

MPC!MIR!

Steuersignale!

OPCODE! IR!(Mikro-) Statusinformation!Mikroprogrammierte Kontrolleinheit mit mehrstufiger Dekodierung!

Decoder!

Decoder! Decoder! Decoder!

MIPCODE! Arg. 1!

Interpr.!

Arg. 2! Arg. 3! Arg. 4!

53!

Page 54: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Vertikale Mikroprogrammierung! !

Mikroinstruktionswort ist in Felder aufgeteilt, die codierte Steuerinformation enthalten ! ! !Nachteil! !: Zusätzliche Dekodierungshardware, Flexibilität, Geschwindigkeit ! !Vorteil! ! !: Kurzes Mikroinstruktionswort, kleiner Mikroprogrammspeicher ! ! ! ! Übersichtlicher Mikroprogramme!

54!

Page 55: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Sequencer!Mikro-Steuerwerk!

MPS!MPC!

MIR!Adr.-Feld!

Steuersignale!

OPCODE! IR!(Mikro-) Statusinformation!Nanoprogrammierte Kontrolleinheit Stufe 1 (Quasi-Nanoprogr.)!

Nanoprogrammspeicher!Adr. Nanowort!

horizontales Steuerwort!

55!

Page 56: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Sequencer!Mikro-Steuerwerk!

MPS!MPC!

MIR!Adr.- !Feld!

Steuersignale!

OPCODE! IR!(Mikro-) Statusinformation!Nanoprogrammierte Kontrolleinheit Stufe 2 (Echte Nanoprogr.)!

Nanoprogrammspeicher!Adr. ! Nanoprogr.!

NPC!

Nanosteuerwerk! Nano- !Sequencer!

Nano- !Adreßfeld! Horizontales Steuerwort!

56!

Page 57: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Nanoprogrammierung:!!!•  Kombination von vertikaler und horizontaler Mikroprogrammierung!•  Ersetzen der Dekodierungshardware durch eine weitere Stufe der MP!!!Vorteile:!!•  Flexibilität wie bei horizontaler MP!•  Einsparung von Speicherplatz (gleiche Steuerteile können von

mehreren Instruktionen genutzt werden!•  Speicher ist regulärer und leichter zu ändern als ein Dekoder!•  Entkopplung von MP-Entwurf und Hardware-Entwurf!

Page 58: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Maschinensprache!

Register-Transfer-Sprache!

Automat!

Interpreter realisiert in RTL!

Interpreter realisiert in Logik!

Maschinenbefehl!

Eine Hierarchie von Interpretern!

58!

Page 59: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Programm P

abstrakte Maschi ne MSprache L

(Interpreti erer der Sprache L)

Nano-Programme

Mikro-Programme

Benutze rprogram mSoftware

Firmware

Hardwa re

Nanosprache

Mikrosprache

Maschi nensprache

Hierarchie von Maschinen und Vertika le Verlage rung

vertikale Verl age rung von Funktionen (vertica l Migration)

Vertikal e Verlagerung ist di e Reali si erung von Funktionen eine r höheren Ebene i n der Arc hitektur der unt erli egenden Maschi ne, so daß diese Funk ti onen als Maschinenbefehle von der unterlie genden Masc hine ausgeführt werden.

Nano-Maschi ne

Mikromaschine

Maschi ne

Gatter, Speicher, etc.

59!

Page 60: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Entkopplung von Hardware-Design und Design der Maschinensprache (konzeptuelle Maschinen, Rechnerarchitektur) Definition von "Rechnerfamilien" auf unterschiedlicher Hardwarebasis Beisp.: IBM 360 und 370 Familien Mikrooperationen sind in schnellem Speicher abgelegt (dieser Vorteil ist seit dem Einsatz von Caches deutlich gesunken) Parallelismus der Hardware kann genutzt werden (dieser Vorteil ist seit dem Einsatz von Pipelines und superscaleren Architekturen auf der Prozessorebene relativiert)

Versuchung: viele komplexe Operationen( Algorithmen) in der Maschinensprache Compilerschwierigkeiten, Aufwärts/Abwärtskompatibilität lange Designzeiten mit Problemen des Softwareengineerings, Beispiel: MC 68020

Motivationen, Vorteile und Trugschlüsse in der Mikroprogrammierung

Trugschluß: Ein Mikroprogramm, das eine komplexe Instruktion realisiert, ist nie langsamer als eine Folge einfacher Maschinenoperationen. Beisp.: Index Instruktion bei VAX, Multiply Grund: eine mikroprog. Maschinenoperation muß alle Komb. von Operanden berücksichtigen

+!

+!

?!

?!

60!

Page 61: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Gründe, welche die Relevanz der Mikroprogrammierung in Frage stellen: ! ! !Technische Gründe: ! !• Die Kontrolleinheit ist in einem Microprocessor auf demselben Chip realisiert. Mikroprogramme ! können nicht einfach verändert werden. ! !• ROM ist nicht mehr schneller als RAM. Dadurch werden Mikroprogramme im ROM nicht mehr schneller ! als Maschinenprogramme im RAM. ! !• Programmierbare Logik mit ihrer regulären Struktur ist oft weit effizienter zur Realisierung von ! Kontrollstrukturen als ein Mikroprogramm. ! !• Programmierbare Logik kann ebenso leicht geändert werden wie ein Mikroprogramm. ! !• Bef!ehlssätze werden einfacher (RISC- Ansatz) . Damit wird auch die Kontrolleinheit einfacher. !Gründe, die sich aus der Änderung der Anwendung und der Entwicklungsumgebung ergeben: ! !• Anwendungs- und Betriebssystem-Software ist auf einen bestimmten Befehlssatz zugeschnitten. ! Ein neuer Befehlssatz bedeutet, daß diese Software angepaßt werden muß. ! !• Instruktionssätze werden immer ähnlicher ! !• Der Entwurf eines Gate Arrays zur Realisierung einer Kontrolleinheit ist, bedingt durch geeignete ! Entwurfswerkzeuge, nicht schwieriger oder fehleranfälliger als das Schreiben eines Mikroprogramms. ! !• Programmierbare Logik kann ebenso leicht geändert werden wie ein Mikroprogramm. !

61!

Page 62: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Weitere Probleme der Mikroprogrammierung!

62!

Page 63: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Lernziele!Verständnis der Abläufe in der CPU!!Beschreibung durch eine Register Transfer Sprache!!Entwurf von Befehlen und deren Ablaufsteuerung!!Verständnis der Hierarchie von Interpretern!!Mikroprogrammierung als Implementierungskonzept!!Äquivalenz von Logik, Speicher und Programm zur !Realisierung von Ablaufsteuerungen!!Zielkonflikte bei der Mikroprogrammierung!

63!

Page 64: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

komplexer, komplexer, komplexer, komplexer, komplexer, komplex!

vom PAL zum Gate Array!

Höhere Flexibilität!Mehr Struktur!Trennung von internen Funktionen und Ausgabe!Komplexes Verbindungsnetzwerk!Reprogrammierbarkeit!

Alternative zur Mikroprogrammierung – Nutzung programmierbarer Hardware

64!

Page 65: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

IOB! IOB! IOB!

IOB!

IOB!

IOB!

IOB!

IOB!

IOB!

IOB! IOB! IOB!

CLB! CLB! CLB!

CLB!

CLB!

CLB! CLB!

CLB! CLB!

Die Struktur eines Gate Arrays!

CLB: Configurable Logic Block!IOB: I/O Block!

65!

Page 66: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

CLB!a !b !c !d !e!

F!

a !b !c !d !e!

5 - 32 Dekoder!

Konfigurationsvektor !

F!

Der konfigurierbare logische Block (CLB)!

Speicherelement!

66!

Page 67: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

IOB! IOB! IOB!

IOB!

IOB!

IOB!

IOB!

IOB!

IOB!

IOB! IOB! IOB!

CLB! CLB! CLB!

CLB!

CLB!

CLB! CLB!

CLB! CLB!

Die Verbindungsstruktur!

67!

Page 68: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Verbindungstypen:!!

•  direkte Verbindungen zwischen benachbarten CLBs!•  lokale Verbindungen („Spannweite: 1,2,4)!•  globale Verbindungen!!

68!

Page 69: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

CLB!CLB!CLB! CLB!

CLB!CLB!CLB! CLB!

CLB!

CLB!

CLB!

CLB!

CLB!

CLB!

CLB!

CLB!

Verbindungs-!matrix!

CLB!

CLB!

Die Verbindungsstruktur!

69!

Page 70: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Verbindungs-!struktur für!einen CLB!

70!

Page 71: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Konfigurationsschnittstelle: seriell/byte-parallel!!!!Wie konfigurieren?!!1.  Internen Speicher löschen,!2.  Konfigurationsmodus initialisieren,!3.  Konfigurationsdaten laden,!4.  In Arbeitszustand versetzen.!

Konfiguration von Gate Arrays!

71!

Page 72: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Eigenschaften von Gate Arrays!

Programmierung erfolgt in höherer Programmiersprache!!Logik und Verbindungsstruktur lassen sich einfach ändern!!Parallelität ist inhärent auf dem Chip möglich!

72!

Page 73: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Page 74: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Gate Array Eigenschaften:!

74!

Page 75: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kombinarorisches ! Schaltnetz!Kombinarorisches ! Schaltnetz!

Die Kontrolleinheit des Modellrechners!

OPCODE!Instruction Register!

1 aus 16 Dekodierer!

HLT! JMA! JMP! SRJ! CSA! RAL! INP! OUT! NOT! LDA! STA! ADD! XOR! IOR! AND! NOP!

Status- !FF! RUN-FF! State-FF!R! H! F! E!

CP 1!CP 2!CP 3!CP 4!CP 5!CP 6!CP 7!CP 8!8-Phasen- !

Taktgeber!

1!

Steuer- !Signale: !Register, !ALU, !Speicher!

C

C: C

lock!(Taktgenerator)!

Zähler!

1 aus 8 Dekodierer!

75!

Page 76: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Kombinarorisches ! Schaltnetz!Kombinarorisches ! Schaltnetz!

Die Kontrolleinheit des Modellrechners!

OPCODE!Instruction Register!

1 aus 16 Dekodierer!

HLT! JMA! JMP! SRJ! CSA! RAL! INP! OUT! NOT! LDA! STA! ADD! XOR! IOR! AND! NOP!

Status- !FF! RUN-FF! State-FF!R! H! F! E!

CP 1!CP 2!CP 3!CP 4!CP 5!CP 6!CP 7!CP 8!8-Phasen- !

Taktgeber!

1!

Steuer- !Signale: !Register, !ALU, !Speicher!

C

C: C

lock!(Taktgenerator)!

Zähler!

1 aus 8 Dekodierer!

76!

Page 77: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

MPS- Adressauswahl Adressteil Steuerteil Kommentar !Adresse c s ! ! !00 0 0 01 Init Read !01 0 0 02 !02 0 0 03 PC !← !PC+1 !03 0 0 ! 04 !04 1 0 05 ! ! ! !05 0 0 30 Startadresse für HLT !06 0 0 35 Startadresse für JMA !07 0 0 40 Startadresse für JMP ! !• !• !• ! !30 0 0 31 RF !← !H !31 ! 0 0 00 MAR ← PC ! Beendigung von HLT und Rücksprung !32 !33 !34 !35 0 1 ! ! 36 ! ! ! ! if A!15! = 0 THEN skip !36 0 0 37 PC ← IR!11-0!37 0 0 00 MAR ← PC Beendigung von JMA und Rücksprung !38 !39 !40 0 0 41 PC ← IR!11-0!41 0 0 00 MAR ← PC !Beendigung von JMP und Rücksprung !• !• !• !

IR off Bus, MBR on Bus !IR ← MBR

77!

increment PC ! Folgeadresse = Adreßteil + OP-code !

Page 78: Realisierungsalternativen für eine Zentraleinheiteos.cs.ovgu.de/wp-content/uploads/2014/12/Model-CPU+MP-148.pdf · für eine Zentraleinheit Otto-von-Guericke-Universität Magdeburg

J. Kaiser, IVS-EOS Technische Informatik I Wintersemester 2014/15

Adr.-Feld! MIP!CODE!

Register-Kontrolle!

Z!MBR! IR! PC! A!MAR!on! on! on! on! off!off! off!

RF! SF!H! R! F! E!on!

SWR! Memory!RM! WM!

ALU!s0!

Status- ! FF! Speicher!

inc!off!off! off! on!

Steuerteil!Adressteil!

c s" s1!s2! s3! s4! s5!