Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ETI-Praktikum: Mikroprogrammierung Vorzeichenlose 32-Bit-Division Gruppe 27: Jakob Klein Arne Wirtz Gerrit Blöss SS 2006.

Ähnliche Präsentationen


Präsentation zum Thema: "ETI-Praktikum: Mikroprogrammierung Vorzeichenlose 32-Bit-Division Gruppe 27: Jakob Klein Arne Wirtz Gerrit Blöss SS 2006."—  Präsentation transkript:

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


Herunterladen ppt "ETI-Praktikum: Mikroprogrammierung Vorzeichenlose 32-Bit-Division Gruppe 27: Jakob Klein Arne Wirtz Gerrit Blöss SS 2006."

Ähnliche Präsentationen


Google-Anzeigen