Rechnerstrukturen

Werbung
e
ch
nis
me
ste
Sy
Inf
orm
ati
k
Tec
h
Leitung: Prof. Dr.-Ing. D.P.F. Möller
Rechnerstrukturen
LV18.003, Modul IP7, Teil 1
Prof. Dr.-Ing. D.P.F.Möller
Wintersemester 2005/06
Vorlesungsinhalte
Rechnerstrukturen Teil 1: Grundlagen
1. Grundbegriffe der Informationsverarbeitung
(Information, Repräsentation von Information, Zahlensysteme, Codierung)
2. Rechnerarithmetik
(Operationen mit Zahlen, Ganzzahl- und GleitkommaArithmetik)
3. Lokale und globale Konzepte der Digitaltechnik
(Boolesche Algebra, Automatentheorie, Schaltnetze,
synchrone und asynchrone Schaltwerke, kooperierende
Schaltwerke (Operationswerk, Steuerwerk), Datenpfade,
Datentore, Bus-Systeme, Zähler, Register, Registerfiles,
Speicher)
2
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Vorlesungsinhalte
Rechnerstrukturen Teil 2: Rechnerarchitektur
1. von Neumann Rechner
(Architektur, Befehlssatz, Maschinen- und AssemblerCode, Betriebssystemebene)
2. Speicherhierarchie
(Speichertypen, virtueller Speicher, Cache-Organisation)
3. Pipelining
(CISC, RISC, superskalare Architekturen)
4. Parallele Architekturen
5. Kommunikation, Schnittstellen und Peripheriegeräte
3
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Vorlesungsinhalte
Rechnerstrukturen Teil 3: Praktikum Rechnerstrukturen
• Grundelemente:
(Register, Bussystem, Speicheradressierung, Operationswerk (ALU), Mikroprogrammiertes Steuerwerk)
• Speicherhierarchie
(Speichertypen, virtueller Speicher, Cache-Organisation)
• Pipelining
(CISC, RISC, superskalare Architekturen)
• Parallele Architekturen
• Kommunikation, Schnittstellen und Peripheriegeräte
4
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Lernziele
Grundlagenwissen / Faktenwissen
Grundkenntnisse über die Bestandteile digitaler Rechner. Es werden Eigenschaften, Entwurfs- und Optimierungstechniken der Componentware behandelt und die erforderlichen technischen Grundlagen der Informatik vermittelt.
Zusammenfassend wird gezeigt, wie die Componentware eines Rechners
mittels mikroelektronischer Komponenten entwickelt und hergestellt werden
kann.
Methodenwissen
Aufbau und Funktionsweise technischer Systeme; Analyse und Synthese
technischer Systeme; Lösungsansätze am Beispiel der Architektur von Prozessoren, ausgehend von Transistoren über die Zusammenschaltung von
Transistoren zu Gattern, hin zu Schaltnetzen und Schaltwerken, der Realisierung von Prozessoren bis hin zur Anwendung in technischen Systemen.
Eigenschaften, Entwurfs- und Optimierungstechniken kombinatorischer Komponenten, Register und Speicher, Steuerwerk und Rechnerkommunikation.
5
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Lernziele
Transferkompetenz
Anwenden der Methoden der technisch orientierten Informatik in der Analyse
und Synthese technischer Systeme, wie z. B. Mobilkommunikation, Automobilund Flugzeugbau, Roboter, Fertigungslinien etc. Gemeinsam ist diesen, dass
durch die Anforderungen des zu realisierenden technischen Systems auf abstrakter Ebene von Entwurfssichten Randbedingungen für dessen Implementierung zu gewährleisten sind, dass Reaktionen in vorgegebenen zeitlichen
Abfolgen umgesetzt werden müssen, dass ein Regel enges Zusammenspiel
von Software- und Hardwarekomponenten gewährleistet werden muss
Normativ bewertende Kompetenz
Aufbau eines präskriptiven und evaluativen Urteilsvermögens im Kontext
Rechnerstrukturen, um Rechnerarchitekturen zu analysieren, die Komponenten von Rechnern zu verstehen und diese sowohl zu entwerfen als auch
zu optimieren sowie qualifiziert über Hardware zu diskutieren.
6
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Lernziele
Schlüsselqualifikationen
• Kooperations- und Teamfähigkeit in den Präsenzübungen
• Steigerung der Problemlösungskompetenz
• Abstraktionsvermögen und Modellierungsfähigkeiten
• Kreatives Problemlösen bei der exemplarischen Anwendung von
Entwurfsmethoden
• Kennen lernen des Aufbaus und der Funktionsweise von technischen
Systemen sowie Befähigung -zur Analyse und Synthese von
technischen Systemen im Zusammenspiel von Software- und
Hardwarekomponenten
7
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Literatur
1. Grundbegriffe der Informationsverarbeitung
(Information, Repräsentation von Information Zahlensysteme, Codierung)
J. Blieberger, G.-H. Schmidt, U. Schmid, S. Stöckler
Informatik
Springer Verlag, Heidelberg
O. Mildenberger
Informationstechnik Kompakt
Vieweg Verlag, Wiesbaden
D.P.F.Möller
Rechnerstrukturen: Grundlagen der Technischen Informatik
Springer Verlag, Heidelberg
K.-U. Witt
Elemente des Rechneraufbaus
Hanser Verlag, München
8
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Literatur
2. Rechnerarithmetik
(Operationen mit Zahlen, Ganzzahl- und Gleitkomma-Arithmetik)
B. Becker, R. Drechsler, P. Molitor
Technische Informatik
Pearson Studium, München
J. Blieberger, G.-H. Schmidt, U. Schmid, S. Stöckler
Informatik
Springer Verlag Heidelberg
J. L. Hennessy, D. A. Patterson
Rechnerarchitektur
Vieweg Verlag, Wiesbaden
J. Keller, W. J. Paul
Hardware Design
G. Teubner, Stuttgart
D.P.F.Möller
Rechnerstrukturen: Grundlagen der Technischen Informatik
Springer Verlag, Heidelberg
9
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Literatur
3. Lokale und globale Konzepte der Digitaltechnik
(Boolesche Algebra, Automatentheorie, Schaltnetze, synchrone und
asynchrone Schaltwerke, kooperierende Schaltwerke (Operationswerk,
Steuerwerk), Datenpfade, Datentore, Bus-Systeme, Zähler, Register,
Registerfiles, Zähler, Speicher)
B. Becker, R. Drechsler, P. Molitor
Technische Informatik
Pearson Studium, München
L. Borucki
Digitaltechnik
B. G. Teubner Verlag, Stuttgart
V.P. Heuring, H.F. Jordan
Computer Systems Design and Architectures
Pearson Prentice Hall
D.P.F.Möller
Rechnerstrukturen: Grundlagen der Technischen Informatik
Springer Verlag, Heidelberg
A. S. Tannenbaum, J. Goodman
Computerarchitektur
Pearson Studium, München
10
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Informationen im WWW
Powerpointfolien, Übungen und Lösungen zur Vorlesung
Rechnerstrukturen Teil 1
http://www.informatik.uni-hamburg.de/TIS
Lehre
WS05_06
Rechnerstrukturen Teil 1
~Powerpointfolien
~Übungen
~Lösungen
11
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Informationen im WWW
Allgemeine Informationen zur Vorlesung Rechnerstrukturen Teil 1
http://www.informatik.uni-hamburg.de/TIS
Lehre
WS05_06
Rechnerstrukturen Teil 1
~ weiterte Literaturangaben
~ Termine und Änderungen
~ Projekte, Beispiele
~ etc.
12
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Termine Übungsgruppen
Gruppe 1.1: Mittwoch 8:00-10:00, F 535, Beginn 26.10.05
regelmäßig alle 14 Tage, d.h. 26.10.05, 9.11.05, 23.11.05,
7.12.05, 21.12.05; Herr Felix Klöckner
Gruppe 1.2: Mittwoch 10:00-12:00, C 101, Beginn 26.10.05
regelmäßig alle 14 Tage, d.h. 26.10.05, 9.11.05, 23.11.05,
7.12.05, 21.12.05; Herr Felix Klöckner
Gruppe 1.3: Mittwoch 12:00-14:00, F 535, Beginn 26.10.05
regelmäßig alle 14 Tage, d.h. 26.10.05, 9.11.05, 23.11.05,
7.12.05, 21.12.05; Frau Birgit Koch
Gruppe 1.4: Mittwoch 14:00-16:00, F 334, Beginn 26.10.05
regelmäßig alle 14 Tage, d.h. 26.10.05, 9.11.05, 23.11.05,
7.12.05, 21.12.05; Herr Simon Heß
13
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Termine Übungsgruppen
Gruppe 2.1: Mittwoch 8:00-10:00, F 535, Beginn 2.11.05
regelmäßig alle 14 Tage, d.h. 2.11.05, 16.11.05, 30.11.05,
14.12.05, 11.1.06; Herr Felix Klöckner
Gruppe 2.2: Mittwoch 10:00-12:00, C 101, Beginn 2.11.05
regelmäßig alle 14 Tage, d.h. 2.11.05, 16.11.05, 30.11.05,
14.12.05, 11.1.06; Herr Felix Klöckner
Gruppe 2.3: Mittwoch 12:00-14:00, F 535, Beginn 2.11.05
regelmäßig alle 14 Tage, d.h. 2.11.05, 16.11.05, 30.11.05,
14.12.05, 11.1.06; Herr Dennis Bliefernicht
Gruppe 2.4: Mittwoch 14:00-16:00, F 334, Beginn 2.11.05
regelmäßig alle 14 Tage, d.h. 2.11.05, 16.11.05, 30.11.05,
14.12.05, 11.1.06; Herr Simon Heß
Gruppe 2.5: Mittwoch 16:00-18:00, F 535, Beginn 2.11.05
regelmäßig alle 14 Tage, d.h. 2.11.05, 16.11.05, 30.11.05,
14.12.05, 11.1.06; Herr Simon Heß
14
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Rechnerstrukturen
15
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.3 Systembegriff
1.2 Zahlensysteme
1.3 Codierung
16
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
•
•
•
•
Begriff der Information und dessen Entstehung
Informationsbegriff aus nachrichtentechnischer Sicht
Informationsbegriff nach Shannon
Informationsbegriff der Informatik
17
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
• Begriff der Information und dessen Entstehung
• Informationsbegriff aus nachrichtentechnischer Sicht
• Informationsbegriff nach Shannon
• Informationsbegriff der Informatik
18
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Begriff der Information und dessen Entstehung
Information: abstrakter Begriff; materiell, immateriell; Information die
von/in Rechner verarbeitet werden können vielseitiger Gestalt sein
Information
beseitigte Unsicherheit
dem Wissbaren gegenübergestellt.
Information ist etwas, was man wissen kann, z.B. das Wissen über einen Sachverhalt
Unterschied zwischen
Wissen (Knowledge)
und
Gewissheit (Expectation)
19
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Wissen (Knowledge)
Gewißheit (Probability)
Fakten (Facts)
Möglichkeiten (Opportunities)
Erfahrung (Experience)
Vorhersagen (Prediction)
20
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Begriff der Information und dessen Entstehung
Information: etwas was man wissen kann
⇒Unterschied zwischen Wissen und Gewissheit :
• Wissen: an der Vergangenheit orientiert
• Gewissheit: an der Zukunft
• Wissen: Erfahrung
• Gewissheit: Überzeugung, Vorhersagen machen zu können.
Historischer Exkurs: Wissen per se hat eine starke Veränderung erfahren:
Frühes Mittelalter:
Wissen wurde persönlich durch Erfahrung oder Schulung erworben. Wissen war
angeeignetes, persönliches Wissen, mit Fähigkeiten verbunden; Wissen war erlebtes
und erfahrenes Wissen, es hatte im einzelnen eine moralische Qualität.
Buchdruck:
Wissen erhält eine andere Qualität, Beginn der Inflationierung des Wissens.
Lexikon in der Epoche der Aufklärung:
jeder, der das Alphabet beherrscht, kann sich Grundinformationen beschaffen.
Heutige Bibliotheken:
Wer die Technik der Bibliotheksbenutzung kennt, inklusive Digital Libraries, kann sich
ausführliche Informationen zu nahezu jedem Gebiet beschaffen.
21
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
• Mittels moderner Rechner und Datennetze wird heute detaillierteste
Information weltweit und unabhängig von Ort (Raum) und Zeit
verfügbar.
• Wissen löst sich vom Menschen ab, wird zum Gegenstand der
Bibliotheken in gedruckter und/oder elektronischer Form.
• Information und Wissen verlieren den ursprünglichen persönlichen
Charakter, in Datenbanken gespeichertes Wissen ist anonymes
Wissen, ist jedermanns und niemandes Wissen geworden. Zugleich ist
es gegenständlich geworden denn gespeichertes Wissen ist Ware und
Diebesgut zugleich.
22
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Wissen / Information, kann
• gespeichert
• transportiert
• verarbeitet
• ausgewertet
• manipuliert
• visualisiert
• etc.
werden
Gegenstand des Wissens sind
• Verfahrensweisen
• Zugangswege
• Herstellungstechniken
• atomisierte Einzeldaten die digital gespeichert werden können
• etc.
23
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Auf Basis von Wissen/Information können
- losgelöst von der realen Welt Planspiele
betriebenum Informationen über das pro et contra einer Problemstellung
zu erhalten ⇒ gewonnene Information unverbindlich, im Grunde
genommen nichts anderes als Erwartungswert.
Wissen / Information immer mehr durch Apparate vermittelt, d.h.
Wahrnehmung des Menschen zunehmend an Apparate gebunden
⇒ Prozesse zum Wissenserwerb immer stärker entpersönlicht.
24
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Durch Wahrnehmung wird Information über Außenwelt erhalten.
Wahrnehmungsapparat erreichen über Sensoren (visuell, auditiv, taktil,
haptisch, etc.) Energiezustände bestimmter Form die als " Ausgangsgröße" bewusst erfahrbare Information über die Außenwelt erzeugen
Auf Wahrnehmung beruhende Information wird als
wahrgenommene Information bezeichnet.
Durch Identifikation (Benennungen) schließt an Wahrnehmung die
Interpretation an, welche zur wahrgenommenen Information die
mitgeteilte Information hinzufügt.
Wahrgenommene und mitgeteilte Information bilden zusammen
die empfangene Information.
25
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Empfangene Information kann durch
Verarbeitung
zusätzliche Information liefern, die als
• abgeleitete
• hergeleitete
Information bezeichnet wird.
26
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Empfangene Information:
besteht nur aus wahrgenommener Information
Beispiel: Betrachten einer Landschaft bzw. von Schrifttafeln oder anderer interpretierbarer Muster.
Mitgeteilte Information:
beinhaltet wahrgenommene Information
Mitzuteilende Information:
durch materiell-energetische-Muster symbolisiert; als Datum oder als Nachricht
bezeichnet, je nachdem, welcher Aspekt betont werden soll.
Ist nur Verfügbarkeit des Musters von Interesse, was die Interpretierbarkeit zu jedem
gewünschten Zeitpunkt ermöglicht, dann spricht man von Datum (Daten).
Betrachtet man Übertragungsprozess bei dem ein Sender Muster erzeugt, welches vom
Empfänger wahrgenommen und interpretiert werden soll, wird von Nachricht gesprochen
27
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Information wird als digital vorausgesetzt und auf die computerlesbaren Zahlen 0 und 1 bezogen.
Kleinste Einheit an Information, die innerhalb eines Digitalrechners
• dargestellt
• gespeichert
• abgefragt
werden kann ist das Bit.
Ein Bit ist eine Elementarinformation in Form einer einzelnen Ziffer, die
entweder den Wert 0 oder 1 annehmen kann.
In der Regel müssen Zeichen aus Alphabeten mit mehr als zwei Elementen
dargestellt werden, weshalb Darstellung in Form von Elementarinformation,
d.h. durch ein einzelnes Bit, in den meisten Fällen nicht möglich ist, da Bits
nicht mächtig genug sind, um genügend Zeichen zu unterscheiden.
28
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
⇒ Man benötigt größere Folgen von Elementarzeicheninformationen, d.h.
Folgen von Bits, z.B. Bytes.
⇒ Eine Folge von 8 Bit wird als Byte bezeichnet.
⇒ Durch ein Byte können 28 = 256 verschiedene Werte oder Zeichen
dargestellt werden, denn die Bits können, unabhängig voneinander,
jeden der beiden möglichen Werte annehmen.
⇒ Bytes sind mächtig genug um alle Groß- und Kleinbuchstaben des
deutschen Alphabets zu unterscheiden.
⇒ Worte in deutscher Sprache, d.h. Zeichenketten, können durch Folgen
von Bytes repräsentiert werden, wenn festgelegt wurde, welches Byte
welchen Buchstaben darstellt
⇒ Codierung, vgl. Abschnitt 1.3
29
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
• Begriff der Information und dessen Entstehung
• Informationsbegriff aus nachrichtentechnischer Sicht
• Informationsbegriff nach Shannon
• Informationsbegriff der Informatik
30
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationsbegriff aus nachrichtentechnischer Sicht
Information wird von einer Informationsquelle über ein Übertragungsmedium zu einer Senke übermittelt. Quelle und Senke sind synonyme
Begriffe zu Sender und Empfänger. Statt Übertragungsmedium wird
der Ausdruck Nachrichtenkanal gebraucht. Darauf aufbauend kann das
nachfolgende Modell eingeführt werden.
Quelle
31
Medium
Rechnerstrukturen Teil 1
Senke
Prof. Dr. Möller
1.1 Information
Beispiel 1.3
Sender und Empfänger sind Menschen:
Sender spricht mit Empfänger, wobei als Übertragungsmedium Schallwellen
auftreten.
Körpersprache spielt zusätzliche Rolle bei Informationsübertragung:
Lichtwellen müssen als Übertragungsmedium zwischen Quelle und Senke
einbezogen werden, Sender und Empfänger entsprechende Sensoren aufweisen.
Wenn während des Gespräches beide Teilnehmer abwechselnd sprechen und
zuhören wechseln sie die Rollen von Sender und Empfänger entsprechend. In
diesem Zusammenhang weist ein Taubstummer bzw. ein Blinder einen gestörten
Nachrichtenkanal auf.
32
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.4
Genetik:
DNS (Desoxyribonukleinsäure) übermittelt als Sender über eine mRNS
(messenger Ribonukleinsäure) → wirkt als Übertragungsmedium, Information
über herzustellende Enzyme an Ribosomen.
Entsprechend arbeitet Immunsystem bei der Abwehr von Fremdkörpern im
Organismus.
AIDS bzw. Karzinom sind in diesem Sinne gestörte Nachrichtenkanäle.
33
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.5
Rundfunksender
sendet Information mittels elektromagnetischer Wellen zu Empfängern
(Rundfunkempfänger).
34
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Information:
durch Nachricht übermittelte Bedeutung, gleichbedeutend mit Inhalt des durch
Übertragungsmedium übertragenen Signals. Unterscheidung zwischen analogen
und digitalen bzw. diskreten Signalen bzw. Analogsignalverarbeitung und Digitalsignalverarbeitung
35
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Analog: ähnlich, vergleichbar, entsprechend.
Prinzip der Darstellung physikalischer Größen durch andere z.B. Wert einer
elektrischen Spannung durch Weg eines Zeigers auf Messinstrument dargestellt.
Bei analogem Signal (Datum) können dessen kennzeichnende Größen wie z.B.
Spannung, Frequenz, Amplitude etc. in bestimmten – im Regelfall technisch bedingten Grenzen wie z.B. dem Auflösungsvermögen – beliebige Zwischenwerte
einnehmen.
Analoge Informationssysteme verarbeiten kontinuierliche, zeitabhängige physikalische Größen f(t) und erzeugen ähnliche (analoge)
Größen g(t).
Größen sind Spannungen, Ströme, Wegstrecken, Winkel, etc. zugeordnet.
36
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Digital:
• egalitäres Phänomen der Informationsgesellschaft;
• Darstellung von Informationen durch definierte Folge vereinbarter
Zeichen oder Zustände.
Digital hat im deutschen zwei Bedeutungen:
• digitus = Finger, "mit Hilfe der Finger" zählen
• digit = Ziffer oder Stelle, Bedeutung "in Ziffernform"
Digitaltechnik:
Technik, die sich mit ziffernmäßiger Darstellung beliebiger Größen, d.h. der
Abstraktion bzw. der Verdichtung auf endlich viele verschiedene Werte, auf
der Grundlage elektronischer Bauelemente bzw. Komponenten, befasst.
37
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Digitale Informationstechnik hat Paradigmenwechsel eingeleitet, von der
Wissensgesellschaft, zur Informationsgesellschaft.
Voraussetzung für deren Weiterentwicklung ist die Schaffung adäquater
Kommunikationsnetze, die Übertragungsgeschwindigkeiten im Gigabyte
Bereich erreichen.
Menschen und Maschinen werden vernetzt womit neue Kommunikationsmöglichkeiten entstehen; gleichzeitig werden Menschen durch Computernetze weltweit leichter und schneller erreichbar.
38
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Digitale bzw. diskrete Signale:
können bestimmte Anzahl von Zuständen / Zeichen annehmen.
• Ziffer ist Bezeichnung (Name, Symbol) einer Zahl,
• Zahl ist mengentheoretischer Begriff - jede Zahl ist eine Abstraktionsklasse (Abstraktion) gleichmächtiger Mengen -, damit ist Ziffer lediglich
ihre Benennung.
Unter semiotischen Gesichtspunkten ist Ziffer sprachliches Zeichen
welches einer Menge von Zeichen angehört. Kardinalzahl dieser Menge
unterschiedlicher Zeichen ist Basis der mit diesen Ziffern durchzuführenden
Zahlendarstellung.
39
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Digitale bzw. diskrete Signale:
(Semiotik: Lehre der sprachlichen Zeichen und Zeichenreihen
⇒ Syntax: Beziehungen zwischen Zeichen und anderen Zeichen;
⇒ Semantik: Beziehungen zwischen Zeichen und ihre Bedeutung;
⇒ Pragmatik: Beziehungen zwischen Zeichen und Schöpfern;
⇒ Sigmatik: Beziehungen zwischen Zeichen und dem was sie
bezeichnen).
Enthält Menge nur zwei unterschiedliche Ziffern (0,1) liegt Dualsystem,
Duales Zahlensystem vor (Dual: Zweizahl),
bei 10 unterschiedlichen Ziffern (0,1,2,3,4,5,6,7,8,9) Dezimalsystem
40
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationsübertragung basiert auf Konstrukten; im Zusammenhang
ihres Aufbaus mit Sprache vergleichbar; d.h. verfügt über bestimmte
Regeln, nach denen Information aufgebaut sein muss.
Regeln werden mit Grammatik bzw. gleichbedeutend mit Syntax
bezeichnet.
Für das Verständnis der übermittelten Information ist es notwendig die
Syntax zu kennen, womit der rekursive Charakter von Information evident
wird: Man benötigt Information über die Regeln, nach denen Nachricht
aufgebaut ist, bevor man die gewünschte Information aus dem Signal
extrahieren kann.
41
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Ein in einer Sprache abgefasste Information (Nachricht) ist aus Zeichen
zusammengesetzt.
Menge aller unterschiedlichen Zeichen einer Sprache wird als Alphabet
bezeichnet.
Alphabet der deutschen Sprache:
Groß- und Kleinbuchstaben A, B, ... , Z, a, b, ... , z, einschließlich Umlaute und ß,
Interpunktionszeichen . , ; ! ? – , Zwischenraum etc.
Alphabet aus nur zwei Elementen/Zeichen:
Zeichen (bit) können Wert 0 oder 1 annehmen; Folge von 8 Bits wird Byte genannt
Beispiel:
Durch ein Byte können 28 = 256 verschiedne Werte oder Zeichen dargestellt werden
42
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Versuch eine Sprache mit einer anderen Sprache zu erklären, führt auf
übergeordnete, beschreibende Sprache ⇒ Metasprache.
Einführung des Begriffes Metasprache wurde unter Verwendung der deutschen Sprache
als Meta-Metasprache vorgenommen.
Neben natürlichen Sprachen gibt es Vielzahl künstlich geschaffener
Sprachen, z.B. die mathematische Zeichensprache:
(4+6) = 10
syntaktisch und semantisch (inhaltlich) richtig
4+6) < 20
syntaktisch falsch, aber semantisch richtig
(4+6) < 5
syntaktisch richtig, aber semantisch falsch.
Weitere Beispiele für künstliche Sprachen sind z.B.
• Notenschrift
• chemische Formelsprache
• genetischer Code
• Programmiersprachen
• etc.
43
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
• Begriff der Information und dessen Entstehung
• Informationsbegriff aus nachrichtentechnischer Sicht
• Informationsbegriff nach Shannon
• Informationsbegriff der Informatik
44
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationsbegriff nach Shannon
Informationsgehalt, Maß wie viel Information eine Nachricht enthält,
die von einem Sender an einen Empfänger übermittelt wird.
45
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Information besteht aus Zeichenfolge in der Zeichen mit bestimmten
Wahrscheinlichkeiten auftreten.
Informationsgehalt hängt von Wahrscheinlichkeit ab, mit der Zeichen
gesendet wird, nicht von Art der Codierung.
Häufig gesendete Zeichen haben niedrigen Informationsgehalt,
selten gesendete Zeichen einen hohen.
Eigenschaft wird befriedigt, indem für Informationsgehalt monoton
wachsende Funktion des Reziprokwertes der Wahrscheinlichkeit p des
Zeichens gewählt wird, d.h. Funktion
1
f =
p
p: Wahrscheinlichkeit mit der das Zeichen auftritt,
f: monoton wachsende Funktion.
46
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Wahrscheinlichkeit:
Erfahrung zeigt, dass bei vielen, unter gleichbleibenden Bedingungen wiederholten Versuchen, die relative Häufigkeit eines Ereignisses E fast sicher in der
Nähe einer Zahl p(E) bleibt (0 ≤ p(E) ≤ 1), wobei Abweichungen von p(E) mit
wachsender Versuchszahl immer geringer werden.
p(E) heißt die Wahrscheinlichkeit des Ereignisses E
Beispiel:
Würfeln mit gewöhnlichem Würfel; Wahrscheinlichkeit für eine bestimmte
Augenzahl, z.B. die 6, in allen Fällen die gleiche, nämlich 1/6.
47
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.6
Quelle liefert Zeichen aus dem Alphabet A (Quellalphabet)
A = { a j ; j = 1, 2 ,..., n }
j=
;{jaA
wobei für die einzelnen Buchstaben aj des Alphabetes Wahrscheinlichkeit pj
angegeben werden kann; gibt Auskunft darüber mit welcher Häufigkeit ein
Buchstabe aj in einer Zeichenfolge auftritt, oder zu erwarten ist.
Zur Abschätzung der Wahrscheinlichkeiten p1, p2, ... , pn können Erfahrungswerte, oder gemessene Werte, herangezogen werden in der Annahme, dass
nähere Zukunft nicht wesentlich von der Vergangenheit unterschieden ist.
Bei Unkenntnis über das statistische Verhalten wird zunächst eine Gleichverteilung
(Normalverteilung) angenommen.
48
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Gleichverteilung (Normalverteilung)
Random Variable x mit Mittelwert µ and Varianz σ² genügt Gleichverteilung wenn
Wahrscheinlichkeitsdichtefunktion (PDF) durch
gegeben ist
49
1
f ( x) =
e
σ 2π
[( x − µ ) / σ 2 ]
−
2
;−∞ < x < ∞
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.7
Quelle kann formal beschreiben werden durch
a1 , a2 ,..., an 
( A, p ) = 

 p1 , p2 ,..., pn 
mit dem Alphabet
A = {a 1 , a 2 ,.., a n }
und den Wahrscheinlichkeiten
p = {p 1 , p 2 ,.., p n }
für das Auftreten der Zeichen. Auftreten eines Zeichens ist das sichere Ereignis,
weshalb die Summe aller Wahrscheinlichkeiten pj gleich 1 sein muss,
n
∑p =1
j=1
50
j
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Von Bedeutung ist wie groß die Information ist, die man erhält, wenn
im Quellenalphabet aj die Buchstaben mit der Wahrscheinlichkeit pj
auftreten.
Beispiel
Es sei p1 = 1 und alle anderen pj = 0 für j = 2, … , n,
⇒ keine Information im eigentlichen Sinne da bekannt ist was Symbol bedeutet.
Treten demgegenüber Symbole mit unterschiedlichen Wahrscheinlichkeiten auf erhält man umso mehr Information, je geringer die Auftretenswahrscheinlichkeit für ein Symbol ist.
⇒ Information und die Wahrscheinlichkeit des Auftretens für ein Symbol
stehen in reziprokem Verhältnis
51
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationstheorie:
Shannon beschäftigte die Frage, wie viel Information man gewinnt, wenn
man ein bestimmtes Experiment E durchführt.
Annahme:
a1 … an sind die möglichen Ereignisse die als Ausgang/Ergebnis des
Experiments E auftreten können
Shannon führte Maß für Informationsmenge I(ai) ein, welches beim
Auftreten eines Ereignisses mit Wahrscheinlichkeit pi gemessen werden
kann, aus Überlegungen für voneinander unabhängige Ereignisse, für
welche Einführung eines logarithmischen Maßes zweckmäßig ist
⇒ Informationsgehalt I(aj)
 1 
 = − log p ( a i )
I ( a i ) = log 
 p (ai ) 
52
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Für Informationsgehalt I(aj) eines Ereignisses ai gilt:
•
Ist n =1, d.h. Ausgang des Experiments E ist immer der gleiche, gewinnt man
keine Information durch das Durchführen des Experimentes. Schon vor der
Durchführung klar, dass a1 das eintretende Ereignis sein wird, weshalb gilt:
I(ai) = 0
•
Ist Wahrscheinlichkeit p(ai), dass das Ereignis a1 als Ausgang des
Experiments E eintritt, gering, ist Informationsgehalt I(ai) hoch ⇒ Je kleiner
Wahrscheinlichkeit, dass das Ereignis ai als Ausgang des Experiments E
eintritt desto höher der Informationsgehalt I(ai) des Ereignisses ai
•
Informationsgewinn, den man durch zwei voneinander unabhängigen Ereignissen erhält, ist die Summe der Informationsgewinne der beiden Ereignisse.
Demnach gilt für zwei unabhängige Ereignisse ai und aj: I(ai ·aj) = I(ai) + I(aj).
(N.B. Logarithmus eines Produktes ist gleich der Summe der Logarithmen der Faktoren)
53
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Wahrscheinlichkeit pj
für Empfang des Zeichens aj mit Informationsgehalt I(aj) für Signal aj, ergibt
für Erwartungswert Informationsgehalt eines Zeichens:
 1 
p j * I (a j ) = p j * log  = − p j * log p j
p 
 j
Beispiel:
Sind ai und aj: zwei voneinander unabhängige Ereignisse gilt:
und damit
p(ai ·aj) = p(ai) + p(aj)






1
 = log 1  + log 1  = I (ai ) + I (a j )
I (ai , a j ) = log
 p(a ) 
 p( a * a ) 
 p( a ) 
i
j
i 
j 




Entropi
=
∑
H
=
−
∑
j1
=
54
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Erwartungswert des Informationsgehaltes ergibt über n Symbole des
Alphabetes im Mittel die Summe über alle Werte.
Summe wird Entropie H(E) des Experiments E genannt;
entspricht mittleren Informationsgehalt der Ereignisse aj, die Ausgang des
Experiments sein können, mit Auftretenswahrscheinlichkeit pj. Somit gilt:
n
1
H ( E ) = ∑ p(a j ) * log(
) = ∑ p(a j ) * I (a j )
p(a j )
j =1
j =1
n
was äquivalent zu
n
H ( E ) = −∑ p (a j ) * log p (a j )
Entropi
=
∑
j =1
1
jH
−
=
∑
ist.
55
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Entropie: Maß für Ungewissheit hinsichtlich des Verhaltens der Quelle
→Maß für die Ungewissheit vor Eintreffen der Information
→Maß für die Bedeutung der Information.
⇒ Je größer Entropie, umso größer Informationswert eines erwarteten
Zeichens.
56
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Im Hinblick auf kleinste Informationseinheit (Ja-Nein bzw. 0-1 Entscheidung) wird
Zweier-Logarithmus zugrunde gelegt und damit als (Pseudo-) Maßeinheit das Bit
(binary digit), womit das Shannon Theorem in der folgenden Form angegeben
werden kann:
n
H ( E ) = − ∑ p ( a j ) * ldp ( a j )
j =1
57
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Treten alle Zeichen mit gleicher Wahrscheinlichkeit auf, gilt pj= 1/n,
weshalb die Entropie den Maximalwert annimmt:
H max = H 0 = ldn
Beispiel 1.8
Gegeben seien A = (0,...,7) und pj = 1/8; j = 1,...,8. Damit kann die Quelle dargestellt
werden wie folgt:
1
2 ... 7 
 0
( A, p) = 

0,125 0,125 0,125 ... 0,125
Da alle Zeichen der Quelle die gleiche Wahrscheinlichkeit haben folgt
H0 = ld 8 = 3 Bit.
58
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationsgehalt einer aus mehreren voneinander unabhängigen
Zeichen bestehenden Nachricht (Information) sei gleich der Summe der
Informationsgehalte der einzelnen Zeichen.
Aus der Unabhängigkeit der Zeichen folgt, dass die Wahrscheinlichkeit
des Auftretens dieser Information (Nachricht) gleich dem Produkt der
Einzelwahrscheinlichkeiten der die Information (Nachricht) bildenden
Zeichen ist, d.h. tritt Zeichen a mit der Wahrscheinlichkeit p = 0.3 und
Zeichen h mit der Wahrscheinlichkeit p = 0.1 auf, ist Wahrscheinlichkeit
des Auftretens von Aha gleich 0.3 · 0.1 · 0.3 = 0.009.
Informationsgehalt muss somit eine Funktion sein, die
f ( x) + f ( y) = f ( xy)
erfüllt, was durch die eine logarithmische Funktion gegeben ist.
59
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Sendet eine Quelle n unterschiedliche Zeichen mit gleicher Wahrscheinlichkeit, ist der Informationsgehalt eines dieser Zeichen ld n. Ist n eine
Potenz von 2, dann ist der Informationsgehalt ganzzahlig.
Einheit des Informationsgehaltes wird Bit genannt und hier Bit/Element.
Beispiel 1.9
Informationsgehalt n-stelliger Dezimalzahl beträgt ld 10 = 3.32 Bit/Element.
n-stellige Dezimalzahl hat den Informationsgehalt H =n * ld10 = n * 3.32 Bit.
60
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.10
Sei A Alphabet, bestehend aus Zeichen x, y und z, deren Auftrittswahrscheinlichkeiten gegeben seien durch
p
--------------x
0,5
y
0,25
z
0,25
Informationsgehalt der Zeichen kann gemäß I = ld (1/p) berechnet werden:
p
h
-------------------x 0,5
1
y 0,25 2
z 0,25 2
Der mittlere Informationsgehalt ist damit
H = 0.5 * 1 + 0.25 * 2 + 0.25 * 2 = 1.5 Bit.
61
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Mittlerer Informationsgehalt Maß für Ungewißheit hinsichtlich des Verhaltens der Quelle.
Gleichverteilung (p = 1/n) mit p: Wahrscheinlichkeit, n: Umfang des Zeichenvorrates X, ⇒ mittlerer Informationsgehalt ⇒ Entscheidungsgehalt:
H max = H 0 = ldn .
=
H
max
Abweichung von Gleichverteilung verringert Informationsgehalt d.h. Quelle
nützt Möglichkeiten des Zeichenvorrats nicht voll aus. Nicht ausgenutzter
Aufwand heißt Redundanz oder Weitschweifigkeit. Maß für Redundanz R ist
Differenz zwischen maximal möglichem Informationsgehalt Ho und
tatsächlichen Informationsgehalt H :
n
n
R = H − (− ∑ p *ldp ) = H + ∑ p *ldp =
j
j
0
0
j
j
j =1
j =1
n
= ldn + ∑ p *ldp
j
j
j =1
62
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Gelegentlich wird auch der Begriff relative Redundanz benutzt:
1 n
R
R
r=
=
= 1+
p j ldp j
∑
H 0 ldn
ldn j =1
63
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Redundanz in Bit angegeben. Mittlere Wortlänge eines Codes immer
größer oder gleich mittleren Informationsgehalt der Zeichen des Codes.
Differenz zwischen mittlerer Wortlänge und mittleren Informationsgehalt
als Redundanz bezeichnet:
R=L-H
L: mittlere Wortlänge eines Codes. Hierunter versteht man die mit den
Auftrittswahrscheinlichkeiten gewichtete Summe der Längen der den
einzelnen Zeichen entsprechenden Codewörter, d.h.
L = ∑ pi * l i
=
∑
L
=
∑
L
wobei li für die Länge des dem i-ten Zeichen entsprechenden Codeworts
steht. Im Gegensatz zum Informationsgehalt, der durch die Auftrittswahrscheinlichkeiten der einzelnen Zeichen bestimmt ist, hängt mittlere
Wortlänge von der gewählten Codierung ab.
64
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.11
Für das Alphabet:
p
h
p·h
l
p·l
x
0,7
0,515
0,36
1
0,7
y
0,2
2,322
0,464
2
0.4
z
0,1
3,322
0,332
2
0,2
ist der mittlere Informationsgehalt H = p· h ⇒ 1,156 Bit,
die mittlere Wortlänge L =p· l ⇒ 1,3 Bit,
die Redundanz R = L-H ⇒0,144 Bit.
65
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.12
Anzahl der Worte mit den häufigsten Buchstaben (a, b, d, e, i, m, n, o, p, r, s, t)
sei 10.000. Wie viele Buchstaben müssen die Worte mindestens haben, wenn
auch sinnlose Kombinationen zugelassen sind?
Sei A der Zeichenvorrat, card (A) die Anzahl der Zeichen in A und n die Stellenzahl, sind maximal n = [card (A)]n Darstellungen möglich für:
A = {a , b, d , e, i , m, n, o, p , r , s , t}
card ( A) = 12
n = 10.000
10 .000 = 10 n
ln 10.000 = n * ln 12
n=
ln 10.000
= 3,71
ln 12
Die Worte müssen mindestens 4 Buchstaben haben.
66
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Beispiel 1.13
Entropie für einen Wurf mit einem unpräparierten Würfel (Formel und Zahlenwert)
6
6
1
1
H = ∑ pi ⋅ ld
= ∑ ⋅ ld 6 = 2,585
pi i =1 6
i =1
Entropie H(E) des Experiments E entspricht mittleren Informationsgehalt der Ereignisse
aj, die Ausgang des Experiments sein können
Beispiel
Würfel sei so präpariert, dass die Wahrscheinlichkeit der 6 p6 = ½ und pi = 1/10 für
alle anderen Ziffern ist. Entropie (Formel und Zahlenwert) = ?
=
∑
L
=
∑
L
1
1
H = ⋅ ld 2 + 5 ⋅ ⋅ ld10 = 2,161
10
2
67
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
• Begriff der Information und dessen Entstehung
• Informationsbegriff aus nachrichtentechnischer Sicht
• Informationsbegriff nach Shannon
• Informationsbegriff der Informatik
68
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1 Information
Informationsbegriff der Informatik
legt Problemstellung der Determiniertheit zugrunde, d.h. Frage nach der
Anzahl der
”Ja/Nein-Entscheidungen bzw. Wahr/Falsch-Entscheidungen”
d.h. nach Folgen von [0,1].
Informationsbegriff der Informatik verknüpft mit Indeterminationsgehalt
⇒ deterministisch geprägt, d.h. davon ausgehend, dass eintreffende
Zeichen der Zufallsverteilung folgen.
Das trifft vor allem zu, wenn man das Verhalten von Algorithmen unter
möglichst allgemeinen Bedingungen untersuchen will. So gesehen
inkorporiert Informationsbegriff der Informatik sowohl die Shannonsche
Informationstheorie als auch den nachrichtentechnischen Informationsbegriff.
69
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.3 Systembegriff
70
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Repräsentation
• Signale und Daten
• Begriffe und Modelle
• Informationstheorie und Quellencodierung
71
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Information:
• symbolisiert in materiell-energetischen Mustern
• kann durch Signale bzw. Daten repräsentiert werden,
technisch zwischen analogen und digitalen Signalen/Daten unterscheiden,
d.h. physikalischen oder logischen Größen zur Darstellung von Information.
72
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
73
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Signale und Daten
Grundlegende Kriterien zur Signalbeschreibung sind:
• Determiniertheit ⇒ deterministische Signale repräsentieren analytisch
vollständig beschreibbare Signale
⇒ stochastische Signale (zufällig, statistisch) nicht
vollständig beschreibbar
• Argumente (reelle Achse, komplexe Ebene, diskret)
⇒ kontinuierlich, diskret
• Wertebereich ⇒ kontinuierlich, diskret
• Energie-/Leistungsbezug ⇒ Signale, deren Zeit- oder Frequenzbereichsfunktionen quadratisch absolut integrierbar sind.
• Digital ⇒ wertdiskretes Signal welches nicht notwendig zeitdiskret ist
=
∑
L
74
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Abb. 1.4: Wertkontinuierliche Signale a) zeitkontinuierlich bzw. b) zeitdiskret
wertdiskrete Signale c) zeitkontinuierlich bzw. d) zeitdiskret
75
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Signal:
mathematische Beschreibung eines Prozesses in Raum und Zeit:
 S1 ( x, y, t ) 
 S ( x, y , t ) 
2


S=
......



 S m ( x, y , t ) 
76
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Signal:
eingeschränkter Argumentationsbereich, d.h. die Funktionen Sj(x, y, t) müssen
nicht für jeden Raum- und Zeitpunkt definiert sein.
Funktionswert Sj repräsentiert Wert aus eindimensionalen Eigenschaftskontinuum
oder Element einer diskreten Menge, gewonnen durch Intervallpartition eines
Eigenschafts-Kontinuums.
Häufig werden Signale betrachtet, die durch Einschränkungen als Sonderfälle aus
der allgemeinen Signalpartition hervorgehen.
Skalares Signal ist ein Sonderfall, da es ein Signal mit nur einer Komponente
repräsentiert, der Form:
S = S ( x, y , t )
77
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Ein vom Raum unabhängiges skalares Signal hat nur noch die Zeit im Argument,
was auf nachfolgende Gleichung führt
S = S (t )
Muster stellt Sonderfall der allgemeinen Signalpartition dar, da Muster ein von der
Zeit unabhängiges skalares Signal repräsentiert, wobei zwischen ein-, zwei- und
dreidimensionalen Mustern unterschieden werden kann, was auf die nachfolgende
Notation führt:
S = S (x )
S = S ( x, y )
S = S ( x, y , z )
Durch Aufnehmen und Wiedergeben von Signalen können bestimmte Signalparameter ineinander transformiert werden. Durch Aufnahme wird aus S(t) die
Komponente S(x), durch Wiedergabe von S(x) entsteht wieder S(t).
78
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Beispiel
Es wird der zeitveränderliche Luftdruck P(t) vor einem Mikrophon betrachtet, der
durch eine Tonbandaufzeichnung zu einem Magnetisierungsmuster M(x) längs
der Bandachse x wird.
Beim Abspielen des Magnetbandes wird aus M(x) wieder P(t) vor einem
Lautsprecher.
79
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Beispiel
Zweidimensionales Grauwertbild G(x, y) kann durch zeilenweise Videoabtastung
wiedergegeben (abgespielt) werden, wobei ein Spannungssignal U(t) entsteht,
das zur Intensitätssteuerung des Elektronenstrahls einer Monitorbildröhre
eingesetzt werden kann.
Durch Abspielen der Aufzeichnung U(t) kann wieder das Muster G(X, y) erzeugt
werden.
80
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Signale
werden von Systemen verarbeitet, die Eingangssignale x(t) auf Ausgangssignale y(t) abbilden.
Zur Signalverarbeitung eingesetzt werden :
• lineare Systeme (L)
• zeitinvariante Systeme (ZI)
Lineare Systeme:
Superpositionsgesetz ⇒Berechnung der Reaktion y(t) auf Eingangssignal u(t), indem man x(t)
in Summanden zerlegt:
u (t ) = ∑k u (t ) ⇒ y (t ))∑k yk (t )
Im Zusammenhang mit LZI-Systemen ist es vorteilhaft komplizierte Signale durch Summe
einfacher Signale darzustellen, was der Reihenentwicklung entspricht, für die es zeitliche
Varianten gibt:
• Potenzreihen
• Fourier-Reihen
• etc.
81
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Zur Beschreibung periodischer Signale wird Fourier-Reihe eingesetzt, d.h. die
Entwicklung harmonischer Komponenten.
Fourier-Reihen sind Sonderfall der Funktionenreihen. Funktionen fn(x) haben damit
die allgemeine Form
fn(x) = an cos n x + bn sin n x
an und bn sind Konstante, sog. Fourierkonstante noder Fourierkoeffzienten
Trigonometrische Reihe bzw. Fourier Reihe entspricht Reihe der Form
bzw.
a0 + ∑∝n=1 (an cos n x + bn sin n x)
x(t) = an/2 + ∑∝n=1 (an cos(nωot) + bn sin(nωot))
82
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Fourier
hat gezeigt, dass Funktion f(t) innerhalb eines Bereiches in trigonometrische Reihe
der Form
∞
f(t) =
∑ (a n
n=0
⋅ cos nt + bn ⋅ sin nt)
= a 0 + a1 ⋅ cos t + a 2 ⋅ cos 2t + ... + a n ⋅ cos nt + ...
+ b1 ⋅ sin t + b2 ⋅ sin 2t + ... + bn ⋅ sin nt + ...
entwickelt werden kann, wenn f(t) innerhalb dieses Bereiches endlich ist und nicht
unendlich viele Sprungstellen auftreten.
Liegt periodische Funktion vor, ist Reihenentwicklung außerhalb des Bereiches
möglich. Dies gilt auch wenn an Endpunkten des Bereiches Unstetigkeitsstellen
auftreten.
Liegt keine Periodizität vor, kann Wiedergabe durch Reihenentwicklung nur
innerhalb des Bereiches 2π erfolgen. Konstantes Glied a0 beeinflusst Periodizität
nicht, bewirkt Verschieben der durch Sinus- und Cosinusglieder erzeugten Kurve
auf der Ordinate.
83
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Signale treten
• zeitkontinuierlich
• zeitdiskret
auf.
Zeitkontinuierliche Signale:
mathematisch durch Fourier- bzw. Laplace-Transformation beschreibbar
Zeitdiskrete Signale:
durch Spektral-Transformationen wie z.B. Fourier-Transformation für
Abtastsignale oder z-Transformation) darstellbar
84
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Daten sind Zeichen die aufgrund von bekannten oder unterstellten
Abmachungen (Konventionen, Notationen) dem Zweck der (maschinellen)
Verarbeitung von Informationen dienen.
Daten: man unterscheidet Daten die sich aus Buchstaben (alphabetische
Daten), aus Ziffern und Sonderzeichen (numerische Daten), oder aus
Buchstaben, Ziffern und Sonderzeichen zusammensetzen
(alphanumerische Daten).
Daten, die aus kontinuierlichen Funktionen bestehen, heißen analoge
Daten.
85
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.1 Repräsentation
Datei ist in der Informatik eine Informationseinheit, die aus einem oder
mehreren Datensätzen besteht, die in einem verarbeitungstechnischen
Zusammenhang stehen und in einem Speicher untergebracht sind. Die
Zusammenfassung ist mit einem Dateinamen gekennzeichnet.
Datenformat: Art der Anordnung digitaler Daten in Speichern, auf
Datenträgern oder in Kanälen.
Datenqualität: allgemein die Eigenschaft eines Datums in Bezug auf die
Gütekriterien Objektivität, Validität und Reliabilität; darüber hinaus
syntaktische und semantische Korrektheit sowie Datenintegrität
86
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.3 Systembegriff
87
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Kommunikation
• Datenkommunikation
• Protokolle
• Schnittstellen
88
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Datenkommunikation
erfolgt über Kommunikationsleitungen, längs derer sich elektromagnetische Wellen/Signale/Daten ausbreiten können, welche z.B. Rechner miteinander verbinden, damit Ressourcen und Informationen gemeinsam
genutzt werden können. Datenkommunikationssystem → Netzwerk.
=
∑
L
89
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Datenkommunikation
Merkmal zur Klassifizierung von Netzwerken, räumliche Ausdehnung
Man unterscheidet zwischen:
• globalen Netzwerken (GAN); weltumspannende Netze, die i.d.R.
über Satelliten Rechnernetze, Subnetze, Kontinente, verbinden
• weiten Netzwerken (WAN); kontinentale (Länder-)Netze
• Stadtnetzen (MAN); innerhalb von Stadtgebieten für schnelle Hochleistungskommunikation
• lokalen Netzen (LAN=Local Area Network); auf räumlich begrenztem
Gebiet; hohe Datenrate und niedrige Fehlerrate durch hochwertige
Leitungen mit guter Abschirmung und niedriger Dämpfung; IEEE,
ECMA
=
∑
L
90
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
91
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Leitungsverbindungen:
Leitung: Anordnung von leitenden bzw. dielektrischen Grenzflächen die
längs ihrer Oberfläche elektromagnetische Wellen führen kann.
=
∑
L
92
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Leitungsverbindungen:
Sei L Leitungsstück der differentiellen Länge dz und besitzt L eine effektive
Serienimpedanz Z´[Ω] und eine effektive Querimpedanz Y´[S] dann gilt für
Spannung und Strom:
U = − I ⋅ Z´⋅dz = − I ⋅ (R´+ jωL )
I = −U ⋅ Y ´⋅dz = −U ⋅ (G´+ jωC´)dz
(G1)
(G2)
wobei die negativen Vorzeichen anzeigen, dass Spannung und Strom auf der
Leitung mit zunehmenden z abnehmen. Da dz infinitesimal ist nehmen (G1) und
(G2) die Form der Leitungsdifferentialgleichungen an:
(G3)
dU
= − I ⋅ Z ´⋅ = − I ⋅ (R´+ jωL )
dz
(G4)
dI
=
∑
L
dz
93
=
∑
L
= −U ⋅ Y ´⋅ = −U ⋅ (G´+ jωC´)
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
(G3) und (G4) differenziert und in Stammgleichungen einsetzen:
d 2U
= (R´+ jωL ) ⋅ (G´+ jωC ) ⋅ Ú
2
dz
d 2I
= (R´+ jωL ) ⋅ (G´+ jωC´)´*I
2
dz
bzw.
d 2U
= Z ´⋅Y ⋅ Ú
2
dz
d 2I
= Z ´⋅Y ´⋅I
2
dz
und mit Z´*Y´= γ²
d 2U
2
=
γ
⋅Ú
2
dz
d 2Í
2
=
γ
⋅I
2
dz
=
∑
L
=
∑
L
(G5)
(G6)
(G5) und (G6) repräsentieren die Wellengleichung; lineare DGL 2. Ordnung;
besitzen unabhängige Lösungen exp(-γ²) und exp(γ²)
94
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Allgemeine Lösung der Wellengleichung durch Linearkombination der Lösungen
mit den Konstanten A und B; vollständige Lösung von (G5):
U = A⋅e
−γ 2
+ B⋅e
γ2
(G7)
Eingesetzt in (G3) ein erhält man für den Strom
I=
γ
2
[A⋅e
−γ 2
γ2
+ B⋅e ]
Im allgemeinen ist die Impedanz Z´ und die Admittanz Y´ der Leitung komplex,
daher ist γ komplex. Komplexe Zahlen können in Real- und Imaginärteil aufgespalten werden, so dass gilt
γ = α + jβ
=
∑
L
=
∑
L
mit α = Dämpfungskonstante [1/m], β = Phasenkonstante [1/m],
γ = Fortpflanzungs-/Ausbreitungskonstante.
95
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
96
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Datenübertragungsmedium Kupferkabel bei Datenkommunikation über
lange Distanzen ersetzt und bei lokalen Datenübertragungssystemen/
Netzwerken immer wichtiger Lichtwellenleiter-Optik.
Beim Lichtwellenleiter werden Signale/Daten mittels Lichtimpulsen längs
einer Glasfaser übertragen ⇒ hat größere Bandbreite wie konventionelle
Kupferleitungen; ist unempfindlicher gegenüber elektrischen Einstreuungen und Verzerrungen der Signale/Daten. Glasfaserkabel sind auch
sicherer als Kupferleitungen, da sie nicht so leicht angezapft werden
können.
Glasfaserkabel weisen folgende Vorteile auf:
• elektrisch nichtleitend ⇒ Verbindungspunkte sind gegeneinander elektrisch
vollkommen isoliert
• Kabelbruch verursacht keine Unterbrechung in der Funktion des
Glasfaserkabels wie bei konventionellen Kupferleitungen
• keine Explosionsgefahr
• Glasfaserkabel häufig als Backbone eingesetzt
=
∑
L
97
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
98
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
99
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Komplexität der Datenkommunikationssysteme führt zu Risikoquellen, gefährden ohne spezielle Sicherheitsvorkehrungen Rechte von Personen
sowie materielle Interessen von Unternehmen. Schlagwort dazu lautet
„unberechtigter Zugriff”. Aber auch absichtlicher oder unbeabsichtigter
Zugriff auf Daten und deren unbeabsichtigte oder mutwillige Veränderung
und/oder Zerstörung, sind zu verhindern.
Standardisierte Zugriffssicherung mittels Passwort, in Verbindung mit
Protokollierung erfolgloser Eindring- und Manipulationsversuche (Ablaufprotokollierung), reduziert Risiko. Zugriffssicherung muss differenziert und
flexibel sein um freie Kommunikation möglichst nicht zu behindern.
Aspekte des Datenschutzes betreffen damit:
=
∑
L
•
•
•
•
=
∑
L
unbefugtes Einschalten in das Datenkommunikationssystem
unbefugtes Lesen von Daten
unbefugtes Schreiben (z.B. auch Verändern und Löschen) von Daten
unbefugtes Unbrauchbarmachen des Datenkommunikationssystems (z.B.
Formatieren der Festplatte etc.)
100
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Protokoll:
Vereinbarung in welcher Art und Weise Datenaustausch stattfinden soll
Datenkommunikationsprotokoll:
Gesamtheit aller syntaktischen und semantischen Festlegungen die
das Kommunikationsverhalten miteinander kommunizierender Einheiten
in Datenkommunikationssystemen festlegen.
Kommunikationsprotokolle stellen Erfüllung der Sichtenfunktionen sicher
Sichtenfunktionen beschreiben Kommunikationsdienste für Sichtenbenutzer.
Es gibt viele Protokolle und Protokollfamilien. Die wichtigsten sind:
=
∑
L
•
•
•
•
•
=
∑
L
NetBEUL/DLC (NetBios-Treiber und Data Link Controller) von IBM
Xerox Network System XNS
TCP/IP vom DoD
ISO/OSI
herstellerspezifische Protokolle wie Profibus etc.
101
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
ISO/OSI
ISO AG der UNO entwickelte ISO-NORM 7498, Referenzmodell für Rechnerkommunikation mit dem Titel „Basic Referenz Model for Open Systems Interconnection (OSI)“
Beschreibt Kommunikation offener Systemen, d.h. Systeme, die für diese Art der
Kommunikation offen sind; nicht mit offener Kommunikation gleichzusetzen
OSI-Referenzmodell teilt Kommunikation in 7 Ebenen (Schichten) mit festgelegter
Funktionalität ein; OSI-Schichtenmodell.
Jeder Schicht kommt Übernahme einer speziellen, klar definierten Gruppe von
Teilaufgaben in der Kommunikation zu. In jedem beteiligten Kommunikationspartner sind alle sieben Schichten enthalten. Schichten kommunizieren untereinander über genau definierte Schnittstellen, was Austausch einzelner Schichten
ohne Eingriff in die Funktionalität des Gesamtsystems erleichtert. An Schnittstellen stellt jede Schicht Dienste bereit, die von Nachbarschicht in Anspruch
genommen werden können
=
∑
L
102
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
ISO/OSI
=
∑
L
103
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
OSI Protocol Stack
Level
Means
Description
7
Application
End user services
6
Presentatio
n
Data problems and data compression
5
Session
Authentication and authorization
4
Transport
Guarantee end-to-end delivery of packets
3
Network
Packet routing
2
Data Link
Transmit and receive packets
1
Physical
Cable or physical connection itself
104
=
∑
L
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
TCP/IP (DoD) Transmission Control Protocol
Allgemeiner Standard für Datenaustausch in heterogenen Netzen im Zusammen
hang mit spezieller Ausführung der Internet suite of protocols (IP)
TCP/IP sowohl in lokalen Netzen zur Kommunikation verschiedenartiger Rechner
untereinander als auch für den Zugang von LAN (Local Area Networks) zu WAN
(Wide Area Networks) eingesetzt.
Betrachtet man TCP/IP im Kontext IOS/OSI ist Internet Protokoll die Netzwerkschicht.
TCP/IP in der Regel auf Ethernet (OSI-Schicht 1) betrieben; Anbindung an Sicherungsschicht (LLC) erfolgt nach IEEE 802.2 Norm; Zugriffskontrolle für Medium
(MAC) nach CSMA/CD (Carrier Sensing Multiple Access/Collision Detection, IEEE
802.3 Norm)
Transportschicht entweder von TCP als verbindungsorientierten Dienst oder von
UDP (User Datagram Protocol) als verbindungslosen Dienst gebildet
TCP/IP älter als ISO/OSI, daher nicht nach OSI-Standard programmiert
=
∑
L
105
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
TCP/IP
=
∑
L
=
∑
L
Einordnung TCP/IP in ISO/OSI und Vergleich mit anderen Kommunikationsmodellen
106
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
107
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
108
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
109
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Schnittstellen
Einsatz von µC nicht nur zur Datenverarbeitung; µC Bestandteil komplexer, und
heterogener Datenkommunikationsysteme.
Um die vielfältigen Aufgaben bewältigen zu können, benötigt µC Ein- und Ausgänge, sog. Schnittstellen, die ihn mit dem System verbinden, über die seine
Kommunikation abläuft.
µC verarbeitet Daten im parallelen Format; der Datentransport innerhalb des µC
erfolgt dabei über den sog. Systembus.
Neben dieser “internen” Schnittstelle gibt es sog. “externe” Schnittstellen, die
Kommunikation mit anderen Teilkomponenten/ Geräten etc. im seriellen oder
parallelen Format zulassen.
Geläufigste beide Schnittstellen sind serielle V.24-Schnittstelle und parallele
Centronics-Schnittstelle, mit denen jeweils zwei Teilnehmer verbunden werden
können. Weitere Schnittstellen sind die IEC-BUS oder IEEE 488 Schnittstelle,
mit der bis zu 15 Teilnehmer gleichzeitig miteinander verbunden werden können.
Hierbei liegen alle Geräte parallel am IEC-Bus.
=
∑
L
110
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Bei Anwendung von Schnittstellen sind Teilnehmer an Kommunikationsregeln,
vorgegeben durch Normung oder Industrie- (Quasi-) Standards, gebunden. Die
Standards beinhalten die
• funktionellen
• elektrischen
• mechanischen
Eigenschaften der Schnittstelle.
Des weiteren werden Vereinbarungen bezüglich der verwendeten Datenformate
und Protokollverfahren getroffen.
Schnittstelle
IEC
Centronics
Camac
RS232
TTY
RS422/485
111
Signalpegel
5V
5V
5V
12V
20mA
5V
Übertragungslänge
20 m
2–4m
20 – 40 m
100 m
1000 m
1500 m
=
∑
L
=
∑
L
Verwendung
Eigenschaft
Drucker
schnell
Messgeräte
schnell
Messgeräte
schnell
Drucker;Terminal störsicher
Messgeräte
störsicher
Steuer&Regelt.
extrem störs. .
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
RS 232
Es existieren
• eine amerikanische RS 232C – EIA 232,
• eine internationale CCITT V 24, und
• eine deutsche Norm DIN 66 020.
RS: Recommended Standard
CCITT: Comité Consultatif Telégraphique et Teléphonique
RS 232: erdunsymmetrische Schnittstelle für Kommunikation zwischen
zwei Datenendgeräten (DEE) – z.B. PC – oder zwischen Datenendgerät
und Datenübertragungseinrichtung (DÜE) – z.B. Modem – .
RS 232 ausschließlich für Punkt-zu-Punkt Verbindungen geeignet
Erdunsymmetrisch: Spannungspegel zwischen Datenleitung und Masse
Gemessen, damit nicht symmetrisch zur Masse
=
∑
L
112
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
RS 232
Pegel:
Logisch 0: 3 V < U < 15 V
Logisch 1: -15 V < U < -3 V
Nicht definierter Bereich: - 3 V bis 3 V (Masse)
=
∑
L
113
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
RS-232-C specs
Standard
EIA RS-232-C, CCITT
V.24
Baud rates
115 kbps (max)
Transmission
distance
Signal nature
15 m (max)
Number of
drivers
1
asymmetric by
voltage
=
∑
L
114
=
∑
L
Number of
receivers
1
Connection
circuit
full duplex, from point
to point
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
RS 232
Im einfachsten Fall werden Leitungen TxD (Transmit Data) und RxD
(Receive Data) des Senders und Empfängers gekreuzt und zusätzlich
eine Masseverbindung (GND) hergestellt. Minimalkonfiguration; SW
muss Sicherheit der Datenübertragung gewährleisten; durch
Handshake Modus gewährleistet mit seinen
Meldeleitungen
CTS (Clear To Send) bzw.
DSR (Data Send Ready)
und Steuerleitungen
RTS (Ready To Send) bzw.
DTR (Data Terminal Ready)
=
∑
L
115
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
=
∑
L
Mögliche Verbindungen
116
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Zeitdiagram EIA232 Schnittstelle bestimmt durch aktivierte Signale, z.B.
• DSR (Data Set Ready) -Meldeleitung-,
• DTR (Data Terminal Ready) -Steuerleitung-,
• TxD (Transmit Data) -Datenleitung-.
=
∑
L
117
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Funktionsprinzip digitaler Schnittstellen basiert darauf, dass mehrere Datenbits
parallel vom sendenden Gerät zum empfangenden Gerät übertragen werden,
wobei Übertragungszeitdauer davon abhängt, wie schnell empfangendes Gerät
die übertragenen Daten verarbeitet.
Um fehlerfreie Datenübertragung zu gewährleisten, muss Datenempfänger dem
Datensender auf separater Leitung mitteilen, dass er die auf den Datenleitungen
anliegenden Informationen korrekt übernommen hat. Datenempfänger muss
Datensender auch mitteilen können dass er mit der Verarbeitung von Daten
beschäftigt ist und aktuell keine weiteren Daten empfangen kann. Das in diesem
Fall ausgesandte Signal ist das BUSY-Signal.
Datensender legt danach neue Daten auf Datenleitungen (Datenbus), signalisiert
dem Datenempfänger über eine weitere Leitung, dass diese Daten jetzt gültig
sind.
Aus diesen Betrachtungen ist ersichtlich, das neben den Datenleitungen eine
Reihe weiterer Leitungen für die Steuerung und das Protokoll notwendig sind.
=
∑
L
118
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Einer der häufigsten Übertragungsbausteine im Bereich der µP-HW
ist der UART (Universal Asynchronous Receiver and Transmitter).
Dient der bitseriellen Übertragung von Daten über eine Übertragungsstrecke und der Umsetzung der Datenworte zum und vom parallelen
Rechnerbus und besteht aus elf Bits.
Startbit - Bit 0 LSB - ...... - Bit 7 MSB – Parität - Stoppbit
=
∑
L
=
∑
L
Startbit: logisch 0, Stoppbit: logisch 1;
119
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
Beim UART folgt auf Starbit die zu übermittelnde Information als Datenbits. Nach
Datenbits und vor Stoppbit wird Paritätsbit gesendet. Ist gerade Parität vereinbart ergänzt Paritätsbit die Quersumme auf einen geraden Wert, ist ungerade
Parität vereinbart, ergänzt Paritätsbit die Quersumme auf einen ungeraden Wert.
Zahl der Datenbits kann auf 7 oder 8 eingestellt werden. Das niederwertige Bit
(LSB) wird immer direkt nach dem Startbit, das höchstwertige Bit (MSB) als
letztes Datenbit gesendet. Mögliche Übertragungsarten sind
• simplex (Datenübertragung nur in eine Richtung),
• halbduplex (Datenübertragung in beide Richtungen, jedoch nicht
gleichzeitig),
• vollduplex (asynchrone Datenübertragung in beide Richtungen jederzeit
möglich)
Sender überträgt Zeichen in einem vorher in beiden Stationen vereinbarten
Zeitraster auf Übertragungsstrecke. Beim Empfänger ankommende Zeichen
werden aufgrund der eingestellten Datenübertragungsgeschwindigkeit und der
Struktur des eingegebenen Rahmens eingestellt.
=
∑
L
120
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
IEC/IEEE-Schnittstelle:
Leitungssystem (Bus-Kabel mit 16 parallelen Leitungen: 8 Daten- und 8 Steuerleitungen). Struktur ermöglicht gleichzeitigen Anschluss von bis zu 62 verschiedenen
Geräten, die über fest einstellbare eigene Adresse selektiert werden.
Adressinformation auf Datenbus nach Multiplexverfahren mit übertragen.
Zwischen den Geräten wird die Unterscheidung getroffen, ob sie nur Daten
empfangen, d.h. Datenempfänger (Listener), oder ob sie auch Daten auf den BUS
senden können, d.h. Datensender (Talker). Von jeder Gruppe können bis zu 31
Stationen angesprochen werden. Steuerung des Datenverkehrs erfolgt durch
Steuereinheit (Controller), der sowohl Listener als auch Talker ist. Kombinationen
dieser Funktionen in einem Datenkommunikationssystem sind möglich. Dabei ist
jeweils nur eine Steuereinheit und ein Datensender in Aktion, jedoch können
mehrere Datenempfänger simultan aktiv sein. Minimales Datenkommunikationssystem besteht aus
=
∑
L
•
•
=
∑
L
Datensender
Datenempfänger
121
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
122
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.2 Kommunikation
=
∑
L
=
∑
L
Ablauf Kommunikation im OSI Modell; es kommunizieren jeweils die gleichen Schichten
innerhalb der Kommunikationspartner
123
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.3 Systembegriff
124
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Systembegriff
• System: Definition und Eigenschaften
• Klassifizierung von Systemen
• Mathematische Behandlung von Systemen
125
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
System: Definition und Eigenschaften
Begriff System wird umgangssprachlich in vielfältigen Zusammenhängen
gebraucht:
• Sonnensystem
• Dezimalsystem
• Periodisches System der Elemente
• Philosophische Systeme
• Wirtschaftssysteme
• Herrschaftssysteme
• Herz-Kreislauf-System
• Nervensystem
• Rechnersystem
• Informationssystem
• Regelungssystem
• Rohrleitungssystem
• Verkehrssystem
• Transportsystem, etc.
=
∑
L
126
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Systembegriff häufig im Sinne von Ordnungsprinzip bzw. Klassifikationsschema verwendet. Beinhaltet immanente Gegebenheiten (private Merkmale) z.B. Seinsbereich, d.h. reale (materielle) oder ideelle (immaterielle)
Systeme oder Entstehung, d.h. natürliche oder künstliche Systeme.
=
∑
L
127
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Definition 1:
Einen Gegenstand unseres Erkennens nennen wir System, wenn alle erkannten Elemente und Attribute mit ihren wechselseitigen Beziehungen
– auch zur Umgebung – ein einheitliches Ganzes bilden, basierend auf
logischen Grundlagen. Hinzu kommen können Axiome.
=
∑
L
128
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Elemente:
Bausteine, Dinge, Komponenten, Objekte, Sachen, Teile, etc.
Beziehungen:
Kopplungen, Relationen, Verbindungen, Zusammenhänge, etc.
Attribute:
Eigenschaften, Kennzeichen, Merkmale etc.
Zu den Attributen werden auch Verbindungen zwischen System und Umgebung gerechnet; bei offenen als auch bei geschlossenen System vorhanden.
Das die Verfassung des Systems kennzeichnende Attribut wird Zustand
genannt.
Attribute miteinander in Beziehung gesetzt führen auf die Funktion als
Abbildung des Systems.
Attribute werden hinsichtlich ihrer Ordnung eingeteilt.
=
∑
L
129
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Man unterteilt zwischen Attributen 0. Ordnung (Eigenschaften der
Elemente) und Attributen höherer Ordnung (Eigenschaften der zwischen
Elementen bestehenden Beziehungen).
Dinge und Zusammenhänge mit identischen Attributen werden als
Äquivalent betrachtet und formal durch sog. Äquivalenzklassen
gekennzeichnet. So gehört z.B. zum Begriff Beruf die Äquivalenzklasse
Arzt, Bäcker, Bauer, Erzieherin, Glaser, Ingenieur, Klempner, etc.
Bezeichnet man mit Α die nicht-leere Menge der Attribute α und mit Β
die nicht-leere Menge der Beziehungen β, dann kann die Funktion Ψ
eines Systems symbolisch wie folgt notiert werden:
=
∑
L
=
∑
L
Ψ: = (α∈Α, β∈Β)
130
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Formales Konzept der Systembeschreibung gekennzeichnet durch nichtleere Menge der Beziehungen, aus Kopplungsmatrizen kij gebildet. Für nSystemelemente gilt:
ui = ∑j=1 kij * xj
(1.1.3-1)
ui: Eingangsgrößenvektor, xj: Ausgangsgrößenvektor, kij: Operator.
Gleichung (1.1.3-1) besagt, dass ui die i-te Gleichung der allgemeinen
Matrixgleichung u = k * x ist, die durch Gleichsetzen des inneren
Produktes der i-ten Zeile von k mit dem transponierten Spaltenvektor
x =  x1, x2, ,..., xn T
gleich ui ist. Daraus folgt
ki1 * x 1+ ki2 * x2+ , ... , kin* xn = ui
was in Kurzform geschrieben auf Gleichung (1-1-3-1) führt.
=
∑
L
131
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Kopplungsmatrix kij kann als Operator aufgefasst werden, der Vektor xj
in Vektor ui transformiert.
Elemente von kij sind 0 oder 1, je nachdem ob zwischen Systemelementen Kopplung vorhanden ist oder nicht. Kopplung von Systemelementen
liegt vor, wenn bestimmte Ausgangsgrößen xβ eines Systemelementes
zugleich Eingangsgrößen uβ eines anderen Systemelementes sind.
Neben Kopplungsmatrix wird strukturaler Aspekt der Systembeschreibung durch Relationen gekennzeichnet. Darunter versteht man logische
Beziehung zwischen Systemelementen (Kombinationsbeziehung); so
weist ein System mit n-Elementen maximal n² Relationen auf, wovon
höchstens n-Relationen identisch und n (n-1) Relationen nicht identisch
sind.
=
∑
L
132
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Identische Relationen (so genannte Äquivalenzrelationen) wie folgt
Charakterisiert:
Reflexivität der Relation: (x) [(x) ∈ M ⇒ R (x, x)]
Symmetrie der Relation: (x) (y) [x ∈ M y ∈ M R (x, y) ⇒ R (y, x)]
Transitivität der Relation: (x) (y) (z) [ x ∈ M y ∈ M z ∈ M R (x, y)
⇒ R (y, z) ⇒ R (x, z)]
=
∑
L
=
∑
L
M: nicht-leere Menge der Gegenstände, Eigenschaften, etc., R: Relation
zwischen den Elementen von M.
133
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Nicht identische Relationen sind solche, denen mindestens eine der drei
genannten Bedingungen fehlt. Aus nicht-leerer Menge nicht-identischer
Relationen ist Struktur des Systems festlegbar.
Hierarchische Strukturen sind nicht-identische Relationen, da sie der
Symmetrie der Relationen nicht genügen.
Struktur beschreibt den formalen Aufbau des Systems aus Elementen
mit ihren Attributen und Beziehungen. Es gibt zwei Strukturformen:
• hierarchische Strukturen - hierzu gehören das Stern- und Baumkonzept des Graphen (beim Stern ist ein privilegiertes zentrales Element
vorhanden; beim Baum ein hierarchisch höchstes Element gegeben) –
• anarchische Strukturen - hierzu gehören der Ring, der Bus und die
vermaschte Struktur z.B. des Netzwerkes.
=
∑
L
134
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Nach Definition 1 kann ein System wie folgt abstrakt dargestellt werden.
Definition 2:
System S kann als ein geordnetes Paar S = { E, B } betrachtet werden,
wobei E die nicht-leere Menge der Elemente E und B die nicht-leere
Menge der Beziehungen zwischen den Elementen von E kennzeichnet.
Aus Definition 2 kann man für den Fall zweistelliger Beziehungen B
folgern, dass geordnete Paare der Systemelemente x, y, ∈ E vorliegen
der Form
B = {( x, y )} .
Für jedes Element x ∈ E soll gelten: x steht zu mindestens einem
Element y ∈ E in Beziehung.
=
∑
L
135
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Für je zwei Elemente x, y ∈ E gibt es eine Verbindung, entweder direkt
oder indirekt. Eine direkte Verbindung liegt dann vor, wenn x oder y
zueinander in Beziehung stehen; eine indirekte, wenn eine Verbindung
über andere Elemente erfolgt wie z.B. bei z ∈ E.
Jeweils zwei Elemente x, y ∈ E können mit Hilfe eines Kantenzuges
verbunden werden (Graph).
=
∑
L
=
∑
L
Systemelemente, die zur Systemumgebung Beziehungen haben, heißen
Randelemente. Die Teilmenge aller Randelemente eines Systems
nennt man Oberfläche oder auch Hüllfläche des Systems.
136
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
In der Technik wird der Systembegriff wie folgt benutzt:
"System ist abgegrenzte Anordnung aufeinander einwirkender Gebilde.
Solche Gebilde können sowohl Gegenstände als auch Denkmethoden und
deren Ergebnisse (z. B. Organisationsformen, mathematische Methoden,
Programmiersprachen etc.) sein. Diese Anordnung wird durch Hüllfläche
von ihrer Umgebung abgegrenzt oder als abgegrenzt gedacht. Durch
Hüllfläche werden Verbindungen des Systems mit seiner Umgebung
geschnitten. Die mit diesen Verbindungen übertragenen Eigenschaften
und Zustände sind die Größen, deren Beziehungen untereinander das
dem System eigentümliche Verhalten beschreiben".
=
∑
L
137
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Symbolisch wird System durch Kasten (Block) dargestellt, der, in Bezug
auf die angeführten Definitionen, die Hüllfläche als Abgrenzung zur
Umgebung charakterisieren soll.
Verbindungen des Systems (Kasten, Block) mit seiner Umwelt sind Einund Ausgangsgrößen, deren Wirkungsfluss und Einfluss durch die
Richtung eines Pfeils festgelegt wird.
Sind keine Verbindungen mit der Umgebung vorhanden, spricht man von
geschlossenen System. Demgegenüber weist offenes System immer Verbindungen zur Umgebung auf. Im strengen Sinne liegt offenes System vor,
wenn mindestens ein Systemelement über Beziehungen zur Umgebung
verfügt. Derartige Systemelemente sind die Randelemente des Systems.
=
∑
L
138
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
u1
un
z1
zn
y1
System
yn
Blockorientierte Darstellung eines Systems mit mehreren Eingangsgrößen (un) und Ausgangsgrößen (ym)
und Störgrößen (zk).
Eingangsgrößen u1 ..., un generieren Ausgangsgrößen y1, ... yn,
in der Regel überlagert von Störgrößen z1, ... zk.
=
∑
L
=
∑
L
Y = f(U, Z)
Addiersystem:
Sn = f(En, C0)
Cn-1 =g(En)
139
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
Definition 3
System mit n > 2 Eingangsgrößen und/oder n > 2 Ausgangsgrößen
heißt Mehrgrößensystem.
=
∑
L
140
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.1.3 Systembegriff
In blockorientierter Darstellung können folgende Zuordnungen getroffen
werden:
Abhängige Variable x durch Kästen (Blöcke) dargestellt, deren Wirkungen
bzw. Einflüsse von Eingangsgrößen durch Pfeile gekennzeichnet ⇒
kausale Wirkungskette vor. Man unterscheidet zwischen gleichsinnigen
und gegensinnigen Wirkungsflüssen.
Gleichsinniger Wirkungsfluss kennzeichnet positive Veränderung der
abhängigen Variablen im Sinne einer Verstärkung. Erhöhung Eingangssignal führt zur Erhöhung des Ausgangssignals und vice versa. Gleichsinnige Wirkung durch Plus-Zeichen über Wirkungspfeil gekennzeichnet.
Gegensinniger Wirkungsfluss durch inverse Richtung der Änderung der
abhängigen Variablen im Sinne einer Hemmung. Erniedrigtes Ausgangssignal ergibt sich als Folge eines vergrößerten Eingangssignales.
Gegensinnige Wirkung durch Minus-Zeichen über dem Wirkungspfeil
gekennzeichnet.
=
∑
L
141
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.2 Systembegriff
1.2 Zahlensysteme
1.3 Codierung
142
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2 Zahlensysteme
1.2 Zahlensysteme
1.2.1 Zahlenbegriff
1.2.2 Zahlendarstellungen
1.2.3 Komplementdarstellungen
1.2.4 Zahlenkonvertierung
1.2.5 Darstellung von Zahlen
1.2.6 Umwandlung von Zahlensystemen
1.2.7 Grundstruktur von Rechenwerken
143
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.1 Zahlenbegriff
Zahl: mengentheoretischer Begriff
Ziffer: Bezeichnung einer Zahl
Zahl Abstraktionsklasse gleichmächtiger Mengen während Ziffer ihre
Benennung ist.
=
∑
L
144
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.1 Zahlenbegriff
Bezeichnet man den Nachfolger einer natürlichen Zahl x mit x´, das Enthaltensein
einer Menge in einer anderen durch ⊂, das Element durch das Symbol ∈ und das
ausgezeichnete Element durch 1, können Eigenschaften natürlicher Zahlen durch
das Axiomensystem nach Peano dargestellt werden, wobei aussagenlogische
Konstanten durch ℘ symbolisiert sind (℘= Menge dieser Zahlen)
(1) 1 ∈ ℘
(2) ∀(x) [(x ∈℘) → (x´∈℘)]
(3) ∀(x) ∀(y) i[(x ∈℘)∧ (x ∈℘) ∧ (x´= y`)] → (x = y)
(4) ∀(x) [(x ∈℘) → (x´ ≠ 1)]
(5) ...
Natürliche Zahlen lassen sich somit mit Hilfe des Symbols für die Zahl 1 und des
Symbols für die Nachfolgerbeziehung darstellen in der Form
1
2 = 1´
3 = 2´ = 1´´
4 = 3´= 2´´ = 1´´´
....
=
∑
L
145
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Zahlendarstellung
gekoppelt damit wie Zahlen operationalisiert werden, d.h. wie mit Zahlen
gerechnet wird ⇒ geeignete Darstellungssysteme (Repräsentation).
Dezimales Zahlensystem: Stellenwertsystem (polyadische Systeme),
auf Basis 10 begründet, nutzt als gebräuchliche Abkürzung einer
komplizierten Summenschreibweise, z. B. bei
2 * 10.000 + 5 * 10.00 + 7 * 100 + 4 * 10 + 3 * 1 + 2 * 0,1 + 5 * 0,001 = 25.743,25
= 2 * 104 + 5 * 103 + 7 * 102 + 4 * 101 + 3 * 100 + 2 * 10-1 + 5 * 10-2
Summe besteht aus Produkten von Koeffizienten zwischen 0 und 9 sowie entsprechenden
Zehnerpotenzen, von der in abgekürzter Schreibweise lediglich Koeffizienten geschrieben
werden und zwar der Koeffizient der höchsten Zehnerpotenz linksbündig und anschließend
nach rechts die Koeffizienten in absteigender Ordnung der Potenz. Jede Stelle hat damit
eine feste Wertigkeit bei dieser Art der Darstellung.
=
∑
L
146
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Summenschreibweise:
gilt für alle polyadischen Zahlensysteme. Als Basis kann jede beliebige
Zahl B ≥ 2 dienen. Zahl Z ergibt sich gemäß allgemeingültigen Form zu
Z = a n-1Bn-1 + an-2 Bn-2 + ... + a1B1 + a0B0 +
a-1B-1 + a-2B-2 + ...+ a-(m-1) B-(m-1) + a-mB-m
bzw. in verkürzter Summenschreibweise
Z=
n −1
∑
=
∑
L
aV BV
=
∑
L
V =− m
n: Stellenzahl links des Komma, m: Stellenzahl rechts des Komma,
B: Basis des Zahlensystems, av: Koeffizient, v Ordnungszahl.
Für die Koeffizienten gilt allgemeingültig 0 ≤ av ≤ B - 1
147
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Digitaltechnik verwendet duales Zahlensystem zur Basis 2 mit den Ziffern
0 und 1. Hierfür sprechen folgende Gründe:
• Dualstelle durch binäres Element technisch leicht realisierbar
• Ziffernaufwand AZ (Summe aller erforderlichen Ziffern) zum Darstellen
von Zahlen in vorgegebenen Bereich beim dualen Zahlensystem
wesentlich kleiner (um 1/3) als beim dezimalen. Dadurch lassen sich u.
a. Speicher kleiner und billiger ausführen.
• Schaltungen zum Verarbeiten von Dualzahlen lassen sich mit Hilfe der
Schaltalgebra (Boolesche Algebra) leicht entwerfen.
Im Zusammenhang mit dem Ziffernaufwand interessiert welche Basis die
günstigste ist. Im polyadischen Zahlensystem können mit n Stellen und
der Basis B
N = Bn
=
∑
L
=
∑
L
unterschiedliche Zahlen dargestellt werden. Der Ziffernaufwand beträgt
AZ = Bn
148
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Je Stelle werden B Ziffern angesetzt. In der höchsten Stelle kann eine
Ziffer, die 0, eingespart werden, da Zahlen in der Regel ohne führende
Nullen geschrieben werden, ergibt technisch keinen nennenswerten Vorteil, da Ziffernaufwand sich nur um eine Konstante verringert.
Löst man die Gleichung
N = Bn
nach n auf erhält man
logA N
n = logB N =
logA B
Mit A = e ergibt sich als Ziffernaufwand
=
∑
L
=
∑
L
AZ = B * n = B
ln N
ln B
d. h. AZ liegt als Funktion von B vor, wie nachfolgend skizziert.
149
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
AZ
lnN
6
5
4
3
2
1
0
=
∑
L
150
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Das Minimum des Ziffernaufwands erhält man, indem man AZ nach B
differenziert und das Ergebnis 0 setzt.
dAZ
(ln B) −1
= ln N
= 0.
2
dB
(ln B)
Lösung dieser Gleichung liefert B = e.
Im Hinblick auf den Ziffernaufwand wäre damit das Zahlensystem zur
Basis e das Beste. Da Basis jedoch ganzzahlig sein muss, scheidet
e aus. Als nächstbester Wert bietet sich 3 an, jedoch wegen schlechter
technischer Realisierbarkeit gegenüber 2 so gut wie kaum angewandt,
weshalb Rechner Zahlensystem zur Basis B mit B = 2 besitzen
=
∑
L
151
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Für jede Dualzahl Z gilt
n
Z = ∑Bi 2i
Z
=
∑
i
=
i =0
Als Ziffern schreibt man für die 2 verschiedenen Werte Bi∈{0, 1}. Damit
hat Dualzahl dieselbe Notation wie Dezimalzahl
Z = Bn 2n + Bn−1 2n−1 + ...+ B2 22 + B1 21 + B0 20
Es ist evident, dass Aufwand an Ziffern zur Darstellung von Dualzahlen erheblich größer ist als beim Dezimalsystem. Anzahl der zur Darstellung einer gegebenen Zahl erforderlichen Stellen wird Länge der Dualzahl, die vom Rechner
zur Verfügung gestellte Anzahl der Dualstellen zur Darstellung von Zahlen
Wortlänge genannt.
=
∑
L
152
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Zahlensystem mit der Basis B, wobei gilt B ≥ 1, verfügt über eine Ziffernmenge ∑B {a0, a1, ... ,aB-1}. Jeder Ziffer wird durch injektive Abbildung
wert :→ ∑ (0,1,..., B − 1)
B
Wert zugewiesen, wobei wert definiert ist durch
wert (ai ) = i;0 ≤ i ≤ B − 1
Mit vier Dualstellen können die ganzen Dezimalzahlen 0 bis 15 (ohne
Vorzeichen) dargestellt werden, wie in nachfolgender Tabelle angegeben.
=
∑
L
153
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Dualzahl
154
Dezimalzahl
23
22
21
20
0
0
0
0
0
0
0
0
1
1
0
0
1
0
2
0
0
1
1
3
0
1
0
0
4
0
1
0
1
5
0
1
1
0
6
0
1
1
1
7
1
0
0
0
8
1
0
0
1
9
1
0
1
0
10
1
0
1
1
11
1
1
0
0
12
1
1
0
1
13
1
1
1
0
14
1
1
1
1
15
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Beispiel
Darstellung Dezimalzahl 3253 im Binärsystem Z =(1100|1011|0101)2
mit
wert(Z ) = 1* 211 + 1* 210 + 0 * 29 + 0 * 28 + 1* 27 + 0 * 26 + 1* 25 + 1* 24
+ 0 * 23 + 1* 22 + 0 * 21 + 1* 20 = 3253
Bislang wurden positive Zahlen Z dargestellt. Negative Zahlen Z werden so
geschrieben, dass man ihren Betrag oder Absolutwert angibt und ein Minuszeichen hinzufügt. Damit handelt es sich beispielsweise bei –2002 um eine
negative Zahl vom Betrag 2002.
Auch in Rechnern ist diese Darstellung gebräuchlich. Das Vorzeichen ist hier
eine binäre Variable, weshalb zur Darstellung eine Binärziffer genügt, wobei
folgende Festlegung getroffen wird: 0 → +, 1→ -.
=
∑
L
155
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Beispiel 1.14.
VZ
0 1 1 0 0 → + 1 1 0 0 = + 1210
1 1 1 0 0 → - 1 1 0 0 = - 1210
Diese einfache Art der Festlegung hat den Nachteil, dass die Zahl 0 sowohl
durch +0 als auch durch –0 dargestellt wird
Beispiel 1.15.
VZ
0 0 0 0 0 → + 0
1 0 0 0 0 → -0
156
=
∑
L
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Darstellung des Vorzeichens ∑B wird
auf ∑BB = ∑B
∪{+,−}
erweitert.
Für B = 2 wird bei Wörtern Z= (Zn-1 Zn-2 .... Z0)2 der Länge n über ∑2 = {0,1} das
am weitesten links stehende Bit Zn-1 als Vorzeichen interpretiert. Dabei steht 0
für + und 1 für -. Die Funktion
wert : ∑ 2 → Z
n
ist damit definiert durch
 wert [( Z n − 2 ,..., Z 0 ) 2 ]; Z n −1 = 0
wert [( Z n −1 , Z n − 2 ,..., Z 0 ) 2 ] = 
 wert [( Z n − 2 ,..., Z 0 ) 2 ]; Z n −1 = 1
Beispiel 1.16.
In einem 8 Bit Register in einem Rechner darstellbarer Zahlenbereich umfasst
die Zahlen von 127 bis -127 . Für n =8 gilt
=
∑
L
=
∑
L
wert[(0111.1111)2 ] = +127
wert[(1111.1111)2 ] = -127
157
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
Mit n-Stellen kann die Menge {-(2n-1-1),...,0,...,+(2n-1-1)}⊂ Z dargestellt werden,
d.h. 2n-1 Zahlen → eine Zahl weniger als bei Binärdarstellung natürlicher Zahlen,
da bei Vorzeichendarstellung 0 zwei Darstellungen hat, was für 8 Bit Register zu
folgenden Inhalten führt
+ 0 = (0000.0000)2
- 0 = (1000.0000)2
Wenngleich beide Darstellungen intuitiv als gleich angesehen werden können, ist
Gleichheit für einen Rechner, der die Bitpositionen einzeln vergleicht, schwer
feststellbar. Dies erfordert für die rechnerinterne Arithmetik einen aufwändigen
Vergleich zur Vorzeichendarstellung um festzustellen ob 0 = 0 ist.
Für die Addition zweier Operanden x und y sind per se vier Fälle unterscheidbar:
=
∑
L
158
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
1. Fall: x = y = 0
x und y werden binär, d.h. modulo 2n-1 addiert, das Vorzeichen der Summe ist
positiv, also x + y = 0.
Ergebnis: Addition als auszuführende Operation.
2. Fall: x = y = 1
x und y werden binär, d.h. modulo 2n-1 addiert, das Vorzeichen der Summe ist
negativ, also -(x + y) = 1.
Ergebnis: Addition als auszuführende Operation.
3. Fall: x = 0 und y = 1 mit wert (x) > wert (y), oder x = 1 und y = 0 mit
wert (y) > wert (x)
=
∑
L
=
∑
L
x wird von y bzw. y wird von x binär subtrahiert, das Vorzeichen ist in beiden
Fällen positiv, also x - y = 0 bzw. y - x = 0.
Ergebnis: Subtraktion als auszuführende Operation.
159
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.2 Zahlendarstellungen
4. Fall: x = 0 und y = 1 mit wert(x) < wert(y), oder x = 1 und y = 0 mit
wert (y) < wert (x)
x wird von y bzw. y wird von x binär subtrahiert, das Vorzeichen ist in beiden
Fällen negativ, also -(x - y) = 1 bzw. -(y - x) = 1.
Ergebnis: Subtraktion als auszuführende Operation.
=
∑
L
160
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Vorzeichenrichtige Zahlendarstellung bereits bei Addition ganzer Zahlen
aufwändig. Für Rechnerarithmetik ist neben Unterscheidung der 4 Fälle
zur Addition auch Subtraktion erforderlich. Technische Umsetzung der
Rechnerarithmetik im Addierwerk als ALU (arithmetisch logische Einheit)
konzipiert ⇒ notwendige Subtraktion auf Addition zurückgeführt.
Komplementdarstellung ganzer Zahlen angewandt; für Zahlensystem zur
Basis B für die Subtraktion y – x – entspricht 3. Fall – für 0 < x < y mittels
Addition berechnet wird. Hierzu wird x* derart gesucht, dass y - x = y + x*
erfüllt ist. Setzt man x* = Bn - x, die Berechnung erfolgt modulo Bn , wegen
=
∑
L
=
∑
L
y − x = [( y − x) + Bn ]modBn = [ y + (Bn − x)]modBn
mit n als fester Länge der Zahlen, dann gilt:
y − x = y − x * (mod B n )
161
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Sei wert(x) = (xn-1, xn-2,..., x1, x0)2∈Bn eine n-stellige Binärzahl, dann
heißt
K Bn ( x) = B n − x
das B-Komplement von x. Hierbei ist die Darstellung – x. B-Komplementdarstellung erfüllt die Eigenschaft x + (-x) = 0, da gilt:
x + (− x) = x + K Bn ( x) = x + ( B n − x) = B n
und
=
∑
L
=
∑
L
B n mod B n = 0
womit folgt:
[ x + (− x)] mod B n = 0
162
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Damit ist
K1 ( x) = [1{+}xn −1 ,...,1{+}x0 ]2
das Einerkomplement von x und
K 2 ( x) = [1{+}xn −1 ,...,1{+}x0 ]2 + 1 = K1 ( x) + 1
das Zweierkomplement von x bzw. allgemeingültig
K Bn ( x) = K B −1 ( x) + 1
das B-Komplement.
=
∑
L
=
∑
L
Einerkomplement einer Zahl x erhält man durch stellenweises invertieren von x,
Zweierkomplement durch invertieren aller Bits und anschließende Addition einer
Eins.
163
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Beispiel 1.17.
Für ein 16 Bit Register eines Rechners werden die Darstellungen der Zahlen +92
und –92 im Einer- bzw. Zweierkomplement betrachtet. Für das Einerkomplement
gilt mit B = 2 und n = 16
K 1{[ 0000000001 011100 ]2 } ∈ ∑ 2 = + 92
16
K 2 {[1111111110 100011 ] 2 } ∈ ∑ 2 = −92
16
Das Zweierkomplement ergibt sich durch Addition einer 1:
K1{[ 0000000001 011101 ]2 } =
[0000000001 011101 ]2 + [0000000000 000001 ]2 =
=
∑
L
=
∑
L
[0000000001 011110 ]2 = + 92
K 2 {[1111111110 100100 ] 2 } =
[1111111110 100100 ] 2 + [ 0000000000 000001 ] 2 =
[1111111110 100101 ] 2 = − 92
164
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Subtraktion zweier n-stelliger Dualzahlen x - y (3. Fall) mit x > y, in
B-Komplementdarstellung, mit B = 1, lässt sich durch Addition x + lösen.
Zu subtrahierende Zahl y durch K1(y) dargestellt und addiert K1(y) zu x. Tritt an
MSB Übertrag auf, wird dieser zum LSB hinzuaddiert.
Beispiel 1.18.
Sei x=179 und y=109, dann wird für
x: 10110011 = 179
-y: -01101101 = 109 ⇒
x: 10110011
-0110 1101 Einerkomplement→
+10010010
K1(x):+ 10010010
mit dem Zwischenresultat 1 01000101.
Der Übertrag wird zur niedrigsten Stelle hinzuaddiert
01000101
1.
Daraus folgt 01000110 d.h. dezimal +70.
=
∑
L
165
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.3 Komplementdarstellungen
Beispiel 1.19.
Für n = 5 Bit sind im B-Komplement, mit B = 2, die Zahlen von -15 bis +15
darstellbar.
Addition der Zahlen 5 + 14 = 19 ergibt
5: 0 0101
+14: 0 1110
und als Resultat 1 0011.
Das Ergebnis lautet -3 und nicht +19. Der Grund für den Unterschied liegt
begründet in dem Umstand, dass +19 mit n = 5 Bit nicht darstellbar ist.
=
∑
L
=
∑
L
Angemerkt werden soll, dass dieses Beispiel nur akademischen Charakter hat, da
Rechner, welche z.B. das Zweierkomplement zur Durchführung arithmetischer
Operationen nutzen, ein Overflow-Flag setzen.
166
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.4 Zahlenkonvertierung
1.4.3 Darstellung ganzer Zahlen
In den gängigen Programmiersprachen werden ganze Zahlen als vom
Datentyp integer, und gebrochene rationale Zahlen als vom Datentyp
real notiert.
Realzahlen werden als Gleitpunktzahlen oder Gleitkommazahlen
bezeichnet.
Befindet sich das Komma, (Punkt), an einer beliebigen aber festen Stelle
spricht man von Festpunkt- oder Festkommadarstellung.
=
∑
L
=
∑
L
Die Längenangabe (n, m) gibt dabei die Länge n des ganzzahligen und
die Länge m des gebrochenen Anteils an.
167
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
In den gängigen Programmiersprachen werden ganze Zahlen als vom
Datentyp integer, und gebrochene rationale Zahlen als vom Datentyp
real notiert.
Realzahlen werden als Gleitpunktzahlen oder Gleitkommazahlen
bezeichnet.
Befindet sich das Komma, (Punkt), an einer beliebigen aber festen Stelle
spricht man von Festpunkt- oder Festkommadarstellung.
=
∑
L
=
∑
L
Die Längenangabe (n, m) gibt dabei die Länge n des ganzzahligen und
die Länge m des gebrochenen Anteils an.
168
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Festkommadarstellung:
legt Komma auf eine bestimmte Stelle fest.
bevorzugte Kommastellen für rechnerinterne Verarbeitung von Zahlen :
→ rechts der niedrigsten Stelle → alle Zahlen ganzrationale Zahlen
→ rechts der höchsten Stelle → alle Zahlen gebrochen rationale Zahlen.
Beispiel:
Bei Rechnern für das Banken- und Sparkassenwesen sei die kleinste zu
verarbeitende Einheit 0,01Euro und die größte 99.999.999,99 Euro, die
Register sind damit 10-stellig nach folgendem Schema:
=
∑
L
=
∑
L
,
Komma
169
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Beispiel 1.20.
371,05 Euro + 18,10 Euro = 389,15 Euro
A-Register 00000371,05
B-Register 00000008,10
C-Register 00000389,15
Je nach der im x-stelligen Rechner festgelegten Kommastellung lassen sich
Berechnungen in den entsprechenden Wertebereichen durchführen.
Festkommadarstellung einer Zahl der Länge (n, m) zur Basis B hat allgemeine
Form
Z = [ Z n −1 ,..., Z 0 , Z −1 , Z − m ]B
=
∑
L
=
∑
L
Ihr Wert ergibt sich demnach zu
wert ( Z ) =
n −1
∑Z B
i=− m
170
i
i
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Beispiel 1.21.
Sei B = 2 und Länge sei (2,4), dann ist (10,0100)2 die Festkommadarstellung
der Zahl 2,25 mit der Länge (2,4) zur Basis 2 mit
wert ( Z ) = 1 * 2 + 1 * 2
wert
Z
=
12*)(+
1
−2
1
= 2 + = 2 ,25
4
Beispiel 1.22.
Sei B = 2 und Länge sei (4,8), dann ist [101001001110]2 die Festkommadarstellung der Zahl 10,3046875 mit der Länge (4,8) zur Basis 2. Es gilt
wert ( Z ) = 1 * 2 3 + 1 * 21 + 1 + 2 −2 + 1 * 2 −5 + 1 * 2 −6 + 1 * 2 −7
1 1
1
1
39
= 10 + +
+
+
= 10 +
= 10,3046875
4 32 64 128
128
=
∑
L
=
∑
L
Wird Komma rechts der Stelle mit dem niedrigsten Wert angenommen, gilt für
Wort der Länge n = (zn-1,...z0)2 die Festkommadarstellung
wert ( Z ) =
n −1
∑
i= − m
171
Z iB i
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Für ein Wort Z der Länge n = 8 lautet die Festkommadarstellung für
Z = 10110010
= 1* 2
1
1
1
1
=
+
+
+
2
8
16
128
172
−1
+ 1* 2
89
=
128
=
∑
L
=
∑
L
−3
+ 1* 2
−4
+ 1* 2
−7
= 0 , 6953125
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Gleitkommadarstellung
(halblogarithmische Darstellung) Zahl Z in der Form
Z = ±M * BE±E
dargestellt mit Mantisse M, Basis BE für Exponenten und E als Exponent der
Darstellung. BE muss nicht notwendig mit Basis des Zahlensystems für M und E
übereinstimmen. Zahlen in Gleitkommadarstellung werden durch Mantisse und
Exponenten dargestellt wie folgt:
{
=
∑
L
=
∑
L
Mantisse M
Exponent E
⇒ bei Gleitkommadarstellung wird ein Teil der bitwerten Registerstellen für die
Darstellung der führenden Ziffern (Mantisse) und ein anderer Teil für die
Darstellung des Stellenwertes (Dezimalkomma) verwendet; Dezimalkomma
wird in Mantisse immer an der gleichen Stelle geschrieben, bezeichnet aber
wegen des variablen Exponenten einen gleitenden Wert.
173
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Komma steht bei Gleitkommadarstellung vor höchster Mantissenstelle und der
Exponent nach der Mantisse → Darstellungsform entspricht halblogarithmischer
Darstellung, wenngleich Mantisse lediglich aus Ziffernstellen der Zahl und nicht
aus ihrem Logarithmus besteht.
Sind für Exponent nur zwei Stellen reserviert können bei dezimalem Exponenten
mit Vorzeichen, nur 19 verschiedene Exponenten dargestellt werden +9, +8,
..., +0, -1, -2, ..., -9.
In Rechnern sind in der Regel Basis B, Mantisse M und Exponent E sowie Basis
BE der Darstellung festgelegt, weshalb Gleitkommazahl rechnerintern durch das
Paar (± M, ± E) dargestellt werden kann.
Gleitkommadarstellung einer Zahl ist nicht eindeutig, da beispielsweise die Zahl
4711,4712 wie folgt dargestellt werden kann
=
∑
L
=
∑
L
4711,4712 = 47,114712 * 10 2 = 0,47114712 * 10 4 = 47114712 * 10 −4
weshalb für Operationen mit Operanden mit verschiedenen Exponenten eine
Anpassung erforderlich wird.
174
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Erfüllt Gleitkommazahl
Z = ± M * BE± E
die Voraussetzung
1
< M <1
BE
wird sie normalisierte Gleitkommazahl genannt. Hierbei steht Komma links von
der Mantisse, d.h. der ganzzahlige Anteil ist gleich 0 und die erste Ziffer (des
Dezimalanteils) der Mantisse ist ungleich 0.
=
∑
L
175
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Rechnerintern wird bei Gleitkommadarstellung Vorzeichen Exponent eingespart
indem Exponent um bestimmte Zahl, sog. Charakteristik verändert wird, anstelle
Exponent E wird Zahl C + E (C=Charakteristik) gespeichert; Charakteristik so
gewählt, dass stets C + E ≥ 0 erfüllt ist. Bei Charakteristik von 50 wird der wahre
Exponent E = 0 durch 50 ersetzt (C+E=50). Durch Einführen der Charakteristik
kann darstellbarer Zahlenbereich wesentlich vergrößert werden.
Sind z.B. 2 Stellen für den Exponenten reserviert, sind ohne Charakteristik nur 19
verschiedene Exponenten darstellbar, mit Charakteristik von 50 dagegen100
verschiedene Exponenten von 99, 98, ..., 01, bis 00 und dementsprechend
+49, +48, ..., +00, -01, ..., -50.
Charakteristik
00
Exponent
-50
176
=
∑
L
=
∑
L
50
99
00
49
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Zahl (4781,75)10 = 0.478175 ⋅ 104 soll im Gleitkommaregister mit Charakteristik
dargestellt werden
,47817500 04 Exp.
54 Char.
dto. 0,74*10.2
=
∑
L
=
∑
L
,74000000 -02 Exp.
48 Char.
177
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Mit Hilfe von nur 2 Exponentenstellen können Wertebereiche von 10-50 bis 1049
dargestellt werden. Als Standard hat sich das IEEE Format zur Darstellung von
Gleitkommazahlen durchgesetzt. VZ entspricht Vorzeichenbit; es ist 0, wenn
dargestellte Zahl positiv ist und 1, wenn dargestellte Zahl negativ ist.
VZ Exponent
Mantisse
Darstellung der Exponenten erfolgt durch Addition eines geeigneten Exzesses.
Darstellung Mantisse erfolgt in normalisierter Form1), mit folgendem Unterscheidungsmerkmal: Zahl wird als normalisiert betrachtet, wenn sie Darstellung
(1. xxxxxx) besitzt. Verwendete x stehen für 0 oder 1.Darstellung jeder norma-lisierten Zahl (außer 0) beginnt mit 1 → nichtnötig diese 1 abzuspeichern. Man
speichert nur die auf die 1 folgenden Bit ab. Normierung für eine Gesamtlänge
von 16, 32 und 64 Bit hat die dargestellte Zuordnung der Bitwerten Stellen.
=
∑
L
1)
=
∑
L
Eine Gleitkommazahl, bei der die erste Stelle hinter dem Komma keine Null ist, heißt normalisiert.
178
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Wortlänge
VZ
EXPONENT
MANTISSE
32
1
8
23
64
1
12
51
Darstellung Bitstellen gemäß IEEE Format
=
∑
L
179
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Rechnerintern kann Darstellung normalisierter Gleitkommazahlen damit
allgemeingültig angegeben werden. Sei
BE = B = 2 und die Länge der darstellbaren Zahl n=32
liegt folgende Aufteilung der 32 Stellen für Gleitkommazahlen vor:
=
∑
L
=
∑
L
Die ersten 24 Stellen bilden die Mantisse der Vorzeichendarstellung, d.h. die erste Stelle
repräsentiert das Vorzeichen und die restlichen 8 Stellen den Exponenten im Zweierkomplement.
180
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Beispiel 1.24
Für die Bitfolge
0 11001111000010011000000 00001100
Mantisse
Exponent
lautet die normalisierte Gleitkommazahl [0,110011110000100011]2*212. Damit kann die
rechnerinterne Darstellung der kleinsten positiven Zahl abgeleitet werden:
0 1 00000000000000000000000 10000000
Ihre normalisierte Gleitkommadarstellung ist (+1, -128), ihr Wert ist 0,5*2-128. Demzufolge
lautet die rechnerinterne Gleitkommadarstellung der größten positiven Zahl
0 1 11111111111111111111111 01111111.
=
∑
L
=
∑
L
Ihre normalisierte Gleitkommadarstellung ist
[+11111111111111111111111,+127]
und ihr Wert
(1-2-23)*2-127
23
denn es gilt:
1 − ( 12 ) 23
1 i
1
(2) = 2 ⋅
-23
1
wert [0,11111111111111111111111]= ∑
=
1-2
1
−
2
i =1
181
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Beispiel 1.25
Bei Länge n = 32 sowie BE = B = 2 können mit der dargestellten Aufteilung
positive Zahlen Z mit
0,5*2-128< Z < (1-2-23)*2-127
normalisiert dargestellt werden.
Analog ergibt sich für die negativen Zahlen Z der Darstellungsbereich
=
∑
L
=
∑
L
-(1-2-23)*2-127 < Z < -0,5*2-128.
182
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.5 Darstellung von Zahlen
Aus Beispiel 1.25 ist ersichtlich, dass Zahlen Z mit
-0,5*2-128 < Z < 0,5*2-128
nicht darstellbar sind, da 0 nicht darstellbar ist. Zur Darstellung der 0 wird
rechnerinterne Hilfsdarstellung eingeführt:
0 xxxxxxxxxxxxxxxxxxxxxxx 0000 0000
Mantisse
wobei Inhalt Mantisse x... ...x irrelevant ist. Bei normalisierter Gleitkommadarstellung mit BE = B = 2 ist erste Stelle der Mantisse immer 1 → braucht nicht
gespeichert werden, es liegt hidden bit vor. Bitfolge
0 00000000000000000000000 00000000
Mantisse
Exponent
=
∑
L
=
∑
L
entspricht nicht rechnerinterner Darstellung von 0, 0 stellt normalisierte
Gleitkommazahl (+1,0) mit dem Wert 1 *2 2 = 1 =0,5 dar.
2
183
2
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
Umwandlung ganzzahligen Anteils von
Zahlen beliebiger Basis in Dezimalzahlen
an-1
=
Z1
Z1
⋅ B + an-2
=
Z2
Z2
⋅ B + an-3
=
Z3
Umwandlung des echt gebrochenen Anteils von
Zahlen beliebiger Basis in Dezimalzahlen
a-m
=
Z1
Z1
| B + a-(m-1)
=
Z2
Z2
| B + a-(m-2)
=
Z3
.
.
.
.
.
.
2n-2
⋅ B + a1
=
Zn-1
2n-1
⋅ B + ao
=
Zn
=
∑
L
Zm-1
| B+a-1
=
Zm
Zm
|B
=
Zn
≅0
=
∑
L
allgemeingültig für die Umwandlung von Zahlen ins Dezimalsystem:
⇒ [an-1 an-2 an-3 ... a1 ao, a-1 a-2 ... a-m]
=ˆ [((((( a n −1 B + a n − 2 ) B + a n − 3 ) B + ...) B + a1 ) B + a o )
+ ((( a −m / B + a −( m−1 ) / B + ...) / B + a −1 ) / B )
184
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
Dezimalzahl 109,78125 ist in Dualzahl umzuwandeln
109/2 = 54 Rest 1
54/2 = 27 Rest 0
27/2 = 13 Rest 1
13/2 = 6 Rest 1
6/2 = 3 Rest 0
3/2 = 1 Rest 1
½ = 0 Rest 1
0,78125⋅ 2 = 0,56250 + 1
0,56250⋅ 2 = 0,12500 + 1
0,12500⋅ 2 = 0,25000 + 0
0,25000⋅ 2 = 0,50000 + 0
0,50000⋅ 2 = 0,00000 + 1
109,78125dez ≅ 1101101, 11001dual
=
∑
L
185
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
111000,011 ist in eine Dezimalzahl umzuwandeln.
B
Z1
B a-m
Z1 | a n - 1
1= 1
1=1
1⋅2+1= 3
3⋅2+1= 7
7 ⋅ 2 + 0 = 14
14 ⋅ 2 + 0 = 28
28 ⋅ 2 + 0 = 56
1 / 2 + 1 = 1,5
1,5 / 2 + 0 = 0,75
0,75 / 2 + 0 = 0,375 (≅ o,)
=
∑
L
=
∑
L
111000,011dual ≅ 56,375 Dez
186
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
Oktalzahl 374,24 ist in eine Dezimalzahl zu wandeln
3 =
3
3 . 8 + 7 = 31
31 . 8 + 4 = 252
4 = 4
4 / 8 + 2 = 2,5
2,5 / 8 + 0 = 0,3125
=
∑
L
374,24 Oktal
187
=
∑
L
≅ 252,3125 Dezimal
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
Umwandlung echter Dezimalbrüche in
Zahlen beliebiger Basis
Umwandlung ganzer Dezimalzahlen in
Zahlen beliebiger Basis
S
Z1
Z2
/ B = Z1
/ B = Z2
/ B = Z3
Rest a0
Rest a1
Rest a2
S ⋅ B = Z1 + a-1
Z1 ⋅ B = Z2 + a-2
Z2 ⋅ B = Z3 + a-3
.
.
.
Zn-2 / B = Zn-1 Rest an-2
Zn-m / B = 0
Rest an-m
.
.
Z m-1 ⋅ B = Zm + a-(m-1)
Zm ⋅ B = Zn + a-m
=
∑
L
188
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.6 Umwandlung von Zahlensystemen
109,78125 Dez ist in eine Binärzahl und eine Oktalzahl umzuwandeln.
109/2 = 54 Rest 1
0,78125 · 2 = 0,5625
54/2 = 27 Rest 0
0,5625 · 2 = 0,125
27/2 = 13 Rest 1
0,125
· 2 = 0,25
13/2 = 6 Rest 1
0,25
· 2 = 0,5
6:2 = 3 Rest 0
0,5
· 2 = 0,0
3:2 = 1 Rest 1
1:2 = 0 Rest 1
≅
109,78125Dez
=
∑
L
1
1
0
0
1
1101101,11001 binär
=
∑
L
109/8 = 13 Rest 5
13/8 = 1 Rest 5
1/8
= 0 Rest 1
0,78125 · 8 = 0,25 + 6
0,25
· 8 = 0,0 + 2
109,78125 Dez
189
+
+
+
+
+
≅
155,62 oktal
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Rechenwerk des Digitalrechners muss in der Lage sein mindestens drei
Operationen auszuführen:
• Addieren zweier Zahlen
• Komplementbildung einer Zahl
• Stellenverschiebung einer Zahl.
Die letzten beiden Funktionen sind technisch relativ einfach realisierbar.
Stellenverschiebung benötigt Schieberegister; Komplementbildung
entsprechende Anzahl von Invertern. Informationsverarbeitende Aufgabe
wird im Rechenwerk durchgeführt, in dem die Addition stattfindet. Man
spricht von Addierwerk. Kernstück des Addierwerkes ist binärer VA, der
die Summe
a+b(modulo2)
bildet.
=
∑
L
190
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Annahme: Addierwerk verfüge über drei binäre Eingangsvariable Aj, Bj und Üj-1
die zur Summe Cj und Üj (Übertrag) verknüpft werden sollen. Symbol des VA:
Aj
Bj
Üj-1
VA
Cj
Üj
Üj-1: Übertrag, der aus der Addition der Stellen Aj-1 und Bj-1 entstanden ist.
Übertrag Üj muss bei Addition der Stellen Aj+1 und Bj+1 berücksichtigt werden.
Volladdierer ist in der Lage, die Summe A+B(modulo2) einschließlich Übertrag
zu bilden, aber nur für Operanden mit 1 Bit Wortlänge.
=
∑
L
=
∑
L
Wie sind Rechenwerke beschaffen, die mehr stellige Maschinenworte verarbeiten ?
191
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Operanden A und B liegen vor in
• reiner Binärcode: 1100001, 1;
• 8-4-2-1-Code: 1001 0111, 0101;
• Exzeß-Code: 1100 1010, 1000;
• AIKEN-Code: 1111 1101, 1011
dann kann man bitserielles Rechenwerk mit nur einem einzigen VA aufbauen
Neben VA werden noch drei Schieberegister (A-, B- und C-Register) sowie ein
Speicher für den jeweiligen Übertrag (Ü-Speicher) benötigt.
Rechenwerk
• Durchführung elementarer arithmetischer und logischer Operationen und
verfügt über mehrere Register.
• Register werden durch Adressen ausgewählt und nehmen die Operanden
(Variablen oder Konstanten) auf, die miteinander verknüpft werden sollen.
• Steuerbares Schaltnetz/Rechenwerk/ALU kann jeweils 2 Registerinhalte
miteinander verknüpfen und das Ergebnis auf den Registerblock zurückschieben.
=
∑
L
192
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Addierer: logische Schaltungen, die Dualzahlen addieren ⇒ einfachste Form,
HA, zählt zwei einstellige Dualzahlen zusammen
e2
S
C
e1
0
0
1
1
0
1
0
1
00
01
01
00
1
Sind e1 und e2 gleich eins entsteht Übertrag in die nächst höhere Stelle,
weshalb HA zwei Ausgänge benötigt
Boolesche Funktion:
S = e1 ⊕ e2
C = e1 ∧ e2
=
∑
L
=
∑
L
⊕: = Antivalenz ⇒ XOR = e1 ⊕ e2 ; besteht aus 2 UND und 1 ODER Grundgatter, jeweils 1 Eingang des
UND Gatters ist invertiert
193
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
e1
e2
Halbaddierer
=
∑
L
S
C
=
∑
L
Halbaddierer
194
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
VA: bildet Summe S und Übertrag C
Si = e1i ⊕ e2i ⊕ Ci-1
Ci = (e1i ∧ e2i) ∨ (Ci-1 ∧ (e1i ⊕ e2i))
⊕: = Antivalenz ⇒ XOR = e1 ⊕ e2 ; besteht aus 2 UND und 1 ODER
Grundgatter, jeweils 1 Eingang des UND Gatters ist invertiert
VA: besteht aus 2 HA
HA: besteht aus je einem UND und einem ODER Grundgatter
=
∑
L
=
∑
L
VA: besteht aus 2 UND und 3 ODER Grundgattern
HA und VA können durch Wertetabelle beschrieben werden
195
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
196
e1i e2i Ci-1
Ci
Si
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
=
∑
L
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
=
∑
L
=
∑
L
Volladdierer
197
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
=
∑
L
=
∑
L
e1
e2
Ci-1
Volladdierer
=
∑
L
Si
Ci
=
∑
L
Volladdierer
198
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Blockschaltbild zur Erhöhung der Übersichtlichkeit; enthält
• Eingänge,
• Ausgänge,
• Funktion(en).
Nur Funktionalität bekannt, nicht aber Struktur ⇒ Black Box
=
∑
L
=
∑
L
Blockmodule lassen sich einfach kombinieren.
199
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
=
∑
L
=
∑
L
Paralleladdierer
Schaltung repräsentiert Paralleladdierer, kann als Einheit aufgefasst und einzelnes
Schaltelement dargestellt werden.
200
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
=
∑
L
=
∑
L
Blockschaltbild 4-bit Paralleladdierer
Ein- und Ausgänge bei 0 beginnend bis n-1 nummeriert. Summe S = B1 + B2, wobei B1
und B2 mit Binärzahl 1 und Binärzahl 2 aus vorheriger Abbildung übereinstimmen,
exemplarische Wortbreite n = 4.
201
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Hardwarerealisierung der arithmetischen Grundoperation Addition wird im
Rechenwerk mit Festkomma-Arithmetik z.B. durch Ripple-Carry Array-Addierer
(Lehrbuch Kap. 4.4) ermöglicht. Komponenten dieser Rechenarithmetik,
berechnen die Summe der n-Bit-Zahlen xn-1,...x0 und yn-1, ...y0, sind Addierer.
Addierer addiert die eingangsseitig anliegenden Zahlen xi und yi und erzeugt
die Summe si und den Übertrag ci als Ausgang:
und
si = (xi + yi)mod2
ci =  (xiyi)/2 
mit  und  als Ebenen-Funktion. Die logischen Gleichungen dieser
Rechenarithmetik lauten
und
si = xiyi. + xiyi. = xi ⊕ yi
ci+1 = xiyi.
202
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
=
∑
L
=
∑
L
=
∑
L
=
∑
L
Ripple Carry Addierer, aufgebaut aus n VA
203
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Meist besitzt Rechenwerk einen Shifter (Schiebeeinrichtung) mit der Datenbits
um eine Stelle nach links oder rechts verschoben werden können.
Shifter besonders nützlich, wenn zwei binäre Zahlen multipliziert oder dividiert
werden sollen, und die ALU nur addieren kann.
Status-Register dient zur Anzeige besonderer Ergebnisse, die das Leitwerk
auswertet, um z. B. bedingte Verzweigungen in Steueralgorithmen für
Makrobefehle auszuführen.
Die einzelnen Bits des Status-Registers bezeichnet man als Flags. Das StatusRegister kann wie ein normales Daten-Register gelesen und beschrieben
werden.
=
∑
L
204
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Sind im Rechenwerk adressierbare Daten-Register vorhanden, spricht man von
einer Registerarchitektur. Die Daten-Register bilden einen Registerblock oder
ein Register-File (wenn sehr viele Register vorhanden sind, wie z. B. bei RISCProzessoren).
Bei den Registerarchitekturen – sie bilden die überwiegende Basis heutiger
Prozessoren, Stackarchitekturen werden selten benutzt – unterscheidet man
Ein,- Zwei- und Dreiadress-Maschinen. Der Adresstyp wird von der Zahl der
internen Daten- und Adressbusse bestimmt, die den Registerblock mit der ALU
verbinden. Je mehr Daten-Register angewählt werden können, umso weniger
Taktzyklen werden zur Ausführung eines Maschinenbefehls benötigt.
=
∑
L
205
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel 1.27
Rechenwerk Einadress-Maschine, d.h. arithmetisch-logische Einheit und zugehöriges Registerfeld, wird nur mit internen, in der Regel bidirektionalen,
Datenbus verbunden. Abarbeitung eines Maschinenbefehls mit EinadressMaschine erfordert 3 Takte (Taktzyklen). Zunächst werden die beiden Operanden in die Latch-Register geschrieben. Da immer nur ein Operand pro Takt aus
dem Registerfeld gelesen werden kann, benötigt man für beide Operanden 2
Taktzyklen. Im dritten Taktzyklus wird das Ergebnis der Verknüpfung vom Ausgang der ALU in das Registerfile geschrieben.
=
∑
L
=
∑
L
Rechenwerk einer Einadress-Maschine
206
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Bei der Einadress-Maschine ist in der Befehlscodierung bereits implizit
festgelegt, welches Register als Quelle bzw. als Ziel der Operation
genutzt wird. Vorteilhaft bei der Einadress-Maschine ist die teilweise
mögliche implizite Operandenangabe und ihre einfache Architektur,
nachteilig ist hierbei jedoch das erforderliche zentrale Register,
welches stark frequentiert wird und damit ggf. einen Engpass für die
Zwischenspeicherung darstellt.
=
∑
L
207
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel 1.28
Dreiadress-Befehl SUB R1, R2, R3 soll auf einer Einadress-Maschine
ausgeführt werden
Bei Zweiadress-Maschine kann der gleiche Befehl in zwei Taktzyklen
ausgeführt werden da die Register A und B gleichzeitig geladen werden.
Zweiadress-Maschinen können als Register-Speicher-Architekturen
realisiert sein, bei der sowohl das Register als auch die Speicheradresse
explizit angegeben werden.
Vorteilhafterweise können bei Zweiadress-Maschine Daten ohne Ladezugriff für Operationen genutzt werden, was den Nachteil hat, dass
Ladezugriffe im Speicherbereich mehr Zeit benötigen, was ggf. zu einer
Verzögerung gegenüber Registerzugriff führt.
=
∑
L
208
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel 1.28
Taktzyklus
Operation
1
2
3
209
R1→ A
=
∑
L
R2 → B
=
∑
L
F → R3
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel 1.29
Auf einer Dreiadress-Maschine kann ein Dreiadress-Befehl in einem Taktzyklus
ausgeführt werden, da sowohl für die Operanden als auch für das Ergebnis ein
eigener Datenbus bereitsteht, der separat adressiert werden kann, wie dargestellt ■.
=
∑
L
=
∑
L
Abb. 4.7. Rechenwerk Dreiadress-Maschine z.B. beim RISC Prozessor
210
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Maschinenbefehlssatz
enthält Befehle unterschiedlichen Formats, dargestellt als Ein-, Zwei- oder
Dreiadress-Befehle. Befehle werden in Felder aufgeteilt, wobei folgender
Zusammenhang besteht:
Je mehr Adressfeldern Befehl enthält, desto kleiner ist, bei fester Befehlslänge,
die Anzahl der Registerzellen die adressiert werden können, bzw. um so
weniger Befehle können im Operationsfeld des Befehlsformats, dem
Operationscode, definiert werden.
Für die Registerzellen eines 32 Bit Prozessors sei folgendes Befehlsformat
angenommen:
=
∑
L
=
∑
L
31 - 26 26 - 22 21 - 17 16 - 12 12 11 10 - 0
OP
R3
R2
R1
C x Adresse/Wert
OP:
Ri :
C/X:
Adresse/Wert:
211
Operationscode bzw. Befehlscode für eine Operation
spezielle Register
Modifikationsteil, setze/setze nicht Bedingungscode
Adresse bzw. den Wert des Operanden
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Um ohne Adressfelder im Maschinencode auszukommen müssen sich Befehle indirekt
auf spezielle Register beziehen. Prozessor mit diesem Maschinenbefehlsformat wird
Null-Adress-Maschine bzw. Stack Maschine (Stack = Stapel) bezeichnet.
Stack Maschine speichert Quelloperanden und Zieloperanden auf dem Stack, dort wird
wieder auf sie wieder zugegriffen. Zugriff kann implizit erfolgen, beispielsweise in einer
festgelegten Reihenfolge.
Vorteil Stack Maschine besteht darin, dass keine explizite Angabe von Operanden
erforderlich ist, was in einer minimalen OP-Codelänge für die Arithmetikbefehle resultiert.
Nachteil Stack Maschine liegt begründet in den erforderlichen umfangreichen
Austauschoperationen vom und zum Stack, was ggf. in wachsender Codegröße
resultieren kann
=
∑
L
=
∑
L
Operationscode, in Kurzform OP-Code, gibt an, welche Operation ausgeführt
werden soll. Normalerweise belegt ein Maschinenbefehl genau ein Speicherwort,
dann ist Kennung C/X gleich 0. Umfasst ein Befehl 2 Worte ist Kennung C/X für
einen Doppelwortbefehl gesetzt. Adresse kennzeichnet Speicherplatz, wo der
Wert des Operanden zu finden ist
212
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Tabelle 4.1. Operationscode und seine unterschiedlichen Darstellungsformen
Bedeutung der Operation
Mnemotechnische
Bezeichnung
OP Code
Dual
Hexadez.
0000
0
Halt, Ende der Programmabarbeitung
HLT
0001
1
Lader Operand in den Akkumulator
LAD
0010
2
Speichere Inhalt des Akkumulators nach der angegebenen
Adresse
SPI
0011
3
Addiere Operand zum Akkumulator
ADD
0100
4
Subtrahiere Operand vom Akkumulator
SUB
0101
5
Multipliziere Operand mit Akkumulator
MUL
=
∑
L
=
∑
L
0110
6
Dividiere Akkumulator durch Operanden
DIV
0111
7
Unbedingter Sprung
JMP
1000
8
Sprung, wenn der Inhalt des Akkumulators gleich Null ist
JEZ
1001
9
Sprung, wenn der Inhalt des Akkumulators größer oder
gleich Null ist
JGZ
1010
A
Sprung, wenn der Inhalt des Akkumulators kleiner Null ist
JLZ
213
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel 1.31
Subtraktionsbefehl
SUB r5,r9,r21
Zugehöriger Binärcode lautet: 00100 10101 01001 00101 100001010001
Bei Befehlsausführung des Befehls wird Inhalt des Quellregisters r5 (Operand)
vom Inhalt des Quellregisters r9 (Akkumulator) subtrahiert und in das
Zielregister r21 geschrieben.
Beispiel 1.32
CALL-Befehl
CALL (r17), (r5, r6)
Zugehöriger Binärcode lautet: 10001 10001 00110 00101 1xxxxxxxxxxx
Bei Befehlsausführung wird Inhalt des Befehlszählers in das Register geladen,
auf die der Stackpointer (r17) zeigt, dies ist das Register R1. Der Inhalt des
Indexregisters r6 (entspricht Register R2) wird zu dem des Basisregisters r5
(entspricht dem Register R3) addiert, woraus die Adresse des Befehls resultiert,
die dann in den Befehlszähler geladen wird.
=
∑
L
214
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Auf die Schicht der Maschinensprache folgt Betriebssystem Schicht
→ bewirkt wesentlichen Sprung in der Komplexität der virtuellen
Maschine
→ neben der Implementierung wichtiger Funktionen, zur Kontrolle der
Hardware, vor allem Verwaltung der Ressourcen eines Rechners,
(Prozessoren, Speicher, periphere Geräte etc.) Aufgabe des
Betriebssystems.
Betriebssystem selbst ist spezielles Programmsystem, welches ganz oder
teilweise in einem separaten Teil des Arbeitsspeichers gehalten
Wird ⇒ im Prinzip eine Art Interface zwischen dem Anwender bzw. seinem
Anwendungsprogramm sowie der Rechner-Hardware. Dazu umfasst es eine
Vielzahl von Programmen, die System-Software.
215
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
ƒ Bereitstellung und Verwaltung eines File-Systems welches es Benutzer
ermöglicht, umfangreiche Programme oder Daten auf Sekundärspeichern
zu halten,
ƒ Überwachung und Verwaltung der Hardware- und Software Betriebsmittel.
ƒ Bearbeitung aller Anwendungsprogramme, insbesondere deren überlappende Ausführungsreihenfolge,
ƒ Überwachung der Prozessor Auslastung sowie deren Optimierung,
ƒ Behandlung von Hard- und Softwarefehlern sowie Datensicherung bei
Systemfehlern, Steuerung interner Diagnoseläufe,
ƒ Kommunikation mit dem Anwender vermittels Editor, Compiler, Assembler,
Linker, Lader, Debugger, etc,
ƒ Mehrprozessor-Systeme und verteilte Betriebssysteme.
216
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Eine heute weit verbreitete Organisationsform des Betriebssystems ist diejenige, im Speicher einen Betriebssystem-Kern, einen Kernel, zu halten, der die
wichtigsten auszuführenden Funktionen bzw. Operationen bereitstellt, aus
denen, bei Bedarf, weitere abgeleitet werden können.
Derartige Betriebssystem-Kerne sind in der Regel als Ansammlung
nebenläufiger Prozesse realisiert, wobei unter einem Prozess ein Programm
oder eine Menge von Programmen verstanden wird, die bei Verfügbarkeit des
Prozessors ausgeführt werden können.
217
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Schicht Assemblersprachen repräsentiert maschinennahe Sprachen
Anweisung in Assemblersprache entspricht Maschinen-Instruktion, d.h.
Anweisung kann direkt von der Maschine ausgeführt werden.
Assembleranweisungen nicht in Maschinensprache angegeben, d.h. in
Sprache, in der die Anweisungen durch entsprechende Bitfolgen repräsentiert
werden, sondern in Form mnemotechnischer Symbole, einer für den
Anwender besser lesbaren Form. Übersetzung Assemblerprogramm in
Maschinenprogramm durch Assemblieren. Während des Assemblierens führt
Assembler u. a. folgende Aufgaben aus:
a Syntaxüberprüfung des Assemblerprogramms,
a Ausführung der im Programm enthaltenen Pseudo-Befehle,
a Übersetzen der Assembler-Anweisungen in Maschinensprache-Anweisungen
(Maschinenprogramm),
a Umwandeln der symbolischen Adressen (Marken, Variablen, Bezeichner) in
numerische Adressen.
218
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
a Befehlsvorrat Assemblersprachen im wesentlichen von Prozessorarchitektur
abhängig. Neben Befehlsvorrat unterscheiden sich auch die mnemotechnischen Symbole in den unterschiedlichen Assemblersprachen.
a Durch Assemblersprachen definierte virtuelle Maschine vorhanden mit der
Möglichkeit, Maschinenprogramme für beliebiges Prozessorsystem mit peripheren Netzwerkfunktionen schreiben zu können; Assembler gleicht vorhandene Schwierigkeiten im Umgang mit relativ einfachen Maschinensprache
aus. Virtuelle Maschine (Programm) bildet Sprachelemente der symbolischen
Assemblersprache auf die entsprechenden Maschinenbefehle und System
Calls ab, wodurch aus Quellcode (Source Code) ein ausführbares Maschinenprogramm gewonnen wird. An dieser Stelle kann auf Anwendungsprogramme aufgesetzt werden.
219
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
a Erweiterung der Assembler Schicht ist die Schicht der höheren
Programmiersprachen, die ein in seiner Funktionalität festgelegtes Übersetzungsprogramm (Compiler), geschrieben in Assembler, definiert, womit
eine virtuelle Maschine vorhanden ist, welche die jeweilige Programmiersprache unterstützt, z.B. PASCAL, MODULA-2, ADA, C, C++, etc. Diese
Schicht ist Basis für den Einstieg in den anwendungsbezogenen Entwurf.
a Die nächste Schicht umfasst entweder spezielle Werkzeuge für Computer
Aided Software Engineering (CASE) oder die Anwendungsprogramme.
220
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Beispiel
Leistungsunterschied bzw. Programmieraufwand zwischen höherer
Programmiersprache und Assemblersprache soll vergleichend betrachtet
werden. Dazu sei folgender Befehl in einer höheren Programmiersprache
angegeben:
IF (A-B) GREATER THAN 0 THEN C=D ELSE C=2*A+D
Um diesen Befehl in einer niedrigeren Programmiersprache zu erzeugen, ist
eine Routine mit einigen Zeilen Quellcode erforderlich.
221
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Assemblerprogramm könnte lauten, vorausgesetzt ist dabei dass zwei
Akkumulatoren A und B verfügbar sind :
Byteanzahl
1
CBA
(Vergleiche Akkumulatoren A, B)
2
BLE ALTB
(Verzweige, wenn (A-B) ≤0 ist)
2
AGTB LDA A MEMD
(Hole D aus dem Speicher nach A)
2
BRA NEXT
( Gehe zur nächsten Instruktion)
2
ALTB ASL A
(A = 2*A)
2
ADD B MEMD
(Addiere D zu 2*A)
1
next sta a memc (speichere Ergebnis in C)
222
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.2.7 Grundstruktur von Rechenwerken
Der von dieser in Assemblersprache geschriebenen Routine benötigte
Speicherplatz kann direkt, d.h. durch Abzählen der Byteanzahl, ermittelt
werden, wobei
• 1 Byte für jeden OP Code,
• 1 bzw. 2 Byte für jeden Operanden erforderlich sind.
Für die in Assembler geschriebene Routine sind bei einem direktem Adressierverfahren 12 Byte erforderlich und 15 Byte bei vollständiger Adressierung.
Im Vergleich zum Assembler ist der Speicherplatz beim Einsatz einer höheren
Programmiersprachen nicht so einfach zu berechnen, weil die Übersetzung
indirekt erfolgt.■
223
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.Grundbegriffe der Informationsverarbeitung
1.1 Information
1.1.1 Repräsentation
1.1.2 Kommunikation
1.1.2 Systembegriff
1.2 Zahlensysteme
1.3 Codierung
224
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
1.3 Codierung
1.3.1 Grundlagen der Codierung
1.3.2 Lineare Codes
1.3.3 Zyklische Codes
225
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3.1 Grundlagen der Codierung
Grundlagen der Codierung
Codierung ⇒ Abbildung von einer Zeichensprache auf eine andere.
Begriff Codierung dergestalt benutzt, dass einzelne Zeichen des Quellalphabets auf Zeichenfolgen des Zielalphabets abgebildet werden
(z.B. ß und Beta, 1 und Eins, etc.). So erhaltene Zeichenfolge heißt
Wort. Menge aller Wörter der Zielsprache, die durch diese Abbildung
getroffen werden, nennt man Code.
Code repräsentiert Zuordnungsvorschrift für Zuordnung der einzelnen Zeichen, Zeichen
z1 eines Zeichenvorrats Z1, der zur Darstellung von Information dient, zu den Zeichen z2
eines Zeichenvorrats Z2 mit dem dieselben Informationen dargestellt werden können.
=
∑
L
=
∑
L
Nach DIN 44300 ist der Begriff Code wie folgt definiert:
Ein Code ist eine Vorschrift für die eindeutige Zuordnung der Zeichen
eines Zeichenvorrates zu denjenigen eines anderen Zeichenvorrates.
226
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Beispiel:
Zeichenvorrat Z1 bestehe aus Zeichen A, B, C, D; Z2 umfasst Zeichen 0 und 1. Zwischen
Z1 und Z2 sei folgende Zuordnungsvorschrift festlegbar.
Z1
Z2
-------------------A
00
B
01
C
10
D
11
d.h. alle Informationen die mit den Zeichen A, B, C, D wiedergegeben werden können,
kann man auch durch 0 und 1 darstellen und vice versa
=
∑
L
=
∑
L
Im Prinzip können Zeichenvorräte Z1 und Z2 von beliebigem (endlichen) Umfang sein
227
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Abhängig davon, ob Wortlänge des Codes für alle Wörter gleich ist oder
nicht, spricht man von Codes mit fester oder variabler Wortlänge.
Codes mit variabler Wortlänge haben den Vorteil, dass Zeichen, die öfter
vorkommen, auf kürzere Wörter abgebildet werden können als solche, die
weniger oft vorkommen, wodurch die übertragene Datenmenge reduziert
werden kann.
=
∑
L
228
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Beispiel:
Code mit variabler Wortlänge ist der Morse-Code. Das Alphabet des Morse-Codes
umfasst die drei Zeichen . - Pause. Das Pausenzeichen wird verwendet, um einen
verschlüsselten Text eindeutig decodieren zu können.
Wurzel
.
E
.
I
.
A
-
.
U
-
H
W
V
R
.
L
W
.
-
P
N
-
.
=
∑
L
S
T
.
-
.
-
-
J
M
.
-
=
∑
L
D
.
-
B
K
.
X
.
-
C
G
Y
-
Z
O
Q
Abb.1.5. Codebaum des Morsealphabetes
229
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Im Codebaum lässt sich jedes codierte Wort finden, von der Wurzel ausgehend zum zu codierenden Buchstaben fortschreitend werden die auf
diesem Weg liegenden Punkte und Striche notiert.
Beispiel:
Verschlüsselung der Buchstabenfolge SOS:
...
---
...
Wurzel
.
E
.
.
S
.
U
-
H
230
W
V
R
.
L
.
-
P
N
-
.
W
J
-
=
∑
L
A
.
-
T
.
=
∑
L
I
-
D
.
-
B
X
Rechnerstrukturen Teil 1
.
K
.
Y
-
G
.
-
C
M
-
Z
O
Q
Prof. Dr. Möller
1.3 Codierung
Ziel des Morse-Codes:
Häufig auftretende Buchstaben durch möglichst kurze Punkt-Strich-Folgen
verschlüsseln.
Beachte: Übertragung eines Striches dauert etwa dreimal solange wie
Übertragung eines Punktes.
Im Morse-Code sind Zeichen des einen Zeichenvorrats, die Buchstaben
des Alphabetes, und die Zeichen des anderen Zeichenvorrates, die
entsprechenden Punkt-Strich-Kombinationen. Diese Form der Codierung
ist direkt umkehrbar. Ebenso direkt umkehrbar ist die Codierung der
Dezimalzahlen durch Dualzahlen.
=
∑
L
231
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Zur Codierung werden Zeichen eingesetzt. Zeichen ist ein Element aus
einer vereinbarten endlichen Menge von Elementen, die Menge wird
Zeichenvorrat bzw. Alphabet genannt. In der Informatik repräsentiert ein
Alphabet nicht nur die Menge der in der jeweiligen Schriftart verwendeten
Buchstaben, sondern jeden geordneten, zur Informationsdarstellung
geeigneten Zeichenvorrat, weshalb zusammenfassend gilt:
• zur Übertragung von Information bedient man sich einer Sprache
• jede Sprache hat bestimmte Regeln, nach denen eine Information
aufgebaut sein muss
• diese Regeln werden mit Grammatik = Syntax bezeichnet
• eine in einer Sprache vorliegende Information ist (meist) aus Zeichen
zusammengesetzt
• die Menge aller unterschiedlichen Zeichen einer Sprache heißt
Alphabet
=
∑
L
232
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Beispiele für Zeichen, aus denen sich die Menge aller unterschiedlichen
Zeichen einer Sprache bilden lassen, sind
• Buchstaben,
• Interpunktionszeichen,
• mathematische Zeichen,
• Ziffern,
• etc.
Ziffer ist die Bezeichnung (Name, Symbol) einer Zahl, während Zahl selbst
ein mengentheoretischer Begriff ist.
Jede Zahl ist Abstraktion (Abstraktionsklasse) gleich mächtiger Mengen;
demgegenüber ist Ziffer lediglich ihre Benennung.
Unter semiotischen Gesichtspunkten ist Ziffer ein sprachliches Zeichen,
das einer Menge von Zeichen angehört.
Kardinalzahl dieser Menge unterschiedlicher Zeichen ist die sog. Basis der
mit diesen Ziffern durchzuführenden Zahlendarstellung (Semiotik).
=
∑
L
233
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Enthält Menge lediglich zwei unterschiedliche Ziffern, 0 und 1, liegt das
duale Zahlensystem bzw. das binäre Alphabet (binär = zweiwertig)
vor, mit den Zeichen 0,1.
Bei 10 unterschiedlichen Ziffern (0,1,2,3,4,5,6,7,8,9) liegt das denäre
Alphabet (denär = zehnwertig) vor, mit den Zeichen 0,1,...,8,9.
Weitere Alphabete sind das alphabetische Alphabet mit den Zeichen
A,B,...Y,Z, Ä,Ö,Ü, a,b,...,y,z,ä,ö,ü und das alphanumerische Alphabet mit
den Zeichen A,B,...,Y,Z und 0,1,...,8,9.
=
∑
L
234
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Sei N Umfang des Zeichenvorrates X und die Menge der Informationselemente N = 2n, dann ist die binäre Informationsmenge BI = ldN (Bit).
Beispiel
Alphabetische Alphabet enthält 26 verschiedene Informationselemente: N = 26.
Die binäre Informationsmenge BI ist BI = ld N = ld 26 = 4,7 Bit ≈ 5 Bit.
Fünfstelliges Codewort gestattet Darstellung von 25 = 32 Informationselementen,
wovon aber nur 26 für das lateinische Alphabet ausgenutzt werden. Der Überschuss von 6 nicht benötigten Zeichenkombinationen ist die Redundanz, hier als
unvermeidliche Redundanz bezeichnet, da 4 Bit = 16 Informationselemente nicht
ausreichend sind, 5 Bit aber zu viele Zeichenkombinationen ergeben. Redundanz
des lateinischen Alphabetes beträgt R = 5 Bit - ld 26 = 5 - 4,7 = 0,3 Bit.
=
∑
L
235
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Die mit Zeichen aufgebauten Zeichenverbände sind nach bestimmten
Regeln (Grammatik = Syntax) aufgebaut. Die Zeichenverbände selbst
werden als Wörter bezeichnet. Wort bedeutet eine Folge von Zeichen, die
einen bestimmten Zusammenhang (Syntax), eine Einheit, bilden. Damit
entspricht das Wort 001001 der Zahl 9 im Dualsystem. Den Teil eines
Wortes, der einen Unterverband darstellt, nennt man Silbe.
Beispiel 1.30.
BAHN HOF
1.Silbe 2.Silbe
=
∑
L
=
∑
L
10 00100 = Ziffer 2 im Biquinärcode
1. Silbe (Binärteil)
2. Silbe (Quinärteil)
236
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
BCD-Code
Binär-dezimaler Code entspricht Code bei dem die zehn Dezimalziffern 0
bis 9 durch Kombinationen von Binärstellen (Bits) codiert werden ⇒ BCD:
Binär Codierte Dezimalziffern
Bei binär-dezimaler Codierung entspricht jedem binären Element eine definierte Informationsmenge, deren Einheit 1 Bit ist (1 Bit = Kurzbezeichnung der Informationsmenge einer
Binärstelle).
0000 = 0 = 4 Bit = 4 Binärstellen = 1 Wort
0001 = 1 = 4 Bit = 4 Binärstellen = 1 Wort
0010 = 2 = 4 Bit = 4 Binärstellen = 1 Wort
…..
1001 = 9 = 4 Bit = 4 Binärstellen = 1 Wort
1010 = - = 4 Bit = 4 Binärstellen = 1 Wort
…..
Pseudotetraden
1111 = - = 4 Bit = 4 Binärstellen = 1 Wort
=
∑
L
=
∑
L
Zustände 0,1 einer Binärstelle lassen sich durch die Informationselemente i1 und i2 darstellen; 2 Binärstellen (Bits) ermöglichen durch Kombination die Darstellung von 4 Informationselementen i1, ..., i4. Durch
n-stelliges Codewort sind 2n Informationselemente darstellbar.
237
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
• Ein Code ist die (zumeist) umkehrbare eindeutige Zuordnung der Menge M1
der darzustellenden Informationselemente zu der Menge M2 von Zeichenkombinationen (Codeworte).
• Haben alle Codeworte die mittlere Wortlänge L, dann handelt es sich um einen
gleichmäßigen Code und die Menge der möglichen Zeichenkombinationen
(Umfang des Zeichenvorrates) wird N = 2n.
• Werden alle 2n Codeworte verwendet, d.h. ist M1 = M2, dann spricht man von
einem vollständigen Code oder einem Code ohne Redundanz.
=
∑
L
238
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Gray-Code
Gray Code dadurch gekennzeichnet, dass sich Codierung zweier benachbarter Ziffern nur in einem Bit unterscheidet. Code mit dieser Eigenschaft
wird einschrittiger Code genannt
0000 = 0 = 4 Bit = 4 Binärstellen = 1 Wort
0001 = 1 = 4 Bit = 4 Binärstellen = 1 Wort
0011 = 2 = 4 Bit = 4 Binärstellen = 1 Wort
0010 = 3 = 4 Bit = 4 Binärstellen = 1 Wort
0110 = 4 = 4 Bit = 4 Binärstellen = 1 Wort
0111 = 5 = 4 Bit = 4 Binärstellen = 1 Wort
0101 = 6 = 4 Bit = 4 Binärstellen = 1 Wort
0100 = 7 = 4 Bit = 4 Binärstellen = 1 Wort
1100 = 8 = 4 Bit = 4 Binärstellen = 1 Wort
1101 = 9 = 4 Bit = 4 Binärstellen = 1 Wort
=
∑
L
239
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Codierung alphanumerischer Zeichen (ASCII-Code)
ASCII-Code (American Standard Code for Information Interchange) setzt 7
Bits zur Informationsdarstellung ein
• 1 Zeichen pro Byte, wobei das erste Bit das Paritätsbit (Prüfbit)1) bildet
• druckbare Zeichen ("A","0",",",...)
• Formatsteuerzeichen (CR,LF,HT,VT,...)
• Übertragungssteuerzeichen
1) Prüfbit, zusätzliche Bitstelle, so gesetzt, dass jedes Codewort eine gerade Anzahl von Einsen
enthält (fehlertolerante Codes)
240
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
ASCII-Code
241
b7
0
0
0
0
1
1
1
1
b6
0
0
1
1
0
0
1
1
b5
0
1
0
1
0
1
0
1
b4
b3
b2
b1
Dez
0
1
2
3
4
5
6
7
0
0
0
0
0
NUL
DLE
SP
0
@
P
¯
p
0
0
0
1
1
SOH
DC1
!
1
A
Q
a
q
0
0
1
0
2
STX
DC2
„
2
B
R
b
r
0
0
1
1
3
ETX
DC3
#
3
C
S
c
s
0
1
0
0
4
EOT
DC4
$
4
D
T
d
t
0
1
0
1
5
ENQ
NAK
%
5
E
U
e
u
0
1
1
0
6
ACK
SYN
&
6
F
V
f
v
0
1
1
1
7
BEL
ETB
´
7
G
W
g
w
1
0
0
0
8
BS
CAN
(
8
H
X
h
x
1
0
0
1
9
HT
EM
)
9
I
Y
i
y
1
0
1
0
10
LF
SUB
*
:
J
Z
j
z
1
0
1
1
11
VT
ESC
+
;
K
[
k
{
1
1
0
0
12
FF
FS
,
<
L
\
l
|
1
1
0
1
13
CR
GS
-
=
M
]
m
}
1
1
1
0
14
SQ
RS
.
>
N
^
n
-
1
1
1
1
15
SI
US
/
?
O
_
o
DEL
Rechnerstrukturen Teil 1
Prof. Dr. Möller
1.3 Codierung
Bezüglich der Codearten wird unterschieden zwischen
• Blockcode der Länge n
• Codeworte haben die Länge n
• Bei der Übertragung sind keine Trennzeichen erforderlich
•
Codes variabler Länge
• Codeworte haben eine variable Länge
• Bei der Übertragung sind Trennzeichen erforderlich
• Möglichkeit der Minimierung der mittleren Codewortlänge
Für die für Rechnerstrukturen wichtigen Codes sind folgende
Eigenschaften von Bedeutung:
• Code ist Minimalcode in dem alle N = 2n Codeworte verwendet werden
• Code ist einschrittiger Code, wenn aufeinanderfolgende Codeworte
sich nur in einer Stelle unterscheiden, beispielsweise beim Gray-Code
• Code repräsentiert komplementären Code, wenn zu jedem Codewort c
ein Codewort /c existiert, dass ebenfalls Bestandteil des Codes ist.
=
∑
L
242
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2. Rechnerarithmetiken
2.1 Operationen mit Zahlen
2.2 Ganzzahl-Arithmetik
2.3 Gleitkomma-Arithmetik
2.4 Hardware für Rechnerarithmetik
243
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1 Operationen mit Zahlen
2.1 Operationen mit Zahlen
2.2 Ganzzahl-Arithmetik
2.3 Gleitkomma-Arithmetik
2.4 Hardware für Rechnerarithmetik
244
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1 Operationen mit Zahlen
2.1 Operationen mit Zahlen
2.1.1 Dualarithmetik
2.1.2 Addition
2.1.3 Subtraktion
2.1.4 Multiplikation
2.1.5 Division
245
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.1 Dualarithmetik
Für das Verarbeiten von Zahlen in Rechenmaschinen ist die Kenntnis
der arithmetischen Operationen wichtig.
Digitalrechner arbeit fast ausnahmslos mit Dualzahlen, weshalb die
maschinelle Verarbeitung von Dualzahlen und die Dualarithmetik von
Bedeutung sind
246
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.2 Addition
2.1 Operationen mit Zahlen
2.1.1 Dualarithmetik
2.1.2 Addition
2.1.3 Subtraktion
2.1.4 Multiplikation
2.1.5 Division
247
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.2 Addition
Addition von Dualzahlen analog zur Addition von Dezimalzahlen
Es ist zu beachten, dass Übertrag zu einer höheren Stelle bereits bei
1+1=10
auftritt
248
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.3 Subtraktion
2.1 Operationen mit Zahlen
2.1.1 Dualarithmetik
2.1.2 Addition
2.1.3 Subtraktion
2.1.4 Multiplikation
2.1.5 Division
249
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.3 Subtraktion
Subtraktion von Dualzahlen über Addition des Komplements
ausgeführt.
Man erhält Differenz D, indem zum Minuenden M zunächst das
Komplement K = Bn - S des Subtrahenden S zu Bn addiert und
anschließend Bn wieder subtrahiert, mit n als maximaler Stellenzahl
links des Komma
D = M – S = M + (Bn - S) - Bn = M + K - Bn
Komplement K des Subtrahenden S zu Bn erhält man dadurch, dass man für den
Subtrahenden stellenweise die Ergänzung zur höchsten Ziffer (B-1) des verwendeten
Zahlensystems bildet und zu diesem Ergebnis eine 1 in der niedrigsten Stelle m addiert
250
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.3 Subtraktion
Beispiel:
Sei x=179 und y=109, dann wird für die Differenz x - y
x: 10110011 = 179
-y: -01101101 = 109 ⇒
-0110 1101 Einerkomplement→
x: 10110011
+1001 0010
⇒K1(y):+10010010
mit dem Zwischenresultat 1 01000101.
Der Übertrag des MSB wird zur niedrigsten Stelle, dem LSB, hinzuaddiert
01000101
1.
⇒
01000110
⇒
dezimal +70.
251
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.4 Multiplikation
2.1 Operationen mit Zahlen
2.1.1 Dualarithmetik
2.1.2 Addition
2.1.3 Subtraktion
2.1.4 Multiplikation
2.1.5 Division
252
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.4 Multiplikation
Bei Multiplikation von Dualzahlen wird für jede 1 im Multiplikator der
Multiplikant angesetzt und um so viele Stellen verschoben, wie der
Exponent der Multiplikatorstelle angibt.
Beispiel: 217*35=7595
217dez = 11011001dual
35dez = 100011dual
11011001 * 100011
11011001
11011001
11011001
1110110101011dual = 7595dez
253
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.5 Division
2.1 Operationen mit Zahlen
2.1.1 Dualarithmetik
2.1.2 Addition
2.1.3 Subtraktion
2.1.4 Multiplikation
2.1.5 Division
254
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.5 Division
Division von Dualzahlen über fortlaufende Subtraktion ausgeführt.
Fortlaufende Division im Digitalrechner über Addition des Komplements
ausgeführt, wobei das Komplement des Divisors zur nächsthöheren
Basispotenz gebildet wird.
Ergibt Addition des Komplements keinen Übertrag ist entsprechendes
Teilergebnis 0; es muss danach mit dem alten Minuenden und der
nächsten Stelle des Dividenden weitergerechnet werden.
255
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.1.5 Division
Beispiel: 667/29=23
667dez = 1010011001dual
29dez = 11101dual
Komplementbildung des Divisors zur nächsthöheren Basispotenz:
100000-11101=11111-11101+1=00010+1=00011
Damit ergibt sich weiter:
1010011001/11101=010111dual = 23 dez
00011
010111
101001
00011
1011001
00011
011100
110010
00011
1101011
00011
1011101
00011
100000
256
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.2 Ganzzahl-Arithmetik
2.1 Operationen mit Zahlen
2.2 Ganzzahl-Arithmetik
2.3 Gleitkomma-Arithmetik
2.4 Hardware für Rechnerarithmetik
257
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.2 Ganzzahl Arithmetik
Ganzzahlen/Festkommazahlen:
Festkommadarstellung der Länge (n,m) zur Basis b hat die allgemeine Form
z = (zn-1...z0, z-1 ...z-m)b
Ihr Wert ergibt sich demnach zu
wert ( z ) =
n −1
i
z
⋅
b
∑í
i =− m
258
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.2 Ganzzahl Arithmetik
Beispiel:
Sei b = 2 und die Länge sei (4,8).
Dann ist (101001001110)2 die Festkommadarstellung der Zahl 10,3046875 mit der
Länge (4,8) zur Basis 2.
Es gilt
wert(z) = 1*23 + 1*21 + 1*2-2 + 1*2-5 + 1*2-6 + 1*2-7
= 10 + ¼ + 1/32 + 1/64 + 1/128
= 10 + 39/128
= 10,3046875
259
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.2 Ganzzahl Arithmetik
Nimmt man das Komma rechts der Stelle mit dem niedrigsten Wert an, gilt für
das Wort der Länge n = (xn-1,...x0)2 die Festkommadarstellung
n −1
wert ( z ) = ∑ zi ⋅ b i
i = −0
Nimmt man das Komma links der Stelle mit dem höchsten Wert an, gilt für das
Wort der Länge n = (x1,...,xn)2 die Festkommadarstellung
n −1
wert ( z ) = ∑ zi ⋅ b −i
i =0
Für ein Wort x der Länge n = 8 lautet die Festkommadarstellung für
x = 1011 0010 = 1*2-1 + 1*2-3 + 1*2-4 + 1*2-7
= ½ + 1/8 + 1/16 + 1/128 = 89/128 = 0,6953125
Längenangabe (n,m) bei höheren Programmiersprachen als Formateingabe
vom Typ (n+m+1,m) ⇒ erste Längenangabe gibt Gesamtlänge einschließlich
Komma an.
260
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.2 Ganzzahl Arithmetik
Beispiel:
Sei b = 2 und die Länge sei (2,4). Dann ist (10,0100)2 die Festkommadarstellung der
Zahl 2,25 mit der Länge (2,4) zur Basis 2 mit
wert(z) = 1*21 + 1*2-2 = 2 + ¼ = 2,25
261
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.3 Gleitkomma-Arithmetik
2.1 Operationen mit Zahlen
2.2 Ganzzahl-Arithmetik
2.3 Gleitkomma-Arithmetik
2.4 Hardware für Rechnerarithmetik
262
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.3 Gleitkomma Arithmetik
Gleitkommadarstellung (halblogarithmische Darstellung) ⇒ Zahl z in der Form
z = ± m*b± e
m: Mantisse, b: Basis des Exponenten, e: Exponent der Darstellung. b muss
nicht notwendig mit Basis des Zahlensystems für m und e übereinstimmen.
Beispiel:
Zahl 1638,4 darstellbar als 3,2*8 3.
In Rechnersystemen liegen Basis b, Mantisse m und Exponenten e sowie Basis b der
Darstellung fest. Daher kann Gleitkommazahl
z = ± m*b±e
rechnerintern durch das Paar (± m, ± e) dargestellt werden.
263
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.3 Gleitkomma Arithmetik
Gleitkommadarstellung einer Zahl ist nicht eindeutig. Zahl 4711,4712 kann z.B.
wie folgt dargestellt werden:
4711,4712 = 47,114712*102
= 0,47114712*104
= 47114712*10-4
⇒ für Operationen mit Operanden mit verschiedenen Exponenten Anpassung
erforderlich.
Beispiel:
Für Addition von 4,711*103 und 0,0004712*107 ist Anpassung erforderlich. Diese
könnte folgendermaßen aussehen:
(4,711+4,712)*103
264
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.3 Gleitkomma Arithmetik
Betrachtet man Fall 1/b < m < 1, nennt man die Gleitkommazahl z = ± m*b± e
normalisiert. Bei normalisierter Darstellung steht Komma links von Mantisse,
d.h. ganzzahliger Anteil ist gleich 0 und erste Ziffer (des Dezimalanteils) der
Mantisse ist ungleich 0.
Erste Ziffer hinter Komma in der Mantisse nicht 0 sondern 011, d.h. oktal 3, da
Basis des Exponenten 8 ist. Veränderung des Exponenten um ±1 entspricht
Multiplikation mit bzw. Division durch 8 = 23, Komma wird um drei Stellen nach
links bzw. drei Stellen nach rechts verschoben.
265
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.3 Gleitkomma Arithmetik
Beispiel:
Sei be = 8 und die normierte Darstellung von (0,000011)2*82 gesucht, dann muss die
Mantisse m dieser Darstellung die Ungleichung 1/8 < m < 1 erfüllen.
Rechnerinterne Darstellung normalisierter Gleitkommazahlen kann
allgemeingültig angegeben werden. Sei
b = 2 und die Länge der darstellbaren n = 32,
liegt folgende Aufteilung der 32 Stellen für Gleitkommazahlen vor:
• erste 24 Stellen bilden Mantisse der Vorzeichendarstellung, d.h. erste
Stelle repräsentiert das Vorzeichen
• restlichen 8 Stellen den Exponenten im Zweierkomplement.
266
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
2.1 Operationen mit Zahlen
2.2 Ganzzahl-Arithmetik
2.3 Gleitkomma-Arithmetik
2.4 Hardware für Rechnerarithmetik
267
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
Hardwarerealisierung der arithmetischen Grundoperation Addition im so
genannten Rechenwerk z.B. durch Ripple-Array-Addierer realisiert
Komponenten dieser Rechnerarithmetik - berechnen Summe der n-Bit-Zahlen
xn-1,...x0 und yn-1, ...y0, - sind VA, wobei LSB-Stelle nur aus HA bestehen muss.
HA addiert eingangsseitig anliegenden Zahlen xi und yi und erzeugt Summe si
und Übertrag ci als Ausgang:
si = (xi + yi)mod2
und
ci =  (xiyi)/2 
mit  und  als Ebenen-Funktion. Die logischen Gleichungen dieser
Rechnerarithmetik lauten
si = xiyi. + xiyi. = xi ⊕ yi
und
ci+1 = xiyi.
268
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
RCA bestehend aus VAs, kein HA
=
∑
L
269
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
Grundstruktur von Rechenwerken (Lehrbuch Kap. 4.3)
VA: bildet Summe S und Übertrag C
Si = e1i ⊕ e2i ⊕ Ci-1
Ci = (e1i ∧ e2i) ∨ (Ci-1 ∧ (e1i ⊕ e2i))
⊕: = Antivalenz ⇒ XOR = e1 ⊕ e2 ; besteht aus 2 UND und 1 ODER Gatter,
jeweils 1 Eingang des UND Gatters ist invertiert
VA: besteht aus 2 HA und einem ODER Gatter
HA: besteht aus je einem UND und einem XOR Gatter
⇒VA: besteht aus 2 UND, 2 XOR und 1 ODER Gatter
HA und VA können durch Wertetabellen beschrieben werden
=
∑
L
270
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
HA: besteht aus je einem UND und einem XOR Gatter
=
∑
L
271
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
VA: besteht aus 2 UND, 2 XOR und 1 ODER Gatter
=
∑
L
272
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
e1 e2
S C
0
1
0
1
0
1
1
0
0
0
1
1
0
0
0
1
=
∑
L
273
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
274
e1i e2i Ci-1
Ci
Si
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
=
∑
L
=
∑
L
Rechnerstrukturen Teil 1
Prof. Dr. Möller
2.4 Hardware für Rechnerarithmetik
RISC: reduced instruction set computer (Athlon)
275
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk,
Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
276
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
277
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
•
Grundfunktionen digitaler Verarbeitungssysteme durch logische
Verknüpfungsglieder gegeben
Digitale Information in einzelne Dualwerte aufgeschlüsselt, die
Elemente der Menge M = { 0, 1} sind.
Hardwaretechnische Umsetzung der Grundfunktionen durch
elementare logische Verknüpfungsglieder
Verknüpfungsglieder basieren auf Transistoren, wobei Transistoren
die Grundfunktion eines elektronischen Schalters übernehmen.
Elektronischer Schalter verfügt über die Zustandsmenge S = {0, 1}.
Wirkungsweise digitaler Verarbeitungssysteme beruht auf dem
Prinzip des logischen Schließens
→ Boolescher Verband & Boolesche Algebra
→ darauf aufbauend logische Grundkonzepte für Schaltnetze &
Schaltwerke sowie spezielle Schaltnetze & Schaltwerke
•
•
•
•
•
278
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Schaltnetze & Schaltwerke
•
•
digitale Verarbeitungssysteme,
zentrale Bausteine lokaler Konzepte für Rechnerstrukturen.
Funktionale Beschreibung digitaler Verarbeitungssysteme
→ Boolesche Algebra
• Kalkül zur Behandlung von Aussagen im Rahmen der zweiwertigen
Logik.
Anwendung Boolescher Algebra, zur Beschreibung digitaler Schaltungen
→ Schaltalgebra
279
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Begriffe der Schaltalgebra
• Zustandgröße, dient zur Beschreibung der Elemente digitaler
Schaltungen; Element einer digitalen Schaltung wird zur Beschreibung der Zustandsgröße zugeordnet; gibt Zustand an in dem sich
das zugeordnete Element der digitalen Schaltung befindet. Digitale
Elemente weisen nur zwei Schaltzustände auf, ihre Zustandstandsgröße kann nur zwei Werte annehmen [0,1].
• Zustandsvariable,
• Zustandsfunktion.
Zustandsvariable und Zustandsfunktion sind ebenfalls Zustandsgrößen,
von der Art, das Zustandsvariable unabhängige Größen beschreiben,
während Zustandsfunktionen abhängige Größen darstellen.
280
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Elementare Verknüpfungen der Schaltalgebra
• Konjunktion, UND-Verknüpfung von Zustandgrößen,
• Disjunktion, ODER-Verknüpfung von Zustandsgrößen,
• Negation, Entgegengesetzte Zustandsgröße,
beschrieben.
Verknüpfungen lassen sich formal als auf Zustandsgrößen anwendbare
Operatoren definieren.
281
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Boolesche Algebra baut auf Symbolen
* , +, /, (,), =, ;, 0, 1, a, b, c, ..., x, y,
auf die als Alphabet einer Sprache angesehen werden.
Elementare Verknüpfungen UND, ODER und NICHT, im Alphabet der
Sprache der Schaltalgebra, darstellbar, wobei
• Symbole für die UND-Verknüpfung (Konjunktion): *, &, ∧
• Symbole für die ODER-Verknüpfung (Disjunktion), +, ≥1, ∨
• Symbole für die Negation (Negation), /,1, ¬
repräsentiert.
282
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Zur digitalen Signalverarbeitung existieren 3 logische ElementarFunktionen, auf die sich alle Schaltnetze zurückführen lassen:
• UND (AND) → Konjunktion
• ODER (OR) → Disjunktion
• NICHT (NOT) → Negation
283
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
UND-(AND) Verknüpfung
Funktionswert A nimmt dann und nur dann Wert 1an wenn alle EingangsVariablen ebenfalls den Wert 1 aufweisen, d.h. A = E1 * E2.
Symbol der UND-Verknüpfung lautet *.
Schaltzeichen:
In Anlehnung an die Gesetze der Mengenlehre wird UND Verknüpfung,
bzw. UND-Gatter, Konjunktion genannt.
Konjunktion E1 * E2 entspricht dem Durchschnitt zweier Mengen E1 und
E2, dies ist die gemeinsame Fläche.
UND-Verknüpfung repräsentiert Serienschaltung von Schaltern!
284
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
285
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
ODER-(OR) Verknüpfung
Funktionswert A nimmt immer dann Wert 1 an wenn mindestens eine
der Eingangsvariablen den Wert 1 aufweist, d.h. A = E1 + E2.
Symbol der ODER-Verknüpfung lautet +.
Schaltzeichen
In Anlehnung an Gesetze der Mengenlehre wird ODER-Verknüpfung
bzw. ODER-Gatter, Disjunktion genannt.
Disjunktion E1 + E2 entspricht Vereinigung zweier Mengen E1 und E2,
dies ist die von beiden überdeckte Fläche
ODER-Verknüpfung repräsentiert Parallelschaltung von Schaltern!
286
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
287
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
NICHT-(NOT) Verknüpfung
Funktionswert A nimmt den Wert 1 an wenn Eingangsvariable den Wert
0 zeigt, oder umgekehrt, d.h. A = /E.
Symbol der NICHT-Verknüpfung lautet /.
Schaltzeichen:
E
1
A
In Anlehnung an Gesetze der Mengenlehre wird NICHT-Verknüpfung
bzw. NICHT-Glied, Negation genannt.
Negation von E entspricht dem Komplement einer Menge A, dies ist die
umhüllende Fläche
288
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
289
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
NICHT-UND-(NAND) Verknüpfung
NAND-Funktion (Not-AND) ist negierte UND Funktion, nimmt immer dann
und nur dann Wert 1an wenn mindestens eine Eingangs-Variable den
Wert 0 aufweist, d.h.
A = E1 * E 2
290
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
291
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
NICHT-ODER-(NOR) Verknüpfung
NOR-Funktion (Not OR) ist negierte ODER Funktion, nimmt immer dann
und nur dann Wert 1an wenn alle Eingangs-Variablen den Wert 0
aufweisen, d.h.
A = E1 + E 2
292
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
293
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
NAND- und NOR-Glieder sind über die De Morganschen Identitäten
E1 * E 2 = E1 + E 2
E1 + E 2 = E1 * E 2
der Schaltalgebra miteinander verknüpft.
⇒ Schaltnetz oder Teile davon lassen sich in funktionsgleiche
Schaltung umformen, indem man im entsprechenden Bereich alle
UND gegen ODER Glieder (und vice versa) austauscht und
zusätzlich alle Eingänge an den Grenzen des entsprechenden
Bereichs invertiert.
294
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
EXCLUSIV-ODER-(XOR) Verknüpfung (Antivalenz)
EXclusive OR liefert immer dann am Ausgang den Wert 1, wenn
genau eine der n Eingangsvariablen den Wert 1 aufweist,
⇒ A = E1 ⊕ E2.
295
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
296
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Praktische Realisierung der XOR Funktion (Antivalenz) mit Elementarfunktionen
297
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
EXCLUSIV-NOR-(XNOR) Verknüpfung (Äquivalenz)
EXclusive NOR liefert immer dann am Ausgang den Wert 1, wenn
alle Eingangsvariablen den gleichen Zustand (Wert 0 oder 1) aufweisen,
⇒. A = E1 ⊗ E2.
298
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
299
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Praktische Realisierung der XNOR Funktion (Äquivalenz) mit Elementarfunktionen
300
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Belastungsregeln für logische Verknüpfungen
⇒ Fan-In (FI): Eingangsauffächerung, Eingangslastfaktor
gibt an, welche Belastung, ausgedrückt in Vielfachen der Lasteinheit
LE, der Eingang für die vorangehende Stufe darstellt
Beispiel: FI = 2,4 bedeutet der Eingang zieht 2,4 LE
⇒ Fan-Out (FO): Ausgangsauffächerung, Ausgangsverzweigung
Eingang digitaler logischer Verknüpfungsschaltung stellt für Ausgang
der vorangehenden Stufe eine Belastung dar, abhängig von
o logischem Zustand des Ausgangs
o Betriebsspannung
o Temperatur
Beispiel: FO = 2,4 bedeutet der Ausgang kann mit 2,4 LE belastet werden
301
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: Inverter in Bipolar Transistortechnik
Wahl von RC hängt ab von:
•
Schaltgeschwindigkeit
•
Maximaler Verlustleitung
•
Maximal zu betreibender Last am Ausgang
302
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Bipolare Transistoren: Halbleiter-Bauelemente, die Leitfähigkeitseigenschaften zweier PN Übergänge ausnutzen. Je nach Dotierung der
Halbleiterzonenfolge spricht man von NPN oder von PNP Transistoren
C
C
C
n
p
B
C
Kollektor
Basis
n
B
B
Emitter
E
E
NPN-Transistor
p
Kollektor
n
p
Basis
B
Emitter
E
E
PNP-Transistor
Leitfähigkeit des Bipolartransistors sowohl von Majoritäts- als auch von
Minoritätsladungsträgern abhängig ⇒ Bezeichnung bipolar.
Je nach Beschaltung wird eine der beiden Teil-Dioden des Transistors in Sperrrichtung betrieben, die andere in Durchlassrichtung.
303
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Transistoreffekt:
bei der in Sperrrichtung betriebenen Teildiode fließt geringer Sperrstrom dessen
Größe nur von Temperatur abhängt da Minoritätsträger durch thermische
Paarbildung entstehen.
Zahl der Minoritätsträger von außen beeinflussbar (steuerbar) ⇒ Sperrstrom in
weiten Grenzen steuerbar ⇒ Durchlassrichtung geschaltete Teildiode sorgt für
eine vom Durchlassstrom abhängige Anzahl an Minoritätsträger, in Verbindung
mit dünner Basisschicht (Diffusionslänge der Ladungsträger) und schwacher
Dotierung ausreichende Ladungsträgeranzahl und damit gesteuerter Sperrstrom.
Bipolarer Transistor als Strom gesteuerter Widerstand bezeichnet ⇒ kommt der
Betrachtungsweise des Transistors als Schalter entgegen. Vorgang keineswegs
linear, spiegelt sich in den Kennlinien wieder.
Ströme und Spannungen am Transistor in Emitterschaltung, Emitter als
gemeinsamer Bezugspunkt.
304
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
C
U
CB
I
B
I
C
B
U
CE
U
BE
I
E
E
Strom- und Spannungsbezeichnungen
305
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Die in Emitterschaltung aufgenommenen Kennlinien werden in vier Quadranten aufgetragen (UCE-IC, IC-IB, IB-UBE, UBE-UCE); für Informationstechnik von großen Interesse. Schaltungen der digitalen Informationsverarbeitung setzen Transistor als Schalter ein.
U
B
I
I
C
U
R
I
B
B
R
E
R
B
U
U
C
U
CE
A
BE
U
306
Rechnerstrukturen Teil 1
B
Prof. Dr. Möller
U
CE
3.1 Logische Verknüpfungsglieder
Schalterzustände ein/aus (Transistorzustände leitend/gesperrt)
Für IB = 0 ist Kollektor-Emitter-Strecke gesperrt (Schalterzustand A), es kann
lediglich der Sperrstrom fließen. UCE entspricht dabei nahezu UB, da Widerstand
des Transistors sehr viel größer ist als der Arbeitswiderstands R. Bei Anliegen
einer genügend großen Eingangsspannung Ue und damit eines Eingangsstroms
IB = IBE wird Transistor leitend. IB resp. RB wird so gewählt, dass Widerstand des
Transistors klein wird gegenüber R, so dass UCE auf nahezu 0 sinkt, da gesamte
Betriebsspannung über dem Arbeitswiderstand R abfällt (Schalterzustand E).
R und RB sind dem Transistortyp, der maximalen Verlustleistung (Zerstörung des
Transistors) und den gewünschten Eingangs- und Ausgangsspannungen
anzupassen.
307
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Idealer Schalter durch Transistor nur angenähert realisierbar.
Eigenschaften eines idealen Schalters sind:
• Innenwiderstand „0“ im Zustand EIN
• Innenwiderstand „∞“ im Zustand AUS
• Keinerlei Zeitverzögerung im Schaltvorgang, d.h., der Schaltzustand
folgt unmittelbar dem Eingangszustand
• Die vom Schalter selbst aufgenommene elektrische Leistung P = U*I
ist immer „0“ (keine Verlustleistung), da entweder U = 0 oder I = 0 zu
jedem Zeitpunkt gilt.
• Alle realen Schalter nähern sich in spezifischer Weise diesen idealen
Bedingungen an, wobei bipolare Schalter im wesentlichen die Schaltzeit optimieren.
308
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Realisierung von Logikelementen in digitalen Bausteinen: NPN Transistorschaltung einfacher Inverter; bei entsprechender Besetzung der Ein- und
Ausgangspegel (TTL-Pegel) wird Eingangssignal mit hohem Pegel in
Ausgangssignal mit niedrigem umgesetzt und vice versa
Realisierung von Gatterfunktionen in bipolarer Technik durch Schaffung eines
Logik-Inverters; zur Realisierung beliebiger Funktion mit mehr als einer
Eingangsgröße nicht ausreichend, in diesem Fall Multi-Emittertransistoren, die
als Multi-Schalter eingesetzt werden (hier in Basis-Schaltung)
U
Kollektor
Basis
B
R
Emitter
B
E1
E2
R
Aufbau (schmetaisch)
309
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Multiemittertransistor:
NAND-Gatter. Führt nur einer der Emitter Low-Potential wird der Transistor
leitend, und Ausgang A nimmt – bei entsprechender Dimensionierung der
Widerstände – gegenüber Masse den Wert High an.
Mit Hilfe der NAND-Funktion lassen sich – zumindest theoretisch – alle
logischen Verknüpfungen realisieren.
Technisch gesehen wäre Darstellung ODER-Verknüpfung durch Invertierung der
Eingangssignale und anschließende NAND-Verknüpfung problematisch, da sich
Signallaufzeiten und Verlustleistung addieren.
Realisierungen von Gattern in bipolarer Technik werden in TTL-Schaltkreisen
eingesetzt, da bipolare Transistoren gegenüber unipolaren Transistoren wie
auch gegenüber anderen Schaltungsvarianten Vorteile wie z.B. kurze
Schaltzeiten oder moderate Verlustleistungen bieten.
310
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: Transistor-Transistor-Logik (TTL)
Vorteil:
•
Transistoren mit mehreren Emittern
•
Emitter bilden logische Eingänge
•
Ersatzschaltung hat Ähnlichkeit mit integrierter DTL-Schaltung
311
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: Transistor-Transistor-Logik (TTL)
TTL-NAND:
•
Auch bei Erhöhung der Zahl der Eingänge Zahl der Einzelkomponenten konstant
•
T2 führt dann und nur dann Strom wenn alle Emitter von T1 auf 1 (H) liegen
•
Schaltfunktion bei n Eingängen lautet: /y = x0 * x1 * … * xn-1
312
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: Transistor-Transistor-Logik (TTL)
Übertragungskennlinie:
•
uY = f (uX) für uX0 = uX1 = uX2 (parallel geschaltete Eingänge)
313
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Während beim bipolaren Transistor Kollektorstrom durch Basisstrom
gesteuert wird, liegt beim unipolaren Transistor die Steuerung des
Stromes durch eine angelegte Spannung bzw. deren elektrischen
Feldes vor ⇒ Feldeffekttransistoren (FET).
Ladungstransport erfolgt beim Feldeffekttransistor überwiegend durch
Majoritätsladungsträger entsprechend der Dotierung. Das angelegte
elektrische Feld bewirkt Aufbau einer Sperrschicht (selbst leitend) oder
von Ladungsträgerkonzentrationen (selbst sperrend).
In hochintegrierten Schaltungen auf FET-Basis werden zumeist selbstsperrende Transistoren integriert. Bei diesem Transistortyp wird die
Leitfähigkeit nicht durch einen PN-Übergang, sondern durch Influenz
des elektrischen Feldes gesteuert.
314
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Gate
Source
SiO
n
Substrat
Gate
Drain
Source
2
p
n
p
Drain
SiO
Substrat
D
2
p
n
D
B
G
B
G
S
S
n-Kanal
p-Kanal
Aufbau Transistorzelle: Schichtenreihenfolge Gate, eine Metallelektrode, eine dünne
(100 - 200 nm) Oxidschicht als Isolator und Substrat, ⇒ Metal-Oxide-Semiconductor,
MOS
315
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Beim n-Kanal-MOS-FET sind in p-Substrat zwei hochdotierte n+-Zonen
als Source und Drain eindiffundiert, jeweils verbunden mit dem Sourcebzw. Drain-Anschluß. Abstand zwischen n-dotierten Zonen verhindert
bipolaren Transistoreffekt, kein Stromfluss. Zwischen n Zonen isolierende Oxidschicht mit Metallschicht (Aluminium) aufgebracht. An Gate wird
Spannung angelegt, Gate wirkt mit gegenüberliegenden Substrat als
Kondensator mit dem Oxid als Dielektrikum.
Positive Spannung an Gate bewirkt Abstoßung der positiven Majoritätsträger im p-Substrat, bis die sich ausbildende negative Akzeptorenschicht das elektrische Feld kompensiert. Raumladungszone groß, ⇒
thermische Elektronen diffundieren nicht in Substratschicht, an Oxidschicht entsteht im p-Substrat leitender Kanal mit freien Elektronen als
Ladungsträger. Spannung, ab der sich dieser Kanal ausbildet ⇒
Schwellwertspannung. Strom von Drain in Richtung Source (UDS > 0)
wird durch die anliegende Gate-Spannung UGS gesteuert.
316
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
U
B
R
U
U
DS
GS
MOS-Feldeffekttransistor (n-Kanal) als Schalter
317
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Digitale Verknüpfungsschaltungen mit FET
FET (Feldeffekttransistoren) unterscheiden sich damit von Bipolar-Transistoren durch:
•
Hohen Eingangswiderstand (> 1013 Ω)
•
Galvanische Entkopplung (zwischen Eingang und Ausgang)
•
Einfachen Aufbau → weniger technologische Schritte - 9 bei MOSFET; 14 bei
Bipolar •
Geringen Platzbedarf (20% von Bipolar)
•
Selbstisiolation der Einzeltransistoren
•
Kleine Verlustleistung
•
Realisierung ohmscher Widerstände durch MOS Strukturen → Einsparung von
Kristallfläche
•
Vertauschungsmöglichkeit von Drain und Source wegen symmetrischen Aufbau
bilateraler Betrieb möglich
•
Höher Betriebsspannungen wegen der hohen erforderlichen UGS
•
Relativ niedrige Grenzfrequenz bei FET und MOSFET → höhere Widerstände und
Kapazitäten
•
Möglichkeit der Bildung parasitärer Kanäle
318
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
MOS-Technik
Vorteil MOS-Technik:
• einfacher technologischer Aufbau
• erreichbare hohe Packungsdichte bei der Integration größerer
Schaltungen, z. B. Schieberegister, Speicher, etc.
MOS-FET besteht aus STROMKANAL längs der Oberfläche des Halbleitermaterials, der durch eine Si02-Schicht vom GATE isoliert ist.
Gatespannung steuert den Widerstand des Kanals
D
G
S
319
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: MOS-NAND
N-Kanal oder P-Kanal
•
4 MOSFET zur Realisierung
•
Schaltfunktion: /y = x0 * x1 * x2
320
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Logische Verknüpfungen: MOS-NOR
N-Kanal oder P-Kanal
•
4 MOSFET zur Realisierung
•
Schaltfunktion: y = /(x0 + x1 + x2)
321
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
MOSFETs
• eignen sich zur Herstellung hochintegrierter Digitalschaltungen
besser als Bipolartransistoren;
• benötigen weniger Fläche auf Wafer, sind deshalb preisgünstiger.
Bis Mitte der 80er Jahre wurden digitale Schaltungen in NMOS-Technologie ausgeführt. Mit 1 Mb-DRAM-Speichern (1 Megabit Dynamic Random
Access Memory) wechselten die Hersteller zur deutlich komplexeren
CMOS-Technologie; die kleinsten Strukturgrößen betrugen MFS = 12µm
(Minimal Feasable Size).
Marktanteil der CMOS-Technologie heute bei über 75%; ca. 10% dieser
Komponenten sind analoge Schaltungen.
322
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
CMOS Technologie
CMOS (Complementary-Metal-Oxide-Semiconductor)
→ Weiterentwicklung der MOS Technik
→ P- und N-Kanal MOSFETs auf einem Chip kombiniert um logische
Funktionen zu realisieren
•
•
•
•
•
Sehr kleine Leistungsaufnahme
Verbesserte Schaltzeiten
Hohe Störsicherheit
Hohes Ausgangssignal
Weiter Betriebsspannungsbereich
323
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
CMOS Technologie
dominante Halbleitertechnologie für
•
•
•
Mikroprozessoren,
Speicher (SRAM und DRAM),
anwenderspezifische integrierte Schaltungen (ASICs).
Hauptvorteil von CMOS gegenüber NMOS oder bipolarer Technologie
ist der viel kleinere Energieverbrauch - statische CMOS Gatter haben
(fast) keinen statischen Energieverbrauch. Gatter verbrauchen nur Strom,
wenn Gatter wirklich umschalten. Dadurch lassen sich wesentlich mehr
CMOS Gatter auf einem IC integrieren, als in NMOS oder bipolarer
Technologie.
324
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
CMOS-Schaltungstechnik
Wichtigstes Marktsegment neben µP digitale Halbleiterspeicher
325
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
CMOS-Schaltungstechnik
EU-Kommission fördert Forschungsprojekt NANOCMOS; soll Entwicklung bei
Materialien, Prozessen, Baustein-Architekturen und Verbindungstechniken der
CMOS-Technologie (Complementary-Metaloxide-Semiconductor) vorantreiben.
In der ersten Phase des Projekts soll bis zum Jahr 2005 die Machbarkeit der 45nm-CMOS-Logik-Technologie demonstriert werden. Gleichzeitig werden
entsprechende Forschungsaktivitäten für nächste Technologiegenerationen mit
32- und 22-nm-Strukturen durchgeführt.
In der zweiten Phase, die für 2006 geplant ist, soll die Machbarkeit der 32- und
22-nm Generation gezeigt werden. Außerdem wird das Konsortium der MEDEAOrganisation einen Vorschlag unterbreiten, ab 2006 mit der Integration und
Validierung der 45-nm-Technologie in einer 300-mm-Wafer-Fertigung zu
beginnen. Die industrielle Fertigung soll in Crolles2 implementiert werden,
einer gemeinsamen Pilotanlage von Motorola, Philips und STMicroelectronics.
326
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
CMOS-Schaltungstechnik
Partner des EU Forschungsprojektes sind die drei größten europäischen
Halbleiterhersteller
• Infineon http://www.infineon.com/,
• Philips http://www.philips.com/,
• STMicroelectronics http://www.st.com/
sowie die beiden größten europäischen Technologie-Forschungslabors
• CEA Leti in Frankreich,
• IMEC in Belgien.
Ergänzend zu NANOCMOS wird auch das Projekt "Network of Excellence"
(SINANO) von der EU-Kommission weiter unterstützt. Dieses Netzwerk umfasst
die meisten öffentlichen europäischen Forschungslabors im Bereich neuartiger
Bauelemente. Beide Projekte sollen für eine schnelle Umsetzung der
Forschungsergebnisse in der Fertigung Integrierter Schaltkreise (ICs) sorgen.
327
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
328
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Vergleich der Leistungsfähigkeit logischer Schaltkreisfamilien
Auswahlparameter einer geeigneten Logikfamilie für bestimmte Anwendungen:
•
Verarbeitungsgeschwindigkeit
→ Gatterlaufzeit, Stufenverzögerungszeit
→ Echtzeitverarbeitung/-fähigkeit
•
Verlustleistung bzw. Leistungsaufnahme
→ wichtige Kennzahl für den Vergleich von Logikfamilien
→ Mobile Systeme (wearable/mobile computing)
•
Integrationsgrad
→ PDAs, Mobiltelephone, Hörgeräte, Uhren,…
→ Wärmeabfuhr
329
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
Pegelumsetzer
Unterschiedliche Pegel und Polaritäten für dieselben logischen Zustände
Beim Übergang von einer Logikfamilie zur nächsten Pegelumsetzer erforderlich
Beispiele für Pegelumsetzer TTL-pMOS und pMOS-TTL
330
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.1 Logische Verknüpfungsglieder
331
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
332
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Die in Verknüpfungen enthaltene algebraische Struktur entspricht
• komplementären distributiven Verband oder
• Booleschen Verband,
wenn für alle Elemente einer nicht leeren Menge der Verknüpfungen
die elementaren Verknüpfungsgesetze Gültigkeit besitzen.
Der kleinste, nicht triviale, Boolesche Verband, mit den Elementen {0,1},
ist zugleich auch derjenige mit der größten Bedeutung ist, da er die
Grundlage der Schaltalgebra bildet.
333
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Boolesche Algebra gliedert sich in vier Teile
Für digitale Verarbeitungssysteme von Bedeutung:
•
Schaltalgebra
•
Aussagenalgebra
334
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Schaltalgebra
„Kontaktalgebra“, „Schaltalgebra“; Spezialgebiet der Booleschen Algebra
→ mathematisches Repertoire, gestattet Schaltsysteme zu
•
analysieren,
•
entwerfen,
•
minimieren.
Zur formalen Beschreibung von Schaltnetzen (logische Verknüpfungen) benutzt
335
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Aussagenalgebra
Behandelt Sätze und Verknüpfungen die nur von zwei Aspekten aus betrachtet
werden können: Sie sind entweder richtig (wahr) oder falsch.
Beispiel:
Transistor leitet - Transistor sperrt
Schalter geschlossen - Schalter offen
Ventil Wasserzufuhr offen – Ventil Wasserzufuhr geschlossen
336
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Boolesche Algebra
Verknüpfung von n Eingangsvariablen x0 … xn-1, von denen jede genau 2
Zustände annehmen kann, z.B. 0 (L) oder 1 (H)
→ 2n Kombinationsmöglichkeiten für die Eingangsgrößen
Beispiel:
Hat Ausgangsgröße y ebenfalls 2 mögliche Zustände (0, 1) lassen sich jeder
der 2n Eingangskombinationen wieder 2 Werte zuordnen.
→ Zahl möglicher Ausgangsfunktionen beträgt
y ( x0 , x1 , x 2 ,...., x n −1 ) = 2 (2 )
n
337
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
338
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra Theoreme der Booleschen Algebra
339
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Kommutativgesetz:
a *b*c = c*b*a = K
a +b+c = c+b+a =K
Kommutativgesetz besagt, dass innerhalb einer Verknüpfungsart die
Reihenfolge der Variablen beliebig vertauscht werden kann.
340
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Assoziativgesetz:
(a * b) * c = a * (b * c ) = a * b * c
(a + b) + c = a + (b + c) = a + b + c
Assoziativgesetz besagt dass innerhalb einer Verknüpfungsart
Klammern beliebig gesetzt und entfernt werden können.
341
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Distributivgesetz:
a * (b + c ) = (a * b ) + (a * c )
a + (b * c ) = (a + b ) * (a + c )
Distributivgesetz besagt, dass in Ausdrücken mit UND- und ODERVerknüpfungen gleiche Variable ausgeklammert werden können, sofern
sie in gleicher Art und Weise verknüpft sind
342
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Boolesche Funktion der Menge {0,1} von n Variablen f(x1,x2,..,xn)
mit x, ..., x ∈ {0,1} repräsentiert Abbildung in {0,1}.
Boolesche Algebra beschreibt binäre Schaltungen die n Eingangsvariable besitzen und die Zustände 0 bzw. 1 annehmen.
Digitale Schaltungen, basieren auf elementaren Gatterfunktionen,
beschreiben Abbildung der Verknüpfungsrelationen von Eingangsvariablen auf Ausgangszustände, wobei das am Ausgang anliegende
Ergebnis als Abbildung in {0,1} erscheint.
Gatterfunktion bezeichnet Funktionalität eines Verknüpfungsgliedes
mit mindestens zwei binärwerten Eingängen und einem Ausgang
→ auf beliebige Anzahl von Eingangsvariablen erweiterbar.
343
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Standardmäßig ausgeführte Logikhardwareschaltungen elementarer
binärwerter Verknüpfungsglieder basieren auf den Schaltkreisfamilien
• TTL,
• CMOS.
TTL repräsentiert bekannteste Schaltkreisfamilie.
Integrierte Schaltungen bestehen aus
• Transistoren,
• Dioden,
• Widerständen.
344
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
In Standard-Schaltkreisen werden logische Grundfunktionen, durch
•
•
•
UND,
ODER,
NICHT
vorgegeben, in der Regel in mehrfacher Anzahl im Baustein integriert,
oder logische Funktionen werden, aufbauend auf logischen
Verknüpfungen,
•
•
•
•
•
•
UND,
ODER,
NICHT,
Kodierungsschaltungen,
Dekodierungsschaltungen,
etc.
in ein- bis mehrfacher Anzahl in einem Baustein integriert.
345
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
VCC
14
13
12
11
10
9
&
&
&
1
8
&
2
3
4
5
6
7
GND
VCC
14
13
12
11
10
9
>1
>1
>1
1
2
8
>1
3
4
5
6
7
GND
346
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Standard-Schaltkreise werden vom Hersteller entwickelt und vollständig
konfektioniert
Anwender kann Schaltkreiskonzeption nicht beeinflussen.
Eigentliche digitale Logikschaltung wird vom Anwender, im jeweils
vorgegebenen Zusammenhang, durch Verbinden der dafür
erforderlichen digitalen Schaltkreise realisiert → Entwurf digitaler
Hardware und Software Systeme
347
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
•
Entwurf digitaler Hard- & Software Systeme an schaltalgebraischen
Konstrukten orientiert, welche die Eigenschaften einer gegebenen
Zuordnungstabelle erfüllen.
Vorteil Zuordnungstabelle ist ihre Eigenschaft, das sie einen nahezu
idealen Ausgangspunkt für die Schaltungssynthese darstellt, d.h.
die Darstellungssätze der Schaltalgebra liefert.
Damit ist ein Verfahren zur Ermittlung Boolescher Ausdrücke für
Zuordnungstabellen angegeben.
Für jede Zuordnungstabelle lassen sich verschiedene algebraische
Ausdrücke finden, in jedem Fall mindestens zwei.
Darstellungssätze schaltalgebraischer Ausdrücke Boolescher
Variablen fußen auf Minterm und Maxterm.
•
•
•
•
348
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Minterm von n Booleschen Variablen besteht aus UND-Verknüpfungen
(Konjunktionen), wobei jede der n Booleschen Variablen genau einmal
und zwar negiert oder nicht negiert als Glied in der Folge von Konjunktionen auftritt
Beispielsweise sind für die vier Booleschen Variablen A, B, C, D die Ausdrücke
/A*B*/C*D, A*/B*C*D, /A*/B*/C*/D, A*B*/C*/D Minterme
Minterme haben die Eigenschaft, dass sie für genau eine 0-1Kombination in der Zustandstabelle den Wert 1 besitzen und für
alle übrigen Kombinationen den Wert 0.
Die bestimmte Zustandskombination der Booleschen Variablen ergibt sich
daraus, dass jedes Verknüpfungsglied des Minterms den Wert 1 haben muss.
349
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Zuordnungstabelle der Minterme der Variablen A, B, C, D
A
350
B
C
D
/A*B*/C*D
A*/B*C*D
/A*/B*/C*/D
A*B*/C*/D
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Man ermittelt für jeden 1-Wert der Zuordnungstabelle der gegebenen
Funktion den entsprechenden Minterm. Die Minterme werden disjunkt
miteinander verknüpft. Daraus resultierender algebraischer Ausdruck
heißt disjunktive Normalform (DNF) ⇒ ODER-Verknüpfung aller
Minterme über der Menge der Eingangsvariablen, deren Wert 1 ergibt.
Disjunktive Normalform im angelsächsischen Sprachraum Sum-Of-Products
(SOP)
351
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Maxterm von n Booleschen Variablen besteht aus ODERVerknüpfungen (Disjunktionen), wobei jede der n Booleschen Variablen
genau einmal und zwar negiert oder nicht negiert als Disjunktionsglied
auftritt
Beispielsweise sind für die vier Booleschen Variablen A, B, C, D die Ausdrücke
/A+B+C+/D, A+/B+C+D, /A+/B+C+D, /A*B*/C*/D Maxterme
Maxterme haben die Eigenschaft, dass sie für genau eine 0-1- Kombination in der Zustandstabelle den Wert 0 besitzen und für alle übrigen
den Wert 1.
Die bestimmte Zustandskombination der Booleschen Variablen ergibt sich
daraus, dass jedes Verknüpfungsglied des Maxterms den Wert 0 haben muss.
352
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Zuordnungstabelle der Maxterme der Variablen A, B, C, D
A
B
C
D
/A+B+C+/D
A+/B+C+D
/A+/B+C+D
/A+B+/C+/D
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
353
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Man ermittelt für jeden 0-Wert der Zuordnungstabelle der gegebenen
Funktion den entsprechenden Maxterm. Maxterme werden konjunktiv
miteinander verknüpft. Daraus resultierender algebraischer Ausdruck
heißt konjunktive Normalform (KNF) ⇒ UND-Verknüpfung aller
Maxterme über der Menge der Eingangsvariablen, deren Wert 0 ergibt.
354
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Beispiel:
* = Konjunktion; + Disjunktion
355
e3
e2
e1
0
0
0
/e1*/e2*/e3=1⇒Min
0
0
1
/e1+e2+e3=0 ⇒ Max
0
1
0
e1+/e2+e3=0 ⇒ Max
0
1
1
e1*e2*/e3=1 ⇒ Min
1
0
0
/e1*/e2*e3=1 ⇒ Min
1
0
1
e1*/e2*e3=1 ⇒ Min
1
1
0
e1+/e2+/e3=0 ⇒ Max
1
1
1
/e1+/e2+/e3=0 ⇒ Max
Rechnerstrukturen Teil 1
Minterm/Maxterm
Prof. Dr. Möller
3.2 Boolesche Algebra
Entwurf digitaler Systeme daran orientiert Schaltungen mit geringstem
Komponentenaufwand zu finden. Schaltalgebra ermöglicht Schaltungssynthese auf Grundlage Boolescher Algebra.
Minimierungsziel: Darstellung der Booleschen Funktion mit möglichst
wenigen Variablen → bezogen auf technische Realisierung Schaltungsentwurf mit möglichst geringer Anzahl an Verknüpfungsgliedern.
Minimierungsaufgabe ⇒ aus Menge der KNF bzw. DNF diejenige mit
den minimalsten Fundamentalausdrücken gesucht.
Fundamentalausdruck technisch durch Verknüpfungsglied mit beliebiger Anzahl von Eingangsvariablen realisiert. Bezogen auf konjunktives
bzw. disjunktives Verknüpfungsglied mit mehreren Eingangsvariablen
→ konjunktiver bzw. disjunktiver Fundamentalausdruck,
356
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Minimale Normalform beliebiger Zustandsfunktion führt auf einfachste
Realisierung der gewünschten Schaltung.
⇒ Optimierung von Schaltfunktionen (Minimierung)
führt häufig zu umfangreichen schaltalgebraischen Berechnungen.
Häufig vom gewählten Weg der Vereinfachung abhängig, ob man
überhaupt die optimale Form der Schaltfunktion erhält.
Diese Schwierigkeiten treten in der Regel nicht auf wenn man sich
geometrischer Entwurfsverfahren bedient, wie sie durch die Methode
nach Karnaugh-Veit gegeben sind.
Methode nach Karnaugh und Veit, das Karnaugh-Veit-Diagramm, zur Ermittlung
der minimalen Normalform für Schaltungsentwürfe mit bis zu vier Variablen
relativ leicht handhabbar.
357
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Minimierungsverfahren nach Karnaugh-Veit
Für n Boolesche Variable erhält man 2n Minterme; Anzahl aller möglichen
k-stelligen Binärmuster. 2n ist Anzahl der Ecken eines k-dimensionalen
Würfels, womit jeder Ecke des n-dimensionalen Würfels ein Minterm der
n Booleschen Variablen zugeordnet werden kann. Zuordnung dergestalt,
dass Minterme, die sich nur in einem Konjunktionsglied unterscheiden,
solchen Ecken zugeordnet, die durch eine Kante des Würfels miteinander
verbunden sind. Zwei Minterme mit der Eigenschaft, dass sie sich nur in
einem einzigen Konjunktionsglied voneinander unterscheiden heißen
zueinander benachbart. So sind z.B. /A*B*/C*D und /A*/B*/C*D zwei
benachbarte Minterme.
Ein Minterm von n Booleschen Variablen besitzt einerseits genau n
benachbarte Minterme. Andererseits gehen von jeder Ecke des ndimensionalen Würfels n-Kanten aus.
358
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Die Nachbarschaftsverhältnisse der Minterme können durch die Struktur
des Würfels wiedergegeben werden. Benachbarte Minterme können
nach der Regel
( A * B ) + (/ A * B ) = ( A + / A) * B = B
vereinfacht werden.
359
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Karnaugh-Tafel beruht auf Nachbarschaftsbeziehungen der Minterme
untereinander; anstatt in k-dimensionalen Würfel in zweidimensionaler
Tafel eingetragen.
AB
CD
00
01
11
10
00
01
11
10
360
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Karnaugh-Tafel
Jedem Quadrat der Tafel entspricht ein Minterm, welcher durch den ihm
zugeordneten Zustand der Variablen angegeben ist ! Felder der Tafel so
bezeichnet, dass sämtliche Quadrate mit gemeinsamer Kante benachbarten Mintermen zugeordnet sind.
Linker Rand der Tafel mit dem rechten zu identifizieren und der obere Rand mit
dem unterem, d.h. Quadrate der linken Spalte sind zu denen der rechten Spalte
benachbart und die der oberen Zeile zu denen der unteren Zeile.
361
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Für die Boolesche Funktion
F=(A*B*/C*D)+(A*B*C*D)+(/A*B*C*D)+(/A*B*C*/D)
sei die minimale DNF gesucht
DNF ⇒ ODER-Verknüpfung aller Minterme über der Menge der EingangsVariablen, deren Wert 1 ergibt.
AB
CD
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
0
1
1
0
10
0
1
0
0
Karnaugh Tafel der Funktion F=(A*B*/C*D)+(A*B*C*D)+(/A*B*C*D)+(/A*B*C*/D)
362
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Karnaugh-Tafel
Benachbarte Felder repräsentieren benachbarte Minterme.
Zusammengefasst werden können 2, 4, 8, 16 paarweise benachbarte
Felder der KV-Tafel.
Jeder Zusammenfassung von benachbarten Feldern entspricht die
Zusammenfassung von zwei oder mehreren Mintermen zu einem
Fundamentalausdruck, in dem gegenüber den Mintermen eine oder
mehrere Variablen weniger vorkommen.
⇒ Optimierung von Schaltfunktionen (Minimierung)
Größte noch mögliche Zusammenfassung von 1-Feldern liefert den
Fundamentalausdruck mit der kleinsten Anzahl von Variablen
363
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Für Boolesche Funktion F=(A*B*/C*D)+(A*B*C*D)+(/A*B*C*D)+(/A*B*C*/D)
ergeben sich drei mögliche jeweils zweifache Zusammenfassungen. Daraus
resultierende konjunktive Fundamentalausdrücke sind:
/A*B*C, B*C*D, A*B*D
AB
CD
00
01
11
10
00
0
0
0
0
01
0
0
13
0
11
0
1
12
0
10
0
11
0
0
Erster und dritter Fundamentalausdruck überdecken zusammen die mit 1 besetzten
Felder vollständig ⇒ reichen zur Darstellung der Funktion F
364
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Beim zweiten Fundamentalausdruck /A*B*C, B*C*D, A*B*D sind die beiden übrigen
Fundamentalausdrücke (eins und drei) zur Überdeckung der 1-Felder unbedingt
erforderlich; eine solche Darstellung wäre aber aufwändiger.
Minimale Normalform resultiert aus der einfachsten Überdeckung der mit 1 besetzten
Felder der KV-Tafel.
Minimale DNF der Funktion F lautet damit:
F = (/A*B*C)+(A*B*D)
Schaltung repräsentiert Verknüpfungsglieder mit mehreren Eingängen
365
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Häufig ist Frage nach der einfachsten Überdeckung (Überdeckung mit der
geringsten Anzahl gefundener Fundamentalausdrücke) nicht eindeutig zu
entscheiden
⇒ es gibt mehrere gleichwertige Überdeckungen
⇒ Vereinfachung der Funktion führt auf mehrere gleichwertige Lösungen
⇒ rechnerische Hilfsmittel erforderlich wie z.B. das Minimierungsverfahren
nach Quine-Mc-Cluskey, mit dem sämtliche minimale Überdeckungen der
vorhandenen Fundamentalausdrücke einer Funktion gefunden werden
können
366
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Beispiel:
KV-Tafel einer Funktion mit drei Variablen.
A
B
C
F
0
0
0
0
0
0
1
0
0
1
0
0
1
1
A
BC
0
1
Minterme: B*C, A*B
0
00
0
0
DNF:
1
1
01
0
0
0
0
0
1
0
1
0
11
1
1
1
1
0
1
10
0
1
1
1
1
1
F=(A*B)+(B*C)
Schaltung repräsentiert Verknüpfungsglieder mit mehreren Eingängen
367
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
KV-Tafel für 2 Variablen und Anordnung der Minterme und Kennzeichnung der
Zeilen und Spalten
368
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Zusammenhang zwischen Wahrheitstabelle und KV Tafel für Schaltfunktion mit
zwei unabhängigen Variablen dargestellt, aus disjunkter Verknüpfung zweier
Minterme bestehend, d.h.
a = (/ e1 * / e2 ) + (e1 * e2 )
Tabelle 3.6. Minterme
*e
1
e1 e 2
/e
*
1
1*e
369
0
0
Minterm
/ e1 * / e2
A
0
1
/ e1 * e2
0
1
0
e1 * / e 2
0
1
1
e1 * e 2
1
1
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Darstellung dreier unabhängiger Variabler mittels KV-Tafel wobei k = 23 = 8
Möglichkeiten gegeben sind.
Nr.
e1
e2
e3
0
0
0
0
1
0
0
1
/ e1 * / e2 * e3
2
0
1
0
/ e1 * e2 * / e3
3
0
1
1
/ e1 * e2 * e3
4
1
0
0
e1 * / e2 * / e3
5
1
0
1
e1 * / e2 * e3
6
1
1
0
e1 * e2 * / e3
7
1
1
1
e1 * e2 * e3
e
/*
1
370
Rechnerstrukturen Teil 1
Teilfunktion
/ e1 * / e2 * / e3
Prof. Dr. Möller
3.2 Boolesche Algebra
Nummerierung und Teilfunktionen werden der Reihe nach in einen Kasten mit
acht Feldern übertragen, aufgeteilt in zwei Reihen mit je vier Feldern.
0
4
/ e1 * / e2 * / e3
e1 * / e2 * / e3
1
5
/ e1 * / e2 * e3
e1 * / e2 * e3
2
6
/e1*e2 */e3
e1 * e2 * / e3
3 /e *e *e
1
2
3
7
e1 * e2 * e3
e1=0
e1=1
Teilfunktionen so geordnet dass in oberer Reihe alle Kombinationen mit e1 = 0
stehen, in der unteren Reihe alle mit e1 1 = 1. Feld der unteren Reihe unterscheidet sich vom darüber liegenden Feld nur durch veränderte Variable e1 .
Zwei nebeneinander liegende Felder dürfen sich nur in einer Variablen unterscheiden. Da diese Bedingung noch nicht erfüllt ist, werden Felder vertauscht:
Feld 2 mit Feld 3 und Feld 6 mit Feld 7.
371
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
KV Tafeln für 3 Variable
372
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Beispiel für KV Tafeln mit Zweierblöcken und Viererblöcken
373
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
KV Tafeln für 4 Variable
374
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
KV Tafeln für 6 Variable
375
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Räumliche KV Tafeln für 6 Variable
376
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Arten von Viererblöcken
377
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Möglichkeiten der Blockbildung
378
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Wichtige Regeln bei der Anwendung von KV-Tafeln
379
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
DNF für Boolesche Funktion
F=(/A*/B*/C*/D)+(A*/B*/C*/D)+(A*B*/C*D)+(A*/B*/C*D)+(/A*B*C*D)
+(A*B*C*D)+(/A*/B*C*/D)+(/A*B*C*/D)
ergibt vier mögliche jeweils zweifache Zusammenfassungen.
Daraus resultierende konjunktive Fundamentalausdrücke sind:
/B*/C*/D, A*/C*D, B*C*D, /A*C*/D
/B*/C*/D
AB
CD
00
01
11
10
00
1
0
0
1
01
0
0
1
1
11
0
1
1
0
1
1
0
0
10
A*/C*D
B*C*D
/A*C*/D
DNF: F = (/B*/C*/D)+(A*/C*D)+(B*C*D)+(/A*C*/D)
380
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
DNF für Boolesche Funktion
F=(/A*/B*/C*/D)+(A*/B*/C*/D)+(A*B*/C*D)+(A*/B*/C*D)+(/A*B*C*D)
+(A*B*C*D)+(/A*/B*C*/D)+(/A*B*C*/D)
ergibt vier mögliche jeweils zweifache Zusammenfassungen.
Daraus resultierende konjunktive Fundamentalausdrücke sind:
/A*/B*/D, /A*B*C, A*B*D, A*/B*/C
AB
CD
00
01
11
10
00
1
0
0
1
01
0
0
1
1
11
0
1
1
0
10
1
1
0
0
Gleichwertige DNF: F=(/A*/B*/D)+(/A*B*C)+(A*B*D)+(A*/B*/C)
381
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
KV-Tafeln bisher nur zur Berechnung der DNF gegebener Funktionen
verwendet.
Können aber auch für die Ermittlung der KNF verwendet werden.
Statt den 1-Feldern hat man die 0-Felder der KV-Tafeln zu betrachten.
O-Felder sind die Maxterme zugeordnet
⇒ Zusammenfassen benachbarter
Maxterme führt zu disjunktiven Fundamentalausdrücken
Auswahl der gefundenen disjunktiven Fundamentalausdrücke erfolgt nach der
einfachsten Überdeckung der 0-Felder
⇒ KNF
382
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Kombinatorischer Logik Entwurf
A) Problemstellung
y ist 1 wenn a 1 ist, oder b und c 1
sind.
z ist 1 wenn b oder c 1 sind, aber
nicht beide, oder wenn alle 1 sind
D) Minimierte Ausgangsfunktion
y bc
00 01 11 10
a
0 0
0
1
0
1 1
1
1
B) Wahrheitstabelle
Eingänge
a
b
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
c
0
1
0
1
0
1
0
1
Ausgänge
y
z
0
0
0
1
0
1
1
0
1
0
1
1
1
1
1
1
a
bc
1
00
01
11
10
0
0
1
0
1
1
0
1
1
1
y = a'bc + ab'c' + ab'c + abc' + abc
z = a'b'c + a'bc' + ab'c + abc' + abc
E) Logikglieder
a
b
c
y = a + bc
z
C) Ausgangsgleichungen
y
z
z = ab + b’c + bc’
383
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Minimierungsverfahren nach Quine-Mc-Clusky
Von Quine entwickeltes Verfahren beruht, im Vergleich zum Verfahren nach
Karnaugh-Veit, auf geometrischer Anordnung benachbarter Minterme bzw.
Maxterme, welches durch mehrfache Anwendung eines Iterationsschrittes zum
Ziel führt.
McCluskey hat die Methode für die praktische Anwendung weiter entwickelt,
indem er die von Quine formulierte Methode durch Ersetzen der Min- bzw.
Maxterme durch äquivalente Dualzahlen der Berechnung besser zugänglich
gemacht hat.
McCluskey konnte darüber hinaus zeigen, dass durch Einteilung der Minterme
der logischen Funktion in Gruppen mit konstanter Anzahl negierter Variabler,
die Anzahl der Iterationsschritte reduziert werden kann.
384
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Verfahren nach Quine basiert auf KNF bzw. DNF. Ausgehend von DNF werden
Minterme der logischen Zustandsfunktion F als Liste in einer Tabelle notiert.
Zwei konjunktive Fundamentalausdrücke können zu einem vereinfacht werden,
sofern sie die Voraussetzungen der nachfolgenden Gleichung erfüllen,
( A * B ) + (/ A * B ) = ( A * / B ) * B = B
d.h. sie unterscheiden sich nur noch in einem Konjunktionsglied, welches die
Negation des anderen ist. Demzufolge wird die Ausgangsliste dahingehend
überprüft, ob sich zwei Fundamentalausdrücke nach obiger Beziehung zu
einem vereinfachen lassen,
385
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
1. Fundamentalausdruck wird mit allen in der Liste unter ihm stehenden Ausdrücken verglichen. Ist Voraussetzung der Gleichung gegeben wird der durch
Vereinfachung entstandene Fundamentalausdruck in zweite Liste eingetragen.
Danach 2. Fundamentalausdruck der ersten Liste mit allen in der Liste unter
ihm stehenden Ausdrücken verglichen. Ist Voraussetzung der Gleichung gegeben, wird der durch Vereinfachung entstandene Fundamentalausdruck in die
zweite Liste eingetragen. Auf diese Weise entsteht eine neue Liste von Fundamentalausdrücken, die daraufhin geprüft wird, ob sich in ihr ein 2. Fundamentalausdruck befindet, der sich vom 1. Fundamentalausdruck dadurch unterscheidet, dass er weniger (oder gleich viele) konjunktive Verknüpfungsglieder
gegenüber dem anderen besitzt, in den übrigen Konjunktionsgliedern aber
übereinstimmt. In diesem Fall wird der eine Fundamentalausdruck von dem
anderen umfasst, d.h. er ist überflüssig und wird gestrichen.
386
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Hierdurch wird neue Liste gewonnen mit der die gleiche Prozedur erneut
ausführt, mit dem Ergebnis einer neuen Liste, der dritten Liste. Mit dieser und
mit den weiteren Listen wird in gleicher Weise solange verfahren, bis sich die
Ergebnisliste von ihrer vorangegangenen Liste nicht mehr unterscheidet. Die
Fundamentalausdrücke der Ergebnisliste werden als Primimplikation der
Funktion F bezeichnet. Sie haben die Eigenschaft, dass sie sich nicht mehr
vereinfachen lassen, ohne die gegebene Logikzustandsfunktion F zu
verfälschen.
387
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Tabelle 3.7. Minimierung nach Quine
Ausgangsliste (1. Liste)
Zweite Liste
Dritte Liste
Vierte Liste
/A*/B*/C*/D
/A*/B*/C
/A*/B
/A*/B
/A*/B*/C*D
/A*B*/D
/B*/C
/A*/D
/A*/B*C*/D
/A*/C*/D
/A*/B
/A*/B
/A*B*/C*/D
/B*/&C*/D
/A∧*/
/B*/D
A*/B*/C*/D
/A*/B*D
A*/D
/A*/C
/A*/B*C*D
/B*/C*D
/B*/C
C*D
/A*B*C*/D
/A*/B*C
/B*D
A*/B*/C*D
/A*C*/D
/B*/D
/A*/B*C*D
/A*B*/D
/A*C
A*/B*C*D
A*/B*/C
/A*C
A*/B*C*D
/A*C*D
A*B*/D
/B*C*D
/A*/B*/C
/A*B*C
C*D
A*/B*D
C*D
B*C*D
/A+B*C
A*C*D
A*/B+D
A*B*C*D
B*C*D
A*C*D
388
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Darstellung der Logikzustandsfunktion F durch disjunkte Verknüpfung aller
konjunktiven Primimplikanten. DNF aller Primimplikanten nicht die einfachste
Normalform von F, weshalb diese zu finden ist.
Aus Beispiel ersichtlich: Funktionstabelle jedes Primimplikanten P umfasst mindestens die eines Minterms M, d.h. die Beziehung
/M + P = 1
ist erfüllt, so dass Primimplikant P den Minterm M impliziert.
Impliziert ein Primpimplikant einen Minterm wird das dem Minterm zugehörige
Intervall durch den betreffenden Primimplikanten überdeckt.
Kleinste Anzahl von Primimplikanten zur Darstellung der Funktion F ist damit
gleichbedeutend der kleinsten Überdeckung des Gesamtintervalls aller Minterme Mi, die gesucht ist. Damit gilt
I G ( F ) = M 1 * M 2 * M 3 * M 4 * M 5 * M 6 * M 7 * M 8 * M 9 * M 10 * M 11
389
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Zur Überdeckung des Teilintervalls Mi können entsprechende Primimplikanten
eingesetzt werden was auf den Booleschen Ausdruck führt:
I G ( F ) = ( P1 + P2 + P3 ) * ( P1 + P3 + P4 ) * ( P1 + P2 + P5 ) * P2 + P3
* ( P1 + P4 + P5 + P6 ) * ( P2 + P5 ) * ( P3 + P4 ) * ( P5 + P6 ) * ( P4 + P6 ) * P6 .
Werden die Pi wie folgt festgelegt,
0
Pi = 
1
wobei Pi = 0 nicht zur Überdeckung verwendet wird, dann ist IG(F) der zur
Normalform F adjungierte Boolesche Ausdruck.
390
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Aufbauend auf Quine-Verfahren konnte McCluskey zeigen wie durch geeignete
Gruppierung der Fundamentalausdrücke der Ausgangsliste vermieden werden
kann jeden Fundamentalausdruck mit jedem anderen zu vergleichen, wodurch
die Prozedur der Listenerzeugung erheblich verkürzt wird. Verfahren von QuineMcCluskey hat Nachteil, da es prinzipiell von der Normalform ausgeht, was bei
Funktion F mit geringer Variablenzahl nicht störend ist, aber bei Funktionen mit
großer Variablenzahl. Um Nachteil zu beheben wurde Verallgemeinerung des
Verfahrens nach Quine-McCluskey eingeführt.
Verwendet Begriff benachbarter Fundamentalausdrücke ⇒ Verallgemeinerung
Begriff benachbarter Minterme bzw. Maxterme. Konjunktiver Fundamentalausdruck besteht aus Konjunktionen negierter und nicht negierter Variablen, jede
Variable kommt nur einmal vor, keine Einschränkung der Allgemeingültigkeit da
Ausdruck aus Konjunktionen negierter und nicht negierter Variablen mit Hilfe der
Booleschen Algebra so weit reduziert wird, dass jede Variable nur einmal auftritt,
sog. Konsensus-Verfahren.
391
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
392
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Sequentieller Logikentwurf
A) Problemstellung
C) Implementations Model
Entwicklung Taktunterteilung
welche das existierenden TaktSignal derart unterteilt das jeweils
nach vier Takten eine 1 am
Ausgang anliegt
a
Kombinatorische Logik
B) Zustands-Diagramm
x=1
x=0
0
a=1
1
a=0
x=0
393
Q0
Zustandsregister
a=0
3
a=1
I1
I0
Q1
a=0
x
I1
I0
D) Zustands Tabelle (Moore-Type)
Eingang
Q1 Q0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
a
0
1
0
1
0
1
0
1
Ausgang
I1
I0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
a=1
a=1
2
x=0
a=0
Implementations Model gegeben:
• Sequentieller Logikentwurf kann in kombinatorischen
Logikentwurf überführt werden
Rechnerstrukturen Teil 1
Prof. Dr. Möller
x
0
0
0
1
3.2 Boolesche Algebra
Sequentieller Logikentwurf
F) Kombinatorische Logik
E) Minimierte Ausgangsgleichungen
I1 Q1Q0
00
a
01
11
10
0
0
0
1
1
1
0
1
0
1
01
11
10
I0 Q1Q0
00
a
0
0
1
1
0
1
1
0
0
1
x Q1Q0
00
a
x
I1 = Q1’Q0a + Q1a’ +
Q1Q0’
I1
I0 = Q0a’ + Q0’a
I0
01
11
10
0
0
0
1
0
1
0
0
1
0
394
a
x = Q1Q0
Q1 Q0
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
395
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Schaltnetzsynthese aus Verknüpfungsgliedern
3.4.3 Vermaschung von Schaltnetzen
3.4.4 Entwurf von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
396
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Binäre Schaltnetze basieren auf dualen Zahlensystem:
→ binäre Funktionen in HW realisiert
→ Zuweisung für binäre Logik durch Schaltvariable, d.h. Variable der binären
Logik, deren Ein- und Ausgangsvariable den Zeichenvorrat 0 und 1
aufweisen, die den Informationsgehalt repräsentieren (Abschnitt 1.3.3)
Schaltung mit k Ein- und m Ausgangsvariablen
→ eindeutige Zuordnung k binärer Eingangszustände zu m binären
Ausgangszuständen (k ≥ 1, m ≥ 1) ⇒ Werte der Ausgangsvariablen A1,
A2, ..., An hängen zu jedem beliebigen Zeitpunkt ausschließlich von
Eingangsvariablen E1, E2, ..., Em zu diesem Zeitpunkt ab.
→ binäres Schaltnetz leistet Zuordnung der Zeichen eines binären k-Bit
Codes zu Zeichen eines binären m-Bit Codes. ⇒ Codeübersetzer
→ spezifische Eigenschaften durch Codezuordnungstabelle angegeben
→ mittels Boolescher Algebra beschreibbar
397
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
398
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Schaltnetze kausal & deterministisch:
Schaltnetze
→ speicherfreie kombinatorische sequentielle Logikschaltungen.
Speicherfreiheit → Ausgangsvariable eindeutig Eingangsvariablen zugeordnet
Schaltnetz durch
•
Wertetabelle:
•
•
•
enthält mögliche Wertekombinationen der Eingangs- und Ausgangsvariablen.
Schaltnetz mit m Eingangsvariablen hat 2m Zeilen.
zu den verschiedenen Wertekombinationen der Eingangsvariablen werden die Werte
der Ausgangsvariablen des Schaltnetzes angegeben
•
•
•
Schaltfunktion
algebraische Beschreibung durch System von n Booleschen Gleichungen
Darstellung Booleschen Funktion durch Komposition aus elementaren
Verknüpfungsgliedern
gegeben.
399
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Schaltnetzentwurf:
1.
2.
3.
4.
Schaltfunktion A = F(E)
F: f1, …, fm Boolesche Funktionen
fi Wertetabelle erstellen
Normalform aufstellen (2 Möglichkeiten)
a.) fi DNF aufstellen
b.) fi KNF aufstellen
5. Minimale Normalform aus KV Tafeln finden
6. Schaltplan erstellen
7. Dokumentation erstellen
400
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
A1 = F1 ( E 1 , E 2 ,..., E m )
A2 = F2 ( E1 , E 2 ,..., E m )
…...
An = Fn ( E 1 , E 2 ,..., E m )
Sowohl Variable Em und An, als auch Schaltfunktionen Fn, können jeweils nur
einen der beiden Werte 0 und 1 annehmen.
⇒ Boolesche Algebra → für jede Ausgangsfunktion eines Schaltnetzes Entwurf der Logikschaltung zu entwerfen.
⇒ Teilschaltungen des Schaltnetzes besitzen stets die gleichen Zustände
→ Vermaschung untereinander unabhängigen Teilschaltungen zu einer
einfacheren Teilschaltung
401
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Eingänge der Teilschaltungen, aus denen Schaltnetz sich zusammensetzt,
besitzen immer die gleichen Zustände, weshalb Vermaschung der untereinander unabhängigen Teilschaltungen zu einer einfacheren Gesamtschaltung
erfolgen kann.
Vermaschung repräsentiert Verbindungsmatrix, welche die direkten Verbindungen zwischen den Knoten der Logikschaltung enthält, sowie die Ausgangsmatrix, welche die Zustandfunktionen der Verbindungen zwischen den
Knoten der Logikschaltung beschreibt.
Verbindungsmatrix entspricht Konstruktionsanweisung der Schaltung
Ausgangsmatrix gibt die logische Struktur wieder
402
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Schaltnetzsynthese aus Verknüpfungsgliedern
3.4.3 Vermaschung von Schaltnetzen
3.4.4 Entwurf von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
403
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Die in Form einer Wertetabelle beschrieben Schaltnetze können in Boolescher
Algebra ausgedrückt werden.
• jeder Ausgang des Schaltnetzes wird durch Zustandsfunktion dargestellt
• gesamtes Schaltnetz wird durch System von Zustandsfunktionen ausgedrückt
• jeder Ausgang kann durch eigenes Schaltnetz entsprechend seinem
Booleschen Ausdruck realisiert werden
• Schaltnetze sämtlicher Ausgänge eines Schaltnetzes ergeben zusammen
Realisierung des gesamten Schaltnetzes
• Teilschaltnetze für die einzelnen Ausgänge unabhängig voneinander
• Realisierung damit unvermascht
• Teilschatnetzen gemeinsam ist, dass Zustand aller Eingangsvariablen der
Teilschaltnetze jeweils gleich ist
• Ermöglicht die Vermaschung der einzelnen Teilschatnetze miteinander
404
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Ausgangspunkt Vermaschung ist unvermaschtes Schaltnetz wobei entweder
• jedes unabhängige Teilschaltnetz die Realisierung einer KNF ist oder
• jedes der Teilschaltnetze die Realisierung einer DNF ist
Beispiel: Wertetabelle Schaltnetz mit fünf Eingänge und fünf Ausgängen
405
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Folgende DNF genügt den Bedingungen der Wertetabelle
F1 = (/ A * B * / C * D * / E ) + ( A * / B * C * / D * / E ) + ( A * / B * C * D * / E )
F2 = (/ A * / B * / C * D * / E ) + (/ A * / B * / C * D * E ) + (/ A * B * / C * D * / E )
+ (/ A * B * / C * D * E ) + ( A * / B * / C * / D * / E ) + ( A * / B * C * / D * / E )
+ (A* / B *C * / D * E) + (A* / B *C * D * / E) + (A* / B *C * D * E)
F3 = (/ A * B * / C * D * / E ) + ( A * / B * / C * D * E ) + (/ A * B * / C * D * / E )
+ (/ A * B * / C * D * E ) + ( A * / B * C * / D * E )
F4 = (/ A * B * / C * D * / E ) + (/ A * B * / C * D * E ) + ( A * / B * C * / D * / E )
+ (A* / B *C * / D * E) + (A* / B *C * D * / E) + (A* / B *C * D * E)
F5 = (/ A * / B * / C * D * / E ) + (/ A * / B * / C * D * E ) + (/ A * B * / C * D * / E )
+ (/ A * B * / C * D * / E ) + ( A * / B * C * / D * / E ) + ( A * / B * C * / D * E )
406
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Folgende fünf DNF genügen Bedingungen der Wertetabelle
F1 = ( A * / B * C * / E ) + (/ A * B * / C * D * / E )
F2 = ( A * / B) + (/ A * / C * D)
F3 = ( A * / B * C * / D * E ) + (/ C * D)
F4 = ( A * / B * C ) + (/ A * B * / C * D)
F5 = ( A * / B * C * / D) + (/ A * / C * D)
Annahme für weitere Betrachtung:
• nur UND- und ODER Verknüpfungsglieder mit jeweils zwei Eingängen
verfügbar,
• Eingänge A, B, C, D, E liegen auch negiert vor
407
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
F1 = (A*/ B*C*/ E) +(/ A*B*/ C*D*/ E)
F2 = (A*/ B) +(/ A*/ C*D)
F3 = (A*/ B*C*/ D*E) +(/C*D)
F4 = (A*/ B*C) +(/ A*B*/ C*D)
F5 = (A*/ B*C*/ D) +(/ A*/ C*D)
408
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Schaltnetzsynthese aus Verknüpfungsgliedern
3.4.3 Vermaschung von Schaltnetzen
3.4.4 Entwurf von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
409
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Ausgangspunkt:
• 5 DNF
F1 = ( A + / B * C * / E ) + (/ A * B * / C * D * / E )
F2 = ( A * / B) + (/ A * / C * D)
F3 = ( A * / B * C * / D * E ) + (/ C * D)
F4 = ( A * / B * C ) + (/ A * B * / C * D)
F5 = ( A * / B * C * / D) + (/ A * / C * D)
•
DNF: konjunktive Fundamentalausdrücke, disjunkt verknüpft
410
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
•
Fundamentalausdrücke zu einer Menge zusammengefasst, Zugehörigkeit
Fundamentalausdruck zu einer Boleschen Funktionen vermerkt, welche
die Ausgänge beschreiben, bspw. durch Nummer
{A*/B*C*/E (1), /A*B*/C*D*/E (1), A*/B (2), /A*/C*D (2), A*/B*C*/D*E (3), /C*D (3),
A*/B*C (4), /A*B*/C*D (4), A*/B*C*/D (5), /A*/C*D (5)}
•
Verfahren zur Vermaschung von Schaltelementen liefert Anordnung der
Fundamentalausdrücke der Menge
1. Menge nummerierter Fundamentalausdrücke wird festgestellt, Fundamentalausdruck /A*/C*D sowohl Bestandteil der Funktion F2 als auch der
Funktion F5, d.h. er ist in der Menge zweimal aufgeführt , wird aber nur
einmal notiert, wobei Zugehörigkeit zu beiden Funktionen vermerkt wird
Beispiel: /A*/C*D (2,5)
2. Identifizieren von Fundamentalausdrücken wird für gesamte Menge durchgeführt. Angegebener Fundamentalausdruck ist einziger Fall in dem das
Identifizieren zweier Fundamentalausdrücke möglich ist. Man erhält:
{A*/B*C*/E (1), /A*B*/C*D*/E (1), A*/B (2), /A*/C*D (2,5), A*/B*C*/D*E (3), /C*D
(3), A*/B*C (4), /A*B*/C*D (4), A*/B*C*/D (5)}
411
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Für unter 2. angegebene Menge von Fundamentalausdrücken resultiert eine
Kette in Verknüpfungsgliedern mit zwei Eingängen
/C*D (3),
/A*/C*D (2,5),
/A*B*/C*D (4),
/A*B*/C*D*/E (1)
412
/C*D (3)
/A*/C*D (2,5)
B*/A*/C*D (4)
/E*B*/A*/C*D (1)
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Für unter 2. angegebene Menge von Fundamentalausdrücken resultiert EINE
Kette in Verknüpfungsgliedern mit zwei Eingängen
A*/B (2),
A*/B*C (4),
A*/B*C*/D (5) A*/B*C*/E (1)
A*/B*C*/D*E (3)
413
A*/B (2),
C*A*/B (4),
/D*C*A*/B (5) /E*C*A*/B (1),
E*/D*C*A*/B (3),
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Vermaschte Schaltung für die 5 DNF benötigt 14 Verknüpfungsglieder und 11
Eingänge
414
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Vermaschtes Schaltnetz bei Verwendung von Verknüpfungsgliedern mit
maximal fünf Eingängen
F1 = ( A* / B*C * / E) + (/ A* B* / C * D* / E)
F2 = ( A* / B) + (/ A* / C * D)
F3 = ( A* / B*C * / D* E) + (/ C * D)
F4 = ( A* / B*C) + (/ A* B* / C * D)
F5 = ( A* / B*C * / D) + (/ A* / C * D)
415
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Vermaschung
repräsentiert
• Verbindungsmatrix, welche direkte Verbindungen zwischen den Knoten
der Logikschaltung enthält,
• Ausgangsmatrix, welche die Zustandfunktionen der Verbindungen
zwischen den Knoten der Logikschaltung beschreibt.
Zur Darstellung binärer Schaltungen auf Ebene von Einzelschaltern wird auf
die
Verbindungsmatrix, →entspricht Konstruktionsanweisung der Schaltung,
und die
Ausgangsmatrix, → gibt logische Struktur wieder
zugegriffen.
416
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel:
Verbindungsmatrix einer binären Schaltung
Vermaschte Schaltung durch Knoten 1, 2, 3, 4 in Abschnitte unterteilt.
Knoten: markiert Punkt in Logikschaltung
Knoten: Verzweigungspunkte bzw. Klemmen einer Schaltung gewählt.
Direkte Verbindung zwischen zwei Knoten entspricht Schaltungsweg (Realisierung).
Damit können Schaltnetze derart notiert werden, das es möglich ist, unmittelbar die
direkten Verbindungen zwischen den Knoten abzulesen.
A
1
B
2
C
4
D
3
417
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Schaltung in Form notiert, die es ermöglicht, unmittelbar direkte Verbindungen
zwischen allen Knoten abzulesen ⇒ quadratisches Schema
Verbindungsmatrix
Diagonalglieder der Verbindungsmatrizen sind stets 1
ν11 ν12

ν21 ν22
ν =
.
.

νm1 νm2
418
. ν1n 

. ν2n 
. . 

. νmn 
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
A
1
B
2
C
4
D
3
v11 stellt Verbindungsweg des Knoten 1 zum Knoten 1 dar, d.h. v11 ist Boolesche
Funktion die konstant 1 ist (Diagonalglied),
v12 kennzeichnet Verbindungsweg vom Knoten 1 zum Knoten 2, d.h. v12 ist A,
v13 stellt Schaltungsweg vom Knoten 1 zum Knoten 3 dar, d.h. v13 ist hier 0, da keine
direkte Verbindung besteht, etc.
Allgemein beschreibt vmn Verbindungsweg vom Knoten m zum Knoten n.
Besteht für Verbindungsweg von einem Knoten m zu einem Knoten n keine direkte
Verbindung, dann ist vmn = 0.
Quadratisches Schema, welches die direkten Verbindungen der Knoten beschreibt,
repräsentiert die Verbindungsmatrix oder Netzwerkmatrix
419
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Verbindungsmatrix für die vermaschte Schaltung lautet
A
1
B
2
C
4
1 A0 B 
 A10C 

V =
001D 


 BCD1
D
3
Diagonalglieder von Verbindungsmatrizen sind stets 1. Im o.a. Beispiel ist die
Verbindungsmatrix v symmetrisch, d.h. vik = vki
420
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel:
Ausgangsmatrix einer binären Schaltung
Für ein Verbindungsnetz mit vier Knoten erhält man für die Ausgangsmatrix:
ν11 ν12

ν 21 ν 22
ν =
.
.

ν ν
 m1 m2
421
. ν1n 

. ν 2n 
. . 


. ν mn 
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Für das Verbindungsnetz mit vier Knoten erhält man für die Ausgangsmatrix die Matrix
A + ( B * C)
B * D + ( A* C * D) B + ( A* C) 
1



A + ( B * C)
C * D + ( A* C * D) C + ( A* B) 
1

v =

B * D + ( A*C * D) C * D + ( A* B * D)
D
1


 B + ( A * C)

C + ( A* B)
D
1


422
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Schaltnetzsynthese aus Verknüpfungsgliedern
3.4.3 Vermaschung von Schaltnetzen
3.4.4 Entwurf von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
423
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Schaltnetzentwurf möglich durch
• logisches Schließen,
• systematisches Probieren
um die den gestellten Anforderungen zu erfüllen.
Für komplexere Sachverhalte allgemeingültige Lösungsstrategie zweckdienlich,
in Form eines Algorithmus abarbeitbar und brauchbare Lösung liefert.
424
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
1. Analyse der Aufgabenstellung
→ Erkenntnis ob Lösung mittels Schaltnetz möglich
→ Festlegung unabhängiger und abhängiger binärer Schaltvariablen durch
deren Werte sich die Aufgabenstellung vollständige beschreiben lässt
2. Funktionstabelle zur Beschreibung des Schaltnetzes
→ Darstellung der Beziehungen zwischen unabhängigen und abhängigen
Schaltvariablen
3. Ableitung DNF und KNF aus Funktionstabelle für zu beschreibende Schaltfunktionen des Schaltnetzes
4. Mit verfügbaren Komponenten für die booleschen Verknüpfungen Sachaltbild des Schaltnetzes entwerfen
5. Schaltbild in technische Realisierung übersetzen indem man Komponenten
verbindet und mit Energie versorgt; danach statische und dynamische Tests
425
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Schaltnetz durch Ergänzung eines vorgegebenen Schaltnetzes realisieren:
Zu entwerfendes Schaltnetz besitzt Eingangsvariable E1, E2, E3, … und
Ausgangsvariable Ag1.
⇒ Schaltfunktion Ag1 = fg1 (E1, E2, E3, …)
Realisierung des Schaltnetz unter Verwendung von vorgegebenen Schaltnetz 1
mit Eingangsvariablen E1, E2, E3, …A1 und Ausgangsvariable Av1.
⇒ Schaltfunktion Av1 = fv1 (E1, E2, E3, …A1)
Schaltnetz 1 in Form höher integrierter elektronischer Schaltung fest konfiguriert
vorhanden, wird durch noch zu bestimmendes Schaltnetz 2 ergänzt, zu entwerfendes Schaltnetz durch Schaltfunktion Ag1 = fg1 (E1, E2, E3, …A1)beschrieben.
426
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel:
427
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
⇒ Entwurf von Schaltnetzen an binärwerten Konstrukten orientiert, die
Eigenschaften einer gegebenen Zuordnungstabelle erfüllen.
Vorteil Zuordnungstabelle:
→ idealer Ausgangspunkt für Schaltungssynthese, d.h. liefert
Darstellungssätze der Schaltalgebra
→ Verfahren zur Ermittlung Boolescher Ausdrücke
→ für jede Zuordnungstabelle lassen sich verschiedene algebraische
Ausdrücke, in jedem Fall mindestens zwei
→ für Darstellungssätze schaltalgebraischen Ausdrücke Boolescher
Variablen sind zwei grundlegende Begriffe gebräuchlich:
→ Minterm
→ Maxterm.
428
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel:
Motor mit Rechts- und Linkslauf soll mit Warnanzeige ausgerüstet werden
•
Motor enthält Funktionsschalter damit er für unterschiedliche Anwendungen
eingesetzt werden kann
•
Funktionsschalter hat zwei Stellungen
• Stellung a: Warnanzeige leuchtet bei Rechts und Linkslauf
• Stellung b: Warnanzeige leuchtet nur dann wenn Motor nicht rechts herum
läuft
429
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Textuelle Analyse der Aufgabenstellung
Eingänge des Schaltnetzes:
•
mit Funktionsschalter erzeugte binäre Schaltvariable F mit den Werten
•
•
•
F= 0: Warnanzeige leuchtet bei Rechts- und Linkslauf
F= 1: Warnanzeige leuchtet, wenn nicht Rechtslauf
durch Geber für Rechtslauf erzeugt binäre Schaltvariable Gr mit den Werten
•
•
•
Gr = 0: nicht Rechtslauf
Gr = 1: Rechtslauf
durch Geber für Linkslauf erzeugt binäre Schaltvariable Gl mit den Werten
•
•
Gl = 0: nicht Linkslauf
Gl = 1: Linkslauf
Schaltnetz hat nur einen Ausgang, bewirkt, dass Warnanzeige betätigt wird oder nicht.
Schaltnetz hat dafür eine Schaltvariable W mit den Werten
•
•
430
W= 0: Warnlampe aus
W= 1 Warnlampe an
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel: Beschreibung des Schaltnetzes durch Wertetabelle
F
Gr
Gl
W
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
x
physikalisch unmöglich
1
0
0
1
nicht Rechtslauf
1
0
1
1
nicht Rechtslauf
1
1
0
1
Rechtslauf
1
1
1
x
physikalisch unmöglich
Motor steht still
Rechts- oder Linkslauf
Rechts- oder Linkslauf
Durch Einführen von don´t care Feldern (* oder x) bei nicht vorkommenden Eingangskombinationen (Minterme) lassen sich Vereinfachungen erzielen. Felder *
oder x erhalten dabei den (fiktiven) logischen Wert 1 (bzw. 0)
431
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.2 Boolesche Algebra
Beispiel: Beschreibung des Schaltnetzes durch Wertetabelle
F
Gr
Gl
W
0
0
0
0
0
0
1
1
0
1
0
0
1
1
F
Gr G l
0
1
1
00
0
1
1
x
01
1
1
0
0
1
1
0
1
1
11
1
1
1
1
0
0
10
1
0
1
1
1
x
432
Rechnerstrukturen Teil 1
Minterme:
F*/Gr, /F*Gr, Gl
DNF:
F=(F*/Gr)+(/F*Gr)+Gl
Prof. Dr. Möller
3.4 Schaltnetze
Schaltbild des zu entwerfenden Schaltnetzes
433
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel
Heizungssteuerung
Heizölzufuhr für eine Heizung soll mit Schaltern
•
Schalter A befindet sich im Keller,
•
Schalter B in der Wohnung,
ein- bzw. ausgeschaltet werden.
Sicherheitsschalter C wird durch Thermoelement gesteuert, C wird geschlossen, wenn
die Zündflamme erlischt. In diesem Fall wird die Ölzufuhr unterbrochen und der Alarm
ausgelöst.
434
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Heizungssteuerung
435
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Analyse der Aufgabenstellung:
Schaltung so zu konzipieren, dass Pumpe beim Betätigen von A oder B ein- bzw. ausgeschaltet wird. Wenn Schalter C geschlossen ist, soll eine Sperre S aktiviert werden,
welche die Pumpe ausschaltet und den Alarm auslöst.
Binäre Codierung
A / B geschlossen → 1
C geschlossen → 1
S aktiviert → 1
Funktionsgleichung
S wird aktiviert, wenn Zündflamme aus ist oder keiner der Handschalter
geschlossen ist
S = C + (/A * /B)
436
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Heizungssteuerung
437
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Alternativ kann man eine entsprechende Schaltung konstruieren, die nur aus NANDBausteinen besteht:
Es gilt dann:
S = (A NAND A) NAND (B NAND B) NAND (C NAND C)
Heizungssteuerung
438
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Beispiel:
Pumpensteuerung
Zur Trinkwasserversorgung eines entlegen gelegenen Hauses wurde auf dem Dach ein
Vorratsbehälter installiert. Das Wasser wird durch eine Hauptpumpe (HP) bzw. bei deren
Versagen durch eine Reservepumpe (RP) in den Vorratsbehälter gepumpt.
Zur Steuerung der Pumpen sind an diesen und am Behälter Sensoren befestigt, die
melden, wenn der Vorratsbehälter nicht mehr ausreichend gefüllt ist bzw. die Pumpen
defekt sind.
Das Schaltnetz zur Steuerung der Pumpen ist zu entwickeln, welches ein Alarmsignal
abgibt, wenn beide Pumpen defekt sind.
439
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Wasserbehälter
440
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Pumpensteuerung
Binäre Codierung
Vorratsbehälter ausreichend gefüllt → a = 1
Hauptpumpe in Ordnung → b = 1
Reservepumpe in Ordnung → c = 1
Hauptpumpe eingeschaltet → h = 1
Reservepumpe eingeschaltet → r = 1
441
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Pumpensteuerung
Wahrheitswertetabelle unter der Annahme erstellt, das gesuchter Term bekannt sei:
442
a
b
c
h
r
Alarm
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Pumpensteuerung
Normalform/Umformungen
Für h gilt: Anzahl der Nullen > Anzahl der Einsen → DNF
h = (/a * b * /c) + (/a * b * c)
h = (/a * b) * (/c + c)
h = (/a * b) * 1
h = (/a * b)
Für r gilt: Anzahl der Nullen > Anzahl der Einsen → DNF
r = /a * /b * c
443
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
444
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4.4 Entwicklung von Schaltnetzen
1. Analyse der Aufgabenstellung
→ Erkenntnis ob Lösung mittels Schaltnetz möglich
→ Festlegung unabhängiger und abhängiger binärer Schaltvariablen durch
deren Werte sich die Aufgabenstellung vollständige beschreiben lässt
2. Funktionstabelle zur Beschreibung des Schaltnetzes
→ Darstellung der Beziehungen zwischen unabhängigen und abhängigen
Schaltvariablen
3. Ableitung DNF und KNF aus Funktionstabelle für zu beschreibende Schaltfunktionen des Schaltnetzes
4. Mit verfügbaren Komponenten für die booleschen Verknüpfungen Sachaltbild des Schaltnetzes entwerfen
5. Schaltbild in technische Realisierung übersetzen indem man Komponenten
verbindet und mit Energie versorgt; danach statische und dynamische Tests
445
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Synthese von Schaltnetzen aus Verknüpfungsgliedern
3.4.3 Verfahren zur Vermaschung von Schaltnetzen
3.4.4 Entwicklung von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
446
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Statische Prüfung
Simulation der Eingangssignale mittels einfacher Schalter
→ Ermittlung der Ausgangsvariablen als Folge der Eingangssignale
→ Erhaltene Ausgangsvariable mit Werten der Ausgangsvariablen verglichen
die sich aus
o
o
o
Aufgabenstellung
Funktionstabelle
Schaltfunktionen
ergeben
Im Fehlerfall können Ursachen sowohl im Entwurf als auch in der Ausführung
der Schaltung liegen. Man überprüft in der Regel ob realisierte Schaltung die
entwickelte Schaltfunktion tatsächlich richtig wiedergibt
447
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Dynamische Prüfung
Schaltnetz arbeitet einwandfrei
→ statische Prüfung weist keine Fehler auf; Schaltnetz trotzdem nicht für alle
Anwendungsfälle geeignet
Beispiel:
Für einen Ausgang gibt es mehre Wege auf denen Eingangsvariable auf den
Ausgang einwirkt → je nachdem wie viele Gatter die Signale zu durchlaufen
haben unterscheiden sich die Signallaufzeiten auf diesen Wegen
448
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Dynamische Prüfung
Beispiel:
Wert Ausgangsvariable geht kurzzeitig auf 1 nach Änderung des Werts einer
der Eingangsvariablen, obgleich nach statischem Entwurf Ausgangsvariable für
beide Werte der Eingangsvariablen den Wert 0 besitzt.
Derartige dynamische Fehler werden kombinatorische Übergangseinbrüche
genannt (combinational hazards [hazards: Risiken, Gefahren])
⇒Hazard: Abweichung eines Schaltnetzes von der logischen Vorgabe
Dauer kombinatorischer hazards liegt in Größenordnung der Signallaufzeiten
durch ein oder mehrere Gatter des Schaltnetzes
449
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Dynamische Prüfung
Vom Eingang B zum Ausgang F gibt es zwei Wege:
•
über ein UND- und ein ODER-Gatter
•
über ein NICHT-, ein UND- und ein ODER-Gatter
Wird B von 1 auf 0 geändert darf sich Wert der Funktion F = (A*B)+(/B*C) nicht ändern
450
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
3.4.Schaltnetze
3.4.1 Binäre Schaltnetze
3.4.2 Synthese von Schaltnetzen aus Verknüpfungsgliedern
3.4.3 Verfahren zur Vermaschung von Schaltnetzen
3.4.4 Entwicklung von Schaltnetzen
3.4.5 Prüfen von Schaltnetzen
3.4.6 Zeitverhalten
451
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.4 Schaltnetze
Zeitliche Verläufe der verschiedenen Signale im Schaltnetz unter der Annahme
dargestellt, das sich jedes Gatter wie ein Totzeitglied verhält ,bei gleichen Totzeiten
Kombinatorischer Übergangseinbruch bei Wert B von 1 auf 0
452
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Anwenderprogrammierbare Logikbausteine (PLD) lassen sich durch
¾programmierbare Elemente
¾deren Zusammensetzung zu Logikblöcken erster und zweiter Ordnung
beschreiben.
In jedem IC dieser Klasse enthaltene Grundelemente sind:
ƒ Eingangsblock
ƒ Programmierbare UND- bzw. ODER-Zelle (bzw. NAND-,NOR-Zelle)
ƒ Ausgangsblock
ƒ Programmierbare Rückkopplung
453
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
454
UND-
ODER-
MATRIX
MATRIX
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Programmierbare UND- bzw. ODER-Matrix basiert auf einheitlichem
Grundprinzip:
⇒ jedes programmierbare Gatter erhält definierte Anzahl von Eingängen,
die mit Eingangsblock oder anderer Zelle verbunden sein können so
dass sowohl ein normaler als auch ein negierter Eingang an der Zelle
anliegen.
⇒ Programmierelemente im unprogrammierten Zustand intakt, d.h. nicht
unterbrochen, bedeutet für UND-Zelle dass logische Verknüpfung
immer logisch „0“ ergibt, für ODER-Zelle dementsprechend immer
logisch „1“.
⇒ offene, d.h. unterbrochene Eingänge für UND-Zellen sind mit dem
Wert logisch „1“, für ODER-Zellen mit logisch „0“ belegt.
455
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
unprogrammiert
inaktiv
&
&
E1
E1
E2
E2
A = E1
&
A = /E1 * E2
A
456
&
A
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Entwurf eines universellen Logikbausteins der vier Eingänge nach Wahl als UND, ODER, NOR
bzw. NAND Gatter verknüpft; Logik soll in PLD Baustein implementiert werden.
457
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
458
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Für einen Einplatinencomputer für Steuerungsaufgaben soll die Adressdecodierung mit Hilfe eines programmierbaren Logikbausteins vom Typ GAL16V8
realisiert werden, durch die der entsprechende Baustein aktiviert wird. Die
Belegung des Speicherbereichs sei folgende:
459
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Um für jeden Baustein die Schaltfunktion des Aktivierungssignals ermitteln zu
können, sind die hexadezimalen Adressen in binäre Werte umzurechnen. Im
Anschluss daran können die gesuchten Produktterme gebildet werden, indem
man ein Adressenbit invertiert, wenn es den Wert 0 aufweist, andernfalls bleibt
es unverändert. Die Aktivierungsgleichungen für /CSR, /CSE, /CSP und CSDA
lauten:
/CSR
0000.0000.0000.0000
0001.1111.1111.1111
/CSE
0100.0000.0000.0000
0111.1111.1111.1111
/CSP
1100.0000.0000.0000
1100.0000.0011.1111
CDSA
1100.0000.0011.1111
1100.0000.0111.1111
/CSR = /A13 * /A14 * /A15
/CSE = A14 * /A15
/CSP = /A6 * /A7 * /A8 * /A9 * /A10 * /A11 * /A12 * /A13 * A14 * A15
CSDA = A6 * /A7 * /A8 * /A9 * /A10 * /A11 * /A12 * /A13 * A14 * A15
460
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
Die ermittelten Aktivierungsgleichungen sind als Programmiermodell für den
programmierbaren Logikbaustein vom Typ GAL16V8 anzugeben.
*IDENTIFICATION
*TYPE
GAL16V8;
*PINS
A6 = 2,
A7 = 3,
A8 = 4,
A9 = 5,
A10 = 6,
A11= 7,
A12 = 8,
A13 = 19,
A14 = 18,
A15 = 17,
/CSR = 16,
/CSE = 15;
/CSP = 14;
CSDA = 13;
*BOOLEAN EQUATION
/CSR = /A13 * /A14 * /A15;
/CSE = /A14 * /A15;
/CSP = /A6 * /A7 * /A8 * /A9 * /A10 * /A11 * /A12 * /A13 * /A14 * /A15;
CSDA = /A6 * /A7 * /A8 * /A9 * /A10 * /A11 * /A12 * /A13 * /A14 * /A15;
*END
461
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
462
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Einschub Grundlagen PLD
463
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
464
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
465
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
466
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Schaltnetz dadurch gekennzeichnet, dass Wert einer Ausgangsvariablen zu
irgendeinem Zeitpunkt nur vom Wert der Eingangsvariablen zum gleichen
Zeitpunkt abhängt;
Schaltwerk verfügt neben Schaltnetz auch über funktionelle Zeitabhängigkeit,
repräsentiert durch Speicherglieder
Eingangssignale
Ausgangssignale
Schaltnetz
Taktsignal
467
Speicherglieder
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Schaltwerk hat k Speicherglieder
→ k innere Zustandsvariablen,
→ 2k verschiedene innere Zustände.
Schaltwerke unterteilt in
• synchron
• asynchron
468
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
•
Funktionseinheit zum Verarbeiten von Schaltvariablen, deren Ausgangswerte zu einem beliebigen Zeitpunkt von Eingangswerten zu diesem und
endlich vielen vorangegangenen Zeitpunkten abhängen
unterscheidet sich vom Schaltnetz durch seine inneren Zustände
Innere Zustandsvariable Q des Schaltwerks als Ausgänge elementarer
Speicherglieder realisiert, die jeweils Speicherung des Wertes einer
binären Schaltvariablen ermöglichen
Menge von Zustandsvariablen, enthält auch Glieder Boolescher Verknüpfungen zur Realisierung kombinatorischer Logikfunktionalität
Werte der Ausgangsvariablen ergeben sich im Zeitpunkt n aus Werten der
Eingangsvariablen und inneren Zustandsvariablen im gleichen Zeitpunkt.
•
•
•
•
469
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Werte der Ausgangsvariablen im Zeitpunkt n aus Werten der Eingangsvariablen und inneren Zustandsvariablen im gleichen Zeitpunkt bestimmt:
A1n = F1 ( E 1n , E 2n ,..., E mn ;Q 1n , Q 2n ,..., Q mn )
A2n = F2 ( E 1n , E 2n ,..., E mn ;Q 1n , Q 2n ,..., Q mn )
…..
Amn = Fm ( E 1n , E 2n ,..., E mn ;Q 1n , Q 2n ,..., Q mn )
F1, F2, ... , Fm als Schaltfunktionen.
470
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
471
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Synchrones Schaltwerk:
• Eingangsvariable müssen Randbedingungen für Synchronisation erfüllen,
d.h. Eingangsvariable ändern Werte in bestimmten Zeitintervallen nicht
• Zeitpunkte wichtig zu denen Ausgangssignale betrachtet werden.
• Abläufe im Schaltwerk durch synchronisierende Taktsignale synchronisiert
d.h. des Schaltwerkinhalt ändert sich nur bei Eintreffen eines Taktsignals.
• Binäre Werte vom Speicherglied synchron bei Taktflanke übernommen,
bei ansteigender als auch bei abfallender Taktflanke
• Speicherglieder speichern interne Zustände, bezüglich des Zustands der
Speicherglieder wird vom inneren Zustand des Schaltwerks gesprochen.
• Modelle zur Beschreibung des funktionalen Verhalten vorhanden,
entstammen der Automatentheorie wobei hinsichtlich ihrer Komplexität
unterschiedliche Automaten als Schaltwerksmodelle unterschieden
werden.
472
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Eingangssignale
x
Ausgangssignale
g(u, x)
y
f(u, x)
u(t
u(t )
n
Taktsignal
n+1
)
Speicherglieder
C
473
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beschreibung des Schaltwerkes anhand der Notation
x = [ x 1 , x 2 ,..., x n ]
als Eingangsvektor,
y = [ y 1 , y 2 ,..., y n ]
als Ausgangsvektor,
ntu=
([)1
),
u(tn ) = [u1(tn ),u2 (tn ),...,un (tn )]
als aktueller Zustand und
u ( t n +1 ) = [ u1 ( t n +1 ), u 2 ( t n +1 ),..., u n ( t n +1 )]
als nächster Zustand, mit x1, x2,..., xn: als Eingangsvariable , y1, y2,..., yn: als
Ausgangsvariable, u1, u2,..., un: als Zustandsvariable.
474
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
•
Eingangsvektor x und Ausgangsvektor y charakterisieren gesamtes
Schaltwerk,
Zustandsvektor u unterscheidet zwischen
o gegenwärtigen am Schaltnetz gültigen Zustand u(tn)
o erzeugten und erst demnächst, d.h. nach einer Verzögerung
wirksamen Zustand u(tn+1)
ntu=
([)1
),
•
475
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
476
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Zustandsautomat (State Maschine)
• synchrones Schaltwerk, bekommt zur Speicherung prominentes
Signal, den Takt.
• repräsentiert wesentliche Funktionseinheiten digitaler Datenverarbeitungssysteme, z.B. im
o Steuerwerk
o Rechenwerk.
• einfache und zusammengesetzte Zustandsmaschinen bei
industriellen Steuerungen in umfangreichem Maße eingesetzt.
477
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
a)
Vereinfachtes Modell
b)
Tabelle Getränkeautomat
478
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
•
•
•
Eingabe erfolgt zu diskreten Zeitpunkten ti; i= 0, 1, 2, …, n
Automat reagiert auf Eingaben mit entsprechenden Antworten
Antworten auf eine bestimmte Eingabe können irgendwann zwischen dieser
Eingabe und der nächsten erfolgen
Synchronisation der Operationen indem Automat nur zu festgelegten Zeitpunkten
(Taktsignalen) betrachtet
Antworten des Automaten auf eine Eingabe zum Zeitpunkt ti erscheint zum
Zeitpunkt ti+1
Automat besitzt zwei unterschiedliche Zustände:
o Externe (sichtbare) Zustände → Kaffeeausgabe des Automaten
o Innere (nicht sichtbare) Zustände → Zustand des Automaten bei
Kaffeeausgabe
•
•
•
479
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
Zustände:
•
Nach Geldeinwurf: Automat geht in Folgezustand Warten
•
Nach Auswahl, z.B. Kaffe wechselt Automat in den nächsten Folgezustand Kaffee
•
N.B. sowohl bei diesem Zustand als auch zum vorherigen Zustand wird nichts
ausgegeben, da beide Zustände innere Zustände repräsentieren
•
Nach Auswahl nur Milch oder nur Zucker oder Milch und Zucker (Zustände
Kaffee-Milch, Kaffee-Zucker, Kaffee-Milch-Zucker) wechselt Automat in den
Zustand Ausgabe und liefert z.B. Kaffee mit Milch und Zucker
•
Automat geht in den inneren Zustand Bereit über
480
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
Tabelle Getränkeautomat
481
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
Resümee:
•
Operationen des Automaten durch diskrete Taktsignale synchronisiert
•
Verhalten des Automaten deterministisch → Verhalten auf gegebene Folge von
Eingaben vollständig vorhersagbar
•
Automat reagiert auf Eingaben
•
Automat kann endliche Anzahl von Zuständen einnehmen
•
Zu jedem gegebenen Zeitpunkt befindet sich der Automat in einem dieser
Zustände; welchen Zustand der Automat als nächstes einnimmt sowohl von der
Eingabe als auch vom aktuellen Zustand abhängig
•
Automat erzeugt Ausgaben, vom aktuellen Zustand abhängig
→ Gedächtnis in Form von Zuständen und Eingaben
482
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Endlicher Zustandautomat (DEA;DFA;FSM)
Definition
Endlicher deterministischer Zustandsautomat (FSM) durch ein 6-Tupel
(E, A, Z, z0, ω,δ) definiert. Dabei sind:
• E: Eingabemenge (endlich)
• A: Ausgabemenge (endlich)
• Z: Zustandsmenge (endlich)
• z0: Startzustand (Element aus Z)
• ω: Funktion zur Berechnung der aktuellen Ausgabe
• δ: Funktion zur Berechnung des Folgezustands
483
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel:
•
Eingabemenge E Getränkeautomat enthält als Elemente
• Münzeinwurf
• Kaffeetasse
• etc.
Ausgabemenge A beinhaltet Ausgabe der jeweiligen Getränke, aber auch nichts
Zustandsmenge Z besteht aus
• Kaffee-Zustand
• Warte-Zustand
• etc.
Startzustand z0 ist hier der Bereitschafts-Zustand
ω und δ sind Abbildungen zwischen den drei Mengen
•
•
•
•
484
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Darstellungsformen
Zustandsautomaten auf verschiedene Weise beschrieben:
• graphisch,
• tabellarisch,
• textuell → für Finite State Machine Syntax (FSM) wichtig
485
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Repräsentation FSM
•
•
•
•
•
Kreise repräsentieren Zustände
Doppelkreis beschreibt Startzustand
Kanten beschreiben die Transition von einem Zustand in den nächsten
Jede Kante ist durch Kondition gekennzeichnet
Trennungsstrich weist auf separate Aktion hin
•
486
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Darstellungsformen
Erweiterung der Funktionstabelle für Schaltnetze
Zustandsfolgetabellen:
→ beschreiben Funktion eines Zustandsautomaten;
→ beinhalten als Eingangsvariablen Komponenten des Eingangsvektors x und
des Zustandsvektors u(tn),
→ beinhalten als Ausgangsvariable Komponenten des Ausgangsvektors y und
Komponenten des Folgezustandsvektors u(tn+1),
→ für jede Ausgangskomponente kann Schaltnetz in DNF oder anderer Form
synthetisiert werden → Speicherfunktion wird geeigneten Registertyp
übertragen.
Zustandsgraphen
→ beschreiben in graphischer Form das Verhalten von Zustandsautomaten.
Hierzu werden Knoten und Kanten benutzt, wobei die Knoten, dargestellt
als Kreise, die inneren Zustände des Automaten darstellen.
487
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel Zustandsgraph:
Vorwärts-Rückwärtszahler
•
einschrittige Kodierung, mit jedem Übergang ändert sich nur ein einziges Bit
•
Zählrichtung: Eingang '1', wird aufwärts, andernfalls abwärts gezählt
•
Zustandsdiagramm des modulo-4-Vorwärts-Rückwärts-Zählers:
488
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
DEA (DFA) besitzt wichtige Eigenschaften zur technischen Realisierung von
Zustandsautomaten wie z.B.:
•
•
Startzustand, beim Einschalten und beim Reset eingenommen
für jede Bedingung genau ein Übergang in den Folgezustand, der auch der
bisherige Zustand sein kann (Determinismus),
Existenz mindestens eines Endzustands, bei DFAs z.B. zur Erkennung
einer Grammatik notwendig, in technischen Systemen eher vernachlässigt
•
489
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Ausgabe:
Vorwärts-Rückwärtszahler
•
einschrittige Kodierung, mit jedem Übergang ändert sich nur ein einziges Bit
•
Ausgabe durch aktuellen Zählerstand als Binärwert beschrieben
•
Zustandsdiagramm für diesen Automaten
490
Rechnerstrukturen Teil 1
z1
z2
y1
y2
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1
Prof. Dr. Möller
3.5 Schaltwerke
Finite State Machine Syntax
FSM an DEA-Darstellung angelehnt (DEA)
→ als Zustandsgraphen dargestellt,
→ entspricht gerichteten beschrifteten Graph
→ Knoten und Kanten zur Darstellung genutzt
→ Knoten, dargestellt als Kreise, stellen Zustände des DEA (DFA) dar.
Kanten, richtungweisende Linien zwischen den Knoten, kennzeichnen Übergang zwischen zwei aufeinander folgenden Zuständen. Kanten z.B. mit Binärwerten des Eingangsvektors bezeichnet, um Bedingungen zum Transfer in
einen anderen Folgezustand zu benennen.
491
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Wesentliche Sprachelemente in FSM sind:
• Deklarationen von Inputpins (nur extern),
• Deklarationen von internen Knoten und Outputpins mit Angabe des Typs
(Registertyp, kombinatorisch),
• Deklarationen von Konstanten, auch in vektorieller Form,
• Kombinatorische Gleichungen,
• Bezeichnung von Zuständen und Zuordnung zu Ausgangspins oder
internen Knoten,
• Formulierung von Bedingungen für den Übergang zwischen verschiedenen
Zuständen; hierfür werden Sprachkonstrukte wie IF..THEN..ELSE,
CASE..ENDCASE, GOTO usw. benötigt,
• Innerhalb CASE .. ENDCASE Konstrukts wird für Zustand der oder die
Nachfolgezustände festgelegt sowie Bedingungen, unter denen Übergang
zwischen den Zuständen erfolgen soll beschrieben.
492
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
493
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Bezeichnung Mealy Schaltwerk geht auf Veröffentlichung von George Mealy zurück.
Definition
Endlicher deterministischer Automat (DEA) mit Ausgabe wird MealyAutomat genannt, wenn er durch ein 6-Tupel (E, A, Z, z0, ω, δ) definiert
ist. Dabei repräsentieren
•
•
•
•
•
•
E finiten Satz des Eingangs Alphabets (E=[e0, ,,, ,en] )
A finiten Satz des Ausgabe Alphabets (A=[ao, …, a n] )
Z finiten Satz (endliche nicht leere Menge) von Zuständen (Z = [ z0, ... , zn])
z0 den Anfangszustand (z0 ∈ Z)
ω die Ausgangsfunktion (ω : Z × E → A).
δ die Transition (Überführungsfunktion) (δ : Z × E → Z).
494
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Schematische Darstellung des Mealy Schaltwerks
Ausgabe nicht nur von aktuellem Zustand abhängig sondern auch von der Eingabe
(gestrichelter Pfeil) → zwei Möglichkeiten zum Ändern der Ausgabe
• Änderung der Eingabe
• Änderung des inneren Zustands
Eingangssignale
Ausgangssignale
Schaltnetz
Taktsignal
495
Speicherglieder
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Automatentheorie: Mealy Schaltwerk → finiter Zustandsautomat bei dem die
Ausgänge durch die aktuellen Zustände der Eingänge festgelegt sind.
Zustandsdiagramm Mealy Automat beinhaltet ein Ausgangssignal für jede
Übertragungskante
Beispiel:
Zustandsübergang Mealy Automat von Zustand 1 in Zustand 2 für Eingang 0 resultiert
im Zustand 1 für den Ausgang (Kante wird mit 0/1 gekennzeichnet)
Im Vergleich dazu hängt der Ausgangs beim Moore Automat nur vom aktuellen
Zustand ab und nicht vom aktuellen Eingangszustand
496
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Bezeichnung Moore Schaltwerk geht auf Veröffentlichung von Edward Moore zurück.
Definition
Ein endlicher Automat mit Ausgabe wird Moore-Automat genannt,
wenn er durch einen 6-Tupel (E, A, Z, z0, ω, δ)definiert ist, dessen
Ausgabefunktion ω: Z→A nur vom aktuellen Zustand abhängt. Die Anzahl der Zustände des Moore-Automaten ist größer oder gleich
der Anzahl der Zustände des entsprechenden Mealy Automaten
497
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Schematische Darstellung des Moore Schaltwerks
Ausgabe nur von aktuellem Zustand abhängig
→ Ausgabe ändert sich nur dann, wenn sich auch der Zustand ändert
Eingangssignale
Ausgangssignale
Schaltnetz
Taktsignal
498
Speicherglieder
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Unterschiede zwischen Moore und Mealy Automat prinzipieller Natur:
• Moore-Automat kann Änderung einer Eingangsvariablen grundsätzlich
erst bei nächster Taktflanke am Ausgang des Schaltwerks zeigen
• Mealy-Automat Eingangsvariablen können Ausgang direkt beeinflussen.
499
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
500
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Resümee:
• Mealy Schaltwerk: Für jeden Zustand sind, gesteuert von den Eingängen,
verschiedene Ausgänge möglich → direkter Durchgriff der Eingänge auf
die Ausgänge und sofortige Reaktion der Ausgänge auf die Eingänge
möglich.
• Moore Schaltwerk: Ausgänge hängen nur vom Zustand ab → Eingänge
können Ausgänge nicht direkt beeinflussen. Für Ausgangs Änderungen ist
Zustandwechsel notwendig →immer erst mit der nächsten Taktflanke
• Mealy und Moore Schaltwerk durch Zustandsgraphen beschrieben.
• Ausgänge hängen beim Mealy Schaltwerk von Eingängen ab, sind im
Graphen nicht mehr den Zuständen sondern den Zustandsübergängen
zugeordnet, die ebenfalls von Eingängen abhängen
• Ein- und Ausgangsbitmuster direkt aufgeschrieben, durch Schrägstrich
getrennt.
Beispiel: E1 E2 / A1 A2
501
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Mealy Schaltwerk
Z
502
/E1 E2 / A1 A2
01 / 11
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel Speicherwerk:
wichtige Teilgruppe synchroner Schaltwerke
503
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Beispiel Steuerwerk:
wichtige Teilgruppe synchroner Schaltwerke
•
Steuerwerk bildet der Aufbau von Mikroprogramm-Steuerwerken zur Befehlssteuerung in Mikroprozessoren.
•
Mikroprozessor-Befehl wird in Folge so genannter Mikrobefehle zerlegt.
•
Die entsprechende Sequenz wird in einem Mikroprogramm-Speicher abgelegt.
504
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
3.5 Schaltwerke
3.5.1 Binäre Schaltwerke
3.5.2 Synchrone Schaltwerke
3.5.3 Endlicher Zustandsautomat (FSM)
3.5.4 Mealy- und More Schaltwerke
3.5.5 Flip-Flops
505
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Im Unterschied zu binären Schaltnetzen ist zu einem bestimmten
Zeitpunkt das Verhalten eines endlichen Automaten nicht allein vom
Eingangssignal abhängig, sondern auch vom gerade erreichten
inneren Zustand
→ Zustand bereits vor dem betrachteten Zeitpunkt eingetreten
→ während einer gewissen (kurzen) Zeitspanne gespeichert
→ Speicherfunktion mit Flipflops (bistabilen Kippstufen) realisiert
506
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Einfachste FF-Schaltung durch folgendeFunktionen charakterisiert:
• FF-Ausgang kann auf "1" geschaltet werden ("Setzen" des FF),
• FF-Ausgang kann auf "0" geschaltet werden ("Rücksetzen" des FF),
• Nach Setzen oder Rücksetzen des FF soll Ausgang stabil bleiben
("Speichern" der Information).
507
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Bistabile Kippstufe (FF)
Schaltung lässt sich von Q = 1 auf Q = 0 "kippen„ → Kippschaltung
→ bistabiles Element
→ Zum Setzen einfügen von Eingang S.
→ Zum Rücksetzen einfügen von Eingang R.
→ Einbau UND-Gatter, das für R=0 die 1 am Ausgang des ODER
Gatters durchlässt und für R=1 den Ausgang Q auf 0 zurücksetzt.
S
R
508
FF
Rechnerstrukturen Teil 1
Q
Prof. Dr. Möller
3.5 Schaltwerke
Realisierung bistabile Kippstufe durch Rückkopplung zweier elementarer
Verknüpfungsglieder mit zwei Eingangsvariablen (Schaltungsaufbau hier mit
NAND-Gattern) ⇒ RS-Kippstufe)
S
&
R
&
Q
/Q
RS-Kippstufe besitzt Eingänge R (rücksetzen) und S (setzen) mit denen
Zustand der Kippstufe beeinflusst werden kann.
509
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Funktion RS-Kippstufe
/S
/R
Q
/Q
Bemerkung
0
0
-
-
unzulässig
0
1
1
0
Löschen
1
0
0
1
Setzen
1
1
Vorheriger
Ausgangszustand
Vorheriger
Ausgangszustand
Speichern
510
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
511
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
RS-Flipflop
→ Endlicher Automat mit Eingabemenge {00, 01, 10, 11}
→ Zustandsmenge {z0, z1}, wobei z0 den Zustand Q=0 und z1
den Zustand Q=1 bezeichnet.
Ausgabemenge gleich Zustandsmenge.
Aus RS Flipflop lassen sich zahlreiche weitere Flipfloptypen entwickeln.
Im nachfolgenden Schaltsymbol wurde Ausgang P als Q bezeichnet.
512
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
RS FF
NOR-RS-FF speichert bei R = S = 0
NAND-RS-FF speichert bei R = S = 1
Bei diesen Eingangswerten kommen jeweils nur die dominanten Rückkopplungen zur
Wirkung (1 NOR, 0 NAND)
Verhalten Basis RS-FF ist für Wechsel der Eingangssignale R = S = 1 in den Speicherzustand mit R = S = 0 nicht deterministisch, d.h. erreichter stabiler Endzustand hängt
von Gatterlaufzeiten ab ⇒ Eingangskonfiguration R = S = 1 bei NOR-RS-FF verboten;
Eingangskonfiguration R = S = 0 bei NAND-RS-FF verboten
NOR
RS
FF
NAND
RS
FF
S
R
Q+
Funktion
/S
/R
Q+
1
0
1
Setzen
0
1
1
0
1
0
Rücksetzen
1
0
0
0
0
Q
Speichern
1
1
Q
1
1
-
verboten
0
0
-
513
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
RS-Kippstufe bildet als elementares FF Grundlage aller Speicherelemente.
Abbildung 3.42 zeigt zwei Erweiterungen, die für Realisierung von Logikbausteinen
mit Speicherfunktion besonders wichtig sind, das Zustandsgesteuerte RS-FF und das
D-FF.
S
&
S'
&
Q
C
D
&
/Q
&
C
&
R
&
/Q
&
R'
Q
&
Zustandssteuerung C lässt die Übernahme externer Signale nur dann zu, wenn
C = 1 ist, ansonsten liegen die Eingänge R' und S' ständig auf logisch 1, was
bedeutet, dass das RS-Flip-Flop den bisherigen Wert speichert.
514
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Schaltsymbol RS FF
515
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
D-FF
Problem der irregulären Eingangsbelegung /R = /S = 0.
Diese Belegung schaltungstechnisch verhindern.
Lösung: D-Flipflop.
Annahme:
• Information liegt als binäres Datum an,
• Bezeichnung für den Eingang S auf D ändern.
• Eingang R wird über Inverter mit D verbunden benötigt daher keine
eigene Bezeichnung.
Bezeichnung D nicht von Datum, sondern delay = Verzögerung
516
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
D-FF
Eingänge
Ausgang
Takt
D
Qn+1
0
0
Qn
0
1
Qn
1
0
0
1
1
1
R=S nicht mehr möglich, Speicher-Zustand wird durch Takt="0" realisiert.
FF benötigt zur Steuerung des logischen Verhaltens nur einen einzigen Eingang
517
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
T-FF
•
•
•
•
wechselt mit jedem Taktimpuls den Ausgangszustand.
verbindet man Eingänge JK-FF mit H-Pegel erhält man ein T-FF
hat nur einen Takteingang
andere Variante ist Einsatz D-FF bei dem man den negierten Ausgang Q mit dem
Eingang D verbindet.
vergleicht man die Frequenzen von Eingangs- und Ausgangsignal, so ergibt sich
eine Halbierung der Frequenz des Ausgangssignals.
T-FF eigner sich als Frequenzteiler.
•
•
518
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
JK-FF
•
weitere Möglichkeit, den im RS-Flipflop verbotenen Zustand zu vermeiden, durch
Einführung einer neuen (vierten) erlaubten Funktion. Diese erweiterte Eigenschaft
des FF wird durch eine zusätzliche Rückkopplung der Flipflop-Ausgänge erzeugt,
mit ihr wird die so genannte "Wechsel"-Funktion (eng. toggle) eingeführt
wechselt bei Anlegen eines Taktimpuls seinen Ausgangszustand wenn an beiden
Eingängen H-Pegel anliegen (toggeln)
logische Eingänge des neuen FF, ersetzen R und S, werden als J (jump) und K
(kill) →JK-FF bezeichnet
•
•
519
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
JK-FF
520
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
JK-FF
Wahrheitstabelle
K/ J/
/Q
T
E2 E1
Q1
Q/
Q2
Funktion
0
1
0 -
-
Speichern
0
0
0 -
-
Speichern
1
0
0 -
-
Speichern
1
1
0 -
-
Speichern
0
1
1 1
0
Setzen
0
0
1 -
-
Speichern
1
0
1 0
1
Rücksetzen
1
1
1 X
X
Wechseln (Toggeln)
Kein „1“ am Takteingang → an Ausgängen anstehender Pegel gespeichert. „1“ Signal an J und
T, FF wird gesetzt.. „1“ an K und T, FF wird zurückgesetzt. „1“ and J und K gespeicherter Wert
wird gewechselt, d.h. aus „1“ wird „0“ , aus „0“ wird „1“.
521
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktflanken-Steuerung
Für Taktimpulse endlicher Dauer sowie Erfüllung der Forderung nach einmaligen
Wechsel, wird Taktflankensteuerung eingeführt, definiert aktive Taktflanke, bei
der Auswertung der logischen Steuereingänge vorgenommen wird.
Flankensteuerung kann durch einfaches Hintereinanderschalten zweier taktflankengesteuerter JK- oder RS-Flipflops realisiert werden.
522
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktflanken-Steuerung
Flipflops, zu deren Steuerung eine Flanke des Taktsignals benutzt wird,
werden als "einflankengesteuerte" Flipflops bezeichnet.
Definition:
Vorderflankengesteuertes Flipflop:
Übernahme und Ausgabe der Information geschehen mit der Taktvorderflanke
(0-->1);
Rückflankengesteuertes Flipflop:
Übernahme und Ausgabe der Information geschehen mit der Taktrückflanke
(1-->0);
523
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktflanken-Steuerung
1. Trennung von Master und Slave.
2. Eingabe der JK-Signale in den Master.
3. Sperrung der JK-Eingänge.
4. Übertragung der Daten vom Master zum Slave.
524
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Master-Slave FF
Taktflankengesteuerte Master-Slave-Flipflops können aus zwei JK-FF (JK-MS-FF)
aufgebaut werden, sowie durch eine entsprechende Zusammenschaltung zweier
RS-FF (RS-MS-FF). Auch MS-FF unterliegt der Zusatzbedingung zur Vermeidung
des verbotenen Zustandes.
525
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
FF werden in Abhängigkeit der Taktung klassifiziert ⇒ bestimmt Übernahmezeitpunkt und charakteristische Gleichung, legt Übernahmeverhalten des FF
fest.
FF Klassifizierung
Flipflops
Nicht-taktgesteuerte
Flipflops
Taktgesteuerte
Flipflops
Taktzustandsgesteuerte Flipflops
Taktflankengesteuerte Flipflops
Einflanken
gesteuerte Flipflops
526
Rechnerstrukturen Teil 1
Zweiflanken
gesteuerte Flipflops
Prof. Dr. Möller
3.5 Schaltwerke
Nicht Taktgesteuerte FF:
z.B.: RS-Flipflop
Taktgesteuerte FF:
z.B.: RS-Flipflop mit eingangsseitiger Vergatterung
vielfältige Anwendungen, da sie gezieltes Übernehmen einer logischen Funktion zu
festgelegten Zeitpunkten gestatten → synchronisierend
527
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktzustandsgesteuertes FF:
z.B. D-Flipflop;
besitzt Phase während der Änderungen am Eingang mit Gatterlaufzeitverzögerung
am Ausgang sichtbar werden und speichernde Phase, wo Ausgangszustand stabil
bleibt.
Einzustandsgesteuertes FF:
Setz- und Rücksetzeingang nur wirksam wenn am Takteingang ein Signal anliegt.
RS-FF wird Takteingang C1 hinzugefügt.
528
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktzustandsgesteuerte FF:
Zweizustandsgesteuertes FF:
nimmt Eingangszustände während des einen Taktzustandes auf und gibt diese erst
beim nachfolgenden Taktzustand aus.
FF-Ausgänge, an denen Eingangszustände verzögert erscheinen, werden retardierte
Ausgänge genannt.
JK-FF arbeiten nach dem Master-Slave-Prinzip.
529
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Master-Slave-Flipflop
Funktion: Zwischenspeicher
C =1 Slave-Eingänge gesperrt. D wird in Master übernommen. C=0 Mastereingänge
gesperrt. Slave übernimmt Schaltzustand des Masters
530
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktflankengesteuerte FF:
speichern Ausgangszustand, der sich nur bei den entsprechenden Flankenübergängen
ändert.
Tf-FF in digitalen Systemen eingesetzt, in denen nachfolgende Stufen auf kurzzeitige
Änderungen während eventueller sequentieller Phasen bereits reagieren würden.
Einflankengesteuertes FF:
Setz- und Rücksetzeingang werden nur während der Änderung des Taktzustandes
Wirksam.
Störanfälligkeit durch Störsignale wird durch die kurze Zeit der Taktflanke reduziert.
Taktflankensteuerung im Schaltzeichen durch Dreieck gekennzeichnet.
531
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Taktflankengesteuerte FF:
Zweiflankengesteuertes FF:
geeignet für die technische Realisierung von Zustandsmaschinen,
Ausgangswert zeitlich entkoppelt von einer Übernahme der Eingangswert in die
inneren Zwischenspeicher
Zeitliche Entkopplung verhindert Rückkopplung der Ausgangszustände auf den
Eingang und ungewollt im gleichen Zeittakt wieder auf den Ausgang
Zf-FF nimmt Eingangszustände während einer Taktflanke auf und gibt sie erst bei der
folgenden Flanke aus.
532
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
D-FF SN7474
Bei integrierten FF-Schaltkreisen existieren außer Eingängen für die bereits
bekannten Signale weitere Eingänge für spezielle Steuersignale.
FF SN7474 (zweifach Vorderflankengesteuertes D-FF) kann z.B. über asynchrone
Eingangssignale "preset" und "clear" taktunabhängig in genau definierten
Anfangszustand gesetzt werden. Beide Signale sind bei "0"-Pegel aktiv (active
low) und setzen den Q-Ausgang auf "1"- bzw. "0"-Pegel.
533
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
Eingänge
534
Preset
/PRE
/Clear
/CLR
0
Ausgänge
Takt
CLK
Datum
D
1
X
X
1
0
1
0
X
X
0
1
0
0
X
X
1
1
1
1
1
1
L
1
1
0
0
1
1
1
X
Q
/Q
0
Rechnerstrukturen Teil 1
Q+
/Q
Prof. Dr. Möller
3.5 Schaltwerke
Flipflop-Art
Takt
Steuerung
ungetaktet
ZustandsSteuerung
ungetaktet
FlankenSteuerung
getaktet
EinzustandsSteuerung
getaktet
ZweizustandsSteuerung
getaktet
EinflankenSteuerung
getaktet
ZweiflankenSteuerung
535
RS
JK
Rechnerstrukturen Teil 1
D
T
(datenlos)
Prof. Dr. Möller
3.5 Schaltwerke
Takt-Eingang
Symbol
Takt-Eingang mit Zustandssteuerung. Die Variablen an den
Eingängen, die von C abhängen, werden bei C = 1 wirksam.
Takt-Eingang mit Flankensteuerung. Die Variablen an den Eingängen,
die von C abhängen, werden beim 0-1-Übergang wirksam (positive
Flanke).
Takt-Eingang mit Flankensteuerung. Die Variablen an den Eingängen,
die von C abhängen, werden beim 1-0-Übergang wirksam (negative
Flanke).
536
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.5 Schaltwerke
FF repräsentieren Boolesche Speicher (Boolean Memories); genügen
Boolescher Algebra → FF in schaltalgebraischer Form notiert, d.h.
Ausgangssignal als Schaltfunktion der Eingangssignale beschreibbar
→ charakteristische Gleichung des jeweiligen FF
Für FF-Typen, RS-Flipflop, D-Flipflop und T-Flipflop (T = Toggle)
können charakteristische Gleichungen angegeben werden, Zeitpunkt tn
in charakteristischen Gleichungen definiert einen Zeitpunkt vor einem zu
betrachtenden Takt und tn+1 einen Zeitpunkt nach dem zu betrachtenden Takt
• RS-FF:
Qtn+1 = [ S + (/R * Q) ]tn
• D-FF:
Qtn+1 = [ D ] tn
• T-FF:
Qtn+1 = [(Q */T )+(/Q * T) ]tn
537
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk,
Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
538
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Kooperierende Schaltwerke des Rechenautomaten zentral gesteuert
und in folgende logische und räumliche Funktionseinheiten gegliedert:
o Rechenwerk
führt arithmetische (Addition, Komplementbildung, Schiebevorgänge, etc.)
und logische Operationen (UND, ODER, Negation, etc.) aus
o Steuerwerk
interpretiert Maschinenbefehle, setzt sie unter Berücksichtigung der Statusinformationen in Steuerkommandos um die Programmablauf steuern
o Speicherwerk
dient der Ablage der Programme und Daten in Form von Bitfolgen
o Ein- und Ausgabewerk
stellt die Schnittstelle des Rechners nach außen dar.
539
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
540
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Rechenwerk
Arithmetic Logic Unit (ALU)
ALU ist der eigentliche Rechner, hier werden alle arithmetischen und
logischen Funktionen bzw. Berechnungen ausgeführt.
Zur ALU gehören Akku (Speicher) und Flags (Ereignisspeicher).
541
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Arithmetisch-logische Einheit(ALU)
Universal-Schaltwerk welches (zwei) n-Bit breite Datenworte wahlweise
• addiert
• subtrahiert
• UND-verknüpft
• ODER-verknüpft
• EXOR-verknüpft
ALU hat Dateneingänge A und B deren Signalzustände für Operationen
genutzt werden. Operationen werden in ALU gleichzeitig ausgeführt.
Ergebnis am Ausgang durch Codiereingänge S bestimmt, an denen die
jeweilige Operation eingestellt wird.
Addier Operation kann zusätzlich Übertrag erzeugen; zur Signalisierung wird
Übertragsausgang Ü genutzt.
542
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Halbaddierer (HA)
HA: einfachste Rechenschaltung / Schaltnetz
Eingang A HA ist Summand A, Eingang B ist Summand B.
Schaltung hat zwei Ausgänge. Ausgang Σ als Summenausgang und Ausgang
Ü als Übertrag für die nächst höhere Stelle im dualen Zahlensystem.
543
A
B
Σ
Ü
0
0
0
0
0
1
1
1
0
1
0
´
0
1
1
0
1
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Halbaddierer (HA)
A
B
Σ
Ü
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
.
544
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Halbaddierer (HA)
Schaltung (HA) in der Lage zwei 1-Bit(einstellig) Summanden zu addieren.
HA repräsentiert (2,2)-Addierer, hat zwei Eingänge und zwei Ausgänge.
Ergebnis aus Spalte Summe einer Exklusiv-Oder-Verknüpfung (Antivalenz,
EXOR) entspricht.
Ergebnis der Spalte Übertrag entspricht einer UND-Verknüpfung.
Symbol * beschreibt UND-Verknüpfung, während Symbol + der ODER
Verknüpfung entspricht und Symbol / die Negation repräsentiert.
DNF :
S = (/ A * B ) + ( A * / B )
Ü = A* B
bzw.
S = A _ XOR _ B
545
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Volladdierer (VA)
Eingang ÜE eingehender Übertrag (carry in), ÜA ausgehender Übertrag (carry
out).
546
ÜE
A
B
ÜA
Σ
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Volladdierer (VA)
lässt sich aus zwei HA ableiten: HA1 = 1. HA und HA 2 = 2. HA
In HA1 werden die beiden Dualzahlen a und b addiert, im HA2 wird zu dieser
Summe der eingehende Übertrag c hinzuaddiert.
Bei Addition mehrstelliger Dualzahlen müssen die entstehenden Überträge
entsprechend berücksichtigt werden. Mögliche Form der Realisierung eines
Addierwerks ist Addierer mit seriellem, d.h. durchlaufendem Übertrag RCA
(RCA = Ripple Carry Adder). Dabei werden bei Addition der n-Bit-Dualzahlen
An und Bn n VA in Serie geschaltet, und der Übertragungsausgang der Stelle n
mit dem Übertragungseingang der Stelle n + 1 verbunden.
547
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
3-Bit Volladdierer
aufgebaut aus drei 1-Bit-VA z.B. Baustein SN 74x80
Eingang ÜE0 auf 0, an niederwertigster Stelle kein Übertrag zu berücksichtigen
niedrigwertigstes Bit steht rechts (LSB).
Ausgang Üi i-ter VA wird zum Eingang Üi +1 des nächsten Addierers geführt,
wobei der eingehende niedrigstwertige Übertrag ÜE0 auf 0 gesetzt wird.
⇒niedrigwertigste Addierer als Halbaddierer realisiert
548
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
4 Bit Volladdierer (VA)
unter Anwendung des 74x83-Bausteins realisiert:
.
549
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
4 Bit Volladdierer (VA)
Disjunkte Aufteilung der Eingangsvariablen impliziert schnelle, parallele FunktionsAusführung, durch Übertrag (carry) besteht Funktionsabhängigkeit:
si (ai , bi , ci ) = (ai bi ci ) + (ai bi ci ) + (ai bi ci ) + (ai bi ci )
mit
ci (ai −1 , bi −1 , ci −1 ) = (ai −1bi −1 ) + (ai −1ci −1 ) + (bi −1ci −1 )
Jede Bitposition in dieser Anordnung muss auf Übertrag des niederwertigen Nachbarn
warten. Übertragsbit wird schrittweise ermittelt und durchgeschoben (rca: ripple-carryadder); stellt längsten Signalpfad dar.
Um beschleunigte Auswertung zu erzielen, muss Übertragspfad verkürzt werden, z.B.
durch Arbeiten mit normalem und invertiertem carry-bit
550
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Beschleunigte Auswertung des carry-bit.
Schaltung nutzt aus, dass
gilt, wenn eine der beiden folgenden Bedingungen erfüllt wird:
•es tritt kein Übertrag ci+1 auf und genau einer der Operanden ai, bi oder ci ist "1",
•es gilt: ai = bi = ci = "1".
551
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Volladdierer (VA)
Bei invertierter Zuführung der bitwerten Stellen der Dualzahl B auf die
Volladdierer (z.B. 1-er Komplement), sowie einem Volladdierer an der
niedrigwertigen Stelle, kann mehrstelliger Subtrahierer, auf Grundlage
eines Addierwerks, realisiert werden.
552
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Aus logischer Gleichung zur Übertragsbildung ersichtlich, dass zur Berechnung
von Ci+1 aus Ci eine zweistufige Logik erforderlich ist.
Wird im niedrigwertigsten Bit ein Übertrag erzeugt, der alle Volladdiererstufen
durchläuft, muss das Übertrag-Signal insgesamt 2n Logikebenen passieren,
ehe der letzte Volladdierer entscheiden kann, ob an der höchstwertigen Stelle
ein ausgehender Übertrag erzeugt werden muss.
Verzögerungszeit höchstwertig ausgehender Übertrags direkt proportional
zur Zahl der Logikebenen, die das erzeugte Übertragssignal durchlaufen muss.
⇒n-Bit-Ripple-Carry-Addierer hat 2n Logikebenen;
typische Werte für n bei der Festkomma-Arithmetik liegen bei 32.
553
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Ripple-Carry-Adder (RCA) langsame, billige Realisierungsmöglichkeit für
Addierer, da jeder VA auf den Übertrag aus der vorangehenden Stufe warten
muss.
⇒bei großer Maschinenwortbreite resultiert eine erhebliche Zeitverzögerung
⇒maximal mögliche Taktrate beschränkt, da der RCA aus n einfachen
Zellen (Makrozellen) besteht, die regulär miteinander verbunden sind.
⇒Durchlaufen der Überträge bestimmt die Gesamtverzögerung des Addierers.
⇒Zeit zur Bestimmung der höchstwertigen Stellensumme sowie des ent
sprechenden Übertrags ist proportional zur Stellenzahl.
t RCA = (2n + 1)τ
554
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Volladdierer (VA)
Beschleunigung von Addiernetzen auf unterschiedliche Art und Weise erreichbar.
• Schnelligkeit absolutes Ziel, → Übertrag nicht von Stelle zu Stelle weitergeben → dass im Addierwerk k zur Bildung des Summenbits alle Dualzahlen
Am und Bm mit 0 ≤m ≤ k zur Berechnung benötigt werden.
• Zeitaufwand zur Berechnung beliebiger n-Bit Dualzahlen beträgt, unter der
Prämisse dass für die Realisierung Gatter mit einer beliebigen Anzahl von
Eingängen zur Verfügung stehen, 2τ.
• Erforderliche Gatteraufwand proportional zu 2n bezogen auf n-Bit Dualzahlen.
• Bei technischer Umsetzung von Addierwerken ist man bestrebt, abweichend
von vorangehend dargestellten Extremen, Schaltnetze zu realisieren, die sowohl hinsichtlich der Kosten, als auch der Schnelligkeit als optimal anzusehen
sind ⇒CLAA
555
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Volladdierer (VA)
Carry-Look-Ahead-Adder (CLAA) →Addierer mit Übertragsvorausschau,
bei dem Überträge durch rekursive Anwendung der Gleichung für den Übertrag
Cn direkt ermittelt werden.
Dazu wird C4, C3, C2 nicht mehr vom Volladdierer der vorangehenden Stelle,
sondern von einem zusätzlichen Schaltnetz direkt an den Eingangsgrößen
bestimmt.
556
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Schaltnetz zur Verknüpfung von a0, b0 und U0
557
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Schaltnetz zur Verknüpfung von a1, b1 und U1
558
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Schaltnetz zur Verknüpfung von a2, b2 und U2
559
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Zahl der Eingänge pro ODER-Gatter verdoppelt sich mit jeder Stelle.
Bei Übertrag C2 wäre beispielsweise für ODER-Gatter Verknüpfungsglied mit
15 Eingängen erforderlich.
Schaltnetz zur Verknüpfung von a2, b2 und U2
Bei Übertrag C4 wäre beispielsweise für ODER-Gatter Verknüpfungsglied mit
31 Eingängen erforderlich.
560
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Verknüpfungsglied mit 31 Eingängen würde optimalen quadratischen
Layoutstrukturen jedoch nicht Rechnung tragen, nur mit großem Aufwand
herstellbar, weshalb zwei Hilfsvariable eingeführt werden, das
carry generate, gn,
und das
carry propagate, pn,
wodurch die Zahl der Eingänge an den Verknüpfungsgliedern deutlich reduziert
werden kann.
561
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Es gelten folgende Zusammenhänge:
a gn = an * bn = 1,
d.h. die Eingangsvariablen an und bn sind gleichzeitig 1; Carry wird in dieser
Stelle erzeugt,
a gn = an * bn = 0,
d.h. die Eingangsvariablen an und bn sind nicht gleichzeitig 1; Carry wird in
dieser Stelle nicht erzeugt,
a cn = an ⊕ bn = 1,
d.h. nur eine der Eingangsvariablen ist 1; Carry aus niedriger Stelle wird
weitergeleitet,
a cn = an ⊕ bn = 0,
d.h. nicht nur eine der Eingangsvariablen ist 1; Carry aus niedriger Stelle
wird nicht weitergeleitet.
562
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Rechenwerk
a aus HA aufgebauter VA mit Hilfsvariablen carry generate gn und carry
propagate pn
a Schaltung, die für Hilfsvariable gn und pn Überträge vorausberechnet ist
Carry Look Ahead Generator (GLAG).
a Bildung der Hilfsvariablen bedingt zusätzliche Verzögerungszeit τ, verringert aber erforderlichen Hardwareaufwand.
a CLAG liefert alle Überträge spätestens nach 3τ, wobei ein τ für die
gleichzeitig ausführbaren UND-Verknüpfungen erforderlich ist, ein τ für die
ODER-Verknüpfung und ein τ für die höchstwertige Summenstelle Sn-1.
a Anhand der Gleichungen eines 8-Bit-CLAG kann dessen hardwaretechnische Realisierung dargestellt werden
563
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
C1 = g0 + C0 p0
C2 = g1 + g0 p1 + C0 p0 p1
C3 = g2 + g1 p2 + g0 p1 p2 + C0 p0 p1 p2
C4 = g3 + g2 p3 + g1 p2 p3 + g0 g1 p2 p3 + C0 p0 p1 p2 p3
144444244444314243
= : B ⋅ G0
= : B ⋅ P0
Block generate
Block propagate
C5 = g4 + g3 p4 + g2 p3 p4 + g1 p2 p3 p4 + g0 p1 p2 p3 p4 + C0 p0 p1 p2 p3 p4
C6 = g5 + g4 p5 + g3 p4 p5 + g2 p3 p4 p5 + g1 p2 p3 p4 p5
+ g0 p1 p2 p3 p4 p5 +C0 p0 p1 p2 p3 p4 p5
C7 = g6 + g5 p6 + g4 p5 p6 + g3 p4 p5 p6 + g2 p3 p4 p5 p6 + g1 p2 p3 p4 p5 p6
+ g0 p1 p2 p3 p4 p5 p6 +C0 p0 p1 p2 p3 p4 p5 p6
C8 = g7 + g6 p7 + g5 p6 p7 + g4 p5 p6 p7 + g3 p4 p5 p6 p7 + g2 p3 p4 p5 p6 p7
+ g1 p2 p3 p4 p5 p6 p7 + g0 p1 p2 p3 p4 p5 p6 p7
+ C0 p0 p1 p2 p3 p4 p5 p6 p7
564
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
565
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Analog zur einstufigen Übertragvorschau müssen die 4-Bit CLAA die Hilfsvariablen blockweise erzeugen, die vom übergeordneten CLAG, durch
rekursive Algorithmen, zur Blockübertragung weiterverarbeitet werden.
Mit BGn = Block-Generate und BPn = Block-Propagate gilt:
BCn+1 = BGn + (BCn * BPn)
Bei 4-Bit breiten Blöcken werden die Überträge aus den Hilfsvariablen wie folgt
gebildet:
BC0
BC1
BC2
566
= C0
= BG0 + C0 BP0 = C4
= BG1 + C1 BP1 = C8
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Block-Hilfssignale bei allen 4-Bit CLAA, in derselben Weise gebildet. Damit
können 4-Bit CLAA Module definiert werden, gleichartig aufgebaut, können
miteinander zu größeren Einheiten verbunden werden.
Analog zu den eingeführten Block-Hilfsvariablen können beispielsweise
für den Aufbau eines dreistufigen CLAA Blocks folgende Block-Hilfsvariable
definiert werden:
BBG0 : = BG3 + (BG1* BP2* BP3) + (BG0* BP1 *BP2* BP3)
BBP0 : = BP0 *BP1* BP2 *BP3
Übertrag C16 entspricht dem Signal BBC1 für den Übertragungseingang der
zweiten Stufe, die wiederum selbst aus zweistufigem CLAA besteht.
Mit den oben definierten Hilfsvariablen folgt:
C16 = BBC1 = BBG0 + BBC0 • BBP0 = BBG0 + C0 • BBP0
567
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
ALU übernimmt Operationen auf Daten der n-Bit Dualzahlen A und B
Steuerleitungen F0 bis Fn ermöglichen Auswahl der Operation
ALU enthält Resultatausgang S und Ausgänge N und Z.
N kennzeichnet das Sign-Flag
N logisch 1, wenn Ergebnis der Operation der ALU negativ ist, d.h. das höchstwertige Bit ist 1 (bei Binärzahlen üblich, die im Einer- oder Zweierkomplement
dargestellt sind).
Z entspricht Zero-Flag
Z zeigt an, ob Ergebnis der Operation in der ALU nur aus Nullen besteht.
Flags sind
• binäre Informationen,
• kennzeichnen besondere Ergebniszustände,
• werden im Flag-Register für eine nachfolgende Auswertung sichergestellt.
Darüber hinaus werden sie an das Steuerwerk zur Behandlung eventueller Sonderfälle, wie z.B. bei Division durch Null, übertragen.
568
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
569
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
570
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Abstrakter von Neumann-Rechenautomat
571
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Damit Datenprozessor Berechnungen ausführen kann, enthält er die ALU sowie
(mindestens) drei Register zur Aufnahme der Operanden
572
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Steuerwerk/Befehlswerk/Befehlsprozessor
Control Unit (CU)
Enthält u.a.
• Clock-Baustein, sorgt für die richtige Abfolge der Arbeitsschritte,
• Dekodiereinheit, sorgt für Entschlüsselung/Dekodierung des OP
Codes,
• Befehls- oder Instruktionsregister (IR) zur Aufnahme des
aktuellen Befehlskodes,
• Befehls- oder Programmzähler (PC),
• Speicheradressregister (SAR) für das Auslesen aus dem
Hauptspeicher/Speicherwerk.
573
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
⇒ Aktuell zu bearbeitender Befehl (Instruktion) befindet sich im
Befehlsregister (IR).
⇒ Adresse des Speicherplatzes, der als nächstes anzusprechen ist,
wird im Speicheradressregister (SAR) abgelegt.
⇒ Adresse des nächsten auszuführenden Befehls ist im
Befehlszähler (PC) gespeichert.
⇒ Entschlüsselung eines Befehls erfolgt durch Befehlsdecodierer,
⇒Steuerung der Ausführung durch ein Steuerwerk.
⇒ CPU besteht damit aus den folgenden Strukturkomponenten auf
Registerebene
574
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Befehlsweg im von Neumann-Rechner
575
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Adressinformation definiert Hauptspeicherplatz derjenigen Operanden,
auf die sich Befehl bezieht → verschiedene Möglichkeiten Operanden
zu adressieren:
a unmittelbar, d.h. der Operand ist im Befehl enthalten,
a Speicher und Register direkt, d.h. die Adresse des Operanden ist im
Befehl enthalten,
a Speicher indirekt, d.h. es wird eine Hauptspeicherzelle verwendet die
eine Hauptspeicheradresse enthält, über die auf den
Speicherbereich zugegriffen wird,
a Register indirekt, d.h. die Adresse des Operanden steht in einem
Register, dessen Nummer im Befehl enthalten ist,
a Register relativ, d.h. die Operandenadressen werden als Summe aus
dem Registerinhalt und einer Verschiebung, die im Maschinenbefehl
angegeben ist, bestimmt.
576
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Weitere Register im vN Rechner:
Rechenwerk/Datenprozessor
• Akkumulator A (Akku), allgemeiner Registertyp, für jede im
Rahmen eines Programms anfallende Aufgabe einsetzbar
• Multiplikator-Register (MR) zur Aufnahme von Multiplikationsergebnissen,
• Link-Register (LR) zur Aufnahme z.B. eines Additionsübertrages.
Multiplikator-Register und Link-Register Erweiterung des Akkumulators
• Speicherpufferregister (SPR) wickelt Kommunikation mit Speicher
ab
MR, LR, SPR: spezifische Registertypen, besitzen spezielle Funktion,
Werden ausschließlich dafür verwendet.
Reale Rechner verfügen de facto über mehr als einen Akkumulator A
577
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Control Unit (CU): Realisierungsformen
a Mikroprogrammierter µP
besitzt Mikroprogramm-Steuerwerk, (Mikro-) Programme vom
Hersteller in Festwertspeicher (control memory) untergebracht; für
Anwender nicht zugänglich.
Mehrzahl der Mikroprozessoren gehören in diese Klasse.
Kennzeichen stark variierende Ausführungszeiten für unterschiedliche Befehle.
578
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Control Unit (CU): Realisierungsformen
a Mikroprogrammierbarer µP enthält Mikroprogramm-Steuerwerk,
jedoch keinen dem Nutzer unzugänglichen Festwertspeicher, enthält einen vom Nutzer programmierbaren (Festwert- oder Schreib/
Lese-) Speicher. Programmieraufgabe im Extremfall nicht nur auf
Makroprogramm beschränkt, sondern auf zwei Programmierebenen:
Mikro- und Makroprogrammierung.
579
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Control Unit (CU): Realisierungsformen
a Mikroprozessoren mit festverdrahtetem Schaltwerk benötigen keine
internen Programmabläufe und keinen Mikroprogrammspeicher.
Makrobefehle werden direkt in kombinatorische Logik umgesetzt,
Hardwareaufwand steigt gegenüber mikroprogrammierter Version
a Zu dieser Gruppe gehören RISC (Reduced Instruction Set Computer) Prozessoren, obwohl dies aus dem Namen zunächst nicht ableitbar ist. Reduktion des Instruktionssatzes bewirkt dass Hardwareressourcen für die kombinatorische Logik frei bleiben. Kennzeichen
für diese Gruppe sind einheitliche Ausführungszeiten für (fast) alle
Makrobefehle, da erhöhte Aufwende z.B. bei Multiplikations- und
Divisionsbefehlen durch die Hardware aufgefangen werden.
580
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
a von Neumann (vN) Architektur
a Steuerwerk/Befehlprozessor
(CU) und Rechenwerk/Datenprozessor (DP) und Speicherwerk/Speicher
a Hauptunterschiede
`Rechenwerk (DP) ist
allgemeingültig
`Steuerwerk (CU) speichert
keine Algorithmen/Programme – im Speicher
hinterlegt (programmiert)
581
vN- Prozessor
Steuerwerk (CU)
Rechenwerk (DP)
ALU
Controller
Control
/Status
Register
PC
Rechnerstrukturen Teil 1
IR
I/O
Speicher (Memory)
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Programm besteht aus Reihe von Anweisungen; teilt Prozessor mit was zu tun ist. Bei
Programmausführung Befehl nach Befehl aus RAM-Bereich abgerufen und ausgeführt.
Befehlsausführung zerfällt in 2 Phasen: Abrufphase (fetch cycle) und Ausführungsphase (execute cycle), werden vom Taktgenerator gesteuert. (1)
Gesamter, aus allen 3 Phasen bestehender Vorgang heißt BEFEHLSZYKLUS (instruction
cycle). Befehlszykluszeit zur Charakterisierung der Prozessor Arbeitsgeschwindigkeit
herangezogen. Beispiel: BEEHLSZYKLUS identisch mit MASCHINENZYKLUS
(1)
Zunächst sendet Prozessor in Phase 1, Adressierphase, Adresse des nächsten Befehls, der im Programmspeicher
steht (z. B. im ROM). In Phase 2, Befehlsholphase, stellt Speicher das auf dem adressierten Speicherplatz
stehende Datenwort, welches den BEFEHL darstellt, zur Ver-fügung und der Prozessor liest ihn ein. Diesen beiden
werden zusammen als Befehlsholphase oder Abrufphase (fetch-cycle bzw. instruction fetch) bezeichnet. In Phase
3, Ausführungsphase (execute cycle, instruction execute), entschlüsselt Prozessor den Befehl und führt ihn aus.
582
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
583
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Befehlszähler (Program Counter, PC) enthält Adresse des nächsten
auszuführenden Befehls. Nach Aussenden Adresse wird Befehl über
interne Eingangsschaltung in Befehlsregister (InstructionRegister, IR)
gebracht, entschlüsselt und ausgeführt.
Register ist Speicherelement für ein Datenwort. Register sind aus FF´s
zusammengesetzt, besitzen so viele parallele Bitstellen, wie es spezielle
Funktion innerhalb der Architektur erfordert.
Befehlsdekoder interpretiert Bit-Information des Operations-Code,
dahingehend, ob es sich um
• Konstante-Register-Transferbefehle (MVI) und andere Befehle (00)
• Register-Register-Transferbefehle (MOV) und HLT-Befehl (01)
• arithmetische und logische 1-Byte-Befehle (10)
• Sprungbefehle (JMP, I/0-Befehle (IN/OUT) und andere Befehle (11)
handelt. Es werden jeweils die beiden höchstwertigen Bit des OPCodes verwendet (bei 8 Bit Befehlsregister das Bit 7 und 6).
584
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
585
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
586
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Aus funktioneller Sicht besitzt von Neumann-Rechner neben der aus Rechenwerk und Steuerwerk gebildeten Zentraleinheit (CPU), einen Speicher, der aus
einem Festwertspeicher, dem ROM = Read Only Memory, und einem Speicher
mit wahlfreiem Zugang, dem RAM = Random Access Memory, besteht, sowie
der Ein- und Ausgabeeinheit sowie den Verbindungsleitungen, den Bussen.
Rechnerstruktur nach von Neumann-Konzept
587
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Interner Speicher
Akkumulator (Akku)
Zum internen Speicher gehören
• Register, dienen als Zwischen-Speicher
• Befehlszähler, in denen steht aus welcher Speicherzelle der
nächste Befehl geladen wird.
588
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.6 Kooperierende Schaltwerke
Grundsätzliche Arten von Speicherinhalten
An einer Speicherstelle wird ein Wert folgender Typen abgelegt
(Repräsentation bzw. Codierung):
1. Ganze Zahl (Integer, int)
2. Rationale Zahl (Fest- und Fließpunkt)
3. Zeichen (Character, char)
4. Instruktion
Adresse einer anderen Speicherstelle
4. betrifft die Speicherung von Befehlen, während 5. Pointer betrifft.
Pointer = Variable (Speicherzelle) mit den Werten von Adressen
Zeiger = Pointer (Deutsche Übersetzung)
Adresse = Nummer einer Speicherzelle im RAM
589
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
590
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Datenpfade
→ Konstrukte, auf denen Daten von einer Quelle zu einer Senke
übertragen werden können.
Für einen Datenpfad gibt es genau eine Quelle und genau eine Senke,
→ Punkt-zu-Punkt Verbindung.
Sind am Datenpfad mehrere Quellen oder mehrere Senken beteiligt,
Auswahl- oder Verteilerschaltnetz erforderlich, um Daten zielgerichtet
übertragen zu können. Hierfür geeignet
→ Multiplexer
→ Demultiplexer.
591
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Multiplexer
→ Adressgesteuertes Schaltnetz
→ schaltet abhängig von Steuerwort SW genau einen ankommenden
Datenpfad DAN auf einen abgehenden Datenpfad DAB durch
Ankommende Datenpfade bei Multiplexern durch array dargestellt um
mit softwaretechnischen Konstrukt (concurrent „conc“ Anweisung) relativ
kurze Ausdrucke zu erhalten, auf beliebig viele Datenpfade erweiterbar
592
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Multiplexer (MUX)
Schlüsselwort
Deklarationsteil
Deklarationsteil
Interne Variable
Anweisungsteil
Anweisungsteil
unit 16-Bit-4-zu-1-MUX;
input DAN: array [0, …, 3] of RTB < 15, …, 0 >;
SW: RTB < 1, 0 >;
output DAB: RTB < 3, …, 0 >;
locvar K: INTEGER;
begin
conc K(0 to 3)do |SW=[K]|:DAB=DAN[K]
end
Anweisungsfolge Multiplexer
593
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Textueller Verhaltensbeschreibung für Multiplexer liegt spezielle Notation
zugrunde, beginnend mit Schlüsselwort
unit,
auf welches frei wählbarer Name für zu beschreibende Funktionseinheit folgt.
Inhaltliche Aussage der Verhaltensbeschreibung ist in Anweisungsteil enthalten
welches durch die Anweisungen
begin und end
umfasst
Verhaltensbeschreibung geht Deklarationsteil voraus, in dem Variablennamen
erläutert werden, z.B. Anschlüsse Eingang und Ausgang, die unter den
Schlüsselworten
input und output
eingeführt wurden.
594
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Interne Variablen werden im vorliegenden Beispiel unter Schlüsselwort
locvar
indiziert.
conc Anweisung
dient dazu alle Indexwerte gleichzeitig (concurrent) durchführen zu können.
Verhaltensbeschreibung auf Registertransferebene durch Datentyp RT
eingeführt, wobei Datentyp RTB binärwertige Registertransfers kennzeichnet.
595
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Multiplexer
universelles Schaltnetz, welches auf Registertransferebene, für alle Binärstellen ein
gleichartiges Verknüpfungsschema auf der Ebene elementarer Verknüpfungsglieder
darstellt
596
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Demultiplexer,
Adressgesteuerter Umschalter, schaltet ankommenden Datenpfad DAN auf
abgehenden Datenpfad DAB durch, nicht beschaltete abgehende Datenpfade
führen logischen Zustandswert 1
Softwaretechnisches Konstrukt äußere conc Anweisung stellt für Demultiplexer
die Auswahl des zu beschaltenden abgehenden Datenpfades dar, während
innere conc Anweisung die Zuweisung des Wertes 1 berücksichtigt.
DAN
DEMUX
SW
DAB3 DAB2 DAB1 DAB0
597
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Datentore
Konstrukte, die Datenpfad synchron oder asynchron öffnen oder schließen,
bzw. auf Ausgangswert unendlich halten, wie bei Tristate Logikbausteinen
Zustände der Datentore als gesteuerte digitale Schalter realisiert Zuständen
offen bzw. geschlossen, oder mit elementaren Verknüpfungen UND, ODER,
NICHT-UND bzw. NICHT-ODER.
Bei getakteten Flipflops Zustände des Datentors offen bzw. geschlossen durch
NICHT-UND-Gatter realisiert.
Datentor immer dann geöffnet wenn am Takteingang C Zustand logisch 1
anliegt und immer dann geschlossen, wenn am Takteingang C Zustand logisch
0 anliegt.
598
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.7 Datenpfade und Datentore
Schalter
digitales Softwaresystem mit Takt C als Steuereingang und Datentyp STB, der
einen binärwerten Schalttyp abbildet.
unit 16-Bit-SWITCH;
input DAN:RTB < 15, …, 0 >; C:STB;
output DAB: RTB < 15, …, 0 >;
begin
|C|:DAB=DAN,
|/C|:DAB=1
end
Anweisungsfolge 16-Bit Schalters
599
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
600
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
von-Neumann-Rechner (RS Teil 2) beinhaltet
• Zentraleinheit (CPU = Central Processing Unit), bestehend aus
• Rechenwerk,
• Steuerwerk
• Speicherwerk,
• Ein- und Ausgabewerk,
• Verbindungswege (BUS) für den Datentransfer zwischen Werken.
BUS realisiert eine funktionelle Trennung der Verbindungsstruktur in jeweils
getrennte Verbindungswege. Bei den zu übertragenden Informationen handelt
es sich um:
• Daten: hierzu zählen die Befehle, die Operanden und die Resultate,
• Adressen: zur Anwahl von Speicherzellen und Registern,
• Signale: zur Steuerung des Informationsaustausches zwischen den
einzelnen Werken.
601
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
Daraus resultieren drei Teilbusse des Prozessor Bussystems:
• Adressbus, stellt Ziel- und Quelladresse des Datentransfers bereit
• Datenbus, überträgt die eigentlichen Daten
• Steuerbus, übernimmt Koordinierung des Datentransfers hinsichtlich des zeitlichen Ablaufs und der Auswahl der Übertragungsrichtung
602
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
Bussteuerung in der Regel zentral durch Bus-Master, beispielsweise
CPU, kann aber auch durch den DMA-Controller realisiert sein. Ablauf
des Datentransfers auf dem Bus ist folgender:
• Bus-Master stellt Adresse zur Anwahl des Kommunikationspartners
auf Adressbus bereit; angewählter Kommunikationspartner erkennt
dies und geht in Bereitschaft,
• Bus-Master bestimmt durch Aktivierung einer Steuerinformation
– z.B. /R für einen Lesezugriff oder /W für einen Schreibzugriff –
Übertragungsrichtung; so bestimmte Quelle legt die Daten auf den
Datenbus,
• Bus-Master führt Datentransfer aus und signalisiert Abschluss des
Datentransfers indem er Lese- bzw. Schreibsignal deaktiviert; Bus
wird in den Ausgangszustand versetzt, ist für nächsten Datentransfer
bereit.
603
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
Lesezugriff und Schreibzugriff auf synchronem Bus:
Zeitspanne für Busoperation (Lesen/Schreiben eines Datums) → Buszyklus T,
stimmt mit Taktzyklus des betrachteten Prozessors überein.
Innerhalb Zeitintervall Ta werden für Zugriffsformen Lesen und Schreiben die
Adressen und Steuerleitung R//W auf Adressbus bzw. Steuerleitung gelegt.
Weiterer Ablauf:
• Leseoperation (R//W = 1): Prozessor erwartet, dass während des
Zeitintervalls Tb der adressierte Sender antwortet und die gültigen Daten zur
Übernahme auf dem Datenbus zur Verfügung stellt. Übernahme beginnt mit
Ende des Zeitintervalls Tb.
• Schreiboperation (R//W = 0): Prozessor legt zu Beginn Zeitspanne
Tb die gültigen Werte auf den Datenbus, um adressierten Element Zeit zur
Übernahme zu lassen. Datenübernahme erfolgt mit positiver Flanke an R//W.
604
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
T
Takt
A
D
T
T
a
b
Adresse
x
Daten
x
Lesen
R/ /W
D
Daten
x
Schreiben
R/ /W
Legende:
605
irrelevant
Tristate
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.8 Bus-Systeme
Für das Busverhalten ist charakteristisch, dass alle Vorgänge synchron
zum Taktzyklus ablaufen.
Steuerbussignale beschränken sich auf Taktsignal und R//W-Leitung,
sowie weitere Signale, z.B. Reset, IRQ, etc.
606
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
607
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Zählen ist im allgemeinen Sinn Addieren (Vorwärtszählen) oder
Subtrahieren (Rückwärtszählen) einer logischen 1 bis Zählvorgang
beendet ist.
Zähler werden nach verwendetem Code und nach Zählrichtung
unterschieden.
Digitaltechnik verwendet hauptsächlich Dual-Zähler und BCD-Zähler.
Unterscheiden sich nach Vor- und Rückwärtszähler, sowie synchronen
und asynchronen Zählbetrieb.
Zähler werden mit Flip-Flops aufgebaut.
608
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Zustandsdiagramm Modulo 6 Zähler
Übergangsdiagramm des Modulo-6-Zählers.
609
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Zähler sind Schaltungen, die in ihren Eingang in beliebiger zeitlicher
Reihenfolge einlaufende Impulsfolge abzählen und Zählergebnis am
Zählerausgang in (binär) codierter Form darstellen.
Anwendung zur
• Messung der Zeit durch Abzählen periodischer Zeitmarken,
• Messung von Frequenzen durch Auszählen der Schwingungen
innerhalb eines Zeitintervalls,
• etc.
Analoge Größen werden zur Weiterverarbeitung in Impulsfolgen
gewandelt und mit Zähler abgezählt.
610
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Arbeitsweise des Zählers
• Synchron (parallel gesteuert) zentraler Takt steuert alle FF
gleichzeitig
Synchrone Zähler sind einfacher und übersichtlicher aufgebaut; sie
sind leicht erweiterbar. Ihr Verknüpfungsnetz ist aufwendiger,
allerdings treten keine Laufzeitprobleme auf
•
Asynchron (seriell gesteuert) Takt steuert i. d. R. nur das erste FF
an, die nach geschalteten Stufen werden vom anderer FF-Ausgängen aus der gesamten Kette angesteuert
Bei asynchronen Zählern ist der Gatteraufwand geringer. Wie bei
allen asynchronen Abläufen, kann es aber zu unübersichtlichen
Laufzeitproblemen kommen.
•
•
Vorwärtszähler,
Rückwärtszähler.
611
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Synchroner Zähler.
Asynchroner Zähler.
612
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Frequenzteiler:
Schaltungen, die Frequenz rechteckförmiger Signale in einem bestimmten
Verhältnis (herunter)teilen. Prinzipschaltung für Frequenzteiler ist FF
FF erzeugt Frequenzteilung im Verhältnis 2 : 1.
Berechnung des Teilerverhältnisses:
fE
ft = n
2
fE = Eingangsfrequenz
ft = geteilte Frequenz
n = Anzahl der Flip-Flops
613
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Frequenzteiler
a Asynchroner Frequenzteiler
Jeder Asynchron-Dualzähler eignet sich als Frequenzteiler.
a Synchroner Frequenzteiler
Jeder Synchron-Dualzähler eignet sich als Frequenzteiler.
a Bei einem vorgegebenen Zählumfang "modulo-m" sind bei Binärkodierung
mindestens n Flipflops notwendig, wobei gilt:
m ≤ 2n
614
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Asynchrone Vorwärtszähler
• seriell gesteuert
• Takt steuert i. d. R. nur das erste FF an → Stufe mit der höchsten
Schaltfrequenz
• nach geschaltete Stufen werden von FF-Ausgängen aus der gesamten
Kette angesteuert
• Vorwärtszähler → zählt mit aufsteigender Wertigkeit
615
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Binäruntersetzer
Zählen im reinen Binärcode
4 stufiger asynchroner Binäruntersetzer mit JK FF
JK FF arbeitet für J = K =1 als T-FF → kippt mit jedem Triggerimpuls CP in
entgegen gesetzte Lage
616
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Asynchroner Dezimalzähler
617
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Synchrone dekadische Vorwärtszähler
•
•
•
•
•
•
parallel gesteuert
zentraler Takt steuert alle FF gleichzeitig
Hierdurch entfällt die Addition der Verzögerungszeiten
Höhere Grenzfrequenzen
Aufwendigere Schaltungen
Mit BCD Code realisierbar (8-4-2-1-Synchronzähldekade)
618
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Modulo-n-Zähler
•
•
•
n verschiedene Stellungen
wenn höchste Zählerstellung erreicht, Zählvorgang von vorn
Zahl der verwendeten FF minimal
619
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
620
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Ringzähler:
•
•
•
•
•
•
verwenden 1-aus-m-Code
bestehen aus m zu einem Ring zusammen geschalteten FF
nur eines gesetzt (Qi = 1)
alle anderen haben 0 am Ausgang
mit jedem Trigger wandert die 1 um eine Stelle in Zählrichtung weiter
nach m Zähltakten ist Ausgangszustand wieder erreicht
621
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
1-aus-10-Ringzähler
622
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
623
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
624
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Vor- und Rückwärtszähler:
•
•
•
•
•
•
können sowohl vorwärts als auch rückwärts zählen
können synchron oder asynchron ausgelegt sein
verwenden 8-4-2-1Code
verwenden JK FF
Steuereingang ZV, 1 vorwärts zählen, 0 gesperrt
Steuereingang ZR, 1 rückwärts zählen, 0 gesperrt
625
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Beispiel:
Bei synchronem Vorwärtszähler werden Takteingänge aller FF parallel
geschaltet. Eingänge J und K der FF von den Ausgängen so steuerbar,
dass nach jeden Taktimpuls das Codewort für die nächste Zahl am
Ausgang Ü entsteht.
626
J
K
Ün+1
/Ün+1
Funktion
0
0
Qn
/Qn
Speichern
0
1
0
1
Reset
1
0
1
0
Set
1
1
/Qn
Qn
Toggle
Rechnerstrukturen Teil 1
Prof. Dr. Möller
627
Zustand
Wert (DCBA)
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
10
1010
11
1011
12
1100
13
1101
14
1110
15
1111
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
„1“
T
J
K
A
J
K
B
J
C
K
J
D
&
K
R
628
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Ü
3.9 Zähler
629
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.9 Zähler
Maximale Zählfrequenz der Vorwärts-Zähldekade kann dabei nach folgender
Beziehung ermittelt werden, da alle FF gleichzeitig getaktet werden und die
Schaltung ohne zusätzliche Schaltglieder arbeitet:
f =
1
t FF + T
mit t als FF-Verzögerungszeit und T als minimale Taktimpulsbreite.
630
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
631
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.10 Register
• ermöglichen synchrone oder asynchrone Speicherung von Daten.
• sind Speicherglieder die Schaltvariable aufnehmen, speichern und ausgeben
Schieberegister
• Schaltungen, die Daten taktgesteuert aufnehmen, speichern und abgeben.
• arbeiten entweder mit einer seriellen oder einer parallelen Ein- und
Ausgabe.
• Unterschied liegt in der Anzahl der Ein- und Ausgänge.
• Für den Aufbau eignen sich taktflankengesteuerte D-FF SR-FF und JK-FF.
• stehen als integrierte Schaltungen zur Verfügung.
632
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.10 Register
Schieberegister aus 4 taktzustandsgesteuerten FF
633
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.10 Register
634
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3. Lokale und globale Konzepte der Digitaltechnik
3.1 Logische Verknüpfungsglieder
3.2 Boolesche Algebra
3.3 Automatentheorie
3.4 Schaltnetze
3.5 Synchrone und asynchrone Schaltwerke
3.6 Kooperierende Schaltwerke (Operationswerk, Steuerwerk)
3.7 Datenpfade und Datentore
3.8 Bus-Systeme
3.9 Zähler
3.10 Register, Registerfiles
3.11 Speicher
635
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
3.11 Grundlagen von Halbleiterspeichern
3.11.1 Adressierung
3.11.2 Realisierung
3.11.3 Statische und dynamische Speicher
636
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Halbleiterschaltungen die Information über bestimmten Zeitraum festhalten und jederzeit wieder ausgeben, d.h. verfügbar machen, werden
als Halbleiterspeicher bezeichnet.
Speicherhierarchie: entstand aus Zusammenhang zwischen Größe
und Geschwindigkeit (Zugriffzeit).
Archivspeicher: beliebige Größe, Zugriffzeiten im Bereich s und min
Massenspeicher: Speicherkapazitäten zwischen 1 GB und > 1 TB,
Zugriffzeiten im Bereich 5 und 70 µs,
Haupt-, Arbeits- oder Systemspeicher: 128kB bis 512 MB Speicher,
Zugriffszeiten im Bereich 70 – 120 ns
Cache: 128 Byte >40 MB Speicherkapazität, Zugriffszeit 5 – 20 ns
Register: 8 bis 64 Registern deren Zugriffzeit unter 5 ns liegt.
Zugriffszeit Register auf Massenspeicher weist Unterschied auf, durch
Faktor 106 gekennzeichnet, während in Größe, d.h. Speicherkapazität,
Unterschied bei 109 liegt.
637
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Nutzung Referenzlokalität von Programmen ermöglicht beschleunigte Speicherzugriffe und virtuelle Größe des Hauptspeichers
Referenzlokalität:
Tendenz von Programmen, über gewisse Zeitspanne hinweg wird nur auf
Daten und Instruktionen zugegriffen, die vorher referenziert wurden oder
benachbarte Adressen haben.
Ursache u.a. in sequentieller Abarbeitung von Befehlen und Lokalisierung von
Operanden in Datensegmenten (Heap, Stack).
Weitere Gründe: sequentieller Zugriff auf Komponenten eines Feldes sowie
Programmschleifen.
Unterscheiden: räumliche und zeitliche Lokalität. Bei räumlicher Lokalität
erfolgt nächster Zugriff auf benachbarte Speicherzelle; bei zeitlicher Lokalität
erfolgt nächster Zugriff auf Speicherzelle auf die kurz vorher bereits
zugegriffen wurde.
In Multiprozessorsystemen gewinnt die Prozessorlokalität an Bedeutung, gibt
an, dass Prozessor in der Regel auf seinen privaten Datenbereich zugreift.
638
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Heute vorherrschend Halbleiterspeicher mit wahlfreiem Zugriff:
• flüchtige ⇒ RAM, als statisches oder dynamisches RAM realisiert
⇒ SRAM oder DRAM
• nicht flüchtige Speicher
aufgeteilt in:
• löschbare Speicher ⇒ EPROM und EEPROM
• nicht löschbaren Speicher ⇒ maskenprogrammierbare ROM
Damit können Halbleiterspeicher mit wahlfreiem Zugriff realisiert
werden.
639
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Cache:
schneller Pufferspeicher, entweder auf CPU-Chip oder zwischen CPU und
Speicher angeordnet.
• Cache erforderlich um Prozessoren mit hinreichender Schnelligkeit mit
Daten versorgen zu können.
• Cache enthält neben Cachesteuerung einen Tag- und einen Blockspeicher,
wobei Tag-RAM das Adressregister und Blockspeicher das Datenregister
beinhaltet, letzteres in der Regel als SRAM realisiert.
• Cache-Eintrag besteht aus zwei Teilen: Adress-Tag und (Daten-) Block. Am
Tag einer Cache-Zeile ist erkennbar, ob sich gewünschter Block in adressierter Cache-Zeile befindet oder nicht. Cache-Zeilen werden im Blockzugriffverfahren geladen.
640
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Schreib-Lese-Speicher
Haupt-, Arbeits- oder Systemspeicher ist Halbleiterspeicher mit wahlfreiem
Zugriff, d.h. Schreib-Lese-Speicher oder Random Access Memory (RAM).
Kann als statisches oder dynamisches RAM realisiert sein.
Statische RAM-Bausteine, SRAM, weisen kleine Zugriffs- und Zykluszeiten auf,
wohingegen dynamische RAM-Bausteine, DRAM, sich dadurch von den SRAM
unterscheiden, dass Zugriffe speicherintern als Lesezugriffe mit Rückschreiben
ausgeführt werden, mit automatischem Refresh. Damit sind dynamische
RAM-Bausteine langsamer als statische RAM-Bausteine, besitzen aber eine
größere Speicherkapazität.
641
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Schreib-Lese-Speicher
RAM besteht aus
• Speicherfeld, in der Regel in matrixförmiger Anordnung,
• Steuerlogik, für Adress- und Datenregister.
Speicheradresse über Datenpfade, Adressbus, in Adressregister übertragen,
vom RAM-Speicher decodiert, d.h. auf Zeilen- und Spaltennummer abgebildet.
Steuerlogik S ermöglicht
• Anwahl des Speicherbaustein vermittels Chip Select (CS) Signal
• Vorgabe Richtung der Datenübertragung durch Schreibsignal, d.h.
Schreiben oder Lesen.
Bei Blockzugriff auf RAM werden die einzelnen Wörter eines Blocks in einem
Buszyklus gelesen, z.B. bei der Übertragung eines Blocks in Cache Zeile. Vom
Prozessor wird nur Anfangsadresse des zu übertragenden Blocks erzeugt da
Speichersteuerung die Folgeadressierung durchführt.
642
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Datenleitung DL
C
S
Wortleitung WL
DRAM-Zelle (Ein-Transistor Speicherzelle)
643
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
UB
DL1
Q
A
T
5
DL2
T
2
T
4
T
1
T
/Q
/A
T
3
6
WL
RAM-Speicherzelle in CMOS-Technologie
WL durch chipinterne Adressdekodierungslogik angesteuert
Schreibvorgang durch logisch 1 an WL eingeleitet, DL1und DL2 führen inverse
Potentiale. Liegt DL2 auf logisch 1 wird, WL = 1 und T5 und T6 leitend, T1 niederohmig
und T2 hochohmig. A nimmt Wert logisch 0 an (Spannungsteiler T1/T2) und /A durch
Rückkopplung Wert logisch 1.
644
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
SRAM-Zellen benötigen, bedingt durch statische Natur, keine Refresh-Zyklen
⇒ schneller als DRAM-Zellen, da Schreibvorgang nach Lesen unterbleiben
kann. Hardwaretechnischer Aufwand innerhalb SRAM größer, da ohne
Dekodierungslogik, 6 Transistoren pro 1-Bit-Zelle aufgewendet werden
⇒ Verlustleistung steigt frequenzabhängig an.
DRAM basiert in Zellenstruktur auf Ein-Transistor-Speicherzelle. DRAMSpeicherzelle basiert auf Prinzip der Ladungsspeicherung in Kondensator der,
bei Vernachlässigung der Leckströme, einmal aufgeladen, seine Ladung hält
und so den logischen Wert 1 oder 0 repräsentiert.
645
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Speicherbausteine aus DRAM Zellen
häufig benutzt, Zelle (ohne Ansteuerung) nur aus einem Transistor besteht,
klein ist und geringe Verlustleistung hat ⇒ Packungsdichte DRAM
entsprechend hoch ⇒Schaltungsmehraufwand für Refresh-Controller in
keinem Verhältnis zum Gewinn an Packungsdichte und zur geringen
Verlustleistung.
DRAM Bausteine aus DRAM Zellen aufgebaut, interner Aufbau quadratische
Struktur. Adresse zumeist in zwei Halbadressen, Seiten- und Spalten-Adresse,
mit Steuersignal übermittelt.
Adressen entsprechen beiden Dimensionen in der Adressierung des Bausteins.
Ausführung des Lese- und Schreibverstärkers (E/A-Schaltung) stellt Interface
zu Anschlüssen (Pins) dar. Für Lesevorgang wird anschließender Schreibvorgang initiiert um gespeicherte Daten zu erhalten. Dieser Vorgang, sowie teilweise auch der Refresh, laufen bei modernen DRAM intern ab.
646
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Neben Schreib-/Lese-Zellen, haben fest-programmierbaren Speicherzellen
eine erhebliche Bedeutung. Die verschiedenen Ausführungen dieses Speichertyps unterscheiden sich sowohl hinsichtlich
• Reversibilität der Programmierung,
• Handhabbarkeit der Programmierung wie z.B. dem Ort wo dies
durchgeführt wird, und der eingesetzten Technologie.
Programmierung ⇒ Vorgang der abläuft um Zelle definiert zu aktivieren und
anschließend, bei Auslesevorgang, eindeutigen logischen Wert, 0 oder 1, auszugeben. Wert muss auch nach Ausschalten der Betriebsspannung erhalten
bleiben.
Neben irreversiblen Programmierungsformen, sowohl beim Hersteller als auch
vor Ort beim Anwender ("Feldprogrammierung") durchführbar, mit EPROMund EEPROM-Technologie reversible Programmierformen verfügbar.
647
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
V
PP
Select Gate
Floating Gate- - Source n+
Pinch Off
Substrate
V
D
Drain n+
Depletio
Region
EPROM-Zelle während des Programmiervorgangs
648
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
EPROM-Zelle besteht aus MOS-Transistor mit zweitem Gate ⇒ Floating Gate,
hat keine elektrische Verbindung nach außen, liegt isoliert in der Transistorzelle
Im unprogrammierten Zustand keine Ladung auf Floating Gate ⇒ erzeugt
niederohmige Verbindung zwischen Source und Drain bei Gateansteuerung
Kopplung zwischen Eingangssignal und Produktzeile durch EPROM-Zellen die,
sofern selektiert, miteinander gekoppelt sind wenn Floating-Gate durch seine
elektrische Neutralität das Selektierungssignal nicht maskiert ist.
Programmierte Zelle, bei der Ladungen auf dem Floating Gate vorhanden sind,
wird durch das Selektierungssignal nicht leitend, so dass zwischen Source- und
Drain die Spannung aufgrund der Hochohmigkeit des Transistors abfällt. Die
Programmierung erfolgt durch Aufbringen elektrischer Ladungen (Elektronen)
mittels Überspannung.
649
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Selektierungssignal
Eingang
signal
Select Gate
Floating Gate
Source n+
Drain n+
Substrate
Produktzeile
EPROM-Zelle im unprogrammierten Zustand
650
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Bestrahlung mit UV-Licht bestimmter Wellenlänge (Quecksilber, 253,7 nm)
oder durch elektrischen Löschvorgang (Flash-EPROM bzw. EEPROM) ⇒ auf
Floating Gate gespeicherte Ladung kann durch lichtelektrischen Effekt wieder
entfernt und damit der Baustein (in seiner Gesamtheit) gelöscht werden.
EPROM Zellen theoretisch beliebig oft lösch- und wiederbeschreibbar.
Parasitäre Effekte, die Ladungen auf Floating Gate auch beim Löschvorgang
belassen, begrenzen die Zahl der Wiederholungen jedoch auf endliches Maß.
Herstellerangaben zufolge kann Baustein zwischen 100 bis 10000 mal reprogrammiert werden, dabei werden die Datenerhaltungszeiten garantiert.
651
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
EPROM Zellen Prototyp für reversibel programmierbare Zellen in Logikbausteinen. Anwendung sind Festwertspeicher für Rechnersysteme, z.B. für
Basisprogramme bei großen Rechenanlagen oder als Programmspeicher bei
Controller-Applikationen.
Die EPROM Zelle benötigt einen MOS-Transistor pro Bit, im Aufbau mit den
DRAM-Zellen vergleichbar. Verlustleistung bei CMOS-Systemen gering, jedoch
sind Schaltzeiten nicht beliebig verkleinerbar, da EPROM Zelle als Kondensator wirkt, so dass elektrische Impulse größere Laufzeiten aufweisen.
EPROM werden als Programmspeicher eingesetzt die wortweise organisiert
sind, d.h. das Lesen/Schreiben einer Zelle geschieht nicht bitweise, sondern
mit der jeweiligen Wortbreite, die 4, 8 oder 16 Bit, sein kann.
652
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
3.11 Grundlagen von Halbleiterspeichern
3.11.1 Adressierung
3.11.2 Realisierung
3.11.3 Statische und dynamische Speicher
653
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Adressierung einer Speicherzelle/Speicherzellen in eindimensionaler Form.
Bei k Eingangsleitungen (Adressen) und n Ausgangsleitungen (Daten) 2kUNDGatter mit je k Eingängen und n ODER-Gatter mit je 2k Eingängen benötigt.
Ausführung UND- und ODER-Gatter Bausteinabhängig.
EPROM Zellen, die auf gemeinsamen Datenausgang arbeiten, parallel zu
diesem geschaltet.
Führt eine der Zellen am Ausgang (Produktsignal) logisch 1 Signal, bewirkt
interne Verschaltung, dass das gemeinsame Signal, d.h. Datenausgang Wert
logisch 1 führt, der über Tristate-Treiber an den externen Anschlüsse des
Speicherbausteins anliegt.
Durch Selektierung mittels der UND-Gatter kann nur eine Zelle logisch 1 Signal
am Ausgang aufweisen, und nur dann, wenn die Programmierung (d.h. die
Ladungen) gelöscht ist.
654
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
A
k-1
A
0
0
&
1
&
k
2 programmierbare
Verbindungen je
ODER-Gatter
...
2
k-1
&
k
2 UND-Gatter
Adreßdekodierer
>1
...
>1
n ODER-Gatter
D
0
D
n-1
Aufbau eines Programmspeicher-Bausteins mit eindimensionaler Adressierung
655
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
SRAM-Zellen ähnlich zusammengeschaltet. Auslegung Datenbustreiber
bidirektional, da SRAM Schreib/Lesespeicher sind.
Wegen eindimensionaler Adressierung benötigt Speicherbaustein mit n Bitleitungen
n * 2k-Eingangsleitungen zu den Zellen. EPROM 27256 (SRAM 62256) mit 32k * 8 Bit
Speicherkapazität, besitzt 8 Bitleitungen, aber 262144 Eingangsleitungen. Diese
Belegungen werden in annähernd quadratische Form gebracht (zweidimensionale
Adressierung), durch diese Verschaltung wird Herstellungsprozess integrierter
Schaltkreise besser unterstützt. Linear angeordnete UND-Matrix wird zweigeteilt und
quadratisch zueinander angeordnet, zeigt Abbildung 3.59 für EPROM 27256 im Detail.
Speicherinhalt befindet sich in 512 * 512-Speicher Matrix. Gewünschte Zellen (8 Bit
Breite) werden durch 512 Selektierungsleitungen, den Adressleitungen A4 - A9 und
A12 - A14, UND verknüpft mit 8 * 26 Leitungen der Adressierungsbits A0 bis A3, A10
und A11, angesprochen. Chip Select-Leitungen sowie Output Enable zur Steuerung in
Mikroprozessorsystemen mit mehr als einem Baustein benötigt, in Abbildung 3.59. der
Einfachheit halber weggelassen, da sie nur die Ausgangstreiber aktiv schalten. Von der
jeweiligen Adresszuordnung kann im Einzelfall abgewichen werden, das Prinzip der
Implementierung bleibt aber bei allen Speicherbausteinen erhalten.
656
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
XDecoder
A4 - A9,
A12 - A14
...
(1 aus
512)
512 * 512...
Matrix
...
Y-Decoder
(8 aus 512)
A0-A3, A10, A11
8 Outputs
...
EPROM 27256, vereinfacht
657
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
3.11 Grundlagen von Halbleiterspeichern
3.11.1 Adressierung
3.11.2 Realisierung
3.11.3 Statische und dynamische Speicher
658
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Zusammensetzung mehrerer Speicherzellen zu größeren Organisations
einheiten wird Register genannt.
Register werden, da Anzahl in der Regel gering ist, direkt angesteuert,
so dass keine Zeit zur Dekodierung einer anliegenden Adresse verloren
geht.
Daher sind sie sehr schnell und können als schnelle Speicher eingesetzt
werden.
Datenspeicherbereich (RAM) ist als Register-File realisiert, d.h. jeder
Befehl kann auf jede RAM Zelle in gleicher Weise zugreifen. Breite des
Registers ist entsprechend dem Grad der Parallelität unterschiedlich.
Man findet 8-, 16-, 32- und 64-Bit breite Register in CPUs.
659
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Mehrere Register können zu Registersatz zusammengeschlossen
Werden. Voraussetzung dafür ist deren allgemeine Einsetzbarkeit, d.h.,
Register dürfen keine speziellen Aufgaben wahrnehmen. Eine gewisse
Ausnahme bilden hier nur Register, deren Wert festgelegt ist um einen
schnellen Konstantenzugriff zu gewährleisten.
Sehr große Registersätze werden häufig als Registerfile bezeichnet.
Die Verwaltung von Registerfiles ist auf unterschiedliche Weise möglich.
Im einfachsten Fall stehen alle Register jeder Task zur gleichen Zeit zur
Verfügung. Die Form der Verwaltung entspricht dem konventionellen
Registersatz; Aufteilungen für verschiedene Tasks werden innerhalb der
Software festgelegt .
660
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Registerfile
kann in zwei verschiedene Bereiche aufgeteilt werden, einen lokalen und einen
globalen Bereich. Der globale Registersatz bleibt für alle Tasks gleichermaßen
erreichbar, so dass über diese Register der globale Datenaustausch abgewickelt werden kann.
Für Programme oder Unterprogramme wird lokaler Registersatz definiert, auf
dem bei Aufruf eine Parameterübergabe erfolgen kann bzw. der dem Programmteil als privater Registersatz zur Verfügung steht. Zu diesem Zweck
wird das Registerfile in eine Reihe disjunkter Registersätze aufgeteilt, deren
Zuteilung an eine Task über einem Registersatzpointer erfolgt. Entsprechend
muss der Zugriff auf Register über einen Registerpointer mit Index erfolgen.
661
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Des weiteren wird der Registersatz wieder in einen globalen und einen lokalen
Bereich aufgeteilt, wobei die Verwaltung des lokalen Teils nicht mehr in Form
disjunkter Teilen, sondern teilweise überlappend erfolgt, so dass insbesondere
die Parameterübergabe erheblich vereinfacht wird. Die überlappenden Teile
sind häufig zyklisch angeordnet, so dass sich erste und letzte lokale
Registerbank überlappen. Durch diese Überlappung wird ein einzelner lokaler
Registersatz in drei Teile aufgespalten, wobei der mit dem aufrufenden
Programm überlappende Teil der Parameterübergabe dient, der mittlere Teil
private Register zur Verfügung stellt, während der letzte Teil gegebenenfalls
mit dem nächsten, nun von diesem Programmteil aufgerufenen
Unterprogramm, überlappt.
Abbildung zeigt die beschriebenen Verwaltungsformen eines Registerfiles.
Die entsprechenden Basispointer müssen ebenfalls in Registern gehalten
werden. Die Verwaltung per Hardware funktioniert in gewissen Grenzen. Wird
der Bedarf überschritten, muss eine Softwareverwaltung eingeführt werden.
662
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Lokaler Registersatz
m Registern, l überla
Lokaler Registersatz k mit
m Registern
Registernummer
k *m+i
(i Index innerhalb)
Index k
Registernummer
k *( m-l/2) + i
Index k
(i Index innerhalb)
Globaler Registersatz
Globaler Registersatz
Globaler
Registerfile
Konstante
Konstante
Registerfile
Basispointer mit lokalen, Basispointer
disjunkten
Registersätzen
Registerfile
mit lokalen,
Basispointer
überlappenden
Registersätzen
Verwaltungsformen eines Registerfiles
663
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Organisation von SRAM und EPROM
Neben Registersätzen bzw. files, wie sie innerhalb von Prozessoren oder PeRepheriebausteinen vorhanden sind, werden Komponenten eingesetzt, die
ausschließlich speichernde Funktionen besitzen: Programmspeicher
In der Regel wortweise organisiert, Wortbreiten, 4, 8, 26, 32 oder 64 Bit,
d.h.Lesen/schreiben einer Zelle erfolgt mit der jeweiligen Wortbreite.
Adressierung einer Speicherzelle bzw. mehrere paralleler Speicherzellen (ein
Wort) kann in eindimensionaler Form erfolgen.
Infolge der eindimensionalen Adressierung benötigen Speicherbausteine mit
n Bitleitungen insgesamt n * 2k-Eingangsleitungen zu den einzelnen Zellen.
Das EPROM 27256 (oder ein SRAM 62256) mit 32k * 8 Bit Speicherkapazität, besitzt damit 8 Bitleitungen, aber 262144 Eingangsleitungen.
In der Praxis werden diese Belegungen in eine annähernd quadratische Form
gebracht (zweidimensionale Adressierung), da durch diese Verschaltung der
Herstellungsprozess der ICs besser unterstützt wird.
664
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
A
k-1
A
0
0
&
1
&
k
2 programmierbare
Verbindungen je
ODER-Gatter
...
2
k-1
&
k
2 UND-Gatter
Adreßdekodierer
>1
...
>1
n ODER-Gatter
D
0
D
n-1
Aufbau eines Programmspeicher-ICs mit eindimensionaler Adressierung
665
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Linear angeordnete UND-Matrix wird zweigeteilt und quadratisch zueinander
angeordnet, wie beim EPROM 27256. Speicherinhalt in 512 * 512-Speicher
Matrix. Die gewünschten Zellen (hier 8 Bit Breite) durch 512 Selektierungsleitungen links (Adressleitungen A4 – A9, A12 – A14), UND-verknüpft mit den
8 * 26 Leitungen von unten (Adressierungsbits A0 bis A3, A10 und A11)
angesprochen.
Die Chip Select-Leitungen sowie der Output Enable werden zur Steuerung in
Mikroprozessorsystemen mit mehr als einem Baustein benötigt.
Von der jeweiligen Adresszuordnung kann im Einzelfall abgewichen werden,
das Prinzip der Implementierung bleibt aber bei allen Speicherbausteinen
erhalten.
666
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
XDecoder
A4 - A9,
A12 - A14
...
(1 aus
512)
512 * 512...
Matrix
...
Y-Decoder
(8 aus 512)
A0-A3, A10, A11
8 Outputs
...
EPROM 27256, vereinfacht
667
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
3.11 Grundlagen von Halbleiterspeichern
3.11.1 Adressierung
3.11.2 Realisierung
3.11.3 Statische und dynamische Speicher
668
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
DRAM Bausteine
DRAM Bausteine sind aus DRAM-Zellen zusammengesetzt, wobei den
internen Aufbau betreffend ein quadratische Struktur angestrebt wird.
Die Aufteilung der Adresse in zwei Halbadressen hat eine deutliche Minderung der Gehäusemaße zur Folge, da bestimmte Anschlüsse (Pins) Doppelfunktionen erhalten können. Bei den sogenannten Page-Mode-DRAM Bausteinen wird dies zusätzlich ausgenutzt, indem die Page-Adresse nur einmal
geladen wird, anschließend aber alle zugehörigen Spalten-Adressen bei
verringerter Zugriffszeit ausgelesen werden können
669
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
1. Teiladresse (Page)
Datenleitung
Speichertransistor
D
OUT
&
&
ZeilenRegister
Speichertransistor
C
P
&
E/A-Schaltung
...
D
IN
&
&
...
2. Teiladresse (Column)
DRAM-IC (prinzipieller Aufbau)
670
Rechnerstrukturen Teil 1
Prof. Dr. Möller
3.11 Speicher
Eingänge
I1
I0
I1
ODER-Matrix
I0
Wort0
&
UND-
Wort1
Matrix
&
Wort2
&
Wort3
&
>1
>1
bedeutet feste Verbindung,
programmierbare Verbindung (Fuse)
O1
O0
Ausgänge
PROM Struktur (prinzipieller Aufbau)
671
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Prüfungsrelevante Vorlesungsinhalte RS Teil 1
Rechnerstrukturen Teil 1:
1. Grundbegriffe der Informationsverarbeitung
(Information, Repräsentation von Information,
Zahlensysteme, Codierung)
2. Rechnerarithmetik
(Operationen mit Zahlen, Ganzzahl- und GleitkommaArithmetik)
3. Lokale und globale Konzepte der Digitaltechnik
(Boolesche Algebra, Automatentheorie, Schaltnetze,
synchrone und asynchrone Schaltwerke, kooperierende Schaltwerke (Operationswerk, Steuerwerk), Datenpfade, Datentore, Bus-Systeme, Zähler, Register,
Registerfiles, Speicher)
672
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Tutorium RS Teil 1
Mittwoch 08.02.2006
Zuse Hörsaal
Information
Zahlensysteme
Codierung
Rechnerarithmetik
Boolesche Algebra
Schaltnetze
Schaltwerke
Zähler
Register
Speicher
673
16:00 – 18:00 Uhr
Rechnerstrukturen Teil 1
Prof. Dr. Möller
Herunterladen