KỸ THUẬT SỐ
MỤC LỤC
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ .................................................................1
1.1 Nguyên lý việc viết số ...........................................................................................1
1.2 Các hệ thống số .....................................................................................................2
1.2.1 Hệ cơ số 10 (thập phân, Decimal system) ......................................................2
1.2.2 Hệ cơ số 2 (nhị phân, Binary system) ............................................................2
1.2.3 Hệ cơ số 8 (bát phân, Octal system) ...............................................................2
1.2.4 Hệ cơ số 16 (thập lục phân, Hexadecimal system) ........................................2
1.3 Biến đổi qua lại giữa các hệ thống số ....................................................................2
1.3.1 Đổi một số từ hệ b sang hệ 10 ........................................................................3
1.3.2 Đổi một số từ hệ 10 sang hệ b ........................................................................3
1.3.3 Đổi một số từ hệ b sang hệ bk và ngƣợc lại ....................................................4
1.3.4 Đổi một số từ hệ bk sang hệ bp .......................................................................5
1.4 Các phép tính trong hệ nhị phân ............................................................................6
1.4.1 Phép cộng .......................................................................................................6
1.4.2 Phép trừ...........................................................................................................7
1.4.3 Phép nhân .......................................................................................................7
1.4.4 Phép chia ........................................................................................................7
1.5 Mã hóa ...................................................................................................................7
1.5.1 Tổng quát ........................................................................................................7
1.5.2 Mã BCD ..........................................................................................................8
1.5.2.1. Khái niệm ...............................................................................................8
1.5.2.2. Phân loại .................................................................................................8
1.5.3 Mã Gray ..........................................................................................................9
1.5.4 Biểu diễn nhị phân các ký tự ........................................................................10
BÀI TẬP CHƢƠNG 1 ..............................................................................................12
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC ..........................................14
2.1 Các tiên đề và định lý đại số Boole .....................................................................14
2.1.1 Các tiên đề của đại số Boole.........................................................................14
2.1.2 Các định lý cơ bản của đại số Boole ............................................................15
2.2 Hàm Boole và các phƣơng pháp biểu diễn ..........................................................15
2.2.1 Hàm Boole ....................................................................................................15
2.2.1.1. Định nghĩa ............................................................................................16
ĐẠI HỌC DUY TÂN
KỸ THUẬT SỐ
2.2.1.2. Các tính chất của hàm Boole ................................................................16
2.2.1.3. Giá trị của hàm Boole ...........................................................................16
2.2.2 Các phƣơng pháp biểu diễn hàm Boole .......................................................17
2.2.2.1. Phƣơng pháp biểu diễn hàm bằng giá trị ..............................................17
2.2.2.2. Phƣơng pháp giải tích ...........................................................................17
2.2.2.3. Biểu diễn hàm bằng bảng Karnaugh ....................................................22
2.3 Tối thiểu hóa hàm Boole .....................................................................................23
2.3.1 Đại cƣơng .....................................................................................................23
2.3.2 Các bƣớc tiến hành tối thiểu hóa ..................................................................23
2.3.3 Các phƣơng pháp tối thiểu hóa .....................................................................23
2.3.3.1. Phƣơng pháp biến đổi đại số ................................................................23
2.3.3.2. Phƣơng pháp bảng Karnaugh ...............................................................24
2.4 Các phần tử logic cơ bản .....................................................................................27
2.4.1 Các khái niệm liên quan ..............................................................................27
2.4.1.1. Tín hiệu tƣơng tự và tín hiệu số ...........................................................27
2.4.1.2. Mạch tƣơng tự và mạch số ...................................................................28
2.4.1.3. Biểu diễn các trạng thái Logic 1 và 0 ....................................................28
2.4.2 Cổng logic cơ bản. ........................................................................................28
2.4.2.1. Cổng Đệm (Buffer)...............................................................................28
2.4.2.2. Cổng Đảo (Not) ....................................................................................29
2.4.2.3. Cổng Và (AND) ...................................................................................29
2.4.2.4. Cổng Hoặc (OR) ...................................................................................30
2.4.2.5. Cổng NAND .........................................................................................31
2.4.2.6. Cổng NOR ............................................................................................33
2.4.2.7. Cổng XOR (EX – OR) .........................................................................35
2.4.2.8. Cổng XNOR (EX – NOR) ....................................................................35
2.4.3 Các thông số của mạch IC số: ......................................................................36
2.4.3.1. Các đại lƣợng điện đặc trƣng ................................................................36
2.4.3.2. Công suất tiêu tán (Power requirement) ...............................................36
2.4.3.3. Thời trễ truyền (Propagation delay) ......................................................37
2.4.3.4. Tích số cơng suất-vận tốc (speed- power product) ...............................37
2.4.3.5. Fanout (hệ số mắc mạch ngõ ra) ..........................................................37
2.4.3.6. Fanin (hệ số mắc mạch ngõ vào) ..........................................................38
2.4.3.7. Độ chống nhiễu.....................................................................................38
ĐẠI HỌC DUY TÂN
KỸ THUẬT SỐ
2.4.4 Họ TTL .........................................................................................................38
2.4.4.1. Cổng cơ bản họ TTL.............................................................................38
2.4.4.2. Đặc tính các loại TTL ...........................................................................39
2.4.5 Họ MOS ........................................................................................................40
2.4.5.1. Cổng cơ bản NMOS .............................................................................40
2.4.5.2. Đặc tính của họ MOS ...........................................................................41
2.4.5.3. Các họ CMOS.......................................................................................41
BÀI TẬP CHƢƠNG 2...............................................................................................43
CHƢƠNG 3: MẠCH TỔ HỢP .....................................................................................48
3.1. Mạch mã hóa ......................................................................................................48
n
3.1.1 Mạch mã hóa 2 đƣờng sang n đƣờng .........................................................48
3.1.2 Mạch mã hóa nhị phân .................................................................................49
3.1.3 Mạch tạo mã BCD cho số thập phân ............................................................51
3.1.4 Mạch chuyển mã...........................................................................................52
3.1.4.1. Mạch chuyển mã nhị phân sang Gray ..................................................52
3.1.4.2. Mạch mã hóa ƣu tiên: ...........................................................................53
3.2 Mạch giải mã .......................................................................................................54
3.2.1 Giải mã n đƣờng sang 2n đƣờng ...................................................................54
3.2.1.1. Giải mã 2 đƣờng sang 4 đƣờng: ...........................................................54
3.2.1.2. Giải mã 3 đƣờng sang 8 đƣờng ............................................................54
3.2.2 Giải mã BCD sang 7 đoạn ............................................................................55
3.2.2.1. Đèn 7 đoạn ............................................................................................55
3.2.2.2. Mạch giải mã BCD sang 7 đoạn :.........................................................56
3.3 Mạch đa hợp và mạch giải đa hợp .......................................................................57
3.3.1.Khái niệm .....................................................................................................57
3.3.2 Mạch đa hợp .................................................................................................57
3.3.3 Ứng dụng mạch đa hợp ................................................................................58
3.3.3.1. Biến chuỗi dữ liệu song song thành nối tiếp: .......................................58
3.3.3.2. Tạo chuỗi xung tuần hoàn : ..................................................................59
3.3.3.3. Mạch tạo hàm logic ..............................................................................59
3.3.3.4. Định hƣớng data ...................................................................................59
3.3.4 Mạch giải đa hợp ..........................................................................................60
3.4 Mạch làm toán .....................................................................................................63
3.4.1 Mạch cộng nhị phân: ....................................................................................63
ĐẠI HỌC DUY TÂN
KỸ THUẬT SỐ
3.4.1.1. Mạch cộng bán phần (Half adder, HA): ...............................................63
3.4.1.2. Mạch cộng toàn phần (Full adder,FA) : ...............................................63
3.4.2 Cộng hai số nhị phân nhiều bit: ....................................................................64
3.4.2.1. Cộng nối tiếp ........................................................................................64
3.4.2.2. Cộng song song ....................................................................................64
3.4.2.3. Mạch cộng song song định trƣớc số nhớ ..............................................64
3.4.2.4. Cộng hai số BCD ..................................................................................65
3.4.2.5. Mạch cộng lƣu số nhớ ..........................................................................67
3.4.3 Mạch trừ nhị phân: ......................................................................................68
3.4.3.1. Mạch trừ bán phần ................................................................................68
3.4.3.2. Mạch trừ có số nhớ (mạch trừ toàn phần) ............................................68
3.4.3.3. Trừ số nhiều bit ....................................................................................68
3.5 Mạch so sánh .......................................................................................................69
3.5.1 Mạch so sánh 2 số 1 bit ................................................................................69
3.5.2 Mạch so sánh 2 số nhiều bit .........................................................................69
3.6 Mạch kiểm / phát chẵn lẻ.....................................................................................71
3.6.1 Mạch phát chẵn lẻ (Parity Generator, PG) ...................................................71
3.6.2 Mạch kiểm chẵn lẻ (Parity Checker, PC) .....................................................72
BÀI TẬP CHƢƠNG 3...............................................................................................73
CHƢƠNG 4: MẠCH TUẦN TỰ ..................................................................................75
4.1 FLIP FLOP ..........................................................................................................75
4.1.1 Chốt RS ........................................................................................................76
4.1.1.1. Chốt RS tác động mức cao: ..................................................................76
4.1.1.2. Chốt RS tác động mức thấp: .................................................................77
4.1.1.3. Đặc điểm cơ bản ...................................................................................78
4.1.2 Flip Flop RS .................................................................................................78
4.1.2.1. Flipflop RS có ngõ vào Preset và Clear: ..............................................79
4.1.2.2. Flipflop RS chủ tớ: ...............................................................................80
4.1.2.3. Đặc điểm cơ bản ...................................................................................81
4.1.3 Flipflop JK ....................................................................................................81
4.1.4 FlipFlop D ....................................................................................................82
4.1.5 FlipFlop T .....................................................................................................82
4.2 Mạch ghi dịch ......................................................................................................83
4.2.1 Vào nối tiếp/ ra song song ............................................................................83
ĐẠI HỌC DUY TÂN
KỸ THUẬT SỐ
4.2.2 Vào song song/ ra song song (74174, 74374) ..............................................84
4.2.3 Vào nối tiếp/ ra nối tiếp ................................................................................85
4.2.4 Vào song song/ ra nối tiếp ............................................................................85
4.2.5 IC ghi dịch tiêu biểu .....................................................................................85
4.2.6 Ứng dụng của ghi dịch .................................................................................86
4.3 Mạch đếm ............................................................................................................86
4.3.1 Mạch đếm không đồng bộ ............................................................................86
4.3.1.1. Mạch đếm không đồng bộ, n tầng, đếm lên: ........................................86
4.3.1.2. Mạch đếm không đồng bộ, n tầng, đếm xuống (n = 4): .......................88
4.3.1.3. Mạch đếm không đồng bộ, n tầng, đếm lên/xuống (n = 4): .................89
4.3.1.4. Mạch đếm không đồng bộ modulo - N (N = 10) ..................................90
4.3.1.5. Trễ trong mạch đếm không đồng bộ ....................................................91
4.3.2 Mạch đếm đồng bộ .......................................................................................92
4.3.2.1. Mạch đếm đồng bộ n tầng, đếm lên .....................................................92
4.3.2.2. Mạch đếm đồng bộ n tầng, đếm xuống ................................................94
4.3.2.3. Mạch đếm đồng bộ n tầng, đếm lên/ xuống .........................................94
4.3.2.4. Mạch đếm đồng bộ Modulo - N (N ≠ 2n) .............................................95
4.3.3 Mạch đếm vòng ..........................................................................................101
4.3.3.1. Hồi tiếp từ QD về JA, Q D về KA .........................................................101
4.3.3.2. Hồi tiếp từ Q D về JA, QD về KA .........................................................102
4.3.3.3. Hồi tiếp từ Q D về JA, QC về KA .........................................................102
4.3.4 Ứng dụng của mạch đếm: ...........................................................................103
BÀI TẬP CHƢƠNG 4.............................................................................................104
CHƢƠNG 5: BỘ NHỚ BÁN DẪN ............................................................................106
5.1 Thuật ngữ liên quan đến bộ nhớ ........................................................................106
5.2 Đại cƣơng về vận hành của bộ nhớ ...................................................................108
5.2.1 Các tác vụ và các nhóm chân của một IC nhớ ...........................................108
5.2.2 Giao tiếp giữa IC nhớ và bộ xử lý trung tâm (CPU) ..................................109
5.3 Các loại bộ nhớ bán dẫn ....................................................................................109
5.3.1 ROM (Read Only Memory) .......................................................................110
5.3.1.1. ROM mặt nạ (Mask Programmed ROM, MROM) ...........................110
5.3.1.2. ROM lập trình đƣợc (Programmable ROM, PROM) ........................112
5.3.1.3. ROM lập trình đƣợc, xóa đƣợc bằng tia U.V. (Ultra Violet Erasable
Programmable ROM, U.V. EPROM) .............................................................112
ĐẠI HỌC DUY TÂN
KỸ THUẬT SỐ
5.3.1.4. ROM lập trình đƣợc và xóa đƣợc bằng xung điện (Electrically Erasable
PROM, EEPROM hay Electrically Alterable PROM, EAPROM) .................113
5.3.1.5. FLASH ROM .....................................................................................114
5.3.1.6. Giản đồ thời gian của ROM ...............................................................114
5.3.2 Thiết bị logic lập trình đƣợc (Programmable logic devices, PLD) ............115
5.3.2.1. PROM .................................................................................................116
5.3.2.2. PAL .....................................................................................................116
5.3.2.3. PLA .....................................................................................................117
5.3.3 RAM (Random Acess Memory) ................................................................118
5.3.3.1. RAM tĩnh (Static RAM, SRAM) .......................................................118
5.3.3.2. RAM động (Dynamic RAM, DRAM) ...............................................120
5.3.3.3. Đa hợp địa chỉ.....................................................................................121
5.3.3.4. Giản đồ thời gian của DRAM ............................................................121
5.3.3.5. Làm tƣơi DRAM ................................................................................122
5.4 Mở rộng bộ nhớ .................................................................................................123
5.4.1. Mở rộng độ dài từ ......................................................................................123
5.4.2 Mở rộng vị trí nhớ ......................................................................................123
5.4.3 Mở rộng dung lƣợng nhớ............................................................................124
CÂU HỎI CHƢƠNG 5: ..........................................................................................126
TÀI LIỆU THAM KHẢO ..........................................................................................127
ĐẠI HỌC DUY TÂN
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Mục tiêu:
- Nhắc lại sơ lƣợc nguyên lý việc viết số
- Giới thiệu các hệ thống số khác và cách chuyển đổi qua lại
- Giới thiệu các mã thông dụng
Nhu cầu về định lƣợng trong quan hệ giữa con ngƣời với nhau, nhất là trong
những trao đổi thƣơng mại, đã có từ khi xã hội hình thành. Đã có nhiều cố gắng trong
việc tìm kiếm các vật dụng, các ký hiệu,… dùng cho việc định lƣợng này nhƣ các que
gỗ, vỏ sò, số La Mã,… Hiện nay số Ả Rập tỏ ra có nhiều ƣu điểm khi đƣợc sử dụng
trong định lƣợng, tính tốn,…
Việc sử dụng hệ thống số hằng ngày trở nên quá quen thuộc khiến chúng ta có
thể qn đi sự hình thành và các quy tắc để viết các con số.
Chúng ta sẽ đặc biệt quan tâm tới hệ thống nhị phân là hệ thống đƣợc dùng
trong lĩnh vực điện tử, tin học nhƣ là một phƣơng tiện để giải quyết các vấn đề mang
tính logic.
1.1 Nguyên lý việc viết số
Một số đƣợc viết bằng cách đặt kề nhau các ký hiệu, đƣợc chọn trong một tập
hợp xác định. Mỗi ký hiệu trong một số đƣợc gọi là số mã (số hạng, digit). Trong hệ
thống thập phân (cơ số 10) tập hợp này gồm 10 ký hiệu rất quen thuộc, đó là các con
số từ 0 đến 9:
S10 = {0,1,2,3,4,5,6,7,8,9}
Khi một số gồm nhiều số mã đƣợc viết, giá trị của các số mã tùy thuộc vị trí của
nó trong số đó. Giá trị này đƣợc gọi là trọng số của số mã.
Ví dụ 1: Số 1998 trong hệ thập phân có giá trị xác định bởi triển khai theo đa
thức của 10:
199810 = 1x103 + 9x102 + 9x101 + 8x100 = 1000 + 900 + 90 + 8
Trong khai triển, số mũ của đa thực chỉ vị trí của một ký hiệu trong một số với
quy ƣớc vị trí hàng đơn vị là 0, các vị trí tiếp theo về phía trái là 1, 2, 3,… Nếu có
phần lẻ, vị trí đầu tiên sau dầu phẩy là -1, các vị trí tiếp theo về phía phải là -2, -3,…
Ta thấy số 9 đầu tiên (sau số 1) có trọng số là 900 trong khi số thứ hai chỉ là 90.
Có thể nhận xét là với hai ký hiệu giống nhau trong hệ 10, ký hiệu đứng trƣớc
có trọng số gấp 10 lần ký hiệu đứng ngay sau nó. Điều này hồn tồn đúng cho các hệ
khác, ví dụ, đối với hệ 2 (cơ số 2) thì tỉ lệ này là 2.
Tổng quát, một hệ thống số đƣợc gọi là hệ b sẽ gồm b ký hiệu trong một tập
hợp:
Sb = {S0,S1,S2,….Sb-1}
Một số N đƣợc viết:
N = (anan-1an-2…ai…a0,a-1a-2…a-m)b với ai ϵ Sb
Sẽ có giá trị:
n
N = a n bn +a n-1bn-1 +a n-2 b n-2 +...+a 0 b0 +a -1b-1 +a -2 b-2 +...+a -m b-m = a i bi
i=-m
i
aib chính là trọng số của một ký hiệu trong Sb ở vị trí thứ i
1
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
1.2 Các hệ thống số
1.2.1 Hệ cơ số 10 (thập phân, Decimal system)
Hệ thập phân là hệ thống số rất quen thuộc, gồm 10 số mã nhƣ nói trên.
Dƣới đây là vài ví dụ số thập phân:
N = 199810 = 1x103 + 9x102 + 9x101 + 8x100 = 1x1000 + 9x100 + 9x10 + 8x1
N = 3,1410 = 3x100 + 1x10-1 + 4x10-2 = 3 x 1 + 1 x 1/10 + 4 x 1/100
1.2.2 Hệ cơ số 2 (nhị phân, Binary system)
Hệ nhị phân gồm 2 số mã trong tập hợp:
S2 = {0,1}
Mỗi số mã trong một số nhị phân đƣợc gọi là một bit (viết tắc của binary digit).
Số N trong hệ nhị phân:
N = (anan-1an-2…ai…a0,a-1a-2…a-m)2 với ai ϵ S2
Có giá trị là:
N = a n 2n +a n-1 2n-1 +...+a i 2i +...+a 0 20 +a -1 2-1 +a -2 2-2 +...+a -m 2-m
an là bit có trọng số lớn nhất, đƣợc gọi là MSB (Most significant bit) và a -m là
bit có trọng số nhỏ nhất, gọi là LSB (Least significant bit).
Ví dụ 2: N = 1010,12 = 1x23 + 0x22 + 1x21 + 0x20 + 1x2-1 = 10,510
1.2.3 Hệ cơ số 8 (bát phân, Octal system)
Một bất lợi của hệ thống số nhị phân là biểu diễn nhị phân sẽ dẫn tới các chuỗi
bit dài dễ gây nhầm lẫn, để dễ dàng hơn ngƣời ta thƣờng biểu diễn ở các dạng bát phân
hoặc thập lục phân.
Hệ bát phân gồm 8 số trong tập hợp
S8 = {0,1,2,3,4,5,6,7}
Số N trong hệ bát phân:
N = (anan-1an-2…ai…a0,a-1a-2…a-m)8 với ai ϵ S8
Có giá trị là:
N=a n 8n +a n-18n-1 +...+a i 8i +...+a 0 80 +a -18-1 +a -2 8-2 +...+a -m 8-m
Ví dụ 3: N = 157,268 = 1x82 + 5x81 + 7x80 + 2x8-1 + 6x8-2 = 160,343810
1.2.4 Hệ cơ số 16 (thập lục phân, Hexadecimal system)
Hệ thập lục phân đƣợc dùng rất thuận tiện cho con ngƣời giao tiếp với máy
tính, hệ này gồm 16 số trong tập hợp
S16 = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
(A tƣơng đƣơng với 1010 , B = 1110 , …., F = 1510)
Số N trong hệ thập lục phân:
N = (anan-1an-2…ai…a0,a-1a-2...a-m)16 với ai ϵ S16
Có giá trị là:
N = a n 16n +a n-116n-1 +...+a i16i +...+a 0160 +a -116-1 +a -216-2 +...+a -m16-m
Ngƣời ta dùng chữ H (hay h) sau con số để chỉ số thập lục phân.
Ví dụ 4: N = 12F,316 = 1x162 + 2x161 + 15x160 + 3x16-1 = 303,187510
1.3 Biến đổi qua lại giữa các hệ thống số
2
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Khi đã có nhiều hệ thống số, việc xác định giá trị tƣơng đƣơng của một số trong
hệ này so với hệ kia là cần thiết. Phần sau đây cho phép ta biến đổi qua lại giữa các số
trong bất cứ hệ nào sang bất cứ hệ khác trong các hệ đã giới thiệu.
1.3.1 Đổi một số từ hệ b sang hệ 10
Để đổi một số từ hệ b sang hệ 10 ta triển khai trực tiếp đa thức của b
Một số N trong hệ b:
N = (anan-1an-2…ai…a0,a-1a-2…a-m)b với ai ϵ Sb
Có giá trị tƣơng đƣơng trong hệ 10 là:
N = a n bn +a n-1bn-1 +...+a i bi +...+a 0 b0 +a -1b-1 +a -2b-2 +...+a -m b-m
Ví dụ 5:
- Đổi 11010,012 sang hệ 10
11010,012 = 1x24 + 1x23 + 0x22 + 1x21 + 0x20 + 0x2-1 + 1x2-2 = 26,2510
- Đổi 5AD,CE16 sang hệ 10
5AD,CE16 = 5x162 + 10x161 + 13x160 + 12x16-1 + 14x16-2 = 1453,810
1.3.2 Đổi một số từ hệ 10 sang hệ b
Đây là bài tốn tìm một dãy ký hiệu cho số N viết trong hệ b.
Tổng quát, một số N viết ở hệ 10, viết sang hệ b có dạng:
N = (anan-1…a0,a-1a-2…a-m)b = (anan-1…a0)b + (0,a-1a-2…a-m)b
Trong đó:
(anan-1…a0)b
= PE(N) là phần nguyên của N
và
(0,a-1a-2…a-m)b
= PF(N) là phần lẻ của N
Phần nguyên và phần lẻ đƣợc biến đổi theo hai cách khác nhau:
Phần nguyên:
Giá trị của phần nguyên xác định nhờ khai triển:
n
n-1
1
0
PE(N) = a n b +a n-1b +...+a1b +a 0 b
Hay có thể viết lại
n-1
n-2
PE(N) = (a n b +a n-1b +...+a1 )b+a 0
Với cách viết này ta thấy nếu chia PE(N) cho b, ta đƣợc thƣơng số là PE’(N) =
(anb + an-1bn-2 +…+ a1) và số dƣ là a0.
Vậy số dƣ của lần chia thứ nhất này chính là số mã có trọng số nhỏ nhất (a 0)
của phần nguyên.
Lặp lại bài toán chia PE’(N) cho b:
PE’(N) = a n bn-1 +a n-1bn-2 +...+a1 = (a n bn-2 +a n-1bn-3 +...+a 2 )b+a1
n-1
Ta đƣợc số dƣ thứ hai, chính là số mã có trọng số lớn hơn kế tiếp (a1) và thƣơng
số là PE’’(N) = a n bn-2 +a n-1bn-3 +...+a 2
Tiếp tục bài tốn chia thƣơng số có đƣợc với b, cho đến khi đƣợc số dƣ của
phép chia cuối cùng, đó chính là số mã có trọng số lớn nhất (an)
Phần lẻ:
Giá trị của phần lẻ xác định bởi:
3
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
PF(N) = a -1b-1 +a -2 b-2 +...+a -m b-m
Hay viết lại
PF(N) = b-1 (a -1 +a -2 b-1 +...+a -m b-m+1 )
Nhân PF(N) với b, ta đƣợc: b.PF(N) = a -1 +(a -2 b-1 +...+a -m b-m+1 ) = a -1 + PF'(N)
Vậy lần nhân thứ nhất này ta đƣợc phần nguyên của phép nhân, chính là số mã
có trọng số lớn nhất của phần lẻ (a-1) ( số a-1 này có thể vẫn là số 0).
PF’(N) là phần lẻ xuất hiện trong phép nhân.
Tiếp tục nhân PF’(N) với b, ta tìm đƣợc a-2 và phần lẻ PF’’(N).
Lặp lại bài toán nhân phần lẻ với b cho đến khi kết quả có phần lẻ bằng 0, ta sẽ
tìm đƣợc dãy số (a-1a-2…a-m).
Chú ý: Phần lẻ của số N khi đổi sang hệ b có thể gồm vơ số số hạng (do kết quả
của phép nhân ln khác 0), điều này có nghĩa ta khơng tìm đƣợc một số trong hệ b có
giá trị đúng bằng phần lẻ của số thập phân, vậy tùy theo yêu cầu về độ chính xác khi
chuyển đổi mà ta lấy số số hạng nhất định.
Ví dụ 6:
Đổi 29,210 sang hệ nhị phân
Phần nguyên:
29:2 = 14 dƣ 1
a0 = 1
14:2 = 7 dƣ 0
a1 = 0
7:2 = 3 dƣ 1
a2 = 1
3:2 = 1 dƣ 1
a3 = 1
Thƣơng số cuối cùng là 1 cũng chính là bit a4: a4 = 1
Vậy PE(N) = 11101
Phần lẻ:
0,2*2 = 0,4
a-1 = 0
0,4*2 = 0,8
a-2 = 0
0,8*2 = 1,6
a-3 = 1
0,6*2 = 1,2
a-2 = 1….
Nhận thấy kết quả của bài toán luôn luôn khác không, do phần lẻ của lần nhân
cuối cùng là 0,2 đã lặp lại kết quả của lần nhân thứ nhất, nhƣ vậy bài tốn khơng thể
kết thúc với kết quả đúng bằng 0,2 của hệ 10.
Giả sử bài tốn u cầu lấy 4 số lẻ thì ta có thể dừng ở đây và PF(N) = 0,0011
Kết quả cuối cùng: 29,210 = 11101,00112
Đổi 1309,7810 sang hệ thập lục phân:
Phần nguyên
1309 16
Dƣ 13 a0 = D
81
16
Dƣ 1 a1 = 5
5
16
Dƣ 5 a2 = 5
0
Kết quả 130910 = 55Dh
Phần thập phân
0,78*16 = 12,48 a-1 = C
0,48*16 = 7,68
a-2 = 7
0,68*16 = 10,88 a-3 = A
…
Nếu chỉ lấy 3 số lẻ: 0,7810 = C7Ah
Kết quả cuối cùng: 1309,7810 = 55D,C7Ah
1.3.3 Đổi một số từ hệ b sang hệ bk và ngƣợc lại
4
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Từ cách triển khai đa thức của số N trong hệ b, ta có thể nhóm thành từng k số
hạng từ dấu phẩy về hai phía và đặt thành thừa số chung.
N = a n bn +...+a 2 b2 +a1b1 +a 0 b0 +a -1b-1 +a -2b-2 +...+a -mb-m
Để dễ hiễu chúng ta lấy ví dụ k = 3, N đƣợc viết lại bằng cách nhóm từng 3 số
hạng, kể từ dấu phẩy về hai phía
N = ... +(a 5b2 +a 4b2 +a 3b0 )b3 +(a 2b2 +a1b1 +a 0b0 )b0 +(a -1b2 +a -2b1 +a -3b0 )b-3 +...
Phần chứa trong mỗi dấu ngoặc luôn luôn nhỏ hơn b3, vậy số này tạo nên một
trọng số trong hệ b3 và lúc đó đƣợc biễu diễn bởi ký hiệu tƣơng ứng trong hệ này.
Thật vậy, số N có dạng:
N =...+A2 B2 +A1B1 +A0 B0 +A-1B-1 +...
Trong đó:
B = b3 (B0 = b0 ; B1 = b3 ; B2 = b6 , B-1 = b-3 ...)
A 2 = a 8 b 2 +a 7 b1 +a 6 b 0 = b3 (a 8b -1 +a 7 b -2 +a 6 b -3 ) < B = b 3
A1 = a 5 b 2 +a 4 b1 +a 3b 0 = b3 (a 5 b -1 +a 4 b -2 +a 3b -3 ) < B = b3
A 0 = a 2 b 2 +a1b1 +a 0 b 0 = b3 (a 2 b -1 +a1b -2 +a 0 b -3 ) < B = b3
Các số Ai luôn luôn nhỏ hơn B = b3 nhƣ vậy nó chính là một phần tử của tập
hợp số tạo nên hệ B = b3.
Ta có kết quả biến đổi tƣơng tự cho các hệ số k khác.
Tóm lại, để đổi một số từ hệ b sang hệ bk, từ dấu phẩy đi về hai phía, ta nhóm
từng k số hạng, giá trị của mỗi k số hạng này (tính theo hệ b) chính là số trong hệ bk.
Ví dụ 7:
Đổi số N = 10101001100,1100102 sang hệ 8 = 23.
Từ dấu phẩy, nhóm từng 3 số hạng về hai phía (nếu cần, thêm số 0 vào ở nhóm
đầu và cuối để đủ 3 số hạng mà không làm thay đổi giá trị của số N).
N = 010 101 001 100 , 110 0102
Ghi giá trị tƣơng ứng của các số 3 bit, ta đƣợc số N trong hệ 8
N= 2
5 1 4 , 6 28
Đổi số N trên sang hệ 16 = 24
Cũng nhƣ trên nhƣng nhóm từng 4 số hạng
N = 0101 0100 1100 , 1100 10002
N= 5
4
C , C
816
Từ kết quả của phép đổi số từ hệ b sang hệ bk, ta có thể suy ra cách biến đổi
ngƣợc một cách dễ dàng: Thay mỗi số hạng của số trong hệ bk bằng một số gồm k số
hạng trong hệ b.
Ví dụ 8: để đổi số N = 3B6,92116 (hệ 24) sang hệ nhị phân (2) ta dùng 4 bit để
viết cho mỗi số hạng của số này:
N = 0011 1011 0110 , 1001 0010 00012
1.3.4 Đổi một số từ hệ bk sang hệ bp
5
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Qua trung gian của hệ b, ta có thể đổi từ hệ bk sang hệ bp. Muốn đổi số N từ hệ bk
sang hệ bp, trƣớc nhất đổi số N sang hệ b rồi từ hệ b tiếp tục đổi sang hệ bp.
Ví dụ 9:
- Đổi số 134,748 sang hệ 16
134,748 = 001 011 100,111 1002 = 0000 0101 1100,1111 00002 = 05C,F016
- Đổi số ABC,DE16 sang hệ 8
ABC,DE = 1010 1011 1100,1101 11102 = 101 010 111 100,110 111 1002 = 5274,6748
Dƣới đây là bảng kê các số đầu tiên trong các hệ khác nhau:
Thập
phân
0
1
2
3
4
5
6
7
8
9
10
11
12
Nhị phân
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
Bát
phân
Thập lục
phân
0
1
2
3
4
5
6
7
10
11
12
13
14
Thập
phân
0
1
2
3
4
5
6
7
8
9
A
B
C
13
14
15
16
17
18
19
20
21
22
23
24
25
Nhị phân
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
Bát
phân
15
16
17
20
21
22
23
24
25
26
27
30
31
Thập lục
phân
D
E
F
10
11
12
13
14
15
16
17
18
19
1.4 Các phép tính trong hệ nhị phân
Các phép tính trong hệ nhị phân đƣợc thực hiện tƣơng tự nhƣ trong hệ thập phân,
tuy nhiên cũng có một số điểm cần lƣu ý.
1.4.1 Phép cộng
Là phép tính làm cơ sở cho các phép tính khác. Khi thực hiện phép cộng cần lƣu
ý:
0 + 0 = 0;
0 + 1 = 1;
1 + 0 = 1;
1 + 1 = 0 nhớ 1 (đem qua bit cao hơn)
Ngoài ra nếu cộng nhiều số nhị phân cùng một lúc ta nên nhớ:
- Nếu số bit 1 chẵn, kết quả là 0; Nếu số bit 1 lẻ, kết quả là 1
- Và cứ 1 cặp số 1 cho 1 số nhớ (bỏ qua số 1 dƣ, ví dụ với 5 số 1 ta kể là 2 cặp)
Ví dụ 10: Tính 110 + 100 + 011
1
+
1
1
1
1
0
1
1
0
1
0
6
0
0
1
1
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
1.4.2 Phép trừ
0 – 0 = 0;
1 – 1 = 0;
1 – 0 = 1;
0 – 1 = 1 nhớ 1 cho bit cao hơn
Ví dụ 11: Tính 1101 – 0110
1
1
0
0
-
1
1
1
1
0
1
1
1
0
1
1.4.3 Phép nhân
0 x 0 = 0;
0 x 1 = 0;
1 x 0 = 0;
1 x 1 = 1;
Ví dụ 12: Tính 1001 x 110
1
x
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
1.4.4 Phép chia
Ví dụ 13: Chia 1110010 cho 110
-
1 1 1 0
1 1 0
0 0 1 0
1
0 0
-
0 1 0 1 1 0
1 0 0 1
0 1
1 0
1 1 0
1 1 0
0 0 0
1
1.5 Mã hóa
1.5.1 Tổng quát
Trong đời sống hằng ngày, con ngƣời giao tiếp với nhau thông qua một hệ
thống ngôn ngữ quy ƣớc, nhƣng trong máy tính chỉ xử lý các ký tự nhị phân. Do đó,
vấn đề đặt ra là làm thế nào tạo ra một giao diện dễ dàng giữa con ngƣời với máy tính,
nghĩa là máy tính thực hiện đƣợc những bài tốn do con ngƣời đặt ra.
Để thực hiện điều đó ngƣời ta đặt ra vấn đề mã hóa dữ liệu. Nhƣ vậy mã hóa là
q trình biến đổi những ký hiệu quen thuộc của con ngƣời sang những ký hiệu quen
thuộc của máy tính.
Các lĩnh vực mã hóa gồm: Số thập phân, ký tự, tập lệnh, tiếng nói, hình ảnh,…
Tập hợp nguồn có thể là tập hợp các số, các ký tự, dấu, các lệnh dùng trong
truyền dữ liệu, . . . và tập hợp đích thƣờng là tập hợp chứa các tổ hợp thứ tự của các số
7
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
nhị phân.
Một tổ hợp các số nhị phân tƣơng ứng với một số đƣợc gọi là từ mã. Tập hợp
các từ mã đƣợc tạo ra theo một qui luật cho ta một bộ mã. Việc chọn một bộ mã tùy
vào mục đích sử dụng.
Vấn đề ngƣợc lại mã hóa gọi là giải mã.
Cách biểu diễn các số trong các hệ khác nhau cũng có thể đƣợc xem là một hình
thức mã hóa, đó là các mã thập phân, nhị phân, thập lục phân . . . và việc chuyển từ mã
này sang mã khác cũng thuộc loại bài tốn mã hóa.
Trong kỹ thuật số ta thƣờng dùng các mã sau đây:
1.5.2 Mã BCD
1.5.2.1. Khái niệm
Mã BCD (Binary Coded Decimal: số thập phân đƣợc mã hóa bằng số nhị phân)
dùng số nhị phân 4 bit có giá trị tƣơng đƣơng thay thế cho từng số hạng trong thập
phân.
Ví dụ 14: Số 27610 có mã BCD là 0010 0111 0110.
1.5.2.2. Phân loại
Khi sử dụng số nhị phân 4 bit để mã hóa các số thập phân tƣơng ứng với 24 =16
tổ hợp mã nhị phân phân biệt.
Do việc chọn 10 tổ hợp trong 16 tổ hợp để mã hóa các ký hiệu thập phân từ 0
đến 9 mà trong thực tế xuất hiện nhiều loại mã BCD khác nhau. Mặt dù vậy ngƣời ta
chia làm hai loại chính: BCD có trọng số và BCD khơng có trọng số.
Mã BCD có trọng số: gồm có mã BCD tự nhiên, mã BCD số học.
Mã BCD tự nhiên mà trong đó các trọng số thƣờng đƣợc sắp xếp tăng dần.
Ví dụ: Mã BCD 8421, mã BCD 5421
Mã BCD số học là loại mã mà trong đó có tổng các trọng số ln ln bằng 9.
Ví dụ: Mã BCD 2421, BCD 5121
Suy ra mã BCD số học có đặt trƣng: Để tìm từ mã thập phân của từ mã nào đó
ta lấy bù (đảo) từ mã nhị phân của số bù 9 tƣơng ứng.
Ví dụ: Trong mã BCD 2421, 3: 0011, 6:1100, mà số 6 là bù 9 của 3.
Vậy đặt trƣng của mã BCD số học là có tính chất đối xứng qua một đƣờng
trung gian.
Mã BCD khơng có trọng số: là loại mã khơng cho phép phân tích thành đa thức
theo cơ số của nó. Ví dụ: mã Gray, mã Gray thừa 3.
Do việc xuất hiện số BCD nên có hai cách nhập dữ liệu vào máy tính: nhập số
nhị phân và nhập bằng mã BCD. Để nhập số BCD thập phân hai chữ số thì máy tính
chia số thập phân thành các decade, mỗi decade đƣợc biểu diễn bằng số BCD tƣơng
ứng.
Ví dụ 15: 1410 có thể đƣợc nhập nhƣ sau:
Số nhị phân: 1110
Mã BCD: 0001 0100
8
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Bảng 1: Các bảng mã BCD tự nhiên
a3
0
0
0
0
0
0
0
0
1
1
BCD 8421
a2 a1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
a0
0
1
0
1
0
1
0
1
0
1
b3
0
0
0
0
0
1
1
1
1
1
BCD 5421
b2 b1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
B0
0
1
0
1
0
0
1
0
1
0
c3
0
0
0
0
0
1
1
1
1
1
BCD quá 3
c2 c 1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
c0
1
0
1
0
1
0
1
0
1
0
Số thập
phân
0
1
2
3
4
5
6
7
8
9
Bảng 2: Bảng mã BCD tự nhiên và Gray
a3
0
0
0
0
0
0
0
0
1
1
BCD 8421
a2 a1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
a0
0
1
0
1
0
1
0
1
0
1
c3
0
0
0
0
0
1
1
1
1
1
BCD quá 3
c2 c1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
c0
1
0
1
0
1
0
1
0
1
0
Mã Gray
G2 G1
0 0
0 0
0 1
0 1
1 1
1 1
1 0
1 0
1 0
1 0
G3
0
0
0
0
0
0
0
0
1
1
G0
0
1
1
0
0
1
1
0
0
1
Gray quá 3
g3 g2 g1 g0
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
Số thập
phân
0
1
2
3
4
5
6
7
8
9
1.5.3 Mã Gray
Nếu quan sát thông tin ra từ máy đếm đang đếm các sự kiện tăng dần từng đơn
vị, ta sẽ đƣợc các số nhị phân dần dần thay đổi. Tại thời điểm đang quan sát có thể có
những lỗi rất quan trọng. Ví dụ giữa số 7(0111) và số 8(1000), các phần tử nhị phân
đều phải thay đổi trong quá trình đếm, nhƣng sự giao hốn này khơng bắt buộc xảy ra
đồng thời, ta có thể có các trạng thái liên tiếp sau:
0111 → 0110 → 0100 → 0000 → 1000
Trong một quan sát ngắn các kết quả thấy đƣợc khác nhau. Để tránh hiện tƣợng
này ngƣời ta cần mã hóa mỗi số hạng sao cho hai số liên tiếp nhau chỉ khác nhau một
phần tử nhị phân (1 bit) gọi là mã cách khoảng đơn vị hay mã Gray. Ví dụ: một hệ
thống điều khiển nhiệt độ trong phịng bằng thơng gió, điều hòa khi sử dụng mã nhị
phân nhƣ 0001 cho 10o, 0010 cho 20o,….nhƣ vậy khi nhiệt độ thay đổi từ 30 o đến 40o
thì sẽ gây nhầm lẫn do mã nhị phân chuyển từ 0011 sang 0100, mã Gray sẽ khắc phục
điều đó. Ngồi ta mã Gray cịn trách các hiện tƣợng nhƣ xung dòng điện và gai điện áp
khi đồng thời các dây dẫn kề nhau thay đổi trạng thái đột ngột. Mã Gray đƣợc suy ra
từ mã BCD bằng cách: các bit 0,1 đứng sau bit 0 (ở mã BCD 8421) khi chuyển sang
mã Gray thì giữ nguyên cịn bit 0,1 đứng sau bit 1 thì đảo bit, nghĩa là từ 1 thành 0 và
từ 0 thành 1.
9
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Ngoài ra, mã Gray cịn đƣợc gọi là mã phản chiếu (do tính đối xứng của các số
hạng trong tập hợp mã, giống nhƣ phản chiếu qua gƣơng)
Ngƣời ta có thể thiết lập mã Gray bằng cách dựa vào tính đối xứng này:
- Giả sử ta đã có tập hợp 2n từ mã của số n bit thì có thể suy ra tập hợp 2n+1 từ
mã của số (n+1) bit bằng cách:
- Viết ra 2n từ mã theo thứ tự từ nhỏ đến lớn
- Thêm số 0 vào trƣớc tất cả các từ mã đã có để đƣợc một phần của tập hợp từ
mã mới
- Phần thứ hai của tập hợp gồm các từ mã giống nhƣ phần thứ nhất nhƣng trình
bày theo thứ tự ngƣợc lại (giống nhƣ phản chiếu qua gƣơng) và phía trƣớc thêm vào số
1 thay vì số 0.
Để thiết lập mã Gray của số nhiều bit ta có thể thực hiện các bƣớc liên tiếp từ
tập hợp đầu tiên của số 1 bit (gồm hai bit 0 và 1).
Dƣới đây là các bƣớc tạo mã Gray của số 4 bit. Cột bên phải của bảng mã 4 bit
cho giá trị tƣơng đƣơng trong hệ thập phân của mã Gray.
0
1
1 bit
0
0
1
1
0
1
1
0
2 bit
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
3 bit
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4 bit
Nhận xét các bảng mã của các số Gray (1 bit, 2 bit, 3 bit, 4 bit) ta thấy các số
gần nhau luôn luôn khác nhau 1 bit, ngoài ra trong cùng 1 mã các số đối xứng nhau
qua gƣơng cũng khác nhau 1 bit.
1.5.4 Biểu diễn nhị phân các ký tự
10
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Ngoài số nhị phân chuẩn, mã BCD, mã Gray ta cịn có việc mã hóa các ký tự
trong cuộc số, ví dụ ký tự trên bàn phím máy tính. Việc biểu diễn mã hóa này đƣợc
thực hiện theo hai bảng mã nổi tiếng là mã ASCII (Amerian Standard Code for
Information Interchange) 7 bit và mã EBCDIC (Extended Binary Coded Decimal
Interchange Code) 8 bit.
Bài Giải Mẫu
Câu 1:
a. Chuyển đổi số sau từ dạng Bát phân Nhị phân: (437)8 = (?)2
1
4
3
7
0
0
1
0
1
1
1
1
Kết quả: (726)8 = (100 101 111)2
b. Chuyển đổi số sau từ dạng Thập phân Nhị phân:
13
2
1
6
2
0
3
2
1
1
2
1
0
(13)10 = (?)2
Kết quả: (13)10 = (1101)2
c. Nhân hai số Nhị phân sau: 111 x 100
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
x
0
Kết quả: 111 x 100 = 11100
0
Câu 2:
a. Chuyển đổi số sau từ dạng Bát phân Hexa:
1
0
0
0
1
(563)8 = (?)16
5
6
3
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
7
3
11
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
Kết quả: (563)8 = (173)16
b. Chuyển đổi số sau từ dạng Nhị phân Thập phân:
(11001)2 = 1x24 + 1x23 + 0x22 + 0x21 + 1x20 = (25)10
Kết quả: (11001)2 = (25)10
c. Nhân hai số Nhị phân sau: 1111 x 101
1
1
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
x
1
1
1
1
(11001)2 = (?)10
Kết quả: 1111 x 101 = 1001011
Hƣớng dẫn giải Bài tập:
Bài 1 tới bài 10 làm tƣơng tự.
BÀI TẬP CHƢƠNG 1
1. Đổi các số thập phân dƣới đây sang hệ nhị phân và hệ thập lục phân :
a/ 12
b/ 24
c/ 192
d/ 2079
e/ 15492
f/ 0,25
g/ 0,375
h/ 0,376
i/ 17,150
j/ 192,1875
2. Đổi sang hệ thập phân và mã BCD các số nhị phân sau đây:
a/ 1011
b/ 10110
c/ 101,1
d/ 0,1101
e/ 0,001
f/ 110,01
g/ 1011011 h/ 10101101011
3. Đổi các số thập lục phân dƣới đây sang hệ 10 và hệ 8:
a/ FF
b/ 1A
c/ 789
d/ 0,13
e/ ABCD,EF
4. Đổi các số nhị phân dƣới đây sang hệ 8 và hệ 16:
a/ 111001001,001110001
b/ 10101110001,00011010101
c/ 1010101011001100,1010110010101 d/ 1111011100001,01010111001
5. Mã hóa số thập phân dƣới đây dùng mã BCD :
a/ 12
b/ 192
c/ 2079
d/15436
e/ 0,375
f/ 17,250
6. Biểu diễn các số sau trong hệ nhị phân (binary)
a/ 23
b/ 14
c/ 27
d/ 34
7. Biểu diễn các số sau trong hệ nhị phân (binary)
a/ 23H
b/ 14H
c/ C06AH d/ 5DEFH
8. Biểu diễn các số sau trong hệ thập phân (decimal)
a/ 01101001B
b/ 01111111B
c/ 1FH
d/ 10H
12
CHƢƠNG 1: CÁC HỆ THỐNG SỐ VÀ MÃ
9. Biểu diễn các số sau trong hệ thập lục phân (hex)
a/ 100
b/ 10110001B
c/ 111100101011100000B
d/ 256
10/ Đổi các số sau sang hệ nhị phân
a/ 27,62
b/ 12,6875
c/ 6,345
d/ 7,69
13
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
Mục tiêu:
- Giới thiệu về các hàm logic, các tiên đề, định lý đại số Boole, các
phƣơng pháp biểu diễn, các dạng chuẩn của hàm logic.
- Giới thiệu các phƣơng pháp rút gọn, tối giản hàm logic.
- Giới thiệu các phần tử logic cơ bản, cách biển đổi giữa các phần tử logic,
họ TTL và CMOS.
2.1 Các tiên đề và định lý đại số Boole
Trong các mạch số, các tín hiệu thƣờng đƣợc cho ở 2 mức điện áp, ví dụ: 0V và
5V. Những linh kiện điện tử dùng trong mạch số làm việc ở một trong hai trạng thái, ví
dụ Transistor lƣỡng cực (BJT) làm việc ở hai chế độ là tắt hoặc dẫn bảo hịa. Do vậy để
mơ tả các mạch số ngƣời ta dùng hệ nhị phân (binary), hai trạng thái của linh kiện
trong mạch số đƣợc mã hóa tƣơng ứng là 0 hoặc 1.
Một bộ môn đại số phát triển từ cuối thế kỷ 19 mang tên ngƣời sáng lập ra nó:
đại số Boole (Georges Boole), cịn đƣợc gọi là đại số logic, thích hợp cho việc mơ tả
mạch số. Đại số Boole là cơng cụ tốn học quan trọng để phân tích và thiết kế mạch số,
đƣợc dùng làm chìa khóa để đi sâu vào mọi lĩnh vực có liên quan đến kỹ thuật số.
2.1.1 Các tiên đề của đại số Boole
Cho một tập hợp B hữu hạn trong đó ta trang bị các phép tốn + (cộng logic), x
(nhân logic), - (bù logic /nghịch đảo logic) và hai phần tử 0 và 1 lập thành một cấu trúc
đại số Boole (đọc là Bun).
x,y B thì: x+y B, x*y B và thỏa mãn 5 tiên đề sau:
1. Tiên đề giao hoán
x+y=y+x
x,y B:
2. Tiên đề phối hợp
(x + y) + z = x + (y + z) = x + y + z
x,y,z B:
(x.y).z = x.(y.z) = x.y.z
3. Tiên đề phân phối
x.(y + z ) = x.y + x.z
x,y,z B:
x + (y.z) = (x + y).(x + z)
4. Tiên đề về phần tử trung hòa
Trong tập B tồn tại hai phần tử trung hòa là phần tử đơn vị và phần tử không.
Phần tử đơn vị ký hiệu là 1, phần tử không ký hiệu là 0.
x+1=1
x.1=x
x B:
x+0=x
x.0=0
5. Tiên đề về phần tử bù
x B, bao giờ cũng tồn tại phần tử bù tƣơng ứng, ký hiệu x , sao cho luôn
thỏa mãn:
x+ x =1
và
x. x =0
*
*
Nếu B = B = {0,1} (B chỉ gồm 2 phần tử 0 và 1) và thỏa mãn 5 tiên đề trên thì
cũng lập thành cấu trúc đại số Boole nhƣng là cấu trúc đại số Boole nhỏ nhất.
14
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
2.1.2 Các định lý cơ bản của đại số Boole
Định lý 1 (định lý về phần tử bù là duy nhất)
x,y B, ta có:
x+y = 1
y = x là duy nhất (x và y là 2 phần tử bù của nhau)
x.y = 0
Phần tử bù của một phần tử bất kỳ là duy nhất
Định lý 2 (định lý về sự đồng nhất của phép cộng và phép nhân logic)
x B, ta có:
x + x +. . . . . + x = x
x. x. x. . . . . . x = x
Định lý 3 (định lý về phủ định hai lần)
x B, ta có:
x =x
Định lý 4 (định lý De Morgan)
x,y,z B, ta có:
x+y+z = x.y.z
x.y.z = x+y+z
Hệ quả: x,y,z B, ta có:
x+y+z = x+y+z = x.y.z
x.y.z = x.y.z = x+y+z
Định lý 5 (định lý đơn giản hóa)
x,y B, ta có:
x.( x + y) = x.y
x + ( x .y) = x + y
Định lý 6 (định lý nuốt)
x,y B, ta có:
x + x.y = x
x.(x + y) = x
Định lý 7 (Quy tắc tính đối với hằng)
Với 0,1 B, ta có:
0 =1
1=0
Định lý 8 (định lý liên ứng)
x,y,z B, ta có:
x.y + x .z + y.z = x.y + x .z
(x + y).( x + z).(y + z) = (x + y).( x + z)
2.2 Hàm Boole và các phƣơng pháp biểu diễn
2.2.1 Hàm Boole
15
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
2.2.1.1. Định nghĩa
Hàm boole là một ánh xạ từ đại số Boole vào chính nó. Nghĩa là x,y B
đƣợc gọi là các biến Boole thì hàm Boole, ký hiệu là f, đƣợc hình thành trên cơ sở liên
kết các biến Boole bằng các phép toán + (cộng logic), x/. (nhân logic), nghịch đảo
logic (-).
Hàm Boole đơn giản nhất là hàm Boole theo một biến Boole, đƣợc cho nhƣ sau:
f(x) = x, f(x) = x , f(x) = ( là hằng số)
Trong trƣờng hợp tổng quát, ta có hàm Boole n biến đƣợc ký hiệu nhƣ sau:
f x1 ,x 2 ,...,x n
2.2.1.2. Các tính chất của hàm Boole
Nếu f x1 ,x 2 ,...,x n là một hàm Boole thì:
- α.f x1 ,x 2 ,...,x n cũng là một hàm Boole
- f x1 ,x 2 ,...,x n cũng là một hàm Boole
Nếu f1 x1 ,x 2 ,...,x n và f 2 x1 ,x 2 ,...,x n là những hàm Boole thì:
- f1 x1 ,x 2 ,...,x n + f 2 x1 ,x 2 ,...,x n cũng là những hàm Boole
- f1 x1 ,x 2 ,...,x n . f 2 x1 ,x 2 ,...,x n cũng là những hàm Boole
Vậy một hàm Boole f cũng đƣợc hình thành trên cơ sở liên kết các hàm Boole
bằng các phép toán + (cộng logic), x(.) (nhân logic) hoặc nghịch đảo logic (-).
2.2.1.3. Giá trị của hàm Boole
Giả sử f x1 ,x 2 ,...,x n là một hàm Boole theo n biến Boole. Trong f ngƣời ta
thay các biến xi bằng các giá trị cụ thể αi (i=1,n) thì giá trị f α1 ,α 2 ,...,αn đƣợc gọi
là giá trị của hàm Boole theo n biến.
Ví dụ 3: Xét hàm f x1 , x 2 x1 x 2
Xét trong tập B = B* = {0,1}, ta có các trƣờng hợp sau (lƣu ý đây là phép cộng
logic hay cịn gọi là phép tốn “hoặc”/ phép OR):
- x1 = 0, x 2 = 0 f(0,0) = 0 + 0 = 0
x1
x2
f x1 , x 2 x1 x 2
- x1 = 0, x 2 = 1 f(0,1) = 0 + 1 = 1
0
0
0
- x1 = 1, x 2 = 0 f(1,0) = 1 + 0 = 1
0
1
1
1
0
1
- x1 = 1, x 2 = 1 f(1,1) = 1 + 1 = 1
1
1
1
Ta lập đƣợc bảng giá trị trên.
Ví dụ 4: Xét hàm cho bởi biểu thức sau: f x1 , x 2 , x 3 x1 x 2 .x 3
Xét trong tập B = B* = {0,1}. Hoàn toàn tƣơng tự ta lập bảng giá trị của hàm:
16
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
x1
x2
x3
f x1 , x 2 , x 3 x1 x 2 .x 3
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
0
0
1
1
1
1
1
2.2.2 Các phƣơng pháp biểu diễn hàm Boole
2.2.2.1. Phƣơng pháp biểu diễn hàm bằng giá trị
Đây là phƣơng pháp thƣờng dùng để biểu diễn hàm số nói chung và cũng đƣợc
sử dụng để biểu diễn các hàm logic. Phƣơng pháp này gồm một bảng chia làm hai
phần:
- Một phần dành cho biến để ghi các tổ hợp giá trị.
- Một phần dành cho hàm để ghi các giá trị có thể của biến.
Bảng giá trị cịn đƣợc gọi là bảng chân trị hay bảng chân lý (TRUE TABLE).
Nhƣ vậy với một hàm Boole n biến bảng chân lý sẽ có:
- (n+1) cột: n cột tƣơng ứng n biến, 1 cột tƣơng ứng giá trị ra của hàm
- 2n +1 hàng: 2n giá trị khác nhau của tổ hợp n biến, 1 hàng ghi tên biến
Ví dụ 5: Hàm 3 biến f x1, x 2 , x 3 có thể đƣợc cho bằng bảng giá trị nhƣ sau:
x1
x2
x3
f x1 , x 2 , x 3 x1 x 2 .x 3
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
Trong các ví dụ 3,4 chúng ta đã quen thuộc với phƣơng pháp biểu diễn hàm
bằng bảng giá trị.
2.2.2.2. Phƣơng pháp giải tích
Đây là phƣơng pháp biểu diễn hàm logic bằng các biểu thức đại số. Phƣơng
pháp này có 2 dạng: Tổng của các tích số hoặc tích của các tổng số. Dạng tổng của các
tích số gọi là dạng chính tắc thứ nhất (dạng chính tắc 1). Dạng tích của các tổng số gọi
là dạng chính tắc thứ hai (dạng chính tắc 2). Hai dạng chính tắc này là đối ngẫu nhau.
Dạng tổng của các tích số cịn gọi là dạng chuẩn tắc tuyển (CTT), dạng tích các
tổng cịn gọi là dạng chuẩn tắc hội (CTH).
o Dạng chính tắc 1 (dạng tổng của các tích số)
Xét các hàm Boole một biến đơn giản: f(x) = x, f(x) = x , f(x) = ( là hằng
số).
17
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
Đây là những trƣờng hợp có thể có đối với hàm 1 biến.
Chúng ta sẽ đi chứng minh biểu thức tổng quát của hàm logic 1 biến số đối với
dạng chính tắc 1. Sau đó áp dụng biểu thức tổng quát của hàm 1 biến để tìm biểu thức
tổng quát của hàm 2 biến với việc xem 1 biến là hằng số. Cuối cùng, chúng ta suy ra
biểu thức tổng quát của hàm logic n biến cho trƣờng hợp dạng chính tắc 1 (tổng các
tích số).
Xét f(x) = x:
Ta có: x = 0 . x + 1 . x
Mặt khác:
f 1 1
f x x
f 0 0
Suy ra f x x có thể biểu diễn: f x = x = f 0 .x+f 1 .x
Trong đó: f 0 , f 1 đƣợc gọi là các giá trị của hàm Boole theo một biến.
Xét f(x) = x :
Ta có: x=1.x+0.x
Mặt khác:
f 1 0
f x x
f 0 1
Suy ra f x x có thể biểu diễn: f x = x = f 0 .x + f 1 .x
Xét f(x) = ( là hằng số):
Ta có: α = α.1 = α.(x+x) = αx+α.x
Mặt khác:
f 1
f x
f 0
Suy ra f x có thể biểu diễn: f x = α = f 0 .x + f 1 .x
Kết luận: Dù : f(x) = x, f(x) = x hay f(x) = , ta đều có biểu thức tổng quát của
hàm một biến viết dƣới dạng chính tắc thứ nhất nhƣ sau:
f x = f 0 .x+f 1 .x
Vậy f x = f 0 .x+f 1 .x , trong đó f(0), f(1) là giá trị của hàm Boole theo
một biến, đƣợc gọi là biểu thức tổng quát của hàm 1 biến viết dƣới dạng chính tắc thứ
nhất (dạng tổng của các tích).
Biểu thức tổng quát của hàm hai biến f x1 , x 2 :
Biểu thức tổng quát của hàm hai biến viết theo dạng chính tắc thứ nhất cũng
hồn tồn dựa trên cách biểu diễn của dạng chính tắc thứ nhất của hàm 1 biến, trong đó
xem hàm một biến là hằng số.
Cụ thể là: Nếu xem x2 là hằng số, x1 là biến số và áp dụng biểu thức tổng quát
của dạng chính tắc thứ nhất cho hàm 1 biến, ta có:
f x1 ,x 2 = f 0,x 2 .x1 + f 1,x 2 .x1
18
CHƢƠNG 2: HÀM LOGIC VÀ CÁC PHẦN TỬ LOGIC
Bây giờ các hàm f 0, x 2 và f 1, x 2 trở thành các hàm 1 biến số theo x2. Tiếp
tục áp dụng biểu thức tổng quát của dạng chính tắc thứ nhất cho hàm 1 biến, ta có:
f 0,x 2 = f 0,0 .x 2 +f 0,1 .x 2
f 1,x 2 = f 1,0 .x 2 +f 1,1 .x 2
Suy ra:
f x1 ,x 2 = f 0,0 .x1.x 2 +f 0,1 .x1.x 2 +f 1,0 .x1.x 2 +f 1,1 .x1.x 2
Đây là chính là biểu thức tổng quát của dạng chính tắc thứ nhất (dạng tổng của
các tích số) viết cho hàm Boole hai biến số f x1 , x 2 .
Biểu thức tổng quát này có thể biểu diễn bằng công thức sau:
22 1
f x1 , x 2 f 1 , 2 x11 x 22
e 0
Trong đó e là số thập phân tƣơng ứng với mã nhị phân 1 , 2 và:
x1
x11
x1
x 2
x 2 2
x 2
Nếu i = 1
Nếu i = 0
Nếu i = 1
Nếu i = 0
Biểu thức tổng quát cho hàm Boole n biến:
Từ biểu thức tổng quát viết ở dạng chính tắc thức nhất của hàm Boole 2 biến, ta
có thể tổng quát hóa cho hàm Boole n biến f x1 ,x 2 ,...,x n nhƣ sau:
2n 1
f x1 , x 2 ,..., x n f 1 , 2 ,..., n x11 x 22 ...x nn
e 0
Trong đó e là số thập phân tƣơng ứng với mã nhị phân 1 , 2 ,..., n và:
xi
x i i
xi
Nếu i = 1
Nếu i = 0 (với i = 1, 2,…, n)
Ví dụ 6: Viết biểu thức theo hàm 3 biến theo dạng chính tắc 1:
23 1
f x1 , x 2 , x 3 f 1 , 2 , 3 x11 x 22 x 33
e 0
Bảng dƣới đây cho ta giá trị của số thập phân e và tổ hợp mã nhị phân
1 , 2 ,..., n tƣơng ứng:
19