/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl20240112/auswendig20240120.txt


lb, lbu
lh, lhu
lw
ld*
la*
li*
sb
sh
sw
sd*
move
add, addi, addiu
sub, subi
mult, multu
div, divu

Arithmetisch logische Befehle
Schiebe und Rotationsbefehle
Transferbefehle
Gleitkommabefehle
Multimediabefehle
Systemsteuerbefehle
Synchronisationsbefehle
Programmsteuerbefehle

Dreiaddressformat
Zweiaddressformat
Einaddressformat
Nulladdressformat

Stack und Kellerarchitektur
Lade- und Seicherarchitektur
Speicher- Speicherarchitektur
Register- Speicherarchitektur
Akkumulatorarchitektur

Stackarchitektur: 8087, Intel, ATAM 862 Atmel
Speicher- Speicherarchitektur: TI9900 Texas Instruments

Little-Endian: Falsch rum
Big-Endian: Richtig rum

Byte
Halbwort
Wort
Doppelwort

Einzelbit
Ganzzahl
Gleitkomma
Multimedia

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 - Immidiate
Register-Addressierung
Absolute Addressierung
Direkte Addressierung
Indirekte Addressierung
Indirakte Addressierung mit Autoinkrement/Dekrement
Indirakte Addressierung mit Verschiebung
Indizierte Addressierung
Indizierte Addressiernug mit Verschiebung

Steuereinheit
1.) Befehlsdekodierer
2.) Funktionsdekodierer

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

1.) Befehlsdekodierer
2.) Funktionsdekodierer
3.) Registersatz
4.) ALU
5.) Datenspeicher
6.) Befehlsspeicher
7.) Befehlszähler
8.) Vorzeichenerweiterungseinheit
9.) 4 x DeMUX
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-Daten-1
2.) Lese-Daten-2
3.) Schreibedaten
4.) Lese-Register-1
5.) Lese-Register-2
6.) Schreiberegister
7.) WE

Datenspeicher
- Lesedaten
- Schreibedaten
- WE
- Addresse

ALU
- ALU-Ergebnis
- Null

Befehlsspeicher
- Leseaddresse
- Lesedaten

Befehlszähler
- PC (t)
- PC (t+1)

AND:
- PCSrc

ALU-Op      Func                ALU-Operation
00          x                   010 - add
01          x                   110 - sub
10          100 000 - add       010 - add
11          x                   x

            OpCode      RegDst      RegWrite        Branch      ALU-Src     MemToReg    MemWrite    ALU-Operation
r-typ       000 000     1           1               0           0           0           0           10

Verzweigungsbefehle
1.) Bedingt
2.) Unbedingt

1.) Absolut = Brachh
2.) Befehlszählerrelativ = Jump
3.) Befehlszählerindirekt = Jump Register

eq - equal
ne - not equal
gt - greater than
ge - greater than equal
lt - less than
le - less than equal

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

JAL: Jump And Link

1.) Befehl holen
2.) Befehl dekodieren
3.) Operanden der ALU bereit stellen
4.) Operation in der ALU ausführen
5.) Opranden in Architekturregister zurückschreiben

IF
ID
EX
MEM
WB

IF - Instruction Fetch
ID - Instruction Decode / Register Fetch
EX - Execute / Address Calculation
MEM - Memory Acess
WB - Write Back

Datenkonflikte
Steuerflusskonflikte
Struktur und Ressourcenkonflikt

In Order Issue In Order Completion
Out Of Ordrer Issue Out Of Order Completion

1.) Statische 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ädiktor
2.1.) Taken, Not Taken
2.2.) Strongly / Weakly, Taken / Not Taken

1.) Schaltnetze
2.) Schaltwerke
3.) Komplexe Schaltwerke
4.) Aufbau und Funktionsweise des Computers

Schaltnetze
    Boolesche Algebra
        Definition der Booleschen Algebra
        Schaltalgebra ein Modell der Booleschen Algebra
    Schaltfunktion
        Definition
        Darstellung
        Minimierung
    Analyse von Schaltnetzen
    Synthese von Schaltnetzen
    Kodierer
        Schaltnetzentwurf für die 8421-BCD- zu Siebensegmentumsetzung
        Schaltnetzentwurf für den Addresskodierer
    Addierglieder
        Halbaddierer
        Volladdierer
        Paralleladdierer
    Komperatoren
    Multiplexer
    ALU
        Zahlendarstellung und Zweierkomplemnt
        Addierer / Subtrahier
    Schaltnetze mit Programmierbaren Logikbausteinen
        ROM
        PROM: Festverdrahtete UND Programmierbare ODER
        EPROM: Festverdrahtete UND Programmierbare ODER
        EEPROM: Festverdrahtete UND Programmierbare ODER
        PLA: Programmierbare UND Matrix gefolgt von Programmierer ODER Matrix
        PAL: ODER struktur festverdrahte, Programmierbare UND
        GAL
        PLD
        CPLD
        FPGA
        ASIC
        PLHS18P8
        GAL20v1??
Schaltwerke
    Implementierung von Schaltwerken
    Modelle für Schaltwerke
    Synthese von Schaltwerken
    Analyse von Schaltwerken
    Komplexe Schaltwerke und Mikroprozessor
    Speicherelemente
    Transformation Mealy und Moore
    ...
Komplexe Schaltwerke
    Aufbau komplexer Schaltwerke
    Entwurf komplexer Schaltwerke
    RTL-Notation
    ASM-Diagramme
        Zustandselemente

        Bedingte Entscheidungsboxen
        ASM-Diagramme
    Konstruktionsregeln für Operationswerke
    Aufbau des Steuerwerks
    Beispiel 1en Zähler
        Lösung mit Komplexen Moore Schaltwerk
        Lösung mit komplexem Mealy Schaltwerk
        Aufbau des Operationswerks
        Mealy Schaltwerk als Konventionelles Schaltwerk
        Mealy Schaltwerk mit HotOne Kodierung
        Moore Steuerwerk als konventionelles Schaltwerk
        Moore Steuerwerk mit HotOne Kodierung
        Mikroprogrammierte Steuerwerke
Aufbau und Funktionsweise des Computers
    Erweiterung komplexer Schaltwerke
    Komponenten eines Computers
        Rechenwerk
        Leitwerk
        Speicher
        Ein und Ausgaben
    Interne und Externe Busse
    Programmzähler
    Anwendung des Stapelzeigers
        Unterprogramme
        Unterbrechungen Interrupts
    Rechenwerk
        Daten und Addressregister
        Datenpfade
        Schiebemultiplexer
        Arithmetische Operationen
        Logische Operationen
        Statusflags
    Leitwerk
        Mikroprogrammierung
        Mikrobefehlsformat

Schaltnetze: Elektronische Schaltungen, die Spannungen als logische Variablen 0 und 1 interpretieren
Schaltnetze: DIN44300/93

Boolesche Algebra/Schaltalgebra
Schaltfunktion, Vektorfunktion
Schaltglied

f:{0,1}^n -> {0,1}^m

Eingangs und Ausgangsvariablen
Eingangsvektor
Eingangsvariablen: x0, x1, ..., xn
Schreibweise in Komponentendarstellung

Boolesche Algebra ist eine algebraische Struktur
Schaltalgebra ein Modell der Booleschen Algebra
Schaltalgebra ist Boolsche Algebra über der Menge B={0,1}

1.) Verknüfungen
1.1.) wedge/vee
1.2.)
    Kommutativgesetz
    Assoziativgesetz
    Distributivgesetz
    Absorbtionsregeln
    Dualitätsprinzip
    De Morgansche Regeln
    Neutrales Element
    Inverses Element

Verküpfungen
    AND - Konjunktion
    OR - Disjunktion
    Antivalenz
    Äquivalenz
    NAND
    NOR
    Inhibition
    Transfer
    Implikation
    Eins
    Null

Schaltfunktion: DIN44300/87
Schaltnetz: DIN44300/93

Kodierer: Zuordnung des Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats
Dekodierer: Kodierer mit mehreren ein und Ausgängen, bei denen für jede Kombination von Eingangssignalen immer nur je ein Ausgang ein Signal abgibt

Kodierer: DIN44300/118
Dekodierer: DN44300/121

Volladdierer:
C = A XOR B XOR C
U = A AND B OR (A OR B) AND C

PLHS 18P8

Grundverknüpfung: DIN40700

Ampelschaltung: Eine Ampel zeigt normalerweise auf Rot. Drückt man den Knopf geht sie auf Grün. Verbleibt dort für 3s und wechselt wieder auf rot

Signal: Knopf, Eingabe
Signal: Ausgabe, Farbe: 0, rot, 1, grün
Signal: Takt

Das Signal des Takts kommt mit Taktflanke

Zustand
Kante
Gerichtete Kante
Eingehende Kante
Ausgehende Kante
Knoten
Eingabe Markierung: i
ausgabe Markierung: o

i/o:

Za, Zb
Zbo
Zbo1, Zbo2, Zbo3
o1, o2, o3

z0, z1, z2
z0+, z1+, z2+
zw+

Ampel
z0+ = z0 AND NOT Knopf OR z2
z1+ = z0 AND Knopf
z2+ = z1
Farbe = z0 AND Knopf OR z1 OR z2

Zustand     Eingabe     Ausgabe     Folgezustand        Codierung Folgezustand
                                                        z0+, z1+, z2+

Flip Flop:
Q := R NOR Q'
Q' := S NOR Q

1.) Wirkintervall
2.) Kippinteervall

1.) Kippintervall := Solange wie das Signal mindestens oder längsten bis zum Erscheinen am Ausgang braucht
2.) Wirkintervall: Setzzeit, Haltezeit

Setzzeit: Setupuptime - Solange das Signal vor der steigenden Taktflanke stabil sein muss
Haltezeit: Nach der Steigenden Taktflankge

CLK, Enable
CLK, Enable, D
CLK, Enable, R, S

RTL-Notation: register transfer Level


Logische Operation
    NOT
    AND
    OR
    EXOR
Arithmetische Operation
    Addition +
    Inkrement ++
    Subtraktion -
    Dekrement --
    Einerkomplement
Bitweise und Kokatenation
    Rechtsschieben, um n bit >> n
    Linksschieben, um n bit << n
    Rotation linsk: Geschweift <-
    Rotation Rechts: Geschweift ->
    Verkettung, Konkatenation ||

Register
R2(0:7)
AR(0:7)

IR: Instruction Register
PC: Programmcounter

M: Arbeitsspeicher

IR <- M [PC++], PC <- PC + 1

ASM-Diagramme: Algorithmic State Chart

Übergangsschaltnetzf für z0+ -> 3 Bit Register -> Ausgangsschaltnetz für z0
Übergangsschaltnetzf für z1+ -> 3 Bit Register -> Ausgangsschaltnetz für z1
Übergangsschaltnetzf für z2+ -> 3 Bit Register -> Ausgangsschaltnetz für z2

1.) Dekodierer
2.) Encoder

1.) Die Zustände sind von 0 beginnend, konsekutiv nummeriert und unär kodiert
2.) n bit Register, Register i - steht für Zustand i - i hat den Wert 1 alle anderen den Wert 0, zustände 0 bis n-1

John v. Atanasoff,
Charlage Babagge
Alan Turing
John von Neumann
Conrad Zuse

Einzyklus Mikroarchitektur
    Zustandselemente
    Datenpfade
    Steuereinheit
    Vor und Nachteile
Mehrzyklus Mikroarchitektur
    Funktionsweise
    Vor und Nachteile
Pipeline Mikroarchitektur
    Pipeline-Prinzip
    Pipeline-Stufen
    MIPS-Pipeline
    Pipeline-Konflikte
    Datenkoflikte
    Steuerflusskonflikte
    Struktur und Ressourcenkonflikte

PC:
    32 Bit Register
    Wir nach Taktzyklus inkrementiert
    Wird um 4 inkrementiert

32x32 Bit Registersatz
2 Lese und Schreibport
2^5 = 32

5-Bit Bus
32-Bit Bus

Funktionsdekodierer Func: 6 Bit

ALU-Op im Befehl für Befehlsdekodierer, Teil von OpCode
00          add
01          sub
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

Befehl:
R-Typ
I-Typ
J-Typ

R-Typ: add, sub, and, or, slt

R-Typ-Befehle - Register
    op: Bit 31 bis 26
    rs: Bit 25 bis 21
    rt: Bit 20 bis 16
    rd: Bit 15 bis 11
    sa: Bit 10 bis 6
    func: Bit 5 bis 0

31, 25, 20, 15, 10, 5

I-Typ - immidiate
    op: Bit 31 bis 26
    rs: Bit 25 bis 21
    rt: Bit 20 bis 16
    immidiate: Bit 15 bis Bit 0

J-Typ: Jump
    op: Bit 31 bis Bit 26
    target address: Bit 25 bis Bit 0

rs, rt: Source
rd: Destination

Echte Datenabhängigkeit: ED - RAW - Read after Write
Gegenabhängigkeit: WAR -
Ausgabeabhängigkeit: WAW - Schreibe nach Schreibekonflikt


Func: Bit 5 bis bit 0 Opcode
Befehl, op: Bit 31 bis 26
rs-Feld: Bit 25 bis 21
rt-Feld: Bit 20 bis 16

Multiplexer: Bit 15 bis 11, für RD-Feld

SSL Small Scal Integration
MSL Medium
LSL Large
VUSE
Very Large
Ultra Large
Super Large
Extra Large
Giga Large

1.) Statische Daten
2.) Dynamische Daten (Heap)
3.) Stack
4.) Bereich für die E/A

ssl - shift logical left
slr - shift logical right
sar - shift arithmetic right
rol - rotate left
ror - rotate right

I1:     0 - IF, 1 - ID, 2 - EX, 3 - MEM, 4 - WB
I2:     5 - IF, 6 - ID, 7 - EX, 8 - MEM, 9 - WB


I1:     0 - IF, 1 - ID, 2 - EX, 3 - MEM, 4 - WB
I2:     0 - Nl, 1 - IF, 2 - ID, 3 - EX, 4 - MEM, 5 - WB



I1:     0 - IF, 1 - ID, 2 - EX, 3 - MEM, 4 - WB (I1 schreibt in $t1)
I2:     0 - Nl, 1 - IF, 2 - ID (I1 liesst von $t1), 3 - EX, 4 - MEM, 5 - WB

MESI:
    M: Modified
    E: Exclusive
    S: Shares
    I: Invalid

Durchschreibeverfahren
Rückschreibeverfahren
Umschreibeverfahren

Unmodified x2


Snoop hit on Write
Snoop hit on Read
RH: Read Hit
WM: Write Miss
RM: Write Miss

Vollassoziativer Cache-Speicher
Direkt Abgebildet
n-wege satzassoziativ

Vollassoziativ Cache-Speicher
    1.) Tag
    2.) Byte Auswahl
Direkt Abgebildet
    1.) Tag
    2.) Index
    3.) Byte Auswahl