GIỚI THIỆU Khi nói đến số đếm, người ta thường nghĩ ngay đến hệ thập phân với 10 chữ số được ký hiệu từ 0 đến 9.. Khi biểu diễn các số nhị phân rất lớn, người ta thay nó bằng các số bát
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ThS TRẦN THỊ THÚY HÀ - ThS ĐỖ MẠNH HÀ
Trang 2Giáo trình Diện tử số
Trang 3
1.2 Chuyên dồi cơ số giữa các hệ đêm
1.2.1 Chuyên đôi từ hệ cơ số 10 sang hệ khác,
1.2.2 Đổi một biểu diễn trong hệ bat ki sang hệ thập phân 29 1.2.3 Đối các số từ hệ nhị phân sang hệ cơ số 8 và l6 29 1.3 SỐ nhị phân có dau
1,3.1 Biểu diễn số nhị phân có dau
1.3.2 Các phép cộng và trù số nhị phân có đâu 31 1.4 Dấu phảy động
Trang 42.1.1 Các dịnh lý CO Danie ccc eteteeiee eee ree taenenss 48
221.2 Cae dinh Lat CO Dance cece nerenene etter 48 2.1.3 Ba quy tắc về đăng LhỨC và chen 49 2.2 Các phương pháp biêu diễn hàm BOO ccc eo 4Ô 3.2.1 Bảng trạng thấi ác cha hhHhhghưre 30 2.2.2 Phương pháp đại
TÔIH HẮT,ả à ch nhìn HH nghe eggieg 69
Câu hỏi ÔH TẬP cá ch HH HH HH th tt khi 70
Chương 3: CÓNG 1LLOGIC TL VÀ CMO các eere
3.1 Công logic và các tham số chính
we .1.1 Công logic cơ bản
3.1.2 Logie dương và logic âm
3.1.3 Một số công phép thông dụng c ccerrerrrrer 80
3.1.4 Tỉnh đa chức năng của công NAND NÓR 85
3.1.5 Các tham 86 Chin ec ccecceeceeeeeessneeseneenssannncensennnnansseetens 89
3.2 Che HO CONG LOGEC occ cect eects eene tee re cree rieensnanenenssenensrerna 95
k? N00 95
3.2.2 HO RVD 97
Trang 53.2.3 MO DTD oe cnet e cece seseiesieeneraeenenenenereese 98 3.2.4 Họ LIL
3.2.5 Một số mạch TTL khác
3.2.6 Mot số mạch Tranzito KhẮC uc cv nvekrrrHrerrrree 113
3.2.7 Sơ đỗ chân IC của một số công logie họ TT 115 3.2.8 Họ CMOS
3.2.9 Một số công có đầu ra đặc biệ
3.3 Giáo tiện giữa các công logic cơ bản
TTL-CMOS va CMOS-1T|
3.3.1 Một số đặc điểm ctia ho TTL va CMOS
khi sử dụng và ghép nồi chien 126 3.3.2 Giao tiếp giữa TTI và CMO&
3.3.3 Giao tiếp giữa CMOS và TT,
4.1.1 Dac diém co ban cilia mach 16 hop
4.1.2 Phuong phap biểu điển chức năng logic 142 4.2 Phân tích mạch logic tO BOP ccc ct teeter testes 143 4.3 Thiết kế mạch logic tô BỢP eee ieee eters 14 4.4 Mach mei ida ver SIGE ING cece eine ete etree tte 147 4.4.1 Cao mach ma Q0d cece ceteris ieee neeeenereeterteneenees 147 4.4.2 Cc BG iad MA ee cece ener ce rence teneeneeneesnre reser acts 131
4.4.3 Các bộ biến đổi mã cccreererrreiirririrreerririee 162
4.5 Bộ ghép kênh và phân KÊHH cc ee eerie 166 4.5.1 Bộ ghép kénh (MUX-Multipleer) 0 ccc 166
iil
Trang 64.7.1 Bộ so sánh bằng nhau Set rirrrrrrrrriirrrrre 193
4.7.2 Bộ so sánh c chi g tre 194 4.8 Mạch tạo và kiêm tra 1/8 NA 196 4.8.1 Mã chẵn lẻ
4.8.2 Mach tao bit chăn/lẻ
4.8.3 Mạch kiểm tra CHAN /6 cscsesscesescceesssssneecesssssseescesssneseenee
4.9 Mach tao md va giai mad Hamming
4.9.] Tạo mà chen Hrerrerre
4.10 Đơn vị số học và logic (ALU
4.11 HAZARD trong mạch tô hợp
4.11.1 Khái niệm
4.11.2 Bản chất của hazard
4.11.3 Phân loại
4.11.4 Các biện pháp khắc phục hazard ecceiecernrie 219 r7 ./ÐÿHddÝÝÝỀÕẮ 223 Câu hỏi Ôn LẬP óc nh nha Hà Hàng He nh re 225
Trang 7Chuong 5: MACH LOGIC TUAN TV
5.1 Khải niệm chung và mô hình toán học
3.1.1 Khái niệm chung
5.1.2 Mô hình toán học -.-c-ccrerrrrerrrrrtrrrrrtrrrrerrrre 2
5.2.2 Đầu vào không đồng bộ của trigơ
5.2.3 Chuyén đổi giữa các load TEC oe 244 3.3 Giới thiệu mội s6 IC Trigo thong dung
5.6.1 Các bước thiết kế mạch tuần tự đồng bộ
5.6.2 Các bước thiết kế mạch tuần tự không đồng bộ 268 5.6.3 Thiết kế mạch tuần tự từ đồ hình trạng thái ¿ 272
Trang 83.8 Hiện tượng chủ KÈ và chạu đưu trong mạch không đồng bộ 294 3.8.1 Hiện tượng chủ kỹ trong mạch tuần tự không đồng bộ 295 5.8.2 Hiện tượng chạy dua trong mạch tuần tự không đồng bộ 296
trong mạch tuân tự không đồng bộ cu nece 298 3.9 Một số mạch thân ne thong dung ec : .300
5.9.1 Bộ đếm
Chương 6: MẠCH PHAT XUNG VA TẠO DẠNG XUNG 369
6.1 Mách phát XHHE thun " BAO 6.1.1 Mach dao dong da hai cơ bạn công NAND TTL 371
6.1.4 Mạch dao động đa hài CMOS cu cu nneraxe 376
6.3.2 Mạch đa hài đợi TT cu eeeseeeee.383
387
394
vi
Trang 9
7.4.1 EPROM xóa bing 0u 0000 425
ri»: 427 Han 0n 428 7.5 RAM
7.5.1 Céu trie khdt ca RAM wecccccsssssscseeeesesssssesseceeeesentenens 429 7.5.3 Cầu tạo của DRAM cu Hee 432
IS) 437
vil
Trang 10727 BỘ nhớ CC tcnY HH n2 xe 444 Tóm “ĩ ố.ố.ố " 445
81 Giới thiệu về công nghệ logic số
8.1.1 Céng nghé logic chuan (Standard logic)
8.1.2 Công nghệ ASIC
8.1.3 Cong nghé logic kha trinh (Programmable Logic)
8.1.4 Công nghệ thiết kế ví mạch số mật độ tích hợp lớn
(Full Custom VEST Design) 2 uc cv 2c uy 451
8.2 Cdu kiện tagic kha trình (PL) co đ53
8.2.2 CPLD (Complex PI,D) ác c 2S Hee 456 8.2.3 FPGA 458 8.3 Giới thiệu phương pháp thiết lập cầu hinh cho CPLD/FPGA .461
§.3.1 Phương pháp dùng sơ đỗ mô tâ 222222222 c-ccrrersrree 462 8.3.2 Phương pháp dùng ngôn ngữ mô tả phần cứng (HDL) 463 8.4 Yêu cầu chung khi thiết kế với CPLD/PPGA 464
464 465 469
470 470
„475
8.4.1 Chon vi mach CPLD hoặc FPGA phù hợp
8.4.2 Chon giai phap cau hinh cho CPDL/FPGA
8.4.3 Chọn công cụ phần mềm phù hợp
8.5 Lưu đồ thiết kế cho CPLDZEPGA
8.5.1 Lưu đỗ thiết kế cho CPLD
8.5.2 Lưu đồ thiết kế cho FPGA
Vili
Trang 117.8.8 =
Câu hỏi ôn lập
Chương 9: NGÔN NGU MO TA PITAN CUNG VIIDI
9.1 Lịch sử phát triên cua VHDL
9.2 Những tu điểm của VHDL
9.3 Cầu trúc ngôn ngữ cua FHDL
9.3.1 DSi tuong trong VIIDL eccentricities 9.3.2 Kiểu dữ liệu trong VHIDL escsiherrnerrrrie 490
9.3.3 Các phép toán trong VI[DL, àcceeerrrrrrrrrrrrre 502
9.3.4 Các dơn vị thiết kế trong VHDÍL àccccceeerrrrerrrrrree 510
9,3,5 Cầu trúc chung của một chương trình mô tả VHDL 518
9.3.6 Môi trudng kiém tra “testbench” essences 521
9.3.7 Các cấu trúc lệnh song SONE cccceeeeereererrerrrree 524
9.3.8 Cấu trúc lệnh tuẦn tự cccccceserrierrrreerrrrrdnrree 531
9.3.9 Ham VA thU UC coerce ce cneterrrrrrrrrerrrrrtrrrtreree 539 9.4 Các mức độ mrừu tượng và phương pháp mô ta
9.4.1 Phương pháp mô tả theo mô hình cấu trúc logie 548 9.4.2 Phương pháp mô tả theo mô hình hành vi (Behavioral) 553
9.4.3 Phương pháp mô tả theo mô hình luồng đữ liệu RTL 554
9.4.4 Phương pháp mô tả theo mô hình đỗ hình trạng thái
(máy trạng thái - State Machine) ernerrrerre 561
¡PP — a 569
Câu hỏi Ôn LẬP cceeeeeereenerrrrerrreeneterrrrrtrdrtrtrndertrtrnrtrndir 570 Tài liệu tham khảo .cceeeeeerrrrrtrtrrrrdrdtrrrrrrrtrrrrrrrne 574
ix
Trang 12Cùng với sự tiến bộ của khoa học và công nghệ, các thiết bị điện
tử đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả cao trong hau hết các lĩnh vực kinh tế kỹ thuật cũng như đời sống xã hội
Việc xử lý tín hiệu trong các thiết bị điện tử hiện đại đều dựa trên cơ sở nguyên lý số Bởi vậy việc nắm vững kiến thức về điện tử
số là yêu cầu bắt buộc đối với kỹ sư điện, điện tử, viễn thông và công nghệ thông tin hiện nay Kiến thức về Điện từ số không phải chỉ cần thiết đối với kỹ sư các ngành kế trên mà còn cần thiết đối với nhiều cán bộ kỹ thuật các chuyên ngành khác có ứng dụng điện tử
Nhằm giới thiệu một cách hệ thống các khái niệm cơ bản về điện
tử số, các công logic, các phần tử cơ bản, các mạch số chức năng điển hình, các phương pháp phân tích và thiết kế mạch logic Học viện Công nghệ Bưu chính Viễn thông phối hợp với Nhà xuất bản Thông tin và Truyền thông xuất bản cuén sich “Gido trinh Điện tứ số” Giáo trình bao gồm các kiến thức cơ bản về cơ sở đại số logic, mạch cổng logic, mạch logic tổ hợp, các trigơ, mạch logic tuần tự, các mạch phát xung vả tạo đạng xung, các bộ nhớ thông dụng Giáo trình còn bao gềm các kiến thức cơ bản về cấu kiện logic khả trình và ngôn ngữ mô tả phần cứng VHDL Đây là ngôn ngữ phỏ biến hiện nay dùng
để mô tả cho mô phóng cũng như thiết kế các hệ thống số Nội dung giáo trình gồm 9 chương: 7 chương đầu do ThS Trần Thị Thúy Hà biên soạn, 2 chương cuối do Th§ Đỗ Mạnh Hà biên soạn Trước và sau mỗi chương đều có phân giới thiệu và phan tóm tắt để giúp người học dễ nắm bắt kiến thức Các câu hỏi ôn tập để người học kiểm tra mức độ nắm kiến thức sau khi học mỗi chương
Trang 13Giáo trình gồm có 9 chương được bố cục như sau:
Chương 1: Hé dém
Chương 2: Đại sé Boole
Chuong 3: Céng logic TTL va CMOS
Chương 4: Mạch logic tổ hợp
Chương Š: Mach logic tuần tự
Chương ó: Mạch phát xung và tạo dạng xung
Chương 7: Bộ nhớ bán dan
Chương 8: Câu kiện logic khả trình (PLD)
Chương 9: Ngôn ngữ mô tâ phan cimg VHDL
Trên cơ sở các kiến thức căn bản, giáo trình đã cố gắng tiếp cận
các vấn đề hiện đại, đồng thời liên hệ với thực tế kỹ thuật Tuy nhiên
do thời gian biên soạn có hạn nên cuốn giáo trình có thể còn những
thiếu sót, rắt mong được bạn đọc góp ý Các ý kiến xin gửi về Bộ môn
Kỹ thuật Điện tử - Khoa Kỹ thuật Điện tử I - Học viện Công nghệ Bưu chính Viễn thông
Xin trân trọng giới thiệu!
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
Trang 14Arthmetic Logic Unit
American National Standards
Central Processing Unit
Complex Programmable Logic
Xung đồng hồ (Xung nhịp)
Bộ nhớ trung gian
Chọn địa chỉ cột Xóa
Vật liệu bán dẫn gỗm hai linh kiện
NMOS và PMOS mắc tổ hợp với
nhau Đơn vị xử lý trung tâm
Câu kiện logic khả trình phức tạp
Trang 15Diode Transistor Logic
Emitter Couple Logic
Electrically Erasable ROM
Erasable ROM
Field Effect Transistor
Field Programmable Gate Array
Liquid Crystal Display
Light Emitting Diode
Least Significant Bit
Look Up Table
Metal Oxide Semiconductor FET
Mask ROM
Most Significant Bit
Công logic chứa các điốt va tranzito
Mức logic cao Mạch logic tich hợp phun Mạch tịch hợp
Viện kỹ thuật Điện và điện tử
Lập trình trên hệ thông
Mức logic tháp
Bộ chốt Hiển thị tình thể lỏng
Điết phát quang Bit có ý nghĩa bé nhật
Bang anh xa
Thừa số lớn nhất
Số hạng nhỏ nhất FET có cực cửa cách ly bằng lớp
ôxit kim loại
ROM được chế tạo bằng phương
pháp che mặt nạ
Bit có ý nghĩa lớn nhất
Trang 16Programmable Array Logic
Programmable Logic Array
Programmable Logic Device
Random Access Memory
Row Address Select
Riple Blanking Input
Riple Blanking Output
Read Only Memory
Resistance Transistor Logic
Register Transfer Level
(Chương 9)
Simple Programmable Logic
Device
Static RAM
Small Scale Integrated
Transistor — Transistor Logic
Very Large Scale Integrated
Công logic dùng Tranzito Mức độ tích hợp rất lớn
Trang 17GIỚI THIỆU
Khi nói đến số đếm, người ta thường nghĩ ngay đến hệ thập phân với 10 chữ số được ký hiệu từ 0 đến 9 Hệ thập phân là một trong nhiều hệ đếm Thông thường người ta quen lấy số 10 làm gốc nhưng trên thực tế một số nguyên dương bất kỳ nào cũng có thể lấy làm gốc cho hệ đếm
Máy tính hiện đại thường không sử dụng số thập phân, mà hay
sử dung số nhị phân với hai ký hiệu là 0 và 1 Khi biểu diễn các số nhị phân rất lớn, người ta thay nó bằng các số bát phân (Octal) và thập lục phân (HexaDecimal)
Trong chương này không chỉ trình bày các hệ thập phân, hệ nhị phân, hệ bát phân, hệ thập lục phân mà còn nghiên cứu cách chuyển đổi giữa các hệ đếm Chương này cũng đề cập đến số nhị phân có dau
và khái niệm về dấu phay động
1.1 BIEU DIEN SO
Tính chất quan trọng nhất của một hệ thống số là sử dụng một dãy các ký tự để thể hiện một cơn số trong hệ Giá trị của một số được thể hiện thông qua giá trị và vị trí của mỗi ký tự, vị trí này có trọng số tăng dần tính từ phải qua trai Số ký tự được dùng được gọi là cơ số của hệ và
ký hiệu là r Trọng số của một hệ đếm bất kỳ sẽ bằng 7, với ¡ là một số nguyên đương hoặc âm
Trong kỹ thuật số có bốn hệ thống số quan trọng được sử dụng:
hệ thập phân, hệ nhị phân, hệ bát phân (hệ tám) và hệ thập lục phân (hệ mười sáu)
Trang 18Trong toán học, người ta gọi hệ đếm theo cơ số của chúng Ví
dụ: Hệ nhị phân = Hệ cơ số 2 Hệ thập phân = Hệ cơ sô 10
Dưới đây trình bày một số hệ đếm thông dụng
1.1.1 Hệ thập phân
Hệ thập phân có L0 ký hiệu từ 0 đến 9 nên còn gọi là hệ cơ số
10 Khi ghép các ký hiệu với nhau ta sẽ được một biêu diễn số
Ví dụ: 1265,34 là biểu diễn số trong hệ thập phân:
Nếu dùng r thay cho cơ số 10 thì biểu thức (1.1) có đạng tổng
quát cho mọi hệ đêm
Biểu diễn số tổng quát:
Ưu điễm: Hệ thập phân là hệ phổ biến trên toàn thế giới Đây là
hệ mà con người đễ nhận biết nhất, Ngoài ra, nhờ có nhiều ký hiệu
nên khả năng biểu diễn của hệ rất lớn, cách biểu diễn gọn, tốn ít thời
gian viết và đọc
._ Nhược điểm: Hệ thập phân có nhiều ký hiệu nên việc thể hiện
bằng thiết bị kỹ thuật sẽ khó khăn và phức tạp
Trang 19Chương 1: Hệ đếm 21
1.1.2 Hệ nhị phân
1.1.2.1 TÔ chức hệ nhị phân
gồm hai ký hiệu 0 và 1, cơ số của hệ là 2, trọng số của hệ là 2", Hệ đêm này được sử dụng rộng rãi trong mạch số
Trong hệ nhị phân, mỗi chữ số chỉ lẫy 2 giá trị hoặc 0 hoặc 1 và được gọi tắt là "bịt" (Binary digit) Nhu vay, bit là số nhị phân 1 chữ
số Số bít tạo thành độ đài biêu dién của một số nhị phân
- Crumb, Tydbit hoặc Tayste: 2 bit
~ Nibble hoặc Nybble: 4 bit
~ Word: (phụ thuộc vào từng hệ thống)
Các giá trị 2! = 1024 được gọi là 1kbit, 22? = 1048576 Mêga bịt Bit tận cùng bên phải gọi là bit có trọng số bé nhất (LSB — Least
Significant Bi0 và bịt tận cùng bên trái gọi là bit có trọng số lớn nhất
(MSB - Most Significant Bit)
Biểu diễn nhị phân dạng tổng quát:
Trang 21mỗi lần thêm một số 0 vào số bị chia cần ghi một số 0 vào thương số
phía sau dấu phảy cho tới khi số bị chia “lớn hơn” số chia Phép tính
này tương tự như trong hệ thập phân
Ưu điểm: Hệ nhị phân chỉ có hai ký hiệu nên rất dễ thể hiện
bằng các thiết bị cơ, điện Các máy vi tính và các hệ thống số đều dựa trên cơ sở hoạt động nhị phân (2 trạng thái) Do đó, hệ nhị phân được xem là ngôn ngữ của các mạch logic, các thiết bị tính toán hiện đại - ngôn ngữ máy
Nhược điểm: Hệ nhị phân biêu diễn dài, do đó thời gian viết, đọc dài
1.1.3 Hệ 8 (bát phân) và hệ 16 (thập lục phân)
1.1.3.1 Hé 8 (Octal number systems)
a Tổ chức của hệ
Hệ 8 gồm § ký hiệu: 0, 1, 2, 3, 4, 5, 6 và 7 nên cơ số của hệ là 8
Hệ cơ số 8 có thể được biểu diễn thành 2” Do đó, mỗi ký hiệu trong
hệ 8 có thể thay thế bằng 3 bịt trong hệ nhị phân
Dạng biểu diễn tổng quát của hệ bát phân như sau:
n-†
Trong đó: a 1 hệ số nhân lấy các giá trị từ 0 đến 7.
Trang 22b Các phép tính trong hệ 8
Phép cộng
Phép cộng trong hệ bát phân được thực hiện tương tự như trong
hệ thập phân Khi kết quả của việc cộng hai hoặc nhiều chữ số cùng
trọng số lớn hơn hoặc bằng 8 phải nhớ lên chữ số có trọng số lớn hơn
kế tiếp
Vi du:
a) 127 b) 632, + 375, + 553,
Trong vi du a) ta tiến hành cộng như sau: 7 + 5 = 1210; trong
hệ § không có số 12 nên ta phải chia 12 cho 8, số dư viết xuống
tổng tương ứng với trọng số đó, thương số nhớ lên trọng số kế tiếp;
tức là 12 : 8 = 1 đư 4, số 4 được viết xuống tổng: tại trong số kế tiếp
2+ 7+ (nhớ) = 10; sau đó ta lấy 10: 8 = 1 dư 2, viết 2 xuống tổng và
số 1 được nhớ lên trọng số kế tiếp; cuối cùng ta lẫy 1 + 3 + I (nhớ) = 5
Phép trừ
Phép trừ cũng được tiến hành như trong hệ thập phân Khi mượn
1 ở số có trọng số lớn hơn kế tiếp thi chi cần cong thém 8)o
Trong ví dụ a) ta tiến hành trừ như sau: 3 + 8 (mượn ở trọng số
kế tiếp) - 5 = 6; tai trong số kế tiếp 2 - 7 - 1 + § (mượn) = 2; cuối cùng
Trang 23Chương 1: Hệ đếm 25
Trong đó:
A= 1019, B= 119, C = 1219, D= 13,9, E= 1419, F= 1519
Cơ số của hệ là 16 số 16 có thể được biểu diễn bằng 2* Do vậy,
ta có thể dùng một từ nhị phan 4 bit (tir 0000 đến 1111) để biểu thị các
ký hiệu thập lục phân Dạng biểu diễn tổng quát:
số lớn hơn kế tiếp Nếu các chữ số là A B, C D, E, F thì trước hết, ta
phải đổi chúng về giá trị thập phân tương ứng rồi mới tiến hành cộng
16, số dự viết xuống tổng tương ứng với trọng số đó, thương số nhớ
số 1 được cộng vào trọng số kế tiếp; tại trọng số kế tiếp 6 + 8 + 1(hớ)
= 1510 =Fl6;
Phép trừ
Khi trừ một số bé hơn cho một số lớn hơn ta cũng mượn 1 ở cột
kế tiếp bên trái, nghĩa là cộng thêm 16 rồi mới trừ
Trang 24Trong ví dụ a) ta tiễn hành trừ như sau: 5 + 16 (muon & trọng số
kế tiếp) — 12 (C16) = 9; tại trọng số kế tiếp 9 - 7 - 1 = 1; cuối cùng ta
lẫy 14 (E16) - 8 =6
Phép nhân
Muốn thực hiện phép nhân trong hệ 16 ta phải đổi các số trong
mỗi thừa số về thập phân, nhân hai số với nhau Sau đó, đổi kết quả về
hệ 16 Bảng 1.1 biểu diễn 16 số đầu tiên trong các hệ số đếm
Bảng 1.1: Biểu diễn số của 4 hệ đêm thường dùng
1.2 CHUYỂN ĐỎI CƠ SÓ GIỮA CÁC HỆ ĐÉM
1.2.1 Chuyển đỗi từ hệ cơ số 10 sang các hệ khác
Để thực hiện việc đổi một số thập phân đầy đủ sang các hệ khác
ta phải chia ra hai phần: phần nguyên và phân số
Đối với phần nguyên:
Vi dụ, đổi từ hệ thập phân sang hệ nhị phân:
Trong đẳng thức sau, về trái là số thập phân, về phải là số nhị
phân:
Trang 25Chương 1: Hệ đếm 27
N,,.=4,2"+4,_,2"'+ +a,2'+a, mà " (1.6)
=2(a,2"'+a,_j2"?+ 4.a,)+a,
Do a, cé gia tri bang 0 hode 1, nén ta có:
=2(a,2°2+a, 2772112, ,+a)+8,
Từ biểu thức (1.6) và (1.7) ta thấy:
Bit đầu tiên của số nhị phân là ao bằng sé du khi chia Nig cho 2
Bịt tiếp theo của số nhị phân là a, bằng số dư khi chia thương số của
phép chia trước cho 2
Tương tự như vậy để tìm toàn bộ các bit của số nhị phân
Đối với việc đổi từ hệ thập phân sang hệ 8 và 16 cũng thực hiện tương tự như vậy
Tóm lại: Ta chia liên tiếp phần nguyên của số thập phân cho cơ số của hệ cần chuyển đến, số đư sau mỗi lần chia viết đảo ngược trật tự là
kết quả cần tìm Phép chia dừng lại khi kết quả lần chia cuối cùng bằng 0
Vi dụ 1: Đôi số 3510 sang số nhị phân
Trang 26Ví dụ 3: Đỗi số 35,9 sang hệ 16
Tacé: 35,5 = 2316
Đối với phần phân số:
Ví dụ, đổi từ hệ thập phân sang hệ nhị phân:
Trong đẳng thức sau, về trái là số thập phân, về phải là số nhị phân:
Nhân 2 về với 2, ta có:
a, tr thanh phần nguyên của phần nguyên của về phải Phần
phân sô còn lại là:
- Nếu tiếp tục nhân 2 về với 2 ta lại được a là phần nguyên của
vệ phải (của tích số lần thứ 2):
2[2N,—a ,]=a.,+(a,2'+a,22+ +a 22) (11)
Tương tự như vậy, ta tìm được toàn bộ các bit của số nhị phân
Đối với việc đổi từ phần phân số của hệ thập phân sang hệ 8 và
16 cũng thực hiện tương tự như vậy,
Tóm lại: Khi chuyển phần phân số ta thực hiện như sau: nhân liên tiếp phần phân số của số thập phân với cơ số của hệ cần chuyển đến, phần nguyên thu được sau mỗi lần nhân, viết tuần tự là kết quả cân tìm Phép nhân dừng lại khi phần phân số triệt tiêu hoặc cho đến khi đạt được số bít nằm sau dấu phảy theo yêu cầu (trong trường hợp
phép nhân không hội tụ về 0)
Vi đụ 1: Đôi số 35,37510 sang số nhị phân
Phần nguyên ta vừa thực hiện ở ví dụ a), đo đó chỉ cần đổi phần phân số 0,375.
Trang 27
Kết quả : 0,375 = 0,616
1.2.2 Đôi một biêu diễn trong hệ bắt kì sang hệ thập phân
Muốn thực hiện phép biến đổi, ta dùng công thức:
1
Nyg =ay_p xr titag xr ot ayer titel x (112) Thực hiện lấy tổng về phải sẽ có kết quá cần tìm Trong biểu thức trên, z, và r là hệ số và cơ số hệ có biểu diễn
Vi đụ: 101102=1x24+0x23+1x22+1x21 +0x20 =2210
2l5;= 2x82+1x8'+5x8?= 14lip
76A¡¿= 7x 162 + 6 x 16! + 10 x 16° = 189815
1.2.3 Đỗi các số từ hệ nhị phân sang hệ cơ số 8 va 16
Vi 8 = 2? va 16 = 2' nên ta chỉ cần dùng một số nhị phân 3 bit là
đủ ghỉ 8 ký hiệu của hệ cơ số 8 và từ nhị phân 4 bit cho hệ cơ số 16
Do đó, muốn đổi một số nhị phân sang hệ cơ số 8 va 16 ta chia
số nhị phân cần đổi, kể từ dấu phân số sang trái và phải thành từng nhóm 3 bịt hoặc 4 bit Sau đó thay các nhóm bit đã phân bằng ký hiệu tương ứng của hệ cần đổi tới.
Trang 28Vi du:
a Déi sé 110111,0111; sang số hệ cơ số 8
Tính từ dấu phân số, ta chia số này thành các nhóm 3 bit như sau:
110 111, 011 100
4 3 vie
6 7 3 4
Kết quả: 110111,0111, = 67,34 (Ta đã thêm 2 số 0 phía sau
đấu phảy để tiện biến đổi)
b Đồi số nhị phân 111110110,01101; sang số hệ cơ số 16
Ta phân nhóm và thay thế như sau:
0001 1111 0110, 0110 1000
Két qua: 111110110,01101) = 1F6,6816 *
1.3 SO NHI PHAN CO DAU
1.3.1 Biểu diễn số nhị phân có dấu
Có ba phương pháp thể hiện số nhị phân có đấu
Bảng 1.2: Bảng biểu diễn các số nhị phân có dấu
Trang 29
Chương 1: Hệ đếm 31
- Trong phương pháp này ta dùng một bịt phụ, đứng trước các bit
trị số để biểu điễn đầu, *0° chỉ đầu đương (+), “1' chỉ đấu âm (-)
- 910 = 1000 1001,
2 Si dung pháp bù 1
; Số dương giữ nguyên trị số, bịt đấu là 0; số âm: bit dấu là 1 va
lấy bù 1 các bit trị số Bù 1 được thực hiện bằng cách lầy đảo của các
bit cần được lây bù
Bu 2 được thực hiện bằng cách lấy bù 1 cộng 1
Có thể biểu diễn số âm theo phương pháp bù 2 xen kẽ: bắt đầu từ bịt LSB, địch về bên trái, giữ nguyên các bit cho đến gặp bit 1 đầu tiên
và lây bù các bít còn lại Bit dau giữ nguyên
1.3.2 Các phép cộng và trừ số nhị phân có dấu
Như đã nói ở trên, phép bù 1 và bù 2 thường được áp dụng dé
thực hiện các phép tính nhị phân với số có dấu.
Trang 301.3.2.1 Cộng và trừ các số theo biểu diễn bù 1
+
Bittràn-> + 1
11110011 (-12,) Hai số khác dấu và số âm lớn hơn: cộng số đương với bù 1 của
số âm Kết quả không có bit tràn và ở đạng bù 1
11110101; (-10m) + 00000101 (+5,
Trang 3110000 0100,
4
Bit tran—> bổ
“90000100 (+4) Hai số khác dấu và số âm lớn hơn: số đương được cộng với bù 2 của số âm, kết quả ở dạng bù 2 của số dương tương ứng Bit đấu là 1
11111100, - (-3g)
b Pháp trừ
Phép trừ hai số có dấu là các trường hợp riêng của phép cộng Ví
dụ, khí lấy +9 trừ đi +6 là tương ứng với +9 cộng với -Š
1.4 DAU PHAY ĐỘNG
1.4.1 Biểu diễn theo dấu phầy động
Ngoài các số nguyên còn có các số có phần phân số, để phần
cách giữa phân nguyên và phần phân số Người Việt dùng dấu phảy
Trang 32nhưng theo ngôn ngữ máy thì dấu này là dấu chấm Có hai loại dấu chấm là dấu chấm tĩnh và đấu chấm động
Đầu chẳm tĩnh:
Xét vi du 1:
210 520 3, + 10 4 20 0 &
3 14 7 2 1 đụ
Để thực hiện phép tính trên, máy tính sẽ thực hiện tính từ số tận
cùng bên phải, sau đó thêm đầu chấm thập phân vào lưu trữ ở một ô nhớ xác định thích hợp Cách thức tính như vậy gọi là cách tính với dấu chấm tĩnh
Xét ví dụ 2: (5.6259 + 4.549)
Máy tính sẽ nhập dữ liệu và chuyển chúng sang số nhị phân, và
coi mễi số là một byte: (0101.1010; + 0100.1000;) và thực hiện theo
quy tắc cộng thông thường
lượng lớn byie nhớ để lưu trữ các số 0 Do đó, nếu sử dụng dấu chấm
tĩnh thì rất bat tiện, nên trong các máy tính số thường biểu điễn và lưu trữ những số trên theo dạng dấu chấm động (hay dấu phảy động)
Ví dụ biểu diễn số: 1900000 =1.9 x 10%= 1.9E6
0.0000019 = 0.19x 10 = 0.19E-5
Trang 33chấm động có cơ số ngầm định là 2, được chuẩn hóa sao cho phần
định trị F nằm trong dai 1 < F < 2 (ứng với phần nguyên bằng 1) Một
số X được định nghĩa là:
Trong do:
§ là bit đấu (S = 0: phần định trị dương; S = 1: phần định trị âm)
E là số mũ được dịch chuyển đi B vị trí
F là phan định trị
Thông thường B được chọn bằng 2"! trong đó ø là độ dai bit cha trường số mũ Điều đó cho phép lưu trữ các số mũ trong dạng được chuyển dịch chỉ gồm toàn các số nhị phân không âm vì số mũ âm nhất đã được chuyển thành số 0
Vi đụ: Với m = 8 thì dải số mũ thực sự là -128 đến +127 Nếu chọn
B=2#! = 128 thì ta sẽ có số mũ âm nhất được dịch là -128 + 128 = 0 và
số mũ đương lớn nhất là +127 + 128 = +255
Chuẩn [EEE 754-1985 phân định 3 dạng số dấu chấm động cơ bản:
+ Số có độ chính xác don dai 32 bit (Single)
+ Số có độ chính xác kép dài 64 bit (Double)
+ §ố có độ chính xác mở rộng dài 128 bit (Quadruple)
Bảng 1.3 biểu diễn các định dạng của các loại số dấu chấm động
theo tiêu chuẩn IEEE.
Trang 34Bảng 1.3: Dịnh dạng của dầu chấm động
Bè rộng của trưởng (bi) — -
1.4.2 Các phép tính với biểu diễn đấu phảy đụ 1g -
Giống như các phép tính của hàm mũ Giả sử có hai số theo đầu
phây động đã chuẩn hóa: X =2 (M,) và Y=2'*(M, } thì:
E +E,
Phép nhan: Z= XY =2 (M M, ) =2z M,
Phép chia: W = X/Y =2°* (M, /M,)=2& My
Muén lay tổng và hiệu, cần đưa các số hạng về cùng số mũ, sau
đó số mũ của tổng và hiệu sẽ lấy số mũ chung còn định trị của tổng
và hiệu sẽ bằng tổng và hiệu các định trị thành phân
Trang 35Chương 1: Hệ đếm 37
phân đó thành số nhị phân và khi hiển thị phải chuyển số nhị phân
thành thập phân Số BCD thực hiện nhiệm vụ chuyển 10 ký hiệu thập
phân thành cụm số nhị phân 4 bit (1 đề các) Từ số 10 trở lên thì mỗi
ký hiệu số được biểu thị ít nhất bằng 2 đề các nhị phân
Ngoài mã NBCD còn có rất nhiều loại mã BCD với các trọng số
khác nhau Bảng 1.4 giới thiệu một số loại mã BCD thường gặp với các chỉ số đi theo mã là các trọng số BCD ở các vị trí tương ứng
a) Mã BCD 7421
b) Mã BCD 5121
c) Mã BCD 2421 (mã Aiken) Mã Aiken được sắp xép đối xứng,
tức là sự phủ định của tất cả các vị trí của một từ mã nhị phân ở một vị trí nào đó sẽ có một từ mã nằm đối xứng có phần bù tương ứng
~- Mã BCD có trọng số không thay đổi;
- Được sắp xếp theo quy luật
~ Dễ nhớ.
Trang 36Trong các máy tính số, phép trừ số thập phân được thay thế bởi
phép cộng với số bù của nó Có hai loại mã bù thường được dùng cho
Trang 37Lưu ý: Khi thực hiện cộng/“*rừ theo bù 10 nếu kết quả xuất hiện
bit tràn thì ta phải bỏ bít tràn đó đi
Lưu ý: Khi thực hiện cộng/trừ theo bù 2 nếu kết quả xuất hiện
bit tràn thì ta phải cộng bit tràn đó với kết quả trung gian 48 được đáp
số đúng.
Trang 38đề các kế tiếp và phải hiệu chỉnh đề các đó Có nhiều cách hiệu chỉnh
để các chứa số thập phân lớn hơn 9, một trong những cách đó là cộng
với 6t; (0110) Nếu xuất hiện bit tràn thì phải cộng bít tràn đó vào kết quả Nếu không xuất hiện bít tràn thì đáp số ở đạng bù
Phép trừ số thập phân được thực hiện trên cơ sở phép cộng bằng cách cộng với số bù của số trừ
Trang 390101 0011
1.5.3 Các dạng mã nhị phân khác
1.5.3.1 Mã dự 3
Do trọng số nhị phân của mỗi vị trí biểu diễn thập phân là tự
nhiên nên máy tính có thể thực hiện trực tiếp các phép tính cộng, trừ,
nhân, chia theo mã NBCD Tuy nhiên nhược điểm chính của mã là tồn
tại tổ hợp toàn Zero (0), gây khó khăn trong việc đồng bộ khi truyền dẫn tín hiệu
Vì vậy, người ta sử dụng mã Dư-3 được hình thành từ mã
NBCD bằng cách cộng thêm 3¡o vào mỗi tổ hợp mã Như vậy, mã không bao gồm tổ hợp toàn Zero Mã Dư-3 chủ yếu được dùng để
truyền dẫn tín hiệu mà không dùng cho việc tính toán trực tiếp.
Trang 401.5.3.2 Ma Gray
Mã Gray còn được gợi là mã cách 1, là loại mã mà các tô hợp
mã kế nhau chỉ khác nhau duy nhất 1 bit Loại mã này không có tính trọng số Do đó, giá trị thập phân đã được mã hóa chỉ được giải mã
thông qua bảng mã mà không thê tính theo tổng trọng số như đối với
15,33 Mé Johnson (vong xodn)
Mã Johnson sử dụng 5 bít nhị phân để biểu điễn 10 ký hiệu thập
phân Mã này có số bit 1 tăng dẫn từ trái qua phải cho đến khi đầy, sau
đó giảm dan bit 1
1.5.3.4 Mã vòng
Mã vòng sử dụng 10 bit nhị phân để biểu điễn 10 ký hiệu thập
phân với các trọng số 9876543210 Mỗi tổ hợp mã chỉ bao gồm một
bít 1 chạy vòng từ phải qua trái
Bang 1.5: Cấu tạo của một số mã nhị phân thông dụng