Bài giảng Cấu trúc máy tính - Chương 4: Mạch tổ hợp

Mạch tổ hợp gồm một số các cổng luận lý kết nối với nhau với một tập các ngõ vào và ra.

Mạch tổ hợp chuyển thông tin nhị phân từ dữ liệu nhập thành dữ liệu xuất định trước.

Mạch tổ hợp dùng trong các máy tính số để tạo ra các quyết định điều khiển nhị phân và cung cấp các linh kiện số để xử lý dữ liệu.

 

ppt31 trang | Chia sẻ: phuongt97 | Lượt xem: 521 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cấu trúc máy tính - Chương 4: Mạch tổ hợp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MẠCH TỔ HỢPĐại cươngMạch tổ hợp gồm một số các cổng luận lý kết nối với nhau với một tập các ngõ vào và ra.Mạch tổ hợp chuyển thông tin nhị phân từ dữ liệu nhập thành dữ liệu xuất định trước.Mạch tổ hợp dùng trong các máy tính số để tạo ra các quyết định điều khiển nhị phân và cung cấp các linh kiện số để xử lý dữ liệu.Lược đồ mạch tổ hợpMạch tổ hợpn biến vàom biến ra Mạch tổ hợp có thể được xác định qua bảng chân trị với n biến nhập và m biến xuất; và có thể xác định qua m hàm boolean.Thiết kế mạch tổ hợpThiết kế mạch tổ hợp bắt đầu từ việc xác định bài toán và kết thúc là lược đồ mạch luận lý. Quy trình gồm các bước: 1. Lập bảng chân trị xác định mối quan hệ giữa nhập và xuất. 2. Xác định hàm Boolean đã đơn giản cho mỗi ngõ ra. 3. Vẽ lược đồ luận lý.Mạch cộngMạch nửa cộng: Mạch tổ hợp thực hiện phép cộng số học 2bit được goị là mạch nửa cộng. Các biến xuất mạch nửa cộng là tổng nhớ. Cần có hai biến xuất là vì 1 + 1 = 10 chiếm 2 ký số Gọi x, y là hai biến nhập; S (tổng) và C (nhớ) là hai biến xuất.Mạch cộng (tt)C là 0 trừ khi hai ngõ vào là 1.Ngõ ra S biểu diễn bít có nghĩa thấp nhất của tổng. S = x’y + xy’ = x  y C = xy Bảng chân trị Lược đồSCMạch cộng (tt)Mạch toàn cộng:Mạch toàn cộng là mạch tổ hợp thực hiện phép cộng 3 bit. Gồm 3 ngõ vào và 2 ngõ ra.Hai ngõ vào x, y biểu diễn hai bit cần cộng, ngõ vào 3 z biểu diễn bit nhớ.Hai ngõ ra là S (tổng) và C (nhớ).Trị các biến xuất do phép cộng các bit nhập.Khi tất cả các bít nhập là 0 thì xuất là 0Ngõ ra S là 1 khi có 1 hoặc tất cả ngõ vào là 1.Ngõ ra C là 1 khi hai hoặc 3 ngõ vào là 1Mạch cộng (tt)Bảng chân trị mạch toàn cộngS= x’y’z + x’yz’ + xy’z’ + xyz = x  y  zC = xy + xz + yz = xy + (x’y  xy’)zVì x’y + xy’ = x  y nên:S = x  y  zC = xy + (x’y  xy’)zCác ô trong bảng đồ S không thể kết hợp vì không có các ô liền kề.Ngoài ra S bằng 1 khi số ngõ vào 1 là lẻ nên S là hàm lẻ.Các ô trong bảng đồ C có thể kết hợp theo nhiều cách khác nhau như: C = xy + (x’y + xy’)zVới cách này cho phép ghép 2 mạch nữa cộng thành mạch cộng.Mạch cộng (tt)Mạch giải mã và mã hoáMạch giải mã: - Là mạch tổ hợp đổi thông tin nhị phân với n ngõ nhập thành 2n ngõ xuất. - Nếu ngõ nhập có một số tổ hợp không dùng thì số ngõ ra có thể ít hơn 2n ; mạch giải mã này gọi là mạch giải mã n –m, với m ≤ 2n - Mục đích của mạch giải mã là tạo ra 2n (hoặc ít hơn) tổ hợp nhị phân của n biến nhập. - Khi các biến nhập tạo số nhị phân có trị k thì ngõ ra thứ k sẽ cao, các ngõ khác sẽ thấp. - Mạch giải mã có n nhập và m xuất còn gọi là mạch giải mã n x mMạch giải mã và mã hoá (tt)Sơ đồ mạch giải mãMạch toàn cộngMạch giải mã và mã hoá (tt)Mạch giải mã cổng NAND: - Một số mạch giải mã tạo ra từ cổng NAND thay vì AND. Nó tạo ra ngõ xuất theo dạng đảo. - Ngoài ra ta có thể ghép hai hoặc nhiều mạch nhỏ để tạo ra mạch lớn hơnMạch giải mã và mã hoá (tt)Mạch mã hoá: - Mạch mã hóa thực hiện tác vụ ngược lại với mạch giải mã. - Mạch mã hóa có 2n (hoặc ít hơn) ngõ nhập và n ngõ nhập. - Ngõ xuất tạo mã nhị phân tương ứng trị nhập. - Giả sử chỉ có một ngõ vào 1 tại một thời điểm. Nếu ngõ đó là ngõ thứ k thì các ngõ tạo thành số nhị phân trị k.Mạch dồnLà mạch tổ hợp nhận thông tin từ 1 trong 2n ngõ nhập và đưa ra ngõ xuất.Việc xác định đường nhập vào được xuất do các ngõ nhập chọn.Mạch dồn 2n-1 có 2n nhập, 1 xuất và n ngõ nhập chọn.RÚT GỌN HÀM BOOLEANABFABFRÚT GỌN HÀM BOOLEANHai hàm Boolean bằng nhau khi với cùng ngõ vào chúng cho ngõ ra giống nhau.Khi thực hiện mạch, ta nên đưa hàm Boolean về dạng tối ưu nhấtĐiều đó giúp thực hiện hàm Boolean với số cổng ít nhất, giảm chi phí thực hiện và tăng tốc độ của mạch.DẠNG CHÍNH TẮC SOPa b c F0 0 0 0 0 0 1 1 0 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0Function F is true if any of these and-terms are true!Condition that a is 0, b is 0, c is 1.ORSum-of-Products form (SOP)CÁC DẠNG CHÍNH TẮC = m0= m1= m2= m3= m4= m5= m6= m7Note: Binary orderingMột minterm là một tích của các biến ngõ vào, các biến ở dạng bình thường hoặc là bù.Dạng chính tắc 1 (SOP) gồm các minterm OR lại với nhaua b c F0 0 0 0 0 0 1 1 0 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0Two variables:a b minterm0 0 a’b’ = m00 1 a’b = m11 0 a b’ = m21 1 a b = m3Three variables:a b c minterm0 0 0 a’b’c’ = m00 0 1 a’b’c = m10 1 0 a’b c’ = m20 1 1 a’b c = m31 0 0 a b’c’ = m41 0 1 a b’c = m51 1 0 a b c’ = m61 1 1 a b c = m7Four variables:a b c d minterm0 0 0 0 a’b’c’d’ = m00 0 0 1 a’b’c’d = m10 0 1 0 a’b’c d’ = m20 0 1 1 a’b’c d = m30 1 0 0 a’b c’d’ = m40 1 0 1 a’b c’d = m50 1 1 0 a’b c d’ = m60 1 1 1 a’b c d = m71 0 0 0 a b’c’d’ = m81 0 0 1 a b’c’d = m91 0 1 0 a b’c d’ = m101 0 1 1 a b’c d = m111 1 0 0 a b c’d’ = m121 1 0 1 a b c’d = m131 1 1 0 a b c d’ = m141 1 1 1 a b c d = m15RÚT GỌN HÀM Ở DẠNG SOPF ở dạng SOP :Sử dụng các định lý của đại số Boolean để rút gọnTa có x’+x = 1 Nhóm các phần tử giống nhau lại với nhauDẠNG CHÍNH TẮC POSF ở dạng chuẩn 2 (POS):A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 1 1 1 1 1 A B C A + B + C = M7A + B + C = M6A + B + C = M5A + B + C = M4A + B + C = M3A + B + C = M2A + B + C = M1A + B + C = M00 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1BẢN ĐỒ KARNAUGH (BÌA K)Ngoài 3 phương pháp biểu diễn hàm Boolean đã nói, ta còn dùng bìa K để biểu diễn hàm Boolean.Bìa K là 1 bảng các ô, mỗi ô ứng với một tổ hợp các ngõ vào của hàm Boolean, và chứa giá trị của hàm Boolean tại giá trị ngõ vào đóThực chất, bìa K là một bảng chân trịBẢN ĐỒ KARNAUGH2-variable K-mapA 0 0 1 1 B 0 1 0 1 F 0 1100110A B 0 1 0 1 00011011F(A,B)Space for AB’Space for ABSpace for A’B’Space for A’BBản đồ Karnaugh có thể mở rộng đến 4 biến 3-variableK-map4-variableK-mapB f(A,B,C)f(A,B,C,D)BCA00 01 11 10 0 1 000100001101011111010110CCDAB00 01 11 10 00 01 11 10 0000010000010101001101110010011011001000110110011111101111101010C DA BA m0m4m1m5m3m7m2m6m0m4m1m5m3m7m2m6m12m8m13m9m15m11m14m10F(A,B,C,D) = A’B’CD + AB’CD’ + A’BCD + ABCD’ + ABC’DF (A,B,C) = A’B’C’ + A’BC + AB’C’ + ABC’3-variableK-map4-variableK-map111100001111100000000000f(A,B,C)BCA00 01 11 10 0 1 CA B CDAB00 01 11 10 00 01 11 10 C DA BTrên bìa K, chỉ cần ghi hoặc giá trị 1, hoặc giá trị 011111CDAB00 01 11 10 00 01 11 10 00000000000CDAB00 01 11 10 00 01 11 10 Dùng bìa K để rút gọn hàm Boolean:F = A’B + AB = BG = A’B’ + A’B = A’We can combine A’B and ABWe can combine A’B’ and A’BB A 0 1 0 10 1 0 1 BA 0 1 1 1 00 0 1 Các ô trong vòng khuyên như trên là các ô kế cậnĐối diệnĐối diện Các ô kế cận:BCA00 01 11 10 0 1 BC A Các ô kế cận là các ô chỉ khác nhau ở một biếnF(C,B,A) = A’C’ + B’CIn the K-map, adjacency wraps from left to rightand from top to bottomSame function, alternative “circling”Note: Larger circles are better0 1 FABC00 01 11 10 0 1 BC A 1 1 1 0 0 0 F(C,B,A) = A’BC’ + AB’C + A’B’0 1 FABC00 01 11 10 0 1 BC A 1 1 1 0 0 0 Để rút gọn hàm Boolean bằng bìa K:Biểu diễn hàm lên bìa KNhóm các ô kế cận mang cùng giá trị 1 (hoặc 0) thành các nhóm bằng các vòng khuyênSố phần tử trong mỗi vòng khuyên là 2nMột phần tử có thể nằm trong nhiều vòng khuyênSố vòng khuyên là ít nhất, số phần tử là nhiều nhất.Viết biểu thức rút gọn.

Các file đính kèm theo tài liệu này:

  • pptbai_giang_mach_to_hop.ppt