ĐẠI HỌC DUY TÂN
KHOA ĐIỆN TỬ VIỄN THÔNG
CHƯƠNG 4
DIGITAL LOGIC
Nguyễn Văn Thọ
Khoa Điện tử viễn thông
Đại học Duy Tân – 2010
Nguyen Van Tho – Duy Tan University.
TRANSISTOR TẠO NÊN CÁC THÀNH PHẦN CỦA MÁY TÍNH
Mỗi bộ xử lý chứa hàng triệu transistor
• Intel Pentium II: 7 triệu
• Compaq Alpha 21264: 15 triệu
• Intel Pentium III: 28 triệu
Transistor làm việc như những công tắc
Tổ hợp lại để tạo thành các chức năng logic
• AND, OR, NOT
Tổ hợp để xây dựng nên các cấu trúc cao cấp
• Bộ cộng, bộ nhân, bộ giải mã, thanh ghi …
Tổ hợp để xây dựng các bộ xử lý
2-2
Nguyen Van Tho – Duy Tan University.
CÁC CẤP ĐỘ MẠCH LOGIC
Combinational Logic
Mạch logic tổ hợp
Full
Adder
Transistors
2-to-4
Decoder
D-Latch
n
Gate
Cổng logic
m
Memory
m
Storage Elements
Phần tử lưu trữ
2-3
Nguyen Van Tho – Duy Tan University.
Công tắc điện đơn giản
Công tắc mở :
•
•
•
•
Mạch hở
Khơng có điện chạy qua
Bóng đèn tắt
Vout = +2.9V
Cơng tắc đóng :
•
•
•
•
Mạch đóng
Dịng điện chạy trong mạch
Bóng đèn sáng
Vout = 0V
Cơng tắc điện có thể dễ dàng biểu diễn 2 trạng thái :
on/off, mở / đóng, có điện / khơng có điện.
2-4
Nguyen Van Tho – Duy Tan University.
TRANSISTOR MOS KIỂU N
MOS = Metal Oxide Semiconductor
• Có 2 kiểu : Kiểu N (N-MOS) và kiểu P (P-MOS)
N-MOS
• Khi đưa điện áp vào chân Gate,
Mạch đóng, ngắn mạch giữa #1 và #2
(cơng tắc đóng )
• Khi điện áp ở chân Gate =0 ,
Mạch hở, cách điện giữa #1 và #2
(công tắc mở)
Gate = 1
Gate = 0
Terminal #2 must be
connected to GND (0V).
2-5
Nguyen Van Tho – Duy Tan University.
TRANSISTOR MOS KIỂU P
P- MOS
• Khi đưa điện áp vào chân Gate ,
mạch hở, hở mạch giữa #1 và #2
(cơng tắc mở)
• Khi điện áp ở chân Gate =0
Mạch đóng, ngắn mạch giữa #1 và #2
(cơng tắc đóng )
Gate = 1
Gate = 0
2-6
Nguyen Van Tho – Duy Tan University.
Logic Gates - Cổng Logic
Sử dụng các trạng thái chuyển mạch của các Transistor
MOS để thực hiện các chức năng logic : AND, OR, NOT.
Quy ước các mức logic :
• Quy định các dải điện áp phụ thuộc vào đặc điểm của transistor
được sử dụng.
¾Giá trị mức 1 thường là : +5V, +3.3V, +2.9V, +1.1V
¾Trong hình minh họa trên ta sử dụng điện áp +2.9V
2-7
Nguyen Van Tho – Duy Tan University.
Inverter (NOT Gate)
In
Out
0V
2.9 V
2.9 V
0V
In
Out
0
1
1
0
Bảng chân trị
Ký hiệu
2-8
Nguyen Van Tho – Duy Tan University.
NOR Gate
Biểu thức toán : C
=
A+ B
A
B
C
0
0
1
0
1
0
1
0
0
1
1
0
2-9
Nguyen Van Tho – Duy Tan University.
OR Gate
A
B
C
0
0
0
0
1
1
1
0
1
1
1
1
Ký hiệu OR
Biểu thức toán : C
=
A+ B
2-10
Nguyen Van Tho – Duy Tan University.
NAND Gate (AND-NOT)
Biểu thức toán : C
=
Ký hiệu NAND
A
B
C
0
0
1
0
1
1
1
0
1
1
1
0
A⋅ B
2-11
Nguyen Van Tho – Duy Tan University.
AND Gate
A
B
C
0
0
0
0
1
0
1
0
0
1
1
1
Ký hiệu AND
Biểu thức toán : C
=
A⋅ B
2-12
Nguyen Van Tho – Duy Tan University.
Các cổng Logic cơ bản
2-13
Nguyen Van Tho – Duy Tan University.
CHUYỂN ĐỔI GIỮA CÁC CÁCH BIỂU DIỄN
A⋅ B
Biểu thức
Logic
a
0
0
1
1
Cổng
Logic
b
0
1
0
1
out
1
1
1
0
Bảng
Chân trị
2-14
Nguyen Van Tho – Duy Tan University.
TỪ BIỂU THỨC TOÁN HỌC
y = s ⋅a ⋅b
s
a
y
OR
b
s
a
b
y
2-15
Nguyen Van Tho – Duy Tan University.
TỪ KÝ HIỆU
s
a
b
s
a
b
s
a
b
s
a
b
out
out = ( s ⋅ a ⋅ b ) + ( s ⋅ a ⋅ b ) + ( s ⋅ a ⋅ b ) + ( s ⋅ a ⋅ b )
OR
out = s a b + s ab + s a b + sab
2-16
Nguyen Van Tho – Duy Tan University.
TỪ BẢNG SỰ THẬT
s
0
0
0
0
1
1
1
1
a
0
0
1
1
0
0
1
1
b
0
1
0
1
0
1
0
1
out
0
0
1
1
0
1
0
1
out =
s a b + s ab + s a b + sab
s
a
b
s
a
b
out
s
a
b
s
a
b
2-17
Nguyen Van Tho – Duy Tan University.
Sử dụng cổng Logic xây dựng các mạch chức năng
Ta đã biết việc sử dụng các cổng AND, OR và NOT để xây
dựng các các mạch theo bảng chân trị. Một trong các ứng
dụng là xây dựng các mạch logic tổ hợp.
Người ta phân mạch logic làm 2 loại
Mạch logic tổ hợp
• output chỉ phụ thuộc vào trạng thái hiện tại của inputs
• stateless
Mạch logic tuần tự
• output depends on the sequence of inputs (past and present)
• Lưu trữ trạng thái từ các trạng thái input trước.
2-18
Nguyen Van Tho – Duy Tan University.
MẠCH CỘNG 1 BIT - Full Adder
A B Cin
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
S Cout
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
A
B
Full
Adder
S
Input
Cin
Cout
: - A,B : 2 bit cần cộng
- Cin : bit nhớ đầu vào
Output : - S : tổng
- Cout : bit nhớ đầu ra
2-19
Nguyen Van Tho – Duy Tan University.
MẠCH CỘNG 1 BIT - Full Adder
A
0
B
0
Cin
0
S
0
Cout
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Cout = a bc + a b c + ab c + abc
S
= a b c + a b c + a b c + abc
2-20
Nguyen Van Tho – Duy Tan University.
Four-bit Adder
2-21
Nguyen Van Tho – Duy Tan University.
DECODER - BỘ GIẢI MÃ
¾ Giải mã giá trị tín hiệu đầu vào để chọn 1 trong các đầu ra
¾ Ứng dụng rộng rãi trong giải mã địa chỉ (bộ nhớ ), giải mã
lệnh (CPU)
¾ Mạch giải mã n đầu vào sẽ có 2n đầu ra
¾ Giải mã 2-4 , 3-8 , 4-16 …
2-22
Nguyen Van Tho – Duy Tan University.
DECODER - BỘ GIẢI MÃ
Bộ giải mã 2 ra 4 (2-4 Decoder)
O1
O2
O3
O4
A
DECODE
B
VÀO
RA
A
B
O1
O2
O3
O4
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
2-23
Nguyen Van Tho – Duy Tan University.
DECODER - BỘ GIẢI MÃ
2-4 Decoder
2-24
Nguyen Van Tho – Duy Tan University.
MULTIPLEXER - BỘ DỒN KÊNH
• Ghép nhiều kênh khác nhau vào 1 kênh
• Đầu ra sẽ là 1 trong các đầu vào tuỳ vào đầu vào chọn
• Thường có 2n đầu vào , n đầu vào chọn
A
B
A
S
B
C
MUX
D
S1
S2
O
O
2-25
Nguyen Van Tho – Duy Tan University.
MULTIPLEXER - BỘ DỒN KÊNH
S1
S0
Z
0
0
A
0
1
B
1
0
C
1
1
D
2-26
Nguyen Van Tho – Duy Tan University.
MẠCH TỔ HỢP & MẠCH TUẦN TỰ
Mạch tổ hợp
• Đầu ra ln cho kết quả giống nhau với giá trị đầu vào giống nhau
Mạch tuần tự
• Lưu giữ thơng tin
• Đầu ra phụ thuộc vào thông tin được lưu giữ (trạng thái) của đầu vào
¾ với giá trị đầu vào giống nhau sẽ cho đầu ra khác nhau phụ thuộc
vào thơng tin lưu trữ
Ví dụ : Máy phát vé
¾Khi ấn nút sẽ cho ra số phụ thuộc vào tình trạng trước đó
• Ứng dụng trong việc chế tạo bộ nhớ
2-27
Nguyen Van Tho – Duy Tan University.
R-S Latch (Bộ chốt): Phần tử lưu trữ cơ bản
R (Clear) : xóa – thiết lập giá trị 0.
S (Set) : thiết lập- thiết lập giá trị 1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
Nếu R và S đều =1 , out có thể là 0 hoặc 1
• trạng thái “dừng” - chứa giá trị trước
• Nếu a=1 thì b=0 và ngược lại
2-28
Nguyen Van Tho – Duy Tan University.
Xóa R-S latch
Giả sử ban đầu, out = 1, sau đó đưa R=0.
1
0
1
1
0
1
0
1
Output changes to zero.
1
1
0
0
1
1
0
0
Sau đó cho R=1 để lưu trữ giá trị ở trạng thái dừng
2-29
Nguyen Van Tho – Duy Tan University.
Thiết lập R-S Latch
Giả sử ban đầu out = 0, ta đưa giá trị S = 0
1
1
0
0
1
1
Output changes to one.
0
0
1
1
0
1
Sau đó cho S=1 để lưu trữ giá trị ở trạng thái dừng
2-30
Nguyen Van Tho – Duy Tan University.
R-S Latch
R=S=1
• Giá trị hiện hành được chốt
S = 0, R=1
• Thiết lập giá trị 1
R = 0, S = 1
• Xóa (thiết lập giá trị 0)
R=S=0
• Out=1
• Trạng thái xác định bởi đặc điểm mạch cổng
• Khơng sử dụng !
2-31
Nguyen Van Tho – Duy Tan University.
Gated D-Latch - Bộ nhớ 1 bit
Hai ngõ vào : D (data) & WE (write enable)
• WE = 1, bộ chốt thiết lập giá trị của D
¾S = NOT(D), R = D
• WE = 0, bộ chốt chứa giá trị đã lưu trữ trước đó
¾S = R = 1
2-32
Nguyen Van Tho – Duy Tan University.
Register – Thanh ghi
Thanh ghi lưu trữ nhiều bit.
• Sử dụng nhiều D-latches, tất cả được điều khiển bởi WE.
• WE=1, n-bit tại D lưu trữ vào thanh ghi.
2-33
Nguyen Van Tho – Duy Tan University.
Memory - Bộ nhớ
Ta có thể tạo bộ nhớ - một mảng k × m bit
Khơng gian địa chỉ:
số ơ nhớ
k = 2n
ơ nhớ
•
•
•
m bits
2-34
Nguyen Van Tho – Duy Tan University.
Memory - Bộ nhớ
writeEnable
00
we
2-to-4
Decoder 10
01
we
11
we
we
d input
Register
Register
Register
Register
q0
q1
q2
q3
q output
a1 a0
address
n=2
Nguyen Van Tho – Duy Tan University.
22 x 3 Memory
address
word select
word WE
input
bits
write
enable
address
decoder
output bits
2-36
Nguyen Van Tho – Duy Tan University.
More Memory Details
Những kỹ thuật chế tạo bộ nhớ hiện nay khơng hồn tồn giống
như kỹ thuật đã trình bày
• sử dụng ít transistor hơn, tin cậy hơn
Nhưng cấu trúc logic của nó thì hồn tồn tương đồng.
• Giải mã địa chỉ
• Chọn hàng
• Điều khiển ghi
Có 2 loại bộ nhớ cơ bản RAM (Random Access Memory)
Static RAM (SRAM)
• nhanh, dữ liệu được giữ mà khơng cần phải làm tươi.
Dynamic RAM (DRAM)
• Chậm , bit lưu trữ phải thường xuyên làm tươi
Also, non-volatile memories: ROM, PROM, flash, …
2-37