background image

Układy 

Układy 

Układy 

Układy 

Układy 

Układy 

Układy 

Układy 

liczące

liczące

liczące

liczące

liczące

liczące

liczące

liczące

6 marca 2011

Wojciech Kucewicz

2

background image

Sumator 

Sumator 

Sumator 

Sumator 

Sumator 

Sumator 

Sumator 

Sumator 

6 marca 2011

Wojciech Kucewicz

3

background image

Półsumator

Półsumator

Półsumator

Półsumator

Zadanie: dodać  2 liczby binarne A i B

Zadanie: dodać  2 liczby binarne A i B

FF

Suma

Suma Carry

Carry

Sum

Sum

0 + 

0 + 00

00

00

00

A

B

Sum

A

B

Sum

AB

AB

0 + 1

0 + 1

11

00

11

1 + 0

1 + 0

11

00

11

Carry

Carry

1 + 1

1 + 1

10

10

11

00

Z tablic Karnaugh:

Z tablic Karnaugh:

Carry

Carry

Z tablic Karnaugh:

Z tablic Karnaugh:

S = AB’ + A’B = A 

S = AB’ + A’B = A ⊕

BB

Carry = AB

Carry = AB

6 marca 2011

Wojciech Kucewicz

4

Półsumator ma dwa wejścia i dwa wyjścia (sumy i przeniesienia). 

Półsumator ma dwa wejścia i dwa wyjścia (sumy i przeniesienia). 

background image

Pełny sumator

Pełny sumator

Pełny sumator

Pełny sumator

Zadanie: dodać  2 liczby 

Zadanie: dodać  2 liczby nn--bitowe

bitowe A i B

A i B

11

11

11

11

Carry

Carry

A

A

11

11

11

11

+  B

+  B

11

00

00

11

+  B

+  B

11

00

00

11

Sum

Sum

00

00

00

11

11

Przy dodawaniu posługujemy się 3 zmiennymi wejściowymi: cyfra liczby 

Przy dodawaniu posługujemy się 3 zmiennymi wejściowymi: cyfra liczby 

A

A

, cyfra liczby 

, cyfra liczby 

BB

, przeniesienie poprzednie 

, przeniesienie poprzednie 

CC

6 marca 2011

Wojciech Kucewicz

5

, p

p p

, p

p p

oraz 2 

oraz 2 zmiennymi wyjściowymi: 

zmiennymi wyjściowymi: cyfra sumy 

cyfra sumy 

S

S

, , przeniesienie następne 

przeniesienie następne 

Carry

Carry

background image

Pełny sumator

Pełny sumator

Pełny sumator

Pełny sumator

S

S = 

= A’B’C

A’B’C + 

+ AB’C

AB’C’ + 

’ + A’BC

A’BC’ + ABC =

’ + ABC =

= (

= (A’B’+AB

A’B’+AB)C + (

)C + (AB’+A’B

AB’+A’B)C’ =

)C’ =

= (

= (A

A⊕

BB)’C+ (

)’C+ (A

A⊕

BB)C’

)C’ = (

= (A

A⊕

BB) ) ⊕

CC

F=A+B+C

F=A+B+C

Carry

Carry

S

S

0+0+0

0+0+0

00

00

AB

AB

CC

00

00

01

01

11

11

10

10

= (

= (A

A⊕

BB) C+  (

) C+  (A

A⊕

BB)C

)C = (

= (A

A⊕

BB) ) ⊕

CC

1+0+0

1+0+0

00

11

0+1+0

0+1+0

00

11

00

00

11

00

11

11

11

00

11

00

ABC

ABC

0+0+1

0+0+1

00

11

1+1+0

1+1+0

11

00

AB

AB

00

00

01

01

11

11

10

10

Carry

Carry = AB + AC + BC = AB + C(A + B) 

= AB + AC + BC = AB + C(A + B) 

1+0+1

1+0+1

11

00

0+1+1

0+1+1

11

00

CC

00

00

01

01

11

11

10

10

00

00

00

11

00

6 marca 2011

Wojciech Kucewicz

6

1+1+1

1+1+1

11

11

11

00

11

11

11

background image

Sumator

Sumator

Sumator

Sumator

S

S = 

= A’B’C

A’B’C + 

+ AB’C

AB’C’ + 

’ + A’BC

A’BC’ + ABC = (

’ + ABC = (A’B’+AB

A’B’+AB)C + (

)C + (AB’+A’B

AB’+A’B)C’ =

)C’ =

= (

= (A

A⊕

BB)’C+ (

)’C+ (A

A⊕

BB)C’

)C’ = (

= (A

A⊕

BB) ) ⊕

CC

((

)

(

)

(

))

((

))

Carry

Carry = AB + AC + BC = AB + 

= AB + AC + BC = AB + C(A

C(A ⊕

BB) ) 

A

B

A

B

Sum

C

Sum

C

Carry

Carry

6 marca 2011

Wojciech Kucewicz

7

background image

Sumator

Sumator

Sumator

Sumator

Carry

Carry = AB + AC + BC = [(AB + AC + BC)’]’ = [(AB)’ 

= AB + AC + BC = [(AB + AC + BC)’]’ = [(AB)’ ⋅⋅ (AC)’ 

(AC)’ ⋅⋅ (BC)’]’ 

(BC)’]’ 

A

B

A

B

Sum

C

Sum

C

Carry

Carryyy

6 marca 2011

Wojciech Kucewicz

8

26

26 transistors

transistors

background image

Sumator

Sumator

Sumator

Sumator

A

A

Carry

A

B

Sum

A

B

Sum

A        C

out

A        C

out

==

Sum

CC

B

C

in

S

B

C

in

S

Carry

Carry

6 marca 2011

Wojciech Kucewicz

9

background image

Sumator

Sumator

Sumator

Sumator

11

11

00

11

22

22

00

00

6 marca 2011

Wojciech Kucewicz

10

background image

Sumator z propagowanym przeniesieniem

Sumator z propagowanym przeniesieniem

Sumator z propagowanym przeniesieniem

Sumator z propagowanym przeniesieniem

A + B

A + B

A + B

A + B

A        C

out

B

A        C

out

B

   B

   B

   B

   B

Suma

Suma

Suma

Suma

C

in

S

A        C

out

A3

A2

C

in

S

A        C

out

A3

A2

B

C

in

S

A1

A0

S4

S3

S2

B

C

in

S

A1

A0

S4

S3

S2

A        C

out

B

C

i

S

B3

B2

B1

S2

S1

S0

A        C

out

B

C

i

S

B3

B2

B1

S2

S1

S0

C

in

S

A        C

out

B0

C

in

S

A        C

out

B0

6 marca 2011

Wojciech Kucewicz

11

((Ripple

Ripple carry

carry adder

adder –– RCA)

RCA)

((Ripple

Ripple carry

carry adder

adder –– RCA)

RCA)

B

C

in

S

B

C

in

S

background image

Sumator z propagowanym 

Sumator z propagowanym przeniesieniem 

przeniesieniem 

Ripple

Ripple Carry 

Carry Adder

Adder

Sumator z propagowanym 

Sumator z propagowanym przeniesieniem 

przeniesieniem 

Ripple

Ripple Carry 

Carry Adder

Adder

1111 + 1001

1111 + 1001

1111 + 1001

1111 + 1001

1111

   

   

   

   

Suma

Suma

Suma

Suma

1111

1111

1111

1111

++++

1111

1111

1111

0000

1111

0000

0000

1111

0000

1111

1111

0000

6 marca 2011

Wojciech Kucewicz

12

((Ripple

Ripple carry

carry adder

adder –– RCA)

RCA)

((Ripple

Ripple carry

carry adder

adder –– RCA)

RCA)

0000

background image

Symbol sumatora 4

Symbol sumatora 4--bitowego

bitowego

Symbol sumatora 4

Symbol sumatora 4--bitowego

bitowego

A        C

out

B

A        C

out

B

C

in

S

A        C

out

C

in

S

A        C

out

A

A

B

C

in

S

B

C

in

S

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

A        C

out

B

C

S

A        C

out

B

C

S

3              1

B

2             

S

0

B

1

B

0

C

in

3              1

B

2             

S

0

B

1

B

0

C

in

C

in

S

A        C

out

C

in

S

A        C

out

6 marca 2011

Wojciech Kucewicz

13

B

C

in

S

B

C

in

S

background image

Sumator z antycypacją 

Sumator z antycypacją przeniesień

przeniesień

Carry 

Carry Look

Look--ahead

ahead Adder

Adder

Sumator z antycypacją 

Sumator z antycypacją przeniesień

przeniesień

Carry 

Carry Look

Look--ahead

ahead Adder

Adder

P

k

A

k

B

k

A

k

B

k

S

k

C

k

S

k

C

k

G

k

PP   

BB

  i i i

  i i i

C

k+1

C

k+1

PP

kk

= A

= A

kk

BB

k  

k  

propagowane przeniesienie

propagowane przeniesienie

G

G

kk

= A

= A

kk

⋅⋅

BB

k  

k  

generowane  przeniesienie

generowane  przeniesienie

CC = G

= G + P

+ P CC

CC

k+1

k+1

= G

= G

kk

+ P

+ P

CC

kk

CC

11

= G

= G

+ P

+ P

00

CC

00

CC

22

= G

= G

+ P

+ P

11

CC

11

= G

= G

11

+ P

+ P

11

(G

(G

00

+ P

+ P

00

CC

00

) = G

) = G

11

+ P

+ P

11

G

G

00

+ P

+ P

11

PP

00

CC

00

CC

33

= G

= G

+ P

+ P

22

CC

22

= G

= G

22

+ P

+ P

22

(G

(G

11

+ P

+ P

11

G

G

00

+ P

+ P

11

PP

00

CC

00

) ) 

6 marca 2011

Wojciech Kucewicz

14

Do wyznaczenia przeniesienia C nie jest konieczna znajomość poprzednich 

Do wyznaczenia przeniesienia C nie jest konieczna znajomość poprzednich 

przeniesień 

przeniesień (carr

(carry 

y look

look--ahead

ahead adder

adder –– CLA)

CLA)

background image

Sumator z antycypacją przeniesień

Sumator z antycypacją przeniesień

Sumator z antycypacją przeniesień

Sumator z antycypacją przeniesień

P

k

A

k

B

k

S

C

k+1

P

k

A

k

B

k

S

C

k+1

C

k

G

k

S

k

Carry 

look-ahead 

stage

C

k

G

k

S

k

Carry 

look-ahead 

stage

P

1

C

A

1

B

1

P

1

C

A

1

B

1

C

1

G

1

S

1

C

1

G

1

S

1

P

0

C

0

A

0

B

0

S

0

P

0

C

0

A

0

B

0

S

0

6 marca 2011

Wojciech Kucewicz

15

G

0

G

0

background image

Sumator przechowujący przeniesienia 

Sumator przechowujący przeniesienia 

Carry Save Adder 

Carry Save Adder -- CSA

CSA

Sumator przechowujący przeniesienia 

Sumator przechowujący przeniesienia 

Carry Save Adder 

Carry Save Adder -- CSA

CSA

A

A

11

11

00

00

+  B

+  B

00

11

00

11

  C

  C

11

00

11

11

Zadanie: 12+5+11 =28

Zadanie: 12+5+11 =28

+  C

+  C

11

00

11

11

S

S

kk

00

00

11

00

S

S

k+1

k+1

11

11

00

11

Sum

Sum

11

11

11

00

00

1   

1    0  

0   1     

1      11

11

0       0    

00 00 1          

1          0  

0   1    

1     11

1   

1    0  

0   1     

1      11

11

0       0    

00 00 1          

1          0  

0   1    

1     11

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

C

in

S

B

A    
    C

out

1      0              1      0             

1      0              1      0             00

1              

1              11

00

1      0              1      0             

1      0              1      0             00

1              

1              11

00

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

C

in

B

     
  C

1      0              1      0             

1      0              1      0             00

1              

1              11

00

1      0              1      0             

1      0              1      0             00

1              

1              11

00

S

C

ou

t

S

C

ou

t

S

C

ou

t

S

C

ou

t

S

C

ou

t

S

C

ou

t

S

C

ou

t

S

C

ou

t

6 marca 2011

Wojciech Kucewicz

16

1                      

1                      11

11

0         

 

0       00

1                      

1                      11

11

0         

 

0       00

background image

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Zadanie: odjąć  2 liczby n

Zadanie: odjąć  2 liczby n--bitowe A i B

bitowe A i B

Odejmowanie liczby B od liczby A  jest wykonywane w kodzie 

Odejmowanie liczby B od liczby A  jest wykonywane w kodzie 

uzupełnieniowym do 2, przez dodanie uzupełnienia liczby B do liczby A. 

uzupełnieniowym do 2, przez dodanie uzupełnienia liczby B do liczby A. 

Uzupełnienie może być uzyskane przez inwersję wszystkich bitów liczby B i 

Uzupełnienie może być uzyskane przez inwersję wszystkich bitów liczby B i 

p

y

y

p

j

y

y

p

y

y

p

j

y

y

dodanie 1.

dodanie 1.

A

A

00

11

11

11

11

-- BB

11

11

00

00

11

BB

U1

U1

11

00

11

11

00

+ B

+ B

U2

U2

11

00

11

11

11

6 marca 2011

Wojciech Kucewicz

17

+ B

+ B

U2

U2

11

00

11

11

11

Sum

Sum

00

00

11

11

00

background image

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

A        C

out

B

A        C

out

B

A -- BB

A -- BB

C

in

S

A        C

out

A3

A2

C

in

S

A        C

out

A3

A2

Suma binarna

Suma binarna

Suma binarna

Suma binarna

B

C

in

S

A1

A0

S4

S3

S2

B

C

in

S

A1

A0

S4

S3

S2

A        C

out

B

C

S

B3

B2

B1

S2

S1

S0

A        C

out

B

C

S

B3

B2

B1

S2

S1

S0

C

in

S

A        C

out

B0

C

in

S

A        C

out

B0

B

C

in

S

1

B

C

in

S

1

6 marca 2011

Wojciech Kucewicz

18

background image

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

A        C

out

B

A        C

out

B

A -- BB

A -- BB

1

0

1

0

0000

1111

C

in

S

A        C

out

A3

A2

C

in

S

A        C

out

A3

A2

Suma binarna

Suma binarna

Suma binarna

Suma binarna

1

1

1

1

11

1111

0000

B

C

in

S

A1

A0

S4

S3

S2

B

C

in

S

A1

A0

S4

S3

S2

1

1

1

1

1

1

1

1

1111

1111

A        C

out

B

C

S

B3

B2

B1

S2

S1

S0

A        C

out

B

C

S

B3

B2

B1

S2

S1

S0

1

0

0

1

0

0

1

1

1

1

1111

1111

C

in

S

A        C

out

B0

C

in

S

A        C

out

B0

11

1

0

1

0

1111

B

C

in

S

1

B

C

in

S

1

6 marca 2011

Wojciech Kucewicz

19

00

0000

background image

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Jeżeli na jedno wejście bramki XOR podamy 0 to na wyjście przenoszone 

Jeżeli na jedno wejście bramki XOR podamy 0 to na wyjście przenoszone 

jest drugie wejście.

jest drugie wejście.

l     d   ś  

b

k  

 

d

 

 

 

 

ś  

 

l     d   ś  

b

k  

 

d

 

 

 

 

ś  

 

Jeżeli na jedno wejście bramki XOR podamy 1 to na wyjście przenoszone 

Jeżeli na jedno wejście bramki XOR podamy 1 to na wyjście przenoszone 

jest  zaprzeczone drugie wejście.

jest  zaprzeczone drugie wejście.

B

B

B

B

B

B

B

B

1           

1            0             

0              00

11

1           

1            0             

0              00

11

0 –– Dodawanie

Dodawanie

1 -- Odejmowanie 

Odejmowanie 

0 –– Dodawanie

Dodawanie

1 -- Odejmowanie 

Odejmowanie 

1111

0000

A

3

A

2

A

1

A

0

B

3

B

2

B

1

B

0

A

3

A

2

A

1

A

0

B

3

B

2

B

1

B

0

1           

1            0             

0              00

11

1           

1            0             

0              00

11

1           

1            11

11

11

1           

1            11

11

11

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

3

2

1

0

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

3

2

1

0

1           

1            0             

0              00

11

1           

1            0             

0              00

11

0              1              

0              1              11

00

0              1              

0              1              11

00

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

6 marca 2011

Wojciech Kucewicz

20

S

4

S

3

S

2

S

1

S

0

S

4

S

3

S

2

S

1

S

0

1       

1       11

0               

0               00

00

1       

1       11

0               

0               00

00

11

0              1               1               0

0              1               1               0

11

0              1               1               0

0              1               1               0

background image

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Odejmowanie liczb

Jeżeli 

Jeżeli przeniesienie 

przeniesienie CC

out

out

w najbardziej znaczącym bloku  ma wartość 1 to 

w najbardziej znaczącym bloku  ma wartość 1 to 

wynik odejmowania jest dodatni.

wynik odejmowania jest dodatni.

l    

l    

  b d

 

 bl k     

ść     

  b d

 

 bl k     

ść     

Jeżeli przeniesienie 

Jeżeli przeniesienie CC

out

out

w najbardziej znaczącym bloku  ma wartość 0 to 

w najbardziej znaczącym bloku  ma wartość 0 to 

wynik odejmowania jest ujemny.

wynik odejmowania jest ujemny.

B

B

B

B

B

B

B

B

1           

1            11

11

11

1           

1            11

11

11

0 –– Dodawanie

Dodawanie

1 -- Odejmowanie 

Odejmowanie 

0 –– Dodawanie

Dodawanie

1 -- Odejmowanie 

Odejmowanie 

1111

0000

A

3

A

2

A

1

A

0

B

3

B

2

B

1

B

0

A

3

A

2

A

1

A

0

B

3

B

2

B

1

B

0

1           

1            11

11

11

1           

1            11

11

11

1           

1            0               

0               00

11

1           

1            0               

0               00

11

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

3

2

1

0

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

C

in

B

A  

  

3

2

1

0

0              

0              0             

0              00

00

0              

0              0             

0              00

00

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

S

   

 C

ou

t

00

1              

1              0               

0               1               0

1               0

00

1              

1              0               

0               1               0

1               0

6 marca 2011

Wojciech Kucewicz

21

S

4

S

3

S

2

S

1

S

0

S

4

S

3

S

2

S

1

S

0

00

1              

1              0               

0               1               0

1               0

00

1              

1              0               

0               1               0

1               0

background image

Sumator szeregowy

Sumator szeregowy

Sumator szeregowy

Sumator szeregowy

Clk 

Clk 

Clk 

Clk 

Q      D

Q      D

Clk 

Clk 

Q      D

Q      D

C  S

C  S

k+1

k+1

B        

B        

A     S

A     S

Rejestr przesuwny B

Rejestr przesuwny B

R j st   p

s n   S

R j st   p

s n   S

A     S

A     S

kk

Rejestr przesuwny A

Rejestr przesuwny A

Rejestr przesuwny S

Rejestr przesuwny S

Sumator równoległy wykonuje sumowanie w jednym cyklu

Sumator równoległy wykonuje sumowanie w jednym cyklu

6 marca 2011

Wojciech Kucewicz

22

Sumator równoległy wykonuje sumowanie w jednym cyklu

Sumator równoległy wykonuje sumowanie w jednym cyklu

Sumowanie 

Sumowanie w sumatorze szeregowym wymaga n cyklów 

w sumatorze szeregowym wymaga n cyklów zegara

zegara

background image

Sumator szeregowy

Sumator szeregowy

Sumator szeregowy

Sumator szeregowy

Clk 

Clk 

Clk 

Clk 

Clk 

Clk 

Q      D

Q      D

C  S

C  S

k+1

k+1

B        

B        

A     S

A     S

kk

Rejestr przesuwny B 

Rejestr przesuwny B 

Rejestr przesuwny A 

Rejestr przesuwny A 

Rejestr przesuwny S

Rejestr przesuwny S

11

11

11

11

00

11

00

11

00

11

00

11

11

11

11

11

1111

0000

1111

0000

1111

0000

1111

1111

A

A

BB

CC

S

S

k+1

k+1

S

S

44

S

S

33

S

S

22

S

S

11

S

S

00

11

11

00

11

00

11

00

11

11

00

00

11

00

11

11

00

00

00

6 marca 2011

Wojciech Kucewicz

23

11

11

11

11

11

00

00

00

00

00

11

00

11

11

00

00

00

background image

D d

ni  

D d

ni  

D d

ni  

D d

ni  

Dodawanie 

Dodawanie 

Dodawanie 

Dodawanie 

w kodzie BCD

w kodzie BCD

w kodzie BCD

w kodzie BCD

w kodzie BCD

w kodzie BCD

w kodzie BCD

w kodzie BCD

6 marca 2011

Wojciech Kucewicz

24

background image

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Zadanie

Zadanie

Dodać dwie jednocyfrowe liczby dziesiętne w kodzie BCD8421

Dodać dwie jednocyfrowe liczby dziesiętne w kodzie BCD8421

Suma z takiego dodawania zawiera się w granicach 

od 0 do 19 (9+9+1 z przeniesienia dziesiętnego)

Sumowanie można dokonać przy pomocy sumatora 4-bitowego, ale 

na wyjściu otrzymuje się sumę binarną, którą należy skorygować.

A

3

A

2

C

out

A

1

A

3

A

2

C

out

A

1

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

B

1

B

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

B

1

B

6 marca 2011

Wojciech Kucewicz

25

B

0

C

in

B

0

C

in

background image

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Korekcja sumy liczb dziesiętnych w kodzie BCD8421

Korekcja sumy liczb dziesiętnych w kodzie BCD8421

L

Suma nie skorygowana

Suma skorygowana

L

Suma nie skorygowana

Suma skorygowana

L

Dz

Suma nie skorygowana

C

out

S

3

S

2

S

1

S

0

Suma skorygowana

D     J

3

J

2

J

1

J

0

L

Dz

Suma nie skorygowana

C

out

S

3

S

2

S

1

S

0

Suma skorygowana

D     J

3

J

2

J

1

J

0

0

0  0000

0  0000

10

0  

1010

1010

11

0000

1

0  0001

0  0001

11

0  

1011

1011

11

0001

1

0  0001

0  0001

11

0  

1011

1011

11

0001

2

0  0010

0  0010

12

0  

1100

1100

11

0010

3

0  0011

0  0011

13

0  

1101

1101

11

0011

4

0  0100

0  0100

14

0  

1110

11

0100

5

0  0101

0  0101

15

0  

1111

1111

11

0101

6

0  0110

0  0110

16

11

0000

11

0110

7

0  0111

0  0111

17

11

0001

11

0111

8

0  1000

0  1000

18

11

0010

11

1000

6 marca 2011

Wojciech Kucewicz

26

8

0  1000

0  1000

18

11

0010

11

1000

9

0  1001

0  1001

19

11

0011

11

1001

background image

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

1. Suma nie wymaga korekcji, gdy jest nie większa od 9.

2. Przy sumie powyżej 9 należy wygenerować przeniesienie 

y m p y j

y yg

p

dziesiętne D

oraz odjąć liczbę 10

10 

(1010).  Odjęcie wykonuje 

się przez dodanie uzupełnienia U2:   1010 = 0110

U2

3. Funkcję przeniesienia dziesiętnego 

można wyliczyć z tablicy 

j p

g

y

y

y

Karnaugh (dla sum od 10 do 15). Dla sum powyżej 15  

przeniesienie dziesiętne D

jest równe C

out

.

S

3

S

S

1

S

0

00

01

11

10

00

0

0

1

0

D  

D  CC

+ S

+ S S

S + S

+ S S

S

01

0

0

1

0

11

0

0

1

1

D = 

D = CC

out

out

+ S

+ S

11

S

S

33

+ S

+ S

22

S

S

==

= CC

out

out

+ S

+ S

33

(S

(S

11

+ S

+ S

22

))

6 marca 2011

Wojciech Kucewicz

27

11

0

0

1

1

10

0

0

1

1

background image

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

A

3

A

3

D

A

3

A

3

D

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

S

0

J

3

J

2

J

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

S

0

J

3

J

2

J

B

2             

S

0

B

1

B

0

C

in

B

2             

S

0

B

1

B

0

C

in

J

1

J

0

D

in

B

2             

S

0

B

1

B

0

C

in

B

2             

S

0

B

1

B

0

C

in

J

1

J

0

D

in

Sumator wielodekadowy można zbudować łącząc szeregowo takie układy.

6 marca 2011

Wojciech Kucewicz

28

background image

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Dodawanie w kodzie BCD

Zadanie:

Zadanie:

Dodać dziesiętnie: 8 + 

Dodać dziesiętnie: 8 + 88 +  1 

+ 1 

(przeniesienie)

(przeniesienie)

1111

A

3

A

3

D

A

3

A

3

D

11

00

11

00

1111

00

00

00

00

1111

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

S

0

J

3

J

2

J

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

2             

S

0

A

3

A

2

C

out

A

1

A

0            

S

3

S

2

B

3             

S

1

B

S

0

J

3

J

2

J

00

00

00
11

00

00

00

00
11

00

11

00

00

00

11

11

00

00

00

11

00

00

11
00

11

00

00

11
00

11

00

11

11

00

11

11

B

2             

S

0

B

1

B

0

C

in

B

2             

S

0

B

1

B

0

C

in

J

1

J

0

D

in

B

2             

S

0

B

1

B

0

C

in

B

2             

S

0

B

1

B

0

C

in

J

1

J

0

D

in

00

00

00
11

00

00

00
11

1111

11

11

00

00

11

11

00

00

1111

Sumator wielodekadowy można zbudować łącząc szeregowo takie układy.

6 marca 2011

Wojciech Kucewicz

29

background image

k d 

k d 

k d 

k d 

Układ 

Układ 

Układ 

Układ 

Układ 

Układ 

m ż

m ż

Układ 

Układ 

m ż

m ż

mnożący

mnożący

mnożący

mnożącyyyyy

6 marca 2011

Wojciech Kucewicz

30

background image

Układ mnożący

Układ mnożący

Układ mnożący

Układ mnożący

mnożna

mnożna

ż ik

ż ik

11

00

11

00

10

10

xx

11

00

11

11

11

11

11

00

11

00

10

10

xx

11

00

11

11

11

11

11

00

11

00

10

10

xx

11

00

11

11

11

11

11

00

11

00

10

10

xx

11

00

11

11

11

11

11

00

11

00

10

10

xx

11

00

11

11

11

11

11

00

11

00

10

10

xx

11

00

11

11

11

11

mnożnik

mnożnik

xx

11

00

11

11

11

11

xx

11

00

11

11

11

11

11

00

11

00

1 x 1010

1 x 1010

xx

11

00

11

11

11

11

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

xx

11

00

11

11

11

11

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

xx

11

00

11

11

11

11

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

xx

11

00

11

11

11

11

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

00

00

00

00

0 x 1010

0 x 1010

11

00

11

00

1 x 1010

1 x 1010

00

00

00

00

0 x 1010

0 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

00

00

00

00

0 x 1010

0 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

00

11

00

1 x 1010

1 x 1010

11

11

00

11

11

11

00

110

110

6 marca 2011

Wojciech Kucewicz

31

background image

Układ mnożący

Układ mnożący

Układ mnożący

Układ mnożący

Multiplicand

Multiplicand

A

A

33

A

A

22

A

A

11

A

A

00

Multiplier

Multiplier

xx

BB

33

BB

22

BB

11

BB

00

Dwa czynniki można mnożyć w 

Dwa czynniki można mnożyć w 

następujący sposób:

następujący sposób:

A

A

33

BB

00

A

A

22

BB

00

A

A

11

BB

00

A

A

00

BB

00

++

A

A

33

BB

11

A

A

22

BB

11

A

A

11

BB

11

A

A

00

BB

11

A

A

33

BB

11

S

S

31

31

S

S

21

21

S

S

11

11

1.

1. Mnożymy przez 2 najmniej 

Mnożymy przez 2 najmniej 

znaczące bity mnożnika

znaczące bity mnożnika

22 S

j

 iki 

 

S

j

 iki 

 

A

A

33

BB

11

S

S

31

31

S

S

21

21

S

S

11

11

CC

31

31

CC

21

21

CC

11

11

++

A

A

33

BB

22

A

A

22

BB

22

A

A

11

BB

22

A

A

00

BB

22

2.

2. Sumujemy wyniki a 

Sumujemy wyniki a 

przeniesienie wpisujemy 

przeniesienie wpisujemy 

pod sumą

pod sumą

33 Mnożymy przez następny 

Mnożymy przez następny 

A

A

33

BB

22

S

S

42

42

S

S

32

32

S

S

22

22

CC

42

42

CC

32

32

CC

22

22

++

A

A

33

BB

33

A

A

22

BB

33

A

A

11

BB

33

A

A

00

BB

33

3.

3. Mnożymy przez następny 

Mnożymy przez następny 

bit mnożnika

bit mnożnika

4.

4. Sumujemy poprzednią 

Sumujemy poprzednią 

sumę  przeniesienie i 

sumę  przeniesienie i 

++

A

A

33

BB

33

A

A

22

BB

33

A

A

11

BB

33

A

A

00

BB

33

A

A

33

BB

33

S

S

53

53

S

S

43

43

S

S

33

33

++

CC

53

53

CC

43

43

CC

33

33

sumę, przeniesienie i 

sumę, przeniesienie i 

bieżący wynik mnożenia a 

bieżący wynik mnożenia a 

przeniesienie wpisujemy 

przeniesienie wpisujemy 

pod sumą

pod sumą

6 marca 2011

Wojciech Kucewicz

32

S

S

77

S

S

66

S

S

55

S

S

44

S

S

33

S

S

22

S

S

11

S

S

00

p

ą

p

ą

5.

5. Powtarzamy punkty 3 i 4

Powtarzamy punkty 3 i 4

background image

Układ mnożący

Układ mnożący

Układ mnożący

Układ mnożący

Multiplicand

Multiplicand

11

00

11

00

Multiplier

Multiplier

xx

11

00

11

11

Przykład mnożenia 2 liczb 

Przykład mnożenia 2 liczb 

44--bitowych (10 x 11)

bitowych (10 x 11)

11

00

11

00

++

11

00

11

00

11

11

11

11

11

11

11

11

00

00

00

00

++

00

00

00

00

00

11

11

11

00

00

00

00

++

11

00

11

00

++

11

00

11

00

11

00

00

11

++

00

11

00

6 marca 2011

Wojciech Kucewicz

33

00

11

11

00

11

11

11

00

background image

Układ mnożący

Układ mnożący

Układ mnożący

Układ mnożący

Należy zauważyć, że mnożenie binarne jest odpowiednikiem operacji 

Należy zauważyć, że mnożenie binarne jest odpowiednikiem operacji 

logicznej AND

logicznej AND

A

A

BB

A ⋅⋅ BB AND

AND

00

00

00

00

A

A

BB

⋅⋅ BB

00

11

00

00

11

00

00

00

BB

11

11

11

11

6 marca 2011

Wojciech Kucewicz

34

background image

Szeregowo

Szeregowo--równoległy 

równoległy 

k d 

k d 

Szeregowo

Szeregowo--równoległy 

równoległy 

k d 

k d 

układ mnożący

układ mnożący

układ mnożący

układ mnożący

6 marca 2011

Wojciech Kucewicz

35

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Układ mnożący szeregowo

Układ mnożący szeregowo--równoległy składa się z:

równoległy składa się z:

••

Dwóch szeregowych rejestrów przesuwnych, w których umieszcza się czynniki,

Dwóch szeregowych rejestrów przesuwnych, w których umieszcza się czynniki,

••

Bramek AND realizujących mnożenia,

Bramek AND realizujących mnożenia,

S

t

 

j

 

tk

 iki ż i

S

t

 

j

 

tk

 iki ż i

owy rejestr  wny

••

Sumatora sumującego cząstkowe wyniki mnożenia

Sumatora sumującego cząstkowe wyniki mnożenia

••

Rejestru równoległego do zapamiętywania sum cząstkowych 

Rejestru równoległego do zapamiętywania sum cząstkowych 

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

36

Równoległy rejestr 

przesuwny

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Zadanie:

Zadanie:

Pomnożyć liczbę 1010 przez 1101

Pomnożyć liczbę 1010 przez 1101

owy rejestr  wny

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

37

Równoległy rejestr 

przesuwny

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

11

00

11

00

11

11

11

11

11

11

11

11

00

11

00

Pierwszy cykl

Pierwszy cykl

owy rejestr  wny

11
00

11

00

11

00

00

00

00

00

11

00

11

00

AND

AND

Register

Register

Adder

Adder

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

0      

0      00

00

00

1      0     1       0

1      0     1       0

11
11

0      

0      00

00

00

1      0     1       0

1      0     1       0

0     

0     00

00

00

00

00

00

00

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

38

Równoległy rejestr 

przesuwny

0      

0      00

00

00

00

00

00

00

0      

0      00

00

00

1      0     1       0

1      0     1       0

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

11

00

11

00

00

11

11

11

11

11

11

11

11

00

11

00

00

Drugi cykl

Drugi cykl

owy rejestr  wny

owy rejestr  wny

00
11

00
11

11

00

11

00

00

11

00

11

00

11

11

11

11

00

AND

AND

Register

Register

Adder

Adder

Szeregowy rejestr przesuwny

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

Szereg

o

przesu

w

0      

0      00

00

1      0      1     0       0

1      0      1     0       0

0      

0      00

00

1      0      1     0       0

1      0      1     0       0

00
11

00
11

0      

0      00

00

1      0      1     0       0

1      0      1     0       0

0      

0      00

00

1      0      1     0       0

1      0      1     0       0

0     

0     00

00

00

1      0     1       0

1      0     1       0

0     

0     00

00

00

1      0     1       0

1      0     1       0

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

39

Równoległy rejestr 

przesuwny

0      

0      00

00

00

1      0     1       0

1      0     1       0

0      

0      00

00

00

1      0     1       0

1      0     1       0

0      

0      00

00

1       

 

 1      11

11

1       0

1       0

0      

0      00

00

1       

 

 1      11

11

1       0

1       0

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

11

00

11

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

Trzeci cykl

Trzeci cykl

owy rejestr  wny

00
00

00

00

00

00

00

11

11

11

11

00

11

11

11

11

00

AND

AND

Register

Register

Adder

Adder

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

0      

0      00

1      0      1      0     0       0

1      0      1      0     0       0

11
00

0      

0      00

00

00

00

00

0       0

0       0

0     

0     00

00

1       

 

 1      11

11

1       0

1       0

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

40

Równoległy rejestr 

przesuwny

0      

0      00

00

1       

 

 1      11

11

1       0

1       0

0      

0      00

00

1       

 

 1      11

11

1       0

1       0

background image

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

Szeregowo

Szeregowo--równoległy układ mnożący

równoległy układ mnożący

11

00

11

00

00

00

00

11

11

11

11

11

11

11

11

00

11

00

00

00

00

Czwarty cykl

Czwarty cykl

Mnożenie 2 liczb 

Mnożenie 2 liczb nn--bitowych

bitowych

wymaga n cykli zegarowych

wymaga n cykli zegarowych

owy rejestr  wny

00
00

11

00

11

00

00

00

00

11

11

11

11

00

11

11

00

11

11

11

00

AND

AND

Register

Register

Adder

Adder

Szeregowy rejestr przesuwny

Szereg

o

przesu

w

0      1      0      1      0      0     0       0

0      1      0      1      0      0     0       0

00
11

0      1      0      1      0      

0      1      0      1      0      00

0       0

0       0

0     

0     00

00

1       

 

 1      11

11

1       0

1       0

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in  

S

B

A C

ou

t

C

in

  

S

B

A C

ou

t

Sumator

6 marca 2011

Wojciech Kucewicz

41

Równoległy rejestr 

przesuwny

0      

0      00

00

1       

 

 1      11

11

1       0

1       0

0      1      1      0      1      

0      1      1      0      1      11

1       0

1       0

background image

Szeregowy 

Szeregowy 

Szeregowy 

Szeregowy 

g y

g y

układ mnożący

układ mnożący

g y

g y

układ mnożący

układ mnożący

m

ą y

m

ą y

m

ą y

m

ą y

6 marca 2011

Wojciech Kucewicz

42

background image

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Clk 

Clk 

C  S

C  S

k+1

k+1

        

        

Rejestr przesuwny X

Rejestr przesuwny X

Q      D

Q      D

B        

B        

A     S

A     S

kk

Rejestr przesuwny Y

Rejestr przesuwny Y

Rejestr przesuwny

Rejestr przesuwny

nReset

nReset

nReset

nReset

Liczby mnożone umieszczone 

Liczby mnożone umieszczone sa

sa w dwóch rejestrach przesuwnych. 

w dwóch rejestrach przesuwnych. 

Mnożna jest mnożona przez kolejne bity mnożnika, a wyniki są szeregowo dodawane w 

Mnożna jest mnożona przez kolejne bity mnożnika, a wyniki są szeregowo dodawane w 

t

 

i

 

 

jś i

 

j t

 

 

t

 

i

 

 

jś i

 

j t

 

 

6 marca 2011

Wojciech Kucewicz

43

sumatorze i zapisywane w wyjściowym rejestrze przesuwnym. 

sumatorze i zapisywane w wyjściowym rejestrze przesuwnym. 

Wejście bramki resetującej jest podłączone do 

Wejście bramki resetującej jest podłączone do nn--bitu

bitu rejestru wyjściowego, gdzie n 

rejestru wyjściowego, gdzie n ––

ilość bitów mnożnej.

ilość bitów mnożnej.

background image

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Clk 

Clk 

X

X

11

00

11

000000

1111

0000

1111

C  S

C  S

k+1

k+1

        

        

Rejestr przesuwny X

Rejestr przesuwny X

Q      D

Q      D

YY

11

00

11

11

1111

0000111100001111

B        

B        

A     S

A     S

kk

Rejestr przesuwny Y

Rejestr przesuwny Y

Rejestr przesuwny

Rejestr przesuwny

0000

0000

0000

0000

0  0  0  0  0  0  0  0

0  0  0  0  0  0  0  0

0  0  0  0  0  0  0  0

0  0  0  0  0  0  0  0

1111

1111

1  0

1  0

0  0  0  0  0  0

0  0  0  0  0  0

1  0

1  0

0  0  0  0  0  0

0  0  0  0  0  0

0000

0000

0  1  0

0  1  0

0  0  0  0  0

0  0  0  0  0

0  1  0

0  1  0

0  0  0  0  0

0  0  0  0  0

1111

1111

1  0  1

1  0  1 00

0  0  0  0

0  0  0  0

1  0  1

1  0  1 00

0  0  0  0

0  0  0  0

0  1  0  1

0  1  0  1 00

0  0  0

0  0  0

0  1  0  1

0  1  0  1 00

0  0  0

0  0  0

BB

A

A

CC

S

S

k+1

k+1

S

S

k1

k1

S

S

k2

k2

S

S

k3

k3

S

S

k4

k4

00

00

00

00

00

nReset

nReset

nReset

nReset

1111

0000

00

00

00

00

00

11

00

00

00

11

00

00

00

00

00

00

11

00

6 marca 2011

Wojciech Kucewicz

44

11

00

00

00

11

00

11

00

00

11

00

11

background image

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Clk 

Clk 

X

X

11

00

11

000000

1111

0000

1111

C  S

C  S

k+1

k+1

        

        

Rejestr przesuwny X

Rejestr przesuwny X

Q      D

Q      D

YY

11

00

11

11

1111

0000111100001111

0  1  0  1

0  1  0  1

00

0  0  0

0  0  0

0  1  0  1

0  1  0  1

00

0  0  0

0  0  0

B        

B        

A     S

A     S

kk

Rejestr przesuwny Y

Rejestr przesuwny Y

Rejestr przesuwny

Rejestr przesuwny

1111

1111

1111

0000

11 0  1  0

0  1  0

00

0  0  0

0  0  0

11 0  1  0

0  1  0

00

0  0  0

0  0  0

1111

1111

1  1

1  1 0  1

0  1

00

0  0  0

0  0  0

1  1

1  1 0  1

0  1

00

0  0  0

0  0  0

0000

1111

1  1  1

1  1  1 00

00

0  0  0

0  0  0

1  1  1

1  1  1 00

00

0  0  0

0  0  0

1111

1111

1  1  1

1  1  1 11

00

0  0  0

0  0  0

1  1  1

1  1  1 11

00

0  0  0

0  0  0

0  1  1  1

0  1  1  1

11 00

0  0

0  0

0  1  1  1

0  1  1  1

11 00

0  0

0  0

0000

0000

1111

1111

0000

0000

BB

A

A

CC

S

S

k+1

k+1

S

S

k1

k1

S

S

k2

k2

S

S

k3

k3

S

S

k4

k4

00

11

00

11

nReset

nReset

nReset

nReset

1111

1111000011110000

00

00

00

11

00

00

11

00

11

00

11

00

00

00

11

11

00

11

00

11

00

00

11

11

11

00

6 marca 2011

Wojciech Kucewicz

45

00

11

00

00

11

11

11

00

11

00

00

00

11

11

11

11

00

11

11

11

background image

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Clk 

Clk 

X

X

11

00

11

000000

1111

0000

1111

C  S

C  S

k+1

k+1

        

        

Rejestr przesuwny X

Rejestr przesuwny X

Q      D

Q      D

YY

11

00

11

11

0000

0000000000000000

0  1  1  1

0  1  1  1

11 00

0  0

0  0

0  1  1  1

0  1  1  1

11 00

0  0

0  0

B        

B        

A     S

A     S

kk

Rejestr przesuwny Y

Rejestr przesuwny Y

Rejestr przesuwny

Rejestr przesuwny

1111

1111

1111

0000

11 0  1  1

0  1  1

11 00

0  0

0  0

11 0  1  1

0  1  1

11 00

0  0

0  0

0000

1111

1  1

1  1 0  1

0  1

11 00

0  0

0  0

1  1

1  1 0  1

0  1

11 00

0  0

0  0

0000

1111

1  1  1

1  1  1 00

11 00

0  0

0  0

1  1  1

1  1  1 00

11 00

0  0

0  0

0000

0000

0  1  1

0  1  1 11

11 00

0  0

0  0

0  1  1

0  1  1 11

11 00

0  0

0  0

0  0  1  1

0  0  1  1

11 11 00

00

0  0  1  1

0  0  1  1

11 11 00

00

0000

0000

BB

A

A

CC

S

S

k+1

k+1

S

S

k1

k1

S

S

k2

k2

S

S

k3

k3

S

S

k4

k4

00

11

11

11

nReset

nReset

nReset

nReset

1111

11110000

00

00

11

00

00

11

00

11

11

00

11

00

00

11

11

00

11

00

11

00

00

11

11

11

00

6 marca 2011

Wojciech Kucewicz

46

00

11

00

00

11

11

11

00

00

00

00

00

00

11

11

11

00

00

11

11

background image

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Szeregowy układ mnożący

Clk 

Clk 

X

X

11

00

11

000000

1111

0000

1111

C  S

C  S

k+1

k+1

        

        

Rejestr przesuwny X

Rejestr przesuwny X

Q      D

Q      D

YY

11

00

11

11

1111

1111

0000111100001111

0  0  1  1

0  0  1  1

1  1  0

1  1  0

00

0  0  1  1

0  0  1  1

1  1  0

1  1  0

00

B        

B        

A     S

A     S

kk

Rejestr przesuwny Y

Rejestr przesuwny Y

Rejestr przesuwny

Rejestr przesuwny

1111

1111

1111

0000

11 0  0  1

0  0  1

11 1    0

1  0

00

11 0  0  1

0  0  1

11 1    0

1  0

00

1111

0000

0  1

0  1 0  0

0  0

11 1    0

1  0

00

0  1

0  1 0  0

0  0

11 1    0

1  0

00

0000

1111

1  0  1

1  0  1 00

11 1    0

1  0

00

1  0  1

1  0  1 00

11 1    0

1  0

00

1111

1111

1  1  0

1  1  0 11

11 1    0

1  0

00

1  1  0

1  1  0 11

11 1    0

1  0

00

0  1  1  0

0  1  1  0

1  1  1

1  1  1 00

0  1  1  0

0  1  1  0

1  1  1

1  1  1 00

0000

0000

BB

A

A

CC

S

S

k+1

k+1

S

S

k1

k1

S

S

k2

k2

S

S

k3

k3

S

S

k4

k4

00

00

11

11

nReset

nReset

nReset

nReset

1111

11110000

00

00

00

11

00

00

11

00

00

11

11

11

00

11

00

11

00

00

00

00

11

00

11

00

11

00

Mnożenie 2 liczb 

Mnożenie 2 liczb nn--bitowych

bitowych

wymaga n(n+1) cykli zegarowych

wymaga n(n+1) cykli zegarowych

6 marca 2011

Wojciech Kucewicz

47

00

00

11

00

11

00

11

00

11

00

00

00

11

11

00

11

00

11

11

00

wymaga n(n+1) cykli zegarowych

wymaga n(n+1) cykli zegarowych

background image

Równoległy 

Równoległy 

Równoległy 

Równoległy 

g y

g y

układ mnożący

układ mnożący

g y

g y

układ mnożący

układ mnożący

m

ą y

m

ą y

m

ą y

m

ą y

6 marca 2011

Wojciech Kucewicz

48

background image

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

11

00

11

00

11

00

11

11

00

00

00

00

00

00

00

11

11

00

00

11

11

00

00

00

0000

0000

0000

0000

1111

0000

1111

0000

Adder

Adder

00

00

00

00

00

00

00

11

11

00

00

11

11

00

00

00

0000

0000

0000

1111

1111

1111

1111

0000

Adder

Adder

00

00

00

00

00

00

11

00

11

00

11

00

11

00

00

00

00

00

00

11

00

00

11

11

11

00

11

00

11

00

00

00

00

00

00

11

11

11

11

00

6 marca 2011

Wojciech Kucewicz

49

Adder

Adder

00

00

00

11

00

00

11

11

11

00

11

00

11

00

00

00

0000

1111

1111

0000

1111

1111

1111

0000

background image

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

W równoległym układzie mnożącym wykorzystuje się  komórkę mnożącą 

W równoległym układzie mnożącym wykorzystuje się  komórkę mnożącą 

złożoną z bramki AND  i komórki sumatora

złożoną z bramki AND  i komórki sumatora

C

in

  

S

B

A C

ou

t

+1

C

in

  

S

B

A C

ou

t

+1

C

k+

C

k+

A, B 

A, B –– wejścia  bitów liczb A i B.

wejścia  bitów liczb A i B.

S

S

kk

–– wejście sumy cząstkowej

wejście sumy cząstkowej

S

S

k+1

k+1

–– wyjście sumy 

wyjście sumy cząskowej

cząskowej

CC

–– wejście przeniesienia

wejście przeniesienia

6 marca 2011

Wojciech Kucewicz

50

CC

kk

–– wejście przeniesienia

wejście przeniesienia

CC

k+1

k+1

–– wyjście przeniesienia

wyjście przeniesienia

background image

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

BB

00

BB

00

A

A

33

A

A

2

A

1

A

0

A

A

kk

BB

kk

BB

11

BB

11

S

S

kk

CC

kk

S

S

kk

CC

kk

A

A

kk

BB

kk

BB

22

BB

22

CC

k+1

k+1

S

S

k+1

k+1

CC

k+1

k+1

S

S

k+1

k+1

BB

33

BB

33

BB

33

BB

33

6 marca 2011

Wojciech Kucewicz

51

S

S

77

S

S

6                 

6                 

S

S

55

S

S

44

S

S

33

S

S

22

S

S

11

S

S

00

S

S

77

S

S

6                 

6                 

S

S

55

S

S

44

S

S

33

S

S

22

S

S

11

S

S

00

background image

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

Równoległy układ mnożący

11

00

11

00

1111

1             0

1             0

1              0

11

11

11

11

1111

S

S

kk

CC

kk

S

S

kk

CC

kk

1                        0                      1                       0

1                        0                      1                       0

1                        0                      1                       0

1                        0                      1                       0

11

11

11

11

00

11

11

11

0000

CC

k+1

k+1

S

S

k+1

k+1

CC

k+1

k+1

S

S

k+1

k+1

0                       0                      0                       0

0                       0                      0                       0

0                       0                      0                       0

0                       0                      0                       0

00

11

11

11

00

11

00

11

1                        0                      1                       0

1                        0                      1                       0

1                        0                      1                       0

1                        0                      1                       0

11

11

00

11

1111

6 marca 2011

Wojciech Kucewicz

52

0        1

0        1

1              0              1              1             1              0

1              0              1              1             1              0

0        1

0        1

1              0              1              1             1              0

1              0              1              1             1              0

Mnożenie 2 liczb 

Mnożenie 2 liczb nn--bitowych

bitowych wymaga 1 cyklu zegarowego

wymaga 1 cyklu zegarowego

background image

KK mp

t

mp

t

KK mp

t

mp

t

KKomparator

omparator

KKomparator

omparator

pppp

6 marca 2011

Wojciech Kucewicz

53

background image

Komparator

Komparator

Komparator

Komparator

A

A

BB

A>B

A>B

A<B

A<B

A=B

A=B

00

00

00

00

11

00

11

00

11

00

11

00

11

00

00

11

00

11

00

00

11

11

00

00

11

A<B

A<B

BB

A>B

A>B

BB

A=B

A=B

BB

BB

A

A

00

11

00

00

11

11

00

00

BB

A

A

00

11

00

00

00

11

11

00

BB

A

A

00

11

00

11

00

11

00

11

6 marca 2011

Wojciech Kucewicz

54

AB + A’B’ 

AB + A’B’ Î

Î

Ex

Ex--NOR

NOR

AB’ 

AB’ Î

Î

AND

AND

A’B 

A’B Î

Î

AND

AND

background image

Komparator

Komparator

Komparator

Komparator

A=B

A=B

BB

00

11

AB + A’B’ 

AB + A’B’ Î

Î

Ex

Ex--NOR

NOR

A

A

00

11

00

11

00

11

00

11

Ex

Ex--NOR = Not 

NOR = Not ExOR

ExOR

A              

A              A>B

A>B

A

A

n+1

n+1

=B

=B

n+1    

n+1    

A=B

A=B

A

B

A

B

AB + 

AB + A’B

A’B’ = (AB’ + 

’ = (AB’ + A’B

A’B)’ = (AB’)’ 

)’ = (AB’)’ ⋅⋅ ((A’B

A’B)’)’

B             

B             A<B

A<B

A

B

A

B

A

B

A

B

A<B

A<B

A>B

A>B

A>B

A>B

A>B

A>B

A=B

A=B

BB

A

A

00

11

00

00

11

11

00

00

BB

A

A

00

11

00

00

00

11

11

00

A=B

A<B

A=B

A<B

A=B

A<B

A

n+1

=B

n+1

A=B

A<B

A

n+1

=B

n+1

6 marca 2011

Wojciech Kucewicz

55

55

AB’ 

AB’ Î

Î

AND

AND

A’B 

A’B Î

Î

AND

AND

A<B

A<B

A<B

A<B

background image

Komparator

Komparator

Komparator

Komparator

11

11

11

11

1111

00

11

00

00

11

00

00

11

00

00

11

00

1111

A

B

11

11

00

11

11

00

00

11

00

00

11

00

00

00

00

00

00

00

0000

00

11

00

11

00

00

00

00

00

00

00

00

00

00

00

00

00

00

11

00

11

11

00

11

00

00

00

00

00

00

0000

11

11

11

11

00

00

00

00

00

00

A

A

11

11

11

11

BB

11

00

00

11

6 marca 2011

Wojciech Kucewicz

56

BB

11

00

00

11

A>B

A>B

background image

Komparator

Komparator

Komparator

Komparator

11

11

11

11

1111

00

11

00

00

11

00

00

00

00

00

00

00

0000

A

B

11

00

11

11

00

11

00

00

00

00

00

00

00

00

00

00

00

00

1111

11

00

11

00

11

00

11

00

11

00

00

11

00

00

11

00

11

00

00

11

11

00

11

11

00

00

00

00

00

00

0000

A

A

11

00

00

11

BB

11

11

11

11

11

11

11

11

00

00

00

00

00

00

6 marca 2011

Wojciech Kucewicz

57

BB

11

11

11

11

A<B

A<B

background image

Komparator

Komparator

Komparator

Komparator

11

11

11

11

1111

00

11

00

00

11

00

00

00

00

00

00

00

0000

A

B

11

00

00

11

00

00

00

00

11

00

00

11

00

00

00

00

00

00

0000

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

11

00

11

00

00

11

00

00

11

00

11

00

00

11

00

1111

11

11

11

11

00

11

00

00

11

00

A

A

11

00

00

11

BB

11

00

00

11

6 marca 2011

Wojciech Kucewicz

58

BB

11

00

00

11

A=B

A=B

background image

Komparator

Komparator

Komparator

Komparator

Aby porównać dwie liczby można je odjąć 

Aby porównać dwie liczby można je odjąć 

od 

od siebie.  

siebie.  

A > B gdy wynik będzie dodatni (

A > B gdy wynik będzie dodatni (CC

out

out

= 1)

= 1)

A = B gdy wynik będzie 0

A = B gdy wynik będzie 0

A < B gdy wynik będzie ujemny (

A < B gdy wynik będzie ujemny (CC

out

out

= 0)

= 0)

6 marca 2011

6 marca 2011

Wojciech Kucewicz

59

background image

Komparator

Komparator

Komparator

Komparator

A        C

out

B

A        C

out

B

11
00

11
00

1111

C

in

S

A        C

out

A3

A2

C

in

S

A        C

out

A3

A2

11
00

11
00

0000

0000

B

C

in

S

A1

A0

B

C

in

S

A1

A0

00
11

00
11

1111

0000

1111

A        C

out

B

C

S

B3

B2

B1

A=B

A        C

out

B

C

S

B3

B2

B1

A=B

11
00
00

11
00
00

00
11

00
11

0000

Jeżeli liczby są równe to na wszystkich 

Jeżeli liczby są równe to na wszystkich 

wyjściach S będzie  0.

wyjściach S będzie  0.

C

in

S

A        C

out

B0

C

in

S

A        C

out

B0

A

A

11

00

00

11

BB

11

00

00

11

00
11

00
11

11
00

11
00

0000

6 marca 2011

6 marca 2011

Wojciech Kucewicz

60

B

C

in

S

1

B

C

in

S

1

BB

A = B

A = B

0000

0000

background image

Komparator

Komparator

Komparator

Komparator

11
00

11
00

1111

11
11

11
11

1111

0000

1111

11
11

11
11

1111

1111

0000

11
00
00

11
00
00

11
11

11
11

1111

Jeżeli A > B to wyjście 

Jeżeli A > B to wyjście CC

out

out

najwyższego bitu będzie 1.

najwyższego bitu będzie 1.

A

A

11

11

11

11

BB

11

00

00

11

00
11

00
11

11
00

11
00

1111

6 marca 2011

6 marca 2011

Wojciech Kucewicz

61

BB

A > B

A > B

0000

0000

background image

Komparator

Komparator

Komparator

Komparator

11
00

11
00

0000

1111

11
00

11
00

0000

1111

0000

00
11

00
11

0000

0000

0000

11
11
11

11
11
11

00
00

00
00

1111

0000

Jeżeli A < B to wyjście 

Jeżeli A < B to wyjście CC

out

out

najwyższego bitu będzie 0

najwyższego bitu będzie 0

A

A

11

00

00

11

BB

11

11

11

11

11
11

11
11

11
00

11
00

1111

najwyższego bitu będzie 0.

najwyższego bitu będzie 0.

6 marca 2011

Wojciech Kucewicz

62

BB

A < B

A < B

0000

0000