32x32 Registersatz
2 Lese und 1 Schreibport
5 Bit Addresse
2^5 = 32
32 Bit Bus
5 Bit Bus
r-typ
rs-Feld: Quelloperand
rt-Feld: Quelloperand
rd-Feld: Zieloperand
r-typ
i-typ
j-typ
ALU-Op
Opcode:
00 - add
01 - sub
10 - nutze das Func Feld
11 - n/a
Func-Feld:
100 000 - add 4 0
100 010 - sub 4 2
100 100 - and 4 4
100 101 - or 4 5
101 010 - slt - set less than 5 2
ALU-Operation
010 - add
110 - sub
000 - and
001 - or
111 - slt set less than
Einzyklus
Mehrzyklus
Pipelining
Datenkonflikt
Steuerflusskonflikt
Struktur und Ressourcen Konflikt
Echte Datenabhängigkeit: ED - RAW - Read after Write
Ausgabeabhängigkeit: AA - WAR - Write after Read
Gegenabhängigkeit: GA - WAW - Write after Write
Schaltnetz: Elektrische Schaltung, die Spannung als logische Variablen 0 und 1 interpretieren
Schaltnetz: DIN44300/93
Schaltunktion: DIN44300/87
Eingangsvektor
Schaltnetz
Ausgangsvektor
Eingangsvariablen: x0, x1, ..., xn
Eingangsvektor
Schaltalgebra/Boolesche Algebra
Schaltzeichen
Schaltfunktion
Wahrheitstabelle
Funktionsgleichung
Binäres Entscheidungsdiagramm
KV-Diagramm
Schaltplan
Gesetze:
Neutrales Element
Inverses Element
Dualitätsprinzip
De Morgansche Gleichungen oder Regeln
Assoziativ
Distributiv
Kommutativ
Absorbition
Verknüpfung
Null
Eins
AND (Konjunktion)
OR (Disjunktion)
NAND
NOR
Äquivalenz
Antivalenz
Komplement
Inverse
Implikation
Transfer
Codierer: Zurordnung eines Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats
Dekodierer: Codierer mit mehreren Ein und Ausgängen, die für jede Kombination von Eingangssignalen immer nur
je ein Ausgang ein Signal abgibt
Codierer: DIN44300/118
Dekoderier: DIN44300/121
Verknüpfungsglieder: DIN40700
Rechenelemente, Komperatoren: DIN40700
PLHS 18P8
Minimierung von Schaltfunktion
Binäräquivalente
Primimplikantentafel
Quine Mc Cluskey
....
Volladdierer
S = A XOR B XOR C
U = (A AND B) OR (A OR B) AND C
Befehlszähler
Eingang: PC (t)
Ausgang: PC (t+1)
Befehlsdekodierer:
Eingang: OpCode
Ausgang:
MemToReg
MemWrite
Branch
ALU-Src
RegDst
RegWrite
Ausgang: ALU-Op
Funktionsdekodierer:
Eingang:
Func
ALU-Op
Ausgang:
ALU-Operation
Befehlsdekodierer + 32 Bit Befehlswort: Bit 31 bis Bit 26
Func: Bit 5 bis Bit 0
rs-Feld: 26-21
rt-Feld: 20-16
Immidiate Werte - I-Typ Befehle: Bit 0 bis bit 15 (16 Bit) -> Vorzeichenerweiterungseinheit
1.) Befehlszähler PC (t)
2.) Befehlsspeicher
3.) Vorzeichenerweiterungseinheit
4.) 2 Bit Shifter
5.) Addierer
6.) DeMUX
7.) PC (t+1)
1.) Befehszähler PC (t)
2.) Befehlsspeicher
3.) Befehlszähler PC (t+1)
Addierer: +4
PC (t) -> Addierer + 4 -> PC (t+1)
I1: WB
I2: MEM
I3: EX
I4: ID
I5: IF
addi $t1, $t2, 2
add $t4, $t1, $t3
subi $t3, $t5, 3
subi $t3, $t6, 3
Einzyklus
I1: 0, IF, 1, ID, 2, EX, 3 MEM, 4 WB
I2: 5, IF, 6, ID, 7, EX, 8, MEM, 9 WB
Mehryzyklus Pipelining
I1: 0, IF, 1, ID, 2, EX, 3, MEM, 4 WB
I2: 0 - NIX, 1, IF, 2 ID, 3 EX 4 MEM, 5 WB
I1 schreibt in WB
I2 liesst in ID
Interlocking, Stalling
IF ID EX MEM WB
ID ID EX MEM WB