1. PLD
1.1. Die Namen der Baustein-Typen
1.1.1. PLD usw
PLD: Programmable Logic Device
PLA: Programmable Logic Array
PAL: Programmable Array Logic
CPLD: Complex Programmable Logic Device
FPGA: Field Programming Gate Array
1.1.2. Unterschied: PROM ...
PROM: Festverdrahtet UND, programmierbar ODER
PLA: Programmierbarer UND-Matrix gefolgt von programmierbarer ODER-Matrix
PAL: ODER Fest verdrahtet
1.2. Die Hersteller
Xilinx
Altera
Lattic
Actel
Cypress
Quicklogic
Atmel
1.3. Die Bedeutung des Wortes VHDL
VHDL: VHSIC Hardware Descriptin Language
VHSIC: Very High Speed Integrated Circuit
1.4. Kirchhoffsche Regeln
Jeden Punkt, in dem mehr als zwei Zweige zusammenlaufen nennt man einen Knotenpunkt
1. : In jedem Knotenpunkt ist die Summe der zufließenden Ströme, gleich die Summe der abfließenden Ströe
2. Beim Gleichseitigen Umlauf, ist die Summe aller Spannnung einer Masche gleich 0
1.5. Halbleiter
1.5.1. Tristor, Triac. USW
Vierschichtdiode
Symmetrische Vierschichtdiode
Triode
Thrystor
Triac
1.5.2. LASER
Light Amplification by Stimulated Emmssion of Radiation
1.5.3.
Dioden:
Z-Diode
Tunnel-Diode
Backward-Diode
Kapazitätsdiode
Schottky-Diode
PSN- und PIN Diode
1.5.3. Bipolare Transistoren
1. Basisschaltung
2. Emitterschaltung
3. Collectorschaltung
Kennlinien:
1. Arbeitspunkteinstellung
2. Übersteuerungsgrenze
3. Sättigungsspannung
4. Kleinsignalverhalten
5. Grenzfrequenzen
6. Stromverstärkunngsgruppen
1.5.4. FET's
IGFET: Insulated Gate FET
MOSFET: Metal Oxid Semiconductor FET
MISFET: Metal Insulated Gate FET
MESFET: Schottky-Übergang
SFET: Sperrschicht-FET
JFET: Junction-FET
Source: S - Quelle
Drain: D - Senke
Gate: G - Tor
Bulk - Substrat - B
2. VHDL
2.1. Allgemeiner Aufbaue
a) Blöcke: Multiplexer, Decoder und so weiter
b) Signale
Die Blöcke sind über Signale miteinander verbunden
Typen: Streng Typgebundene Sprache
-- Kommentar
bit: 0, 1
boolean: true, false
std_logic: 0, 1, -, Z, U, L, H, X, W
0: starke 0
1: starke 1
-: unbekannt
X: Konflikt
Z: Hochohig
L: schwache 0
H: Schwache 1
W: Schwaches X
signal signalname: typ;
signal a: bit_vector (0 to 7);
signal b: boolean_vector (0 to 3);
signal c: bit_vector (3 downto 0);
Bit-Vektor
signale name: typ_vector (lower to upper)
1. Entity
2. Architecture
typ name: richtung;
a: in bit;
b: out boolean ;
a, b: inout bit:
in: rein
out: raus
inout: reinraus
entity Schaltnetzname is
port (
);
end;
entity Multiplexer is
port (
a3, a2, a1, a0: in bit;
b3, b2, b1, b0: in bit;
s: in bit;
y3, y2, y1, y0: out bit
);
end;
entity Counter is
port (
clk: in bit;
...
);
end;
architecture behavioural of Multiplexer is
signal a, b, c: bit_vector (3 downto 0);
begin
a = (a3, a2, a1, a0);
b = (b3, b2, b1, b0);
when (s == '1') then c <= a else c <= b;
c3 = c(3);
c2 = c(2);
c1 = c(1);
c0 = c(0);
end;
3. Speicher
3.1. Allgemein
1. Register
2. Level-1-Cache
3. Level-2-Cache
4. Festplatte
5. Flash
Register: Flip-Flop
DRAM: Kondensator
SSD: Flash - Solid State Disk
FGMOSFET: Floating Gate Metal Oxid Semiconductor FET
Six-Device-Zelle
3.3. Cache
3.3.1. Cache Typen
1. Vollassoziativ
2. n-Wege satzassoziativ
3. Direkt Abgebildet
Cache-Zeilen: Caches-Lines: Daten die eingelagert werden
Cache-Blöcke
Sätze
Cache-Treffer: (Rate): T
Cache-Fehlzugriff: Miss Rate: M
Verwaltungsinformationen:
Valid-Bit: v
Dirty-Bit: d
Vollassoziativ: Es gibt einen Satz, und der Satz ist voll mit Blöcken:
m: Anzahl der Blöcke pro Satz
n: Anzahl der Sätze ingesamt pro Cache
m/n: Assoziativität
Vollassoziativ: m = n, Satz, n = 1
Direkt abgebildet: m = 1, Sätze: m
n-Wegesatzossoziativ: m/n
Cache-Trashing
Aufbau: Vollassoziativ: Tag - Index, Byte
Tag: Teil der Addresse
Inhaltsaddressiert und Speicherplatzbezogen
Inhaltsaddressiert: Das ist auch eine Addresse - aber im RAM und die ist Inhalt im Cache
Spatiale Lokalität: Matrix
Temporale Lokalität: Wird immer auf das gleiche zu gegriffen
4. Schaltnetze - Schaltwerke
1. Schaltnetze
2. Schaltwerke
3. Komplexe Schaltwerke
4. Aufbau und Funktionsweise einer CPU
1. Inhibitition
2. Transfer
3. Antivalenz
4. Konjunktion
5. Disjunktion
6. Null
1. Kommutativgesetz
2. Assoziativ-Gesetz
3. Distributiv-Gesetz
4. De Morgan
1. Boolesche Algebra, Schaltalgebra
2. Boolesche Funktionsweise
2.1. Darstellung
2.2. Minimierung
3. Analyse von Schaltnetzen
4. Synthese von Schaltnetzen
5. Komperatoren
6. Addierglieder
7. Multiplexer, Demultiplexer, Dekoder, Koder
7.1. 8241-BCD- zu Siebensegment-Umsetzung
8. ALU
8.1. Komplentent
8.2. Addierer Subtrahierer
9. Bausteine: PLA, EPROM, ...
10. Laufzweiteffet
Verbale Formulierung -> Zustandsdiagramm -> Wertetabelle -> Funktionsgleichung -> DNF/KNF -> Schaltbild
Wertetabelle
Zustandsdiagramm
Funktionsgleichung
Schaltplan
Multiplexer: Verteilendes Schaltwerk
Demultiplexer: Auswählendes Schaltwerk
Koder: Schaltnetz was einem Zeichen aus einem Vorat ein Zeichen aus einem anderen Vorat zuordnet
Dekodierer: Kodierer, bei dem für jedes Eingabezeichen genau ein Bit ein Signal trägt
Halbaddierer:
s = (not b and a) or (b and not a) = a xor b
c = a and b
Volladdierer
s = a xor b xor c
c = (a and b) or (b and c) or (a and c)
Technische Informatik
Theoretische Informatik
Pratkische Informatik
Angewandte Informatik
Informatik: Eingeführt von Karl Steinbuch aus Information und Automatik
Echtzeitsysteme, Messen Modellieren, Bewerten, ...
Schaltwerke
Analyse
Synthese
Darstellung
Speicherglieder
RS-Latch, SR-Latch
S: Set, Setzen
R: Reset, Rücksetzen
Wirkzeit Setup-Time
Haltezeit Hold-Time
Automat: Endlicher Automat: Finite State Machine (FSM)
Mealy
Moore
<I, S, O, s0, f, g>
I: Menge der möglichen Eingabezeichen
S: Menge der Zustände
O: Menge der möglichen Ausgabezeichen
s0: Startzustand
f: Ausgangsfunktion
g: Übergangsfunktion
g : S x I -> S
Moore: f : S -> O
Mealy: f : SxI -> O
5. CPU
5.1. Befehle
lw, lwu
lb, lbu
ld*
la*
li*
lh, lhu
move*
sh
sd
sb
sd*
add
addu
addi
addiu
sub
div
divu
mult
multu
rem*
abs*
neg*
and
andi
or
ori
xor
xori
5.2. Register
$t: temporär
$v: Übergabewert
$s: sicher
$a: Rückgabewert
$k
$at: Rücksprungaddress
$z: Zero
$fp: Frame Poiunter
$sp: Stack Pointer
Segment Pointer
5.3. Architektur - Register-Register - ...
1. Stack-Architektur
2. Speiher-Speicherarchitektur
3. Register-Architektur
4. Register-Speicherarchitektur
5. Akkumulator-Architektur
Stack: 8087 Intel, 862 Atmel
5.4. Datenformate
Little-Endian/Big-Endian
Byte
Halbwort
Worte
Doppelwort
Signed
Unsigned
Packed
Unpacked
BCD
ASCII
Bit
Integer
Gleitkomma
Multimedia
Gleitkomman: IEEE-754-std_logic
f = (-1)^s*1.m*e^(e-b)
Einfache: 32
Doppelte: 64
Erweiterte: 80
5.6. Addressierungsarten
1. Direktwertaddressierung
2. Registeraddressierung
3. Unmittelbare oder Direkte Addressierung
4. Indirekt Addressierung
4.1. Indirekte Addressierung
4.2. Indirekte Addressierung mit Verschiebung (Displacemenent)
4.3. Autoinkrement/Autodekrement
5. Indizierte Addressierung
5.1. Indiziert
5.2. Mit Displacement
6. CPU - Bits - MIPS
Funktionsdekodierer
Befehlsdekodierer
Registersatz
ALU
Datenspeicher
Befehlszähler
Befehlsspeicher
1 AND
2 x Addierer
1 x 2 Bit Shifter
4 x MUX
Befehlsdekodier:
1. RegDst
2. RegWrite
3. ALUSrc
4. Branch
5. MemtoReg
6. MemWrite
7. ALUOp
Funktionsdekodierer:
ALUOP
ALUSrc
Func
AND
PCSrc
Datenspeicher:
Lese-Register 1
Lese-Register 2
Schreibe-Register
Lese-Daten 1
Lese-Daten 2
Schreibe-Daten
WE
CLK
PC:
PC (t)
PC (t+1)
Befehlspeicher:
Lese-Daten
Schreibe-Daten
ALU:
ALUOp
Null
Lesedaten
Op-Code RegDst RegWrite ALUSrc Branch MemtoReg MemWrite ALUOp
R-Typ 000000 1 1 0 0 0 0 10
lw
sw
beq
ALUOp Opcode ALU-SRC
1X 000000 add - 010