06.10.2013 Aufrufe

Musterlösungen zum 13.¨Ubungsblatt - next-internet.com

Musterlösungen zum 13.¨Ubungsblatt - next-internet.com

Musterlösungen zum 13.¨Ubungsblatt - next-internet.com

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Universität Karlsruhe (TH)<br />

Institut für Rechnerentwurf und Fehlertoleranz<br />

Technische Informatik I im WS 2004/2005<br />

<strong>Musterlösungen</strong> <strong>zum</strong> 13. Übungsblatt<br />

Lösung 1<br />

Dr.-Ing. Tamim Asfour<br />

Haid-und-Neu-Str. 7<br />

2. OG., Raum 313.1<br />

D-76131 Karlsruhe<br />

Telefon: +49-721-608-7379<br />

Fax: +49-721-608-8270<br />

Email: asfour@ira.uka.de<br />

http://i61www.ira.uka.de/users/asfour/TI<br />

1. Für sub = 1 soll jedes Bit von B negiert werden und für sub = 0 unverändert weitergeleitet<br />

werden. Zur Addition einer 1 (Komplementbildung) kann der Übertragseingang<br />

verwendet werden.<br />

Funktionstabelle:<br />

sub bi b ′ i<br />

0 0 0<br />

0 1 1<br />

1 0 1<br />

1 1 0<br />

b ′ i = bi ↔| sub<br />

b0<br />

b1<br />

b2<br />

b3<br />

sub<br />

=1<br />

=1<br />

=1<br />

=1<br />

a0<br />

a1<br />

a2<br />

0<br />

1<br />

<br />

2 3 012<br />

a3 s0<br />

s1<br />

s2<br />

s3<br />

c0<br />

0 123<br />

3<br />

CI CO c4<br />

2. Ein Überlauf (OVR: overflow) tritt bei der Addition zweier Zahlen in<br />

Zweierkomplement-Form auf, wenn beide Zahlen positiv (negative) sind; das Ergebnis<br />

der Addition jedoch negativ (positiv) ist.


<strong>Musterlösungen</strong> <strong>zum</strong> 13. Übungsblatt zur Vorlesung ” Technische Informatik I“ im WS 2004/2005 2<br />

Lösung 2<br />

Funktionstabelle:<br />

a3 b3 s3 OVR<br />

0 0 0 0<br />

0 0 1 1<br />

0 1 0 0<br />

0 1 1 0<br />

1 0 0 0<br />

1 0 1 0<br />

1 1 0 1<br />

1 1 1 0<br />

OV R = a 3b 3s3 ∨ a3 b3 s3<br />

a0<br />

a1<br />

a2<br />

a3<br />

b0<br />

b1<br />

b2<br />

b3<br />

1. Funktionstabelle eines Vollsubtrahierers:<br />

En−1 An Bn Dn En<br />

0 0 0 0 0<br />

0 0 1 1 1<br />

0 1 0 1 0<br />

0 1 1 0 0<br />

1 0 0 1 1<br />

1 0 1 0 1<br />

1 1 0 0 0<br />

1 1 1 1 1<br />

2. Vollsubtrahierer:<br />

c0<br />

¤£¤ ¢£¢<br />

£ £<br />

Dn = An ↔ Bn ↔ En−1<br />

¡<br />

©<br />

0<br />

1<br />

2<br />

3<br />

0<br />

1<br />

2<br />

3<br />

CI<br />

1<br />

1<br />

An<br />

Bn<br />

En-1<br />

<br />

En = An · Bn ∨ An · En−1 ∨ Bn · En−1<br />

↔<br />

↔<br />

↔<br />

1<br />

1<br />

1<br />

0<br />

1<br />

2<br />

3<br />

CO<br />

1<br />

¦ ¥<br />

¨§<br />

1<br />

=1<br />

s0<br />

s1<br />

s2<br />

s3<br />

c4<br />

&<br />

&<br />

=1<br />

&<br />

&<br />

&<br />

≥ 1<br />

≥1<br />

0<br />

0<br />

OVR<br />

Dn<br />

En


<strong>Musterlösungen</strong> <strong>zum</strong> 13. Übungsblatt zur Vorlesung ” Technische Informatik I“ im WS 2004/2005 3<br />

&<br />

&<br />

≥1<br />

1<br />

&<br />

=1<br />

=1<br />

&<br />

&<br />

≥1<br />

1<br />

&<br />

=1<br />

=1<br />

&<br />

&<br />

≥1<br />

1<br />

&<br />

=1<br />

B0 ... B3<br />

↔ ↔ ↔ ↔<br />

1<br />

1<br />

0<br />

0<br />

=1<br />

&<br />

&<br />

≥1<br />

0<br />

CO<br />

&<br />

↔<br />

0<br />

1<br />

↔ ↔ ↔ ↔<br />

1<br />

1<br />

0<br />

1<br />

=1<br />

0<br />

0<br />

0<br />

0<br />

3. Die Laufzeit hängt linear von der Anzahl der Bits in den Dualzahlen ab. Eine Verbesserung<br />

ist durch eine ≫Carry-Look-Ahead≪-Schaltung möglich.<br />

Lösung 3<br />

1. Die beiden 4-Bit Zahlen werden zunächst herkömmlich addiert. Falls das Zwischenergebnis<br />

größer oder gleich 1010 ist, wird das Übertragsbit CO gesetzt und <strong>zum</strong> Zwischenergebnis<br />

der Wert 610<br />

a0<br />

a1<br />

a2<br />

a3<br />

b0<br />

b1<br />

b2<br />

b3<br />

CI<br />

↔<br />

↔<br />

↔<br />

↔<br />

↔<br />

↔<br />

↔<br />

↔<br />

↔<br />

1<br />

1<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0<br />

0<br />

⎫<br />

⎟<br />

⎬<br />

⎟<br />

⎭<br />

0<br />

1<br />

2<br />

3<br />

⎫<br />

⎟<br />

⎬<br />

⎟<br />

⎭<br />

0<br />

1<br />

2<br />

3<br />

CI<br />

P<br />

Q<br />

∑<br />

⎧<br />

⎟<br />

⎨<br />

⎟<br />

⎩<br />

∑<br />

0<br />

1<br />

2<br />

3<br />

CO<br />

&<br />

≥1<br />

&<br />

↔<br />

0<br />

⎫<br />

⎟<br />

⎬<br />

⎟<br />

⎭<br />

0<br />

1<br />

2<br />

3<br />

⎫<br />

⎟<br />

⎬<br />

⎟<br />

⎭<br />

0<br />

1<br />

2<br />

3<br />

CI<br />

P<br />

Q<br />

∑<br />

⎧<br />

⎟<br />

⎨<br />

⎟<br />

⎩<br />

∑<br />

0<br />

1<br />

2<br />

3<br />

CO<br />

0<br />

0<br />

0<br />

0<br />

0<br />

CO<br />

D0 ... D3<br />

A0 ... A3<br />

=1


<strong>Musterlösungen</strong> <strong>zum</strong> 13. Übungsblatt zur Vorlesung ” Technische Informatik I“ im WS 2004/2005 4<br />

2. Kaskadenschaltung zweier 1-Tetraden BCD-Addierer:<br />

↔<br />

1<br />

↔<br />

1<br />

↔<br />

1<br />

↔<br />

0<br />

↔<br />

1<br />

↔<br />

0<br />

↔<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

⎫<br />

CO<br />

CI<br />

∑<br />

⎫<br />

1<br />

0<br />

2<br />

3<br />

P<br />

⎬<br />

2<br />

3<br />

Q<br />

⎭<br />

⎬<br />

⎟<br />

⎟<br />

3<br />

2<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎨<br />

⎩<br />

∑<br />

⎧<br />

1<br />

0<br />

⎭<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

≥1<br />

&<br />

&<br />

0<br />

1<br />

⎫<br />

CO<br />

CI<br />

∑<br />

⎫<br />

1<br />

0<br />

2<br />

3<br />

P<br />

⎬<br />

2<br />

3<br />

Q<br />

⎭<br />

⎬<br />

⎟<br />

⎟<br />

3<br />

2<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎨<br />

⎩<br />

∑<br />

⎧<br />

1<br />

0<br />

⎭<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

↔<br />

0<br />

0<br />

↔<br />

1<br />

a4<br />

a5<br />

a7<br />

a6<br />

b4<br />

b6<br />

b5<br />

b7<br />

CO<br />

↔<br />

1<br />

↔<br />

0<br />

↔<br />

1<br />

↔<br />

0<br />

↔<br />

1<br />

↔<br />

0<br />

↔<br />

0<br />

↔<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

⎫<br />

CO<br />

CI<br />

∑<br />

⎫<br />

1<br />

0<br />

2<br />

3<br />

P<br />

⎬<br />

2<br />

3<br />

Q<br />

⎭<br />

⎬<br />

⎟<br />

⎟<br />

3<br />

2<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎨<br />

⎩<br />

∑<br />

⎧<br />

1<br />

0<br />

⎭<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

≥1<br />

&<br />

&<br />

0<br />

1<br />

⎫<br />

CO<br />

CI<br />

∑<br />

⎫<br />

1<br />

0<br />

2<br />

3<br />

P<br />

⎬<br />

2<br />

3<br />

Q<br />

⎭<br />

⎬<br />

⎟<br />

⎟<br />

3<br />

2<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎨<br />

⎩<br />

∑<br />

⎧<br />

1<br />

0<br />

⎭<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

↔<br />

0<br />

↔<br />

1<br />

a0<br />

a1<br />

a3<br />

a2<br />

b0<br />

b2<br />

b1<br />

b3<br />

CI<br />

s0<br />

s1<br />

s3<br />

s2<br />

s4<br />

s5<br />

s7<br />

s6

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!