MI-AAK(Aritmetika a kódy) Číselnésoustavy, sčítáníasčítačky c doc. Ing. Alois Pluháček, CSc., 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha& EU: Investujeme do vaší budoucnosti
A1. Číselné soustavy, sčítání a sčítačky číselné soustavy standardní soustavy řádová mřížka základní operace v obecné řádové mřížce dvojkové sčítačky úplná sčítačka a poloviční sčítačka sčítačka s postupným šířením přenosu sčítačka s výhybkami sčítačka s predikcí přenosů kaskádní zapojení sčítačka s podmíněnými součty sčítání v rámci řádové mřížky MI-AAK c A. Pluháček 2011
číselné soustavy číselné soustavy poziční zejm. polyadické standardní desítková dekadická dvojková binární či dyadická osmičková oktalová šestnáctková hexadecimální trojková ternární či triadická apod. nestandardní se záporným základem(zejm. soustava polská) s relativními číslicemi soustava o několika základech aj. nepoziční tzv. římská čísla soustava zbytkových tříd(soustava česká) aj. MI-AAK A1 1 c A. Pluháček 2011
standardní soustavy standardní číselné soustavy polyadické A a n a n 1... a 0, a 1... a m A= n a i z i i= m z 2 základ(neboli báze) soustavy přirozené číslo a i 0; z) číslice(neboli cifry) nezáporná celá čísla 0 A z n+1 z m!!! Nelze zobrazit záporná čísla!!! MI-AAK A1 2 c A. Pluháček 2011
řádová mřížka n... nejvyššířád m... nejnižšířád A a n a n 1... a 0, a 1... a m A=a n z n + a n 1 z n 1 +...+a 0 + a 1 z 1... a m z m z... základčíselnésoustavy Z= z n+1 modulřádovémřížky nenízobrazitelný ε=z m jednotkařádovémřížky nejmenšíkladné zobrazitelné číslo zobrazitelnáčísla A: 0 A=k ε < Z, kjeceléčíslo k=a/ε=a = A=A jednotek ε A číslicevzápisučísla A ε polohařádovéčárky MI-AAK A1 3 c A. Pluháček 2011
základní operace v obecné řádové mřížce sčítání a odčítání stejné řádové mřížky obou operandů a výsledku: A=A ε } B= B ε A ± B= A ε ± B ε=(a ± B ) ε Př.: z=10, Z=10=10 n+1, ε=0,01=10 m n=0, m=2 (neboli m= 2) A=1,23 A =1,23/0,01=123 B=4,56 B =4,56/0,01=456 A=1,23+4,56=(123+456) 0,01= = 579 0,01=5,79 různé řádové mřížky: převod do vhodné řádové mřížky přidání nul Př.: 1,234+56,7 = 01,234+56,700 = 57,934 Závěr: Sčítání a odčítání v obecné řádové mřížce lze snadno převést na sčítání a odčítání celých čísel. MI-AAK A1 4 c A. Pluháček 2011
základní operace v obecné řádové mřížce ii násobení: A=A ε A B= B ε B } A B = A ε A B ε B = =(A B ) ε A ε B Př.: z=10 Z A =10, ε A =0,01, n A =0, m A =2 Z B =100, ε B =0,1, n B =1, m B =1 7,01 80,3=(701 803) 0,001= =562903 0,001=562,903 Závěr: Násobení v obecné řádové mřížce lze snadno převést na násobení celých čísel. MI-AAK A1 5 c A. Pluháček 2011
dvojkové sčítačky úplná sčítačka(jednomístná dvojková sčítačka) [full adder] a b p q s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 s = a b p= = abp+abp+abp+abp q =M 3 (a, b, p)= = ab+ap+bp= = ab ap bp= = ab+(ap bp) MI-AAK A1 6 c A. Pluháček 2011
dvojkové sčítačky ii poloviční sčítačka(půlsčítačka) [half adder] a b q s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 s = a b = ab+ab q=a b MI-AAK A1 7 c A. Pluháček 2011
sčítačka s postupným šířením přenosu sčítačka s postupným šířením přenosu [ripple-carry adder] n=3 Z=16 A a 3 a 2 a 1 a 0 B b 3 b 2 b 1 b 0 S s 3 s 2 s 1 s 0 p i+1 = q i zapojení s půlsčítačkami S= A+B+ p 0 q n Z MI-AAK A1 8 c A. Pluháček 2011
sčítačka s postupným šířením přenosu ii q i = a i b i + a i p i + b i p i... přenosdovyššíhořádu q i = a i b i +(a i p i b i p i )=a i b i +(a i b i ) p i a i =0ab i =0 q i =0...přenosvřádu izaniká a i =1ab i =1 q i =1...přenosvřádu ivzniká jinak(je-li a i b i ) q i = p i...přenospřesřád iprochází p i+1 = q i = p i!aleažvustálenémstavu! p i+1 jezpožděnovůči p i zpoždění se kumulují frekvence hodinových pulsů nutno uvažovat největší zpoždění q i = G i + P i p i,kde G i = a i b i (přenosvřádu ivzniká generujesevněm) P i = a i b i (přenos prochází řádem i) P i =1, P i+1 =1,..., P i+k =1 = q i+k = p i p i P i P i+1 =1,... P i+k =1 = q i+k =1 MI-AAK A1 9 c A. Pluháček 2011
sčítačka s výhybkami sčítačka s výhybkami [carry skip adder] Sčítačka je rozdělena na sekce po k řádech. Přenos, který by muselprojítpřes křádůsekciobejde,po výhybce. Poznámky: Ke snížení maximálního zpoždění dojde jen v případě, že sekce jsou aspoň tři. Místo P i = a i b i lzeevidentněpoužít P i = P i+ G i, tzn. P i = a i+ b i. Je-li úplná sčítačka vytvořena ze dvou půlsčítaček, lze použítjako P i = a i b i výstupprvnípůlsčítačky. Sekce lze sdružovat(analogicky jako sčítačky) dovětšíchsekcí(dojakýchsi nadsekcí ), atypopř.doještěvětšíchsekcíatd. MI-AAK A1 10 c A. Pluháček 2011
sčítačka s výhybkami ii Př.:3sekcepo4řádech celkem21bitů jedna sekce: tři sekce: MI-AAK A1 11 c A. Pluháček 2011
sčítačka s predikcí přenosů sčítačka s predikcí přenosů [carry look-ahead adder] q = ab+(ap bp)=ab+(a b) p=g+p p = ab+ap+bp = ab+(a+b) p=g+p p G i = a i b i P i = a i b i P i = a i+ b i přenossevřádu igeneruje přenos prochází řádem i přenos prochází řádem i nebosevněmgeneruje q 0 = p 1 = G 0 + P 0 p 0 q 1 = p 2 = G 1 + P 1 p 1 q 1 = p 2 = G 1 + P 1 G 0 + P 1 P 0 p 0 q 2 = p 3 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 p 0 atd. Místo P i lzepoužít P i. MI-AAK A1 12 c A. Pluháček 2011
sčítačka s predikcí přenosů ii predikce: p 1 = G 0 + P 0 p 0 p 2 = G 1 + P 1 G 0 + P 1 P 0 p 0 p 3 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 p 0 p 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + + P 3 P 2 P 1 P 0 p 0 MI-AAK A1 13 c A. Pluháček 2011
sčítačka s predikcí přenosů iii predikce: p 1 = G 0 + P 0 p 0 p 2 = G 1 + P 1 G 0 + P 1 P 0 p 0 p 3 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 p 0 p 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + + P 3 P 2 P 1 P 0 p 0 MI-AAK A1 14 c A. Pluháček 2011
sčítačka s predikcí přenosů iv sčítačka s predikcí přenosů na bázi půlsčítaček MI-AAK A1 15 c A. Pluháček 2011
sčítačka s predikcí přenosů kaskádní zapojení 4bitová sekce (jako příklad): p 1 = G 0 + P 0 p 0 p 2 = G 1 + P 1 G 0 + P 1 P 0 p 0 p 3 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 p 0 p 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + + P 3 P 2 P 1 P 0 p 0 G = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 P = P 3 P 2 P 1 P 0 G... vsekcisegenerujepřenoszjejíhonejvyššíhořádu P... přenossekcíprochází p 4 = G + P p 0 MI-AAK A1 16 c A. Pluháček 2011
sčítačka s predikcí přenosů kaskádní zapojení ii MI-AAK A1 17 c A. Pluháček 2011
sčítačka s podmíněnými součty sčítačka s podmíněnými součty [conditional sum adder] stavební prvek: multiplexor: s 0 = a b... součet,je-li p=0 s 1 = a b 1... součet,je-li p=1 q 0 = a b... přenos,je-li p=0 q 1 = a+b... přenos,je-li p=1 dvojice multiplexorů: MI-AAK A1 18 c A. Pluháček 2011
sčítačka s podmíněnými součty ii zapojení 8bitové sčítačky MI-AAK A1 19 c A. Pluháček 2011
sčítačka s podmíněnými součty iii Není-litřebaurčovatnapř.přenosyzřádů0,1,...,6,lze vypustit příslušné multiplexory: MI-AAK A1 20 c A. Pluháček 2011
sčítačka s podmíněnými součty iv 4bitová sčítačka MI-AAK A1 21 c A. Pluháček 2011
sčítačka s podmíněnými součty v 4bitovásčítačka 1001+1110+p=? prop= { 0 1 MI-AAK A1 22 c A. Pluháček 2011
sčítačka s podmíněnými součty vi 4bitovásčítačka 1001+1010+p=? prop= { 0 1 MI-AAK A1 23 c A. Pluháček 2011
sčítačka s podmíněnými součty vii 4bitovásčítačka 1010+0110+p=? prop= { 0 1 MI-AAK A1 24 c A. Pluháček 2011
sčítání v rámci řádové mřížky Výstupsčítačky: S= A+B+ p 0 q n Z Nechť p 0 =0 (nebo úplná sčítačka v řádu 0 je nahrazena půlsčítačkou): S= A+B q n Z Sselišíod A+Bonásobek Z S A+B (mod Z) grafické znázornění(obdoba ciferníku na hodinách): 0101+0100=01001 1001 MI-AAK A1 25 c A. Pluháček 2011
sčítání v rámci řádové mřížky ii 0101+1110=10011 0011 průchodnulou přenosznejvyššíhořádu q n =1 v tomto případě(sčítání čísel bez znaménka): q n =1 A+B Z (Z=10000 2 =16 10 ) q n =1 přeplnění(přetečení) překročenírozsahu obecně však:!!! přenos přeplnění(přetečení)!!! přeplnění angl. overflow MI-AAK A1 26 c A. Pluháček 2011