khoa ĐiỆn tỬdata.ute.udn.vn/bitstream/ute/1836/3/chuong 3 ktxs.pdfchương 3: cƠ sỞ kỸ...

60
KỸ THUẬT XUNG SỐ ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC PHẠM KỸ THUẬT KHOA ĐIỆN - ĐIỆN TỬ TS. NGUYỄN LINH NAM

Upload: others

Post on 06-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • KỸ THUẬT XUNG SỐ

    ĐẠI HỌC ĐÀ NẴNG

    TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

    KHOA ĐIỆN - ĐIỆN TỬ

    TS. NGUYỄN LINH NAM

  • Chương 3:

    CƠ SỞ KỸ THUẬT SỐ

    3.1. Hệ thống số đếm 3.2. Các loại mã nhị phân thông dụng 3.3. Đại số logic

  • Mục tiêu của chương: - Hiểu được khái niệm chung về hệ thống số đếm và các

    loại mã nhị phân. Trình bày được phương pháp chuyển đổi giữa các hệ thống số khác nhau

    - Thực hiện được các phép toán đối với số nhị phân

    - Mô tả được thế nào là đại số Boole

    - Viết và chứng minh được 5 tiền đề và 8 định lý đối với đại số Boole

    - Mô tả được khái niệm về hàm Boole

    - Biết được các phương pháp biểu diễn hàm Boole

    - Biết được các phương pháp tối thiểu hóa hàm Boole

    - Áp dụng các phần lý thuyết đã học để làm các bài tập đối với hàm Boole

  • HỆ THỐNG SỐ ĐẾM: Các đại lượng vật lý được theo dõi, đo lường, tính toán… cần được biểu diễn bằng giá trị thực của chúng một cách chính xác để thuận lợi trong việc xử lý có hiệu quả. Có hai cách biểu diễn các đại lượng này :

    + Biểu diễn ở dạng tương tự: khi hàm biểu diễn và đại lượng biến thiên liên tục theo thời gian. + Biểu diễn ở dạng số: khi đó hàm biểu diễn và đại lượng sẽ biến thiên không liên tục theo thời gian .

    Việc biểu diễn các giá trị thành các ký số sẽ tạo thành các hệ thống số đếm.

  • Thập phân

    (Hệ 10)

    Nhị phân

    (Hệ 2)

    Bát phân

    (Hệ 8)

    Thập lục phân

    (Hệ 16)

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    00

    01

    02

    03

    04

    05

    06

    07

    10

    11

    12

    13

    14

    15

    16

    17

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

  • Cơ số là số lượng ký tự phân biệt trong một hệ đếm. + hệ nhị phân: cơ số 2 với 2 chữ số 0 và 1 + hệ bát phân có cơ số 8 với các chữ số 0, 1, 2, 3, 4, 5, 6, 7.

    Cơ số của hệ thống số đếm

    Biểu diễn bất kỳ một số N trong hệ cơ số S:

    0 < Ci < S-1 i là thứ tự vị trí các chữ số của N, i=0 tương ứng với vị

    trí chữ số đầu tiên đứng trước dấu chấm phẩy ngăn cách phần nguyên và phần phân.

  • 3 2 1 0

    2

    2 1 0

    10

    -1 -2

    1 0

    8

    2 1 0

    16

    1101 = 1x2 + 1x2 + 0x2 + 1x2 = 13

    103.76 = 1x10 + 0x10 + 3x10

    + 7x10 +6x10

    35 = 3x8 + 5x8 = 29

    A2F = 10x16 + 2x16 + 15x16

    = 2607

    Ví dụ:

  • Các phép biến đổi số biểu diển trong các hệ thống số khác nhau:

    N (thập phân) → hệ đếm cơ số S + Phần nguyên: lấy phần nguyên chia cho cơ số S, ghi lại số dư của phép chia. Đem kết quả của phép chia (thương số) tiếp tục chia cho cơ số S. Cứ thực hiện như vậy cho đến khi kết quả phép chia bằng 0. Phần nguyên tương đương trong hệ đếm cơ số S là tập hợp các số dư của phép chia, trong đó số dư đầu tiên có trọng số nhỏ nhất LSB (Least Significant Bit). + Phần phân: lấy phần phân nhân cho cơ số S, ghi lại phần nguyên của kết quả, còn phần phân của nó lại tiếp tục nhân cho cơ số S. Lặp lại phép nhân nhiều lần cho tới độ chính xác mà ta mong muốn. Phần phân trong hệ cơ số S sẽ là tập hợp các phần nguyên của phép nhân, trong đó số đầu tiên có trọng số lớn nhất MSB (Most Significant Bit).

  • Ví dụ : đổi sang hệ nhị phân. 1014.715

    Phép chia phần nguyên Số dư 14: 2 = 7 0 trọng số nhỏ nhất LSB 7: 2 = 3 1

    3: 2 = 1 1

    1: 2 = 0 1

    Phép nhân phần phân Phần nguyên tích số 0.715 x 2 = 1.43 1 trọng số lớn nhất MSB

    0.43 x 2 = 0.86 0

    0.86 x 2 = 1.72 1

    0.72 x 2 = 1.44 1

    Kết quả chuyển đổi: 10 214.715 1110.1011=

  • Ví dụ: đổi 170.51310 sang hệ bát phân

    Phép chia phần nguyên Số dư 170 : 8 = 21 2 trọng số nhỏ nhất 21 : 8 = 2 5

    2 : 8 = 0 2

    Phép nhân phần phân Phần nguyên tích số 0.513 x 8 = 4.104 4 trọng số lớn nhất

    0.104 x 8 = 0.832 0

    0.832 x 8 = 6.656 6

    Kết quả chuyển đổi: 170.51310 = 252.4068

  • Để đổi một số từ hệ nhị phân sang hệ bát phân (thập lục phân ) trước hết phải gom các số thành nhóm gồm 3(4) chữ số tính từ dấu chấm ngăn cách phần nguyên và phần phân. Mỗi nhóm này sẽ được thay thế bằng một chữ số bát phân (thập lục phân ).

    Ví dụ : đổi 1101110.0112 sang hệ bát phân 001 101 110 . 011 1 5 6 3

    kết quả biến đổi là 156.38 Ví dụ: đổi 111101011010.01012 sang hệ thập lục phân 1111 0101 1010 . 0101 F 5 A 5

    kết quả biến đổi là F5A.516

    N (nhị phân) → hệ đếm cơ số S

  • CÁC LOẠI MÃ NHỊ PHÂN THÔNG DỤNG:

    Mã kí tự: -Mã ASCII: mỗi kí tự được mã hoá bằng 8 bit nhị phân. -Mã EBCDI: mỗi kí tự cũng được mã hoá bằng 8 bit nhị phân.

    Mã số học: -Mã nhị phân là mã có trọng số, trọng số các bit được sắp xếp theo thứ tự từ thấp đến cao là 1,2,4,8… -Mã quá 3 được tạo thành từ mã nhị phân bằng cách cộng mỗi mã nhị phân với 0011 (+3). -Mã Gray là loại mã không có trọng số. Hai tổ hợp mã kế cận của mã Gray chỉ khác nhau một bit.

  • Thập phân Nhị phân Quá 3 Gray

    0

    1

    2

    3

    4

    5

    6

    7

    8

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    0000

    0001

    0011

    0010

    0110

    0111

    0101

    0100

    1100

  • -Mã thập phân hoá BCD: mỗi chữ số thập phân từ 0 đến 9 được mã hoá bằng một tổ hợp mã từ 4 đến 5 bit. -Mã BCD thường dùng 10 tổ hợp đầu tiên của bộ mã nhị phân 4 bit để mã hoá các số thập phân. Loại mã này còn có tên BCD8421, trong đó 8, 4, 2, 1 là trọng số các bit từ cao xuống thấp. -BCD: 3321, 3521, 7421, 5421, 5211,…

    Số thập phân BCD8421 BCD7421 BCD5421

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    1000

    1001

    1010

    0000

    0001

    0010

    0011

    0100

    1000

    1001

    1010

    1011

    1100

  • CÁC PHÉP TOÁN TRÊN SỐ NHỊ PHÂN: Trong hệ nhị phân, mỗi chữ số được gọi là một bit,

    trong đó bit có trọng số lớn nhất ký hiệu là MSB (Most

    Significant Bit) và bit có trọng số nhỏ nhất là LSB

    (Least Significant Bit).

    Ví dụ: 1 1 0 1 0 là số 5 bit

    MSB LSB

    8 bit tạo thành 1 byte

    1KB (Kilobyte) = 210 Byte = 1024 Byte

    1MB (Magabyte) = 210 KByte = 220 Byte

  • Phép cộng Được tiến hành giống như phép cộng trong hệ thập phân tức là phải cộng các ký số cùng cột theo quy tắc sau : Số hạng 1 Số hạng 2 Tổng Số nhớ (carry) 0 0 0 0 0 1 1 0

    1 0 1 0

    1 1 0 1

    Cũng như cộng ở số thập phân, ở đây số nhớ (carry) sẽ được cộng vào bit cao hơn kế tiếp. Ví dụ: 1 số nhớ 111 số nhớ 15 1111

    + +

    6 0110

    ----- --------

    21 10101

  • Phép trừ Khi tiến hành trừ hai số một bit có thể xảy ra các khả năng sau : Số bị trừ Số trừ Hiệu Số mượn (borrow) 0 0 0 0 1 0 1 0

    0 1 1 1

    1 1 0 0

    Như vậy trong một bit bất kỳ nếu số trừ lớn hơn số bị trừ thì phải mượn 1 từ bit cao hơn và bit đó coi như bị trừ đi 1. Ví dụ: 11 số mượn 100

    -

    011

    -----

    001

    Tóm lại trong phép trừ nhị phân mượn 1 từ bit thứ n tương đương trừ đi 1 ở chính bit đó và cộng thêm 2 ở bit thứ n-1.

  • Tuy nhiên trong các thiết bị số nói chung phép trừ sẽ được thay thế bằng phép cộng theo quy tắc : Hiệu số = số bị trừ + số bù của số trừ (số âm) Số bù –1: Bù –1 của số nhị phân là một số khi cộng với số nhị phân đã cho thì tổng bằng 1 ở tất cả các bit. Để tìm bù –1 của một số nhị phân bất kỳ ta chỉ cần đổi 0 thành 1 và 1 thành 0. Ví dụ : số nhị phân Bù –1 1001101 0110010 1110110 0001001

    Số bù –2: Bù –2 của một số nhị phân bằng số bù –1 của nó cộng thêm 1 vào bit có trọng số thấp nhất LSB. Ví dụ : số nhị phân Bù –1 Bù -2 1001101 0110010 0110011 1110110 0001001 0001010

    Số có dấu: Có hai cách biểu diễn số có dấu, biểu diễn bằng ký hiệu bù –1 và bằng ký hiệu bù –2.

  • Cộng trừ số biểu diễn bằng ký hiệu bù –1 Số có dấu được biểu diễn bằng ký hiệu bù –1 theo quy tắc sau: + Bit lớn nhất MSB là bit dấu, trong đó 0 là số dương và 1 là số âm + Các bit còn lại biểu diễn trị thực của số dương hoặc trị bù –1 của số âm + Số có dấu n bit biểu diễn các giá trị từ (2n-1-1) đến –(2n-1-1) Ví dụ: 17 010001 26 011010 -17 101110 -26 100101

    Thực hiện phép cộng đối với số n bit cũng giống như cộng các số nhị phân không dấu, cộng cả bit dấu. Cần lưu ý cộng số nhớ của bit lớn nhất MSB vào bit cuối cùng LSB. Phép trừ được thay thế bằng phép cộng, trong đó số bị trừ cộng với bù –1 của số trừ, số nhớ của bit lớn nhất MSB nếu có sẽ được cộng vào bit nhỏ nhất LSB.

  • Ví dụ:

    1 1 11

    17 010001 -17 101110

    + + + +

    26 011010 -26 100101

    ----- ---------- ----- -----------

    43 0101011 -43 1010011

    +

    1

    -------------

    1010100

  • Cộng trừ số biểu diễn bằng ký hiệu bù –2 Số có dấu được biểu diễn bằng ký hiệu bù –2 theo quy tắc sau + Bit lớn nhất MSB là bit dấu, trong đó 0 là số dương và 1 là số âm + Các bit còn lại biểu diễn trị thực của số dương hoặc trị bù –2 của số âm + Số có dấu n bit biểu diễn các giá trị từ (2n-1-1) đến –(2n-1)

    Ví dụ: 17 010001 26 011010

    -17 101111 -26 100110

    Phép cộng hai số n bit được thực hiện như cộng hai số nhị phân không dấu, kể cả bit dấu. Cần lưu ý: bit có trọng số 2n trong kết quả sẽ bị loại bỏ.

    Phép trừ được thực hiện thông qua phép cộng, trong đó hiệu số bằng số bị trừ cộng với bù –2 của số trừ. Bit có trọng số 2n trong kết quả nếu có sẽ bị bỏ.

  • Ví dụ:

    17 010001 26 011010

    -17 101111 -26 100110

    17 010001 -17 101111

    + + + +

    26 011010 -26 100110

    ----- ---------- ----- -----------

    43 0101011 -43 1010101

  • Ví dụ:

    12 001100 9 001001

    -12 110100 -9 110111

    1 11 1

    12 001100 -12 110100

    + + + +

    9 001001 -9 110111

    ----- ---------- ----- -----------

    21 010101 -21 1101011

    Bỏ

  • Phép nhân Phép nhân hai số nhị phân được thực hiện tương tự như hệ thập phân, trong đó thừa số thứ nhất sẽ được dịch bit sang trái tuỳ theo vị trí mỗi bit trong thừa số thứ hai. Nhân hai số nhị phân rất đơn giản vì kết quả chỉ có thể là 1 hoặc

    0, theo quy tắc: 0 x 0 = 0 x 1 = 0 1x1 = 1

    Ví dụ: 11 1011

    x x

    13 1101

    ---- ------

    33 1011

    + 0000

    11 1011

    ------- 1011

    143 -------------

    10001111

    Nói chung khi nhân một số n bit với một số m bit, tích số bao gồm m+n bit.

  • Đối với số có dấu phép nhân cũng được thực hiện bằng cách dịch bit sang trái và cộng như số không dấu, tuy nhiên cần lưu ý những điểm sau: + Trong quá trình cộng nếu bit lớn nhất của thừa số thứ nhất có trọng số thấp hơn bit lớn nhất của thừa số thứ hai thì phải thêm bit dấu cho thừa số thứ nhất. + Khi nhân bit dấu của thừa số thứ hai thì nếu bit dấu bằng 1 phải cộng trị bù –2 của thừa số thứ nhất.

  • Ví dụ: -3 1101

    x x

    -5 1011

    ---- ------

    15 11101

    1101

    -------------

    110111

    0000

    -------------

    1110111

    0011

    -------------

    0001111

    thêm bit dấu

    thêm bit dấu

    thêm bit dấu

    bù -2 của 1101

  • Ví dụ: -3 1101

    x x

    5 0101

    ---- ------

    -15 11101

    0000

    -------------

    111101

    1101

    -------------

    1110001

    0000

    -------------

    1110001

    thêm bit dấu

    thêm bit dấu

    thêm bit dấu

  • Phép chia Phép chia được thực hiện đơn giản bằng cách dịch phải toán hạng

    chia 1 bit và trừ dần toán hạng bị chia cho toán hạng chia.

    Ví dụ: 217 11

    -11 19

    -----

    107 11011001 1011

    -99 -1011 10011

    ----- --------

    8 0101 - 0000 -------- 1010 - 0000 ---------- 10100 - 1011 ----------- 10011 - 1011 ---------- 1000

  • Phép chia số có dấu được thực hiện giống số không dấu, tuy có một số điểm khác như sau: + Nếu số bị chia và số chia cùng dấu thì kết quả phép chia là dương, ngược lại hai số khác dấu cho kết quả âm. + Số dư mang dấu của số bị chia.

  • Tập hợp chỉ gồm các đối tượng có hai trạng thái: -có hoặc không -mệnh đề đúng hoặc sai Các đại lượng này được biểu diễn bằng biến logic. Khi trạng thái của đối tượng là tồn tại (có) ta gán cho biến logic biểu diễn nó giá trị quy ước là 1 và ký hiệu là A, còn khi trạng thái của đối tượng là không tồn tại (không) ta gán cho biến logic thể hiện nó giá trị quy ước là 0 và ký hiệu . A

    Đại số logic (đại số boole)

  • Các phép toán trong đại số logic:

    Phép phủ định logic (phép bù) đối với một biến logic A nào đó

    là khi tác động của phép toán này, A sẽ nhân được giá trị đảo của

    giá trị ban đầu và ký hiệu là . A

    Phép cộng logic (phép hoặc, phép hợp) được ký hiệu bằng dấu

    “+”. Ví dụ A+B là phép cộng giữa hai biến logic A và B, kết quả của

    chúng gọi là tổng.

    Phép nhân logic (phép và, phép giao) được ký hiệu bằng dấu “.”.

    Ví dụ A.B là phép nhân giữa hai biến logic A và B, kết quả của

    chúng gọi la tích số.

  • CÁC TIỀN ĐỀ, ĐỊNH LÝ TRONG ĐẠI SỐ BOOLE:

    Các tiền đề:

    Tiền đề 1 : tính giao hoán A+B = B+A A.B = B.A Tiền đề 2 : tính phân bố A(B+C) = A.B + A.C A + B.C = (A+B)(A+C)

  • Tiền đề 3 : tồn tại các hằng số 0 và 1 sao cho A + 0 = A A.1 = A Tiền đề 4 : Với mọi phần tử A tồn tại phần tử bù A, sao cho

    A A 1+ =

    A.A 0=

    Tiền đề 5 : Kết quả các phép toán giữa hai phần tử logic bất kì là duy nhất. Thứ tự ưu tiên của các phép toán trong đại số Booble: trước hết là lấy bù, sau đó là phép nhân và cuối cùng là phép cộng.

  • Các định lý:

    Định lý 1: luật phủ định hai lần

    chứng minh

    B A= B A=

    Theo tiền đề 4 ta có :

    A có phần tử bù là Acó nghĩa là

    mặt khác A có phần tử bù là A

    Phần tử bù của một phần bất kỳ là duy nhất, do đó:

  • Định lý 2 : luật đồng nhất của phép cộng và phép nhân logic

    A + A = A A.A = A

    Chứng minh:

    A+A=(A+A).1=(A+A)(A+ )

    =A+(A. )=A+0=A

    A.A=A.A+0=A.A+A.

    =A(A+ )=A.1=A

    A

    A

    A

    A

  • Định lý 3: quy tắc tính giữa biến và hằng

    A+1=1

    A.0=0

    Chứng minh: A+1=1.(A+1)=(A+ ).(A+1)

    =A+ .1=A+ =1

    A.0=(A.0)+0=(A.0)+A.

    =A(0+ )=A. =0

    AA A

    AA A

    Định lý 4: quy tắc tính đối với hằng

    Chứng minh:

    0.1=0

    0+1=1

    như vậy theo tiền đề 4 thì 0 là phần bù của 1 và ngược lại 1 là phần

    tử bù của 0.

  • Định lý 5: Luật nuốt

    A(A+B) = A

    A + AB = A Chứng minh:

    A(A+B) = A.A + A.B = A(1+B) = A.1 = A

    Định lý 6: Luật dán

    ( )

    ( )

    A A+B =AB

    A+ AB =A+B

    Chứng minh:

    ( )A A+B =A.A A.B=0+A.B=A.B+

    ( ) ( )( )A+ AB = A+A A+B =1.(A+B)=A+B

  • Định lý 7: Quy tắc De Morgan

    A+B A.B=

    A+B A B= +

    Chứng minh:

    ( )( )A+B A.B =A.A.B+A.B.B=0.B+A.0=0

    ( ) ( )A+B + A.B =A+A.B+B=A+B+B=A+1=1Như vậy ( )A.B là phần tử bù của (A+B)→ A+B A.B=

    ( )( )A.B A+B =A.B.A+A.B.B=0

    ( ) ( )A.B + A+B =A+A.B+B=A+B+B=A+1=1Như vậy là phần tử bù của (A.B)→ ( )A+B

    A+B A B= +

  • Định lý 8: Luật kết hợp

    A+(B+C) = (A+B) + C

    A(B.C) = (A.B)C

    Chứng minh:

    Đặt x = A+(B+C) và y = (A+B) + C

    Như vậy:

    Bằng cách tương tự có thể chứng minh

    x y=

  • HÀM BOOLE: Mỗi ký hiệu trong tập hợp B được gọi là một biến Boole.

    Một hàm Boole n biến được viết dưới dạng f(A1,A2,...,An),

    hàm có thể có hai trị 1 và 0.

    Định nghĩa: cho A1,A2,...,An là các biến thuộc tập hợp y.

    Một ánh xạ f của y vào chính bản thân nó gọi là một hàm

    Boole n biến nếu nó được cấu tạo theo nguyên tắc sau:

    a. Hàm hằng số f(A1,A2,...,An)=a và hàm f(A1,A2,...,An) =

    Ai cũng là các hàm Boole.

    b. Nếu f(A1, A2,...,An) là một hàm Boole thì

    cũng là một hàm Boole.

    c. Nếu f1 và f2 là các hàm Boole thì f1+f2 và f1.f2 cũng là

    hàm Boole.

    1 2 nf (A , A ,...,A )

  • Miền xác định cúa các hàm là tập hợp các tổ hợp biến. Với hàm n biến thì sẽ có 2n các tổ hợp khác nhau của các biến. Mặt khác với một miền có n biến thì có thể xác định được 22n hàm khác nhau.

    Ví dụ với hàm 1 biến ta có 4 hàm như sau:

    ( )0f A

    ( )1f A

    ( )2f A A

    ( )3f A

    Hàm Đối số A

    Ký hiệu hàm Tên gọi hàm 0 1

    0 0 0 hằng 0

    0 1 A biến A

    1 0 phủ định của A

    1 1 1 hằng 1

  • CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE:

    Biểu diễn bằng bảng giá trị:

    Bảng giá trị hay còn được gọi là bảng

    chân lý, trong đó liệt kê tất cả các giá

    trị có thể có của tất cả các biến và các

    giá trị tương ứng của hàm. Với hàm n

    biến, có thể có 2n tổ hợp các giá trị

    khác nhau của các biến.

  • Ví dụ: Hàm f1 có đặc điểm hàm có giá trị bằng 1 nếu số lượng biến bằng 1 nhiều hơn số lượng biến bằng 0.

    A1 A2 A3 f1

    0

    1

    2

    3

    4

    5

    6

    7

    0 0 0

    0 0 1

    0 1 0

    0 1 1

    1 0 0

    1 0 1

    1 1 0

    1 1 1

    0

    0

    0

    1

    0

    1

    1

    1

  • Hàm f2 chọn ra các số chia hết cho 3 hoặc 5 .

    A1 A2 A3 A4 f2 A1 A2 A3 A4 f2 A1 A2 A3 A4 f2

    0 0 0 0

    0 0 0 1

    0 0 1 0

    0 0 1 1

    0 1 0 0

    1

    0

    0

    1

    0

    0 1 0 1

    0 1 1 0

    0 1 1 1

    1 0 0 0

    1 0 0 1

    1

    1

    0

    0

    1

    1 0 1 0

    1 0 1 1

    1 1 0 0

    1 1 0 1

    1 1 1 0

    1 1 1 1

    1

    0

    1

    0

    0

    1

    Hàm f3 chọn ra các số lớn hơn 2 với điều kiện A1A2A3 = 0, nếu không thỏa điều kiện thì hàm có giá trị không xác định ký hiệu a (trị không xác định là trị tuỳ định, 0 hay 1 đều được)

    A1 A2 A3 f3

    0

    1

    2

    3

    4

    5

    6

    7

    0 0 0

    0 0 1

    0 1 0

    0 1 1

    1 0 0

    1 0 1

    1 1 0

    1 1 1

    0

    0

    0

    1

    1

    1

    1

    a

  • Bìa Karnaugh -Toàn bộ miền xác định của hàm đều được biểu diễn trên

    một ô vuông hay chữ nhật. Ô này được chia thành 2n ô

    vuông nhỏ, trong đó n là số biến của hàm. Như vậy số

    lượng ô bằng với tổng số các tổ hợp trị của các biến.

    -Dọc theo hai cạnh của bìa Karnaugh ghi các tổ hợp trị của

    các biến và phân bố sao cho các tổ hợp liên tiếp nhau chỉ

    khác trị của một biến. Đây là điều kiện kế cận cho rút gọn

    hàm bằng bìa Karnaugh sau này.

    -Trong mỗi ô nhỏ của bìa Karnaugh ghi trị tương ứng của

    hàm. Thông thường người ta chỉ đánh dấu các ô hàm bằng

    1 và X, các ô bỏ trống coi như hàm bằng 0. Hoặc cũng có

    thể đánh dấu các ô hàm bằng 0 hoặc X, các ô bỏ trống coi

    như hàm bằng 1.

  • Ví dụ: Trên H.2.5 biểu diễn bìa Karnaugh của các hàm f1, f2, f3.

    A1A2 f1

    00 01 11 10

    0

    1

    1 1 1

    A3

    1

    A1A2 f2

    00 01 11 10

    0 1

    1 1 1

    A3

    a 1

    00

    A1A2 f3

    01 11 10

    01 1 1

    A3A4

    1

    1 1

    1 10

    1

    1

    11

    00

  • Biểu diễn bằng biểu thức đại số

    Ngoài bảng giá trị và bìa Karnaugh, để xét và so sánh giữa các hàm Boole

    với nhau người ta có thể dùng biểu

    thức đại số ở dạng chính tắc. Nói

    cách khác: dạng chính tắc của một

    hàm Boole bất kỳ là biểu thức duy

    nhất. Với một hàm Boole n biến, có

    hai dạng chính tắc sau:

  • Dạng thứ nhất (còn gọi là dạng tuyến tính toàn phần): là dạng tổng của các tích cơ bản được viết một cách tổng quát:

    trong đó:

    ( )1 2 nE ,E ,...,E là số nhị phân n ký hiệu

    Dạng chính tắc thứ nhất liệt kê các tổ hợp biến mà ở đó hàm có giá trị bằng 1, trong đó nếu biến bằng 1 viết dưới dạng thực và biến 0 viết dưới dạng bù.

    Ví dụ: hàm f4 có các tổ hợp theo thứ tự là 0, 2, 3, 5, 7 hàm có giá trị bằng 1. Vậy hàm f4 được viết ở dạng chính tắc như sau:

  • Dạng thứ hai (còn gọi là hội chuẩn toàn phần): là dạng tích của các tổng cơ bản, có thể nhận được bằng cách lấy hàm phủ định của dạng chính tắc thứ nhất theo quy tắc De Morgan. Có thể viết dạng chính tắc thứ hai một cách tổng quát:

    ( )1 2 nE ,E ,...,E

    Ví dụ: hàm f1 có các tổ hợp theo thứ tự 0, 1, 2, 4 hàm bằng 0, do đó biểu thức chính tắc thứ hai có dạng:

    Dạng chính tắc thứ hai liệt kê các tổ hợp biến mà ở đó hàm có giá trị bằng 0, trong đó nếu biến bằng 0 viết dạng thực và biến bằng 1 viết dạng bù.

    trong đó:

    và là số nhị phân n ký hiệu.

  • BÀI TẬP

  • TỐI THIỂU HOÁ HÀM BOOLE:

    Phương pháp:

    -Đại số (5 tiền đề + 8 định lý)

    -Bìa Karnaugh

    Mục đích:

    Đưa hàm về dạng biểu diễn đơn giản nhất cho một

    biểu thức Boole nhằm giảm chi phí thiết bị.

    Các chỉ tiêu rút gọn có thể phát biểu như sau:

    -Biểu thức cuối cùng chứa tối thiểu số biến

    -Biểu thức cuối cùng chứa tối thiểu số số hạng hay thừa số

    -Biểu thức đòi hỏi số vi mạch ít nhất để thực hiện

  • Phương pháp đại số: Sự rút gọn được thực hiện trên cơ sở áp dụng các tiền đề và

    định lý của đại số Boole.

    Ví dụ: Rút gọn biểu thức

    Các bước rút gọn:

    f=AB+ABC+ABC+AC

    ( )f=AB(1+C)+AC 1 B+f=AB.1+AC.1

    ( )f=AB+AC A B+C=

  • Ví dụ: Rút gọn biểu thức Các bước rút gọn: Trước hết ta biến đổi biểu thức Như vậy:

    f=AB+C AC+B+

    ( ) ( )AB+C A+B C= A+B C=

    ( )f= A+B C+AC+B

    f=AC+BC+AC+B =B+BC+AC+AC

    f=B+C+A+AC =A+B+C

  • Phương pháp bìa Karnaugh: Như chúng ta đã thấy ở ví dụ trên, việc rút gọn bắt đầu bằng việc rút ra

    những cặp số hạng chỉ khác nhau một biến.

    hai ô kế

    cận nhau

    trên bìa

    Karnaugh

    ABCABC

    ABC ABC

    ABC ABC

    Như vậy với cách sắp xếp trị các biến trên bìa Karnaugh hai ô bất kỳ kế cận nhau chỉ khác nhau một biến .

    bìa Karnaugh

  • Quy tắc về ô kế cận: hai ô được gọi là kế cận nhau là hai ô mà khi ta đi từ ô này sang ô kia chỉ làm thay đổi một giá trị của biến. khi gom 2 ô kế cận → loại 1 biến khi gom 4 ô kế cận → loại 2 biến khi gom 8 ô kế cận → loại 3 biến khi gom 2n ô kế cận → loại n biến Những biến bị loại là những biến mà khi ta đi vòng qua các ô kế cận mà giá trị của chúng thay đổi.

    Quy tắc chung: kết hợp 2n ô kế cận thì loại được n biến, trong đó biến có trị thay đổi bị loại. Do n là số nguyên nên chỉ có thể kết hợp 2, 4, 8,...số ô là luỹ thừa của 2

  • Những điều lưu ý: -Vòng gom được gọi là hợp lệ khi trong vòng gom đó có ít nhất 1 ô chưa thuộc vòng gom nào. - Các ô kế cận muốn gom được phải là kế cận vòng tròn nghĩa là ô cuối cùng cũng là ô kế cận đầu tiên. -Biểu diễn hàm Boole dưới dạng: chính tắc 1: gom ô kế cận có giá trị bằng 1 và tuỳ định (X) chính tắc 2: gom ô kế cận có giá trị bằng 0 và tuỳ định (X) đồng thời ta củng chỉ quan tâm đến những ô tuỳ định sao cho những ô đó kết hợp với những ô có giá trị bằng 1 (hoặc 0) thì làm cho số lượng ô kế cận sẽ là 2n lớn nhất -Trong bìa Karnaugh nếu có vòng gom nào chứa các giá trị bằng 1 thuộc về các vòng gom khác thì vòng gom này sẽ bị loại bỏ.

  • Ví dụ: Rút gọn hàm cho trên bìa Karnaugh sau:

    Kết quả hàm rút gọn sẽ là: B+AC

    Còn B=1 nên

    kết quả viết là

    B

    Còn A=C=1

    nên kết quả

    viết AC

  • Ví dụ: Rút gọn hàm cho trên bìa Karnaugh sau:

    Kết quả hàm rút gọn sẽ là: C+AB

  • Ví dụ: Rút gọn hàm cho trên bìa Karnaugh sau:

    Kết quả hàm rút gọn sẽ là:

    ACDf2

  • BÀI TẬP