• Keine Ergebnisse gefunden

Eingang n Bit …

N/A
N/A
Protected

Academic year: 2022

Aktie "Eingang n Bit …"

Copied!
25
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beispiel

Ergebnis ist ein Bit

Eingang n Bit

Kombinatorische Schaltung

Zeit

Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem  D‐Latch speichern. Q soll wohldefiniert entweder den Inhalt vor 

oder nach der „Berechnung“ speichern. 

D‐Latch D (Daten)

Q

NOT(Q) C (Clock)

Problem: Wann liegt das Ergebnis‐Bit stabil an D an? 

(2)

Lösung: Taktung

Ergebnis ist ein Bit

Eingang n Bit

Kombinatorische Schaltung

Zeit

Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem  D‐Latch speichern. Q soll wohldefiniert entweder den Inhalt vor 

oder nach der „Berechnung“ speichern. 

D‐Latch D (Daten)

Q

NOT(Q) C (Clock)

Letztes Clock‐Signal

Nächstes Clock‐Signal Takt‐Zyklus

(3)

D‐Latches sind Transparent bzgl. Taktsignal

R

S

D

C

Q

(4)

D‐Flip‐Flop (ist nicht transparent)

Ausgang ändert sich nur bei einer fallenden Taktflanke.

D Latch D

C

Q D

Latch D

C D Q

C

!Q

D

C

Q

(5)

Logische Bausteine

Blockschaltdiagramme

(6)

Bausteine als Black‐Box

Wir haben jetzt einige Basisbausteine kennen gelernt.

In dieser Vorlesung sind wir mit Blockschaltbildern in der Regel eine  Abstraktionsebene höher.

Die betrachteten Bausteine sind „Kästen“ mit Eingangsleitungen und 

Ausgangsleitungen. Die Leitungen können entweder Daten (Datenleitungen) oder  Steuersignale (Steuerleitungen) transportieren.

Wie die Bausteine der Blockschaltbilder intern mit Grundbausteinen aufgebaut sind  und wie die Taktung der einzelnen Bausteine genau abläuft betrachten wir in dieser  Vorlesung nicht weiter. 

Bemerkung: In Blockschaltbildern  wird das für sequentielle Bausteine  erforderliche Clock‐Signal häufig der  Übersicht halber weg gelassen.

Baustein

Ausgangsleitungen Eingangsleitungen

Beispiel eines abstrakten Bausteins

(7)

Verschaltung von Bausteinen

n Bits Einzelne Leitung

Bus (lassen häufig die Markierung n‐Bits weg)

Verbinden von Bauelementen Datenflussrichtung

Eingabe eines logischen Bausteins Ausgabe

eines logischen Bausteins

Kreuzungen und Verbindungen Beispiel

Leitungen kreuzen sich, sind aber nicht verbunden

Verbindungen außerhalb der

Leitungsendpunkte sind durch einen

Punkt gekennzeichnet.

Baustein A

Baustein B

Baustein C

(8)

Arithmetische, logische Einheit (ALU)

ALU

Zero (1) Result (n) Overflow (1) ALU Operation (k)

CarryOut (1) A (n)

B (n)

Angabe in Klammern  ist die Anzahl Bits.

Beispiel‐Funktionen

AND OR NOT

Addition Subtraktion Vergleich

Ggf. ist die ALU auf  eine Operation  festgelegt. Dann  Entfällt der Eingang  und ALU wird mit  dem Namen der  Operation ersetzt.

Kombinatorisch?

Sequentiell?

(9)

Register und Shift‐Register

Speichert n Bits Eingang (n)

Ausgang (n)

Shift (1) Load (1) Reset (1)

Kombinatorisch?

Sequentiell?

(10)

Control

Kombinatorisch?

Sequentiell?

Control

Ein Baustein der das Zusammenarbeiten von anderen Bausteinen koordiniert.

In Abhängigkeit der Eingänge werden die passenden Steuerleitungen geschaltet.

Ausgänge sind Steuerleitungen  in andere Bausteine Eingänge sind 

Datenleitungen aus  anderen Bausteinen

(11)

Control Beispiel

4‐Bit‐Register R1

Store R1 4‐Bit‐Register R2

R2 Bit 0

Control

Zero

Store R2

SUB

Control soll folgenden Algorithmus implementieren:

wenn R2 gerade und R1-R2=0, dann R1 = 0

wenn R2 ungerade und R1-R2!=0, dann R2 = R1-R2

R2 Bit 0

Zero Store R1

Store R2

0 0

0 1

1 0

1 1

Control wird als kombinatorische  Schaltung realisiert.

Hierzu die Wahrheitstabelle:

Anhand der Wahrheitstabelle  wird dann die Schaltung gebaut.

Rückgekoppelte Register haben  immer einen wohldefinierten  Zustand, da Register nur zur  Clock‐Flanke aktualisiert werden.

Eingabe Ausgabe

(12)

Multiplikation

(13)

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:

(14)

Maximale Länge des Ergebnisses

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

(15)

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

(16)

Das Verfahren in Hardware

8‐Bit Multiplikand

8‐Bit ALU

8‐Bit Produkt Control

Test

4‐Bit Multiplikator

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

(17)

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‘.

(18)

Weitere Beschleunigungen

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

(19)

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)

(20)

Division

(21)

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:

(22)

Das Verfahren als Algorithmus

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

(23)

Das Verfahren in Hardware

8‐Bit Divisor

8‐Bit ALU

8‐Bit Rest Control

Test

4‐Bit Quotient

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

(24)

Vorzeichenbehaftete Division

• 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

(25)

Beschleunigungen

• Beschleunigung der Division mit vielen Addieren wie mit der  Multiplikation nicht möglich (Vorzeichen der Differenz von Rest  und Divisor muss in jedem Schritt bekannt sein)

• Techniken, um mehr als ein Bit des Quotienten in einem Schritt zu  erzeugen

• Populär ist die SRT (Sweeney, Robertson, und Tocher) 

Divisions‐Methode: Lookup‐Tabelle auf Basis des Dividenden  und des Divisors, um mehrere Quotient‐Bits per Schritt aus  einer Menge von Möglichen vorherzusagen

• Nachgeschaltet Korrekturmechanismus, wenn die Vorhersage  nicht korrekt war (z.B. 4 Bits sind typisch)

Trivia: Intel Pentium Floating‐Point‐Division‐Bug (1994) resultierte  aus einer solchen inkorrekt codierten Lookup‐Tabelle.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Eingabe eines logischen Bausteins Ausgabe. eines

nehmung zugänglich ist. Es kann seinen Ursprung teilweise auch außerhalb haben und demnach auch Raum- oder Lagebezeichnungen mit einschließen. Das geschichtliche Werden, das zu

Niembaum, Azadirachta indica kein entsprechendes pflanzliches Präparat registriert Akne Teebaum, Melaleuca alternifolia kein entsprechendes pflanzliches Präparat registriert

gerade Logikrätsel machen nicht nur Spaß, sondern sie erhöhen auch die geis - tige Fitness – und das nicht nur bei Kindern und Jugendlichen, sondern bis ins hohe Alter.. Durch

Weder das Werk als Ganzes noch seine Teile dürfen ohne Einwilligung des Verlages einge scannt, an Dritte weitergeleitet, in ein Netzwerk wie Internet oder Intranet eingestellt

Weder das Werk als Ganzes noch seine Teile dürfen ohne Einwilligung des Verlages einge- scannt, an Dritte weitergeleitet, in ein Netzwerk wie Internet oder Intranet eingestellt

Wer es als pädago- gisch uninteressant ansieht, die (theoretisch präzise prognostizierte oder erklärte) Erziehungswirksamkeit eines säuberlich zu isolieren versuchten Impulses,