Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 4: Mạch cộng thấy trước số nhớ (Carry Look Ahead Adder)

Mạch cộng thấy trước số nhớ 
Để xây dựng mạch cộng CLA lớn hơn (e.g. 16 bit
 CLA có thứ bậc.
 Với mỗi khối (mạch cộng 4-bit RCA/CLA) cho đơn vị CLA.
pdf 26 trang thamphan 27/12/2022 2660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 4: Mạch cộng thấy trước số nhớ (Carry Look Ahead Adder)", để 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_vi_xu_ly_nang_cao_phan_2_cac_huong_dan_huong_dan_4.pdf
  • pptHuongdan_04.ppt

Nội dung text: Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 4: Mạch cộng thấy trước số nhớ (Carry Look Ahead Adder)

  1. Bài giảng “Vi xử lý nâng cao” Phần 2: Các hướng dẫn Hướng dẫn 4: Mạch cộng thấy trước số nhớ (Carry Look Ahead Adder) 1
  2. Mạch cộng 1-bit  c = a•b + a•c + b•c out in in cin  s = a XOR b XOR cin a + s  Lưu ý: b s, cout chỉ được tính sau khi a, b, c đều sẵn in cout sàng. 3
  3. Mạch cộng gợn số nhớ  1 + (-1) = 0 (0000) 1 0 1 0 1 0 1 1 + + + + ? 0 ? ? ? ? ? ? ? 5
  4. Mạch cộng gợn số nhớ  Sau 2T 1 0 1 0 1 0 1 1 + + + + ? 0 ? 1 1 ? ? 0 0  1 + (-1) = 0 (0000) 7
  5. Mạch cộng gợn số nhớ  Sau 4T 1 0 1 0 1 0 1 1 + + + + 1 0 1 1 1 0 0 0 0  1 + (-1) = 0 (0000) Trì hoãn : 4T 9
  6. Mạch cộng thấy trước số nhớ (CLA)  Cout = a•b + (a+b)•Cin  Tạo số nhớ: gi = ai bi (gi = 1 nếu ai = bi = 1)  Truyền số nhớ: pi = ai + bi (pi k = 1 nếu ai hoặc bi = 1 và k = 1) (pi k = 0 nếu ai hoặc bi = 1 và k = 0) (pi truyền số nhớ k) 11
  7. Mạch cộng thấy trước số nhớ (CLA) B3 A3 B2 A2 B1 A1 B0 A0 Cin bi ai bi ai bi ai bi ai Ci Ci-1 Ci Ci-1 Ci Ci-1 Ci Ci-1 p g p g p g p g i i Si i i Si i i Si i i Si p g p g p g p g 3 3 C2 2 2 C1 1 1 C0 0 0 C0 = g 0 + p 0Cin C1 = g 1 + p 1g0 + p 1p0Cin C2 = g 2 + p 2g1 + p 2p1g0 + p 2p1p0Cin Cout S3 S2 S1 S0 13
  8. Mạch cộng thấy trước số nhớ (CLA) 1 0 1 0 1 0 1 1 0 bi ai bi ai bi ai bi ai Ci Ci-1 Ci Ci-1 Ci Ci-1 Ci Ci-1 p g p g p g p g i i Si i i Si i i Si i i Si 1 0 ? 1 0 ? 1 0 ? 1 1 C2 = g2 + p2g1 + C1 = g1 + p1g0 + C0 = g 0 + p 0Cin p2p1g0 + p2p1p0Cin p1p0Cin 1 + (-1) = 0 ? ? ? ? 0 Time = 1T 15
  9. Mạch cộng thấy trước số nhớ (CLA) 1 0 1 0 1 0 1 1 0 bi ai bi ai bi ai bi ai Ci Ci-1 Ci Ci-1 Ci Ci-1 Ci Ci-1 p g p g p g p g i i Si i i Si i i Si i i Si 1 0 1 1 0 1 1 0 1 1 1 C2 = g2 + p2g1 + C1 = g1 + p1g0 + C0 = g 0 + p 0Cin p2p1g0 + p2p1p0Cin p1p0Cin 1 + (-1) = 0 1 0 0 0 0 Time = 3T 17
  10. Mạch cộng thấy trước số nhớ (CLA)  Để xây dựng mạch cộng CLA lớn hơn (e.g. 16 bit  CLA có thứ bậc.  Với mỗi khối (mạch cộng 4-bit RCA/CLA) cho đơn vị CLA. Tạo , G = g3 + p3g2 + p3p2g1 + p3p2p1g0 Truyền, P = p3 p2 p1 p0 19
  11. Mạch cộng thấy trước số nhớ (CLA) Time = 0 1 + (-1) = 0 1111 0000 1111 0000 11110000 1111 0001 0 B[4] A[4] B[4] A[4] B[4] A[4] B[4] A[4] ADD3 Cin ADD2 Cin ADD1 Cin ADD0 Cin PG S[4] PG S[4] PG S[4] PG S[4] ? ??? ?? ?? ? ?? C = g + p C C = g + p (g + p C ) ? 0 0 0 in 1 1 1 0 0 in C2 = g 2 + p 2g1 + p 2p1g0 + p 2p1p0Cin CLA Unit C3 = g 3 + p 3g2 + p 3p2g1 + p 3p2p1g0 + p 3p2p1p0Cin ? ???? ???? ???? ???? 21
  12. Mạch cộng thấy trước số nhớ (CLA) 1 + (-1) = 0 Time = 2T 1111 0000 1111 0000 11110000 1111 0001 0 B[4] A[4] B[4] A[4] B[4] A[4] B[4] A[4] ADD3 Cin ADD2 Cin ADD1 Cin ADD0 Cin PG S[4] PG S[4] PG S[4] PG S[4] 1 0 1 1 0 1 1 0 1 1 1 C = g + p C C = g + p (g + p C ) 1 0 0 0 in 1 1 1 0 0 in C2 = g 2 + p 2g1 + p 2p1g0 + p 2p1p0Cin CLA Unit C3 = g 3 + p 3g2 + p 3p2g1 + p 3p2p1g0 + p 3p2p1p0Cin 1 ???? ???? ???? ???0 23
  13. Mạch cộng thấy trước số nhớ (CLA) 1 + (-1) = 0 Time = 4T 1111 0000 1111 0000 11110000 1111 0001 0 B[4] A[4] B[4] A[4] B[4] A[4] B[4] A[4] ADD3 Cin ADD2 Cin ADD1 Cin ADD0 Cin PG S[4] PG S[4] PG S[4] PG S[4] 1 0 1 1 0 1 1 0 1 1 1 C = g + p C C = g + p (g + p C ) 1 0 0 0 in 1 1 1 0 0 in C2 = g 2 + p 2g1 + p 2p1g0 + p 2p1p0Cin CLA Unit C3 = g 3 + p 3g2 + p 3p2g1 + p 3p2p1g0 + p 3p2p1p0Cin 1 000 0 000 0 000 0 0000 25