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
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ꢌ:  
45= 101101
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
(n
ươ
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
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ꢑ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 yennguyen 16840 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