E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter...

29
E. E. Modellrechner Modellrechner E.1. Einordnung Einfache Rechnerarchitektur: von Neumann Rechnerarchitektur, Mima Akkumulatormaschine, MIPS-CPU ohne Pipeline, Ablaufsteuerung. Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 1 Architektur: - Modellrechner, Pipelining, Out-Of-Order Technik Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe Digitaltechnik: - Logikbausteine, Schaltnetze & -werke, Zahlen Elektronik „Höhere Informatik“ B C G I J H F D K Modellrechner E

Transcript of E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter...

Page 1: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E. E. Modellrechner Modellrechner E.1. Einordnung

Einfache Rechnerarchitektur:von Neumann Rechnerarchitektur,Mima Akkumulatormaschine,MIPS-CPU ohne Pipeline,Ablaufsteuerung.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 1

Architektur: - Modellrechner, Pipelining, Out-Of-Order Technik

Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe

Digitaltechnik: - Logikbausteine, Schaltnetze & -werke, Zahlen

Elektronik

„Höhere Informatik“

B

C

G I

J

HF

D

K

Modellrechner E

Page 2: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2. MiMa - Minimalmaschine

Auf Grundlage einer "Von Neumann-Maschine":Programme und Daten sind in einem Speicher abgelegt,Speicherwörter können als Daten oder als Befehle dienen,Befehle werden nacheinander ausgeführt:

Phasen der Befehlsausführung:Fetch: holt den Befehl aus dem Speicher,Decode: bestimmt die gew. Funktion,Execute: führt die Operation durch.

Prozessor: engl. CPU, Central Processing Unit (ohne Speicher & E/A).Mikroprozessor: CPU auf einem Chip.Aktuelle Prozessoren weichen vom Modell des von Neumann Rechners ab und erreichen damit eine höhere Rechenleistung . . .

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 2

Speicherwerk

Steuerwerk

E/A-Werk

Rechenwerk Steuerleitungen

Daten

Instruktionen

Page 3: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.1. Warum eine Minimal-MaschineVorteile:

kompakter Befehlssatz (etwa 20 Befehle),einfacher, übersichtlicher Aufbau,einheitlicher Speicherzugriff.

Realer Prozessorgroße Befehlssätze (zwischen 250 und 1000 Befehlen),detaillierter Prozessoraufbau meist gar nicht dokumentiert,viele verschiedene Speicherzugriffspfade,Überlappende Ausführung.

"Fortgeschrittene" Prozessoren:viele Adressierungsarten, virtueller Speicher,Pipelining, interne ParallelbearbeitungOut-of-order-Ausführung, Register Score Boarding, Sprungvorhersage, Pufferung ...

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 3

Page 4: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.2. Minimalmaschine aus ProgrammierersichtElemente:

Akkumulator (z.B. 32 Bit),Speicher,ALU,E/A.

Instruktionen:Akkumulator als Operand,maximal eine Adresse pro Instruktion,Load... , Store ... , Jump ... , Rotate ... , V: Value, C: Constant, N: negative.

15 Instruktionen:LDV, STV, LDC,HALT, NOT, RAR,ADD, AND, OR, XOR, EQL,JMP, JMN,OUT, INP.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 4

ALU

Speicher

E/A

ACC

Page 5: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.3. MiMa Instruktionssatz Vorerst 15 Instruktionen:

LDC Konstante // Load Constant, Konstante in Akkumulator ladenLDV Adresse // Load Variable, Speicherwort[ Adresse ] in Akkumulator ladenSTV Adresse // Store Variable, Akkumulator im Wort[ Adresse ] speichernADD Adresse // Speicherwort[ Adresse ] zum Akkumulator addierenAND Adresse // AND mit Speicherwort[ Adresse ] und AkkumulatorOR Adresse // OR mit Speicherwort[ Adresse ] und AkkumulatorXOR Adresse // XOR mit Speicherwort[ Adresse ] und AkkumulatorEQL Adresse // Vergleich zw. Speicherwort[ Adresse ] und AkkumulatorJMP Adresse // Jump, nächste Instruktion aus Speicherwort[ Adresse ] holenJMN Adresse // Springen falls Akkumulator negativOUT Gerät // Akkumulator[ 0:7] am Gerät ausgebenINP Gerät // Akkumulator[ 0:7] vom Gerät ladenHALT // Maschine anhaltenNOT // Akkumulator komplementieren (1er Komplement)RAR // Rotate Arithmetic, Akkumulator 1 Bit nach rechts schieben

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 5

Page 6: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.4. Instruktionscodierung"Maschinensprache" der MiMa.Instruktionsformat (32-Bit z.B.):

8-Bit Codierung für Opcode:( $00, $10, $20, $30 ) = ( ADD, AND, OR, XOR ),( $40, $50, $60 ) = ( LDV, STV, LDC ),( $70, $80, $90 ) = ( JMP, JMN, EQL ),( $A0 ... $E0 ) = reserviert.( $F0, $F1, $F2 ) = ( HALT, NOT, RAR ),( $F3, $F4, … ) = ( OUT, INP, …),Opcodes reservieren für Indexregister-Befehle etc. .

Möglicherweise 16-Bit Minimalmaschine:4-Bit Opcodes mit 12-Bit Parameter,($F0 .. $F4) => ($A .. $E).

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 6

8-Bit Opcode

24-Bit Instruktionsparameter

Page 7: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.5. MiMa Programm im Speicher:MiMa-Speicherauszug:

Hexadezimale Notation,Programmstart bei 0C,Variable X bei 0A.

IF-Anweisung in Pascal:

if X < 0 then write( output, '1' ) else write(output, '2' );

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 7

X:

LDV X

JMN then

JMP else

LDC '1'

OUT 200

JMP endif

LDC '2'

OUT 200

HALT

09 . . .

0A F0112233

0B . . .

0C 4000000A

0D 8000000F

0E 70000012

0F 60000031

10 F30000C8

11 70000014

12 60000032

13 F30000C8

14 F0000000

Page 8: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.6. Blockschaltbild der MinimalmaschineEinheiten:

Steuerwerk,Rechenwerk,Speicherwerk,Ein-/Ausgabe,Transportbus.

Register:Akkumulator,Instruktionsreg,Instruktionsadr,Memoryadresse,Memorybuffer,X, Y, Resultat,Deviceadresse.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 8

ALU

BUS

RES

X YIAR IR

Steuerwerk

Speicher

MAR MBR DAR

E/A

ACC

Page 9: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.7. Ablauf von MaschinenbefehlenArbeitsweise eines Prozessors lässt sich gut durch den Transfer von Daten

zwischen Registern beschreiben:pro Taktzyklus wird ein Wort über den Bus transportiert,eine Maschineninstruktion benötigt mehrere Taktzyklen,hier beispielsweise 32-Bit Wörter.

Ausführung in 3 Phasen (z.B.):FETCH: Instruktion aus dem Speicher holen,DECODE: Operationscode bestimmen,EXECUTE:Operation ausführen.

Unsere Notation zur Beschreibung des Ablaufes:Registerinhalte: ACC, MBR, X, Y, ...Teilregister: ACC[0:23]Transport: IR <= MBRSteuersignal: read(mem) ...

Dies ist nicht die standardisierte Register-Transfer-Sprache.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 9

FETCH

DECODE

EXECUTE

Page 10: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.8. Beispiel eines Maschinenbefehls in Assemblernotation: LDV 14 (= Load Variable 14):

Lade Speicherwort 14 in den Akkumulator,Hier 32 Bit Instruktionen:

6 Ausführungszyklen:MAR <= IAR; X <= IAR; // 2 Empfänger im selben Transportzyklusread(mem); Y <= 1; // Instruktion holen (fetch), IAR inkrement, add(alu); IAR <= RES; // IAR inkrementIR <= MBR; MAR <= MBR // Instruktion decodieren (decode), MAR vorsorglichread(mem); // Speicherwort M[MAR] lesenACC <= MBR; // Speicherwort zum ACC, Instr. ausführen (execute)

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 10

LDV=$04

Adresse=$00000E

02331

Opcode Instruktionsparameter

Page 11: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.9. Steuerwerk / Leitwerk / Control UnitErzeugt die Steuersignale synchron zum Systemtakt:

Registerinhalte vom Bus lesen,Registerinhalte auf den Bus legen,Schreib/Lesebefehle zum Speicher,Funktionsvariante der ALU,Aktivieren der E/A-Einheit . . .

Vorzeichenbewertung:erlaubt eine bedingte Instruktionsausführung,z.B. Jump on negative: Jmn <Adresse> ,vorderstes Bit im Akkumulator.

Minimalmaschine:Keine Überlaufanzeige,keine Interrupts ...

Die Ausführung einer Maschineninstruktion erfolgt eigentlich als µ-Programm durch das Steuerwerk (=>PLA/ROM).

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 11

Steuerwerk

FETCHDECODEEXECUTE

Zyklus# 1..6..

Page 12: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.10. Ein- und AusgabeeinheitAusgabe: OUT Geräte#

8 Bit Zeichen in Akkumulator[0:7] Gerätenummer in Device-Address Register.Steuersignal "Ausgabe".

Eingabe: INP Geräte#Gerätenummer in Device-Address Register,Steuersignal "Eingabe",8 Bit in den Akkumulator[0:7] lesen.

In realen Systemen elegante und autonome E/A-Konzepte:Interrupt-Anforderungen durch die externen Geräte,Direkte Übertragung ganzer Datenblöcke (DMA),Geräteregister in einem E/A-Adressraum ...

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 12

ACC

DAR E/A

Page 13: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.2.11. SRAM Speicher - Static Random Access Memory

Aufbau eines SRAM Speichers mit 2b Zellen:

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 13

Page 14: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3. MIPS Einzelzyklusmaschine E.3.1. Vereinfachte Sicht einer MIPS (=> Ti-1).

Informationsflüsse:Steuersignale, Speicherdaten, Registerdaten, Adressen, (Instruktionen)

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 14

Register- satzInstruktions-

speicher +

(Steuerwerk)

ALU

Daten-speicher Daten-speicher

Page 15: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.2. Einzelzyklusmaschine etwas genauerEtwa Patterson & Hennessy: Rechnerorganisation & -entwurf (Elsevier).Register, ALUs, Multiplexer, Speicher.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 15

Register- satzP

Z Instruktions-speicher

4

Daten-speicher

ALU

+

Sign ext.

Shift 2

+

Page 16: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.3. Befehlsholphase – "Instruction Fetch"Programmzähler (32 Bit, engl. Program Counter/PC):

speichert und liefert die aktuell auszuführende Instruktionsadresse,an den Instruktionsspeicher und an das Addierwerk (a),übernimmt die Adresse der Folgeinstruktion (c).

Addierwerk:Fortlaufende Addition mit 4, da 4-Byte Instruktionen (b),Der neue Wert für PZ wird im Register gespeichert (c),Die hintersten 2 Bit im PZ sind immer null.

Instruktionsspeicher:Liefert die auszuführende Maschineninstruktion (b),Hier als statischer Festwertspeicher vorgestellt,keine Taktung, kein Refresh,also ein Schaltnetz.

Instruktionswort (32 Bit):Gelesener Befehl erscheint am Ausgang des Speichers,Instruktionsformat bestimmt den weiteren Ablauf,Instruktion hier nicht als Register realisiert.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 16

P Z Instruktions-

speicher

+4

Inst

rukt

ion

(b)

(a)

(c)

(b)

Page 17: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.4. Zeitverhalten der Instruktionsholphase Programmzähler aus 32 Master-Slave Flip-Flops:

flankengesteuert entsprechend Pattterson & Hennessy (Pegelsteuerung auch möglich),Master übernimmt neuen Wert bei ansteigender Taktflanke (noch keine Ausgabe),Slave liefert Instruktionsadresse bei absteigender Taktflanke,Instruktionszyklus beginnt mit absteigender Taktflanke.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 17

n+4

n+4 n n+8

low high low high

n+4n n+8

Instruktion[n+4] ..-4

n

Instruktion[n]

tTakt

tMasterPZ

tSlavePZ

tALU-out

tSpeicher-out

Instruktion[n] Instruktion[n+4]

Page 18: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.5. Versuch einer AnimationAblauf:

-1. Stabiler Wert am PZ-Eingang,0. Ansteigende F.: Master übernimmt Wert,1. Abfallende F.: Slave übernimmt Wert,2. Weitergabe an Speicher & Incrementer,3. Incrementer ist fertig, neuer PZ stabil,4. Absteigende Flanke, Master übernimmt ...

Die Flanken leiten jeweils eine neue Taktphase ein. Während einer halben Taktperiode können sich die Signale durch die Schaltung fortpflanzen.N.B.: Das Weiterschalten des

PZ-Registers würde auch bei unendlich schnellem Incrementer nur Schritt für Schritt geschehen (No race, no hazard).

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 18

Master Slave

Master Slave

Master Slave

Master Slave

t

0

12

-1

3

4

Page 19: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.6. Decodierungsstufe ("Instruction Decode")z.B. R-Format Instruktion:

Zwei Register lesen, eines schreiben,gelesene Register weiter zur ALU,Drei Instruktionsfelder à 5 Bit:Resultat zurück von ALU.

Quell/Input-Register für die ALU:ALU ist die Stufe nach dem Registersatz,rt=IR[20-16] selektiert Register[rt] zur ALU,rs=IR[25-21] selektiert Register[rs] zur ALU.

Zielregister für Resultat von ALU:rd=IR[15-11] wählt Register[rd] für Resultat.

Ansteuerung des Registersatzes:Register immer auslesen (kein Takt) und Transport zur ALU bzw. zum Multiplexer,Schreiben des Zielregisters ( Register[rd] ) am Ende der Taktperiode.

Keine Vorzeichenerweiterung, da kein Immediate-Operand im R-Format.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 19

Registersatz

Sign ext.

25-21

r[25-21]

Res

=>

r[15-

11]

20-16

r[20-16]15-11In

stru

ktio

n

opcode rs rt rd shamt func

Page 20: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.7. Zeitverhalten der InstruktionsdecodierungZeit für Speicherzugriff und für die primäre ALU muss eingeplant werden.Ausgabe des Instruktionsspeichers wird über die ganze Dauer gehalten.Wäre das Resultat früher bereit, so könnte der Rechner schneller laufen.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 20

low high low high tTakt

Instruktion[n] Instruktion[n+4]

Registerindizes aus Instruktion trs,rt,rd

treg[rs,rt]

Resultatregister schreiben treg[rd]

ALU, Datenspeicher

Quellregister ausgeben

Page 21: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

z.B. I-Format Instruktion:

Ein Basis-/Indexregister: rs=IR[25-21],Ein Ziel-/Quellregister: rt=IR[20-16],Direktoperand: imm=IR[15-0].

Umschalten von IR[20-16]:je nachdem ob R- oder I-Format vorliegt, Quellregister bei Store-Instruktionen,Zielregister bei Load-Instruktionen,zusätzlichen Multiplexer vorsehen.

Multi-Ported Registersatz:Zwei gleichzeitige Lesezugriffe im selben Taktzyklus,Kein Schreibzuriff bei Store-Operationen (Mem-Write),zwei Lesebusse, ein Schreibbus zu den Registern.

Vorzeichenerweiterung des Direktoperanden von 16 auf 32 Bit:erleichtert die Unterbringung kleiner Konstanten im Instruktonsformat,vom Steuerwerk aus abschaltbar für „Unsigned“ Befehle.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 21

opcode rs rt Direktoperand

Registersatz

Sign ext.

25-21

r[25-21]

Res

ulta

t

20-16

r[20-16]15-11In

stru

ktio

n

Page 22: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.8. Binäres Format der InstruktionenFormatbetrachtung mithilfe eines Testprogrammmes:

.textMain: # R-Format: add $1,$0,$31 # hex: 001f0820 # binaer: 000000,00 000,11111 00001,000 00,100000 # op, rs, rt, rd

sub $1,$31,$0 # hex: 03e00822 # binaer: 000000,11 111,00000 00001,000 00,100010

and $31,$0,$1 # hex: 0001f824 # binaer: 000000,00 000,00001 11111,000 00,100100

# i-Format # Vorsicht, unalignierte Adresse lw $7,0x0aff($3) # hex: 8c670aff # binaer: 100011,00 011,00111,00001010 11111111 # index target

# i-Format sw $7,0x0aff($3) # hex: ac670aff # binaer: 101011,00 011,00111,00001010 11111111 # index source addi $2,$0,10 # request exit syscall # that is all

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 22

Page 23: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.9. Ausführungsstufe – "Execute"Getrennter Addierer zur Sprungzielberechnung:

Prüfschaltung auf Gleichheit zweier Register in der primären ALU ( „eql“ ),Bedingte Sprünge mit einem 16-Bit Direktoperanden ( beq $7, $8, loop ),maximal möglicher Offset von +/-17 Bit nach einer 2-Bit Verschiebung,unbedingte Sprünge mit 28-Bit Adresse werden später eingeführt.

Adressierung von Variablen im Speicher:Adressrechnung in der primären ALU,Basisregister plus Direktoperand,Registerinhalt lesen/schreiben.

Registeroperationen:Operanden im Register oder als Direktoperand,üblicher Satz an ALU-Operationen,Register $0 liefert den Wert 0.

Load-/Store-Architektur:Speicheroperationen können keine Arithmetik,also z.B. kein inc 0xaff0($basis), 0x0004,ALU wird schon zur Adressrechnung benötigt.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 23

ALU

Shift 2

+

Sprung-adresse

Daten/ Adresse

Speicher-wert

PZ+4

Direkt-operand

Basis-register

Register-operand

eql

Page 24: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.10. Speicherzugriff – "Memory Access"Getrennte Speicher für Code & Daten:

Aktuelle Instruktion wird bis zum Ende des Gesamtzyklus gehalten, kein zweiter Zugriff möglich.

Quellregister speichern falls Store:Speichersteuerung durch besonderes Schreibsignal.

Zielregister laden:falls Ladebefehl aus dem Speicher,falls Rücksprungadresse (Magic),falls Resultat aus ALU.

ALU-Resultat nutzen:Für "Register-Write-Back",als Datenspeicheradresse,nicht direkt speichern.

Multiplexer evtl. in nächste Stufe.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 24

Daten-speicher

ALU Resultat

Speicheradresse

Schreibsignal

Wert aus Quellregister

Ziel

regi

ster

Page 25: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.11. Register zurückschreiben – "Write Back"Multiplexer evtl. in Speicherstufe verschieben.Nummer des Zielregisters (Zielregisterselektor):

stammt aus IR[15-11] oder IR[20-16], 5-Bit Bereich 0-31.

Steuersignal:Zielregister zum Ende des Instruktionszyklus schreiben,Schreibsignal an Registersatz falls nötig.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 25

Register- satz

Zum Zielregister

ALU Resultat

gelesenes Speicherwort

Zielregister-selektor

Schreibsignal

Page 26: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.12. Ergänzung mit weiteren SprungbefehlenPseudorelative Sprungadressierung (Jump xLabel):

kein separater Addierer erforderlich, nur ein zusätzlicher MUX-Eingang,Die obersten 4 Bits bleiben unverändert, die unteren 28 Bit werden ersetzt,Jump-and-Link sichert den alten Pogrammzähler im Register 31 (Subroutine).

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 26

Register- satzP

Z Instruktions-speicher

4

Daten-speicher

ALU

+

Sign ext.

Shift 2

+

31

4,26,2

eql

Page 27: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.3.13. Erforderliche Steuerleitungen:Für Speicher:

2 Bit Steuersignal: 0/8/16/32 Bit zum Datenspeicher schreiben,Instruktionsspeicher liest immer.

Für Registersatz:2 Bit Steuersignal: 0/8/16/32 Bit zum Registersatz schreiben,Register erst am Ende der Instruktionsausführung laden.

Für 4 Multiplexer:2 Bit: Auswahl des Zielregisters (1 aus 3),2 Bit: Datenquelle für Zielregister,2 Bit: Sprungziel wählen,1 Bit: ALU-Eingang unten (B-Op).

Für arithmetische Elemente:1 Bit: Vorzeichenerweiterung,2 Bit: Zero-/Nonzerotester,5 Bit: ALU-Operation.

Ca. 20 Steuersignale sind erforderlich => mittelgrosses PLA auf Chip.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 27

PLA

Opcode(6)

Function(6)

eql-Bit(1)

Page 28: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.4. Provisorische Fazit

Programmzählerregister PZ wird in jedem Taktzyklus neu gesetzt.Taktperiode muss so lang sein wie die längste Instruktion:

fetch, decode, execute, memory, write-back,load word.

Flexibler aber reduzierter Instruktionssatz:vorerst keine Fliesskomma-Arithmetik,vorerst keine Unterbrechungen,vorerst keine Teilwörter.

Nur etwa 20 Steuersignale => einfaches Steuerwerk !Mehrheitlich ungetaktete Schaltnetze:

ALU, Speicher, Incrementer, Vergleicher, Multiplexer, Vorzeichenerweiterung

Aber eine Einzyklenmaschine ist unwirtschaftlich:die Komponenten arbeiten jeweils nur einen kleinen Teil der Gesamtzeit,Zeitverlust bei potentiell kurzen Instruktionen,

Empfehlung: überlappende Instruktionsausführung.

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 28

Page 29: E. Modellrechner · 2008-11-18 · E.2.1. Warum eine Minimal-Maschine Vorteile: kompakter Befehlssatz (etwa 20 Befehle), einfacher, übersichtlicher Aufbau, einheitlicher Speicherzugriff.

E.5. Überblick und Historie

Rechner vor 1980:Meist komplexer Instruktionssatz (CISC) und umfangreiches Steuerwerk,Spezielle Instruktionen zur Unterstützung von Hochsprachen,Steuerwerk mit grossem ROM und evtl. Mikroprogramm,Wenige Register, kostspieliger Hauptspeicher,Intel, Burroughs 5000 Serie, IBM 360/370 ...

RISC – Reduced Instruction Set Computers (ab 1980):Hochintegrierte Schaltkreise, gesamte CPU auf einem Chip (Mikroprozessor),Viel Chip-Area für Register, wenig für Steuerwerk, einfache Instruktionen,Optimierende Compiler, "Explicit Instruction Scheduling",Beispiele: Berkeley RISC, IBM 801, SUN Sparc, MIPS ...

Aktuelle Rechnersysteme:Grosszügiger Umgang mit Transistoren und Chipfläche,Mehrfache Recheneinheiten und Rechnerkerne,Out-of-Order Execution,Intel x86, AMD 64 ...

Technische Informatik 2, Winter 2008/09, © VS Informatik, Uni Ulm, P. Schulthess E - 29