lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
move
add, addi, addiu
sub, subi
mult, multu
div, divu
and, andi
or, ori
xor, xori
not*, rem*, abs*, neg*
Datenbewegungsbefehle
arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Multimediabefehle
Gleitkommabefehle
Programmsteuerbefehle
Systemsteuerbefehle
Synchronisationsbefehle
Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat
Lade- und Speicherarchitektur
Register- Speicherarchitektur
Speicher- Speichearchtitektur
Stack- und Kellerarchitektur
Akkumulatorarchitektur
Intel 8087, ATAM 862, Atmel: Stackarchitektur
Little-Endian, Big-Endian
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)
32: einfach, 64: doppelt, 80: erweitert
Unmittelbare Addressierung
Registeraddressierung
Direkte oder absolute Addressierung
Indirekte Addressierung
Indirekte Addressierung mit Verschiebung
Indirekte Addressierung mit Autoinkrement/Dekrement
Indizierte Addressierung
Indizierte Addressierung mit Verschiebung
Tempor"are Variablen, Register \$t0 bis \$t9
Gesicherte Variablen: \$s0 bis \$s7
Argumente, funktionsaufruf, \$a
R"uckgabewert \$v
\$zero
\$gp, \$sp
\$at?
Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer
Befehlsdekodierer
1.) MemToReg
2.) MemWrite
3.) Branch
4.) ALU-Src
5.) ALU-Op
6.) RegDst
7.) RegWrite
1.) Befehlsdekodierer
2.) Funktionsdekodierer
3.) Registersatz
4.) ALU
5.) Datenspeicher
6.) Befehlsspeicher
7.) Befehslz"ahler
8.) Vorzeichenerweiterungseinheit
9.) 4 x MUX
10.) 1 x AND
11.) 2 x Addierer
12.) 1 x 2 Bit Shifter
Befehlsdekodierer
1.) MemToReg
2.) MemWrite
3.) Branch
4.) ALU-Src
5.) ALU-Op
6.) RegDst
7.) RegWrite
Funktionsdekodierer
1.) Func
2.) ALU-Op
3.) ALU-Operation
Registersatz
1.) Lese-Register-1
2.) Lese-Register-2
3.) Schreiberegister
4.) Lese-Daten-1
5.) Lese-Daten-2
6.) Schreibedaten
7.) WE
Datenspeicher
1.) Lesedaten
2.) schreibedaten
3.) addresse
4.) WE
ALU
1.) Ergebnis
2.) Null
AND
1.) PCSrc
Befehslsspeicher
1.) Addresse
2.) Lesedaten
Befehlsz"ahler
1.) PC (t)
2.) PC (t+1)
ALU-Op Func ALU-Operation
00 x 010 - add
x1 x 110 - sub
1x 100 000 - add 010 - add
xx n/a n/a
OPCode RegDst RegWrite Branch ALU-Src MemToReg MemWrite ALU-Op
r-typ 000 000 1 1 0 0 0 0 10
Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt
eq - equal
ne - not equal
gt - greater then
ge - greater than equal
lt - less than
le - less than equal
1.) Absolut: Branch
2.) Befehlsz"ahlerrelativ: Jump
3.) Befehlsz"ahlerindirekt: Jump Register
JAL: Jump and Link: Speichern zus"atzlich die Addresse, die dem Sprungbefehl folgt
PC_neu = PC_alt + (i << 2)
PC_neu = PC_alt \& 0xf000 0000 | (i << 2)
j, b*, jr
jal
jalr
beq, bne
beqz, bnez
blt, ble
bltz, blez
bgt, bge
bgtz, bgez
Zustandselemente
1.) Befehlsz"ahler
2.) Befehlsspeicher
3.) Registersatz
4.) Datenspeicher
1.) Befehl holen
2.) Befehl dekodieren
3.) Opranden der ALU bereitstellen
4.) Opration in der ALU ausf"uhren
5.) Operanden in Architekturregister zur"uckschreiben
IF - Instruction Fetch
ID - Instruction Decode / Register Fetch
EX - Execute / Address Calculation
MEM - Memory Access
WB - Write Back
1.) Datenkonflikte
2.) Steuerflusskonflikte
3.) Struktur und Ressourcenkonflikte
1.) In Order Issue In Order Completion
2.) Out Of Order Issue Out Of Order Completion
1.) Statisches Sprungvorhersage durch die Hardware
1.1.) Predict Always Not Taken
1.2.) Predict Always Taken
1.3.) Predict Backward Taken forward Not Taken
2.) Dynamisch - Ein und Zwei Bit Pr"adiktor
2.1.) Taken <-> Not Taken
2.2.) Strongly / Weakly T/NT
Schaltnetze
Schaltwerke
Komplexe Schaltwerke
Aufbau und Funktiosnweise einse Computers
Schaltnetze
Boolesche Algebra
Definition der Booleschen Algebra
Schaltalgebra ein Modell der Booleschen Algebra
Schaltfunktionen
Definition
Darstellung
Minimierung
Analyse von Schaltnetzen
Synthese von Schaltnetzen
Kodierglieder
Schaltnetzentwurf f"ur den 8421-BCD-zu Siebensegmentumsetzung
Schaltnetzentwurf f"ur einen Addresscodierer
Addierglieder
Halbaddierer
Volladdierer
Paralleladdierer
Komperatoren
Multiplexer
ALU
Zahlendarstellung und Zweierkomplement
Addierer Substrahierer
Schaltwerke
Modelle f"ur Schaltwerke
Implementierung f"ur Schaltwerke
Synthese von Schaltwerken
Analyse von Schaltwerken
Schaltwerke und Mikroprozessor
Speichergliedder
Transformation Mealy und Mooreautomat
Schaltwerke mit Bin"arcodierten Zustand
Komplexe Schaltwerke
Aufbau Komplexer Schaltwerke
Entwurf Komplexer Schaltwerke
RTL-Notation
ASM-Diagramme
Zustandsboxen
Entscheidungsboxen
Bedingte Ausgangsboxen
ASM-Block
Konstruktionsregeln f"ur Operationswerke
... (Lernen)
Beispiel 1en Z"ahler
L"osung mit komplexen Moore Schaltwerk
L"osung mit komplexen Mealy Schaltwerk
... (Lernen) Aufbau des Operationswerks
Moore Steuwerk als konventionelles Schaltwerk
Moore Steuerwerk mit HotOne Kodierung
Mealay Steuwerk als Konventielles Schaltwerk
Mealy Steuwerk mit HotOne Kodierung
Mikroprogrammeierte Steuwerke
Aufba und Funktionsweise des Computers
... (Lerne)
Komponenten eines computers
Rechenwerk
Leitwerk
Speicher
Ein und Ausgabe
Datenpfade (? Lernen)
Stackpointer
Unterprogramme
Unterbrechungen / Interrupts
Elemente des Operationswerks
Register
Befehlsspeicher
Rechenelemnte
datenpfade
Addresspfade
Steuereinheit
Operationswerk
Schaltnetze: Elektrische Schaltungen, die Spannungen als logische Variablen 0 und 1 interpretieren
DIN44300/93: Schaltnetz
DIN44300/87: Schaltfunktion
Eingangsvektor
Schaltnetz
Ausgangsvektor
Schaltfunktion/Vektorfunktion
Eingangsvektor: x0, x1, ..., xn
Gesetze:
Distributiv
Assoziativ
Kommutativ
Absorbtion
De Morgan
Dualit"atsprinzip
Inverse Elemente / Komplement"are Elemente
Neutrale Elemente
Grundverkn"upfungen - DIN40700
Null
Eins
Konjuntion
Distribution
NAND
NOR
"Aquivalenz
Antivalenz
Transfer
Inhbition
Implikation
Komplement/Invers
Kodierer: Schaltnetz, dass dem Zeichen eines Zeichenvorrats das Zeichen eines anderen Zeichenvorrats zuordnet
Dekdierer: Kodierer, bei den f"ur jede Kombination von Eingangssignalen immer nur ein Ausgang ein Signal 1 abgibt
DIN44300/118: Kodierer
DIN44300/121: Dekodierer
DIN 40700 Blat: Komperatoren
DIN 40700 - Rechenelemente und Grundverkn"upfungen
Volladdierer:
S = A XOR B XOR C
U = (A AND B) OR (A OR B) AND C
PLHS 18P8
1.) Einzyklus
2.) Mehrzyklus
3.) Pipelining
rt-Feld
rs-Feld
R-Typ Befehle
I-Typ Befehle
ALU-Op
00 add
x1 sub
1x nutze das Func Feld
xx n/a
Func Feld
4 0
4 2
4 4
4 5
5 2
100 000 - add
100 010 - sub
100 100 - and
100 101 - or
101 010 - slt
ALU-Operation
010 - add
110 - sub
000 - and
001 - or
111 - slt
Konflikte
1.) Datenkonflikte
2.) Steuerflusskonflikte
3.) Struktur und Ressourcenkonflikte
1.) RAW - Read after Write - echte Datenabh"angigkeit
2.) WAR - Write After Read - Gegenabh"angigkeit
3.) WAW - Write After Write - Ausgabeabh"angigkeit