3. ¨Ubungsblatt Informatik II AU Korrektheit

Werbung
3. Übungsblatt Informatik II
(Abgabe: 09.05.2005)
1. Aufgabe:
AU Korrektheit
Nach Definition wissen wir, dass:
• Tn+1 = {−2n , ..., −2n − 1}
• a ∈ {0, 1}n ⇒ [a] ∈ {−2n−1 , ..., 2n−1 − 1}
• b ∈ {0, 1}n ⇒ [b] ∈ {−2n−1 , ..., 2n−1 − 1}
a)
Zu zeigen ist: sub = 0 ⇒ [a] + [b] ∈ Tn+1
Um die Aussage zu zeigen, betrachten wir die kleinste und die größte Summe von zwei 2’s
Complement Zahlen [a] und [b]. Die kleinste Summe ergibt sich, wenn wir die zwei kleinsten
Zahlen addieren, die man mit n Bits darstellen kann. Analog, die größte Summe ergibt sich,
wenn wir die zwei größten Zahlen addieren, die man mit n Bits darstellen kann.
⇒ −2n−1 + (−2n−1 ) ≤ [a] + [b] ≤ 2n−1 − 1 + 2n−1 − 1
⇒ −2n ≤ [a] + [b] ≤ 2n − 2
⇒ [a] + [b] ∈ {−2n , ..., 2n − 2}
⇒ [a] + [b] ∈ Tn+1 .
b)
Zu zeigen ist: sub = 1 ⇒ [a] − [b] ∈ Tn+1
Um die Aussage zu zeigen, betrachten wir die kleinste und die größte Differenz von zwei 2’s
Complement Zahlen [a] und [b]. Die kleinste Differenz ergibt sich, wenn wir von der kleinsten
Zahl die größte Zahl subtrahieren. Analog, die größte Differenz ergibt sich, wenn wir von der
größten Zahl die kleinste Zahl subtrahieren.
⇒ −2n−1 − (2n−1 − 1) ≤ [a] − [b] ≤ 2n−1 − 1 − (−2n−1 )
⇒ −2n + 1 ≤ [a] − [b] ≤ 2n − 1
⇒ [a] − [b] ∈ {−2n + 1, ..., 2n − 1}
⇒ [a] − [b] ∈ Tn+1
3. Übungsblatt Informatik II
(Abgabe: 09.05.2005)
2. Aufgabe: a) 1̄-Bit Multiplexer:
x0
y0
NOT
s
AND
AND
OR
z0
Alternativ kann man die And- und Or-Gatter auch durch Nand-Gatter tauschen (Kosten 1),
womit man Kosten von 4 erreichen kann.
b) n-Bit Multiplexer:
xn-1
yn-1
0 1-bit 1
x0
s
.....
zn-1
y0
0 1-bit 1
s
z0
c) Delay und Kosten:
C(1 − bitM ux) = 2 ∗ C(And) + 1 ∗ C(Or) + 1 ∗ C(Inv) = 7
D(1 − bitM ux) = D(Inv) + D(And) + D(Or) = 3 Achtung: kritischer Pfad ist das SelectSignal!
C(n − bitM ux) = n ∗ C(1 − bitM ux) = 7 ∗ n
D(n − bitM ux) = D(1 − bitM ux) = 3
3. Übungsblatt Informatik II
(Abgabe: 09.05.2005)
3. Aufgabe:
4. Aufgabe:
Sei c ∈ N, a,b ∈ Z. Die Relation ≡modc ist wie folgt definiert:
a ≡modc b ⇔ ∃k ∈ Z : a − b = k · c
Zeige: ≡modc ist Äquivalenzrelation.
Beweis:
Wir müssen zeigen, dass die Relation ≡modc refexliv, symmetrisch und transitiv ist.
Reflexivität: Sei x ∈ Z. Dann gilt x ≡modc x ⇔ ∃k ∈ Z : x − x = k · c. Offensichtlich gilt dies
für k = 0.
Symmetrie: Sei x,y ∈ Z. Es gelte x ≡modc y. Z.z: y ≡modc x.
x ≡modc y ⇔
⇒(V or)
⇒
⇒
⇔
∃k1 ∈ Z : x − y = k1 · c
x − y = k1 · c | ·(−1)
y − x = (−k1 ) · c
∃k2 ∈ Z : y − x = k2 · c , mit k2 = (−k1 )
y ≡modc x
Transitivität: Sei x,y,z ∈ Z. Es gelte x ≡modc y und y ≡modc z.
Z.z: x ≡modc z.
(x ≡modc y) ∧ (y ≡modc z)⇔
(∃k1 ∈ Z : x − y = k1 · c) ∧ (∃k2 ∈ Z : y − z = k2 · c)
(V
or)
⇒
x − y = k1 · c
(1)
y − z = k2 · c
(2)
⇒((1)+(2))x − z = (k1 + k2 ) · c
⇒
∃k3 ∈ Z : x − z = k3 · c , mit k3 = (k1 + k2 )
⇔
x ≡modc z
5. Aufgabe: Eine Relation R heisst Äquivalenzrelation auf A falls R transitiv, symmetrisch
und reflexiv ist, d.h. falls für alle x, y, z ∈ A folgendes gilt:
(x, y) ∈ R und (y, z) ∈ R ⇒ (x, z) ∈ R
(x, y) ∈ R ⇒ (y, x) ∈ R
(x, x) ∈ R
Eine Menge A auf der eine Äquivalenzrelation definiert ist, zerfällt von selbst in Teilmengen
Ai , und zwar so, dass für je zwei Elemente x und y einer Teilmenge Ai stets (x, y) ∈ R
gilt.Hierbei versteht man unter einer Zerlegung einer nichtleeren Menge A eine Menge A0 =
3. Übungsblatt Informatik II
(Abgabe: 09.05.2005)
A1 ∪ A2 ∪ ... = A
Ai ∩ Ak = {} ⇔ Ai 6= Ak
Die so definierten Teilmengen von A sind also paarweise disjunkt und jedes Element von A ist
in genau einer dieser Teilmengen von A enthalten. Das bedeutet das jedes Element Ai ∈ A0
eindeutig bestimmt und repräsentiert ist durch irgendein x ∈ Ai .
Der Beweis besteht nun aus zwei Richtungen. Wir zeigen zunächst das jede Zerlegung eine
Äquivalenzrelation induziert:
Sei A0 eine Zerlegung einer nichtleeren Menge A. Dann ist die Relation R ⊂ A × A definert
durch:
(x, y) ∈ R ⇔ x, y ∈ Ai für ein Ai ∈ A0
eine Äquivalenzrelation auf A.
Beweis:
Unter der Annahme dass A0 eine Zerlegung von A ist, ist zu zeigen, dass die so definerte
Relation R transitiv, symmetrisch und reflexiv ist.
(i) Seien x, y, z Elemente aus A. Dann folgt aus (x, y) ∈ R und (y, z) ∈ R, dass x, y ∈ Ap
und y, z ∈ Aq mit Ap , Aq ∈ A0 . DAmit haben die Mengen Ap und Aq mindestens ein Element
gemeinsam, nämlich y. Also können sie nicht disjunkt sein. Da A0 eine Zerlegung von A ist,
folgt Ap = Aq und damit (x, z) ∈ R.
(ii) (x, y) ∈ R ist nach Definition von R gleichbedeutend mit x, y ∈ Ai mit Ai ∈ A0 , d.h. es
gilt auch (y, x) ∈ R.
(iii) Da nach Definition zu jedem x ∈ A ein Ai ∈ A0 existiert mit x ∈ Ai , folgt (x, x) ∈ R
sofort.
Bleibt noch zu zeigen das jede Äquivalenzrelation eine Zerlegung induziert.
Sei R eine Äquivalenzrelation auf einer nichtleeren Menge A. Dann ist A0 = {A(x) ⊂ A|x ∈ A},
definiert durch A(x) = {y ∈ A|(x, y) ∈ R} eine Zerlegung von A.
Beweis: Unter der Annahme dass R eine Äquivalenzrelation auf A ist, ist zu zeigen, dass
erstens die Vereinigungsmenge aller Mengen A(x) mit x ∈ A gleich A ist und zweitens, dass
alle Mengen A(x) ∈ A0 paarweise disjunkt sind.
(i) Weil R eine Äquvalenzrelation auf A ist, folgt für jedes x ∈ A sofort, dassS(x, x) ∈ R.
Also
gilt nach Definition der Mengen A(x) dass x ∈ A(x) und man hat A = x∈A {x} ⊆
S
x∈A A(x) ⊆ A.
(ii) Angenommen, es gibt unter den Elementen der oben definierten Menge A0 zwei nicht
identische Mengen A(x) und A(y), die nicht disjunkt sind. Dann existiert mindestens ein
z 0 ∈ A mit z 0 ∈ A(x) und z 0 ∈ A(y), mit anderen Worten: (x, z 0 ) ∈ R und (z 0 , y) ∈ R. Wegen
der Transitivität von R folgt (x, y) ∈ R. Sei nun z irgendein Element aus A(x), dann gilt
(x, z) ∈ R und mit (x, y) ∈ R auch (z, y) ∈ R, also ist z auch Element aus A(y). Ebenso
gilt: wenn z irgendein Element aus A(y) ist, dann ist z auch Element von A(x). Also sind die
Mengen A(x), A(y) identisch und dies steht im Widerspruch zur getroffenen Annahme. Zwei
3. Übungsblatt Informatik II
(Abgabe: 09.05.2005)
Aufgabe 6:
neg = sn
also benötigen wir sn
das erhalten wir aus der Summe
S 0 = [an−1 a[n − 1 : 0]] + [dn−1 d[d − 1 : 0]] + sub
es gilt:
neg = an−1 ⊕ dn−1 ⊕ un
neg = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 )
da un = 1 ⇔ (an−1 ∧ dn−1 ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ∧ sn−1 )
∨ (an−1 ∧ dn−1 ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ∧ sn−1 )
Also ergibt sich die folgende Schaltung:
a
[
n
1
]
d
[
n
1
]
s
[
n
1
]
X
A
O
N
D
R
A
N
D
O
R
X
O
R
Aufgabe 7:
ovf = neg ⊕ sn−1
aus Aufgabe 6 wissen wir
neg = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 )
also ergibt sich:
ovf = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ) ⊕ sn−1
Herunterladen