Microsoft PowerPoint C2 Dai so Boole pptx 1 KHOA CÔNG NGHỆ THÔNG TIN LẬP TRÌNH NHÚNG ThS Nguyễn Văn Thành Tp Hồ Chí Minh 2018 TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH CHƯƠNG 2 HỆ THỐNG SỐ VÀ ĐẠI SỐ BOOLE 2 Hệ.DSCSCSCSDCDSCSSCSCSDCSCS
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN LẬP TRÌNH NHÚNG ThS Nguyễn Văn Thành Tp Hồ Chí Minh - 2018 CHƯƠNG HỆ THỐNG SỐ VÀ ĐẠI SỐ BOOLE Hệ thống số Hệ thống tương tự (analog system) Hệ thống số (digital system) Mạch số (digital) Mạch tương tự (analog) VD: Bộ khuếch đại âm tần, thiết bị thu phát băng từ… VD: máy tính, điện thoại di động, thiết bị nghe nhìn số… Hệ thống nhúng 3/200 Hệ thống số Tín hiệu tương tự Tín hiệu số (analog signal) (digital signal) V t(s) High Low t(s) Tín hiệu số: 11001001000 Hệ thống nhúng 4/200 Hệ thống số Ưu điểm mạch số - Dễ thiết kế - Thông tin lưu trữ truy cập dễ dàng,nhanh chóng - Tính xác độ tin cậy cao - Có thể lập trình hoạt động - Ít bị ảnh hưởng nhiễu, có khả tự lọc nhiễu,tự phát sai sửa sai - Tích hợp chíp IC - Độ xác độ phân giải cao Nhược điểm Muốn sử dụng kỹ thuật số làm việc với tín hiệu đầu vào đầu dạng tương tự ta phải thực chuyển đổi từ dạng tương tự sang dạng số, sau xử lý thông tin số chuyển ngược lại từ dạng số xử lý sang dạng tương tự Hệ thống nhúng 5/200 Hệ thống số Các bước để sử dụng hệ thống kỹ thuật số: * Biến đổi thông tin đầu vào dạng tương tự thành dạng số (ADC) * Xử lý thông tin số * Biến đổi đầu dạng số lại dạng tương tự (DAC) Ví dụ sơ đồ khối hệ thống điều khiển nhiệt độ Hệ thống nhúng 6/200 Hệ thống số Số nhị phân (binary) Trong hệ thống số nhị phân (binary system) có hai số 1 23 22 21 20 =8 =4 =2 =1 MSB 2-1 2-2 2-3 =1/2 =1/4 =1/8 Dấu chấm nhị phân LSB Ví dụ: 1100.1012 = (1x 23) + (1x 22) + (0x21) + (0x20) + (1x2-1) + (0x2-2) + (1x 2-3 ) = + + + + 0.5 + + 0.125 = 12.125 Hệ thống nhúng 7/200 Hệ thống số Hệ thống số thập lục phân (Hexadecimal Number System) Thập phân Thập lục phân Nhị phân Thập phân Thập lục phân Nhị phân 0 0000 8 1000 1 0001 9 1001 2 0010 10 A 1010 3 0011 11 B 1011 4 0100 12 C 1100 5 0101 13 D 1101 6 0110 14 E 1110 7 0111 15 F 1111 Hệ thống nhúng 8/200 Hệ thống số Số BCD (Binary Coded Decimal) Thập phân BCD Thập phân BCD 0000 1000 0001 1001 0010 0011 0100 0101 0110 0111 Mã BCD loại mã dùng để biểu thị số thập phân VD: 910 có mã BCD 1001 8610 Có mã BCD 1000 0110 Hệ thống nhúng 9/200 Hệ thống số Phép cộng có nhớ hệ Nhị phân Phép Trừ hệ Nhị phân Khi thực phép cộng cần lưu ý: 0+0=0; 0+1=1; 1+0=1; + = nhớ (đem qua bit cao hơn) Khi thực phép trừ cần lưu ý: 0-0=0; 1-1=0; 1-0=1; - = mượn bit cao Ví dụ: 11 (số nhớ) Ví dụ: 1 (số hạng thứ 1) + 1 (số hạng thứ 2) 11001 Hệ thống nhúng (tổng) - 11 (số mượn) 100 (số bị trừ) 011 (số trừ) 001 (hiệu) 10/200 Hệ thống số Cộng hai số HEX Khi thực cộng số HEX lưu ý kết lớn F Trừ hai số HEX Chuyển số trừ sang dạng bù -2 đem cộng vào số bị trừ Loại bỏ bit nhớ sinh phép cộng ký số vị trí cuối Cách chuyển: số Hex -> số nhị phân > dạng bù -2 -> số hex hay trừ ký số hex, lấy kết cộng thêm Nếu kết lớn F, trừ cho 16 nhớ vào vị trí số Hệ thống nhúng 11/200 Hệ thống số Biểu diễn số có dấu Bit dấu (sign bit) 0: dương (positive) 1: âm (negative) Lượng số: magnitude Hệ thống nhúng 12/200 Nguyên tắc Sử dụng hệ số nhị phân Các phép toán: - Phép cộng luận lý (logical addition) : (+) hay ( OR ) - Phép nhân luận lý (logical multiplication): (.) hay ( AND ) - Phép bù ( NOT ) Độ ưu tiên phép tốn Tính đóng (closure): tồn miền B với phần tử phân biệt phép tốn (+) (•) cho: Nếu x y phần tử thuộc B (x + y), (x•y) phần tử thuộc B 13 Hệ thống nhúng 13/200 Phép cộng luận lý Phép toán: Dấu ‘+’ hay OR Biểu thức : A + B = C Hay A OR B = C Nguyên tắc: • Kết (FALSE) tất giá trị đầu vào • Kết (TRUE) có giá trị nhập vào có giá trị Ví dụ: A B 10011010 11001001 A + B hay A OR B 1 1 1 Hệ thống nhúng 14 14/200 Phép nhân luận lý Phép toán: Dấu ‘.’ hay AND Biểu thức : A B = C Hay A AND B = C Nguyên tắc: • Kết tất giá trị đầu vào • Kết có giá trị nhập vào có giá trị Ví dụ: 10011010 A B 11001001 A B hay A 0 0 AND B Hệ thống nhúng 15 15/200 Phép bù Phép toán: Dấu ‘-’ hay NOT (phép tốn ngơi) Biểu thức : Ā Hay NOT A Nguyên tắc: • Kết giá trị đầu vào • Ngược lại, kết giá trị nhập vào Ví dụ: A Ā hay NOT A 10011010 01100101 16 Hệ thống nhúng 16/200 Độ ưu tiên phép tốn Biểu thức tính từ trái sang phải Biểu thức ngoặc đơn đánh giá trước Các phép toán bù (NOT) ưu tiên Tiếp theo phép toán ‘.’ (AND) Cuối phép tốn ‘+’ (OR) Ví dụ: C = A or B and Not A A 10011010 B 11001001 C ?????????? 17 Hệ thống nhúng 17/200 Các định đề Định đề 1: Đối ngẫu Định đề 4: Tính kết hợp • x + (y + z) = (x + y) + z • x (y z) = (x y) z Định đề 5: Tính phân phối • x (y +z) = x y + x z • x + y z = (x + y) (x + z) Định đề 6: Tính bù • x + 𝑥̅ = • x 𝑥̅ = - A = A không - A = A không Định đề 2: Phần tử đồng - x+0=x - x.1 =x Định đề 3: Tính giao hốn - x+y=y+x - x.y =y.x 18 Hệ thống nhúng 18/200 Nguyên lý đối ngẫu • Đại số Boolean mang tính đối ngẫu - Đổi phép tốn (+) thành (•) - Đổi phần tử đồng thành Cột Cột Cột Phép toán 1+1=1 1+0=0+1=1 0+0=0 Phép đổi 0.0 =0 0.1 =1.0 =0 1.1 =1 19 Hệ thống nhúng 19/200 Các định lý Định lý 1: Luật lũy đẳng - x+x=x - x.x=x Định lý 2: Định luật nuốt - x+1=1 - x.0=0 Định lý 3: Định luật hấp thu - x+x.y=x - x (x + y) = x • Định lý 4: Định luật bù kép Định lý 5: Định luật chuyển đổi Định lý 6: Định luật De Morgan 20 Hệ thống nhúng 20/200 10 Rút gọn hàm Boole (Phương pháp Bìa Karnaugh) Rút gọn biểu thức sau đây: Hệ thống nhúng 45/200 Rút gọn hàm Boole (Phương pháp Bìa Karnaugh) Hệ thống nhúng 46/200 23 Rút gọn hàm Boole (Phương pháp Bìa Karnaugh) Hệ thống nhúng 47/200 Rút gọn hàm Boole (Phương pháp Bìa Karnaugh) Hệ thống nhúng 48/200 24 Kiểm tra Dùng phương pháp Bìa Karnaugh để rút gọn hàm Boole sau: Hệ thống nhúng 49/200 Rút gọn hàm Boole (Phương pháp Quine-McCluskey) Bước 1: Sắp xếp tốn hạng có số biến dương tăng dần (phần bù giảm dần) Viết vào cột thứ biểu diễn toán hạng n hàm Boole F Các biểu diễn chia thành nhóm, biểu diễn nhóm có số ký hiệu nhóm xếp theo thứ tự số ký hiệu tăng dần Bước 2: Lần lượt thực tất phép dán biểu diễn nhóm i với biểu diễn nhóm i+1 (i=1, 2, …) Biểu diễn tham gia phép dán ghi nhận dấu * bên cạnh Kết dán ghi vào cột Bước 3: Lặp lại Bước cho cột không thu thêm cột Khi tất biểu diễn khơng có dấu * cho ta tất toán hạng tối giản F Hệ thống nhúng 50/200 25 Rút gọn hàm Boole (Phương pháp Quine-McCluskey) Ví dụ: Tìm dạng chuẩn tắc rút gọn hàm Boole sau: Dựa kết trên, dạng chuẩn tắc rút gọn hàm F là: Hệ thống nhúng 51/200 Kiểm tra Dùng phương pháp Quine-McCluskey để rút gọn hàm Boole sau: Hệ thống nhúng 52/200 26 Nhóm lệnh rẽ nhánh khơng điều kiện Hệ thống nhúng 53/200 Mạch logic • Mạch logic tổng hợp hay biểu diễn hàm Bool f • Cổng logic thành phần tạo nên mạch logic Cổng NOT Cổng AND X Y Input Output Cổng OR X Y Input Output X Y Cổng NAND X+Y Input Output X Y X Y Input Output Cổng NOR X Y X+Y Input Output X X Y X Y X Y X+Y X Y X Y X Y X+Y 0 0 0 0 0 1 0 0 1 1 1 0 1 1 054 1 1 1 1 1 X Hệ thống nhúng 54/200 27 Mạch logic IC cổng NOT: 74LS04 IC cổng OR: 74LS32 IC cổng NAND IC cổng AND: 74LS08 Hệ thống nhúng IC cổng NOR 55/200 Mạch logic Mạch Logic kết hợp mạch NOT, AND, OR, NAND, NOR Ví dụ: 56 Hệ thống nhúng 56/200 28 Mạch logic Mạch Logic kết hợp mạch NOT, AND, OR, NAND, NOR Ví dụ: xy x y x y xy xy x xy 57 Hệ thống nhúng 57/200 Mạch logic Ví dụ: Tìm biểu thức luận lý cho đường mạch logic 58 Hệ thống nhúng 58/200 29 Mạch logic Ví dụ: Xây dựng mạch logic cho biểu thức luận lý Giải A B C 59 Hệ thống nhúng 59/200 Mạch logic Ví dụ: Xây dựng mạch logic cho biểu thức luận lý Giải 60 Hệ thống nhúng 60/200 30 Mạch logic Ví dụ: Xây dựng mạch logic cho biểu thức luận lý Giải Cổng NAND NOR cao cấp cổng AND OR từ phần cứng, chúng cung cấp đầu trì giá trị tín hiệu mà không làm độ lớn Cổng OR AND cần phục hồi độ lớn sau tín hiệu 61 qua vài cấp độ Hệ thống nhúng 61/200 Cổng NAND chung Mạch cổng NAND chung mạch dùng cổng NAND, nghĩa thay cổng logic khác cổng NAND Thay NOT Thay AND Thay OR Hệ thống nhúng 62/200 31 Cổng NAND chung Phương pháp xây dựng cổng NAND chung Bước 1: Xuất phát từ biểu thức đại số cho, vẽ sơ đồ logic với cổng AND, OR NOT Giả sử đường vào (A) phần bù (𝐴̅) có sẵn Bước 2: Vẽ sơ đồ logic thứ hai với cổng logic NAND thay tương ứng cho cổng AND, OR, NOT Bước 3: Xóa hai đường đảo chiều từ sơ đồ (là đường có ngõ vào) Xóa đường đảo chiều nối đến đường vào bên thêm biến số đường vào tương ứng 63 Hệ thống nhúng 63/200 Cổng NAND chung Xây dựng mạch logic cho biểu thức luận lý sau dùng cổng NAND 64 Hệ thống nhúng 64/200 32 Cổng NAND chung Xây dựng mạch logic cho biểu thức luận lý sau dùng cổng NAND 65 Hệ thống nhúng 65/200 Cổng NAND chung Xây dựng mạch logic cho biểu thức luận lý sau dùng cổng NAND 66 Hệ thống nhúng 66/200 33 Cổng NOR chung Mạch cổng NOR chung mạch dùng cổng NOR, nghĩa thay cổng logic khác cổng NOR Thay NOT Thay OR Thay AND Hệ thống nhúng 67/200 Cổng NOR chung Phương pháp xây dựng cổng NOR chung Bước 1: Với biểu thức đại số cho, vẽ sơ đồ logic với cổng AND, OR NOT Biết đầu vào biểu thức (A) phần bù (𝐴̅) có sẵn Bước 2: Vẽ sơ đồ logic thứ hai tương đương với cổng NOR thay cho cổng AND, OR NOT Bước 3: Xóa đường đảo chiều Xóa đường đảo chiều nối đến đầu vào bên cổng đơn thêm biến số đầu vào thích hợp 68 Hệ thống nhúng 68/200 34 Cổng NOR chung Xây dựng mạch logic cho biểu thức luận lý sau dùng cổng NOR 69 Hệ thống nhúng 69/200 Cổng NOR chung 70 Hệ thống nhúng 70/200 35 Cổng NOR chung 71 Hệ thống nhúng 71/200 Phép toán loại trừ hàm tương đương Phép toán “loại trừ OR” (eXclusive OR - XOR) : Ký hiệu ⊕ Phép toán “tương đương” (Equivalence): Ký hiệu ⊙ Phép toán loại trừ OR phép toán tương đương cổng logic cần dùng nhiều, mắc để xây dựng thành phần vật lý máy tính 72 Hệ thống nhúng 72/200 36 Phép tốn loại trừ hàm tương đương • Phép tốn ⊙ ⊕ biến đổi thành cổng logic chuẩn (NOT, AND, OR) theo hàm Boolean sau: 73 Hệ thống nhúng 73/200 KIỂM TRA – 30 phút Câu (2 điểm): Hệ thống nhúng gì? Nêu đặc điểm ứng dụng nó? Câu (2 điểm): Trình bày phương pháp rút gọn hàm Boole phương pháp Bìa Karnaugh Câu (6 điểm): Cho hàm Boole 𝐹 = 𝑤 𝑥̅ 𝑦𝑧̅+𝑤 𝑥̅ 𝑦𝑧+𝑤𝑥̅ 𝑦𝑧+𝑤𝑥𝑦𝑧̅+𝑤𝑥𝑦𝑧+𝑤𝑥𝑦𝑧̅ + 𝑤𝑥𝑦𝑧 a) Hãy rút gọn hàm F phương pháp Bìa Karnaugh b) Vẽ sơ đồ mạch hàm F trước sau rút gọn Hệ thống nhúng 74/200 37 ... nghe nhìn số? ?? Hệ thống nhúng 3/200 Hệ thống số Tín hiệu tương tự Tín hiệu số (analog signal) (digital signal) V t(s) High Low t(s) Tín hiệu số: 11001001000 Hệ thống nhúng 4/200 Hệ thống số Ưu điểm... (số nhớ) Ví dụ: 1 (số hạng thứ 1) + 1 (số hạng thứ 2) 11001 Hệ thống nhúng (tổng) - 11 (số mượn) 100 (số bị trừ) 011 (số trừ) 001 (hiệu) 10/200 Hệ thống số. .. tương tự (DAC) Ví dụ sơ đồ khối hệ thống điều khiển nhiệt độ Hệ thống nhúng 6/200 Hệ thống số Số nhị phân (binary) Trong hệ thống số nhị phân (binary system) có hai số 1 23 22 21 20 =8 =4 =2 =1 MSB