lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
add
addi
addiu
sub
mult
multu
div
divu
rem*
abs
neg
not
and
andi
or
ori
xor
xori
Datenbewegungsbefehle
Arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Programmsteuerbefehle
Gleitkommabefehle
Multimediabefehle
Systemsteuerbefehle
Synchronisationsbefehle
Lade- und Speicherarchitektur
Speicher-Speicher-Architektur
Register-Speicher-Architektur
Akkumulator-Architektur
Stack und Kellerarchitektur
dreiaddressformat
zweiaddressformat
einaddressformat
nulladdressformat
Little-Endian-Format
Big-Endian-Format
Einzelbit
Ganzzahl
Gleitkomma
Multimedia
byte
halbwort
wort
doppelwort
signed
unsigned
packed
unpacked
bcd
ascii
ieee-754-std
f = (-1)^s * 1.m * 2^(e-b)
Direktwertaddressierung
Registeraddressierung
Direkte Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung
Steuereinheit:
1. Befehlsdekodierer
2. Funktionsdekodierer
MemToReg
MemWrite
Branch
ALU-Src
Reg-Dst
Reg-Write
ALU-Op
Befehlsdekodierer
Funktionsdekodierer
ALU
Registersatz
Datenspeicher
Befehlsspeicher
Befehlszähler
Vorzeichenerweiterungseinheit
1 x AND
2 x Addierer
1 x 2-Bit-Shifter
4 x Multiplexer
Befehlsdekodierer
- Func
- ALU-Op
- ALU-Operation
AND:
- PCSrc
Datenspeicher:
- Leseregister1
- Leseregister2
- Schreiberegister
- Lesedaten1
- Lesedaten2
- Schreibedaten
- WE
Datenspeicher
- Addresse
- Schreibedaten
- Lesedaten
- WE
Befehlspeicher:
- Addresse
- Lesedaten
Befehlszähler:
- PC (t)
- PC (t+1)
Func ALU-Op ALU-Operation
00 x 010 - add
x1 x 110 - sub
1x 100 000 - add 010 - add
MemToReg MemWrite Branch ALU-Src ALU-Op RegDst RegWrite
r-typ 000 000 1 1 0 0 0 0 10
OP-Code, Regwrite, Regdst, ALU-Src, Branch MemToReg MemWrite ALU-OP
Sprungbefehle
1.) Bedingt
2.) Unbedingt
1.) Absolut
2.) Befehlszählerrelativ
3.) Befehlszählerindirekt
JUMP AND LINK
eq: equal
ne: not equal
gt: greater then
ge: greater then equal
lt: less then
le: less then equal
j, jr, b*
jal, jalr
beq, bne
beqz, bnez
bgt, bge
bgtz, bgez
blt, ble
bltz, blez
PC_neu = PC_alt + (I << 2)
PC_neu = PC_alt & 0xf0000000 | (I << 2)
1. Befehl holen
2. Befehl dekodiereren
3. Operanden der ALU bereitstellen
4. Operation in der ALU ausführen
5. Operanden in Architekturregister zurückschreiben
IF: Instruction Fetch
ID: Instruction Decode Register Fetch
EX: Execute Address Calculation
MEM: Memory Access
WB: Write Back
Pipelinekonflikte
1. Struktur und Ressourcenkonflikte
2. Datenkonflikte
3. Programmsteuerkonflikte
1. Statischs Scheduling: In Order Issue In Order Completion, VLIW = Very Long Instructon Word
2. Dynamisch: Out Of Order Out Of Order Completion, OOE
1. Statische Sprungvorhersage:
- Predict Always Taken
- Predict Always Not Taken
- Predict Backward Taken forward not taken
2. Dynmamisch: 1 oder 2 Bit Predictor
1. Taken, Not Taken
2. Predict Strongly Taken, Predict Weakly Taken, Weakly Not Taken, Strongly Not Taken
Geier: a aleph
Wachtelküken: w oder u
Eule: m
Bein: b
Unterarm: a
Mund
Hocker: p?
Wasserlinie:
Hof eines Hauses: H
Gedrehter Docht: Emphatisches H
Hornviper: f
Gruppe A - Mann und seine Tätigkeiten 56 - Hieroglyphen
1. Sitzender Mann
2. Sitzender Mann mit Hand am Mund
3. Hockender Mann
4. Sitzender Mann mit Erhobenen Armen
5. Mann, der sich hinter einer Wand verbirgt:
ni: du
wo: ich
wang: könig
li: schön
ma: mutter, hanf, pferd, schimpfen, fragepronomen
da: groß
ming: hell
hao: gut
ni hao: guten tag
jiao: heißen
shenme: Was
shi: sein
ren: mensch
guo: land
zhonguoren: chinese
deguoren: Deutscher
duibuqui: Entschuldigung
mang: beschäftigt
bu: nicht
zaj: wieder
jian: sehen
zajjian: Tschüss.