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
Mạch cộng toàn phần (Full Adder)
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ó carry-in từ bit i-1
Bộ cộng toàn phần (FA)
3 ngõ vào (2 ngõ vào cho 2 số 1-bit cần tính tổng, và 1 ngõ
vào cho số nhớ đầu vào (carry-in))
2 ngõ ra (1 ngõ ra cho tổng và 1 cho số nhớ đầu ra (carryout))
Mạch FA bắt đầu với việc cộng các cặp bit từ LSB đến
MSB
Nếu carry xuất hiện ở vị trí bit i, nó được cộng thêm vào phép
cộng ở vị trí bit thứ i+1
Việc kết hợp như vậy thường được gọi là mạch cộng
Carry-Ripple
Vì carry được “ripple” từ FA này sang các FA kế tiếp
Tốc độ phép cộng bị giới hạn bởi quá trình truyền số nhớ
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: 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
CHƯƠNG 5: MẠCH TỔ HỢP - MẠCH TÍNH TOÁN SỐ HỌC NHẬP MÔN MẠCH SỐ Nội dung 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 2 Tổng quan 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 toán luận lý (Arithmetic Logic Unit) Tổng quan 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 3 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ự Mạch tổ hợp : : : :inputs outputs Mạch tổ hợp : :inputs outputs: : M e m o ry MẠCH TỔ HỢP - Ngõ ra sẽ thay đổi lập tức khi ngõ vào thay đổi MẠCH TUẦN TỰ - Ngõ ra sẽ thay đổi phụ thuộc vào ngõ vào và trạng thái trước đó. - Mạch có tính chất nhớ 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 4 Nội dung 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 5 Tổng quan 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ừ Mạch cộng bán phần (Half Adder) Cộng 2 số 1 bit có 4 trường hợp 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) Sơ đồ mạch x y TổngSố nhớ 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 6 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ó carry-in từ bit i-1 (Sẽ cộng vào vị trí kế tiếp) 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 7 Mạch cộng toàn phần (Full Adder) 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 8 Mạch cộng toàn phần (Full Adder) Bộ cộng toàn phần (FA) 3 ngõ vào (2 ngõ vào cho 2 số 1-bit cần tính tổng, và 1 ngõ vào cho số nhớ đầu vào (carry-in)) 2 ngõ ra (1 ngõ ra cho tổng và 1 cho số nhớ đầu ra (carry- out)) Bảng sự thật Ký hiệu 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 9 Mạch cộng toàn phần (Full Adder) i i i iS x y c 1i i i i i i ic x y x c y c 1i OUTc c i INc c Bảng sự thật 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 10 Mạch cộng toàn phần (Full Adder) Sơ đồ mạch Ký hiệu Ký hiệu khác i i i iS x y c 1i i i i i i ic x y x c y c 1i OUTc c i INc c 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 11 Mạch cộng toàn phần (Full Adder) i i i iS x y c 1 ( )i i i i i ic x y c x y Sử dụng lại HA Sơ đồ mạch FA sử dụng lại HA Sơ đồ mạch HA x y Sơ đồ mạch 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 12 Mạch cộng toàn phần (Full Adder) Sơ đồ biểu diễn mạch cộng 4 bit song song sử dụng full adder 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 13 Mạch cộng Carry Ripple (CR) Mạch FA bắt đầu với việc cộng các cặp bit từ LSB đến MSB Nếu carry xuất hiện ở vị trí bit i, nó được cộng thêm vào phép cộng ở vị trí bit thứ i+1 Việc kết hợp như vậy thường được gọi là mạch cộng Carry-Ripple Vì carry được “ripple” từ FA này sang các FA kế tiếp Tốc độ phép cộng bị giới hạn bởi quá trình truyền số nhớ 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 14 Mạch cộng Carry Ripple (CR) Mạch cộng Carry Ripple (CR) Mỗi FA có một khoảng trễ (delay), giả sử là Δt Độ trễ phụ thuộc vào số lượng bit Carry-out ở FA đầu tiên C1 có được sau Δt Carry-out ở FA đầu tiên C2 có được sau 2Δt => Cn được tính toán sau nΔt 11/2/2017 15Copyrights 2016 UIT-CE. All Rights Reserved. Mô hình carry look ahead (CLA) thường được sử dụng để cải thiện tốc độ Nội dung 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 16 Tổng quan 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ừ 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 17 Critical path delay Tốc độ của mạch bị giới hạn bởi độ trễ lớn nhất dọc theo đường nối trong mạch Độ trễ lớn nhất được gọi là critical path delay Đường nối gây ra độ trễ đó gọi là critical path Mạch cộng Carry Ripple - critical path Tổng quát, độ trễ 2n+1 cổng đối với mạch cộng Carry Ripple n-bit Độ trễ 3 cổng đối với C1 Độ trễ 5 cổng đối với C2 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 18 Cải thiện tốc độ mạch cộng bằng cách Tại mỗi tầng (stage), ta sẽ xác định nhanh giá trị carry-in ở tầng cộng trước đó sẽ có giá trị 0 hay 1 Giảm Critical path delay 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 19 Carry Look-Ahead Adder (CLA) Hàm xác định carry-out ở lần cộng thứ i ci+1= xiyi + xici + yici = xiyi + (xi + yi)ci Đặt gi = xiyi và pi = xi + yi => ci+1= gi + pici gi = 1 khi cả xi và yi đều bằng 1, không quan tâm ci ❖ g được gọi là hàm generate, vì carry-out luôn được generate ra khi g=1 pi = 1 khi xi = 1 hoặc yi = 1; carry-out = ci ❖ p được gọi là hàm propagate, vì carry-in = 1 được propagate (truyền) ở tầng cộng thứ i 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 20 Carry Look-Ahead Adder (CLA) Xác định carry-out của mạch cộng n bit cn =gn-1 + pn-1cn-1 Mà cn-1 =gn-2 + pn-2cn-2 Do đó: cn =gn-1 + pn-1(gn-2 + pn-2cn-2) =gn-1 + pn-1gn-2 + pn-1pn-2cn-2 Tiếp tục khai triển đến lần cộng đầu tiên cn=gn-1+pn-1gn-2+pn-1pn-2gn-3++pn-1pn-2.p1g0+pn-1pn-2.p1p0c0 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 21 Carry Look-Ahead Adder (CLA) Số nhớ đầu vào c0 được truyền qua tất cả các lần cộng Số nhớ sinh ra ở lần cộng thứ 1 và được truyền qua các lần cộng còn lại Số nhớ sinh ra ở lần cộng thứ n-3 và được truyền qua các lần cộng còn lại Số nhớ sinh ra ở lần cộng thứ n-2 và được truyền qua các lần cộng còn lại Số nhớ sinh ra ở lần cộng cuối cùng 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 22 Carry Look-Ahead Adder (CLA) 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 23 Carry Look-Ahead Adder (CLA) Ví dụ: Trường hợp cộng 2 bit C1 = G0 + P0.C0 C2 = G1 + P1.G0 + P1.P0.C0 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 C1 Độ trễ 3 cổng đối với C2 Độ trễ 3 cổng đối với Cn Độ trễ tổng cộng cho mạch cộng CLA n-bit 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 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 24 Biểu thức tính carry trong mạch cộng CLA cn=gn-1+pn-1gn-2+pn-1pn-2gn-3++pn-1pn-2.p1g0+pn-1pn-2.p1p0c0 Độ phức tạp tăng lên nhanh chóng khi n lớn Vấn đề Fan-in có thể hạn chế tốc độ của mạch cộng CLA Giới hạn của mạch cộng CLA 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 25 Nội dung 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 26 Tổng quan 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 trừ, mạch báo tràn, mạch cộng trừ Phép trừ: D = X - Y = X + (-Y) = X+ (Bù 2 của Y) = X+ (Bù 1 của Y) + 1 = X+ Y’+ 1 Phép cộng: S = X + Y 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 27 X, Y là 2 số không dấu n-bit Mạch trừ 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 28 Mạch trừ FA FA FA FA 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 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 29 Tràn (Overflow): là khi kết quả của phép toán vượt quá số bit biểu diễn phần giá trị n bit biểu diễn được số từ -2n-1 đến +2n-1-1 Overflow luôn cho ra 1 kết quả sai Mạch để xác định có overflow hay không Mạch báo tràn Ví dụ: Xét cộng 2 số 4 bit (3 bit giá trị và 1 bit dấu) sau: Overflow không xuất hiện khi cộng 2 số trái dấu O O 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 30 Mạch báo tràn Tràn có thể phát hiện được bởi mạch phát hiện cờ tràn như sau: Mạch cộng 4 bit: Với n bit Overflow = cn-1 cn Mạch cộng/ trừ có thể bổ sung mạch kiểm tra tràn với 1 cổng XOR. Nếu sau khi thực hiện phép tính, cờ tràn có giá trị bằng “1” thì ta không cần quan tâm giá trị của phép tính vì giá trị đó bị sai. 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 31 Mạch báo tràn Mạch cộng/trừ Thiết kế một mạch cộng/ trừ với 1 ngõ điều khiển ADD/SUB ADD = 0: mạch thực hiện cộng 2 số X + Y SUB = 1: mạch thực hiện trừ 2 số X - Y 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. 32 33 11/2/2017 Copyrights 2016 UIT-CE. All Rights Reserved. Tóm tắt nội dung chương học Qua Phần 1 - Chương 5, sinh viên cần nắm những nội dung chính sau: Sự khác biệt giữa mạch tổ hợp và mạch tuần tự? Khi nào thì ta cần thiết kế mạch tổ hợp và khi nào thì ta cần thiết kế mạch tuần tự trong thiết kế hệ thống mạch số Phương pháp thiết kế mạch tổ hợp: Mạch cộng HA, FA, CRA, CLA, Mạch trừ, Mạch báo tràn. Ưu và khuyết của mạch CRA và CLA. Any question?
File đính kèm:
- bai_giang_nhap_mon_mach_so_chuong_5_mach_to_hop_mach_tinh_to.pdf