/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/fsm2024-02-10/auswendig20240209a.txt


Steuereinheit:
    Befehlsdekodierer
    Funktionsdekodierer

Befehlsdekodierer
Funktionsdekodierer
Registersatz
ALU
Datenspeicher
Befehlsspeicher
Befehlszähler
Vorzeichenerweiterungseinheit
4 x MUX
1 x AND
2 x Addierer
1 x 2 Bit Shifter

Befehlsdekodierer
    MemToReg
    MemWrite
    Branch
    ALU-Src
    ALU-Op
    RegDst
    RegWrite

Funktionsdekodierer
    Func
    ALU-Op
    ALU-Operation

Registersatz
    Lese-Daten-1
    Lese-Daten-2
    Schreibedaten
    Lese-Register-1
    Lese-Register-2
    Schreiberegister
    WE

Datenspeicher
    Lesedaten
    Schreibedaten
    Addresse
    WE

Befehlsspeicher
    Leseaddresse
    Lesedaten

Befehlsspeicher
    PC (t)
    PC (t+1)

AND
    PCSrc

ALUOp           Func            ALU-Operation
00              x               010 - add
01              x               110 - sub
10              100 000         010 - add
10              100 010         110 - sub
10              100 100         000 - and
10              100 101         001 - or
10              101 010         111 - slt
11              n/a


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

Einzyklus
    Zustandselemente
    Datenpfade
    Steuereinheit
    Vor und Nachteile
Mehrzyklus
    Funktionsweise
    Vor und Nachteile
Piplening
    Pipeline-Prinzip
    Pipeline-Stufe
    Pipeline-Konflikt
    MIP-Pipeline
    Datenkonflikt
    Steuerflusskonflikt
    Struktur und Ressourcenkonfikt

2^5 = 32

32-Bit Bus
5 Bit Bus

PC: Programm Counter
    32 Bit Register
    Wird nach jedem Taktzklus erhöht
    wird um 4 Erhöht

32x32-Bit Registersatz
    2 Lese Port
    1 Schreibport
    5 Bit Bus zur Addressierung

Func
00      add
01      sub
10      nutze das func feld
11      n/a

ALU-Op
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

Datenkonflikt
Steuerflusskonflikt
Struktur und Ressourcenkonfikt

RAW - Read after Write: Echte Datenabhängigkeit - True Dependency
WAW - Ausgabeabhängigkeit - Output Dependency
WAR - Gegenabhängigkeit - Anti Dependency

SSI             Small Scale Integration
MIS             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


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

sll         shift logical left
slr         shift logical right
sar         shift arithmetic right
rol         rotate left
ror         rotate right

Dreiaddressformat           opcode      src1        src2        dest
Zweiaddressformat           opcode      src1        src2/dest
Einaddressformat            opcode      src
Nulladdressformat           opcode

if          instruction fetch
id          instruction decode
ex          execute
mem         memory access
wb          write back

r-typ
i-typ
j-typ

r-typ
    opcode
    src1
    src2
    dest
    sa
    func
i-typ
    opcode
    src1
    dest
    immidiate
j-typ
    opcode
    target address


r-typ
    31:26 opcode
    25:21 src1
    20:16 src2
    15:11 dest
    10:6  sa
    5:0   func
i-typ
    31:26 opcode
    25:21 src1
    20:16 dest
    15:00 immidiate
j-typ
    31:26 opcode
    25:0 target address


Multiplexer 1: Eingang: ALU, Datenspeicher, Ausgang: Register-Satz
Multiplexer 2: Eingang: Addierer1, Addierer2, Ausgang: Befehlszähler
Multiplexer 3: Eingang: Registersatz, Vorzeichenerweiterungseinheit, Ausgang:  ALU
Multiplexer 4: Eingang: Befehlswort, Befehlswort, Ausgang: Registersatz


Multiplexer 1: Eingang: ALU, Datenspeicher, Ausgang: (Schreibedaten, Register-Satz)
Multiplexer 2: Eingang: Addierer1, Addierer2, Ausgang: (PC(t), Befehlszähler)
Multiplexer 3: Eingang: (Registersatz, Lesedaten-2), Vorzeichenerweiterungseinheit, Ausgang:  ALU
Multiplexer 4: Eingang: (Befehlswort, 20:16), (Befehlswort, 15:11), Ausgang: (Schreiregister, Registersatz)

1.) Befehlszähler
2.) Befehsspeicher
3.) Vorzeichenerweiterungseinheit
4.) 2 Bit Shifter
5.) Addierer
6.) Multiplexer
7.) Befehlsspeicher

Befehlsspeicher, opcode - 31:26 => Befehlsdekodierer
Befehlsspeicher, src1 - 25:21 => Leseregister-1
Befehlsspeicher, src2 / Befehlsspeicher, dest => Leseregister-1/Schreiberegister, Registersatz
Befehlsspeicher, dest - 15:11 => Schreiberegister, Registersatz
Befehlsspeicher, immidiate 15:00 => Vorzeichenerweiterungseinheit
Befehlsspeicher, 5:0 => func, Funktionsdekodierer

i1: addi $t1, $t2, 3
i2: add $t4, $t1, $t3
i3: subi $t3, $t5, 5
i4: subi $t3, $t6, 6


Mehrzyklus:
i1: (0, if), (1, id), (2, ex), (3, mem), (4, wb, i1 liest von $t1)
i2: (5, if), (6, id, i2 liesst von $t1), (7, ex), (8,mem), (9, wb)


Pipelining:
i1: (0, if), (1, id), (2, ex), (3, mem), (4, wb, i1 liest von $t1)
i2: (0, _), (1, if), (2, id, i2 liesst von $t1), (3, ex), (4,mem), (5, wb)

if  id  ex  mem wb
            if  id  ex mem wb

Vollassoziativen Cache
Direkt abgebildeten Cache
n-wege Satzassoziativen Cache

ortsaddressiert
inhaltsaddressiert

zeitliche lokalität: temporale lokalität
örtliche Lokalität: spaziale Lokalität

Tag

Cache-Zeile
Cache-Block
Satz

Eine Cache-Zeile umfasst mehrere oder einen Cache-Block
Ein Satz ist das Datum, was in einem Cache-Block steht

Eine Cache-Zeile kann in jedem der Cache-Blöcke der Sätze stehen, ...
.. aber immer nur jeweils in einem konkreten Satz

Vollassoziativ:
1.) Tag
2.) Byte-Auswahl

Direkt Abgebildet/n Wege Satzassoziativ
1.) Tag
2.) Index
3.) Byte-Auswahl

1.) Cache-Konsistenz
2.) Cache-Kohärenz

1.) FIFO - First in First Out
2.) LRU - Least Recently Used: der älteste
3.) LFU - Least Frequently Used: der am wenigsten häufigste
4.) RAND

1.) Durchschreibeverfahren: Beide
2.) Umschreibeverfahren: RAM
3.) Rückschreibeverfahren: Cache

MESI

Zustand M: Modified
Zustand E: Exclusive
Zustand S: Shared
Zustand I: Invalid

Exclusive Modified
Exclusive Unmodified
Shared Unmodified
Invalid

RH: Read Hit
WH: Write Hit
WM: Write Miss
RME: Read Miss Exclusive
RMS: Read Miss Shared
SHR: Snoop Hit on Read
SHW: Snoop Hit on Write

Schaltnetze
Schaltwerke
Komplexe Schaltwerke
Aufbau und Funktionsweise eines Computers

Schaltnetze
    Boolesche Algebra
        Definition der Booleschen Algebra
        Schaltalgebra, ein Modell der Booleschen Algebra
    Schaltalgebra
        Definition
        Darstellung
        Minimierung
    Analyse von Schaltnetzen
    Synthese von Schaltnetze
    Kodierer
        Schaltnetzentwurf für die 8421-BCD- zu Siebensegmentumsetzung
        Schaltnetzentwurf für den Addresskodierer
    Addierer
        Halbaddierer
        Volladdierer
        Paralleladdierer
    Komperatoren
    Multiplexer
    ALU
        Zahlendarstellung und Zweierkomplement
        Addierer/Subtrahierer
    Schaltnetze mit Programmierbaren Logikbau
        ROM: Festverdrahtete UND gefolgt von Programmierbarer ODER
        PROM: Festverdrahtete UND gefolgt von Programmierbarer ODER
        EPROM: Festverdrahtete UND gefolgt von Programmierbarer ODER
        EEPROM: Festverdrahtete UND gefolgt von Programmierbarer ODER
        PLA: Programmierbare UND Matrix gefolgt von Programmierbarer ODER Matrix
        PAL: ODER Struktur Fest verdrahtet
Schaltwerke
    Modelle für Schaltwerke
    Implementierung von Schaltwerken
    Synthese von Schaltwerken
    Analyse von Schaltwerken
    Komplexes Schaltwerk und Mikroprozessor
    Speicherglieder
    Transformation Mealy und Moore Automat
    Binär Codierte Schaltwerke
Komplexes Schaltwerk
    Aufbau komplexer Schaltwerke
    Entwurf komplexer Schaltwerke
    RTL-Notation
    ASM-Diagramme
        Zustandsboxen
        Entscheidungsboxen
        bedingte Ausgangsboxen
        ASM-Block
    Konstruktionsregeln für Operationswerke
    Entwurf des Steuerwerks
    Beispiel 1en Zähler
        Lösung mit Komplexen Mealy Schaltwerk
        Lösung mit komplexen Moore Schaltwerk
        Kinstruktionsregeln für Operationswerke
        Mealy Steuerwerk als konventionelles Schaltwerk
        Mealy Steuerwerk mit HotOne Kodierung
        Moore Steuerwerk als konventionelles Schaltwerk
        Moore Steuerwerk mit HotOne Kodierung
        Mikroprogrammierte Steuerwerke
Aufbau und Funktionsweise eines Computers
    Erweiterung komplexer Schaltwerke
    Komponenten eines Computers
        Rechenwerk
        Leitwerk
        Speicher
        Ein und Ausgaben
    Interne und Externe Busse
    Prozessoregister
    Anwendung des Stapelzeigers
        Unterprogramme
        Unterbrechungen (Interrupts)
    Rechenwerk
        Daten und Addressregister
        Datenpfade
        Schiebemultiplexer
        arithmetische Operationen
        logische Operationen
        Statusflags
    Leitwerk
        Mikropgrammierung
        Mikrobefehlsformat

Schaltnetz: Elektrische Schaltung die Spannung als logische Variablen 0 und 1 interpretiert

Schaltnetz: DIN 44300/93

Boolesche Algebra/Schaltalgebra

Verknüpfungsglied
Schaltfunktion

Eingangsvariablen
Ausgangsvariablen
Eingangsvektor
Ausgangsvektor

Eingangsvariablen x1, x2, ..., xn

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

Schreibweise in Komponentendarstellung

Eingangsvektor
Schaltnetz
Ausgangsvektor

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

Verknüpfungsglied:
    wedge vee
    Gesetze
        Kommutativgesetz
        Assoziativgesetz
        Dualitätsprinzip
        De Morgansche Regeln
        Absorbition
        Assoziativ
        Neutrales Element
        Inverses Element

Schaltalgebra
    Verknüpfung wedge vee
    Menge B={0,1}
    Es gelten die Gesetze der Booleschen Algebra

Verknüpfungen
    Konjunktion: AND
    Disjunktion: OR
    NAND
    NOR
    Implikation
    Indikation
    Transfer
    Antivalenz
    Inhibition
    Komplement
    Eins
    Null

Schaltfunktion: DIN 44300/87
Schaltnetz: DIN 44300/93

Kodierer: DIN 44300/118
Dekodierer: DIN 443000/121

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

Komperatoren, Rechenelemente: DIN40700

Volladdierer
S = A XOR B XOR C
U = A AND B OR A OR B AND C

PLHS 18P8

Schaltwerke

Zustände

Zustandsgraph


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

Knoten
Knoten des Graphen
Knoten des Graphen sind die Zustände des Schaltwerks

Eingehende Kante
Ausgehende Kante

Eingabe i
Ausgabe o
i/o durch Schrägstrich getrennt

Signal: eingabe: Knopf
Signal: Farbe 0 rot 1 grün

z0->z0
z0->z1
z1->z0

z0->z0
z0->z1
z1->z2
z2->z0

Takt
Taktsignal
Taktdauer

Taktdauer: Länge jedes Taktes
Taktsignal: Steigende Flanke beim Takt

Normalerweise sind die Schritte eines Schaltwerks gleich lang

Knopf nicht gedrückt Ampel rot
Knopf gedrückt Ampel rot
Ampel rot
Ampel grün

z0+ := z0 AND NOT Knopf OR z2
z1+ := z0 AND Knopf
z2+ := z1

Farbe := z0 AND Knopf OR z1 OR z2

n-Bit-Register
    n Dateneingänge
    n Datenausgänge
    CLK oder Steuereingang oder Taktsignal

Die Zustände des Schaltwerks sind von 0 beginnend, konsekutiv nummeriert und unär kodiert
Im Zustand i hat genau Bit i den Wert 1 alle anderen Bit haben den Wert 0

Die Rot Phase von 3s
gefolgt von einer Gelbphase von 1er s
Die Grünphase mindestens 2s
kann auf 5s verlängert werden

ro: rot
ge: gelb
gr: grün

Speicherglied

x NOR 0 = NOT x
x NOR 1 = 0

Q := R NOR Q'
Q' := S NOR Q

Wirkintervall: Setzzeit + Haltezeit
Kippintervall: die zeit die das Dateneingangssignal mindestens braucht am Ausgang zu erscheinen

Setzzeit: Setup-Time: Die Zeit in der das Signal vor der Taktflanke stabil sein muss
Haltezeit: danach

CLK, R, S, Q, NOT Q
ENABLE, D, CLK, Q, NOT Q
ENABLE, CLK

RTL-Notation: register transfer Level

R: Allzweckregister
AR: Address Register
PC: Programm Counter
IR: Instruction Register
M []: Arbeitsspeicher

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

R2(7:0)

Randbits

Most Significant Bit: MSB - 2^7 das linke bit
Least Significant Bit: LSB - 2^0 - das rechte Bit

ASM: Algorithmic State Machine

RTL-Notation
    Logisch
        NOT
        AND
        OR
        EXOR
    Arithmetisch
        Addition +
        Inkrement ++
        Subtraktion -
        Dekrement --
        Einerkomplement
    Schieben und Konkatenation
        Schiebe um n bit nach rechts << n
        Schiebe um n bit nach links >> n
        Rotiere um n bit nach rechts: Geschweifter Pfeil nach recht n
        Rotiere um n bit nach links: Geschweifter Pfeiil nach links n
        Verbinde zwei Vektoren zu grössem Vektor ||