Giáo trình Kỹ thuật số - Chương 6: Mạch làm toán - Nguyễn Trung Lập

_________________________________________________________________Chương 6  
Mch làm toán VI - 1  
CHƯƠNG 6: MCH LÀM TOÁN  
– SBÙ  
– PHÉP TRSNHPHÂN DÙNG SBÙ 1  
– PHÉP TRSNHPHÂN DÙNG SBÙ 2  
– PHÉP TOÁN VI SCÓ DU  
– MCH CNG  
˜ Bán phn  
˜ Toàn phn  
˜ Cng hai snhiu bít  
– MCH TRỪ  
˜ Bán phn  
˜ Toàn phn  
˜ Trhai snhiu bit  
˜ Cng & trhai snhiu bit trong mt mch  
– MCH NHÂN  
˜ Mch nhân cơ bn  
˜ Mch nhân ni tiếp - song song đơn gin  
– MCH CHIA  
˜ Mch chia phc hi sbchia  
˜ Mch chia không phc hi sbchia  
___________________________________________________________________________  
____  
6.1 Sbù  
Cho sdương N, n bit, các sbù ca N được định nghĩa:  
Sbù 2: (N)2 = 2n - N (s2n gm bit 1 và n bit 0 theo sau)  
Sbù 1: (N)1 = (N)2 -1 = 2n - N - 1  
Thí d1: N = 1010  
Sbù 2 ca N là  
(N)2 = là 10000 - 1010 = 0110  
Và sbù 1 ca N là (N)1 = 0110 - 1 = 0101  
Thí d2: N = 110010101100 (N)2 = 001101010100 và (N)1 = 001101010011  
Nhn xét:  
- Để có sbù 2 ca mt s, bt đầu tbit LSB (tn cùng bên phi) đi ngược vbên  
trái, các bit sginguyên cho đến lúc gp bit 1 đầu tiên, sau đó đảo tt ccác bit còn li.  
- Để có sbù 1 ca mt s, ta đảo tt ccác bit ca số đó.  
Tcác nhn xét trên ta có ththc hin mt mch to sbù 1 và 2 sau đây:  
(H 6.1)  
- Khi C=1, B là sbù 1 ca b (B1 và b1 là bit LSB)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 2  
- Khi C=0, B là sbù 2 ca b.  
Tht vy, các biu thc logic ca B theo b và C là:  
B1 = b1 C  
B2 = b2 (C + b1)  
B3 = b3 (C + b1 + b2 )  
- Khi C=1 , các ngã ra cng OR luôn bng 1, các cng EX - OR luôn có mt ngã vào  
bng 1 nên ngã ra là đảo ca ngã vào còn li, ta được:  
B1 = b1 1 = b1  
B2 = b2 (1+ b1) = b2 1 = b2  
B3 = b3 (1+ b1 + b2 ) = b3 1 = b3  
- Khi C=0  
B1 = b1 0 = b1  
B2 = b2 (0+ b1) = b2 b1  
= b2 nếu b1=0 và b2 nếu b1 = 1  
B3 = b3 (0 + b1 + b2 ) = b3 (b1 + b2 )  
= b3 nếu b1 và b2 đều =0  
= b3 nếu (b1 và/hoc b2 = 1)  
Như vy tt ccác bit sau bit 1 thnht tính tbit LSB đều bị đảo và B chính là sbù  
2 ca b  
Chúng ta cũng có ththiết kế mch to sbù hai bng cách dùng FF RS, có ngã vào  
R, S tác động mc cao, kết hp vi các cng logic như (H 6.2). Mch này dùng khá tin li  
khi cn thc hin bài toán cng và trnhiu bit kiu ni tiếp.  
(H 6.2)  
Bt đầu, Preset mch để ngã ra Q = 1, cng G3 đóng, G2 m, cho sB đi qua mà  
không bị đảo cho đến khi có bit 1 đầu tiên đến, cng G1 mcho xung đồng hồ đi qua, FF RS  
được reset, Q = 0, Q = 1, G2 đóng, G3 m, sB đi qua cng G2 và bị đảo. ngã ra được số  
bù 2 ca B.  
6.2 Phép trsnhphân dùng sbù 1:  
Cho hai sdương A và B có n bit (nếu sbit khác nhau, ta thêm s0 vào , mà không  
làm thay đi tr, để chai có cùng sbit)  
a/ - AB  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 3  
Kết quA-B là s0 hoc âm, phép tính được thc hin như sau:  
Tính A - B:  
A - B = A-B+2n-1-2n+1  
= A+(2n -B -1 ) - 2n+1  
= A+(B )1 - 2n+1  
= - {2n - [A+(B )1] -1}  
= - [A+(B )1]1  
Vy A-B có được bng cách cng sbù 1 ca B vào A ri ly bù 1 ca tng và thêm  
du tr. Như vy để thc hin phép tính trta chcn dùng phép cng và phép đảo  
Thí d3 : Tính 1001 - 11010 dùng sbù 1  
Ta có  
A = 01001 (thêm s0 vào để có 5 bit như sB  
B = 11010 (B)1 = 00101  
A-B = - [A+(B )1]1 = - (01001+00101) =- (01110)1  
= - (10001)  
Trong hthp phân, đây là bài toán 910 - 2610 = -1710  
Để thy du trừ được nhn ra như thế nào, ta viết li phép toán:  
Không có stràn (hay stràn =0) là du hiu ca kết quâm (hoc =0) và ta phi ly  
bù 1, thêm du trừ để đọc kết qucui cùng: (01110)1 = - 10001  
Thí d4: Tính 10110 - 10110  
A = 10110 và B = 10110 (B)1 = 01001  
Trong phép cng đầu tiên không có stràn, kết quxem như sâm (hoc =0) ly bù 1  
ca kết quta được A-B =00000.  
b/ - A >B  
Kết quA-B là sdương, phép tính được thc hin theo qui tc sau:  
Cng A vi (B)1 ri thêm 1 và không quan tâm ti snhcui cùng  
Thí d5: Tính 110101 - 100110 dùng sbù 1  
A = 110101 và B = 100110 (B)1 = 011001  
Bqua snhcui cùng, ta được kết quA-B =001111.  
Trong hthp phân đó là bài toán 5310 - 3810 = 1510.  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 4  
Trong phép tính có stràn chng tkết qulà sdương. S1 cng thêm vào xem như  
ly tsnhớ đem qua.  
Tóm li, để thc hin bài toán tr, A-B, ta cng A vi bù 1 ca B. Da vào scó mt  
hay không ca stràn mà có bin pháp xlý kết qu:  
- Nếu stràn =0, kết qulà sâm (hoc =0) , ta phi ly bù 1 ca kết quvà thêm du  
- để đọc.  
- Nếu stràn =1, ta cng thêm 1 vào để có kết qucui cùng (bqua bit tràn) là mt  
sdương.  
6.3 phép trsnhphân dùng sbù 2:  
Phép toán dùng sbù 1 có mt bt tin là ta phi thêm bài toán cng 1 vào, để tránh  
vic này ta dùng phép toán vi sbù 2  
Cho hai sdương A và B có n bit  
a/ - A<B  
Tính A-B:  
A-B = A-B+2n-2n  
= A+(2n - B ) - 2n  
= A+(B )2 - 2n  
= - {2n - [A+(B )2] }  
= - [A+(B )2]2  
Vy A-B có được bng cách cng sbù 2 ca B vào A ri ly bù 2 ca tng và thêm  
du tr. Như vy ta đã chuyn phép tính trthành phép cng  
Thí d6: Tính 1001 - 11010 dùng sbù 2  
Ta có A = 01001 (thêm s0 vào để có 5 bit như sB)  
B = 11010 (N2)2 = 00110  
A-B = - [A+(B )2]2 = - (01001+00110) =- (01111)2  
= - (10001)  
Ta được li kết qutrên  
Để thy du trừ được nhn ra như thế nào, ta viết li phép toán:  
Không có stràn là du hiu ca kết quâm và ta phi ly bù 2, thêm du trừ để đọc  
kết qucui cùng: (01111)2 = - 10001  
b/ - A B  
Kết quA-B là 0 hoc sdương, phép tính được thc hin theo qui tc sau:  
Cng A vi (B)2 và không quan tâm ti snhớ ở vtrí 2n  
Thí d7 : Tính 110101 - 100110 dùng sbù 2  
A = 110101 và B = 100110 (B)2 = 011010  
Có stràn, kết qulà sdương. Bqua stràn và đc ngay kết qumà không phi  
biến đi: 001111 = 1510  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 5  
Thí d8 : Tính 10110 - 10110  
A = 10110 và B = 10110 (B)2 = 01010  
Bqua stràn ta được A-B =00000.  
6.4 Phép toán vi scó du  
Cho ti gichúng ta thc hin các phép toán vi skhông du và đôi khi xut hin  
du trtrong kết qu. Trong máy tính, điu này có thkhc phc được bng cách dùng scó  
du.  
Vi qui ước sdương có bit du là 0 và sâm có du là 1  
Thí d9: +1010 = 01010 +1510 = 01111 +2310 = 010111  
-1010 = 10110 - 1510 = 10001 - 2310 = 101001  
Có ththy rng sâm ca mt slà sbù 2 ca nó kcbit du.  
Vi cách biu din scó du, phép toán trtrthành phép toán cng:  
A-B = A+(-B )  
Thí d10: Tính A-B =01110 - 01001; B = 01001 = +910 - 910 = 10111  
Bit du =0 chkết qudương, bbit tràn C’2.  
Vy A-B = 00101 [(+1410 )-(+910)] = +510  
Nếu A hoc B đều dương hoc âm , kết qucó thcn thêm mt bit do tràn s. Trong  
trường hp này bit tràn đầu tiên thuc kết quvà C’2 là bit du  
Thí d11: Tính A+B vi A = 01110 (+1410) và B = 01001 (+910)  
Kết qulà 010111 = +2310 vi C’2 = 0 là bit du  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 6  
Thí d12: Tính A-B vi A =10010 (-1410) và B =01001 (+910)  
Mt ln na C’2 chbit du. Kết qulà 101001 = -2310 (010111 = 2310)  
Tcác kết qutrên, ta rút ra qui tc sau đây:  
Nếu C1 = C2 thì C’2 là bit tràn, bỏ đi và nếu C1C2 thì C’2 là bit du.  
Thí d13: Tính A-B vi A =011101 (+2910) và B =0110 (+610)  
B = 000110 = +610 - 610 = 111010  
Ghi chú: - Trong tt ctrường hp, ta luôn luôn thc hin phép cng do đó có thbỏ  
qua phép trừ  
- Khi cng hai shng cùng du thì có thxy ra hin tượng tràn, lúc đó bit  
du di vbên trái mt bit. Trong các trường hp khác thì du ca kết quả ở cùng vtrí vi  
du ca các shng  
- Ngoài ra kết qucòn được xlý tùy vào kết quso sánh skhác nhau ca  
hai snhC1 và C2 (nhmt cng EX-OR).  
6.5 Mch cng nhphân:  
6.5.1 Mch cng bán phn (Half adder, HA):  
Là mch cng hai s1 bit  
Bng stht kết quả  
Mch  
(H 6.3)  
Ký hiu  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 7  
6.5.2 Mch cng toàn phn (Full adder,FA) :  
Là mch cng hai bit cùng vtrí trong hai snhphân nhiu bit, nói cách khác, đây  
là mch cng hai bit , gisthn, và bit nhđược tphép cng hai bit thn-1 ca hai số  
nhphân đó. Ta có bng stht  
Cn-1  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
An  
0
1
0
1
0
1
0
1
Sn  
0
1
1
0
1
0
0
1
Cn  
0
0
0
1
0
1
1
1
Dùng bng Karnaugh ta xác định được Sn và Cn như sau:  
Sn = C n 1 (A B n )  
n
C n = A B n + C n 1 (A B n )  
n
n
(H 6.4)  
Có ththy mt mch cng toàn phn gm hai mch cng bán phn và mt cng OR  
6.6 Cng hai snhphân nhiu bit:  
6.6.1 Cng ni tiếp  
Trong cách cng ni tiếp, người ta dùng các ghi dch để chuyn các bit vào mt mch  
cng toàn phn duy nht, snhtngã ra Cn được làm trmt bit nhFF D và đưa vào ngã  
vào Cn-1. Như vy tc độ ca phép cng tùy thuc vào tn sxung CK và sbit phi thc hin.  
(H 6.5)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 8  
6.6.2 Cng song song  
Trong cách cng song song, các bit được đưa đồng thi vào các mch cng toàn phn  
và snhca kết quả ở bit thp được đưa lên bit cao hơn (H 6.6).  
(H 6.6)  
Chính vì phi chsnhmà tc độ cng còn hn chế. Mun nâng tc độ cng lên,  
người ta thc hin phép cng song song định trước snh.  
6.6.3 Mch cng song song định trước snhớ  
Để tăng tc độ ca mch cng song song, người ta to trước các snhớ để đưa đng  
thi vào mch cng  
Tbiu thc xác định snhớ  
C =AnB +C (A B )  
n
n
n1  
n
n
Đặt Pn = AnBn  
và Gn = An Bn  
Ta xác định được C1, C2, C3 .... như sau:  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 9  
(H 6.7)  
Nhn thy thi gian tính snhging nhau các tng và bng t1+t2 . t1 là thi gian  
truyn đng thi qua các cng AND và t2 là thi gian truyn qua cng OR.  
Sơ đồ khi mch cng song song định trước snh:  
(H 6.8)  
Trên thtrường hin có IC 7483 (tương đương 4008 ca CMOS) là IC cng 4 bit theo  
kiu định trước snh.  
6.6.4 Cng hai sBCD  
Trên thtrường có các IC cng snhphân, trong lúc trên thc tế nhiu khi chúng ta  
cn cng các sBCD để cho kết qulà sBCD.  
Chúng ta tìm cách dùng IC 7483 (4008) để cng hai sBCD  
Hai sBCD có trt010 đến 910 khi cng li cho kết qut010 đến 1810. Để đọc được  
kết qudng BCD ta phi hiu chnh kết quđược tmch cng nhphân.  
Dưới đây là kết qutương đương gia 3 loi mã: thp phân, nhphân và BCD  
Phân  
B
C
BCD đọc  
Nhị  
D
S’=C’4  
TP  
0
1
2
3
4
5
6
7
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
S’1 S =C4  
S4  
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
S3  
S2  
S1 theo NP  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
8
9
9
10  
11  
12  
13  
14  
15  
16  
17  
16  
17  
18  
19  
20  
21  
22  
23  
0
0
0
0
0
0
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 10  
18  
1
0
0
1
0
1
1
0
0
0
24  
Nhn thy:  
- Khi kết qu<10 mã nhphân và BCD hoàn toàn ging nhau  
- Khi kết qu10 để được mã BCD ta phi cng thêm 6 cho mã nhphân  
Để gii quyết vn đề hiu chnh này trước tiên ta sthc hin mt mch phát hin kết  
qutrung gian ca mch cng hai snhphân 4 bit. Mch này nhn vào kết qutrung gian  
ca phép cng 2 snhphân 4 bit và cho ngã ra Y = 1 khi kết qunày 10, ngược li, Y=0.  
Bng stht  
TP  
C’4  
S’2  
Y
0-1  
2-3  
4-5  
6-7  
8-9  
10-11  
12-13  
14-15  
16-17  
18  
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
Ta không dùng ngã vào S’1 vì tng cp trcó C’4 S’4 S’3 S’2 ging nhau thì S’1 = 0 và  
Dùng bng Karnaugh xác định được Y  
S’1 = 1  
Y = C’4 + S’4 (S’3 + S’2)  
Và mch cng hai sBCD được thc hin theo sơ đồ (H 6.9)  
(H 6.9)  
Vn hành:  
- IC thnht cho kết qutrung gian ca phép cng hai snhphân.  
- IC thhai dùng hiu chnh để có kết qulà sBCD:  
- Khi kết qu< 10, IC 2 nhn ngã vào B s0000 (do Y=0) nên kết qukhông thay  
đi.  
- Khi kết qutrung gian 10, IC 2 nhn ngã vào B s01102 = 610 (do Y=1) và kết  
quả được hiu chnh như đã nói trên.  
6.6.5 Mch cng lưu snhớ  
Nhc li, mt mch cng toàn phn (FA) nhn 3-bit ngã vào và cho 2 ngã ra :  
- Mt là tng ca các bit có cùng trng svi các bit ngã vào  
- Mt là snhcó trng sgp đôi trng sca các bit ngã vào  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 11  
Để cng mt chui s, nhiu mch cng toàn phn sẽ được sdng, snhớ được lưu  
li để đưa vào mch cng bit cao hơn.  
Thí d14 : Vi 3 s3-bit X (X3X2X1), Y(Y3Y2Y1), Z (Z3Z2Z1) mch cng có dng  
(H 6.10)  
Ngưòi ta dùng mch cng loi này để thc hin bài toán nhân.  
Để có kết qunhanh hơn, có thdùng mch (H 6.11)  
(H 6.11)  
6.7 Mch trnhphân:  
6.7.1 Mch trbán phn  
Là mch trhai s1 bit (H 6.12)  
(H 6.12)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 12  
6.7.2 Mch trcó snh(mch trtoàn phn)  
Là mch tr2 bit có quan tâm ti snhmang tbit trước  
Rn-1  
Bn  
Dn  
Rn  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
Bng stht  
Dùng bng Karnaugh xác định được các hàm Dn và Rn  
Dn = Rn1 (A n Bn )  
Rn = A nBn + Rn1(A n Bn )  
Và mch (H 6.13)  
(H 6.13)  
Nhn thy cu to mch trging như mch cng, chkhác mch to snhớ  
6.7.3 Trsnhiu bit  
Ta có mch trsnhiu bit bng cách mc song song các mch tr1 bit (H 6.14)  
(H 6.14)  
6.7.4 Cng và trsnhiu bit trong mt mch  
Nhc li để thc hin phép toán tr, người ta cng vi sbù 1 và cng thêm 1 (hoc  
cng vi sbù 2), như vy để thc hin phép trA - B ta tính A + (B)1 + 1 . Mch (H 6.6)  
đưọc sa đi để có thc hin phép cng và trtùy vào ngã điu khin C (H 6.15)  
- Khi C=0, ta có mch cng  
- Khi C =1, ta có mch trừ  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 13  
(H 6.15)  
Ta cũng có ththc hin mch cng trtheo kiu mc ni tiếp (H 6.16)  
(H 6.16)  
Nếu hai sA, B là s8 bit, có du, kết quả được xlý bi mch dò stràn, thiết kế  
da vào biu thc: OV = C7 C8 . Khi OV =1 nghĩa là có stràn (tc C7C8), thì stràn C8  
slà bit du, S8 là mt bit ca kết quvà khi OV = 0 (tc C7=C8), thì S8 là bit du.  
6.8 Mch nhân  
Ly thí dbài toán nhân 2 s4 bit  
Y4  
X4  
Y3  
X3  
Y2  
X2  
Y1  
X1  
Sbnhân  
Snhân  
P14 P13 P12 P11 Tích tng phn  
P24 P23 P22 P21  
P34 P33 P32 P31  
P44 P43 P42 P41  
S7 S6 S5 S4  
S8  
S3  
S2  
S1  
Kết quả  
6.8.1. Mch nhân cơ bn  
Vic thc hin bài toán nhân có thxem như gm hai bước:  
- Tính các tích tng phn: thc hin bi các cng AND  
- Tính tng ca các tích tng phn: Áp dng bài toán tng chui s(H 6.17)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 14  
(H 6.17)  
Dùng IC cng 4 bit (7483 hoc 4008) mch nhân hai s4 bit có dng (H 6.18)  
(H 6.18)  
6.8.2. Mch nhân ni tiếp - song song đơn gin (H 6.19)  
(H 6.19)  
Trong mch này, mt trong hai số được đưa ni tiếp vào mch (trong trường hp này  
là sbnhân) và scòn li đưa song song vào mch.  
- Snhân (b4b3b2b1) đưa song song vào mch qua các cng AND đng thi kim soát  
các cng này: ng vi bit 1 sbnhân qua mch để ti mch cng (cng 2 và 4); ng vi bit 0  
ngã ra cng AND bng không (cng 1 và 3)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 15  
- Sbnhân đưa ni tiếp vào mch theo thttbit LSB. Các FF D có tác dng dch  
kết quca phép nhân (là các tích tng phn) trước khi đưa vào mch cng để cng các tích  
tng phn này.  
Thí d15 : Xem bài toán nhân 10x14. Snhân là 1010 (1010) và sbnhân là 1110  
(1410). Quá trình nhân gii thích như sau:  
P8 P7 P6 P5 P4 P3 P2 P1  
A
B
C
D
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
Output  
100011002 = 14010  
Có ththy rng ngã ra A luôn luôn bng 0 vì bit LSB ca snhân = 0. Ngã ra B có  
giá trca sbnhân được làm tr1 bit (1 xung đng h). Ngã ra C được làm tr2 bit và luôn  
bng 0 (Ging như A). Ngã ra D ging như B nhưng tr3 bit. Điu này có thso sánh vi bài  
toán trên giy  
Sbnhân  
Snhân  
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
A
B
C
D
Tích  
1
0
1
0
0
1
0
1
0
1
Mun không sdng mch cng snhiu bit, người ta dùng mch (H 6.20)  
(H 6.20)  
Mch (H 6.20) cn (n-1) mch cng và mch tr(FF D) cho snhân n bit. Các cng  
AND cho phép các bit ca sbnhân đi qua khi snhân là 1, sbnhân (vi sbit bt k)  
được cho vào mch ni tiếp vi bit LSB vào đầu tiên.  
Ngã ra cng 4 sau 4 xung Clock là 1110. Ngã ra cng 3 luôn luôn bng 0.  
Mch cng A cng sngã ra 3 và ngã ra 4 btr1 bit:  
0
1
1
0
1
1
0
0
0
0
0
0
1
1
Tương tmch cng B cng sbnhân vi kết quả ở A được làm tr1 bit  
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 16  
và mch cng C  
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
Lưu ý là mch (H 6.20) kết qucho ngã ra mch cng C vi bit LSB ra đầu tiên,  
tuy nhiên mch này chưa quan tâm ti snh.  
Mch (H 6.21) cho kết quvi snh.  
(H 6.21)  
Và (H 6.22) là mt mch thc tế dùng ghi dch 4 bit có ngã vào/ra song song, mt  
mch cng 4 bit và mt chip 4 cng AND 2 ngã vào để thc hin bài toán nhân.  
(H 6.22)  
6.9 Mch chia  
Nguyên tc ca phép chia snhphân là thc hin phép so sánh mt phn ca sbị  
chia (sbit đầu tiên bng vi sbit ca schia) vi schia, nếu sbchia ln hơn schia thì  
thương s=1, thc hin phép tr, ngược li thì thương s=0, sau đó dch trái phn còn li ca  
sbchia mt bit (hoc dch phi schia 1 bit) ri tiếp tc thc hin bài toán so sánh ging  
như trên. Công vic được lp li cho đến khi chm dt.  
Sơ đồ (H 6.23) tóm tt gii thut thc hin bài toán chia  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 17  
Dch  
Yes  
No  
Schia < Sbị  
chia ?  
Thương s=0,  
Không trừ  
Thương s= 1,  
Trsbchia  
cho schia  
Chia xong ?  
Yes  
No  
Kết thúc  
(H 6.23)  
6.9.1 Phép chia có phc hi sbchia  
Thay vì phi thc hin vic so sánh, người ta làm phép tính trmt phn sbchia  
cho schia, nếu kết qudương, thương slà 1, nếu kết quâm, thương slà 0, trong trường  
hp này phi phc hi li sbchia bng cách cng sbchia cho schia trước khi dch sbị  
chia sang trái 1 bit (hoc schia sang phi) để tiếp tc lp li bài toán cho đến khi kết thúc.  
(H 6.24) là sơ đồ gii thut thc hin phép chia có phc hi sbchia.  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 18  
Dch  
sbchia - schia  
Yes  
Kết quả  
dương ?  
No  
Thương sô = 1  
Thương sô = 0  
sbchia + schia  
Yes  
No  
Chia xong?  
Kết thúc  
(H 6.24)  
Để thc hin phép chia theo sơ đồ trên, ngoài các thanh ghi để cha các sbchia, số  
chia , sthương người ta phi dùng thanh ghi cha sbchia được phc hi.  
6.9.2 Phép chia không phc hi sbchia  
Hthng sẽ đơn gin hơn nếu chúng ta dùng phép chia không cn phc hi sbchia  
theo nguyên tc như dưới đây.  
Quan sát gin đồ (H 6.24) ta thy có 2 trường hp:  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 19  
Schia ln hơn sbchia (nhánh bên phi)  
Lưu ý là dch schia vbên phi 1 bit tương đương vi chia số đó cho 2  
Nhánh bên phi ca sơ đồ trên gm 2 bài toán:  
- Cng sbchia vi schia.  
- Trsbchia cho 1/2 schia (trbchia cho schia đã dch phi)  
Hai bước này có thgom li thành mt bước duy nht như sau:  
- Cng sbchia vi schia đã dch phi.  
Schia nhhơn sbchia (nhánh bên trái)  
Sau khi ly kết qu=1, lnh kế tiếp thc hin là trschia đã dch phi.  
Tcác kết qunhn xét trên có ththay sơ đồ (H 6.24) bi sơ đồ gii thut thc hin  
phép chia không cn phc hi sbchia (H 6.25)  
sbchia - schia  
No  
Ye s  
Kết quả  
dương ?  
Thương sô = 1  
Dch  
Thương sô = 0  
Dch  
sbchia + schia  
sbchia - schia  
Chia xong?  
No  
Kết thúc  
(H 6.25)  
Da vào sơ đồ (H 6.25), các bước thc hin bài toán chia như sau:  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
_________________________________________________________________Chương 6  
Mch làm toán VI - 20  
- Schia (SC) ln hơn sbchia (SBC) (SBC - SC < 0), thương slà 0, dch phi số  
chia 1 bit (thc tế ta mang thêm 1 bit ca sbchia xung), thc hin bài toán cng schia và  
sbchia  
- Schia nhhơn sbchia (SBC - SC > 0), thương slà 1, dch phi schia 1 bit,  
thc hin bài toán tr(cng sbù 2) sbchia cho schia  
Để đơn gin, gisschia và bchia đều dương (MSB = 0), sbchia gm 6 bit và  
schia gm 4 bit.  
Thí d1: Thc hin bài toán chia 2110 = 0101012 cho 710 = 01112.  
Sbù 2 ca 0111 là (0111)2 = 1001  
Ghi chú:  
(1) S1 trên mũi tên chrng kết quphép toán trlà sâm, bước kế tiếp là di và  
cng schia  
(2) S0 trên mi tên chrng kết quphép toán trlà sdương, bước kế tiếp là di và  
trschia (cng sbù 2)  
Thương sđược tcác stràn mà trên phép tính ta ghi trong vòng tròn.  
Kết qu: thương là 011(=3) và sdư là 0000(=0)  
Bài toán trên cho kết quvi 3 bước cng/tr. Tuy nhiên nếu ta chia 21 cho 1 thì cn  
ti 6 bước cng trừ để có thương s6 bit. Mt cách tng quát sbước ca bài toán bng vi  
sbít ca sbchia.  
Ta có thlàm li bài toán vi 6 bước cng/tr((thêm 3 bit 0 cho sbchia)  
_______________________________________________________________  
Nguyn Trung Lp  
KTHUT SỐ  
Tải về để xem bản đầy đủ
pdf 23 trang baolam 28/04/2022 4140
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kỹ thuật số - Chương 6: Mạch làm toán - Nguyễn Trung Lập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_ky_thuat_so_chuong_6_mach_lam_toan_nguyen_trung_l.pdf