Informatik I Modul 5: Rechnerarithmetik (2)

Ähnliche Dokumente
6. Zahlendarstellungen und Rechnerarithmetik

Informatik I Modul 2: Rechnerarithmetik. Modul 2: Rechnerarithmetik (1)

Informatik I Modul 2: Rechnerarithmetik Burkhard Stiller M2 1

Computer Arithmetik. Computer Arithmetik Allgemein

Rechnergrundlagen SS Vorlesung

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Teil 2: Rechnerorganisation

Inhalt. Zahlendarstellungen

Informatik I Modul 2: Rechnerarithmetik (1)

Modul 2: Rechnerarithmetik (1) Informatik I. Modul 2: Rechnerarithmetik (1) Rechnerarithmetik. Formale Grundlagen. Zahlensysteme (1) Zahlensysteme (2)

Kapitel 5: Darstellung von Daten im Rechner

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

12. Tutorium Digitaltechnik und Entwurfsverfahren

Zahlendarstellungen und Rechnerarithmetik*

E Zahlendarstellungen und Rechnerarithmetik

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Division

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Grundlagen der Technischen Informatik. 4. Übung

Integrierte Schaltungen

Grundlagen der Technischen Informatik

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Carry-Lookahead Addierer (CLA)

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

3 Rechnen und Schaltnetze


GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Grundlagen der Technischen Informatik. 4. Übung

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

5 Verarbeitungsschaltungen

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Algorithmen zur Division

Grundlagen der Rechnerarchitektur

II. Grundlagen der Programmierung

Multiplikationschip. Multiplikation. Beitrag zu "Werkstattunterricht Multiplikation" Allgemeine Didaktik - Seminar SS95. Oberwiesenstr.

Grundlagen der Informatik I. Übung

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

6.2 Kodierung von Zahlen

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Digital Design 4 Schaltwerke

Grundlagen der technischen Informatik

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

Technische Informatik - Eine Einführung

Zahlensysteme Römische Zahlen

2 Darstellung von Zahlen und Zeichen

3 Verarbeitung und Speicherung elementarer Daten

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Abschlussklausur Informatik, SS 2012

Modul IP7: Rechnerstrukturen

5 Zahlenformate und deren Grenzen

Rechnerstrukturen WS 2012/13

Zahlensysteme und Kodes. Prof. Metzler

Algorithmen zur Division

Kapitel 6 Darstellung von Daten im Rechner. Kapitel 6: Darstellung von Daten im Rechner Seite 1 / 63

Grundlagen der Technischen Informatik. 3. Übung

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

2.Vorlesung Grundlagen der Informatik

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Computerarithmetik (1)

Einführung in die Informatik I

Datendarstellung Teil 2

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Algorithmen zur Integer-Multiplikation

Einführung in die Informatik I

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

1. Vorzeichen und Betrag (engl. Sign-/Magnitude) 2. Stellenkomplement 3. Basiskomplement

2.1.2 Gleitkommazahlen

Die Mikroprogrammebene eines Rechners

Darstellung ganzer Zahlen als Bitvektoren

Menschliches Addierwerk

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK

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

Das Rechnermodell - Funktion

Zahlensysteme Römische Zahlen

Programmierbare Logik Arithmetic Logic Unit

Zwischenklausur Informatik, WS 2014/15

Digitale Systeme und Schaltungen

Darstellung von negativen binären Zahlen

Tutorium Rechnerorganisation

Arithmetik: Vorzeichenregeln und Überlauf, Exponenten & Normalisierung, Umrechnungen. Architektur: - Rechnerarchitektur, Instruktionssatz, Assembler

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Informationsverarbeitung in IT-Systemen

Zahlendarstellung und Rechnerarithmetik

Logische Bausteine. Grundlagen der Rechnerarchitektur Logik und Arithmetik 31

Transkript:

Herbstsemester 2, Institut für Informatik IFI, UZH, Schweiz Informatik I Modul 5: Rechnerarithmetik (2) 2 Burkhard Stiller M5 Modul 5: Rechnerarithmetik (2) Grundrechenarten Arithmetisch-logische Einheit 2 Burkhard Stiller M5 2

Addition und Subtraktion Schaltungen zur Addition von Festkomma-Dualzahlen: Grundlage für die Durchführung aller arithmetischen Verknüpfungen Denn: Subtraktion Addition der negativen Zahl X - Y = X + (-Y) Multiplikation und Division lassen sich ebenfalls auf die Addition zurückführen. Bei Gleitkommazahlen: Mantisse und Exponent werden separat verarbeitet. Hierbei bildet die Addition von Festkomma-Dualzahlen die Grundlage. Grundtypen von Addierern sind wichtig 2 Burkhard Stiller M5 3 Vom Halbaddierer zum Volladdierer Bei der Addition zweier Dualzahlen (a und b): Summe (s) und Übertrag (ü) entstehen als Ergebnis. Funktionstabelle: a b s ü Man nennt dies einen Halbaddierer 2 Burkhard Stiller M5 4

Halbaddierer Gleichungen: s = a b a b = a b ü= a b Das Schaltbild und das Schaltsymbol: a b = s ü a b Σ CO s ü Schaltbild und Schaltsymbol eines -Bit-Halbaddierers 2 Burkhard Stiller M5 5 Mehrstellige Dualzahlen Zusätzlicher Eingang für den Übertrag der vorhergehenden Stellen ist nötig. a i b i ü i s i ü i+ Dies nennt man einen Volladdierer 2 Burkhard Stiller M5 6

Gleichungen, Schaltnetz und Schaltsymbol Ausgangsgleichungen: a i b i = s i = a i b i ü i ü i+ = a i ü i b i ü i a i b i = (a i b i ) ü i a i b i Halbaddierer ü i = s i ü i+ a i b i Σ s i CO ü ü i CI i+ Volladdierer Halbaddierer 2 2 Burkhard Stiller M5 7 Carry-lookahead-Addierer () Alle Überträge direkt aus den Eingangsvariablen bestimmen (carry-lookahead). Vermeidet Nachteil der großen Additionszeit des Carry-ripple-Addierers Es gilt: ü i+ = a i b i (a i b i ) ü i = g i p i ü i s i = (a i b i ) ü i = p i ü i mit g i = a i b i (generate carry, erzeuge Übertrag) und p i = (a i b i ) (propagate carry, leite Übertrag weiter) g i und p i können direkt aus den Eingangsvariablen erzeugt werden. 2 Burkhard Stiller M5 8

Carry-lookahead-Addierer (2) Problem: Größe des Hardware-Aufwands steigt mit steigender Stellenzahl stark an. Lösungen: kleinere Carry-lookahead-Addierer mit paralleler Übertragserzeugung, die seriell kaskadiert werden Blocküberträge der kleineren Blöcke parallel verarbeiten Hierarchie von Carry-lookahead-Addierern. 2 Burkhard Stiller M5 9 Schaltbild: 3-Bit-Carry-lookahead-Addierer b a b a b 2 a 2 = = = g p g p g p 2 2 = ü = s = s ü s ü2 2 parallele Übertragslogik ü 3 ü 2 Burkhard Stiller M5

Überlauferkennung Allgemeine Überlauferkennung bei dualer Addition: Korrekte Addition: beide Überträge sind gleich. Überlauf: beide Überträge sind ungleich. Realisierung z.b. durch ein Antivalenzgatter 2 Burkhard Stiller M5 Multiplikation und Division Zweierkomplementzahlen erwiesen sich für Addition und Subtraktion als besonders günstig, weil bei dieser Darstellung das Vorzeichen nicht explizit betrachtet werden mußte. Bei der Multiplikation existiert dieser Vorteil nicht. Lösungen: Zweierkomplementzahlen zunächst in eine Form mit Betrag und Vorzeichen umwandeln. Zahlen dann miteinander zu multiplizieren und das Ergebnis schließlich wieder in die Zweierkomplementdarstellung umzusetzen. Spezielle Multiplikationsalgorithmen für Zweierkomplementzahlen verwenden (Booth-Algorithmus, hier nicht tiefergehend behandelt). 2 Burkhard Stiller M5 2

Multiplikation Zur Multiplikation von Gleitkommazahlen muß man Mantissen beider Zahlen multiplizieren und ihre Exponenten addieren: m b e m 2 b e2 = (m m 2 ) be + e2 Ist die Mantisse mit Hilfe von Betrag und Vorzeichen dargestellt, ist der übliche Multiplikationsalgorithmus anwendbar. Das Ergebnis muß nach der Multiplikation unter Umständen noch normalisiert werden. Bei Addition der Charakteristiken c = e + o und c 2 = e 2 + o muß die Summe außerdem um den Offset o korrigiert werden, um die richtige Ergebnischarakteristik c = (e + e 2 ) + o zu erhalten. 2 Burkhard Stiller M5 3 Parallele und serielle Multiplikation Papier und Bleistift Methode: Analog zur Multiplikation mit Papier und Bleistift im Dezimalsystem kann man auch im Dualsystem vorgehen. Beispiele: 3 3 + 3 43 + 2 Burkhard Stiller M5 4

Vorzeichen-Betrag-Zahlen Bei Zahlen, die mit Betrag und Vorzeichen dargestellt sind, ergeben sich keine Probleme. Die Beträge der Zahlen werden wie positive Zahlen miteinander multipliziert. Das Vorzeichen des Ergebnisses ergibt sich aus der Antivalenzverknüpfung der Vorzeichen der beiden Faktoren. 2 Burkhard Stiller M5 5 Vorzeichenbehaftete Multiplikation Vorzeichenbehaftete Zahlen können grundsätzlich in die Darstellung mit Vorzeichen und Betrag gebracht werden. Das Vorzeichen des Produkts wird dann nach der Regel sign (XY) = sign (X) sign (Y) aus den beiden Faktorenvorzeichen durch die Exklusiv-ODER-Verknüpfung gewonnen. 2 Burkhard Stiller M5 6

Anmerkungen Bei vielen Anwendungen jedoch wechseln Addition und Multiplikation einander ständig ab. Umwandlung zwischen verschiedenen Zahlendarstellungen kann viel Zeit in Anspruch nehmen. Es wäre günstiger, wenn durchgängig (also auch bei der Multiplikation) im Zweierkomplement gerechnet wird, um die Vorteile bei der Addition nutzen zu können (z.b. Booth- Algorithmus). 2 Burkhard Stiller M5 7 Division Die Division von Dualzahlen folgt denselben Prinzipien wie die Multiplikation. Auch hier stellt die Papier-und-Bleistift-Methode die Basis für verschiedene Algorithmen dar. Beispiel: 224 : 2 = 2-2 2 24-24 2 Burkhard Stiller M5 8

Manuelle Division Im Dualsystem sind als Ergebnis einer Teildivison nur die Werte Divisor > augenblicklicher Dividend Divisor augenblicklicher Dividend möglich. Bei manueller Division erkennt man sofort, ob das Ergebnis ist und eine weitere Stelle gebraucht wird. 2 Burkhard Stiller M5 9 Maschinelle Division Drei Möglichkeiten:. Komparatorschaltung, um den Divisor mit augenblicklichem Dividenden zu vergleichen. 2. Subtraktion: Ergibt sich ein negatives Ergebnis, lädt man nochmals den alten Wert des Dividenden. 3. Subtraktion: Bei einem negativen Ergebnis, addiert man den Divisor wieder (Rückaddition). Verkürzte Division: Rückaddition und Subtraktion des um eins nach rechts verschobenen Divisors zusammenziehen. Man addiert gleich den um eins verschobenen Divisor: + Divisor - ½ Divisor = + ½ Divisor 2 Burkhard Stiller M5 2

Division Durchführung der Subtraktion: Direkte Subtraktion des Divisors Addition des Divisor-Zweierkomplements. Direkte Subtraktion: : = - - negativ neuladen - - da positiv da negativ da positiv da nicht negativ 2 Burkhard Stiller M5 2 Bemerkungen Bei Division durch muß ein Ausnahmezustand erkannt werden und an die Steuereinheit (Prozessor) weitergemeldet werden. Die Division muß abgebrochen werden, wenn die vorhandene Bitzahl des Ergebnisregisters ausgeschöpft ist (periodische Dualbrüche). Die Schaltungen für die Multiplikation können nach Modifikation auch für den Grundalgorithmus der Division eingesetzt werden: Linksschieben des Dividenden (statt Rechtsschieben des Multiplikanten) Subtraktion des Divisors (statt Addition des Multiplikators) 2 Burkhard Stiller M5 22

Beispiel MIPS R Floating-point Unit 2 Burkhard Stiller M5 23 Modul 5: Rechnerarithmetik (2) Grundrechenarten Arithmetisch-logische Einheit 2 Burkhard Stiller M5 24

Arithmetisch-logische Einheit Arithmetisch-logische Einheit (ALU, arithmetic logic unit): Rechenwerk, der funktionale Kern eines Digitalrechners zur Durchführung logischer und arithmetischer Verknüpfungen. Eingangsdaten der ALU: Daten und Steuersignalen vom Prozessor Ausgangsdaten der ALU: Ergebnisse und Statussignale an den Prozessor. Oft können die in einen Prozessor integrierten ALUs nur Festkommazahlen verarbeiten. Gleitkommaoperationen werden dann entweder von einer Gleitkommaeinheit ausgeführt oder per Software in Folge von Festkommabefehlen umgewandelt. 2 Burkhard Stiller M5 25 Schema einer einfachen ALU s s 2 ALU ALU2 Register X Register Y X X Y Y Multiplexerschaltnetz s s 2 c in s 3 s 4 s 5 Y X ALU3 ALU + ALU2 +c in zero sign overflow ALU ALU2 arithmetisch-logisches Schaltnetz ALU3 s 3 s 4 s 5 ALU ALU2 - c in ALU2 ALU - c in ALU ALU2 ALU ALU2 ALU ALU2 c out ALU ALU2 ALU ALU2 Schiebeschaltnetz s 6 s 7 s 6 s 7 Z ALU3 Register Z ALU3 2 ALU3 2 2 Burkhard Stiller M5 26 Z speichern

Bestandteile der ALU Registersatz Multiplexerschaltnetz Arithmetisch logisches Schaltnetz zur Durchführung arithmetisch logischer Operationen Schiebeschaltnetz Eingänge: Datenworte X und Y, Steuersignale s s 7 zur Festlegung der ALU-Operation Ausgänge: Statussignale zero, sign und overflow Hiermit kann das Steuerwerk bestimmte ALU-Zustände erkennen und darauf entsprechend zu reagieren. 2 Burkhard Stiller M5 27 Bitscheiben- (bitslice-) ALU Bitscheiben-ALU: Erweiterbare Strukturen auf einem Baustein bei einer kurzen Wortlänge (m = 4 oder 8) m-bit-alu. Bitscheibe: Verkettung von k der gleichen Bausteine (d.h. m-bit-alu). Erlaubt die Verarbeitung von Operanden der Wortlänge k*m. Alle Bausteine erhalten die gleichen Steuersignale. Sie führen parallel die gleiche Operation auf verschiedenen Teilen des Operanden aus. Ein Übertrag wird durch den Nachbarn berücksichtigt. Eine gemeinsame Steuerung erfolgt z.b. durch Mikroprogrammablauf und Mikroprogrammsteuereinheit. 2 Burkhard Stiller M5 28

Beispiel: AMD 29-Baustein Vier Bitscheiben der Länge 4 Bit Daten-Eingang Daten-Ausgang 4 4 4 4 Register R Register R Register R Register R R(:3) R(4:7) R(8:) R(2:5) c out Arithmetisch logische Schaltung Arithmetisch logische Schaltung Arithmetisch logische Schaltung Arithmetisch logische Schaltung c in Steuerschaltung Steuerschaltung Steuerschaltung Steuerschaltung Externe Steuersignale 2 Burkhard Stiller M5 29 AMD 29-Baustein Bestandteile des Bausteins: Registersatz: 6 Register zu je 4 Bits (6x4-bit RAM) Arithmetisch-logische Schaltung C, welche drei arithmetische und fünf logische Funktionen ausführen kann. Befehlsbus I zur Auswahl einer Operation Schiebeeinheit: Verschiebung nach rechts/links Eingänge der arithmetisch logischen Schaltung: aus dem Registerspeicher, aus dem Register Q aus dem externen Dateneingang D oder Null Speicheradressen A und B wählen die Register für Quelle oder Ziel Ausgänge (Ergebnisse): intern im Registersatz oder am Datenausgang Y Steuerleitungen I, A und B sind parallel an alle Bitscheiben geschaltet. Jede Bitscheibe verarbeitet den Übertrag c in und gibt eventuell einen Übertrag c out weiter, so dass ein Gruppenübertrag mit serieller Weitergabe möglich ist. Merker F, OVR und Z zeigen den Status einer Operation an (Vorzeichen, Bereichsüberschreitung und Null). 2 Burkhard Stiller M5 3