Technische Informatik
1. Technische Informatik
2. Schaltnetze
3. Schaltwerke
4. Komplexe Schaltwerke
5. Aufbau und Funktionsweise eines Computers
1. Technische Informatik
1.1. Anwendungen
1.2. Teilbereiche der technischen Informatik
1.2.1. Hardware-Entwurf
1.2.2. Rechnerarchitektur
1.2.3. Bewertung von Computersystemen
1.2.4. Echtzeit und eingebettete Systeme
1.2.5. Betriebssysteme
1.2.6. Kommunikation in verteilten Systemen
2. Schaltnetze
2.1. Boolesche Algebra
2.1.1. Boolesche Algebrach
2.1.2. Schaltalgebra (Modell)
2.2. Schaltfunktionen
2.2.1 Definition
2.2.2 Darstellung
2.2.3 Minimierung
2.3 Analyse
2.4 Synthese
2.5 Codeumsetzer
2.5.1 8241-BCD zu 7-Segment Umsetzung
2.5.2 Adresscodierer
2.6. Addierglieder
2.7. Komparatoren
2.8. Multiplexer
2.9. ALU
2.9.1. Zweierkomplement
2.9.2. Addierer/Subtrahierer
2.10. Schaltnetze mit programmierbaren Baustein
2.10.1. ROM
2.10.2. PROM, EPROM
2.10.3. PAL
2.10.4. PLA
2.11. Laufzeiteffekte
2. Schaltnetze
2.1. Boolesche Algebra
2.2. Schaltfunktionen
2.3 Analyse
2.4 Synthese
2.5 Codeumsetzer
2.6. Addierglieder
2.7. Komparatoren
2.8. Multiplexer
2.9. ALU
2.10. Schaltnetze mit programmierbaren Baustein, ROM, PROM, EPROM, PAL, PLA
2.11. Laufzeiteffekte
Bezeichung Informatik eingeführt von Karl Steinbuch, aus Information und Automatik
Theoretische Informatik: Formal und mathematisch, Logik, Deduktion, Formale Sprachen, Automaten-, Berechenbarkeits- und Komplexitätstheorie, Algorithmentheorie
Praktische Informatik: Konkrete Problemstellungen, Softwaretechnik, Programmiersprachen, Datenstrukturen, Algorithmen, Datenbanken, Compilerbau, Betriebssysteme
Angewandte Informatik: Webbassiert, Multimedia, KI, Bio-Informatik, Computergrafik, Sicherheit
Technische Informatik
Eingebettete Systeme, Smartphone: Bildschirm, PC: Bildschirm, bei Server: Man kann auf Tastatur und Monitor verzichten
Die Technische Informatik umfasst die Teilbereiche
•Hardware-Entwurf (engl. digital design),
•Rechnerarchitektur (engl. computer architecture),
•Messen, Modellieren und Bewerten,
•Echtzeit– und eingebettete Systeme,
•Betriebssysteme, und
•Rechnernetze und Verteilte Systeme.
Bewertung von Computersystemen: Leistungsaufnahme, Datendurchsatz oder Speicher-zugriffszei
Schaltznetze realisieren eine Schaltfunktion oder Verktorfunktion
- Schaltnetz
- Schaltfunktion
- Vektorfunktion
f:{0,1}^m -> {0,1}^m Y = F(X)
Komponentendarstellung:
y_1 = f_1(x_1, x_2, ..., x_n)
y_2 = f_2(x_1, x_2, ..., x_n)
...
y_n = f_n(x_1, x_2, ..., x_n)
Schaltnetz:Ein Schaltwerk1, dessen Wert am Ausgang zu irgendeinem Zeitpunkt nur vom Wert am Eingang zu diesem Zeitpunktabh ̈angt.
Realisierung:
1. Verknüpfungsfglieder: AND, OR, NOT
2. Multiplexer, Festwertspeicher-ROM, PROM, ...
Definition der Booleschen Algebra
1. Es existiert eine Menge von Verknüpfungsfglieder
∨: BxB -> B
∧: BxB -> B
2. Gesetze
2.1. Kommutativgesetz
2.2. Assoziativgesetz
2.3. Absorptionsgesetz
2.4. Distributivgesetz
2.5. Neutrale Elemente
2.6. Komplementäres Element
2.7. Dualitätsprinzip
2.8. De Morgansche Gesetze
Schaltalgebra - modell der Booleschen Algebra: Hier: Schaltsymbole
B={0,1}
1. Es existiert eine Menge B={0,1}
2. Es existieren die Verkn ̈upfungen (Operatoren)∧,∨,–F ̈ur die Verkn ̈upfungszeichen werden Schaltzeichen eingef ̈uhrt (DIN 40700Teil 14).
3. Es gelten die Gesetze der Booleschen Algebra.
Schaltfunktionen
Schaltfunktion– eine Funktion, bei der jede Argumentvariable unddie Funktion selbst nur endlich viele Werte annehmen kann. (DIN44300/87)
Eine Schaltvariable ist ein Symbol f ̈ur die Elemente{0,1}der Schaltalgebra.
Ist x1 ∈ B und x2 ∈ B, dann hat die Produktmenge (kartesisches Kreuz-produkt)B×B={(0,0),(0,1),(1,0),(1,1)}
(0, 0) ˆ= !x1!x2
(0, 1) ˆ= !x1x2
(1, 0) ˆ= x1!x2
(1, 1) ˆ= x1x2
∧,∨,–
Grundverkn ̈upfungen
∧,∨,– um ein sog.vollst ̈andiges Operatorensystem.
Darstellungen: Wertetabelle,Schaltzeichenoder dieAngabe der Funktion
Null
Konjunktion
Inhibition
Transfer
Antivalenz
Disjunktion
NOR-Verknüpfung
Äquivalenz
Komplement
Implikation
Komplement
Implikation
NAND
Eins
Darstellung:
- Funktionstabelle
- Funktionsgleichung
- KV-Diagramm
- Schaltzeichen
- Binäres Enscheidungsdiagramm
vollst ̈andigenFunktionstabelle
Analyse von Schaltnetzen
Schaltzeichen: Graphische Darstellung einer Booleschen Funktion
Schaltnetz: technische Realisierung, Schaltplan einer Schaltfunktion
Analyse von Schaltnetzen: Welche Werte nehmen die Ausgangsvariablen als Funktion der Eingangsvariablen an
Zwischenfunktion
- Wertekombinationen der Eingangsvariablen
- Schaltplan
- Zwischenfunktion
- Wertetabelle
- Funktionsgleichung
Synthese von Schaltnetzen
1. Analyse von Schaltnetzen - Wertetabellen usw.
2. Synthese von Schaltnetzen: Entwurf eines SChaltplans für ein Schaltnetz
Funktionsgleichung -> Schaltplan
Verbale Formulierung -> Variablenzuordnung -> Wertekombinationen -> Wertetabelle -> DNF/KNF -> Schaltplan
Wertetabelle -> DNF/KNF -> Schaltplan
Code-Umsetzer: Vorschrift für die eine eindeutige Zuordnung der Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats
8421-BCD zu 7 Segment Umsetzung
Addresscodierer
Decodierer: Code-Umsetzer, mit mehreren Eingängen und Ausgängen, bei denen für eine Kombination von Eingangssignalen immer nur je ein Ausgang ein Signal abgibt
Addierglieder
Halbaddierer
S = (A and not B) or (not a and B)
C = A and B
S = A xor B
Volladdierer
S = (A and not B and not C) or (not A and B and not C) or (not A and not B and c) or (A and B and C)
= A xor B xor C
C = (A and B) or (A and C) or (B and C)
= (A and B) or (A vor B) and C
bitseriell, bitparallel - Serien- oder Paralleladdierer
Normalform-Paralleladdierer
Ripple-Carry Adder
Komparatoren: Analoge oder binäre Signale vergleichen
b a, a = b, a < b, a > b
Y2 (A < B): (not a1 and b1) or (not a1 and not a0 and b0) or (not a0 and b1 and b0)
Y3 (A > B): (a1 and not b1) or (not b1 and not b0 and a0) or (a1 and a0 ant not b0)
Y1 (A = B): not (Y2 or Y3)
Multiplexer: Auswählendes Schaltwerk
Demultiplexer: Verteilendes Netzwerk
ALU
Schaltnetze mit programmierbaren Bausteinen
PROM, EPROM, PAL, PLA
1. Speicherglieder
2. Automatenmodelle für Schaltwerke
3. Analyse von Schaltwerken
4. Synthese von Schaltwerken
5. Implementierung von Schaltwerken
Schaltnetz: Die Ausgangssignale hängen alleine von den Eingangssignalen ab
Schaltwerk: Innerer Zustand
Kann sich zeitlich ändern
Speicherung des Zustandes: Speicherglieder
Vorwärtszähler
Addierschaltnetz, Inkrementierer
Folgezustände: 00, 01, 10, 10
Modulo4-Zähler
Speicherglieder: Flip-Flops
Autonomes Schaltwerke: Keine externen Steuereingänge
Latch, FlipFlop
Setz-Vorgang, Setz-Signal S, Set
Rücksetz-Signal, Reset-Signal R
SR-Latch/RS-Latch
Kreuzweise Rückkopplung
flimmert
JK-Latch
J und K, Eingänge
J = K = 1, gespeicherte Wert wird invertiert (getoggelt)
D-FlipFlop
Taktsignal Clock CK
steigende Flanke, fallende Flanke
Taktperiode
Setz-Zeit (Setup-Time)
Halte-Zeit (Hold-Time)
Wirkintervall
Kippintervall
Master-Slave-Flip-Flops
MS-FlipFlops
Mehrere Flip-Flops: Register
Schieberegister
Steuerbares Schieberegiser:
S1 S0
0 0 Rechtsschieben
0 1 Löschen
1 0 Parallel laden
1 1 Linksschieben
Automatenmodelle für Schaltwerke
Endlicher Automat:
Mealy
Moore
Automat: <I,S,O,s0,f,g>
I: Menge der möglichen Eingabezeichen (Eingabealphabet)
S: Menge der Zustände
O: Menge der möglichen Ausgabezeichen (Ausgabealphabet)
s0: Startzustand
g: Übergangsfunktion
f: Ausgangsfunktion
I, S, O endlich: Endlicher Automat (Finite State Machine - FSM)
Übergangsfunktion g
g:S x I -> S
Ausgabezeichen:
f:S->O
zustandsbasierter endlicher Automat, Moore
f:SxI->O
Mealy: Übergangsbasierter Automat
I = {0,1}^m
S = {0,1}^k
O = {0,1}^n
Vollständiger Automat
Widerspruchsfrei
Darstellungsformen
- Zustandstabellen, Zustandsdiagramme
- Zustandsgraphen
Zustandstabellen
Eingangsvariablen, Ausgangsvariablen
Zustandsgraphen
Äquivalenz zwischen Mealy- und Moore-Automaten
Analyse von Schaltwerken
Schaltplan ist vorgegeben
Schaltverhalten analysieren
Übergangsfunktion g und Ausgangsfunktion f herleiten
Erhalten der Zustandstabellen
... Bitte weiter machen
Synthese von Schaltwerken
Aufgabenstellung.
1. Festlegen der Zustandsmenge, die das Schaltwerk einnehmen soll
2. Festlegen des Anfangszustandes
3. Definition der Eingangs- und Ausgangsvariablen
4. Derstellung der zeitlichen Zustandsfolge, mit Zustandsgraph
5. aufstellen der Zustandstabellen
6. Herleitung und Minimierung der Übergangs- und Ausgangsfunktion in DNF und KNF
7. Schaltplan
8. Implementierung
GrayCode-Zähler 00, 10, 11 01, 00
1. Entwurf von Schaltwerken
2. Aufbau komplexer Schaltwerke
3. RTL-Notation
4. ASM-Diagramme
5. Konstruktionsregeln für Operationswerke
6. Entwurf des Steuerwerks
7. Einsen-Zähler
Mikroprogrammierung <=> Konventioneller Entwurf mit optimierten Schaltnetzen für die Funktionen f und g
Interessante Anwendung: Arithmetische Operationen auf der Basis von Schaltnetzen für einfachere Opertaionen ausführen
Komplexe Aufgabenstellung
Komplexes Schaltwerk
Hardware-Algorithmus
Steuernder und Verarbeitender Teil
Steuer und Operationswerke
Schaltverhalten über Zustandsgraphen formal spezifizieren
Zustands-Codierung
Zustandstabelle
Konventioneller Enturfen
Schaltwerke für kompliziertere Aufgabenstellungen
Komplexe Schaltwerke
Operationswerk (data path)
Steuerwerk (controll path)
verarbeitende und steuernde Komponente
- Ampelsteurung
- Umrechnung von Messwerten
- Arithmetische Einheiten für Gleitkommazahlen
Aufbau eines komplexen Schaltwerks:
Operationswerk
Eingabevektor X
Ausgabevektor Y
Steuerwerk
Steuervektor S
Statusvektor V
Datenpfde
Steuerwort, Steuervektor
Statusvektor
RTL-Notation
Register Transfer Level
AR: Addressregister
Allgemeine Register R
R2(7:0) Randbits
LSB Least Significant bit
MSB Most Significant Bit
Big-endian
Little-endian
Ersetzoperator <-
R1 <- R1 + R2
if (S1 = 1) then (R1 <- R1 + R2)
Verkürzte Schreibweise:
S1:R1<-R1+R2
IR<-M[PC], PC<-PC+1
Makrooperationen
ASM-Diagramme
Algorithmic State Machine Chart
1. Zustandsboxen
2. Entscheidungsboxen
3. Bedingte Ausgangsboxen
Zustandsbox: Mit RTL-Notation versehen
Entscheidungsbox: Route
Bedingte Ausgangsbox: Oval
ASM-Block
Konstruktionsregeln für Operationswerke
- Computer
- Anwendungsspezifische Operationswerke
1. Für jede Variable, die auf der linken Seiten einer Zuweisung steht, ist ein Register erforderlich
2. Wenn einer Variable mehr als ein Ausdruck zugewiesen wird, muss vor die Eingänge des Registers ein Multiplexer
Registerblock
Zugriff: Zeitversetzt
Ports: Schreib und Leseports
3. Konstanten können fest verdrahtet sein, oder sie sind Teil des Steuervektors
4. Die Berechnung von Ausdrücken auf der rechten Seite von Wertezuweisungen erfolgt über Funktionsschaltnetze
5. Wertezuweisungen: Parallel (Gleichzeitig), Datenabhängigkeit
6. Bedingungen: Statusvariablen
Entwurf des Steuerwerks
1. Entwurf mit Hilfe Zustandsgraph/Tabelle, Zustandsminimierung nud binärer Zustandskodierung
2. Mit einem FlipFlop pro Zustand (Hot-one-codierung)
3. Entwurf mit Mikroprogrammsteuerwerk
Mikroprogrammierung
Steuerwortspeicher (Control Memory)
Um Verzweiungen innerhalb des Steueralgorithmus zu ermöglichen wird ein ladbarer Zähler verwendet.
Mikroprogrammierung: Für umfangreiche Steueralgorithmen
Verzweigungsfrei
Brauchen: Zähler und Steuerwortspeicher (Control Memory)
Verzweigungen: Ladbarer Zähler
Zero-bitparallel
Load/Count
Beispiel: Einsen-Zähler
Wir benötigen: Einen Steuerwortspeicher (Control Memory) und einen Zähler
Alle Bits = 0? => NOR