Algorithmen zur Division

Ähnliche Dokumente
Algorithmen zur Division

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

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

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

Algorithmen zur Integer-Multiplikation

E Zahlendarstellungen und Rechnerarithmetik

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

Inhalt. Zahlendarstellungen

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

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

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

Trachtenberg-Division

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

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Grundlagen der Rechnerarchitektur

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

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

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Begriffe, die auf eine Multiplikation oder Division hinweisen

2 Darstellung von Zahlen und Zeichen

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert.

3 Rechnen und Schaltnetze

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Grundrechnungsarten mit Dezimalzahlen

Grundwissenskatalog der 6. Jahrgangsstufe G8 - Mathematik Friedrich-Koenig-Gymnasium Würzburg

HaDePrak WS 05/ Versuch

Dokumentation der Assemblerroutinen

Zahlendarstellungen und Rechnerarithmetik*

Informatik I Modul 5: Rechnerarithmetik (2)

01 - Zahlendarstellung

Motivation 31. Mai 2005

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

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Rechnergrundlagen SS Vorlesung

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

Rechnergrundlagen SS Vorlesung

Grundlagen der Technischen Informatik. 3. Übung

Anleitung zum Ausführen der vier Grundrechenarten mit dem russischen Abakus ( Stschoty )

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

Darstellen, Ordnen und Vergleichen

0. Wiederholung 0.1 Rechnen in der Menge der positiven rationalen Zahlen lq + 0

Beschreibung Prüfziffer Errechnung der Beitragskontonummer für BGKK

Grundwissen. 5. Jahrgangsstufe. Mathematik

Rechnergrundlagen SS Vorlesung

6. Zahlendarstellungen und Rechnerarithmetik

Lernzirkel Schriftliches Rechnen

Assembler Integer-Arithmetik

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

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

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

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

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Vorzeichenlose ganze Zahlen

Wertebereiche, Overflow und Underflow

Zum Nachdenken. Welche Eigenschaften einer Vorzeichendarstellung. erreichen? Wie könnte man Vorzeichenzahlen darstellen?

Grundlagen der Technischen Informatik. 4. Übung

31 Polynomringe Motivation Definition: Polynomringe

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

1 3 Z 1. x 3. x a b b. a weil a 0 0. a 1 a weil a 1. a ist nicht erlaubt! 5.1 Einführung Die Gleichung 3 x 9 hat die Lösung 3.

π auf (und mehr) Dezimalen Wegen π = 4 arctan(1) kann die Reihenentwicklung des Arkustangens verwendet werden.

Grundwissen 5. Klasse

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

Regeln zur Bruchrechnung

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

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

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

Das negative Zweierkomplementzahlensystem

2 Darstellung von Zahlen und Zeichen

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

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

5 Zahlenformate und deren Grenzen

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

Rechnerstrukturen WS 2012/13

Rechnen mit natürlichen Zahlen

Zahlenrechnung. Division

Übung Praktische Informatik II

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

Rationale Zahlen. Vergleichen und Ordnen rationaler Zahlen

Grundwissen Mathematik 6/1 1

Natürliche Zahlen, besondere Zahlenmengen

DEUTSCHE BUNDESBANK Seite 1 Z Prüfzifferberechnungsmethoden zur Prüfung von Kontonummern auf ihre Richtigkeit (Stand: September 2015)

Mathematik im Alltag Größen und ihre Einheiten Größen im Alltag. 16 cm. Ausdrücke wie 2, 9 cm, 69 kg, 12s sind Angaben von Größen.

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen

Über Polynome mit Arithmetik modulo m

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

Lösung zur Klausur zu Krypographie Sommersemester 2005

1 Modulare Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

ATmega Analogrechner Rechenfunktionen (1) Gesamtübersicht Stand: 1.4 vom

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Vorzeichenbehaftete ganze Zahlen

M1 2a b Ko Potenzen Regeln/Gesetze 2.Teil bis Buch I S. 51 / II S. 43 / III S. 37

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

1. Definition von Dezimalzahlen

Kapitel 5: Darstellung von Daten im Rechner

Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte -

Stichpunktezettel fürs Tutorium

Transkript:

Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest r subtrahiert: q i = 1, falls r = r b > 0 q i = 0 und Korrektur durch r = r + b, falls r < 0 Beispiel: 103 10 / 9 10 = 11 10 mit Rest 4 10 47 Algorithmen zur Division (Forts.) allgemein gilt: a = q b + r mit Rest r < b im folgenden sei angenommen, daß b eine positive n-bit Zahl und a eine positive 2n-Bit Zahl darstellen es muß gelten: 1) a < 2 n 1 b bzw. q < 2 n 1 2) b 0 ( Ausnahmebehandlung!) alle Divisionsalgorithmen führen in Schritt i folgende Operation aus: r(i) = 2 r(i 1) q n i 2 n b mit i = 1,...,n und r(0) = a Es wird korrektes Ergebnis berechnet, da für Rest r = r(n) gilt: r(n) = 2 r(n 1) q 0 2 n b = 2 (2 r(n 2) q 1 2 n b) q 0 2 n b =... = 2 n r(0) (2 n 1 q n 1 +... + 2q 1 + q 0 ) 2 n b Somit folgt: a = r(0) = q b r(n)/2 n 48 1

Algorithmen zur Division (Forts.) Algorithmus mit Wiederherstellung des Rests durch Addition ( Restoring Division ) statt einer 2n-Bit Addition r = r + 2 n b genügt hier auch eine n-bit Addition r = r + b, wenn r die aktuellen höherwertigen n Bit von r darstellt 49 Algorithmen zur Division (Forts.) Algorithmus mit Bildung eines neuen Rests nur in dem Fall, daß die Differenz nicht negativ ist ( Non-Performing Division ) 50 2

Algorithmen zur Division (Forts.) Algorithmus mit Beibehaltung eines negativen Restes ( Non-Restoring Division ) korrigierende Addition(en) anstatt Subtraktion(en) in den Folgeschritt(en), bis Partialrest r wieder positiv ist ggf. Korrektur bei negativem Rest erforderlich 51 Algorithmen zur Division (Forts.) zur Äquivalenz von Restoring und Non-Restoring Division: Restoring : r(i) = 2 r(i 1) 2 n b < 0 r(i+1) = 2 r(i) 2 n b = 4 r(i 1) 2 n b Non-Restoring : r(i) = 2 r(i 1) 2 n b < 0 r(i+1) = 2 r(i) + 2 n b = 4 r(i 1) 2 n b Aufwandsanalyse: im Worst-Case Fall sind genau n 1 Nullen im Quotient q enthalten Restoring Division: n + n 1 Additionen/Subtraktionen Non-Performing Division: n Subtraktionen und n 1 Kopieroperationen Non-Restoring Division: n Additionen/Subtraktionen (ggf. +1 Korrekturaddition) Non-Restoring Division ist das schnellste Verfahren! 52 3

Implementierung: allgemeiner Aufbau eines Dividierers: Behandlung negativer Dividenden. und Divisoren sehr umständlich: es gibt kein Äquivalent zum Booth- Algorithmus! i.a. Umwandlung in Vorzeichen und Betrag es gibt verschiedene Möglichkeiten, die Division zu beschleunigen, z.b.: Verwendung von schnellen Addierern bzw. Carry-Save Addierern Überspringen von k führenden Nullen im Rest r: schiebe Rest r um k Positionen nach links und setze die ersten k Bits von q auf 0 simultane Generierung mehrerer Quotientenbits durch Subtraktion des Vielfachen von b parallele Subtraktionen sind jedoch nicht möglich! 53 sequentieller Dividierer sequentielle Division ist direkt in Hardware implementierbar mit n-bit Register b, 2n-Bit Register r, n-bit Addierer/Subtrahierer nach n Schritten steht Quotient in r n 1... r 0, Rest in r 2n 1... r n das Steuerwerk implementiert Algorithmus, z.b. gilt für Non- Restoring Division: add/sub := r 2n 1 und r 0 := r 2n 1 Zeit: n ( Add + 3ô) 54 4

paralleler Dividierer wiederholte Subtraktion auch durch Felddividierer ( array divider ) mit CSA-Addierern implementierbar: Zeit: Add + (n 1)8ô + 5ô Aufbau einer Zelle: 55 SRT-Dividierer benannt nach den Entwicklern Sweeny, Robertson und Tocher, die diesen Algorithmus fast gleichzeitig vorstellten (1958) Algorithmus mit dreiwertiger Kodierung der Quotientenbits q i {1, 0, 1} bzw. q i { 1, 0, 1} : Quotient q wird somit redundant kodiert Zahl der Additionen und Subtraktionen imvergleich zur Non-Restoring Division reduziert 56 5

SRT-Dividierer (Forts.) Problem: SRT-Dividierer benötigt je Schritt Vergleich von r sowohl mit 2 n b als auch mit 2 n b Lösung: der Divisor b wird zuvor durch Schiebeoperationen derart normalisiert, daß hinter dem Vorzeichenbit das erste Nachkommabit 0 ist, d.h. es gilt: ½ b < 1 der Vergleich wird dann wie folgt angenähert: Dividend a und Rest r sind hierbei auch Zahlen aus [0,1) aufgrund der redundanten Darstellung von q ist Ergebnis jedoch korrekt! Rückwandlung von q in binär kodierte Zahl erforderlich! 57 SRT-Dividierer (Forts.) Zahl der erforderlichen Operationen ist datenabhängig! für einen n-bit Dividenden benötigt SRT Algorithmus im Mittel nur n/2.67 Additionen weitere Beschleunigung durch simultane Generierung mehrerer Quotientenbits, d.h. je Schritt Bestimmung einer Quotientenziffer q i { α, α+1,..., 1, 0, 1,..., α 1, α} (dies wird auch als Radix-2 α SRT Verfahren bezeichnet) Abschätzung von q i erfolgt i.a. über in PLAs gespeicherten Tabellen in Abhängigkeit von den höherwertigen Bits des aktuellen Rests r und den höherwertigen Bits des Divisors b bei dem 1994 im Intel Pentium Prozessor entdeckten Bug waren 5 Einträge in einer solchen Tabelle falsch! 58 6