Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
354,5 KB
Nội dung
Chương 3 - ĐẠI SỐ BOOLE VÀ CỔNG LOGIC. 3.1 Đại số Boole 3.1.1 Đònh nghóa. 3.1.2 Các phép toán cơ bản. 3.1.3 Các công thức đònh lí. 3.2 Các dạng hàm Boole 3.2.1 Bảng chân lí (bảng sự thật) 3.2.2 Biểu thức hàm số 3.2.3 Bìa Karnaugh 3.2.4 Sơ đồ mạch logic 3.3 Các dạng chuẩn của hàm Boole 3.3.1 Dạng chuẩn 1 (tổng các Minterm - tích chuẩn) 3.3.2 Dạng chuẩn 2 (tích các Maxterm – tổng chuẩn) 3.4 Các cổng logic 3.4.1 Mạch điện cổng 3.4.2 Các cổng logic thông thường 3.4.3 Các cổng logic đặc biệt 3.5 Đơn giản hóa hàm Boole bằng phương pháp bìa Karnaugh 3.6 Đưa hàm Boole về dạng toàn NAND và toàn NOR 3.6.1 Toàn NAND 3.6.2 Toàn NOR 3.1 - Đại số Boole. 3.1.1 - Đònh nghóa. Đại số Boole. • Mô tả quan hệ đầu ra với đầu vào của mạch logic dưới dạng phương trình đại số (biểu diễn hoạt động của mạch điện dưới dạng biểu thức hàm số Boole). • Công cụ toán học phân tích và thiết kế và ứng dụng các hệ thống KTS. • Công cụ mô tả và phân tích mạch logic cơ bản - cồng logic, và các mạch tổ hợp cổng logic. Phép tính toán số học arithmetic. Trong kỹ thuật số, những con số chủ yếu được biểu diễn như số nguyên integers. mọi vi mạch số đều chỉ có thể làm việc với số nguyên. các vi mạch microprocessor được trang bò phần cứng chuyên dụng để làm việc với những con số có dấu phảy trôi floating point hay những con số có bậc số mũ. người lập trình phải viết những thủ tục routines làm công cụ cho những tính toán với chữ số có dấu phẩy trôi, từ những lệnh hoàn toàn dựa trên cơ sở bản chất số nguyên. Các tác vụ dấu phẩy trôi đòi hỏi đặc biệt nhiều thời gian và không gian lưu trữ hơn so với những tác vụ với số nguyên. Một số nguyên được biểu diễn bởi giá trò số nhò phân có thể diễn dòch bằng một vài cách thông dụng. Ví dụ: một byte 8-bit, có thể coi như một số nguyên không dấu trong phạm vi [0,255], hay một số nguyên có dấu trong phạm vi [-128, 127]. Các đại lượng 16-bit cũng có thể coi là số có dấu hay không có dấu như vậy. Cách biểu diễn không dấu, mà trong đó hiển nhiên mỗi bit của một byte tương ứng với cấp số của 2ø. ∑ = = n i i i aZ 0 2 . Ví dụ: B )00001011( = D )222( 013 ++ = D )11( (số thập phân). Các số âm được biểu diễn dưới dạng số bù 2. Giả thiết muốn tạo một byte chưá số bù 2, VD: -5. Trước tiên, lấy biểu diễn 8-bit của 5, đó là 00000101, rồi bù 1 nó, được 11111010. (Tác vụ bù 1 thay thế mọi bit ‘0’ thành ‘1’, và mỗi bit ‘1’ thành ‘0’ để có được 11111010). Tiếp theo, tạo số bù 2 bằng cách cộng số bù 1 với 1, tức là: 11111010 + 00000001 = 11111011 Vậy, số âm -5 được biểu diễn dưới dạng nhò phân số bù 2 là: DD )11111011()5( =− Cách biểu diễn này có thuộc tính số học đúng như sau: nếu ta cộng số -5 với số +5 thì chắc rằng sẽ được 0: 11111011 + 00000101 = 00000000. (Tác vụ này đặt bit số mang carry bit, bit C, vào thanh ghi mã điều kiện). Giá trò lưu trong ô nhớ là một chuỗi ký số ‘0’ và ‘1’. (Liệu số 11111011 có được diễn dòch là -5 hay +251, là việc người lập trình phải xem xét). Những lệnh khác được dùng để chọn cách diễn dòch này hay cách khác. Cũng còn cần phải dùng những lệnh khác tùy theo ta muốn thao tác các đại lượng 8-bit hay 16-bit nữa. Khi cung cấp số liệu cho chương trình, số cho ở hệ nào phải được kèm đuôi của hệ đó như đã nêu (trừ hệ mười thì không cần, vì là trường hợp ngầm đònh của assembler). Riêng đối với số hệ mười sáu, nếu số đó bắt đầu bằng các chữ (ký tự : a … f hoặc A … F) thì phải thêm 0 vào trước, để chương trình dòch có thể hiểu được đó là một số ở hệ mười sáu chứ không phải là một tên hoặc một nhãn. Ví dụ các số viết đúng: 0011B ; số hệ hai. 1201 ; số hệ mười. 0ABBAH ; số hệ mười sáu, không nhầm ; với tên của ban nhạc nổi tiếng ABBA. 1EF1H ; số hệ mười sáu. Nếu dữ liệu là ký tự hoặc chuỗi ký tự thì chúng phải được đóng trong cặp dấu trích dẫn đơn ‘x’ hoặc kép “x“, thí dụ như ‘A’ hay “abcd”. Chương trình dòch sẽ dòch ký tự ra mã ASCII tương ứng của nó,. vì vậy khi cung cấp dữ liệu kiểu ký tự cho chương trình, có thể dùng bản thân ký tự (được đóng trong dấu trích dẫn) hoặc mã ASCII của nó. Ví dụ, ta có thể sử dụng dữ liệu ký số là “0” hoặc mã ASCII tương ứng là 30H, ta có thể dùng ký hiệu ‘$’ hoặc 24H hoặc 36 … Biến và hằng. Biến trong chương trình hợp ngữ có vai trò như nó có ở ngôn ngữ bậc cao. Một biến phải được đònh kiểu dữ liệu là kiểu byte hay kiểu từ word, và sẽ được chương trình dòch gán cho một đòa chỉ nhất đònh trong bộ nhớ. Để đònh nghóa các kiểu dữ liệu khác nhau, thường dùng các lệnh giả sau: DB (define byte) : đònh nghóa biến kiểu byte, DW (define word) : đònh nghóa biến kiểu từ, DD (define double word) : đònh nghóa biến kiểu từ kép. Hằng có tên. Các hằng trong chương trình hợp ngữ thường được gán tên để làm cho chương trình dễ đọc hơn. Hằng có thể là kiểu số hay kiểu ký tự, việc gán tên cho hằng được thực hiện nhờ lệnh giả EQU equate như sau: CR EQU 0Dh ; CR là trở về đầu dòng carriage return. LF EQU 0Ah ; LF là thêm dòng mới line feed. Trong ví dụ trên, lệnh giả EQU gán giá trò số 13 (mã ASCII của ký tự <CR> trở về đầu dòng) cho tên CR và 10 (mã ASCII của ký tự <LF> thêm dòng mới) cho tên LF. Hằng cũng có thể là một chuỗi ký tự. Trong ví dụ dưới đây, sau khi đã gán một chuỗi ký tự cho một tên: CHAO EQU ‘Hello!’ ta có thể sử dụng hằng này để đònh nghóa một biến mảng khác: MSG DB CHAO,’$’ Vì lệnh giả EQU không dành chỗ của bộ nhớ cho tên của hằng, nên có thể đặt nó khá tự do, tại những chỗ thích hợp bên trong chương trình. Tuy nhiên, trong thực tế người ta thường đặt các đònh nghóa này trong đoạn dữ liệu. Hằng và biến Boole. Biến số Boole là: • đại lượng mà tại các thời điểm khác nhau chỉ có thể có một trong hai giá trò là '0' hoặc '1'. • được sử dụng để biểu diễn mức logic tương ứng trạng thái của giá trò điện thế hiện hữu trên đường dây hay tại các đầu cuối vào/ra của mạch (tương ứng trạng thái '0' hay '1', VD: '0'=(0 ÷ 0,8)V; '1'=(2 ÷ 5)V-). Biến Boole được ký hiệu bằng chữ biểu thò các giá trò logic. VD: biến A là đầu vào (hay đầu ra) của một mạch số. Các phép toán số học (cơ bản) của đại số Boole. Ba phép toán logic cơ bản trong đại số Boole là: • Phép OR (HOẶC). • Phép AND (VÀ). • Phép NOT (PHỦ ĐỊNH). Bảng chân trò (bảng chân lí - bảng sự thật) Truth Table. Là: • phương tiện mô tả quan hệ phụ thuộc đầu ra theo các mức logic hiện hữu tại đầu vào của mạch logic. • bảng liệt kê mọi tổ hợp khả dó các mức logic hiện hữu tại các đầu vào A và B tương ứng với mức y ở đầu ra, chỉ rõ kết quả hiện diện ở đầu ra ứng với bất kỳ tập hợp điều kiện trạng thái nào ở đầu vào. • số tổ hợp đầu vào bằng N 2 đối với mạch có N đầu vào. 3.1.2 - Các phép toán số học (cơ bản) đối với hệ nhò phân. Phép cộng. Phép cộng và phép trừ các số hệ hai được thực hiện giống như làm với số hệ mười. Bảng 3.1 cho quy tắc phép cộng. Bảng 3.1 – Quy tắc phép cộng số hệ hai. y = A + B A B y C 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 C : nhớ (carry) Ví dụ: Cộng hệ mười: Cộng hệ hai: 11 C : Nhớ 1111 1110 099 Số hạng thứ nhất 0110 0011 095 Số hạng thứ hai 0101 1111 194 Tổng 1100 0010 Các bộ cộng trong khối tính toán số học ALU của máy tính sẽ thực hiện các phép cộng theo cách nêu trên. Phép trừ và số bù hai. Phép trừ. Phép trừ các số hệ hai thực hiện giống như làm với số hệ mười. Bảng 2.2 cho quy tắc phép trừ trong hệ hai. Bảng 3.2 – Quy tắc phép trừ số hệ hai. y = A - B A B y B 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 B : mượn (borrow) Ví dụ: Trừ hệ mười: Trừ hệ hai: 1 B : Mượn 0110 0000 109 Số bò trừ 0110 1101 49 Số trừ 0011 0001 060 Hiệu 0011 1100 Số bù hai. Có thể thực hiện phép trừ bằng phép cộng: cộng số bò trừ với số đối của số trừ. Số đối của số trừ tức là gía trò số trừ với dấu âm (số âm). Vấn đề là phải biểu diễn số âm một cách thích hợp. Có nhiều cách mã hoá để biểu diễn số âm trong hệ hai, nhưng cách hay dùng nhất là mã hoá kiểu số bù hai. Bảng 3.3 chỉ rõ cách tạo số hệ hai có dấu và số bù hai trong tương quan với số hệ hai. Bảng 3.3 – Biểu diễn số hệ hai, số có dấu và số bù hai. Số 8-bit hệ hai Số hệ mười tương đương Số hệ mười theo mã hệ hai có dấu Số hệ mười theo mã bù hai 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 … 0111 1101 0111 1110 0111 1111 1000 0000 1000 0001 1000 0010 1000 0011 1000 0100 1000 0101 … 1111 0000 1111 0001 1111 0010 1111 0011 1111 0100 1111 0101 1111 0110 1111 0111 1111 1000 1111 1001 1111 1010 1111 1011 1111 1100 1111 1101 1111 1110 1111 1111 0 1 2 3 4 5 6 … 125 126 127 128 129 130 131 132 133 … 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 + 0 + 1 + 2 + 3 + 4 + 5 + 6 … +125 +126 +127 - 0 - 1 - 2 - 3 - 4 - 5 … -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 - 125 - 126 - 127 + 0 + 1 + 2 + 3 + 4 + 5 + 6 … +125 +126 +127 -128 -127 -126 -125 -124 -123 … - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 Nhận xét: 1) Nếu dùng 8 bits thì có 256 tổ hợp có giá trò từ 0 đến 255 (tương ứng 00 …FF hệ hex), tức là chỉ biểu diễn được số dương. 2) Nếu muốn biểu diễn số âm (có dấu âm), tức là số có dấu và độ lớn sign and magnitude thì phải mất một bit dành cho dấu (trong bảng, để dễ phân biệt, bit b7 được in nghiêng đậm) và 7 bits còn lại cho giá trò số. Bằng cách này, với 8 bits sẽ có khả năng biểu diễn cả số dương và số âm trong khoảng -127 … -0, +0 … +127 (chú ý: hai giá trò 0 biểu diễn không giống nhau !). 3) Số bù hai được tạo ra theo cách gần giống như kiểu số có dấu và độ lớn, nhưng nó dùng cả 8 bits để biểu diễn giá trò của số được mã hoá. Mã bù hai dành 1 bit có khả năng biểu diễn các số âm và dương trong khoảng -128 … 0 … +127. Một số dương có mã bù hai giống như mã hệ hai thông thường. 4) Một số biểu diễn theo hệ hai sẽ có các giá trò khác nhau nếu hiểu đó là mã để biểu diễn số theo kiểu hệ hai có dấu hoặc kiểu số bù hai. Nói cách khác, một cụm các số ‘0’ và ‘1’ sẽ được cảm nhận khác nhau khi nó biểu diễn giá trò số theo các mã khác nhau. Cho dù có được biểu diễn bằng số hệ hai có dấu hay số bù hai thì các số âm đều có bit b7=1, còn các số dương có bit b7=0. Cách tính số bù hai: Về mặt toán học thì số bù hai của một số chính là số đối của nó. Như vậy, một số dương sẽ có số bù hai là một số âm cùng giá trò tuyệt đối và ngược lại. Quy tắc: Muốn tìm số bù hai (còn gọi là bù số học) của một số A, ta thực hiện các bước sau: 1) Biểu diễn số A theo mã hệ hai của nó. 2) Tìm số bù một (bù logic) của số đó (bằng cách đảo bit). 3) Cộng 1 vào số bù một ở trên để nhận được số bù hai của số A. Ghi chú: Khi có một số âm được biểu diễn theo mã bù hai nếu muốn tính giá trò tuyệt đối của nó ta cũng áp dụng quy tắc này (các bước 2,3). Ví dụ: Tìm số bù hai của số 13. 13 = 0000 1101 B (mã hệ hai của 13) Số bù một của 13: 1111 0010 B (đảo bit của số trên) Cộng thêm 1 vào: 1 Số bù hai của 13: 1111 0011 B (tức là -13) Ứng dụng số bù hai trong phép trừ: Ví dụ: 15 – 13 = ? Có thể viết phép trừ trên như sau: 15 – 13 = 15 + (-13). Như vậy có thể dùng số (-13) như ở trên. 15 … 0000 1111 (-13) … 1111 0011 Tổng … 0000 0010 (nhớ 1) Nếu không để ý đến số nhớ thì có kết quả là 2. Ví dụ: 12 – 13 = ? 12 … 0000 1100 (-13) … 1111 0011 Tổng … 1111 1111 (tức là -1) Đây là một số âm (bit b7=1) với giá trò tuyệt đối là 1 (tra bảng 3.3). Mặt khác, cũng có thể tìm được giá trò tuyệt đối của kết quả bằng cách tìm số bù hai của nó: Mã bù hai của kết quả: … 1111 1111 Số bù một của kết quả: … 0000 0000 Cộng 1 để tìm giá trò tuyệt đối: … 0000 0001 Phép nhân. Bảng 3.4 cho quy tắc phép nhân các số hệ hai. Bảng 3.4 – Phép nhân hệ hai. y = A . B a b y 0 0 0 0 1 0 1 0 0 1 1 1 Ví dụ: Độ dài cực đại của kết quả trong trường hợp này là 8 bits. Nếu các toán hạng dài 8 (hoặc 16) bits thì độ dài cực đại của kết quả là 16 (hoặc 32) bits. Mỗi lần nhân một bit khác 0 của số nhân với số bò nhân ta thu được chính số bò nhân, tức là nếu dòch trái nó một số lần tương ứng với vò trí của bit khác 0 đó trong số nhân ta sẽ tạo ra một thành phần của tổng tích lũy. Tổng của các thành phần như trên là kết quả của phép nhân. Như vậy, có thể thực hiện phép nhân theo thuật toán cộng và dòch (trên cơ sở các bộ cộng và dòch) như sau: 1) Thành phần đầu tiên của tổng tích lũy thu được là tích của số LSB trong số nhân với số bò nhân. Nếu LSB = 0 thì thành phần này cũng bằng 0, còn nếu LSB = 1 thì thành phần này bằng chính số bò nhân. 2) Mỗi thành phần thứ i tiếp theo của tổng tích lũy cũng được tính bằng cách tương tự, nhưng phải dòch trái i bits (có thể bỏ qua thành phần bằng 0). 3) Tổng của các tổng thành phần là tích cần tìm. Minh họa thuật toán này bằng cách rút gọn ví dụ trên: Phép chia. Phép chia là phép tính ngược của phép nhân, suy ra là có thể thực hiện bằng các phép trừ và dòch liên tiếp cho tới khi không thể trừ được nữa (do không còn gì để trừ hoặc số bò trừ nhỏ hơn số chia). Thông thường, ta thực hiện phép chia bằng tay. Vấn đề là khi thực hiện phép chia bằng tay (như ví dụ sau đây) cần phải dự đoán và kiểm tra để tìm đúng kết quả – công việc này rất khó khăn đối với các mạch điện tử trong khối tính toán số học (vốn là các phần tử thực hiện phép cộng và dòch trong máy tính). Khắc phục vấn đề: Giải thuật sẽ là: 1) Đổi số chia ra số bù hai của nó (để bước sau làm tính trừ bằng phép cộng). 2) Lấy số bò chia trừ đi số chia. Nếu kết quả này có bit dấu bằng 0 (có nghóa là phần này của số bò chia chia được cho số chia) thì bit tương ứng của thương bằng 1. Nếu kết quả có bit dấu bằng 1 (có nghóa là phần này của số bò chia không chia được cho số chia) thì bit tương ứng của thương bằng 0 và buộc phải khôi phục lại giá trò ban đầu của số bò chia bằng cách cộng kết quả này với số chia ở mã hệ hai. 3) Dòch trái kết quả thu được ở trên và làm lại bước 2 cho đến khi nhận được kết quả cuối cùng là 0 (chia hết) hoặc nhỏ hơn số chia (chia còn dư). Ví dụ chia bằng tay: 35/5=? Ví dụ thực hiện phép chia với giải thuật nêu trên trong hệ hai: 36/5 = 7 dư 1. Các bước tính toán theo thuật toán phép chia nêu trên sẽ là: 1). Đổi số chia ( ) ( ) BD 01015 = ra số bù hai của nó là ( ) B 1011 . 2). Lấy số bò chia trừ đi số chia. Số bò chia BD )100100()36( = và số bù hai của nó là B )1011100( . Bảng 3.5 - VD phép chia nhò phân. Toán hạng Thương Tên toán hạng, thao tác 0 100100 1 011 000 1 111100 0 Số bò chia (36 D ) Số chia ở mã bù hai để cộng Tổng, kết quả 1 (KQ1 bit thương = 0) 1 111100 0 101 000 0 100100 KQ1 có bit dấu =1 → khôi phục lại số bò chia Số chia ở mã hệ hai để cộng với KQ1 Số bò chia được khôi phục 1 00100 0 1 011 000 0 100000 1 Số bò chia dòch trái 1 lần Số chia ở mã bù hai để cộng Tổng, kết quả 2 (KQ2 bit thương = 1) 1 00000 0 1 011 000 0 011000 0 11000 0 1 011 000 0 001 000 1 1 KQ2 có bit dấu =0 → dòch trái lần hai Số chia ở mã bù hai để cộng Tổng, kết quả 3 (KQ3 bit thương = 1) KQ3 có bit dấu =0 → dòch trái lần 3 Số chia ở mã bù hai để cộng Tổng, kết quả 4 (KQ4 bit thương = 1) ↑ Bit dấu 0111 Kết quả phép chia (KQ1,KQ2,KQ3,KQ4); dư 1 3.2 - Các dạng hàm Boole. Các phép toán số học (cơ bản) của đại số Boole. Ba phép toán logic cơ bản trong đại số Boole là: • Phép OR (HOẶC). • Phép AND (VÀ). • Phép NOT (KHÔNG). Bảng chân trò (bảng chân lí - bảng sự thật) Truth Table. Là: • phương tiện mô tả quan hệ phụ thuộc đầu ra theo các mức logic hiện hữu tại đầu vào của mạch logic. • bảng liệt kê mọi tổ hợp khả dó các mức logic hiện hữu tại các đầu vào A và B tương ứng với mức x ở đầu ra, chỉ rõ kết quả hiện diện ở đầu ra ứng với bất kỳ tập hợp điều kiện trạng thái nào ở đầu vào. • số tổ hợp đầu vào bằng N 2 đối với mạch có N đầu vào. Hàm OR (OR Operation): HOẶC. Biểu thức Boole phép toán OR: BAy ⊕= Khi đầu vào bất kỳ có giá trò '1' thì đầu ra có KQ = '1'. Chỉ khi tất cả các đầu vào đều '0' thì đầu ra mới có KQ= '0'. Biểu thức được đọc là: "y bằng A HOẶC B ". Hình 3.1. Bảng chân trò đònh nghóa phép HOẶC OR và cổng OR. Cổng HOẶC (OR Gate). Là mạch số thực hiện phép toán logic OR, có hai đầu vào trở lên và một đầu ra ứng với tổ hợp OR các đầu vào. Đầu ra sẽ là '1' khi có đầu vào bất kỳ có giá trò là '1'. Đầu ra sẽ là '0' chỉ khi tất cả các đầu vào đều là '0'. Lưu ý: Dạng sóng tín hiệu đầu ra mạch cổng OR xuất hiện xung tạp nhiễu glich tại thời điểm các đầu vào nằm trong khoảng mức logic không xác đònh (do độ dốc xung tín hiệu đầu vào và thời gian chuyển đổi trạng thái mạch logic số). Hàm AND (AND Operation): VÀ. Biểu thức Boole phép toán OR: BAy ⊗= Khi đầu vào bất kỳ có giá trò '1' thì đầu ra có KQ = '0'. Chỉ khi tất cả các đầu vào đều '1' thì đầu ra mới có KQ= '1'. Biểu thức được đọc là: "y bằng A VÀ B ". Hình 3.2. Bảng chân trò đònh nghóa phép VÀ AND và cổng AND. Cổng VÀ (AND Gate). Là mạch số thực hiện phép toán logic AND, có hai đầu vào trở lên và một đầu ra ứng với tích AND của các đầu vào logic. Đầu ra sẽ là '1' chỉ khi tất cả các đầu vào đều là '1'. Đầu ra sẽ là '0' khi có đầu vào bất kỳ có giá trò là '0'. Lưu ý: Cổng AND có thể dùng như một mạch cấm inhibit circuit khi một đầu vào được coi như tín hiệu điều khiển (có mức logic quyết đònh liệu có cho tín hiệu đầu vào kia tới đầu ra không). Hàm NOT (NOT Operation): KHÔNG. Hàm NOT là hàm một biến. Phép toán NOT là phép đảo inverse hay phép bù complement. Biểu thức Boole phép toán NOT: Ay = Khi đầu vào có giá trò '1' thì đầu ra có KQ = '0'. Khi đầu vào có giá trò '0' thì đầu ra có KQ= '1'. Biểu thức được đọc là: "y bằng NOT A" hay "y bằng đảo của A" (đảo=inverse), hoặc "y bằng bù của A" (bù=complement). Hình 3.3. Bảng chân trò đònh nghóa phép KHÔNG NOT và ký hiệu sơ đồ của bộ đảo INVERTER. Bộ đảo (Inverter). Là mạch số thực hiện phép toán logic NOT, chỉ có một đầu vào và mức logic của đầu ra luôn ngược với mức logic đầu vào. Là mạch đảo (bù) tín hiệu đầu vào, biểu thức đầu ra luôn bằng biểu thức đầu vào có dấu gạch ngang trên đầu. Phối hợp mạch đảo tạo nên các cổng phủ đònh NOR và NAND. Cổng HOẶC PHỦ-ĐỊNH (NOR Gate). Là mạch số thực hiện cổng logic phủ đònh NOR, vận hành như cổng OR kết hợp bộ đảo INVERTER. Hình 3.4. Bảng chân trò, ký hiệu cổng NOR và mạch tương đương. Đầu ra xuống mức thấp (sẽ là '0') khi có đầu vào bất kỳ ở mức cao (có giá trò là '1'). Đầu ra lên mức cao (sẽ là '1') chỉ khi tất cả các đầu vào đều ở mức thấp (là '0'). Cổng VÀ PHỦ-ĐỊNH (NAND Gate). Là mạch số thực hiện cổng logic phủ đònh NAND, vận hành như cổng AND kết hợp bộ đảo INVERTER. Hình 3.5. Bảng chân trò, ký hiệu cổng NAND và mạch tương đương. Đầu ra xuống mức thấp (sẽ là '0') chỉ khi tất cả các đầu vào đều ở mức cao (có giá trò là '1'). Đầu ra lên mức cao (sẽ là '1') khi có đầu vào bất kỳ ở mức thấp (là '0'). Mạch cổng LOẠITRỪ-OR (EX-OR Gate). Là mạch số tạo tín hiệu ra ở mức cao mỗi khi hai đầu vào ở mức logic đối nghòch nhau. Biểu thức: BABABAy ⊕=+= o Chỉ có hai đầu vào, một đầu ra. o Đầu ra tích cực ở mức cao chỉ khi hai đầu vào ở các mức tích cực khác nhau (có duy nhất một đầu vào ở mức cao). Các chip quad EX-OR: 74LS86 Quad EX-OR (họ TTL); 74C86 Quad EX-OR (họ CMOS); 74HC86 Quad EX-OR (họ CMOS tốc độ cao); Hình 3.6. Mạch cổng EX-OR. Mạch cổng LOẠITRỪ-NOR (EX-NOR Gate). Là mạch số tạo tín hiệu ra ở mức cao mỗi khi hai đầu vào ở cùng mức logic. Biểu thức: BABABAy ⊕=+= Chỉ có hai đầu vào, một đầu ra. Đầu ra tích cực ở mức cao chỉ khi hai đầu vào ở cùng mức logic. Các chip quad EX-NOR: 74LS266 Quad EX-OR (họ TTL); 74C266 Quad EX-OR (họ CMOS); 74HC266 Quad EX-OR (họ CMOS tốc độ cao); Hình 3.7. Mạch cổngt EX-NOR. Cổng NAND, tính đa dụng trong sơ đồ mạch logic số . Khả năng cổng NAND thực hiện hàm Boole bất kỳ. Hình 3.8. Dùng cổng NAND thực hiện các hàm Boole. Tương tự cho mạch dùng toàn NOR: Hình 3.9. Dùng cổng NOR thực hiện các hàm Boole. Ký hiệu sơ đồ của mạch logic số. Ký hiệu chuẩn và ký hiệu thay thế. [...]... 0101 0101 (xxxx) H C 93 ABC FFFF 12, 13 144,45 254,75 1 .3 – Thực hiện các phép tính số học hệ hai sau: a) Phép cộng: 52 +34 =? b) Phép trừ: 52 -34 =? 34 -52=? (và tìm trò tuyệt đối của kết quả) c) Phép nhân: 52x3=? 52x( -3) =? d) Phép chia 52 /3= ? 1.4 – Bảng mã ASCII: Cho mã ASCII như dưới đây, chuyển đổi thành ký tự, ký số hay ký hiệu: 42H 61H 60H 6EH 20H 50H 68H 69H 2CH 6DH 20H 28H 43H 4FH 2CH 20H 62H 61H... khi ở mức thấp thì thực hiện ghi WR) Hình 3. 11 Ý nghóa ký hiệu logic số NAND và NOR Hình 3. 12 Ký hiệu mạch logic NAND với mức logic tích cực và bảng chân trò Lưu ý: Nên chọn ký hiệu cổng sao cho đầu ra đảo (có vòng tròn) nối với đầu vào đảo (có vòng tròn) và ngược lại: đầu ra không đảo nối với đầu vào không đảo Ký hiệu mạch logic theo chuẩn IEEE/ANSI: Hình 3. 13 Ký hiệu chuẩn cho logic số và vi mạch IC... chuyển đổi thành ký tự, ký số hay ký hiệu: 42H 61H 60H 6EH 20H 50H 68H 69H 2CH 6DH 20H 28H 43H 4FH 2CH 20H 62H 61H 4FH 20H 6EH 68H 69H 65H 5EH 75H 20H 70H 68H 69H 2CH 6DH 3FH 29H 2EH 1.5 – Chuyển đổi hai số (ở dạng mã ASCII) 35 H 37 H sang dạng số BCD chuẩn của 57 %%% ... có gạch trên đầu rồi đảo kết quả 2) Phép tính trong ngoặc (nếu có) 3) Phép toán AND (nhân logic) 4) Phép toán OR (cộng logic) Đònh lý Boole Các đònh lý đơn biến (biến 'x'): ĐL1: x.0 = 0 Nếu một biến 'x' bất kỳ được AND với '0' kết quả phải là '0' ĐL2: x.1 = x Nếu một biến 'x' bất kỳ được AND với '1' kết quả phải là chính nó 'x' ĐL3: x.x = x Nếu một biến 'x' bất kỳ được AND với chính nó 'x' kết quả...Hình 3. 10 Ký hiệu chuẩn và ký hiệu thay thế mạch logic số Mức logic tích cực của mạch logic số o Đường vào/ra của mạch logic không bò đảo là đường có trạng thái tích cực ở mức cao active-HIGH Ký hiệu biểu thức... ) + z = x + y + z Trong phép OR có thể nhóm các biến với nhau, kết quả là như nhau ĐL12: Luật kết hợp: x( y.z ) = ( x y ) z = xyz Trong phép AND có thể nhóm các biến với nhau, kết quả là như nhau ĐL 13: Luật phân phối: x( y + z ) = xy + xz ( w + x).( y + z ) = wy + wz + xy + xz Trong các biểu thức OR và AND có thể khai triển các biểu thức bằng cách nhân các số hạng với nhau hay đặt thừa số chung . hàm số 3. 2 .3 Bìa Karnaugh 3. 2.4 Sơ đồ mạch logic 3. 3 Các dạng chuẩn của hàm Boole 3. 3.1 Dạng chuẩn 1 (tổng các Minterm - tích chuẩn) 3. 3.2 Dạng chuẩn 2 (tích các Maxterm – tổng chuẩn) 3. 4 Các. 1111 0 1 2 3 4 5 6 … 125 126 127 128 129 130 131 132 133 … 240 241 242 2 43 244 245 246 247 248 249 250 251 252 2 53 254 255 + 0 + 1 + 2 + 3 + 4 + 5 + 6 … +125 +126 +127 - 0 - 1 - 2 - 3 - 4 - 5 … -112 -1 13 -114 -115 -116 -117 -118 -119 -120 -121 -122 -1 23 -124 -. Chương 3 - ĐẠI SỐ BOOLE VÀ CỔNG LOGIC. 3. 1 Đại số Boole 3. 1.1 Đònh nghóa. 3. 1.2 Các phép toán cơ bản. 3. 1 .3 Các công thức đònh lí. 3. 2 Các dạng hàm Boole 3. 2.1 Bảng chân lí (bảng sự thật) 3. 2.2