• Keine Ergebnisse gefunden

Das Verfahren als Algorithmus

N/A
N/A
Protected

Academic year: 2022

Aktie "Das Verfahren als Algorithmus"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Multiplikation

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 79

(2)

Multiplikation nach der Schulmethode

Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel:

Multiplikand A: 1 1 0 1 0 Multiplikator B: * 1 1 0 1 ---

Produkt:

(3)

Maximale Länge des Ergebnisses

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 81

Beobachtung: Multiplikand der Länge n Bits und Multiplikator der  Länge m Bits ergibt Produkt einer Länge mit maximal n+m Bits.

(4)

Das Verfahren als Algorithmus

Beispiel 1001*0101:

1 0 0 1

* 0 1 0 1 --- 1 0 0 1 + 0 0 0 0 ---

1 0 0 1 + 1 0 0 1

--- 1 0 1 1 0 1 + 0 0 0 0

--- 0 1 0 1 1 0 1

Start Teste erstes  Multiplikator

‐Bit

Shifte Multiplikand ein  Bit nach Links

Shifte Multiplikator  ein Bit nach Rechts Addiere Multiplikand 

zum Produkt

5ter  Durch‐

lauf?

Ende

0 1

ja

nein Beispiel für 

4‐Bit‐Zahlen

(5)

Das Verfahren in Hardware

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 83

8‐Bit Multiplikand

8‐Bit ALU

8‐Bit Produkt Control

Test

4‐Bit Multiplikator

Beispiel für 4‐Bit‐Zahlen Rechts‐Shift

Links‐Shift Demonstration mit

1001 * 0110 = 110110

1. Produkt = Produkt + Multiplikand, wenn Bit 0 des Multiplikators = 1

2.Links‐Shift

3.Rechts‐Shift

4. Anzahl Durch‐

läufe = 5Ende

(6)

Vorzeichenbehaftete Multiplikation

• Möglichkeit 2:

Tausche im Verfahren der vorigen Folie das Produkt‐

register mit einem vor‐

zeichenbehafteten Rechts‐

Shift‐Register aus.

‐ Betrachte Multiplikand x und Multiplikator y.

‐ Sei x‘ = x wenn x nicht‐negativ bzw. x‘ = ‐x sonst.

‐ Sei y‘ = y wenn y nicht‐negativ bzw. y‘ = ‐y sonst.

‐ Berechne z‘ = x‘ * y‘.

‐ Ergebnis z = z‘ wenn x und y nicht‐negativ oder x und y negativ, ansonsten ist z = ‐z‘.

(7)

Weitere Beschleunigungen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 85

Beobachtung:

1 0 1 1 (Y)

* 1 1 1 0 (X) ---

0 0 0 0 + 1 0 1 1 ---

= 1 0 1 1 + 1 0 1 1 ---

= 1 0 0 0 0 + 1 0 1 1

---

=1 0 0 1 1 0 1 0 (Z) 4‐Bit‐ALU

c s3 s2 s1 s0

Eine ALU für jede Summation

4‐Bit‐ALU

c s3 s2 s1 s0

4‐Bit‐ALU

c s3 s2 s1 s0

x0*y0 x0*y3y2y1

x1*y x2*y

x3*y

z7z6z5z4z3 z2 z1 z0 Beispiel für 4‐Bit‐Zahlen

(8)

Weitere Beschleunigungen

Jede ALU‐Operation verbrauche einen Taktzyklus. Wie viele  Taktzyklen dauert die Multiplikation von 32‐Bit‐Zahlen?

Parallele Organisation der ALUs in einen Binärbaum (keine weiteren Details hier)

(9)

Division

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 87

(10)

Division nach der Schulmethode

Gegeben seien die Binärzahlen A und B. Was ist a : b? Beispiel:

Dividend Divisor Quotient 1 0 0 1 0 1 0 : 1 0 0 0 =

Rest:

(11)

Das Verfahren als Algorithmus

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 89

Beispiel 1001 : 10:

Dvdt :Dvsr= Qtnt 001001 : 10 = 00100 -000000 100000

--- 01001

-00000 10000 ---

1001

-1000 1000 ----

001

-000 100 ---

01

-00 10 --

1 Rest Start

Teste  Rest

Shifte Divisor ein Bit  nach Rechts Shifte Quotient nach 

Links und setze  dessen LSB=1.

6ter  Durch‐

lauf?

Ende

<0

0

ja

nein Subtrahiere 

Divisor vom Rest

Restauriere den alten  Rest. Shifte Quotient 

nach Links und setze  dessen LSB=0.

Beispiel für  4‐Bit‐Zahlen

(12)

Das Verfahren in Hardware

8‐Bit Divisor

8‐Bit ALU

8‐Bit Rest Control

Test

4‐Bit Quotient

Beispiel für 4‐Bit‐Zahlen Links‐Shift

Rechts‐Shift Demonstration mit

1001 : 0010 = 100 Rest 1

1. Rest=Rest‐Divisor, wenn Divisor < Rest

2. Links‐Shift; LSB=Rest wurde verändert 3. Rechts‐Shift

4. Anzahl Durch‐

läufe = 6Ende

(13)

Vorzeichenbehaftete Division

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 91

• Umgang mit dem Quotienten (analog wie für Multiplikation):

‐ Betrachte Divisor x und Dividend y (also: Quotient z von y:x).

‐ Sei x‘ = x wenn x nicht‐negativ bzw. x‘ = ‐x sonst.

‐ Sei y‘ = y wenn y nicht‐negativ bzw. y‘ = ‐y sonst.

‐ Berechne Quotient z‘ von y‘ : x‘.

‐ Ergebnis z = z‘ wenn x und y nicht‐negativ oder x und y negativ, ansonsten ist z = ‐z‘.

• Und was ist das Vorzeichen des Rests? Beispiel:

•Also: Vorzeichen des Rests ist Vorzeichen des Dividend. 

Dividend : Divisor Quotient Rest Quotient * Divisor + Rest = Dividend

7 : 2 3 1 3 * 2 + 1 = 7

-7 : 2 -3 -1 -3 * 2 – 1 = -7

7 : -2 -3 1 -3 * -2 + 1 = 7

-7 : -2 3 -1 3 * -2 – 1 = -7

(14)

Gleitkommazahlen

(15)

Reelle Gleitkommazahlen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 93

Kleine Zahl Große Zahl Beispiel

Wissenschaftliche Darstellung

(eine Ziffer links des Kommas) Normalisierte Darstellung

(keine führende Null)

(16)

Binäre Gleitkommazahlen

Was ist der Dezimalwert der binären Gleitkommazahl 101,1001?

Was bedeutet 11,011 * 22?

Also: mit 2i multiplizieren verschiebt das Komma um i Stellen nach rechts.

Analog: mit 2‐i multiplizieren verschiebt das Komma um i Stellen nach links.

(17)

Binäre Gleitkommazahlen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 95

Was ist die wissenschaftliche, normalisierte Darstellung der binären  Gleitkommazahl zur dezimalen Gleitkommazahl 0,625?

Referenzen

ÄHNLICHE DOKUMENTE

Schreibe eine funktionale Spezifikation für das Problem. Zerlege das Problem in Unterprobleme und schreibe für diese

k = 52 bei Verwendung des Abbruchkriteriums while abs(b-a) &gt; eps*abs(b) Bisektion ist zuverl¨ assig..

Wir müssen noch zeigen, dass beide Rekursionen dieselben

(eine Ziffer links des Kommas) Normalisierte Darstellung.

(eine Ziffer links des Kommas) Normalisierte Darstellung.

(eine Ziffer links des Kommas) Normalisierte Darstellung?.

• Am besten wäre es, wenn wir erst auswerten, dann auf das Ergebnis zugreifen .... Helmut Seidl, TU München ;-).. dem Wert für stop ). → Es werden automatisch alle

In Kapitel 7 wird ein neues Verfahren zur Darstellung der Konkurrenz zwi- schen unterschiedlichen Pflanzenwurzelsystemen vorgestellt. Zusätzlich wird die Lichtkonkurrenz