1 / 82

Hardwarearchitekturen und Rechensysteme

Hardwarearchitekturen und Rechensysteme. 4. Schaltnetze. Motivation. Schaltnetze sind kombinatorische digitale Schaltungen. Rechnerwerkzeuge für den Entwurf und die Simulation dieser Schaltungen basieren auf der Booleschen Algebra.

osma
Télécharger la présentation

Hardwarearchitekturen und Rechensysteme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hardwarearchitekturen und Rechensysteme 4. Schaltnetze

  2. Motivation • Schaltnetze sind kombinatorische digitale Schaltungen. Rechnerwerkzeuge für den Entwurf und die Simulation dieser Schaltungen basieren auf der Booleschen Algebra. • In diesem Kapitel wird das Verhalten und die Struktur einiger ausgewählter Schaltnetze behandelt. Es sind Schaltnetze, die für den Aufbau von Operationswerken in Prozessoren benötigt werden.

  3. Gliederung • 4.1 Spezielle Schaltnetze • 4.1.1 Multiplexer/Demultiplexer • 4.1.2 Datenbuszugang • 4.1.3 Permutationsschaltnetz • 4.1.4 Vergleicher (Komparator) • 4.1.5 Addierer • 4.1.6 Multiplizierer • 4.2 PLA (programmable logic arrays) • 4.3 Elektrotechnische Grundlagen • 4.4 Zeitliches Verhalten von Schaltnetzen • 4.5 Hazards (Gefahr) in Schaltnetzen

  4. 4.1 Spezielle Schaltnetze • 4.1.1 Multiplexer/Demultiplexer • 4.1.2 Datenbuszugang • 4.1.3 Permutationsschaltnetz • 4.1.4 Vergleicher (Komparator) • 4.1.5 Addierer • 4.1.6 Multiplizierer

  5. 4.1.1 Multiplexer/Demultiplexer • Ein Multiplexer/Demultiplexer ist ein Schaltnetz, welches eine Datenweiche darstellt. • Multiplexer:

  6. Multiplexer • Definition: • Ein Multiplexer ist eine Boolesche Funktion f, für die gilt: • Für die Abbildung ggilt: • Für das Dekodiersignal dkgilt: • Beispiel:

  7. Demultiplexer • Demultiplexer arbeiten invers zu den Multiplexern. Sie verteilen einen Datenstrom auf mehrere auswählbare Kanäle. • Demultiplexer finden oftmals in integrierten Schaltkreisen Anwendung, um die Zahl der Anschlußpins zu begrenzen. In DRAMs beispielsweise wird der höherwertige und der niederwertige Teil der Adresse nacheinander auf den Adreßbus gelegt. Der Baustein muß dann die Signale intern demultiplexen und dem Spalten- bzw. Zeilendekoder zuführen.

  8. 0 Datenweg- Ausgangs- Eingangs- schaltung datenweg datenwege n-1 Steuereingänge Decoder 0 Datenweg- Ausgangs- Eingangs- schaltung datenwege datenweg n-1 Steuereingänge Decoder Datenwegschaltung • Multiplexer: • Demultiplexer:

  9. Datenbus Akku- Hilfs- Register register Puffer- Multiplizierer ALU register Ansteuerung Ergebnisbus Anwendung – Busbasiert

  10. Ansteuerung Akku- Register 1 Register Register 2 ALU Register 3 Multiplexer Ansteuerung Demultiplexer Ergebnis- Ergebnis- register 1 register 2 Anwendung – Multiplexerbasiert

  11. e 0 0 0 1 1 sel 0 1 1 0 e 1 2:1 Multiplexer • Funktionstafel:KV-Diagramm: • Schaltplan: • Funktion:

  12. 4:1 Multiplexer

  13. sel 1 0 Decoder sel 2 1 Enable e 0 f 0 e 1 1 e 2 2 e 3 3 4:1 Multiplexer

  14. sel 1 0 Decoder sel 2 1 sel 1 Enable 2 e 0 0 e 1 1 e 2 2 e 3 3 1 f 1 Decoder 2 Enable e 0 4 e 1 5 e 2 6 e 3 7 8:1 Multiplexer

  15. 2:1 4-Bit Multiplexer

  16. C0 Steuerung C1 C2 I0 I1 Y I2 I3 Eingänge I4 Y I5 I6 I7 Enable Multiplexer – Standardbaustein • Multiplexer sind als integrierte Bauelemente erhältlich. Typischerweise handelt es sich dabei um 8:1 bzw. 16:1 Multiplexer (mit 3 bzw. 4 Steuereingängen). • SN74151 (TTL-Baureihe):

  17. Implementierung Boolescher Funktionen • Jede Boolesche Funktion f(x0, … ,xn-1) kann unter ausschließlicher Verwendung von Multiplexern realisiert werden. Für f: Bn!B ist hierzu ein 2n:1 Multiplexer mit n Steuereingängen notwendig. Die n Eingangsvariablen werden an die Steuereingänge gelegt. Die Belegung der 2n Dateneingänge erfolgt gemäß der Wahrheitstabelle der Funktion f. • Anstelle eines 2n:1 Multiplexers kann auch ein 2n-1:1 Multiplexer mit n-1 Steuereingängen verwendet werden. Die Steuereingänge werden mit den Variablen x1, … ,xn-1 beschaltet. Die Dateneingänge werden mit den konstanten Werten 0 und 1 und der freien Variablen belegt.

  18. Implementierung Boolescher Funktionen • Beispiel: 2 von 3 Mehrheitsfunktion 0 0 0 0 0 0 0 1 0 1 f 0 1 0 1 0 0 1 1 1 1 f 1 0 0 1 0 1 1 1 0 x x 2 1 1 1 1 0 1 x x x x x 0 1 2 1 0 0 0 8:1 Multiplexer 4:1 Multiplexer

  19. Beispiel

  20. f(0,0,c) 0 0 f(0,1,c) 0 1 f f(1,0,c) 1 0 f(1,1,c) 1 1 a b Implementierung Boolescher Funktionen • Die Beschaltung der Dateneingänge eines 2n-1:1 Multiplexers erhält man durch n-1-malige Anwendung des Shannon'schen Entwicklungssatzes. • Beispiel: Boolesche Funktion mit 3 Variablen • Die Steuereingänge werden mit den für die Entwicklung gewählten Variablen und die Dateneingänge mit den entsprechenden Co-Faktoren belegt.

  21. 1:2 Demultiplexer • Funktionstafel:KV-Diagramm: • Schaltplan: • Funktion: • Der nicht beschaltete Ausgang wird mit dem Wert 1 belegt! e e 0 1 1 1 sel 1 1 sel 0 1 f f 0 1

  22. 1:4 2-Bit Demultiplexer

  23. e 1 a i 4.1.2 Datenbuszugang • Tri-State-Gatter: • Ein Tri-State-Gatter besitzt die drei definierten Ausgangszustände 0,1 (abhängig vom Eingangssignal e) und einen hochohmigen Zustand z. Der Zustand zwird durch Aktivierung des Sperreingangs i(inhibit) erreicht. • Funktionstafel: Schaltplan: • Tri-State-Gatter werden immer dann verwendet, wenn mehrere Ausgänge, von denen nur einer aktiv sein darf, an eine Leitung angeschlossen werden sollen (z.B. Busleitungen).

  24. i i 1 1 Daten- Daten- sender empfänger 1 1 i i 1 1 Daten- Daten- sender empfänger 1 1 Bus Unidirektionaler Datenbuszugang

  25. Tri-State-Gatter a e 1 e d i a 1 r d & & Schaltsymbol i 1 r 1 Bidirektionaler Datenbuszugang • Funktionstafel: • Schaltplan:

  26. Einheit 1 Einheit 3 i i r r bidirektionaler Datenbus i r Einheit 2 Bidirektionaler Datenbuszugang

  27. 4.1.3 Permutationsschaltnetz • Permutationsschaltnetze vertauschen die Reihenfolge von Variablen. Die Vertauschung wird über einen Steuereingang sel aktiviert. • Schaltplan: • Permutationsschaltnetze werden in Verbindungsnetzwerken verwendet, um verschiedene Kommunikationswege schalten zu können.

  28. 4.1.4 Vergleicher (Komparator) • Vergleicher sind Schaltungen, die insbesondere in Mikroprozessoren Verwendung finden um beispielsweise den notwendigen Vergleich für bedingte Sprunganweisungen durchzuführen. • Vergleicher werden aber auch integriert in Schaltungen eingesetzt, z.B. zur Speicherauswahl oder für die Selektion von Ein-/Ausgabe-Geräten. • Vergleich der 2 Booleschen Tupel Xund Y:

  29. n-Bit Vergleicher • Vergleicher für n-Bit Zahlen lassen sich hierarchisch konstruieren. • (x≥y)-Vergleicher: x n & 1 f y n n & x n-1 y Vergleicher für f n-1 (n-1)-stellige n-1 x Dualzahlen 1 y 1

  30. y y y y y y y 0 1 2 3 4 5 6 7 x x x x x x x 1 2 3 4 5 6 7 > Komparator > Komparator n-Bit Vergleicher • n-Bit Vergleicher lassen sich zu Vergleichern von Dualzahlen mit größeren Längen kaskadieren. • 7-Bit Vergleicher aus zwei 4-Bit Vergleichern:

  31. 1-Bit Vergleicher für Dualzahlen • Der größer als bzw. kleiner als Vergleicher ist schaltungstechnisch aufwendiger als der Vergleich auf Identität.

  32. 4.1.5 Addierer • Ein Halbaddiererberechnet aus zwei 1-Bit Zahlen die Summen Siund den Übertrag Ci+1. • Funktionstafel: Schaltplan: • Funktionen:

  33. Volladdierer • Ein Volladdierer berechnet aus drei 1-Bit Zahlen die Summe Siund den Übertrag Ci+1. • Funktionstafel: Schaltplan: • Funktionen:

  34. n-Bit Ripple-Carry-Addierer • Ein n-Bit Ripple-Carry-Addierer entsteht durch die Kaskadierung von n-1 Volladdierern und einem Halbaddierer. • Im schlimmsten Fall müssen für die Addition zweier n-Bit Zahlen alle Addierer nacheinander durchlaufen werden, bis der Übertrag Snvorliegt.

  35. n/2-Bit-Addierer n/2-Bit-Addierer n/2-Bit-Addierer Carry-Select-Addierer • Ziel: Beschleunigung der Durchlaufzeit an-1 bn-1 an/2 bn/2 0 an/2-1 bn/2-1 a0 b0 cn 0 s‘n-1 s‘n/2 an-1 bn-1 an/2 bn/2 1 sn/2-1 s0 cn s“n-1 s“n/2 cn/2 sn-1 sn/2

  36. Subtraktionsschaltung aus Volladdierern • Die Differenz A-B (A,B¸ 0) wird durch die Addition des 2-er Komplements :B von B erreicht (A+(:B)), welches auf die bitweise Negation von B zurückgeführt wird: • Auftretende Überträge werden nicht berücksichtigt. • Beispiel: 4-Bit (Vorzeichen und 3-Bit für die Zahlendarstellung)

  37. Subtraktionsschaltung auf Volladdierern • Addierer/Subtrahierer:

  38. a COMP 0 a 1 a 2 a 3 A < B < = A = B > A > B b 0 b 1 b 2 b 3 Allgemeine Vergleicher für Dualzahlen • Der größer als bzw. kleiner als Vergleicher basiert auf einem Subtrahierer. • Integrierter Vergleicher (Komparator) SN7485: 0 s0 a0 ≥1 b0 & A<B n-Bit-Subtrahierer … … A=B an-1 sn-1 & A>B bn-1 cn coutn/2-1

  39. 4.1.6 Multiplizierer • Schnelle Multiplizierer werden durch parallele Berechnung sämtlicher (dualer) Produktterme und anschließender Addition der Terme mit den richtigen Wertigkeiten implementiert. • Es werden m2 viele AND-Gatter für die Bildung der Produktterme und m Addierer benötigt.

  40. Beispiel – 3-Bit Multiplizierer (1) • Eingaben: Faktoren aund b Ausgabe: Produkt p = a ¢b • Anschauliche Darstellung:

  41. Beispiel – 3-Bit Multiplizierer (1) a a a 2 1 0 b 0 & & & HA Addierer b 1 & & & VA VA HA Addierer b 2 & & & VA VA HA Addierer p p p p p p 5 4 3 2 1 0

  42. Beispiel – 3-Bit Multiplizierer (2)

  43. Multiplikand Multiplikator 3 2 1 0 3 2 1 0 2 2 2 2 2 2 2 2 2D 2C 2B 2A 1D 1C 1B 1A 2D 2C 2B 2A 1D 1C 1B 1A SN74284 SN74285 z z z z z z z z 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2 Produkt Standardbausteine für Multiplikation • Für die Multiplikation zweier 4-Bit Dualzahlen existieren die beiden Standardbausteine SN74284 und SN74285. Der Baustein SN74285 berechnet den niederwertigen 4-stelligen Teil des Produktes, der SN74284 den höherwertigen Teil.

  44. X UND Z ODER Y Matrix Matrix 1 X 4.2 PLA (programmable logic arrays) • PLAs sind integrierte Schaltungen zur Realisierung von DNFs. Sie sind durch sogenannte Programmiergeräte vom Kunden (Anwender) selbst personalisierbar. PLAs besitzen eine regelmäßige Struktur und sind daher besonders für eine VLSI-Realisierung geeignet. • Literale: • Ausgangsvektor: • Jede Komponenteyiaus Y = y1, y2, …, ymstellt eine DNF dar. • Produkttermvektor: • Jede Komponente zkaus Z = z1, z2, …, zlstellt einen Konjunktionsterm der negierten oder nicht negierten Literale dar.

  45. x 1 1 x 2 1 UND x n 1 z z z 1 2 l y 1 y 2 ODER y m PLA (programmable logic arrays) • UND-Ebene (UND-Matrix): • mit den Indexmengen Ik,nund Ik,pder negierten bzw. nicht negierten Variablen • ODER-Ebene (ODER-Matrix): • Die Personalisierung der Matrizen erfolgt durch Aktivierung der Leitungsverzweigungen, meist durch aktive Bauelemente (Transistoren).

  46. x x 1 1 1 1 x x 2 2 1 1 UND UND x x n n 1 1 & & & & 1 y & y 1 1 ODER ODER 1 y & y m m PLA • UND/ODER-PLA: NAND-PLA:

  47. Beispiel – Volladdierer • Boolesche Funktionen: • PLA: a b a C b C i i i i i i a i 1 b i 1 C i 1 C i+1 S i

  48. PLA, PAL und ROM • Der Aufwand der Personalisierung wird geringer, wenn nur eine der beiden Matrizen programmierbar (personalisierbar) ist. Für die Realisierung Boolescher Funktionen stehen 3 personalisierbare Strukturen zur Verfügung: • PLA • Personalisierung: UND-/ODER-Matrix • PAL • Personalisierung: UND-Matrix • Festwertspeicher (ROM) • Personalisierung: ODER-Matrix

  49. x 1 1 x 2 1 x n 1 y 1 y 2 y m PAL (Programable Logic Array) • Bei einem PAL ist die UND-Matrix personalisierbar und die ODER-Matrix festgelegt.

  50. 0 1 x 2 1 3 Decoder x 2 4 X/Y x 5 3 6 7 y y y 1 2 3 ROM • Bei einem Festwertspeicher wird die UND-Matrix fest als Adressdecoder personalisiert.

More Related