Ich kann aber mehr von der Kurseinheit anbieten, während das nicht sitzt - von dem Ding, sitzt dafür, der Anfang ist halt nicht optimal
zum Beispieö
John V. Atanasov und Clifford Berry
Charles Babagges
John von Newman
Alan Turing
Conrad Zuse
Dann kommt -
Blockschaltbild eines computer
Rechenwerk
Leitwerk
Programmzähler PC
Instruction Register IR
OpCode
Addressfeld
Ablaufsteuerung
Befehl Holen - Fetch
Befehl ausführen - Execute
Speicher
Befehl Datum Befehl Datum Befehl
E/A
1. RESET
Initialisiere Prozessorregister: PC <- xxxx
2. Befehlszyklus
Wiederhole solange Betriebsspannung vorhanden
Hole Operationscode
IR <- M [PC++]
Hole Operanden
Operandenaddresse oder Operand <- M [PC++]
Führe Operation gemäss OpCode aus
Verknüpfung
Transfer
Sprungbefehl
Komplexes Schaltwerk
Operationswerk
Steuerwerk
Universelles Operationswerk: Rechenwerk
Umschaltbares Steuerwerk: Leitwerk
1.) Linke Seite vom Ausdruck: Variable
2.) Rechte Seite vom Ausdruck: Ausdruck
1.) Variable: Für jede Variable ist ein Register vorgesehen
2.) Für jeden Ausdruck ein Funktionsschaltnetz
1.) Variable: Für jede Variable ist ein Register vorgesehen
2.) Für jeden Ausdruck ein Funktionsschaltnetz
3.) Ausdrücke können parallel ausgeführt werden, wenn verschiedene Variablen, keine echte Datenabhängigkeit
4.) Vor ein Register muss ein MÙX geschaltet werden, wenn es zu verschiedenen Zuweisungen kommt
5.) Konstanten fest verdrahtet
1.) Statusvariable: "ZERO"
2.) Steuervariable: "TEST"
Beispiel 1en Zähler
1.) Befehlsdekodierer
2.) Funktionsdekodierer
3.) Registersatz
4.) ALU
5.) Datenspeicher
6.) Befehlsspeicher
7.) Befehlszähler
8.) Vorzeichenerweiterungseinheit
4 x MUX
1 x AND
2 x Addierer
1 x 2 Bit Shifter
Befehlsdekodierer
MemToReg
MemWrite
Branch
ALUSrc
ALUOp
RegDst
Regwrite
Funktionsdekodierer
Func
ALU-Op
ALU-Operation
Registersatz
Lese-Daten-1
Lese-Daten-2
Schreibedaten
Lese-Register-1
Lese-Register-2
Schreiberegister
WE
ALU
Ergebnis
Null
Datenspeicher
Lesedaten
Addresse
Schreibedaten
WE
AND:
PCSrc
Befehlsspeicher
Leseaddresse
Lesedaten
Befehlszähler
PC (t)
PC (t+1)
ALU-Op Func ALU-Operation
00 x 010 - add
01 x 110 - sub
10 100 000 - add 010 - add
11 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
1.) Einzyklusmikroarchitektur
Zustandselemente
Datenpfade
Vor und Nachteile
2.) Mehrzyklusmikroarchitektur
Funktionsweise
Vor und Nachteile
3.) Pipeline Mikroarchitektur
Pipeline Prinzip
Pipeline Stufe
Pipeline Konflikte
Die MIPS Pipeline
Datenkonflikte
Steuerflusskonflikte
Strutkur und Ressourcen Konflikte
PC - Programmcounter
32 Bit Register
Wird nach jedem Taktzyklus inkrementiert
Wird um 4 inkrementiert
32 Bit Bus
5 Bit Bus
32x32 Bit Registersatz
2 Lese und Schreibport
R-Typ: add, sub, and, or, slt
ALU-Op
00 - addition
01 - subtraktion
10 - nutze das Func Feld
11 - n/a
Func
100 000 - add 4 0
100 010 - sub 4 2
100 100 - and 4 4
100 101 - or 4 5
101 010 - slt 5 2
ALU-Operation
010 - add
110 - sub
000 - and
001 - or
111 - slt set less than
Datenkonflikte
Steuerflusskonflikte
Struktur und Ressourcenkonflikte
Echte Datenabhängigkeit: ED
Gegenabhänigkeit: GA
Ausgabeabhängigkeit: AA
RAW - Read after Write - ED
WAW - Write after Write: Gegenabhängigkeit
WAR - Write after Read: Ausgabeabhängigkeit
IF: Instruction Fetch
ID: Instruction Decode / Register Fetch
EX: Execute / Address Calculation
MEM: Memory Access
WB: Write Back
I1: 0, IF; 1, ID; 2, EX; 3, MEM; 4, WB (I1 schreibt in $t1)
I2: 5, IF; 6 (I1 liesst von $t1), EX, 7, EX, 8, MEM; 9, WB
I1: 0, IF; 1, ID; 2, EX; 3, MEM; 4, WB
I2: 0, ; 1, IF, 2, ID; 3, EX; 4, MEM; 5, WB
IF ID EX MEM WB
IF ID EX MEM WB
I1: addi $t1, $t2, 3
I2: add $t4, $t1, $t3
I3: subi $t1, $t5, 5
I4: subi $t1, $t5, 5
R-Typ
I-Typ
J-Typ
R-Typ: op rs rt rd sa func
I-Typ: op rs rd immidiate
J-Typ: op target address
R-Typ:
op: Bit 31 bis Bit 26
rs: Bit 25 bis Bit 21
rt: Bit 20 bis Bit 16
rd: Bit 15 bis Bit 11
sa: Bit 10 bis Bit 6
func: Bit 5 bis Bit 0
I-Typ:
op: Bit 31 bis Bit 26
rs: Bit 25 bis Bit 21
rd: Bit 20 bis Bit 16
func: Bit 15 bis Bit 0
J-Typ
op: Bit 31 bis Bit 26
target address: Bit 25 bis 0
Vorzeichenerweiterungseinheit -> 2 Bit Shifter -> Addierer 2 -> MUX
MUX4: ALU, Datenspeicher -> Registersatz
MUX3: Addierer1, Addierer2 -> Befehlszähler
MUX2: Vorzeichenerweiterungseinheit, Registersatz -> ALU
MUX1: Befehlswort, 20:16, Befehlswort: 15:11 -> Registersatz
MUX4: ALU, Datenspeicher -> Registersatz (Schreibedaten, Registersatz)
MUX3: Addierer1, Addierer2 -> Befehlszähler
MUX2: Vorzeichenerweiterungseinheit, (Registersatz, Lesedaten) -> ALU
MUX1: Befehlswort, 20:16, Befehlswort: 15:11 -> (Schreiberegister, Registersatz)
SSI: Small Scale Integration
MSI: Medium Scale Integration
LSI: Large Scale Integration
VLSI: Very Large Scale Integration
ULSI: Ultra Large Scale Integration
SLSI: Super Large Scale Integration
ELSI: Extra Large Scale Integration
GSI: Giga Scale Integration
SLL: Shift Logical Left
SLR: Shift Logical Right
SAR: Shift Arithmetich Right
ROL: Rotate Left
ROR: Rotate Right
Lade und Speicherarchitektur
Speicher Speicherarchitektur
Register Speicherarchitektur
Stack und Kellerarchitektur
Akkumulatorarchitektur
Cache
1.) Vollassoziativer Cache
2.) Direkt Abgebildeter Cache
3.) n wege satzassoziativer Cache
1.) Tag
2.) Byteauswahl
1.) Tag
2.) Index
3.) Byteauswahl
1.) Cache-Zeile: Datum
2.) Cache-Block: Umfasst eine Cache-Zeile
3.) Satz: Zusammenfassung von Blöcken
Vollassoziativ: Jede Cache Zeile kann in jedem Block stehen
Blöcke zu Sätzen zusammen gefasst ....
1.) Ortsaddressiert - RAM - addresse
2.) Inhaltsaddressiert - Tag
2.) Inhaltsaddressiert nicht etwa, Datum, sondern Addresse, aber die vom RAM - blos steht ja im Cache, irgendwo - was im RAM ortsaddressiert ist, ist im Cache Inhaltsaddressierung
Anzahl der Cache-Blöcke pro Satz: n
Anzahl der Cache-Blöcke, insgesamt: m
m/n
Anzahl der Sätze Assoziativitität
Vollassoziativ 1 m=n
n-wege Satzassoziativ m m/n
Direkt Abgebildet n 1
Durchschreibeverfahren: Ich fahre durch die Stadt durch in die andere dahinter liegende
Umschreibeverfahren: Ich fahre um die Stadt herum, in die andere dahinter liegende
Rückschreibeverfahren: Ich fahre bis an die Stadtgrenze der ersten Stadt und dann zurück
FIFO - First in First Out
RAND - Random
LRU - Least Recently Used
LFU - Least Frequently Used
Recently: Zu letzt
Frequently: Häufig
MESI
M: Modified - ich habe dich modifiziert
E: Exclusive: Wir sind ein exklusiver Club
S: Shared: Wir scheren uns einen Dreck drum
I: Invalid - wer auch immer ist invalide
RH: Read Hit
WH: Write Hit
WM: Write Miss
RMS: Read Miss Shared
RMH: Read Miss Modified
oder so
SHW: Snoop Hit on Write
SHR: Snoop Hit on Read