Kiến trúc máy tính - Chương 2: Cơ bản về logic số
Bộ đếm nhị phân Thiết kế đơn giản B bits có thể đếm từ 0 đến 2B1 Bộ đếm không đồng bộ (Ripple counter) Bộ đếm đồng bộ
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính - Chương 2: Cơ bản về logic số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NKK-HUT
3 May 2012 IT3030 1
Kiến trúc máy tính
Chương 2
CƠ BẢN VỀ LOGIC SỐ
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
NKK-HUT
2 3 May 2012
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Cơ bản về logic số
Chương 3. Hệ thống máy tính
Chương 4. Kiến trúc tập lệnh
Chương 5. Số học máy tính
Chương 6. Bộ xử lý
Chương 7. Bộ nhớ
Chương 8. Vào-ra
Chương 9. Kiến trúc máy tính tiên tiến
IT3030
NKK-HUT
3 May 2012 IT3030 3
2.1. Các hệ đếm cơ bản
2.2. Đại số Boole
2.3. Cổng logic
2.4. Mạch tổ hợp
2.5. Mạch dãy
Nội dung của chương 2
NKK-HUT
3 May 2012 IT3030 4
2.1. Các hệ đếm cơ bản
Hệ thập phân (Decimal System)
con người sử dụng
Hệ nhị phân (Binary System)
máy tính sử dụng
Hệ mười sáu (Hexadecimal System)
dùng để viết gọn cho số nhị phân
NKK-HUT
3 May 2012 IT3030 5
1. Hệ thập phân
Cơ số 10
10 chữ số: 0,1,2,3,4,5,6,7,8,9
Dùng n chữ số thập phân có thể biểu diễn
được 10n giá trị khác nhau:
00...000 = 0
99...999 = 10n - 1
NKK-HUT
3 May 2012 IT3030 6
Dạng tổng quát của số thập phân
Giá trị của A được hiểu như sau:
mnn
a...aaa...aaA
1011
,
m
m
n
n
n
n
a...aaa...aaA
101010101010
1
1
0
0
1
1
1
1
i
n
mi
i
aA 10
NKK-HUT
3 May 2012 IT3030 7
Ví dụ số thập phân
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
Các chữ số của phần nguyên:
472 : 10 = 47 dư 2
47 : 10 = 4 dư 7
4 : 10 = 0 dư 4
Các chữ số của phần lẻ:
0.38 x 10 = 3.8 phần nguyên = 3
0.8 x 10 = 8.0 phần nguyên = 8
NKK-HUT
3 May 2012 IT3030 8
2. Hệ nhị phân
Cơ số 2
2 chữ số nhị phân: 0 và 1
chữ số nhị phân gọi là bit (binary digit)
Bit là đơn vị thông tin nhỏ nhất
Dùng n bit có thể biểu diễn được 2n giá trị
khác nhau:
00...000 = 0
11...111 = 2n - 1
NKK-HUT
3 May 2012 IT3030 9
Dạng tổng quát của số nhị phân
Giá trị của A được tính như sau:
mnn
a...aaa...aaA
1011
,
m
m
n
n
n
n
a...aaa...aaA
222222
1
1
0
0
1
1
1
1
i
n
mi
i
aA 2
Có một số nhị phân A như sau:
NKK-HUT
3 May 2012 IT3030 10
Ví dụ số nhị phân
1101001.1011(2) =
6 5 4 3 2 1 0 -1 -2 -3 -4
= 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
= 105.6875(10)
NKK-HUT
3 May 2012 IT3030 11
Chuyển đổi số nguyên thập phân sang nhị phân
Phương pháp 1: chia dần cho 2 rồi lấy
phần dư
Phương pháp 2: Phân tích thành tổng
của các số 2i nhanh hơn
NKK-HUT
3 May 2012 IT3030 12
Phương pháp chia dần cho 2
Ví dụ: chuyển đổi 105(10)
105 : 2 = 52 dư 1
52 : 2 = 26 dư 0
26 : 2 = 13 dư 0
13 : 2 = 6 dư 1
6 : 2 = 3 dư 0
3 : 2 = 1 dư 1
1 : 2 = 0 dư 1
Kết quả: 105(10) = 1101001(2)
NKK-HUT
3 May 2012 IT3030 13
Phương pháp phân tích thành tổng của các 2i
Kết quả: 105(10) = 0110 1001(2)
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
0 1 1 0 1 0 0 1
Ví dụ 1: chuyển đổi 105(10)
105 = 64 + 32 + 8 +1 = 26 + 25 + 23 + 20
Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
= 214 + 29 + 26 + 25 + 23
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NKK-HUT
3 May 2012 IT3030 14
Chuyển đổi số lẻ thập phân sang nhị phân
Ví dụ 1: chuyển đổi 0.6875(10)
0.6875 x 2 = 1.375 phần nguyên = 1
0.375 x 2 = 0.75 phần nguyên = 0
0.75 x 2 = 1.5 phần nguyên = 1
0.5 x 2 = 1.0 phần nguyên = 1
Kết quả : 0.6875(10)= 0.1011(2)
NKK-HUT
3 May 2012 IT3030 15
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
Ví dụ 2: chuyển đổi 0.81(10)
0.81 x 2 = 1.62 phần nguyên = 1
0.62 x 2 = 1.24 phần nguyên = 1
0.24 x 2 = 0.48 phần nguyên = 0
0.48 x 2 = 0.96 phần nguyên = 0
0.96 x 2 = 1.92 phần nguyên = 1
0.92 x 2 = 1.84 phần nguyên = 1
0.84 x 2 = 1.68 phần nguyên = 1
0.81(10) 0.1100111(2)
NKK-HUT
3 May 2012 IT3030 16
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
Ví dụ 3: chuyển đổi 0.2(10)
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2(10) 0.00110011 (2)
NKK-HUT
3 May 2012 IT3030 17
3. Hệ mười sáu (Hexa)
Cơ số 16
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
Dùng để viết gọn cho số nhị phân: cứ một
nhóm 4-bit sẽ được thay bằng một chữ số
Hexa
NKK-HUT
3 May 2012 IT3030 18
Quan hệ giữa số nhị phân và số Hexa
4-bit Chữ số Hexa
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
Ví dụ chuyển đổi số nhị phân số Hexa:
1011 00112 = B316
0000 00002 = 0016
0010 1101 1001 10102 = 2D9A16
1111 1111 1111 11112 = FFFF16
NKK-HUT
3 May 2012 IT3030 19
2.2. Đại số Boole
Đại số Boole sử dụng các biến logic và phép
toán logic
Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0
(FALSE)
Phép toán logic cơ bản là AND, OR và NOT
với ký hiệu như sau:
A AND B : A•B
A OR B : A + B
NOT A : A
Thứ tự ưu tiên: NOT > AND > OR
NKK-HUT
3 May 2012 20
Các phép toán logic (tiếp)
Các phép toán NAND, NOR, XOR:
A NAND B : A•B
A NOR B : A + B
A XOR B: A B = A • B + A • B
IT3030
NKK-HUT
3 May 2012 IT3030 21
Phép toán đại số Boole
P Q P P.Q P+Q
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
P Q PQ P.Q P+Q
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
NKK-HUT
3 May 2012 IT3030 22
Các đồng nhất thức của đại số Boole
A • B = B • A
A • (B + C) = (A • B) + (A • C)
1 • A = A
A • A = 0
A + B = B + A
A + (B • C) = (A + B) • ( A + C)
0 + A = A
A + A = 1
0 • A = 0
A • A = A
A • (B • C) = (A • B) • C
A • B = A + B (Định lý De
Morgan)
1 + A = 1
A + A = A
A + (B + C) = (A + B) + C
A + B = A • B (Định lý De
Morgan)
NKK-HUT
3 May 2012 IT3030 23
2.3. Các cổng logic (Gate)
Các cổng cơ bản
AND
OR
NOT
Chức năng có thể
biểu diễn bằng bảng
thật (truth table)
NKK-HUT
3 May 2012 IT3030 24
Các cổng
NAND
NOR
XOR
Các cổng logic (tiếp)
NKK-HUT
3 May 2012 IT3030 25
Tập đầy đủ
Là tập các cổng có thể thực hiện được
bất kỳ hàm logic nào từ các cổng của
tập đó.
Một số ví dụ về tập đầy đủ:
{AND, OR, NOT}
{AND, NOT}
{OR, NOT}
{NAND}
{NOR}
NKK-HUT
3 May 2012 IT3030 26
Sử dụng cổng NAND
NKK-HUT
3 May 2012 IT3030 27
Sử dụng cổng NOR
NKK-HUT
3 May 2012 IT3030 28
Một số ví dụ vi mạch logic
NKK-HUT
3 May 2012 IT3030 29
Hàm logic
Hàm logic có thể được biểu diễn theo
một vài cách:
Bảng thật (Truth table)
Bìa Cac-nô
Biểu thức logic
Dạng sơ đồ
NKK-HUT
3 May 2012 IT3030 30
2.4. Mạch tổ hợp
Mạch tổ hợp là mạch logic trong đó tín
hiệu ra chỉ phụ thuộc tín hiệu vào ở thời
điểm hiện tại.
Là mạch không nhớ và được thực hiện
bằng các cổng logic cơ bản
Mạch tổ hợp có thể được định nghĩa
theo ba cách:
Bảng thật
Dạng sơ đồ
Phương trình Boole
NKK-HUT
3 May 2012 IT3030 31
Bộ dồn kênh (Multiplexer-MUX)
Multiplexer
2n đầu vào dữ liệu
n đầu vào chọn
1 đầu ra
Đầu vào chọn (S)
xác định đầu vào
nào (I) sẽ được
nối với đầu ra.
4-data input MUX
NKK-HUT
3 May 2012 IT3030 32
Multiplexer (tiếp)
Thực hiện MUX bốn đầu vào dữ liệu
NKK-HUT
3 May 2012 IT3030 33
Bộ phân kênh (Demultiplexer – DeMUX)
NKK-HUT
3 May 2012 IT3030 34
Bộ giải mã (Decoder)
Bộ giải mã chọn một đầu ra tương ứng với một tổ hợp
của N đầu vào.
NKK-HUT
3 May 2012 IT3030 35
Bộ giải mã (tiếp)
NKK-HUT
3 May 2012 IT3030 36
Bộ giải mã 74LS139
NKK-HUT
3 May 2012 IT3030 37
Bộ mã hóa (Encoder)
NKK-HUT
3 May 2012 IT3030 38
Bộ cộng (Adder)
Bộ bán tổng (Half-adder)
Cộng hai bit tạo ra bit tổng và bit nhớ
Bộ toàn tổng (Full-adder)
Cộng 3 bit
Cho phép xây dựng bộ cộng N-bit
NKK-HUT
3 May 2012 IT3030 39
Bộ cộng (tiếp)
NKK-HUT
3 May 2012 IT3030 40
Bộ cộng 16-bit
A 16-bit ripple-carry adder
NKK-HUT
3 May 2012 IT3030 41
2.5. Mạch dãy
Mạch dãy là mạch logic trong đó tín
hiệu ra phụ thuộc tín hiệu vào ở hiện tại
và quá khứ
Là mạch có nhớ, được thực hiện bằng
phần tử nhớ (Latch, Flip-Flop) và có thể
kết hợp với các cổng logic cơ bản
Mạch dãy bao gồm:
Mạch tổ hợp
Mạch hồi tiếp
NKK-HUT
3 May 2012 IT3030 42
Các thành phần chính của mạch dãy
NKK-HUT
3 May 2012 IT3030 43
Chốt (Latch)
Có khả năng nhớ bit
NKK-HUT
3 May 2012 IT3030 44
Chốt (tiếp)
NKK-HUT
3 May 2012 IT3030 45
D Latch
D Latch (đồng bộ theo mức)
Tránh tổ hợp SR = 11
NKK-HUT
3 May 2012 IT3030 46
Flip-Flops
D Flip-Flop (Đồng bộ theo sườn)
(Flip-Flop D đồng bộ theo sườn dương)
NKK-HUT
3 May 2012 IT3030 47
Flip-Flops (tiếp)
Low level High level Positive edge Negative edge
Latches Flip-flops
NKK-HUT
3 May 2012 IT3030 48
JK Flip-Flop
J K Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 Qn
NKK-HUT
3 May 2012 IT3030 49
Ví dụ chip
D latches JK flip-flops
NKK-HUT
3 May 2012 IT3030 50
Thanh ghi dịch
Có chức năng lưu trữ và dịch số liệu
NKK-HUT
3 May 2012 IT3030 51
Chip thanh ghi
74164 shift
Register chip
NKK-HUT
3 May 2012 IT3030 52
Bộ đếm
Bộ đếm nhị phân
Thiết kế đơn giản
B bits có thể đếm từ 0 đến 2B1
Bộ đếm không đồng bộ (Ripple counter)
Bộ đếm đồng bộ
NKK-HUT
3 May 2012 IT3030 53
Ví dụ bộ đếm không đồng bộ (ripple counter)
A modulo-8
binary ripple
counter
LSB
NKK-HUT
3 May 2012 IT3030 54
Ví dụ bộ đếm đồng bộ
Được thiết kế dựa trên nguyên tắc sau:
Thay đổi đầu ra nếu bit đếm trước đó là 1
Q1 thay đổi khi Q0 = 1
Q2 thay đổi khi Q1Q0 = 11
NKK-HUT
3 May 2012 IT3030 55
Hết chương 2
Các file đính kèm theo tài liệu này:
- ca2_7714.pdf