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.
31 trang |
Chia sẻ: lylyngoc | Lượt xem: 1680 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Cấu trúc máy tính - 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ương 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. Lược đồ mạch tổ hợp 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ợp Thiế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ộng Mạ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 đồ Mạ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à 0 Ngõ 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à 1 Mạch cộng (tt) Bảng chân trị mạch toàn cộng S= x’y’z + x’yz’ + xy’z’ + xyz = x y z C = xy + xz + yz = xy + (x’y xy’)z Vì x’y + xy’ = x y nên: S = x y z C = xy + (x’y xy’)z Cá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’)z Vớ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 m Mạch giải mã và mã hoá (tt) Sơ đồ mạch giải mã Mạch toàn cộng Mạ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ơn Mạ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ồn Là 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 BOOLEAN A B F A B F RÚT GỌN HÀM BOOLEAN Hai 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 SOP Function F is true if any ofthese and-terms are true! Condition that a is 0, b is 0, c is 1. Sum-of-Products form (SOP) CÁC DẠNG CHÍNH TẮC Note: Binary ordering Mộ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 nhau Four variables: RÚT GỌN HÀM Ở DẠNG SOP F ở dạng SOP : Sử dụng các định lý của đại số Boolean để rút gọn Ta có x’+x = 1 Nhóm các phần tử giống nhau lại với nhau DẠNG CHÍNH TẮC POS F ở dạng chuẩn 2 (POS): A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 BẢ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 ĐỒ KARNAUGH 2-variable K-map 0 1 1 0 Space for AB’ Space for AB Space for A’B’ Space for A’B Bản đồ Karnaugh có thể mở rộng đến 4 biến 3-variable K-map 4-variable K-map B f(A,B,C) f(A,B,C,D) BC A 00 01 11 10 0 1 000 100 001 101 011 111 010 110 C m0 m4 m1 m5 m3 m7 m2 m6 F(A,B,C,D) = A’B’CD + AB’CD’ + A’BCD + ABCD’ + ABC’D F (A,B,C) = A’B’C’ + A’BC + AB’C’ + ABC’ 3-variable K-map 4-variable K-map 1 1 1 1 0 0 0 0 1 1 1 1 1 f(A,B,C) Trên bìa K, chỉ cần ghi hoặc giá trị 1, hoặc giá trị 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 Dùng bìa K để rút gọn hàm Boolean: F = A’B + AB = B G = A’B’ + A’B = A’ We can combine A’B and AB We can combine A’B’ and A’B 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: Các ô kế cận là các ô chỉ khác nhau ở một biến F(C,B,A) = A’C’ + B’C In the K-map, adjacency wraps from left to right and from top to bottom Same function, alternative “circling” Note: Larger circles are better Để rút gọn hàm Boolean bằng bìa K: Biểu diễn hàm lên bìa K Nhó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ên Số phần tử trong mỗi vòng khuyên là 2n Một phần tử có thể nằm trong nhiều vòng khuyên Số 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.