E-Book, Deutsch, 415 Seiten, eBook
Reihe: Teubner Texte zur Informatik
Paul Hardware Design
2., bearbeitete Auflage 1997
ISBN: 978-3-322-95378-0
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Formaler Entwurf digitaler Schaltungen
E-Book, Deutsch, 415 Seiten, eBook
Reihe: Teubner Texte zur Informatik
ISBN: 978-3-322-95378-0
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Das vorliegende Lehrbuch beschäftigt sich in mathematisch präziser Weise mit ei nem ganz und gar praktischen Thema, nämlich dem Entwurf von Hardware. Kapitel 1 enthält eine Diskussion mathematischer Grundbegriffe. In den Kapiteln 2 bis 4 werden die notwendigen theoretischen Grundlagen über Boole'sche Ausdrücke, Schaltkreiskomplexität und Rechnerarithmetik behandelt. Der Übergang von der abstrakten Schaltkreistheorie zum Entwurf konkreter Schaltungen findet nahtlos in Kapitel 5 statt, wo aus den Verzögerungszeiten von Gattern das zeitliche Verhal ten von Flipflops und anderen Speicherbausteinen abgeleitet wird. Kapitel 6 enthält dann das vollständige Design eines einfachen Rechners. Das Lehrbuch ist aus Vorlesungen des zweiten Autors entstanden. Kapitel 2 bis 6 enthalten den Stoff für eine einsemestrige Anfängervorlesung. Kapitell ist mehr ein Nachschlagewerk für nagende Fragen, die sich früher oder später einstellen. Kapitel und Abschnitte, die mit einem Stern gekennzeichnet sind, kann man überspringen. Die Darstellung großer Teile der Kapitell, 5 und 6 ist neu. Die Kapitel 2 bis 4 haben einen erheblichen Anteil an fortgeschrittenem Material. Es hat sich jedoch gezeigt, daß Erstsemester damit keine besonderen Schwierigkeiten haben. Im Einzelnen enthält Kapitel 1 eine Entwicklung des formalen Mengenkonzepts in einer für Studienanfänger verständlichen Form. Die Sätze und Beweise in diesem Kapitel sind von vorne bis hinten klassische Mathematik. Der Standpunkt, von dem aus wir sie interpretieren, ist bewußt übermütig und nicht klassisch. Wir wollen damit den Studierenden schmackhaft machen, von Zeit zu Zeit auch Wohlvertrautes von einem frischen - natürlich nicht unsinnigen - Standpunkt aus zu betrachten. Das ist insbesondere beim Forschen manchmal sehr nützlich.
Zielgruppe
Upper undergraduate
Weitere Infos & Material
1 Mathematische Grundlagen.- 1.1 Über Gott und die Welt.- 1.2 Elementare Konzepte.- 1.2.1 Natürliche Zahlen.- 1.2.2 Induktion.- 1.2.3 Variablen und der naive Mengenbegriff.- 1.2.4 Funktionen und Relationen.- 1.2.5 Zeichenreihen.- 1.2.6 Zeichensätze.- 1.3 Rechnen.- 1.3.1 Vollständig geklammerte Ausdrücke.- 1.3.2 Auswertung von Ausdrücken.- 1.3.3 Identitäten.- 1.3.4 Unvollständig geklammerte Ausdrücke.- 1.4 Zahlen.- 1.4.1 Ganze Zahlen, rationale Zahlen, reelle Zahlen.- 1.4.2 Zahlendarstellungen.- 1.4.3 Abzählbarkeit.- 1.5 Formale Logik.- 1.5.1 Prädikate.- 1.5.2 Formale Fassung des Mengenkonzepts.- 1.5.3 Beweissysteme.- 1.6 Übungen.- 2 Boole’sche Ausdrücke.- 2.1 Mächtigkeit endlicher Mengen.- 2.2 Rechnen mit Boole’schen Ausdrücken.- 2.2.1 Vollständig geklammerte Ausdrücke.- 2.2.2 Einsetzungen.- 2.2.3 Identitäten und Ungleichungen.- 2.2.4 Lösen von Gleichungen.- 2.2.5 Der Darstellungssatz.- 2.3 Kosten von Ausdrücken.- 2.3.1 Definitionen.- 2.3.2 Allgemeine Schranken.- 2.4 Polynome und Resolution.- 2.4.1 Polynome und Primimplikanten.- 2.4.2 Das Verfahren von Quine-McCluskey.- 2.4.3 Monome und n-Würfel.- 2.4.4 Bestimmung von Minimalpolynomen.- 2.4.5 Nullstellen und Erfüllbarkeit.- 2.4.6 Erfüllbarkeit von konjunktiven Normalformen.- 2.4.7 Resolutionsbeweise.- 2.5 Übungen.- 3 Schaltkreise.- 3.1 Gerichtete Graphen und Schaltkreise.- 3.1.1 Gerichtete Graphen.- 3.1.2 Gatter.- 3.1.3 Schaltkreise.- 3.2 Rechnen mit Schaltkreisen.- 3.2.1 Einsetzungen.- 3.2.2 Identitäten und berechnete Funktionen.- 3.2.3 Anfangsschaltkreise.- 3.3 Darstellungssatz.- 3.4 Schaltkreiskomplexität.- 3.4.1 Komplexitätsmaße.- 3.4.2 Assoziativität und balancierte Bäume.- 3.5 Schaltkreise und Boole’sche Ausdrücke.- 3.5.1 Subfunktionen.- 3.5.2 Das Kriterium von Neciporuk.- 3.5.3 Selektoren.- 3.5.4 Funktionen mit vielen Subfunktionen.- 3.6 Übungen.- 4 Arithmetik.- 4.1 Zahlendarstellungen.- 4.1.1 Stellenwertsysteme.- 4.1.2 Binärzahlen.- 4.1.3 2’s-Complement-Darstellung.- 4.2 Addierer.- 4.2.1 Halb- und Volladdierer.- 4.2.2 Carry-Chain Addierer.- 4.2.3 Incrementer.- 4.2.4 Conditional-Sum Addierer.- 4.2.5 Carry-Lookahead Addierer.- 4.3 Subtraktion.- 4.3.1 Addition von 2’s-Complement-Zahlen.- 4.3.2 Addierer und Subtrahierer.- 4.4 Multiplizierer.- 4.4.1 Multiplikation nach der Schulmethode.- 4.4.2 Wallace-Tree Multiplizierer.- 4.4.3 Multiplikation nach Karatsuba und Ofman.- 4.5 Aufbau von Arithmetikeinheiten.- 4.5.1 Bit Slice Designs.- 4.6 Übungen.- 5 Speicher und Tristate-Bausteine.- 5.1 Physikalische Eigenschaften von Gattern.- 5.1.1 Logische und physikalische Signale.- 5.1.2 Fanout.- 5.1.3 Verzögerungszeiten.- 5.1.4 Transferfunktionen.- 5.1.5 Kapazitive Last.- 5.1.6 Worst Case Timing-Analyse.- 5.1.7 Spikefreies Umschalten von Gattern.- 5.2 Flipflops.- 5.2.1 R/S-Flipflop.- 5.2.2 D-Latch.- 5.2.3 D-Flipflop.- 5.3 Bausteine mit Flipflops.- 5.3.1 Register.- 5.3.2 Zähler.- 5.4 Statischer Speicher.- 5.4.1 Mehrfaches OR.- 5.4.2 Treiberbäume.- 5.4.3 Dekodierer.- 5.4.4 Aufbau eines statischen Speichers.- 5.5 Tristate-Treiber, Busse und Pipelines.- 5.5.1 Speicher und Bus Contention.- 5.5.2 Wired OR.- 5.6 Übungen.- 6 Ein einfacher Rechner.- 6.1 Die abstrakte RESA-Maschine.- 6.1.1 Load und Store.- 6.1.2 Compute Befehle.- 6.1.3 Immediate Befehle.- 6.1.4 Indexregister.- 6.1.5 Sprungbefehle.- 6.2 Instruktionssatz.- 6.2.1 Instruktionsformate.- 6.2.2 Load Befehle.- 6.2.3 Store Befehle.- 6.2.4 Compute Befehle.- 6.2.5 Sprungbefehle.- 6.2.6 Erzeugung großer Konstanten und Shifts.- 6.2.7 Selbstmodifikation und von Neumann-Architektur.- 6.2.8 Sign Extension.- 6.3 Datenpfade.- 6.4 Idealisierte Timing-Diagramme.- 6.5 PLAs, PROMs und PALs.- 6.5.1 PLAs.- 6.5.2 PROMs und EPROMs.- 6.5.3 PALs.- 6.5.4 PALASM.- 6.6 Kontrollogik.- 6.6.1 Clock und Phasensignale.- 6.6.2 Clocksignale.- 6.6.3 Output enable Signale.- 6.6.4 Kontrolle der ALU und Sign-Extension.- 6.6.5 Laden des Befehlszählers.- 6.6.6 Asynchrone Signale und Reset.- 6.6.7 Ansteuerung des Speichers.- 6.7 Exakte Timing-Analyse.- 6.7.1 Kontrollogik.- 6.7.2 Vermeidung von Bus contention.- 6.7.3 Inkrementieren des Befehlszählers.- 6.7.4 Compute-Befehle.- 6.7.5 LOADIN1 und STOREIN1.- 6.7.6 Jump.- 6.7.7 Zykluszeit und Befehlsrate.- 6.7.8 ALUs mit Carry Lookahead und Conditional Sum.- 6.7.9 Kontrollsignale mit 3.5 Zyklen Dauer.- 6.7.10 Verkürzung des Fetch-Zyklus.- 6.7.11 Einschalten des Stroms.- 6.8 Ein- und Ausgabe.- 6.8.1 I/O-Ports und Interfaces.- 6.8.2 UART.- 6.8.3 EPROM.- 6.8.4 Datenpfade und Memory Map.- 6.8.5 Busprotokoll und Wait-Zyklen.- 6.8.6 Zustandsdiagramme.- 6.8.7 Kontrolle des Speichers.- 6.9 Übungen.- A Verwendete Bauteile.- A.1 Gatter.- A.2 Multiplexer.- A.3 Register.- A.4 Zähler.- A.5 Treiber.- A.6 ALU Bausteine.- A.7 PALs.- A.8 Speicherbausteine.- A.9 Ein- und Ausgabe.- B PAL-Gleichungen.- B.1 CPU-Kontrolle.- B.2 SRAM-Kontrolle.- B.3 EPROM-Kontrolle.- B.4 UART-Kontrolle.




