Phần tóm tắt lý thuyết Bộ logic và số học ALU là một mạch tổ hợp, thực hiện một số thuật toán logic và số học.. Cấu tạo ALU bao gồm 1 bộ hợp kênh có các lối vào là các mạch thực hiện cá
Trang 1Bài 6: bộ logic và số học
(Arithmetic and Logic Circuits)
A Phần tóm tắt lý thuyết
Bộ logic và số học (ALU) là một mạch tổ hợp, thực hiện một số thuật toán logic và số học Cấu tạo ALU bao gồm 1 bộ hợp kênh có các lối vào là các mạch thực hiện các thuật toán số học hoặc logic Các đầu chọn S0 , S1 của hợp kênh làm nhiệm vụ chọn 1 thuật toán nào đó được thực hiện và cho kết quả ở lối ra của hợp kênh
Dưới đây là một ví dụ về ALU 1 bit Bằng 2 đầu chọn lọc S0, S1 của hợp kênh 4 lối vào ta thực hiện được 1 thuật toán số học và 3 thuật toán logic : Σ, Q1, Q2 , Q3
cho hai số nhị phân 1 bit
Hoạt động của bộ ALU này tuân theo bảng chân lý dưới đây Thuật toán số học nhờ mạch FA, các thuật toán logic nhờ cửa AND, OR và EXOR Hợp kênh vào
4 ra 1 với hai đầu chọn lọc S0, S1 sẽ dẫn thuật toán nào đến đầu ra Q
S1 S0 Q3 Q2 Q1 Σ Q
0 0 x x x Σ
0 1 x x Q1 x
1 0 x Q2 x x
1 1 Q3 x x x
Σ
Q1
Q2
Q3
Q
Q3=AB+AB Q2=A+B Q1=A.B
S0
S1
Ci
B
A
74LS153
I3a I2a I1a I0a S1 S0 I3b I2b I1b I0b Ea
Eb
Ya
Yb
FA
Ci A B S
Co
Trang 2Bộ logic số học 4 bit 74LS382 thuộc họ 74 Với 3 đầu vào chọn lọc S0,
S1, S2 ta có thể thực hiện đ−ợc 8 thuật toán cho hai số nhị phân 4 bit:
(A = A3 A2 A1 A0 và B = B3 B2 B1 B0)
ở đây kể cả hai thuật toán CLEAR (F = 0000) và PRESET (F = 1111) thì tổng
số thuật toán thực hiện đ−ợc là 8
Ci dùng cho phép tổng , C dùng cho phép hiệu i
C0 là đầu chuyển đi cho cả bộ ALU này (Carry in = Ci , Carry out = C0)
F3, F2, F1, F0 là các đầu ra chức năng
OVR là đầu ra “v−ợt thang” (OVERFLOW) Đầu ra OVR báo rằng kết quả của thuật toán số học hoặc lớn hơn +7 hoặc bé hơn –8
Minus : bớt đi hoặc trừ đi Plus : thêm vào hoặc cộng vào
B
A⊕ : A hoặc tuyệt đối B
A + B : A hoặc B
A B : A và B
Ví dụ:
0011
1010
0 1 2 3
0 1 2 3
=
=
=
=
B B B B B
A A A A A
⎪
⎪
⎩
⎪
⎪
⎨
⎧
=
= +
=
=
0010
1011
0111 min
1101
B B
B A
B us A
B plus A
Phép toán 8 bit:
Với mỗi ALU 74LS382 ta thực hiện đ−ợc các thuật toán hai số nhị phân
Đầu vào
S2 S1 S0 Chức năng
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
F = 0000 (clear)
F = B minus A minus 1 plus Ci
F = A minus B minus 1 plus Ci
F = A plus B plus Ci
F = A ⊕ B
F = A + B
F = A B
F = 1111 (preset)
A1 A2 A3 A4 B1 B2 B3 B4 Ci
S0 S1 S2
F3 F2 F1 F0 Co Over
74LS382
Trang 34-bit Muèn thùc hiÖn c¸c thuËt to¸n víi hai sè nhÞ ph©n 8bit
A = A7A6A5A4A3A2A1
vµ B = B7B6B5B4B3B2B1 th× ph¶i ghÐp nèi tiÕp 2 ALU 74LS382 Ta lµm nh− sau:
ADD
/
SUB → Ci lµ ®Çu chuyÓn vµo cña tÇng thø nhÊt
§Çu chuyÓn ra C01 cña tÇng thø nhÊt nèi víi ®Çu chuyÓn vµo Ci tÇng thø hai C¸c ®Çu chän S0, S1, S2 m¾c song song KÕt qu¶ F lµ mét sè nhÞ ph©n 8-bit :
F =F7F6F5F4F3F2F1F0
C02 lµ ®Çu chuyÓn ra cña tÇng thø hai
Co
F7 F6 F5 F4
F3 F2 F1 F0 SUB/ADD
S0 S1 S2
B7 B6 B5 B4
B3 B2 B1 B0
A7 A6 A5 A4
A3 A2 A1 A0
A1 A2 A3 A4 B1 B2 B3 B4 Ci
S0 S1 S2
F3 F2 F1 F0 Co Over
74LS382
A1 A2 A3 A4 B1 B2 B3 B4 Ci
S0 S1 S2
F3 F2 F1 F0 Co Over
74LS382
Trang 4B Phần thực nghiệm
1 Nghiên cứu hoạt động của ALU 74LS382
ở phần này ta nghiên cứu hoạt động của bộ logic số học 74ls382 Ngoài ra sinh viên còn có thể tự nghiên cứu sự hoạt động của ALU 74ls181 ở địa chỉ: [Digital By Function/Arithmetic/74ls181] Đây là bộ logic số học có thể thực hiện được 16 thuật toán
Sơ đồ thí nghiệm:
S0
0V S1
0V S2
0V
F0 F1 F2 F3 C0 Ci
0V
B3
0V B2
0V B1
0V B0
0V A3 0V
A2 0V
A1 0V
A0
0V
74LS382
A0 A1 A2 A3 B0 B1 B2 B3 Ci
S0 S1 S2 F3 F2 F1 F0 Co Over
Các bước tiến hành thí nghiệm:
Bước1:
Thực hiện vẽ mạch như hình trên bằng cách sử dụng:
01 ALU 74ls382 [User defined/Macro/74ls382]
12 Logic switch [Switches/Digital/Logic Switch] (s)
05 Logic Display [Displays/Digital/Logic Display] (9) Bước 2:
Thông qua các Logic switch hãy đặt các số liệu đầu vào như sau:
A = 5(10) = 0101
B = 6(10) = 0110
Bước 3:
Trang 5- Bằng cách thay đổi các giá trị của S0,S1, S2 để thực hiện các thuật toán khác nhau Điền đầy đủ kết quả vào bảng số liệu sau:
Đầu ra Đầu vào Ci = 0 Ci = 1 S2 S1 S0 Over C0 F3 F2 F1 F0 Over C0 F3 F2 F1 F0 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
- Giải thích kết quả thu đ−ợc
2 Thực hiện các phép toán với 2 số nhị phân 8 bit sử dụng ALU 74LS382
Mục đích là ta ghép 2 bộ ALU 4 bit (74LS382) để thực hiện các phép toán 2
số nhị phân 8 bit
Sơ đồ thí nghiệm:
S0
0V
S1
0V
S2 0V
A4 0V A5 0V A6 0V A7 0V B4 0V
B5 0V B6 0V B7
0V
Ci 0V
B3 0V B2 0V B1 0V B00V
A3 0V A2 0V
A1 0V A0 0V
Co F7 F6 F5 F4 F3 F2 F1 F0
B3 Ci
S0 S1 S2 F3 F2 F1 F0 Co O
74LS382
B3 Ci
S0 S1 S2 F3 F2 F0 Co O
74LS382
Trang 6 Các bước tiến hành thí nghiệm:
Bước1:
Thực hiện vẽ mạch như hình trên bằng cách sử dụng:
02 ALU 74ls382 [User defined/Macro/74ls382]
20 Logic switch [Switches/Digital/Logic Switch] (s)
09 Logic Display [Displays/Digital/Logic Display] (9) Bước 2:
a Thực hiện phép tổng 2 số nhị phân 8 bit: A = 5710, 2810
- Chuyển 2 số A = 5710 và B = 2810 sang hệ nhị phân:
A = A7A6A5A4A3A2A1A0 = ( )2
B = B7B6B5B4B3B2B1B0 = ( )2
- Thông qua các Logic switch hãy đặt các số liệu đầu vào A và B
- Tiến hành thí nghiệm, ghi đầy đủ kết quả vào bảng số liệu sau:
S2S1S0Ci1 A7A6A5A4A3A2A1A0 B7B6B5B4B3B2B1B0 C02F7F6F5F4F3F2F1F0
0 1 1 0
0 1 1 1
- So sánh kết quả:
F = 5710 + 2810 = ( )10
F = F7F6F5F4F3F2F1F0 = ( )2
b Thực hiện phép hiệu 2 số nhị phân 8 bit: A = 5710, 2810
- Chuyển 2 số A = 5710 và B = 2810 sang hệ nhị phân:
A = A7A6A5A4A3A2A1A0 = ( )2
B = B7B6B5B4B3B2B1B0 = ( )2
- Thông qua các Logic switch hãy đặt các số liệu đầu vào A và B
- Tiến hành thí nghiệm, ghi đầy đủ kết quả vào bảng số liệu sau:
S2S1S0Ci1 A7A6A5A4A3A2A1A0 B7B6B5B4B3B2B1B0 C02F7F6F5F4F3F2F1F0
0 1 0 1
0 0 1 1
Trang 7- Hãy giải thích kết quả trên:
c Thực hiện thuật toán logic A ⊕ B với A = 5710, 2810
- Chuyển 2 số A = 5710 và B = 2810 sang hệ nhị phân:
A = A7A6A5A4A3A2A1A0 = ( )2
B = B7B6B5B4B3B2B1B0 = ( )2
- Thông qua các Logic switch hãy đặt các số liệu đầu vào A và B
- Tiến hành thí nghiệm, ghi đầy đủ kết quả vào bảng số liệu sau:
S2S1S0Ci1 A7A6A5A4A3A2A1A0 B7B6B5B4B3B2B1B0 C02F7F6F5F4F3F2F1F0
1 0 0 0
1 0 0 1
- Hãy kiểm tra lại kết quả trên
3 Kiểm tra kiến thức
Hãy thiết kế mạch có sơ đồ sau:
Chứng minh nó là ALU 4 bit hoạt động theo bảng chân lý sau:
Trang 8S1 S0 C1 F
0 1 0 F = A plus B
1 1 1 F = A minus B Ghi chú:
Bộ tổng toàn phần FA ta có thể sử dụng IC 74LS183 ở địa chỉ:
[User Difined/Macro/74LS183]
Trang 9C Phô lôc
Giíi thiÖu DataSheet c¸c h·ng s¶n xuÊt IC trªn thÕ giíi cña mét sè IC th«ng dông sö dông trong bµi thùc hµnh
1 Bé logic vµ sè häc 4 bÝt (4 bit Arithmetic Logic Unit)
Tªn IC: 74x181 (TTL)
Trang 102 Bé logic vµ sè häc 4 bÝt (4 bit Arithmetic Logic Unit)
Tªn IC: 74x382 (TTL)
Trang 12Bài 7: trigơ
(Trigger)
A Phần tóm tắt lý thuyết
Mạch logic được phân làm hai loại : Mạch “tổ hợp” (Combinational circuits) và mạch dãy (Sequential circuits)
Mạch logic tổ hợp là mạch mà đầu ra của nó chỉ phụ thuộc vào giá trị các
đầu vào ở thời điểm hiện tại không phụ thuộc vào giá trị đầu vào ở thời điểm trước đó Các cửa logic cơ bản, các phân kênh - hợp kênh, mạch giải mã, mạch số học là những mạch logic tổ hợp
Mạch logic dãy là mạch mà mỗi đầu ra của nó không những chỉ phụ
thuộc vào các đầu vào hiện tại mà còn phụ thuộc trạng thái quá khứ của các đầu vào Như vậy trong mạch dãy có các “phần tử nhớ” (memory elements) Trigơ được xếp vào loại mạch dãy Trigơ có hai trạng thái cân bằng Khi có tín hiệu tác dụng vào đầu vào, trigơ sẽ ở một trong hai trạng thái cân bằng này Điều lý thú ở chỗ, khi ngừng tác dụng tín hiệu trigơ vẫn duy trì trạng thái cân bằng cũ, nghĩa là có tính chất “nhớ” Trigơ chỉ chuyển trạng thái khi có tín hiệu thích hợp tác dụng vào đầu vào
1 Trigơ RS
Sơ đồ logic, ký hiệu logic và bảng chân lý của trigơ RS xây dựng từ cửa không hoặc
S R Q Q
0 0
0 1
1 0
1 1
Không đổi
0 1
1 0 Không xác định
Q
Q
R
S
S
_ Q