Bài giảng Chương 5 - Mạch tổ hợp: Mạch tính toán số học cung cấp cho người học các kiến thức: Một số mạch logic tổ hợp thông dụng, thiết kế các mạch logic tổ hợp phức tạp sử dụng các mạch logic tổ hợp thông dụng. Mời các bạn cùng tham khảo.
NHẬP MƠN MẠCH SỐ Chương 5 – phần 1 Mạch tổ hợp: Mạch tính tốn số học Tổng quan Chương này sẽ học về: - Một số mạch logic tổ hợp thơng dụng - Thiết kế các mạch logic tổ hợp phức tạp sử dụng các mạch logic tổ hợp thông dụng Phân biệt mạch tổ hợp và tuần tự inputs inputs : : : : Mạch tổ hợp Mạch tổ hợp : : : : outputs outputs MẠCH TỔ HỢP - Ngõ thay đổi ngõ vào thay đổi M e m o r y MẠCH TUẦN TỰ - Ngõ thay đổi phụ thuộc vào ngõ vào trạng thái trước - Mạch có tính Nội dung Mạch cộng (Carry Ripple (CR) Adder) Mạch cộng nhìn trước số nhớ (Carry LookAhead (CLA) Adder) Mạch cộng/ mạch trừ Đơn vị tính tốn luận lý (Arithmetic Logic Unit) Mạch giải mã (Decoder)/ Mạch mã hố (Encoder) Mạch dồn kênh (Multiplexer)/ Mạch chia kênh (Demultiplexer) Mạch tạo Parity/ Mạch kiểm tra Parity Mạch so sánh (Comparator) Nội dung Mạch cộng (Carry Ripple (CR) Adder) Mạch cộng nhìn trước số nhớ (Carry LookAhead (CLA) Adder) Mạch cộng/ mạch trừ Đơn vị tính tốn luận lý (Arithmetic Logic Unit) Mạch giải mã (Decoder)/ Mạch mã hố (Encoder) Mạch dồn kênh (Multiplexer)/ Mạch chia kênh (Demultiplexer) Mạch tạo Parity/ Mạch kiểm tra Parity Mạch so sánh (Comparator) 1. Mạch cộng Carry Ripple (CR) Mạch cộng bán phần (Half Adder) • Cộng 2 số 1 bit có 4 trường hợp Số nhớ Tổng Mạch cộng 1 bit có tổng và số nhớ như thế này được gọi là mạch cộng bán phần (HA) x y Sơ đồ mạch Mạch cộng nhị phân song song • Cộng những số có 2 hoặc nhiều bit – Cộng từng cặp bit bình thường – Nhưng ở vị trí cặp bit i, có thể có carryin từ bit i1 (Sẽ cộng vào vị trí kế tiếp) Thiết kế một bộ cộng tồn phần (Full Adder) Bộ cộng tồn phần (FA) – 3 ngõ vào (2 ngõ vào cho 2 số 1bit cần tính tổng, và 1 ngõ vào cho số nhớ đầu vào (carryin)) – 2 ngõ ra (1 ngõ ra cho tổng và 1 cho số nhớ đầu ra (carryout)) Thiết kế một bộ cộng toàn phần (Full Adder) Bảng sự thật Ký hiệu 10 Mạch cộng Carry Ripple critical path Độ trễ 3 cổng đối với Độ trễ 5 cổng đối vCớ1i C2 Tổng quát, độ trễ 2n+1 cổng đối với mạch cộng Carry Ripple nbit 24 Mạch cộng CLA critical path C1 = G0 + P0.C0 C2 = G1 + P1.G0 + P1.P0.C0 Độ trễ 3 cổng đối với Độ trễ 3 cổng đối vCớ1i C2 Độ trễ 3 cổng đối với Cn Độ trễ tổng cộng cho mạch cộng CLA nbit là độ trễ 4 cổng gi, pi: độ trễ 1 cổng Ci: độ trễ 2 cổng Độ trễ 1 cộng còn lại là do tính tổng s 25 Mạch cộng CLA Cấu trúc của một tầng của mạch cộng CLA 26 Giới hạn của mạch cộng CLA • Biểu thức tính carry trong mạch cộng CLA cn=gn1+pn1gn2+pn1pn2gn3+…+pn1pn2….p1g0+pn 1pn2….p1p0c0 CLA là giải pháp tốc độ cao (2 level ANDOR) • Độ phức tạp tăng lên nhanh chóng khi n lớn • Vấn đề Fanin có thể hạn chế tốc độ của mạch cộng CLA 27 3 Adder/ Subtractor 28 Mạch cộng/ trừ • X,Y là 2 số không dấu nbit Phép cộng: S = X + Y Phép trừ: D = X - Y = X + (-Y) = X+ (Bù Y) = X+ (Bù Y) + = X+ Y’+ 29 Mạch trừ • Mạch cộng Carry Ripple có thể được dùng để xây dựng mạch trừ Carry Ripple bằng cách đảo Y và đặt số nhớ đầu tiên là 1 30 Tràn (Arithmetic Overflow) • Overflow là khi kết quả của phép tốn vượt q số bit biểu diễn phần giá trị – n bit biểu diễn được số từ 2n1 đến +2n11 – Overflow ln ln cho ra 1 kết quả sai => Mạch để xác định có overflow hay khơng 31 Ví dụ về arithmetic overflow • Với số 4 bit, 3 bit giá trị và 1 bit dấu O O • Overflow không xuất cộng số trái dấu 32 Arithmetic overflow • Overflow có thể phát hiện được (từ ví dụ ở slide trước) • Với n bit Overflow = cn1 cn • Mạch cộng/ trừ bổ sung mạch kiểm tra overflow với cổng XOR 33 Ví dụ • Thiết kế một mạch cộng/ trừ với 2 ngõ điều khiển ADD và SUB – ADD = 1: mạch cộng 2 số trong 2 thanh ghi A và B – SUB = 1: mạch thực hiện phép trừ số BA Chú ý: Trong một lúc chỉ một trong hai ngõ ADD, SUB bằng 1 34 Ví dụ 35 4 Arithmetic Logic Unit (ALU) 36 ALU • ALUs có thể thực thi nhiều tốn tử và hàm logic khác nhau – Các tốn tử và hàm được xác định bởi một mã ngõ vào Inputs Function S2 S1 S0 0 F = 0000 0 F = B – A – 1 + Cin F = A – B – 1 + Cin 1 F = A + B + Cin 0 F = A B 1 F = A + B 1 F = A * B 1 F = 1111 37 Any question? 38 ...Tổng quan Chương này sẽ học về: - Một số mạch logic tổ hợp thông dụng - Thiết kế các mạch logic tổ hợp phức tạp sử dụng các mạch logic tổ hợp thông dụng Phân biệt mạch tổ hợp và tuần ... inputs : : : : Mạch tổ hợp Mạch tổ hợp : : : : outputs outputs MẠCH TỔ HỢP - Ngõ thay đổi ngõ vào thay đổi M e m o r y MẠCH TUẦN TỰ - Ngõ thay đổi phụ thuộc vào ngõ vào trạng thái trước - Mạch có tính... Mạch cộng/ mạch trừ Đơn vị tính tốn luận lý (Arithmetic Logic Unit) Mạch giải mã (Decoder)/ Mạch mã hố (Encoder) Mạch dồn kênh (Multiplexer)/ Mạch chia kênh (Demultiplexer) Mạch tạo Parity/ Mạch kiểm tra Parity