Bài giảng Thiết kế luận lý 1 - Chương 5: Các phép toán và mạch số học - Nguyễn Quang Huy

dce  
2012  
Khoa KH & KTMT  
Bộ môn Kỹ Thuật Máy Tính  
©2012, CE Department  
dce Tài liꢀu tham khꢁo  
2012  
• “Digital Systems, Principles and Applications”,  
8th/5th Edition, R.J. Tocci, Prentice Hall  
• “Digital Logic Design Principles”, N.  
Balabanian & B. Carlson – John Wiley &  
Sons Inc., 2004  
Logic Design 1  
©2012, CE Department  
2
dce  
2012  
Các phép toán và  
mạch số học  
©2012, CE Department  
dce Phép cꢂng nhꢃ phân  
2012  
• Phép cꢂng (Addition) là phép toán quan trꢄng nhꢅt  
trong các hꢀ thꢆng sꢆ  
– Phép trꢇ (Subtraction), phép nhân (multiplication) và phép  
chia (division) đưꢈc hiꢀn thꢉc bꢊng cách sꢋ dꢌng phép  
cꢂng  
– Luꢍt cơ bꢁn:  
0 + 0 = 0  
1 + 0 = 1  
1 + 1 = 10 = 0 + carry of 1 into next position  
1 + 1 + 1 = 11 = 1 + carry of 1 into next position  
– Ví dꢌ  
Logic Design 1  
©2012, CE Department  
4
dce Biꢎu diꢏn sꢆ có dꢅu (1)  
2012  
• Bit dꢅu (sign bit)  
0: dương (positive)  
• Lưꢈng sꢆ (magnitude)  
• Hꢀ thꢆng sign-magnitude  
1: âm (negative)  
Logic Design 1  
©2012, CE Department  
5
dce Biꢎu diꢏn sꢆ có dꢅu (2)  
2012  
• Hꢀ thꢆng sign-magnitude tuy đơn giꢁn nhưng thông  
thưꢐng không đưꢈc sꢋ dꢌng do viꢀc hiꢀn thꢉc mꢑch  
phꢒc tꢑp hơn các hꢀ thꢆng khác  
• Dꢑng bù-1 (1’s-Complement Form)  
– Chuyꢎn mꢓi bit cꢔa sꢆ nhꢃ phân sang dꢑng bù  
– Ví dꢌ:  
1011012 ꢀ 010010 (số bù-1)  
• Dꢑng bù-2 (2’s-Complement Form)  
– Cꢂng 1 vào vꢃ trí bit LSB (trꢄng sꢆ nhꢕ nhꢅt) cꢔa sꢆ bù-1  
– Ví dꢌ:  
4510 = 1011012  
Số bù-1  
010010  
1
Cộng 1 +  
Số bù-2  
010011  
Logic Design 1  
©2012, CE Department  
6
dce Biꢎu diꢏn sꢆ có dꢅu sꢋ dꢌng bù-2  
2012  
• Quy tꢖc  
– Sꢆ dương (positive): lưꢈng sꢆ (magnitude) biꢎu diꢏn dưꢗi  
dꢑng sꢆ nhꢃ phân đúng, bit dꢅu bꢊng 0 (bit trꢄng sꢆ cao  
nhꢅt - MSB)  
– Sꢆ âm (negative): lưꢈng sꢆ biꢎu diꢏn dưꢗi dꢑng sꢆ bù-2,  
bit dꢅu bꢊng 1 (bit MSB)  
Logic Design 1  
©2012, CE Department  
7
dce Biꢎu diꢏn sꢆ có dꢅu sꢋ dꢌng bù-2  
2012  
• Hꢀ thꢆng bù-2 đưꢈc sꢋ dꢌng đꢎ biꢎu diꢏn sꢆ có dꢅu  
vì nó cho phép thꢉc hiꢀn phép toán trꢇ bꢊng cách  
sꢋ dꢌng phép toán cꢂng  
– Các máy tính sꢆ sꢋ dꢌng cùng mꢂt mꢑch điꢀn cho cꢂng và  
trꢇ ꢀ tiꢘt kiꢀm phꢙn cꢒng  
• Ph
ꢔ đꢃ
nh
(negation):
đꢚ
i t
ꢇ
s
ꢆ
d
ươ
ng sang s
ꢆ
âm  
hoꢛc tꢇ sꢆ âm sang sꢆ dương  
– Phꢔ đꢃnh cꢔa 1 sꢆ nhꢃ phân có dꢅu là bù-2 cꢔa sꢆ đó  
– Ví dꢌ:  
+9 01001  
- 9 10111  
+9 01001  
sꢆ có dꢅu  
phꢔ đꢃnh (bù-2)  
phꢔ đꢃnh lꢙn 2 (bù-2)  
Logic Design 1  
©2012, CE Department  
8
dce Trưꢐng hꢈp đꢛc biꢀt cꢔa bù-2  
2012  
• Bit dꢅu bꢊng 1, N bit lưꢈng sꢆ bꢊng 0: sꢆ thꢍp phân  
tương đương là -2N  
– Ví dꢌ:  
1000 = -23 = -8  
10000 = -24 = -16  
100000 = -25 = -32  
• Bit dꢅu bꢊng 0, N bit lưꢈng sꢆ bꢊng 1: sꢆ thꢍp phân  
tương đương là +(2N – 1)  
– Ví dꢌ:  
0111 = +(23 – 1) = +7  
• Khoꢁng giá trꢃ có thꢎ biꢎu diꢏn bꢊng hꢀ thꢆng bù-2  
vꢗi N bit lưꢈng sꢆ là  
-2N đꢘn +(2N – 1)  
Logic Design 1  
©2012, CE Department  
9
dce Phép cꢂng trong hꢀ thꢆng bù-2 (1)  
2012  
• Luꢍt cꢂng  
– Cꢂng 2 sꢆ bù-2 theo luꢍt cꢂng cơ bꢁn (cꢂng cꢁ bit dꢅu)  
– Loꢑi bꢕ bit nhꢗ (carry) ꢜ vꢃ trí cuꢆi cùng cꢔa phép cꢂng  
(sinh ra bꢜi phép cꢂng 2 bit dꢅu)  
Trưꢐng hꢈp 1  
Trưꢐng hꢈp 2  
bit dꢀu  
bit dꢀu  
+9 ꢀ 0 1001  
+4 ꢀ 0 0100  
+9 ꢀ 0 1001  
-4 ꢀ 1 1100  
+13  
0 1101  
+5 1 0 0101  
carry  
Logic Design 1  
©2012, CE Department  
10  
dce Phép cꢂng trong hꢀ thꢆng bù-2 (2)  
2012  
Trưꢐng hꢈp 3  
Trưꢐng hꢈp 4  
bit dꢀu  
bit dꢀu  
-9 ꢀ 1 0111  
+4 ꢀ 0 0100  
-9 ꢀ 1 0111  
-4 ꢀ 1 1100  
-5  
1 1011  
-13
1
1 0011  
carry  
-9 ꢀ 1 0111  
+9 ꢀ 0 1001  
Trưꢐng hꢈp 5  
0 1 0 0000  
carry  
bit dꢀu  
Logic Design 1  
©2012, CE Department  
11  
dce Phép trꢇ trong hꢀ thꢆng bù-2  
2012  
• Phép toán trꢇ trong hꢀ thꢆng bù-2 đưꢈc thꢉc hiꢀn  
thông qua phép toán cꢂng  
• Trình tꢉ thꢉc hiꢀn  
– Phꢔ đꢃnh sꢆ trꢇ  
– Cꢂng giá trꢃ thu đưꢈc vào sꢆ bꢃ trꢇ  
• Ví dꢌ  
+9 – 4 = +9 + (-4) = 01001 + 11100  
= 100101 = +5  
-9 – 4 = -9 + (-4) = 10111 + 11100  
= 110011 = -13  
+9 - 9 = +9 + (-9) = 01001 + 10111  
= 100000 = 0  
Logic Design 1  
©2012, CE Department  
12  
dce Tràn sꢆ hꢄc (Arithmetic Overflow)  
2012  
+9 ꢀ 0 1001  
+8 ꢀ 0 1000  
+17  
1 0001  
sai bit dꢀu  
sai lưꢁng sꢂ  
• Điꢝu kiꢀn tràn: cꢂng 2 sꢆ dương hoꢛc 2 sꢆ âm  
• Phát hiꢀn tràn  
– Hiꢀn tưꢈng tràn đưꢈc phát hiꢀn bꢊng cách kiꢎm tra bit dꢅu  
cꢔa kꢘt quꢁ phép cꢂng so vꢗi các bit dꢅu cꢔa các toán  
hꢑng  
– Phép trꢇ: tràn chꢞ có thꢎ xꢁy ra khi sꢆ trꢇ và sꢆ bꢃ trꢇ có bit  
dꢅu khác nhau  
Logic Design 1  
©2012, CE Department  
13  
dce Phép toán nhân (multiplication)  
2012  
• Thao tác nhân 2 sꢆ nhꢃ phân đưꢈc thꢉc hiꢀn theo  
cách tương tꢉ nhân 2 sꢆ thꢍp phân  
1001  
1011  
Sꢆ bꢃ nhân = 910  
Sꢆ nhân = 1110  
1001  
Tích thành phꢙn  
(lꢙn lưꢈt dꢃch trái)  
1001  
0000  
1001  
1100011  
Kꢘt quꢁ = 9910  
Logic Design 1  
©2012, CE Department  
14  
dce Phép nhân trong hꢀ thꢆng bù-2  
2012  
• Nꢘu sꢆ nhân và sꢆ bꢃ nhân đꢝu dương  
– Nhân bình thưꢐng  
• Nꢘu sꢆ nhân và sꢆ bꢃ nhân là các sꢆ âm  
– Chuyꢎn 2 sꢆ sang sꢆ dương sꢋ dꢌng bù-2  
– Nhân bình thưꢐng  
– Kꢘt quꢁ là 1 sꢆ dương vꢗi bit dꢅu bꢊng 0  
• Nꢘu 1 trong 2 sꢆ là sꢆ âm  
– Chuyꢎn sꢆ âm sang sꢆ dương sꢋ dꢌng bù-2  
– Nhân bình thưꢐng  
– Kꢘt quꢁ đưꢈc chuyꢎn sang dꢑng bù-2, bit dꢅu bꢊng 1  
Logic Design 1  
©2012, CE Department  
15  
dce Phép toán chia (Division)  
2012  
• Phép chia 2 sꢆ nhꢃ phân đưꢈc thꢉc hiꢀn theo cách  
tương tꢉ chia 2 sꢆ thꢍp phân  
9 ÷ 3 = 3  
10 ÷ 4 = 2.5  
• Phép chia 2 sꢆ có dꢅu đưꢈc xꢋ lý theo cách tương  
tꢉ phép nhân 2 sꢆ có dꢅu  
Logic Design 1  
©2012, CE Department  
16  
dce Phép cꢂng BCD (1)  
2012  
• Trình tꢉ cꢂng 2 sꢆ BCD  
– Sꢋ dꢌng phép cꢂng nhꢃ phân thông thưꢐng đꢎ cꢂng các  
nhóm mã BCD cho tꢇng vꢃ trí ký sꢆ BCD  
– ꢟng vꢗi mꢓi vꢃ trí, nꢘu tꢚng ≤ 9, kꢘt quꢁ không cꢙn sꢋa lꢓi  
– Nꢘu tꢚng cꢔa 2 ký sꢆ > 9, kꢘt quꢁ đưꢈc cꢂng thêm 6  
(0110) đꢎ sꢋa lꢓi, thao tác này luôn tꢑo bit nhꢗ (carry) cho  
vꢃ trí ký sꢆ kꢘ tiꢘp  
Logic Design 1  
©2012, CE Department  
17  
dce Phép cꢂng BCD (2)  
2012  
Logic Design 1  
©2012, CE Department  
18  
dce Sꢆ hꢄc thꢍp lꢌc phân (1)  
2012  
• Phép cꢂng 2 sꢆ thꢍp lꢌc phân đưꢈc thꢉc hiꢀn theo  
cách tương tꢉ phép cꢂng 2 sꢆ thꢍp phân  
– Cꢂng 2 ký sꢆ hex dưꢗi dꢑng thꢍp phân  
– Nꢘu tꢚng ≤ 15, biꢎu diꢏn trꢉc tiꢘp bꢊng ký sꢆ hex  
– Nꢘu tꢚng ≥ 16, trꢇ cho 16 và nhꢗ 1 vào vꢃ trí ký sꢆ tiꢘp  
theo  
• Phép trꢇ 2 sꢆ thꢍp lꢌc phân  
– Chuyꢎn sꢆ trꢇ sang dꢑng bù-2 và đem cꢂng vào sꢆ bꢃ trꢇ  
– Loꢑi bꢕ bit nhꢗ sinh ra do phép cꢂng 2 ký sꢆ ꢜ vꢃ trí cuꢆi  
cùng (nꢘu có)  
Logic Design 1  
©2012, CE Department  
19  
dce Sꢆ hꢄc thꢍp lꢌc phân (2)  
2012  
• Chuyꢎn sꢆ hex sang dꢑng bù-2  
– Sꢆ hex ꢀ sꢆ nhꢃ phân ꢀ dꢑng bù-2 ꢀ sꢆ hex  
– Trꢇ mꢓi ký sꢆ hex, lꢅy kꢘt quꢁ cꢂng thêm 1  
59216 – 3A516  
Logic Design 1  
©2012, CE Department  
20  
Tải về để xem bản đầy đủ
pdf 30 trang Thùy Anh 18480 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế luận lý 1 - Chương 5: Các phép toán và mạch số học - Nguyễn Quang Huy", để 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:

  • pdfbai_giang_thiet_ke_luan_ly_1_chuong_5_cac_phep_toan_va_mach.pdf