Tin học cơ sở - Chương 5 pdf

6 338 3
Tin học cơ sở - Chương 5 pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic CHƯƠNG 5. MỘT SỐ KIẾN THỨC VỀ ĐẠI SỐ LOGIC Người đặt nền móng cho ngành toán học này là D. Boole (1815-1864). Do vậy đại số logic còn có tên gọi là đại số Boole. Đại số logic có nhiều ứng dụng, ở đây, chúng ta quan tâm đến các khía cạnh liên quan đến thiết kế các mạch logic bên trong MTĐT. Như đã thấy, kết quả thực hiện các phép toán số học với các số nhị phân là một số nhị phân mới. Do vậy, ta có thể hình dung thiết bị thực hiện các phép toán trong MTĐT như là thành phần chức năng biến đổi nhị phân. Thiết bị đặc biệt đó cho phép nạp số liệu dạng nhị phân ở đầu vào và lấy kết quả có dạng nhị phân ở đầu ra. Vậy có thể xem bộ biến đổi chức năng đó như là một thiết bị có nhiều đầu vào và nhiều đầu ra. Tại một thời điểm xác định, ở mỗi đầu vào chỉ nạp được một bit và từ mỗi đầu ra chỉ cho ra được một bit dữ liệu. Để hiểu rõ hơn về nguyên lý xây dựng các bộ biến đổi nhị phân ta sẽ tìm hiểu một số vấn đề có liên quan dưới đây. 5.1. CÁC HÀM ĐẠI SỐ LOGIC Xét tập D = {0, 1}, các giá trị của tập D còn gọi là giá trị logic hay nhị phân. Đại lượng x chỉ có thể nhận giá trị trong tập D gọi là biến Boole (hay biến logic, biến nhị phân). Hàm của n biến nhị phân F(x 1 , x 2 , , x n ) chỉ nhận hai giá trị 0 và 1 gọi là hàm Boole (hoặc hàm logic). Mỗi hàm boole n biến có thể cho bằng một bảng có n+1 cột, n cột đầu là giá trị của các biến x 1 , x 2 , , x n tương ứng. Cột cuối cùng là giá trị của hàm ứng với các giá trị của biến. Ví dụ n = 2, các giá trị x1, x2 và các hàm tương ứng f(x1, x2) được cho như trong Bảng 5.1 x 1 x 2 f(x 1 ,x 2 ) 0 0 1 0 1 0 1 0 0 1 1 1 Bảng 5.1. Hàm logic 2 biến Dễ dàng thấy, với mỗi n có đúng 2 n cách tổ hợp khác nhau giá trị các biến x 1 , x 2 , , x n . Một hàm Boole là một cách cho tương ứng mỗi một trong số 2 n với một trong hai giá trị 0 và 1. Vì thế nó sẽ tương ứng với một cách phân hoạch tập 2 n bộ giá trị này thành 2 nhóm, một nhóm hàm có giá trị 1, một nhóm hàm có giá trị 0. Như vậy mọi hàm boole n biến hoàn toàn được xác định bởi một tập con trong 2 n bộ giá trị để giá trị của hàm là 1. Ta đã biết đối với một tập có k phần tử thì tập tất cả các tập con của nó sẽ có 2 k phần tử. Do vậy có đúng 2 n hàm Boole n biến. Với n = 1, có 4 hàm nhị phân. Các hàm đó được cho trong Bảng 5.2 37 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic x F1 F2 F3 F4 0 0 1 0 1 1 0 1 1 0 Bảng 5.2. Các hàm logic 1 biến Hàm F1 và F2 là hàm hằng (không phụ thuộc vào đối số x): F1(x) ≡ 0 là hàm hằng 0 F2(x) ≡ 1 là hàm hằng 1 Giá trị F3(x) luôn bằng giá trị biến x, đó là hàm đồng nhất: F3(x) ≡ x Hàm F4(x) luôn có giá trị ngược lại với giá trị biến x mà ta gọi là hàm phủ định và ký hiệu  x. Dễ thấy   x = x Dấu  có thể xem là dấu phép toán một ngôi, cho phép từ giá trị x xác định giá trị  x. Phép toán đó cũng có tên là phép phủ định (một số tài liệu dùng dấu - trên đầu đối tượng bị phủ định thay cho dấu  đứng trước đối tượng). Với n = 2, có 16 hàm logic. Giá trị của các hàm được cho ở bảng 5.3. x y F1 F 2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Bảng 5.3. 16 hàm logic 2 biến Ta xét một vài hàm quan trọng: • F2(x, y) có giá trị 1 khi và chỉ khi x, y đồng thời có giá trị 1. Hàm này được kí hiệu là (x∧y) và gọi là phép nhân logic hay phép hội. • F7(x, y) có giá trị 1 khi và chỉ khi x, y có giá trị khác nhau. Hàm này chính là chữ số hàng đơn vị khi cộng số học x với y. Vì vậy F7 còn gọi là phép cộng theo module 2. • F8(x,y) có giá trị 0 khi và chỉ khi x, y đồng thời có giá trị 0. Hàm F8(x,y) được kí hiệu (x ∨ y) và còn gọi là phép cộng logic hay phép tuyển. 38 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic • F10(x,y) có giá trị 1 khi và chỉ khi x, y có cùng giá trị như nhau, hoặc 0 hoặc 1. Hàm F10(x,y) có kí hiệu (x ∼y) và còn gọi là phép tương đương • F14(x,y) có giá trị 0 khi và chỉ khi x có giá trị 1 đồng thời y có giá trị 0. Hàm F14(x,y) được kí hiệu (x ⇒y) và còn gọi là phép kéo theo. Bài đọc thêm: Logic mệnh đề Lần đầu tiên logic mệnh đề được đề cập đến trong một bài báo của Boole có tên là "Các quy luật của ý nghĩ". Theo đó mỗi mệnh đề là một khẳng định. Mệnh đề sẽ nhận giá trị chân lý là "đúng" hay "sai" tuỳ thuộc vào khẳng định có phù hợp với thực tế hay không. Sau đó Boole đưa ra các phép toán để tính giá trị chân lý của những mệnh đề phức tạp. Giả sử P và Q là hai mệnh đề nào đó. Mệnh đề "P và Q" sẽ nhận giá trị là đúng nếu cả P và Q đều đúng. Nếu thể hiện giá trị đúng bằng 1 và giá trị sai là 0 ta thấy giá trị chân lý của mệnh đề "P và Q" chính là phép nhân logic các giá trị chân lý của P và Q. Do vậy trong ngôn ngữ Tin học người ta gọi luôn phép nhân logic là phép "AND". Giá trị chân lý của mệnh đề "P hoặc Q" chính là phép cộng logic các giá trị chân lý của P và Q. "P hoặc Q" sẽ đúng chỉ cần ít nhất P hoặc Q đúng. Trong trong ngôn ngữ Tin học, người ta cũng gọi phép cộng logic là phép "OR". Giá trị chân lý của mệnh đề "Không phải P" sẽ đúng nếu P sai và ngược lại. Giá trị này có thể tính bằng phép phủ định logic giá trị chân lý của P. Trong trong một số ngôn ngữ Tin học, phép phủ định logic còn có một tên gọi khác là phép "NOT". Phép cộng theo module 2 còn gọi là phép "hoặc loại trừ" (OR Exclusive) và trong ngôn ngữ tin học người ta gọi nó là phép "XOR". 5.2. BIỄU DIỄN CÁC HÀM ĐẠI SỐ LOGIC Một hàm đại số logic cũng có thể được xác định thông qua các hàm đại số logic khác, ví dụ hàm F7(x,y) trong Bảng 5.3 có thể cho bằng công thức sau: ( x ∧  y ) ∨ ( x ∧ y ) Hai công thức dưới đây gọi là công thức đối ngẫu De Morgan.  (x ∧ y) =( x) ∨ (  y),  ( x V y) = ( x) ∧ ( y) Các công thức này cho thấy có thể biểu diễn phép cộng qua phép nhân và phép phủ định (và ngược lại), chẳng hạn, x V y =  ( x) ∧ ( y). Sau đây là hai công thức khác : (x ⇒ y) =  x ∨ y, ( x ∼ y) = (x ∨  y) ∧ (y ∨ x). Có nhiều cách chứng minh một đẳng thức logic trong đó có một cách chứng minh rất đơn giản là so sánh giá trị của hai vế với tất cả các bộ đối số cụ thể. Vì chỉ có một số hữu hạn các bộ đối số nên chúng ta có thể kể ra tất cả các trường hợp trong một bảng giá trị. Chẳng hạn để chứng minh công thức của hàm F7 nói trên ta có thể lập một bảng và so sánh giá trị của hai vế ứng với mỗi bộ giá trị của các đối như Bảng 5.4: 39 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic x y  x ∧ y x ∧  y ( x ∧ y) ∨ (x ∧ y) F7(x,y) 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 Bảng 5.4. Giá trị F7(x,y) Qua các ví dụ trên ta thấy rằng các hàm đại số logic này có thể biểu diễn qua các hàm đại số logic khác. Một tập hợp hữu hạn các hàm đại số logic được gọi là một hệ hàm đủ nếu mọi hàm đại số lôgic khác đều có thể biểu diễn được qua hệ hàm này. Có thể chứng minh không khó khăn lắm rằng hệ hai hàm phủ định và cộng logic là hệ hàm đủ. Do công thức đối ngẫu De Morgan ta thấy hệ hai hàm phủ định và nhân logic cũng là hệ hàm đủ. 5.3. ÁP DỤNG ĐẠI SỐ LOGIC TRONG VIỆC THIẾT KẾ CÁC MẠCH LOGIC MTĐT biểu diễn thông tin bằng các trạng thái của các thành phần vật lý. Thông thường các thành phần này có hai trạng thái đối lập. Ví dụ như một mạch điện đóng hoặc mở, chiều của từ trường một vùng vật liệu từ nhiễm từ theo chiều này hoặc chiều kia Nếu dùng trạng thái này chỉ giá trị 1 và trạng thái kia chỉ giá trị 0 thì ta thấy rằng MTĐT là một máy làm việc trên hệ nhị phân. Mọi phép xử lý máy có thể thực hiện được thực chất là các hàm đại số logic. Các hệ vật lí thực hiện các hàm đại số logic gọi là các mạch logic. Ta minh họa một số mạch logic đơn giản dùng các công tắc ngắt hoặc đóng mạch có điều khiển (gọi là các rơle) với quy ước rằng trạng thái có điện thể hiện giá trị logic 1, trạng thái không có điện thể hiện giá trị logic 0. Phần tử AND Cho mạch điện có hai rơle K1, K2 mắc nối tiếp như Hình 5.1. Chỉ khi có dòng điện điều khiển để đóng K1 và K2 thì mới có dòng điện qua R. Vì vậy sự phụ thuộc trạng thái R vào các trạng thái K1, K2 có thể biến đổi R= K1∧K2 Hình 5.1. Sơ đồ phần tử AND 40 R K1 K2 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic Phần tử OR Cho mạch điện cũng có hai rơle K1, K2 với tính chất như vừa xét, nhưng được mắc song song theo Hình 5.2: Hình 5.2. Sơ đồ phần tử OR Dễ nhận thấy R không có dòng điện (thể hiện giá trị 0) khi và chỉ khi K1 và K2 đồng thời ngắt mạch (thể hiện giá trị 0). Do đó, giá trị logic R thể hiện là tổng logic của các giá trị của K1 và K2 thể hiện. Phần tử NOT Xét mạch điện có sơ đồ như trên Hình 5.3. Khi K mở, dòng điện phải đi qua R, còn khi K đóng, do điện trở của K vô cùng bé so với R nên dòng điện đi qua K mà không đi qua R. Do vậy, giá trị logic R thể hiện là phủ định giá trị mà K thể hiện. Hình 5.3. Sơ đồ phần tử NOT Trên thực tế các mạch logic thường được chế tạo từ các mạch bán dẫn hoặc các mạch vi điện tử với kích thước siêu nhỏ. Người ta cũng chế tạo những mạch (phần tử) OR, AND, NOT, NAND (NOT AND), NOR (NOT OR), XOR và cả những mạch có chức năng phức tạp thực hiện các xử lý phức tạp hơn. Các hệ này gọi là các hệ logic. Như vậy có thể hình dung các hệ logic như những hộp đen (mà ta không quan tâm đến cấu trúc bên trong) có một số đầu vào và một số đầu ra. Các tín hiệu ở đầu vào và đầu ra là các tín hiệu nhị phân (tương ứng với một trong hai trạng thái vật lý). Ta đã biết hệ hàm phủ định, tuyển và hội là một hệ hàm đủ. Như vậy về mặt nguyên tắc có thể chồng chất các phần tử NOT và OR và AND để tạo nên bất cứ một máy thực hiện các phép biến đổi nhị phân nào. Ví dụ sau đây minh họa việc lập mạch cộng hai bit. Bộ cộng 2 bit Phép cộng hai số một bit a và b có thể cho ra một số có hai bit là cd. Bit c chỉ bằng 1 khi và chỉ khi a, b đồng thời bằng 1 (ứng với trường hợp 1 + 1 = 10). Do đó c = a ∧ b. Còn d, như đã trình bày trước 41 R K1 K2 R K O T Hình 5.4 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic đây, chính là tổng theo module 2 của a và b có biểu diễn qua các hàm cộng, nhân và phủ định logic như sau d = ( a ∧  b ) ∨ ( a ∧ b ) Vậy sơ đồ mạch logic của phép cộng hai bit có thể xây dựng như trong Hình 5.5. Trên đây là một ví dụ đơn giản cho thấy người ta có thể xây dựng các mạch thực hiện các chức năng xử lý như thế nào. Đương nhiên mạch của một bộ xử lý có thể thực hiện được hàng trăm loại phép tính và hàng trăm chức năng điều khiển sẽ rất phức tạp. Bộ vi xử lý Itanium của Intel xuất xưởng trong năm 2001 là một mạch điện chứa tới vài chục triệu transitor. Bài tập 1. Dùng phương pháp bảng hãy chứng minh các công thức đối ngẫu De Morgan, biểu diễn của phép tương đương và phép kéo theo. 2. Hãy chứng minh công thức biểu diễn một hàm đại số logic dưới dạng chuẩn hội f(x 1 ,x 2 , x n ) = ∨ (e 1 ∧e 2 ∧ e n ) {(x 1 ,x 2 x n ) / f(x 1 ,x 2 , x n )=1} trong đó e i chính là x i nếu trong bảng giá trị x i = 1 và bằng i x nếu trong bảng giá trị x i =0. 3. Nếu cộng hai số nhiều bit thì mỗi bit của tổng sẽ là tổng của 3 bit, hai bit của hai số hạng và bit nhớ từ hàng bên phải. Như vậy để xây dựng bộ cộng hai số nhiều bit trước hết phải xây dựng bộ cộng 3 bit. Hãy xây dựng bộ cộng 3 bit bằng cách tổng hợp từ hai bộ cộng hai bit. 4. Sau khi có bộ cộng 3 bit, hãy xây dựng bộ cộng 2 số n bit. 42 a b c d Hình 5.5. Sơ đồ bộ cộng hai bit O T O T . Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic CHƯƠNG 5. MỘT SỐ KIẾN THỨC VỀ ĐẠI SỐ LOGIC Người đặt nền móng cho ngành toán học này là D. Boole (181 5- 1 864). Do vậy đại số logic. 1, có 4 hàm nhị phân. Các hàm đó được cho trong Bảng 5. 2 37 Ch¬ng 5 - Mét sè kiÕn thøc vÒ ®¹i sè logic x F1 F2 F3 F4 0 0 1 0 1 1 0 1 1 0 Bảng 5. 2. Các hàm logic 1 biến Hàm F1 và F2 là hàm hằng. ngôn ngữ Tin học, phép phủ định logic còn có một tên gọi khác là phép "NOT". Phép cộng theo module 2 còn gọi là phép "hoặc loại trừ" (OR Exclusive) và trong ngôn ngữ tin học người

Ngày đăng: 28/07/2014, 18:20

Từ khóa liên quan

Mục lục

  • CHƯƠNG 5. MỘT SỐ KIẾN THỨC VỀ ĐẠI SỐ LOGIC

    • 5.1. CÁC HÀM ĐẠI SỐ LOGIC

    • 5.2. BIỄU DIỄN CÁC HÀM ĐẠI SỐ LOGIC

    • 5.3. ÁP DỤNG ĐẠI SỐ LOGIC TRONG VIỆC THIẾT KẾ CÁC MẠCH LOGIC

Tài liệu cùng người dùng

Tài liệu liên quan