Bài giảng Nhập môn mạch số - Buổi 9, Chương 5: Mạch tổ hợp-Mạch tính toán số học

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)

pdf 34 trang phuongnguyen 2940
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ố - Buổi 9, Chương 5: Mạch tổ hợp-Mạch tính toán số học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn mạch số - Buổi 9, Chương 5: Mạch tổ hợp-Mạch tính toán số học

Bài giảng Nhập môn mạch số - Buổi 9, 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:

  • pdfbai_giang_nhap_mon_mach_so_chuong_5_mach_to_hop_mach_tinh_to.pdf