Das neue Auswendig lernen und die neuen Übungen - 0003
Verfasst: Mi Mär 20, 2024 10:52 am
Code: Alles auswählen
Befehlszähler
PC (t)
PC (t+1)
Befehlsspeicher
PC (t+1)
Wort
Befehlsdekodierer
Eingang:
OpCode
Ausgang
MemToReg
MemWrite
Branch
ALU-Src
ALU-Op
RegDst
RegWrite
Funktionsdekodierer:
Eingang:
Func
ALU-Op
Ausgang:
ALU-Operation
Opcode: Bit 31:26
rs-Feld: Bit 25:21
rt-Feld: Bit 20:16
rd-Feld: Bit 15:11
Vorzeichenerweiterungseinheit: 15:0
OpCode: 31:26 geht an Befehlsdekodierer OpCode
Bit 25:21 geht an LeseRegister1 - Registersatz
Bit 20:16 geht an LeseRegister2 - Registersatz
Bit 15:11 geht an Schreiberegister Registersatz
Aber:
20:16 und 15:11 geht an MUX1 - wegen Schreiberegister, bei I-Typ Befehlen, geht 15:0 an Vorzeichenerweiterungseinheit, 15:11 geht in Schreiberegister
Sonst geht 20:16 Leseregister-2, 15:11 Schreiberegister, R-Typ Befehle
Pfad
1.) PC (t+1) - Befehlszähler
2.) Befehlsregister
3.) Vorzeichenerweiterungseinheit
4.) 2 Bit Shifter
5.) Addierer
6.) MUX
7.) PC (t) - Befehlszähler
PC (t+1) -> Befehlsregister -> Vorzeichenerweiterungseinheit -> 2 Bit Shifter -> Addierer -> MUX -> PC (t) Befehlszähler
Das sind die I-Typ Befehle, Konstante, Datenpfade, Sprung, Vorzeichenerweiterungseinheit
31:26 - ist immer Opcode
25:21 - ist immer rs-Feld - 1. Quelloperand
20:16 - ist entweder rt-Feld - 2. Quelloperand, oder rd- Feld Zieloperand -> MUX
15:11 - ist im ersten Fall, rd-Feld, Zieloperand
Echte Datenabhängigkeit - ED
Gegenabhängigkeit - GA
Ausgabeabhängigkeit - AA
i1: addi $t1, $t2, 3
i2: add $t4, $t1, $t3
i3: subi $t3, $t5, 3
i4: subi $t3, $t6, 3
1, 2, 4, 1, 3 - addi, add, subi, subi
IF
ID
EX
MEM
WB
Mehryzklus
I1: 0 - IF 1 - ID 2 - EX 3 - MEM 4 - WB
I2: 5 - IF 6 - ID 7 - EX 8 - MEM 9 - WB
Pipelining
I1: 0 - IF 1 - ID 2 - EX 3 - MEM 4 - WB
I2: 5 6 - IF 7 - ID 8 - EX 9 - MEM 10 - WB
IF ID EX MEM WB
IF ID EX MEM WB
So, so weit ich weiss ich im Kopf selber zu 100% auswendig, da sind ein paar Dinge noch genauer zu machen, nicht bei den Bits den MIPS32, aber ein paar ganz kleine Kleinigkeiten, die schreibe ich jetzt mehrfach auf
Code: Alles auswählen
Small
Medium
Large
VUSE - Very Ultra Super Extra
Giga
Small Scale Integration SSI
Medium Scale Integration MSI
Large Scale Integration LSI
Very Large Scale Integration VLSI
Ultra Large Scale Integration ULSI
Super Large Scale Integration SLSI
Extra Large Scale Integration ELSI
Giga Scale Integration GSI
Prozessarchitektur: Programmiermodell: Instruction Set Architecture: Grenze zwischen Hardware und Software
Mikroarchitektur: Implementierung
Prozessortechniken: ISA + Mikroarchitektur
RISC
CISC
EPIC : Explicitily Parallel Instruction Computing: Mischung aus RISC und CISC
1.) Programmcode
2.) Statische Daten
3.) Stack
4.) Heap
5.) Bereich für die EA
1.) Datenformate
2.) Befehlsformate
3.) Befehlssatz
4.) Speichermodell
5.) ...
SSL - Shift Logical Left
SLR - Shift Logical Right
SAR - Shift Arithmetic Right
ROL - Rotate Left
ROR - Rotate Right
b: byte
h: halbwort
w: Wort
d: Doppelwort
R-Typ-Befehle
I-Typ-Befehle
J-Typ-Befehle
R-Typ-Befehle
opcode: 31:26
rs: 25:21
rt: 20:16
rd: 15:11
sa: 10:6
func: 5:0
I-Typ-Befehle
opcode 31:26
rs 25:21
rd 20:16
immidiate 15:0
J-Typ-Befehle
opcode 31:26
target adrs 25:0
++++++
Befehlssatzarchitektur
Befehlssatzarchitektur
Befehlssatzarchitektur
Befehlssatzarchitektur
Befehlssatzarchitektur
Befehlssatzarchitektur
ISA - Instruction Set Architecture
Prozessorarchitektur, Programmiermodell
Prozessoarchitektur, Programmiermodell
Prozessorarchitektur, Programmiermodell
Register und Speichermodell
Register und Speichermodell
Register und Speichermodell
Register und Speichermodell
Register und Speichermodell
Register und Speichermodell
Addressierungsarten
Addressierungsarten
Addressierungsarten
Register und Speichermodell
Befehlsformate
Befehlssatz
Datenformate
Addressierungsarten
Register und Speichermodell
Befehlsformate
Befehlssatz
Datenformate
Addressierungsarten
Register und Speichermodell
Befehlsformate
Befehlsformate
Datenformatne
Addressierungarten
Register und Speichermodell
Befehlsformate
Datenformate
Befehlssatz
Addressierungsarten
ProgrammCode Statische Daten
Heap
Stack
Bereich für die E/A
Programmcode, Statische Daten
Dynamische Daten, Heap
Stack
Bereich für die E/A
Programmcode, Statische Daten
Dynamische Daten, Heap
Stack
Bereich für die E/A
Programmcode, Statische Daten
Dynamische Daten, Heap
Stack
Bereich für die E/A
little-endian: falsch rum
big-endian: richtig rum
little-endian: falsch rum
big-endian: richtig rum
Code: Alles auswählen
3 x B
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
SJWS
SJWS
SJWS
SJWS
SJWS
SJWS
SJWS
BBBSJWS
BBBSJWS
3xBSJWS
3xBSJWS
3xBSJWS
3xBSJWS
3xBSJWS
Strech
Strech
Strech
Strech
Strech
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
Bookworm
Bullseye
Buster
SJWS
SJWS
SJWS
Strech
Strech
Strech
Strech
Strech
Strech
Jessie
Jessie
Jessie
Jessie
Jessie
Bookworm
Bullseye
Buster
Strech
Jessie
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Wheezy
Wheezy mit y
Wheezy mit y
Wheezy mit y
Wheezy mit y
Wheezy mit y
SJWS
Strech
Jessie
Wheezy
Strech
Jessie
Wheezy
SJWS
Strech
Jessie
Wheezye
Squeeze - mit e
Squeeze mit e
Wheezy mit y
Squeeze mit e
Wheezy mit y
Squeeze mit e
yeyeyeyeyeyeyey
Wheezy
Squeeze
Wheezy
Squeeze
Wheezy
Squeeze
BBB
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
3xB SJWS
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
SJWS
SJWS
SJWS
SJWS
SJWS
SJWS
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeze
Stable
Testing
Unstable
STU
Stable
Testing
Unstable
STU
Stable
Testing
Unstabe
STU
Stable
Testing
Unstable
STU
Stable
Testing
Unstable
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
STU
Stable
Testing
Unstable
3 x B SJWS
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
STU
Stable
Testing
Unstable
Stable
Testing
Unstable
Stable
Testing
Unstable
64-Bit PC
64-Bit PC
64-Bit PC
amd64
amd64
amd64
amd64
amd64
amd64
amd64
amd64
amd64
i386
i386
i386
i386
amd64
i386
amd64
i386
amd64
i386
amd64
i386
64-Bit PC (amd64)
32-Bit PC (i386)
64-Bit PC (amd64)
32 Bit PC (i386)
64-Bit PC (amd64)
32 Bit PC (i386)
MIPS (little Endian)
64-Bit MIPS (little Endian)
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
3 x B SJWS
Stable
Testing
Unstable
STU
64-Bit PC (amd64)
32-Bit PC (i386)
MIPS (Little Endian)
64-Bit MIPS (Little Endian)
MIPS (Little Endian)
64-Bit MIPS (Little Endian)
MIPS (Little Endian)
64-Bit MIPS (Little Endian)
IBM System Z
IBM System Z
IBM System Z
IBM System Z
IBM System Z
IBM System Z
Bookworm
Bullseye
Buster
Strech
Jessie
Wheezy
Squeeze
Stable
Testing
Untesting
32-Bit PC (i386)
64-Bit PC (amd64)
MIPS (Little ENdian)
64-Bit MIPS (Little Endian)
Power PC
IBM System Z
ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM ARM
armel armel armel armel armel armel armel armel armel armel armel
AArch64
AArch64
AArch64
AArch64
AArch64
AArch64
AArch64
ARM
armel
AArch64
ARM
armel
AArch64
ARM
armel
AArch64
ARM
armel
AArch64
ARM
armel
AArch64
ARM
armel
AArch64
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
ARM
ARM
ARM
ARM
ARM
ARM
armel
armel
armel
armel
armel
AArch64
AArch64
AArch64
AArch64
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
EABI ARM
armhf
armhf
armhf
armf
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
ABI ARM
EABI ARM
deb.debian.org
deb.debian.org
deb.debian.org
deb.debian.org
http://deb.debian.org
http://deb.debian.org
http://deb.debian.org
http://deb.debian.org
http://deb.debian.org
http://deb.debian.org
http://deb.debian.org/debian
http://deb.debian.org/debian
http://deb.debian.org/debian
http://deb.debian.org/debian
Bookworm
Bullseye
Buster
SJWS
Strech
Jessie
Wheezy
Squeeze
Stable
Testing
Unstable
32-Bit PC (i386)
64-Bit PC (amd64)
MIPS (Little Endian)
64-Bit MIPS (Little Endian)
IBM System Z
Power Processors
AArch64
armel
ARM
EABI
ABI
http://deb.debian.org./debian
deb debian debian
deb debian debian
deb debian debian
ddod
ddod
ddod
ddod
ddod
deb debian debian
deb debian debian
deb debian debian