Bài giảng Nhập môn mạch số - Chương 5: Mạch tổ hợp: Mạch tính toán số học (ThS. Nguyễn Thanh Sang) cung cấp cho học viên những kiến thứ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;... Mời các bạn cùng tham khảo!
NHẬP MÔN MẠCH SỐ Chương – phần Mạch tổ hợp: Mạch tính tốn số học Tổng quan Chương học về: - Một số mạch logic tổ hợp thông dụng - Thiết kế mạch logic tổ hợp phức tạp sử dụng mạch logic tổ hợp thông dụng Phân biệt mạch tổ hợp 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 Memory 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 chất nhớ Nội dung Mạch cộng (Carry Ripple (CR) Adder) Mạch cộng nhìn trước số nhớ - (Carry Look-Ahead (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ã hoá (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 Look-Ahead (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ã hoá (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) Mạch cộng Carry Ripple (CR) Mạch cộng bán phần (Half Adder) • Cộng số bit có trường hợp Số nhớ Tổng Mạch cộng bit có tổng số nhớ gọi 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 số có nhiều bit – Cộng cặp bit bình thường – Nhưng vị trí cặp bit i, có carry-in từ bit i-1 (Sẽ cộng vào vị trí kế tiếp) Thiết kế cộng toàn phần (Full Adder) Bộ cộng toàn phần (FA) – ngõ vào (2 ngõ vào cho số 1-bit cần tính tổng, ngõ vào cho số nhớ đầu vào (carry-in)) – ngõ (1 ngõ cho tổng cho số nhớ đầu (carry-out)) Thiết kế cộng toàn phần (Full Adder) Bảng thật Ký hiệu 10 Mạch cộng Carry Ripple - critical path Độ trễ cổng C1 Độ trễ cổng C2 Tổng quát, độ trễ 2n+1 cổng mạch cộng Carry Ripple n-bit 24 Mạch cộng CLA - critical path C1 = G0 + P0.C0 C2 = G1 + P1.G0 + P1.P0.C0 Độ trễ cổng C1 Độ trễ cổng C2 Độ trễ cổng Cn Độ trễ tổng cộng cho mạch cộng CLA n-bit độ trễ cổng - gi, pi: độ trễ cổng - Ci: độ trễ cổng - Độ trễ cộng lại tính tổng s 25 Mạch cộng CLA Cấu trúc tầng mạch cộng CLA 26 Giới hạn mạch cộng CLA • Biểu thức tính carry mạch cộng CLA cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+…+pn-1pn-2….p1g0+pn-1pn-2….p1p0c0 CLA giải pháp tốc độ cao (2 level AND-OR) • Độ phức tạp tăng lên nhanh chóng n lớn • Vấn đề Fan-in hạn chế tốc độ mạch cộng CLA 27 Adder/ Subtractor 28 Mạch cộng/ trừ • X,Y số không dấu n-bit 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 dùng để xây dựng mạch trừ Carry Ripple cách đảo Y đặt số nhớ 30 Tràn (Arithmetic Overflow) • Overflow kết phép toán vượt số bit biểu diễn phần giá trị – n bit biểu diễn số từ -2n-1 đến +2n-1-1 – Overflow luôn cho kết sai => Mạch để xác định có overflow hay khơng 31 Ví dụ arithmetic overflow • Với số bit, bit giá trị bit dấu O O • Overflow khơng xuất cộng số trái dấu 32 Arithmetic overflow • Overflow phát (từ ví dụ slide trước) • Với n bit Overflow = cn-1 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ạch cộng/ trừ với ngõ điều khiển ADD SUB – ADD = 1: mạch cộng số ghi A B – SUB = 1: mạch thực phép trừ số B-A Chú ý: Trong lúc hai ngõ ADD, SUB 34 Ví dụ 35 Arithmetic Logic Unit (ALU) 36 ALU • ALUs thực thi nhiều toán tử hàm logic khác – Các toán tử hàm xác định mã ngõ vào Inputs S2 S1 S0 Function 0 F = 0000 0 F = B – A – + Cin F = A – B – + 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 ... =gn-1 + pn-1cn-1 cn-1=gn-2 + pn-2cn-2 cn=gn-1 + pn-1(gn-2 + pn-2cn-2) cn=gn-1 + pn-1gn-2 + pn-1pn-2cn-2 • Tiếp tục khai triển đến lần cộng cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+…+pn-1pn-2….p1g0+pn-1pn-2….p1p0c0...Tổng quan Chương học về: - Một số mạch logic tổ hợp thông dụng - Thiết kế mạch logic tổ hợp phức tạp sử dụng mạch logic tổ hợp thông dụng Phân biệt mạch tổ hợp inputs inputs :: :: Mạch tổ. .. thức tính carry mạch cộng CLA cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+…+pn-1pn-2….p1g0+pn-1pn-2….p1p0c0 CLA giải pháp tốc độ cao (2 level AND-OR) • Độ phức tạp tăng lên nhanh chóng n lớn • Vấn đề Fan-in