Thema 2. Digtale Logik und wie der Computer rechnet



Ähnliche Dokumente
Algorithmen zur Integer-Multiplikation

Einführung in. Logische Schaltungen

Grundlagen der Informationverarbeitung

Grundtypen Flip-Flops

Grundlagen der Digitaltechnik

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

N Bit binäre Zahlen (signed)

Eine Logikschaltung zur Addition zweier Zahlen

2. Negative Dualzahlen darstellen

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Protokoll zu Grundelemente der Digitaltechnik

Zahlendarstellungen und Rechnerarithmetik*

Binäre Division. Binäre Division (Forts.)

Lösungen: zu 1. a.) b.) c.)

Binäre Gleitkommazahlen

9 Multiplexer und Code-Umsetzer

3 Rechnen und Schaltnetze

Digitaltechnik II SS 2007

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Teil II. Schaltfunktionen

a) Da die Zahlen im IEEE-32Bit-Format dargestellt werden sollen, ist der Bias = 127.

10. Elektrische Logiksysteme mit

5 Verarbeitungsschaltungen

Praktikum Digitaltechnik

Technische Informatik - Eine Einführung

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Primzahlen und RSA-Verschlüsselung

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

Einführung in die Informatik I

Grundlagen der Informatik

Dennis S. Weiß & Christian Niederhöfer. Versuchsprotokoll. (Fortgeschrittenen-Praktikum) zu Versuch 15. Digitalelektronik

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Versuch Nr. 8c Digitale Elektronik I

Praktikum Grundlagen der Elektronik

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Benutzte Quellen. Benutzte Bezeichnungen. Logik. Logik

Einteilung der Kippschaltungen (Schaltwerke) (=Flipflops)

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Vorbereitung zum Versuch

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

7 Rechnen mit Polynomen

Zeichen bei Zahlen entschlüsseln

6.2 Scan-Konvertierung (Scan Conversion)

, WS2012 Übungsgruppen: Mo.,

Grundtypen Flip-Flops

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Technische Informatik Basispraktikum Sommersemester 2001

Flipflops. asynchron: Q t Q t+t

1. Übung aus Digitaltechnik Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

Daten, Informationen, Kodierung. Binärkodierung

Binärdarstellung von Fliesskommazahlen

Professionelle Seminare im Bereich MS-Office

Computerarithmetik ( )

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 11/12

Rationale Zahlen. Weniger als Nichts? Ist Null nichts?

13 Programmierbare Speicher- und Logikbausteine

Speicherung von Signalen - Flipflops, Zähler, Schieberegister

Elektrische Logigsystem mit Rückführung

III. Asynchrone und synchrone Schaltwerke

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Lineare Gleichungssysteme

Grundlagen der Informatik I Informationsdarstellung

Schaltwerke Schaltwerk

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Facharbeit Informatik. Thema:

Informationsblatt Induktionsbeweis

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Flip Flops allgemein - Digitale Signalspeicher

Zahlensysteme Seite -1- Zahlensysteme

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Teil 1: Digitale Logik

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Die Mikroprogrammebene eines Rechners

Daten verarbeiten. Binärzahlen

Information in einem Computer ist ein

2 Darstellung von Zahlen und Zeichen

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

Hardwarearchitekturen und Rechensysteme

5. Aussagenlogik und Schaltalgebra

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren?

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Übungen zu Informatik 1

Übung RA, Kapitel 1.2

Theoretische Informatik SS 04 Übung 1

Konzepte der Informatik

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

3 Arithmetische Schaltungen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Mikro-Controller-Pass 1

Computerarithmetik (1)

Transkript:

Thema 2 Digtale Logik und wie der Computer rechnet

Motivation: Schaltnetz 74LS83 4 Bit Adder für Interessenten: die Anzeigen sind TIL-3

...was dahinter steckt

Grundlagen der Schaltalgebra Schaltalgebra ist spezielle Boolesche Algebra (siehe //) (M;,+, ) --> einstellige Operation -a, zweistellige Operation Min(a,b), Max(a,b) Ziel: Analyse von Verknüpfungsschaltungen Synthese von Schaltungen für Verknüpfungen aus Schaltungen für elementare Operationen Wir werden unterscheiden: Kombinatorische Schaltungen (Schaltnetze) Sequentielle Schaltungen (Schaltwerke)

Definitionen: Eine Variable, die genau zwei Werte annehmen kann (also a B, heißt binäre Schaltvariable. Eine Abbildung B n B heißt binäre Schaltfunktion.

Schaltfunktionen W a B e d e u tu n g B e z e ic h n u n g W W = K o n s ta n z W W = a Id e n titä t W 2 W 2 = a N e g a tio n N O T W 3 W 3 = K o n s ta n z

Schaltfunktionen W2 a b B e d e u tu n g B e z e ic h n u n g W 2 W = K o n s ta n z W 2 W = a b K o n ju n k tio n A N D W 2 2 W 2 = a b In h ib itio n W 2 3 W 3 = a Id e n titä t a W 2 4 W 4 = a b In h ib itio n............... -> Selbststudium

Wichtige Schaltfunktionen NOT W 2 = a AND W2 = a b OR W2 7 = a b XOR W2 5 = ( a b) (a b) NOR W2 8 = (a b) bzw. a b NAND W2 4 = (a b) bzw. a b

Regeln: Vorrangregel vor vor Kommutativgesetz a b = b a a b = b a Assoziativgesetz (a b) c = a (b c) (a b) c = a (b c) Distributivgesetz a (b c) = (a b) (a c) a (b c) = a b a c Komplementgesetz a a = a a = Idempotenzgesetz a a = a a a = a Absorptionsgesetz a (a b) = a a (a b) = a und Gesetz a =, a = a = a, a = de Morgan (a b) = a b (a b) = a b

Gatter und Schaltnetze Gatter sind die Grundbausteine der Digitaltechnik realisieren die logischen Funktionen der Rechnersysteme sind Basis von Schaltnetzen haben eine bestimmte Schaltzeit bzw. Gatterdurchlaufzeit Kurze Schaltzeit ist Basis für schnelle Rechnersysteme Details siehe /3/ Eingänge oder bzw. L oder H? Ausgänge oder bzw. L oder H

Nach DIN 47 Schaltsymbole wichtiger Gatter NOT & AND & NAND OR NOR = XOR

alte und internationale Symbole NOT AND OR NAND NOR XOR

Vereinfachungen Zur Vereinfachung können aufeinander folgende Schaltglieder unmittelbar ohne Abstand hintereinander gezeichnet werden. Schaltglieder, die zwei Eingänge besitzen, können prinzipiell auch mehr als zwei Eingänge besitzen.

Axiome Jede beliebige Schaltung kann unter alleiniger Verwendung von NOT, AND und OR aufgebaut werden. Jede beliebige Schaltung kann unter alleiniger Verwendung von NAND oder NOR aufgebaut werden.

Experimente mit Gattern. Elektronik-Bastelei: Breadboard, Netzteil, LEDs, TTL Schaltkreise,... Literatur : /3/ vgl. einführendes Beispiel 2. Simulatoren für Digitalfunktionen viele Systeme im Internet, hier empfohlen Yenka

Yenka-Modell Demonstration

74: einfachster Gatterbaustein (4-fach NAND) Demonstration

7483: 4-Bit Addierer

Kombinatorische Schaltungen auch Schaltnetze genannt Ausgangsgrößen sind nur vom momentanen Wert der Eingangsgrößen abhängig Einige Beispiele: 2bit Ampelansteuerung (4 Zustände) Kodewandler dezimal --> binär (BCD) binär (BCD) --> dezimal binär (BCD) --> 7 Segment Paritätsgeneratoren, Paritätstester Halb- und Volladder

2Bit Ampelansteuerung +5V & & & & 33Ώ 4 8 74LS 7

Yenka-Modell Demonstration

2Bit Ampelansteuerung Aufgabenstellung: Die Ampelphasen ROT ROT-GELB GRÜN GELB sollen mit zwei Bit gesteuert werden E E2 Rot Ge Gn

Ampel noch mal konkret... & & & +5V & & & +5V & 33Ώ & 33Ώ & & & +5V & & & +5V & 33Ώ & 33Ώ

Decoder: Beispiel - BCD zu 7-Segment a f b g e c d Mögliche Anzeige für..5

Tabelle... 2 3 2 2 2 2 a b c d e f g...synthese?

74HC45

drei EINFACHE Beispiele

Paritätsgenerator 4bit = = = ungerade gerade bei mehr Bits entsprechend mehr XOR s

Halbadder Addition von 2 Binärziffern: + =, + =, + = + = (Übertrag!) a b & S & Ü

Volladder Addition von 3 Binärziffern Berücksichtigung des Übertrags der vorhergehenden Stelle a b Halbadder Ü S Ü c Halbadder Ü S S

Vereinfachungen von Schaltnetzen Warum? Kostenoptimierung für die Herstellung Wie Durch Vereinfachung der Boole schen Ausdrücke Zur einfacheren Schreibweise nehmen wir a b -> ab, a b -> a+b, a -> a Mit Karnaugh-Veitch Plänen Mit Computerprogrammen

Sequentielle Schaltungen bisher: Wert der Ausgabevariablen nur vom Zustand der Eingabevariablen abhängig (Schaltnetz) y = f(x) neu: Wert der Ausgabevariablen zusätzlich auch vom Zustand der Schaltung abhängig (Schaltwerk) y = f(x,z); z =g(x,z)

Bsp. RS-Flip-Flop ungetaktet S Q R Q S S Q NAND-Technik R R Q

Yenka Modell

Bsp. a RS-Flip-Flop ungetaktet setzen mit high S Q R Q S S Q NAND-Technik R R Q

Yenka Modell

Zustandstabelle RS Flipflop Eingangsgrößen S R Q m Q m+ undef. undef.

Bsp. 2 RS-Flip-Flop getaktet Übernahme der Information nur wenn t = S & & Q R & Q C S S Q C Schaltsymbol R R Q

Bsp. 3 D-Flip-Flop (Latch) D & & Q & Q C D D Q C Schaltsymbol Q

Bsp. 4 JK Flip-Flop J S Q C C K R Q

Zustandstabelle JK Flipflop J K Q m Q m+

Anwendung Binärzähler

Anwendung Schieberegister

weitere Beispiele n-bit Latch z.b. Ports im E/A Adressraum n-bit Speicher --> Statische RAMs da teuer, Anwendung hauptsächlich als Cache (der Arbeitsspeicher ist dynamischer RAM!) Arithmetische Schaltungen z.b. Serienaddierwerk

Schaltnetze als Zustandsdiagramme S Q= J=K= J=,K= S Q= J=K= J=,K= J=K= J=,K= J=K= J=,K= S 7 S S J-K Flip Flop S 6 S 2 S 5 S 3 3Bit Zähler S 4

wie der Computer rechnet

Festkommarechenwerk nach // Set/Reset Flags Flag-Register C OV N Z Ergebnis: Flags Ergebnis: ALU allg. Register- Speicherbefehle Ladebefehle block MPX ALU Speicheroperand Funktionsauswahl

eine ALU (748) Aufgaben der ALU arithmetische Operationen Demonstration z.b. Addition, Subtraktion, Komplement, Inkrement, Dekrement,... logische Operationen AND, OR, XOR, NOT,... vgl. Dokumentation ALU 74F8.pdf

Festkommaaddition Erinnerung: Volladder Addition von Maschinenworten serieller Addierer (sequentieller Addierer) parallele Addierer vollständiges Schaltnetz RCA (Ripple Carry Adder) CLAA (Carry Look Ahead Adder)

Volladder Addition von 3 Binärziffern Berücksichtigung des Übertrags der vorhergehenden Stelle a b Halbadder Ü S Ü Ü c Halbadder S S

Addition von Maschinenworten + + ------------ ----------- x24+x8d = xb x92+x93 = x25

sequentieller Addierer T T........ a S T b VA c Ü T D D-FF Q Zeitbedarf: T SA = k * T (Taktzeit)

Ripple Carry Adder (4 Bit) x3 y3 x2 y2 x y x y a b c VA Ü S a b c VA Ü S a b c VA Ü S a b c VA Ü S C4 S3 S2 S S Zeitbedarf: T CLA = k * (Laufzeit des VA)

Carry Look Ahead Adder Ausgangspunkt: maximale Beschleunigung der Addition wäre mit vollständiger Parallelisierung möglich (Schaltnetz für alle möglichen Varianten) hoher Ressourcenverbrauch (nach // DNFs mit 4*3 k- Konjunktionen je Summenbit k) Kompromiss: CLAA Kombination aus Volladdern und einem CLA-Generator Laufzeit : T CLAA = + 2 (Laufzeit eines VA + CLAG)

CLAA x3 y3 x2 y2 x y x y CLA Generator (Schaltnetz) a b c VA Ü S a b c VA Ü S a b c VA Ü S a b c VA Ü S C4 S3 S2 S S

Beispiel: Kombination von 8 74F8 und 2 74F82 (32 Bit ALU) Quelle: Fairchild Semiconductor, 74F82 Manual

einige Bemerkungen zur Subtraktion eigenständige Subtraktionsschaltungen wären möglich aus dem Zusammenhang mit der Darstellung negativer Zahlen als Zweierkomplement ergibt sich die -> Rückführung der Subtraktion auf die Addition der entsprechend Zahl im Zweierkomplement Beispiel (8 Bit): 68-43 = 68 + (43) zk = 68 + 23 = 25 (eigentlich 28 = x9 (da 8 Bit, bleibt nur x9 = 25 übrig, die setzt das Carry Flag)

Multiplikation gefunden in /2/: Multiplication is vexation, Division is as bad; The rule of three doth puzzle me, And practice drives me mad. Anonymous, Elizabethan manuscript, 57 offensichtlich ist die Multiplikation von zwei Zahlen im Stellenwertsystem mit größeren Schwierigkeiten verbunden als die Addition! Befehle zur Multiplikation sind erst spät in die ISA einer CPU integriert worden: der Z8-Prozessor hat keinen Multiplikations- oder Divisionsbefehl, aktuelle PIC Mikrocontroller ebenfalls nicht! Im Allgemeinen wird für die Multiplikation von Maschinenworten kein Schaltnetz erstellt (sehr aufwendig für akzeptable Wortbreite). >Multiplikation wird algorithmisch behandelt (Mikrocode).

Algorithmen zur Multiplikation von Festkommazahlen Beachte vorher: Multiplikation mit 2 kann durch "links schieben" erreicht werden. für positive Zahlen (Vorzeichenproblematik kann man extra behandeln) Multiplikation durch wiederholte Addition langsamste Form des Multiplikationsalgorithmus Multiplikation durch Kombination von Additionen und Verschiebungen für auch vorzeichenbehaftete Zahlen (Zweierkomplement) der Algorithmus von Booth

Vorbemerkungen für die Addition von n-bit-maschinenworten genügt ein n-bit Ergebnisregister (+ Carry-Flag). für die Multiplikation von zwei n-bit- Maschinenworten ist ein größeres Ergebnisregister (2*n-Bit) notwendig! in einer realen ISA wird das Ergebnis einer Multiplikation meist in zwei (aufeinanderfolgenden) allgemeinen Registern abgelegt.

...wiederholte Addition sicher trivial, wird hier nicht weiter betrachtet!

Additionen und Verschiebungen (Vorwärtsalgorithmus) angelehnt an das Verfahren der schriftlichen Multiplikation: 234 x 2345 ----------- 67 + 67 = 67 4936 67 + 4936 = 5553 372 5553 + 372 = 42573 2468 42573 + 2468 = 289373 ----------- 289373 x ----------- + = + = + = + = ----------- -> Aufbereitung für Implementation

Implementaion (Vorwärtsalgorithmus) x ----------- : + L = : + L = : + L = : + L = ----------- jeweils Addition in der linken Hälfte des Ergebnisregisters, dann nach rechts schieben

Implementation (8 Bit, Produktregister 6 Bit) Start addiere den Multiplikand zur linken Hälfte des Multiplikator LSB = Produktregisters ja nein schiebe Produktregister Bit nach rechts schiebe Multiplikator Register Bit nach rechts 8ter Durchlauf Ende

Implementation: Hardware Multiplikand- Register 8 Bit 8Bit ALU Multiplikator Register 8 Bit Produktregister 6 bzw. 2x8 Bit Steuerung

Verbesserung (Produktregister hat rechts Platz!) Multiplikand- Register 8 Bit 8Bit ALU Produktregister Multiplikator 6 bzw. 2x8 Bit Steuerung

... Start addiere den Multiplikand zur linken Hälfte des Produktregister LSB = Produktregisters ja nein schiebe Produktregister Bit nach rechts 8ter Durchlauf Ende

Ausblick I: Der Algorithmus von Booth bisher: Multiplikation nur für positive Zahlen, negative ) Zahlen müssen extra behandelt werden Vorzeichenbestimmung des Ergebnisses +a * -b = -c, -a * +b = -c, -a * -b = c Umwandlung negativer Zahlen in positive Durchführung der positiven Multiplikation Rückwandlung in negative Zahlen, wenn notwendig Algorithmus von Booth behandelt auch negative Zahlen automatisch ) Zweierkomplementdarstellung

Algorithmus von Booth arbeitet ähnlich dem vorgestellten Algorithmus mit folgenden Ergänzungen: dem Produktregister wird rechts ein weites Bit angefügt (Anfangswert =) in Abhängigkeit von den jetzt zwei rechten Bits des Produktregisters wird nun vor dem (arithmetischen!) schieben bei und nichts getan bei der Multiplikand addiert bei der Multiplikand subtrahiert (Zweierkomplement addiert)

Beispiel: 2 x 6 2 x 6 = x (Zk von = ) Initial: PR = Schritt : () PR = -> Schritt 2: () PR = -> Schritt 3: () PR = -> Schritt 4: () PR = -> 2

Beispiel: 2 x -6 2 x -6 = x (Zk von = ) Initial: PR = Schritt : () PR = -> Schritt 2: () PR = -> Schritt 3: () PR = -> Schritt 4: () PR = -> -2

Beispiel: -2 x 6-2 x 6 = x (Zk von = ) Initial: PR = Schritt : () PR = -> Schritt 2: () PR = -> Schritt 3: () PR = -> Schritt 4: () PR = -> -2

Beispiel: -2 x -6-2 x -6 = x (Zk von = ) Initial: PR = Schritt : () PR = -> Schritt 2: () PR = -> Schritt 3: () PR = -> Schritt 4: () PR = -> 2

Division ähnliche Algorithmen können für die Division von Festkommazahlen erstellt werden. Division durch 2 kann durch "rechts schieben" erreicht werden! Die entsprechenden Divisionsalgorithmen werden hier nicht behandelt. Für das Selbststudium sei die Literatur empfohlen!

Ausblick II: Gleitkommarechenwerke Gleitkommazahlen werden im Maschinenwort in der Form.m - m -2...m -k * 2 BIAS-n dargestellt. Das Rechenwerk muss entsprechend den Regeln für die Arbeit mit Gleitkommazahlen in Exponentialdarstellung getrennte Operationen für Mantissenteil und Exponenten-teil des Maschinenworts realisieren. Dabei sind zusätzlich die Vorzeichen zu beachten. Addition, Subtraktion: gleiche Exponenten erzeugen, Mantissen addieren/subtrahieren Multiplikation Mantissen multiplizieren/dividieren, Exponenten addieren/subtrahieren

IA32 Floating Point Unit bei 386er als Koprozessor, seit 8486 Bestandteil der CPU Realisiert die Arbeit mit IEEE 754 konformen Gleitkommazahlen 32 und 64 Bit Was kann die IA32-FPU? intern wird mit 8 Bit "temporary real" gerechnet laden, speichern vier Grundrechenarten (auch ganze Zahlen) Vergleiche Betragsbildung, Vorzeichenumkehr, Reste, Runden Quadratwurzel, dualer Logarithmus, 2 x SIN, COS, partieller TAN und ARCTAN