Bài giảng Nhập môn Mạch số - Chương 05 - Phần 1: Mạch tổ hợp: Mạch tính toán số học - Nguyễn Thanh Sang

Nội dung
1. Mạch cộng (Carry Ripple (CR) Adder)
2. Mạch cộng nhìn trước số nhớ - (Carry Look-Ahead (CLA)
Adder)
3. Mạch cộng/ mạch trừ
4. Đơn vị tính toán luận lý (Arithmetic Logic Unit)
5. Mạch giải mã (Decoder)/ Mạch mã hoá (Encoder)
6. Mạch dồn kênh (Multiplexer)/ Mạch chia kênh (Demultiplexer)
7. Mạch tạo Parity/ Mạch kiểm tra Parity
8. Mạch so sánh (Comparator) 


pdf 38 trang thamphan 29/12/2022 2380
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn Mạch số - Chương 05 - Phần 1: Mạch tổ hợp: Mạch tính toán số học - Nguyễn Thanh Sang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_nhap_mon_mach_so_chuong_05_phan_1_mach_to_hop_mach.pdf

Nội dung text: Bài giảng Nhập môn Mạch số - Chương 05 - Phần 1: Mạch tổ hợp: Mạch tính toán số học - Nguyễn Thanh Sang

  1. NHẬP MÔN MẠCH SỐ Chương 5 – phần 1 Mạch tổ hợp: Mạch tính toán số học 1
  2. Phân biệt mạch tổ hợp và tuần tự MẠCH TỔ HỢP Mạch tổ hợp - Ngõ ra sẽ thay đổi inputs : : : : outputs lập tức khi ngõ vào thay đổi MẠCH TUẦN TỰ Mạch tổ hợp - Ngõ ra sẽ thay đổi inputs : : : : outputs phụ thuộc vào ngõ vào và trạng Memory thái trước đó. - Mạch có tính chất nhớ 3
  3. Nội dung 1. Mạch cộng (Carry Ripple (CR) Adder) 2. Mạch cộng nhìn trước số nhớ - (Carry Look-Ahead (CLA) Adder) 3. Mạch cộng/ mạch trừ 4. Đơn vị tính toán luận lý (Arithmetic Logic Unit) 5. Mạch giải mã (Decoder)/ Mạch mã hoá (Encoder) 6. Mạch dồn kênh (Multiplexer)/ Mạch chia kênh (Demultiplexer) 7. Mạch tạo Parity/ Mạch kiểm tra Parity 8. Mạch so sánh (Comparator) 5
  4. 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 x Mạch cộng 1 bit có tổng và số y nhớ như thế này được gọi là mạch cộng bán phần (HA) Sơ đồ mạch 7
  5. Thiết kế một bộ 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)) 9
  6. Thiết kế một bộ cộng toàn phần (Full Adder) Bảng sự thật Si x i  y i  c i ci 1 x i y i x i c i y i c i cci IN cci 1 OUT 11
  7. Thiết kế một bộ cộng toàn phần (Full Adder) • Sử dụng lại mạch HA Si x i  y i  c i ci 1 x i y i c i() x i  y i x y Sơ đồ mạch HA Sơ đồ mạch Sơ đồ mạch FA sử dụng lại HA 13
  8. Mạch cộng Carry Ripple • 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ớ 15
  9. 2. Mạch cộng nhìn trước số nhớ Carry Look-Ahead (CLA) Adder 17
  10. Carry Look-Ahead Adder (CLA) • 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 19
  11. 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 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 đầu tiên cn=gn-1+pn-1gn-2+pn-1pn-2gn-3+ +pn-1pn-2 .p1g0+pn-1pn-2 .p1p0c0 21
  12. Carry Look-Ahead Adder (CLA) • Ví dụ: Trường hợp cộng 4 bit C1 = G0 + P0.C0 C2 = G1 + P1.G0 + P1.P0.C0 C3 = G2 + P2.G1 + P2.P1.G0 + P2.P1.P0.C0 C4 = G3 + P3.G2 + P3.P2.G1 + P3P2.P1.G0 + P3P2.P1.P0.C0 23
  13. 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 25
  14. 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=gn-1+pn-1gn-2+pn-1pn-2gn-3+ +pn-1pn-2 .p1g0+pn-1pn-2 .p1p0c0 CLA là giải pháp tốc độ cao (2 level AND-OR) • Độ 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 27
  15. Mạch cộng/ trừ • X,Y là 2 số không dấu n-bit Phép cộng: S = X + Y Phép trừ: D = X - Y = X + (-Y) = X+ (Bù 2 của Y) = X+ (Bù 1 của Y) + 1 = X+ Y’+ 1 29
  16. Tràn (Arithmetic Overflow) • 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 luôn cho ra 1 kết quả sai => Mạch để xác định có overflow hay không 31
  17. Arithmetic overflow • Overflow có thể phát hiện được (từ ví dụ ở slide trước) • Với n bit Overflow = cn-1 cn • Mạch cộng/ trừ có thể bổ sung mạch kiểm tra overflow với 1 cổng XOR 33
  18. Ví dụ 35
  19. ALU • ALUs có thể thực thi nhiều toán tử và hàm logic khác nhau – Các toán tử và hàm được xác định bởi một mã ngõ vào Inputs S2 S1 S0 Function 0 0 0 F = 0000 0 0 1 F = B – A – 1 + Cin 0 1 0 F = A – B – 1 + Cin 0 1 1 F = A + B + Cin 1 0 0 F = A B 1 0 1 F = A + B 1 1 0 F = A * B 1 1 1 F = 1111 37