' 172 3 Arithmetische Schaltuge a) Subtrahiere Sie 11 6 = 5 im Biärsystem bei eier Wortbreite =4 17 : 1011 6 : 0110 01=5 = 170 b) Subtrahiere Sie 12 5 = 7 im Biärsystem bei eier Wortbreite =4 72 : 1100 S 0101 To 7070 =7 T c) Subtrahiere Sie 14 11 = 3 im Biärsystem bei eier Wortbreite =4 14 : 11102 17 : 10112 10 i 23 232 z ' 20 NR : 10 o, = 3% 01 702701700 273 7 od 222 zo : 206
39 Subtraktio 173 HalbSubtrahierer Ei HalbSubtrahierer ist ei Schaltug, die ei EigagsBit y i vo eiem EigagsBit x i subtrahiert Das Ergebis ist ei DifferezBit d i ud ei BorgeBit b i (b = borge = egl borrow) Eigag x i Eigag y i Borge b i Differez d i 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 Die Differez d i etspricht der XRVerküpfug der Eigäge; b i hat de Wert 1, we der Miued 0 ist ud der Subtrahed 1 ist x i y i x i y i HS b i d i b i d i Halbsubtrahierer köe Biärzahle ur halb subtrahiere: Der Halbsubtrahierer a Stelle i erket zwar, ob er ei Bit vo Stelle i +1borge musste, ka jedoch selbst icht berücksichtige, ob der Halbsubtrahierer a Stelle i 1 vo ihm selbst ei Bit borge musste
174 3 Arithmetische Schaltuge VollSubtrahierer m Gegesatz zum Halbsubtrahierer ka ei Vollsubtrahierer berücksichtige, ob die voragegagee Stelle i 1 ei Bit borge musste a) Vervollstädige Sie achfolgede Wertetabelle eies Vollsubtrahierers 7 x i y 0 i b i 1 b i d i 00 0 0 0 X 0 0 1 7 T 7 0 1 0 7 7 r 70 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 y 7 a 1 7 70? 7 7 07 ^ b) Trage Sie i achfolgede Abbildug (liks) eie mplemetierug eier VollsubtrahiererSchaltug ei x i y i x i y i b " E b i1 b i VS b i1, d i d i
178 3 Arithmetische Schaltuge 310 Divisio Allgemei Bei der Divisio gilt allgemei: Divided / Divisor = Quotiet + Rest Divisio zur Basis 10, wie i der Schule gelert: 9876 : 0054=0 1 Rude 1 Teildivided = 9 Passt 54 i 9? Nei, dh 0 mal 9876 : 0054=01 2 Rude 2 Teildivided = 98 Passt 54 i 98? Ja Wie oft? 98 54 = 44 (1 mal) 44 54 = 10 (egativ bleibt bei 1 mal) 4476 : 0054=018 3 Rude 3 Teildivided = 447 Passt 54 i 447? Ja Wie oft? 447 54 = 393 (1 mal) 393 54 = 339 (2 mal) 339 54 = 285 (3 mal) 285 54 = 231 (4 mal) 231 54 = 177 (5 mal) 177 54 = 123 (6 mal) 123 54 = 069 (7 mal) 069 54 = 015 (8 mal) 015 54 = 039 (egativ bleibt bei 8 mal) 4 Rude 0156 : 0054=0182 Rest 48 4 Teildivided = 156 Passt 54 i 156? Ja Wie oft? 156 54 = 102 (1 mal) 102 54 = 048 (2 mal) 048 54 = 006 (egativ bleibt bei 2 mal)
) 0011 001 310 Divisio 179 Die Divisio zur Basis 2 folgt demselbe Prizip wie die Divisio zur Basis 10 Da der Teildivided jedoch ur 0 oder 1 mal i de Divisor passe ka, ist die Bestimmug der jeweilige QuotieteStelle wesetlich eifacher a) Bereche Sie biär vorzeichelos für =4die Divisio 13/4 =3Rest 1 T b) Bereche Sie biär vorzeichelos für =4die Divisio 10/3 =3Rest 1 T : 1010 3 : 0011 : 0011 = Rest 2 ) 7 = 101 0001 0011 0010 3) 0101 0011 = eg eg = 0010 NR : 0101 4) 01000011=0001 0011 NR : 0100 000
310 Divisio 181 Sequetieller Dividierer Nachfolgede Abbildug skizziert eie sequetielle Schaltug, die zur Divisio (hier: x/y) vorzeicheloser Zahle der Wortbreite =4verwedet werde ka Xp D y 3 y 2 y 1 y 0 R a b SUB ab 0 0 0 0 R 0 x 3 x 2 x 1 x 0 Das DivisorRegister D ist =4Bit breit, das RestRegister R ist 2 =8Bit breit Zuerst wird der Divided i der rechte Hälfte des RestRegisters R abgelegt; die like Hälfte wird mit 0 iitialisiert Der Divisor wird im DivisorRegister D abgelegt Aschließed wird iterativ =4mal folgedes durchgeführt: RestRegister R um eie Stelle ach liks schiebe, dabei vo rechts mit Nulle auffülle Der Subtrahierer bestimmt mittels Subtraktio R 2 1 D, ob der Divisor D i de TeilDividede R 2 1 passt st das Ergebis der Subtraktio positiv, dh hat der Divisor i de TeilDividede reigepasst, wird R 0 auf 1 gesetzt ud das Ergebis der Subtraktio (der Rest) i R 2 1 überomme Der Quotiet fidet sich i der rechte Hälfte des RestRegstiers, dh R 10, der DivisiosRest i der like Hälfte, dh R 2 1
Automat 182 3 Arithmetische Schaltuge a) Trage Sie i folgede Abbildug für =4die Registerihalte ei, die sich für die Divisio 13 : 4 = 3 Rest 1 ergebe 13? y 4 : 0100 a SUB ab b x # NR : 0001 itialisierug 0100 Nach Schiebe: 1101 7=2 0 Erste Rude NR 0011 Nach Schiebe: 00 Zweite Rude 0100 Nach Schiebe: 000 Dritte Rude Nach SUB/DER: Dritte Rude NR 0110 Nach Schiebe: Nach Subtr/DER: 0 00 000 001 Vierte Rude Vierte Rude 0100 0070 2 NR : 0010 01000100 Rest NR : f Nachfolgede Abbilduge zeige eie Schaltug, welche die sequetielle Divisio implemetiert, sowie de zugehörige Zustadsautomate T b) Trage Sie i de ZustadsAutomate geeigete Übergäge ud Ausgagssigale so ei, dass der Zustadsautomat die Schaltug i gewüschter Weise steuert Beutze Sie dabei das Sigal rude_, welches de Wert 1 aimmt, we sich der Automat i der letzte Rude befidet atacids = Moore Automat
310 Divisio 183 Steuerug Divided Divisor clk_div mux eg Clk Divisor 0 1 0 11 clk_rest iit/<<1 0 1 b 01 20 2 1 0 ab Sub " 21 0 a Clk it/<<1 Rest <<1 2 " 2297 01 21 2 Rest ud Quotiet 2 1 it clk_div = clk_rest = ii/<<1 = mux = immer immer wier 2 3 4 it Schiebe Schiebe clk_div = clk_div = clk_div = i clk_rest = =L clk_rest = clk_rest = ii/<<1 = 0 ii/<<1 = d o ii/<<1 = mux = rude_== mux = x mux = o X immer 6 5 L reideer 1 Kc 7 Sub; Rest = 1 Sub; Rest = 1 Ede clk_div = clk_div = clk_div = clk_rest = clk_rest = clk_rest = ii/<<1 = ii/<<1 = ii/<<1 = mux = mux = l mux = Xx X ietee, L lug o immer