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
Sumator
Sumator
Sumator
Sumator
Sumator
Sumator
Sumator
Sumator
6 marca 2011
Wojciech Kucewicz
3
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).
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
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
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
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
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
Sumator
Sumator
Sumator
Sumator
11
11
00
11
22
22
00
00
6 marca 2011
Wojciech Kucewicz
10
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
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
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
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
k
k
CC
kk
CC
11
= G
= G
0
0
+ P
+ P
00
CC
00
CC
22
= G
= G
1
1
+ 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
2
2
+ 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)
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
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
A
C
C
in
B
A
C
C
in
B
A
C
C
in
B
A
C
C
in
B
A
C
C
in
B
A
C
C
in
B
A
C
C
in
B
A
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
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
Odejmowanie liczb
Odejmowanie liczb
Odejmowanie liczb
Odejmowanie liczb
A C
out
B
A C
out
B
A
A -- BB
A
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
Odejmowanie liczb
Odejmowanie liczb
Odejmowanie liczb
Odejmowanie liczb
A C
out
B
A C
out
B
A
A -- BB
A
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
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
0 –– Dodawanie
Dodawanie
1
1 -- Odejmowanie
Odejmowanie
0
0 –– Dodawanie
Dodawanie
1
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
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
0 –– Dodawanie
Dodawanie
1
1 -- Odejmowanie
Odejmowanie
0
0 –– Dodawanie
Dodawanie
1
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
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
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
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
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
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
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
D oraz odjąć liczbę 10
10
(1010). Odjęcie wykonuje
się przez dodanie uzupełnienia U2: 1010 = 0110
U2
3. Funkcję przeniesienia dziesiętnego D
D 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
D jest równe C
out
.
S
3
S
2
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
3
3
==
=
= 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
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
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
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
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
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
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
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
A ⋅⋅ BB AND
AND
00
00
00
00
A
A
BB
A
A ⋅⋅ BB
00
11
00
00
11
00
00
00
BB
11
11
11
11
6 marca 2011
Wojciech Kucewicz
34
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
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
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
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
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
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
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
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
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
i
jś i
j t
t
i
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.
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
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
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
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
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
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
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
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
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
KK mp
t
mp
t
KK mp
t
mp
t
KKomparator
omparator
KKomparator
omparator
pppp
6 marca 2011
Wojciech Kucewicz
53
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
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
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
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
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
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
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
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
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