Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ingeborg Seidel Geändert vor über 7 Jahren
1
ETI-Praktikum: Mikroprogrammierung Vorzeichenlose 32-Bit-Division Gruppe 27: Jakob Klein Arne Wirtz Gerrit Blöss SS 2006
2
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 2 von 15 Aufgabenstellung Mögliche Algorithmen: „Stupide“ Subtraktion Schuldivision weitere Alternativen Schuldivision (unsere Umsetzung) Beschreibung des Mikroprogramms Quellen Übersicht
3
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 3 von 15 Aufgabenstellung Mögliche Algorithmen: „Stupide“ Subtraktion Schuldivision weitere Alternativen Schuldivision (unsere Umsetzung) Beschreibung des Mikroprogramms Quellen Übersicht
4
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 4 von 15 Aufgabenstellung Vorzeichenlose ganzzahlige Division: udiv Dividend: 32 Bit (höherer Teil in R0, niedrigerer in RA) Divisor: 16 Bit (in RB) Ergebnis: 16 Bit (Rückgabe in RB) Rest: 16 Bit (Rückgabe in R0)
5
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 5 von 15 Aufgabenstellung Mögliche Algorithmen: „Stupide“ Subtraktion Schuldivision weitere Alternativen Schuldivision (unsere Umsetzung) Beschreibung des Mikroprogramms Quellen Übersicht
6
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 6 von 15 Mögliche Algorithmen: „Stupide“ Subtraktion So oft wie möglich Divisor von Dividend abziehen Divisionsergebnis: Anzahl der Subtraktionen Sehr einfach zu implementieren Unökonomisch für große Dividenden und kleine Divisoren, Beispiel: (2 15 : 1) würde 2 15 Subtraktionen erfordern!
7
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 7 von 15 Mögliche Algorithmen: Schuldivision 784 : 11 = 77 7 1 4 11 1 3 Rest 3 Shiften des Divisors Multiplikation (für binär unerheblich) Subtraktion Additions des Faktors zum Ergebnis Max. 16 Durchgänge für 16 Stellen
8
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 8 von 15 Mögliche Algorithmen: weitere Alternativen Division mit Hilfe von Tabellen Eingesetzt u.a. im Intel Pentium (Tabellenfehler: „FDIV-Bug“) Ganzzahlige Division nach Jebelean schneller als Schuldivision wesentlich komplizierter zu implementieren
9
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 9 von 15 Aufgabenstellung Mögliche Algorithmen: „Stupide“ Subtraktion Schuldivision weitere Alternativen Schuldivision (unsere Umsetzung) Beschreibung des Mikroprogramms Quellen Übersicht
10
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 10 von 15 Schuldivision (unsere Umsetzung) Shiften des Dividenden anstelle des Divisors vermeidet Berechnung an Registergrenze Abbruch, falls obere Hälfte des Dividenden ≥ Divisor, da sonst Ergebnis > 16 Bit Besondere Fälle: Obere Hälfte des Dividenden ≥ Divisor Divisor = 0 Ergebnis = 0 mit Rest
11
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 11 von 15 Schuldivision (unsere Umsetzung) II 2. Falls obere 16 Bit des Dividenden ≥ Divisor: Abbruch 3. Dividenden einmal nach links shiften: µ c A H A L 0 4. Falls [µ c |A H ] ≥ Divisor: a. Divisor von [µ c |A H ] abziehen, Erg. in A H b. Schleifenzähler zu Gesamterg. (in RB) addieren 5. Schleifenzähler einmal nach rechts shiften 6. Falls Schleifenzähler = 0: Abbruch; sonst springe zu 3. 7. Rücksprung (Ergebnis in RB, Rest in R0) 1. Schleifenzähler: 16 Bit lang, nur MSB auf 1
12
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 12 von 15 Schuldivision (unsere Umsetzung) III Beispiel mit 4-Bit-Registern 1001.0011 : 1011 1001.0011 1011 1|0010.0110 - 0111.0110 1000 0000Erg.: Zähler: + 1000 0100 1110.1100 0011.1100 1100 0010 0111.1000 0001 1111.0000 0100.0000 1101 0000 Ende! 1101 R: 0100 (Dezimal: 147 : 11 = 13 R 4)
13
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 13 von 15 Aufgabenstellung Mögliche Algorithmen: „Stupide“ Subtraktion Schuldivision weitere Alternativen Schuldivision (unsere Umsetzung) Beschreibung des Mikroprogramms Quellen Übersicht
14
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 14 von 15 Beschreibung des Mikroprogramms
15
Gruppe 27: Jakob Klein, Arne Wirtz, Gerrit Blöss Mikroprogrammierung: Vorzeichenlose 32-Bit-Division Folie 15 von 15 Quellen Carter, Nicholas P. Computerarchitektur. mitp-Verlag, Bonn, 2003. Margret Bauer, Andreas Dehne, Tobias Jahn. Schnelle ganzzahlige Division und ggT-Berechnung in Computeralgebra-Systemen. Technische Universität München. http://triton.ma.tum.de/~kaplan/ca/spock/praktika/Schnelle_ganzzahlige_ Division_und_ggt-Berechnung.pdf (Stand: 19.06.2006) http://triton.ma.tum.de/~kaplan/ca/spock/praktika/Schnelle_ganzzahlige_ Division_und_ggt-Berechnung.pdf
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.