• Keine Ergebnisse gefunden

Technische Grundlagen der Informatik Kapitel 5

N/A
N/A
Protected

Academic year: 2022

Aktie "Technische Grundlagen der Informatik Kapitel 5"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Technische Grundlagen der Informatik – Kapitel 5

Prof. Dr. Jan Peters

Fachgebiet Intelligente Autonome Systeme (IAS)

Fachbereich Informatik WS 14/15

(2)

Meisenantworten … vielen Dank für die Hinweise!

§  Sniggerstatistik? Evtl. bald auf

http://lehre.ias.informatik.tu-darmstadt.de/TGDI/SniggerStatistik?

§  Kapitel 4 hochladen. Done! Sorry!

§  Kapitel im Vorraus hochladen (+viele gute Punkte). Würden wir gerne, aber meine Skript-Hiwis fallen gegenüber der Vorlesung zurück bzw. Ich hole sie immer wieder ein … sorry!

§  Rechtschreibfehler darfs Du behalten. Danke – besser aber mitteilen!

§  Scherzkekse. Bitte bei Chris zur Prüfung der physischen Belastbarkeit melden.

§  [kovd] … danke für den Hinweis!

§  Tafelwischroboter? Bitte zu mir kommen – tolles Thema für eine Bacherlorarbeit.

§  Folien gleich nach der Vorlesung. Ich bemühe mich. Aber Profs haben nunmal

alle Alzheimer…auch ich!

(3)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

Kapitel 5 : Themenübersicht

§  Einleitung

§  Arithmetische Schaltungen

§  Zahlendarstellungen

§  Sequentielle Grundelemente

§  Speicherblöcke

§  Programmierbare Logikfelder und -schaltungen

(4)

Einleitung

§  Grundelemente digitaler Schaltungen:

§  Gatter, Multiplexer, Decoder, Register, Arithmetische Schaltungen, Zähler, Speicher, programmierbare Logikfelder

§  Grundelemente veranschaulichen

§  Hierarchie: Zusammensetzen aus einfacheren Elementen

§  Modularität: Wohldefinierte Schnittstellen und Funktionen

§  Regularität: Strukturen leicht auf verschiedene Größen anpassbar

§  Grundelemente werden verwendet zum Aufbau eines eigenen Mikroprozessors

§  Kapitel 7

(5)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

1-Bit Addierer

A B

0 0 0 1 1 0 1 1

S Cout

S = Cout =

Halb- addierer

A B

S Cout

+

A B

0 0 0 1 1 0 1 1

S Cout

S = Cout =

Voll- addierer

Cin

0 0 0 1 1 0 1 1 00

00 1 1 11

A B

S

Cout Cin

+

(6)

1-Bit Addierer

A B

0 0 0 1 1 0 1 1

0 11 0 S Cout

0 00 1 S = Cout =

Halb- addierer

A B

S Cout

+

A B

0 0 0 1 1 0 1 1

01 10 S Cout

00 01

Voll- addierer

Cin

0 0 0 1 1 0 1 1 00

00 1 1 11

1 0 01 0

1 11

A B

S

Cout Cin

+

(7)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

1-Bit Addierer

A B

0 0 0 1 1 0 1 1

0 11 0 S Cout

0 00 1 S = A ⨁ B Cout = AB

Halb- addierer

A B

S Cout

+

A B

0 0 0 1 1 0 1 1

0 1 10 S Cout

0 0 01

S = A ⨁ B ⨁Cin Cout = AB + ACin + BCin

Voll- addierer

Cin

0 0 0 1 1 0 1 1 0

0 00 1 1 11

1 0 01 0

1 11

A B

S

Cout Cin

+

(8)

Mehrbit-Addierer mit Weitergabe von Überträgen

A B

C

out

+ C

in

N N

§  Carry-propagate adder (CPA)

§  Verschiedene Typen

§  Ripple-carry-Addierer (langsam)

§  Carry-Lookahead Addierer (schnell)

§  Prefix-Addierer (noch schneller)

§  Carry-Lookahead und Prefix-Addierer sind schneller bei breiteren Datenworten

§  Benötigen aber auch mehr Fläche

Schaltsymbol

(9)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Kette von 1-bit Addierern

§  Überträge werden von niedrigen zu hohen Bits weitergegeben

§  Rippeln sich durch die Schaltung

§  Nachteil: Langsam

Ripple-Carry-Addierer

S

31

A

30

B

30

S

30

A

1

B

1

S

1

A

0

B

0

S

0

C

30

C

29

C

1

C

0

C

out

+ + + +

A

31

B

31

C

in

(10)

§  Verzögerung durch einen N-bit Ripple-Carry-Addierer ist

t

ripple

= N t

FA

t

FA

ist die Verzögerung durch einen Volladdierer

Verzögerung durch Ripple-Carry-Addierer

(11)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Überträge nicht mehr von Bit-zu-Bit

§  Stattdessen: Berechne Übertrag C

out

aus Block von k Bits

§  Nun zwei Signale

§  Generate (erzeuge neuen Übertrag)

§  Propagate (leite eventuellen Übertrag weiter)

§  Bits werden in Spalten organisiert

§  Haben wir eben beim Ripple-Carry-Addierer auch schon gemacht

§  War aber nicht spannend: Es gab nur eine Zeile

§  … ändert sich jetzt

Carry-Lookahead-Addierer (CLA)

(12)

§  Eine Spalte (Bit i) produziert einen Übertrag an ihrem Ausgang C

i

§  Wenn sie den Übertrag selbst erzeugt (Generate, Gi)

§  Wenn sie einen von Ci-1 eingehenden Übertrag weiterleitet (Propagate, Pi)

§  Eine Spalte i erzeugt einen Übertrag falls A

i

und B

i

beide 1 sind.

G

i

= A

i

B

i

§  Eine Spalte leitet einen eingehenden Übertrag weiter falls A

i

oder B

i

1 ist

P

i

= A

i

+ B

i

§  Damit ist der Übertrag C

i

aus der Spalte i heraus

C

i

= A

i

B

i

+ (A

i

+ B

i

)C

i-1

= G

i

+ P

i

C

i-1

Carry-Lookahead-Addierer: Definitionen

(13)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Schritt 1: Berechne G und P-Signale für einzelne Spalten (Einzelbits)

§  Schritt 2: Berechne G und P Signale für Gruppen von k Spalten (k Bits)

§  Schritt 3: Leite C

in

nun nicht einzelbitweise, sondern in k-Bit Sprüngen weiter

§  Jeweils durch einen k-bit Propagate/Generate-Block

Addition im Carry-Lookahead-Verfahren

(14)

§  Bestimme P

3:0

und G

3:0

Signale für einen 4b Block

§  Überlegung: 4b Block erzeugt Übertrag wenn

§  … Spalte 3 einen Übertrag erzeugt (G3=1) oder

§  … Spalte 3 einen Übertrag weiterleitet (P3=1), der vorher erzeugt wurde

G

3:0

= G

3

+ P

3

(G

2

+ P

2

(G

1

+ P

1

G

0

))

§  Überlegung: Der 4b Block leitet einen Übertrag direkt weiter

§  … wenn alle Spalten den Übertrag weiterleiten

P

3:0

= P

3

P

2

P

1

P

0

§  Damit ist der Übertrag durch einen i:j Bit breiten Block C

i

C

i

= G

i:j

+ P

i:j

C

j-1

Beispiel: Carry-Lookahead Addierer

(15)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

32-bit CLA mit 4b Blöcken

B0 + +

+ +

P3:0

G3 P3 G2 P2 G1 P1 G0

P3 P2 P1 P0 G3:0

Cin Cout

A0

S0 C0 B1 A1

S1 C1 B2 A2

S2 C2 B3 A3

S3

Cin A3:0 B3:0

S3:0 4-bit CLA

Block Cin A7:4

B7:4

S7:4 4-bit CLA

Block C3 C7

A27:24 B27:24

S27:24 4-bit CLA

Block C23 A31:28

B31:28

S31:28 4-bit CLA

Block C27 Cout

Gi = Ai Bi

Pi = Ai + Bi

(16)

32-bit CLA mit 4b Blöcken

A3:0 B3:0

S3:0 4-bit CLA

Block Cin A7:4

B7:4

S7:4 4-bit CLA

Block C3 C7

A27:24 B27:24

S27:24 4-bit CLA

Block C23 A31:28

B31:28

S31:28 4-bit CLA

Block C27 Cout

B 0 + + + +

P 3:0 G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 3 G 3:0

A 0 S 0 B 1 A 1 C 0

S 1 B 2 A 2 C 1

S 2 B 3 A 3 C 2

S 3

C in B 0

+ + + +

P 3:0 G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 3 P 2 P 1 P 0 G 3:0

C in C out

A 0 S 0 B 1 A 1 C 0

S 1 B 2 A 2 C 1

S 2 B 3 A 3 C 2

S 3

C in B 0

+ + + +

P 3:0 G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 3 P 2 P 1 P 0 G 3:0

C in C out

A 0 S 0 B 1 A 1 C 0

S 1 B 2 A 2 C 1

S 2 B 3 A 3 C 2

S 3

C in

B 0 + + + +

G 3 P 3 G 2 P 2 G 3:0

A 0 S 0 B 1 A 1 C 0

S 1 B 2 A 2 C 1

S 2 B 3 A 3 C 2

S 3

C in

(17)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Verzögerung durch N-bit carry-lookahead Addierer mit k-Bit Blöcken t

CLA

= t

pg

+ t

pg_block

+ (N / k – 1) t

AND_OR

+ k t

FA

wobei

§  tpg : Verzögerung P, G Berechnung für eine Spalte (ganz rechts)

§  tpg_block: Verzögerung P, G Berechnung für einen Block (rechts)

§  tAND_OR: Verzögerung durch AND/OR je k-Bit CLA Block (“Weiche”)

§  k tFA : Verzögerung zur Berechnung der k höchstwertigen Summenbits

§  Für N > 16 ist ein CLA oftmals schneller als ein Ripple-Carry-Addierer

§  Aber: Verzögerung hängt immer noch von N ab

§  Im wesentlichen linear

Carry-Lookahead Addierer

(18)

Präfix-Addierer

§  Führt Ideen des CLA weiter

§  Berechnet den Übertrag C

i-1

in jede Spalte i so schnell wie möglich

§  Bestimmt damit die Summe jeder Spalte S

i

= (A

i

B

i

) C

i-1

§  Vorgehen zur schnellen Berechnung aller C

i

§  Berechne P und G für größer werdende Blöcke

§  1b, 2b, 4b, 8b, …

§  Bis die Eingangsüberträge für alle Spalten bereitstehen

§  Nun nicht mehr N / k Stufen

§  Sondern log

2

N Stufen

§  Breite der Operanden geht also nur noch logarithmisch in Verzögerung ein

(19)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

Präfix-Addierer

§  Ein Übertrag wird entweder

§  … in einer Spalte i generiert

§  … oder aus einer Vorgängerspalte i-1 propagiert

§  Definition: Eingangsübertrag C

in

in den ganzen Addierer kommt aus Spalte -1

G

-1

= C

in

, P

-1

= 0

§  Eingangsübertrag in eine Spalte i ist Ausgangsübertrag C

i-1

der Spalte i-1

C

i-1

= G

i-1:-1

G

i-1:-1

ist das Generate-Signal von Spalte -1 bis Spalte i-1

§  Interpretation: Ein Ausgangsübertrag aus Spalte i-1 entsteht

§  … wenn der Block i-1:-1 selbst Übertrag in i-1 generiert oder aus i-2,3, … weiterleitet

19

(20)

Präfix-Addierer

§  Damit Summenformel für Spalte i umschreibbar zu

S

i

= (A

i

B

i

) G

i-1:-1

§  Deshalb nun Ziel der Hardware-Realisierung:

§  Bestimme so schnell wie möglich G0:-1, G1:-1, G2:-1, G3:-1, G4:-1, G5:-1, …

§  Sogenannte Präfixe

(21)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

Präfix-Addierer

§  Berechnung von P und G für variabel großen Block

§  Höchstwertiges Bit: i

§  Niederwertiges Bit: j

§  Unterteilt in zwei Teilblöcke (i:k) und (k-1:j)

§  Für einen Block i:j

G

i:j

= G

i:k

+ P

i:k

G

k-1:j

P

i:j

= P

i:k

P

k-1:j

§  Bedeutung

§  Ein Block erzeugt einen Ausgabeübertrag, falls

§  … in seinem oberen Teil (i:k) ein Übertrag erzeugt wird oder

§  … der obere Teil einen Übertrag weiterleitet, der im unteren Teil (k-1:j) erzeugt wurde

§  Ein Block leitet einen Eingabeübertrag als Ausgabeübertrag weiter, falls

§  Sowohl der untere als auch der obere Teil den Übertrag weiterleiten

(22)

Aufbau eines Präfix-Addierers

0:-1 -1

2:1

1:-1 2:-1

0 1 2

4:3 3

6:5

5:3 6:3

4 5 6

5:-1

6:-1 4:-1 3:-1

8:7 7

10:9

9:7 10:7

8 9 10

12:11 11

14:13

13:11 14:11

12 13 14

13:7

14:7 12:7 11:7

9:-1

10:-1 8:-1 7:-1

13:-1

14:-1 12:-1 11:-1 15

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Gk-1:j Pk-1:jGi:k

Pi:k

Gi:j Pi:j

Bi Ai

Gi:i Pi:i i

i:j

Bi Ai Gi-1:-1

i Legende

G

i:j

= G

i:k

+ P

i:k

G

k-1:j

P

i:j

= P

i:k

P

k-1:j

(23)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Verzögerung durch einen N-bit Präfix-Addierer

t

PA

= t

pg

+ (log

2

N) t

pg_prefix

+ t

XOR

wobei

§  tpg: Verzögerung durch P, G-Berechnung für Spalte i (ein AND bzw. OR-Gatter)

§  tpg_prefix: Verzögerung durch eine Präfix-Stufe (AND-OR Gatter)

§  tXOR : Verzögerung durch letztes XOR der Summenberechnung

Verzögerung durch Präfix-Addierer

23

LEHRE WIKI TEST IN

DREI

FOLIEN

(24)

§  Szenario: 32b Addition mit Ripple-Carry, Carry-Lookahead (4-bit Blöcke), Präfix-Addierer

§  Verzögerungen von Komponenten

§  Volladdierer tFA = 300ps

§  Zwei-Eingangs Gatter tAND = tOR = tXOR = 100ps

t

ripple

= N t

FA

=

t

CLA

= t

pg

+ t

pg_block

+ (N / k – 1) t

AND_OR

+ k t

FA

=

=

t

PA

= t

pg

+ (log

2

N) t

pg_prefix

+ t

XOR

=

Vergleich von Addiererverzögerungen

(25)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

§  Szenario: 32b Addition mit, Ripple-Carry, Carry-Lookahead (4-bit Blöcke), Präfix-Addierer

§  Verzögerungen von Komponenten

§  Volladdierer tFA = 300ps

§  Zwei-Eingangs Gatter tAND = tOR = tXOR = 100ps

t

ripple

= N t

FA

= 32 (300 ps) = 9,6 ns

t

CLA

= t

pg

+ t

pg_block

+ (N / k – 1) t

AND_OR

+ k t

FA

= [100 + 600 + (7) 200 + 4 (300)] ps

= 3,3 ns

t

PA

= t

pg

+ (log

2

N) t

pg_prefix

+ t

XOR

= [100 + (log

2

32) 200 + 100] ps = 1,2 ns

Vergleich von Addiererverzögerungen

(26)

LEHRE WIKI FRAGE

§  Bitte jetzt auf LEHRE WIKI eine

Frage beantworten!

(27)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

Subtrahierer

Symbol Implementierung

+

A B

-

Y Y

A B

N N

N

N N

N

N

(28)

Vergleicher: Gleichheit

Symbol Implementierung

A

3

B

3

A

2

B

2

A

1

B

1

A

0

B

Gleich

=

A B

Gleich

4 4

(29)

| Technische Grundlagen der Informatik - Kapitel 5 - Prof. Jan Peters

Vergleicher: Kleiner-Als

A < B -

B A

[N-1]

N

N N

§  Für vorzeichenlose Zahlen

Referenzen

ÄHNLICHE DOKUMENTE

äsr rssiäisrsoäs Danärat, äsr Lurator äss kiAasolisQ Iisbr- bs^irks, Direktor äer Volksschulen, Oouv.-Neäi^illal-Illspektor, äer Lrä- ses äss Lavasralliots, äsr

[r]

a) Am Diensta___ habe ich Musi___unterricht in der Schule. c) Wenn ich abbiege, zeige ich lin___s oder rechts an. g) Die Fabri___, in der meine Oma arbeitet schließt in einer

[r]

a) Am Diensta___ habe ich Musi___unterricht in der Schule. c) Wenn ich abbiege, zeige ich lin___s oder rechts an.. g) Die Fabri___, in der meine Oma arbeitet schließt in

[r]

wenn ein Buchstabe angesagt wird, muss ihn das Kind sofort niederschreiben können, ohne

Sulasemeelsuse tuhinas unustab Nietzsche täiesti, et tema otsekohesus „isandate&#34; tuludele kõige suuremat kahju saadab, just niisamati kui Macchiavelli