NKK-HUST
.c
om
Kiến trúc máy tính
cu
u
du
on
g
th
an
co
ng
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
2017
Kiến trúc máy tính
CuuDuongThanCong.com
42
/>
NKK-HUST
Nội dung học phần
cu
u
du
on
g
th
an
co
ng
.c
om
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. Số học máy tính
Chương 5. Kiến trúc tập lệnh
Chương 6. Bộ xử lý
Chương 7. Bộ nhớ máy tính
Chương 8. Hệ thống vào-ra
Chương 9. Các kiến trúc song song
2017
Kiến trúc máy tính
CuuDuongThanCong.com
43
/>
NKK-HUST
cu
u
du
on
g
th
an
co
ng
.c
2.1. Các hệ đếm cơ bản
2.2. Đại số Boole
2.3. Các cổng logic
2.4. Mạch tổ hợp
2.5. Mạch dãy
om
Nội dung của chương 2
2017
Kiến trúc máy tính
CuuDuongThanCong.com
44
/>
NKK-HUST
.c
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
on
cu
u
du
n
g
th
an
n
co
ng
n
om
2.1. Các hệ đếm cơ bản
2017
Kiến trúc máy tính
CuuDuongThanCong.com
45
/>
NKK-HUST
om
1. Hệ thập phân
Cơ số 10
n
10 chữ số: 0,1,2,3,4,5,6,7,8,9
ng
co
Dùng n chữ số thập phân có thể biểu diễn
được 10n giá trị khác nhau:
th
an
n
.c
n
00...000
= 0
n
99...999
= 10n - 1
cu
u
du
on
g
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
46
/>
NKK-HUST
Dạng tổng quát của số thập phân
.c
om
A = an an-1 ... a1a0 , a-1 ... a-m
an
co
ng
Giá trị của A được hiểu như sau:
cu
u
du
on
g
th
A = an10 n + an−110 n−1 +... + a1101 + a010 0 + a−110 −1 +... + a−m10 −m
2017
n
A=
∑ a 10
i
i
i=−m
Kiến trúc máy tính
CuuDuongThanCong.com
47
/>
NKK-HUST
Ví dụ số thập phân
om
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
2
n
47 : 10 = 4 dư
7
n
4 : 10 = 0 dư
co
472 : 10 = 47 dư
an
n
ng
.c
Các chữ số của phần nguyên:
th
4
on
g
n
du
Các chữ số của phần lẻ:
cu
u
n
n
0.38 x 10 = 3.8 phần nguyên =
3
n
0.8 x 10 = 8.0 phần nguyên =
8
2017
Kiến trúc máy tính
CuuDuongThanCong.com
48
/>
NKK-HUST
2. Hệ nhị phân
n
n
om
.c
ng
= 0
= 2n - 1
du
n
00...000
11...111
cu
u
n
on
g
n
co
n
an
n
Cơ số 2
2 chữ số nhị phân: 0 và 1
Chữ số nhị phân được 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:
th
n
Các lệnh của chương trình và dữ liệu trong
máy tính đều được mã hóa bằng số nhị phân
2017
Kiến trúc máy tính
CuuDuongThanCong.com
49
/>
NKK-HUST
3-bit
4-bit
0
00
000
0000
0
1
01
001
0001
1
10
010
0010
2
11
011
0011
3
100
0100
4
101
0101
5
110
0110
6
111
0111
7
1000
8
1001
9
1010
10
1011
11
1100
12
1101
13
1110
14
1111
15
om
2-bit
cu
u
du
on
g
th
an
co
ng
Biểu diễn
số nhị phân
1-bit
Số
thậpphân
.c
Số nhịphân
2017
Kiến trúc máy tính
CuuDuongThanCong.com
/>
50
NKK-HUST
Đơn vị dữ liệu và thơng tin trong máy tính
om
bit – chữ số nhị phân (binary digit): là đơn vị thông
tin nhỏ nhất, cho phép nhận một trong hai giá trị: 0
hoặc 1.
byte là một tổ hợp 8 bit: có thể biểu diễn được 256
giá trị (28)
Qui ước các đơn vị dữ liệu:
n
n
n
n
th
g
= 210 bytes
= 210 KB
= 210 MB
= 210 GB
= 210 TB
= 210 PB
on
n
KB (Kilobyte)
MB (Megabyte)
GB (Gigabyte)
TB (Terabyte)
PB (Petabyte)
EB (Exabyte)
du
n
cu
u
n
an
co
n
ng
.c
n
2017
= 1024 bytes
= 220bytes (~106)
= 230bytes (~109)
= 240bytes (~1012)
= 250bytes
= 260bytes
Kiến trúc máy tính
CuuDuongThanCong.com
51
/>
NKK-HUST
.c
om
Qui ước mới về ký hiệu đơn vị dữ liệu
Theonhị phân
ng
Theothập phân
Viết tắt
Giá trị
kibibyte
KiB
210 =1024
mebibyte
MiB
220
gibibyte
GiB
230
1012
tebibyte
TiB
240
1015
pebibyte
PiB
250
1018
exbibyte
EiB
260
Viết tắt
Giá trị
kilobyte
KB
103
megabyte
MB
106
gigabyte
GB
109
terabyte
TB
petabyte
PB
an
th
g
on
du
cu
u
exabyte
EB
2017
Đơn vị
co
Đơn vị
Kiến trúc máy tính
CuuDuongThanCong.com
52
/>
NKK-HUST
với ai=0 hoặc 1
ng
.c
A = an an−1 ... a1a0 , a−1 ... a−m
om
Dạng tổng quát của số nhị phân
1
0
−1
+... + a1 2 + a0 2 + a−1 2 +... + a−m 2
−m
cu
u
du
on
A = an 2 + an−1 2
n−1
g
n
th
an
co
Giá trị của A được tính như sau:
n
A=
∑a2
i
i
i=−m
2017
Kiến trúc máy tính
CuuDuongThanCong.com
53
/>
NKK-HUST
Ví dụ số nhị phân
-1 -2 -3 -4
.c
6 5 4 3 2 1 0
om
1101001.1011(2) =
+
2-4
an
co
ng
= 26 + 25 + 23 + 20 + 2-1 + 2-3
on
g
th
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
cu
u
du
= 105.6875(10)
2017
Kiến trúc máy tính
CuuDuongThanCong.com
54
/>
NKK-HUST
ng
Phương pháp 1: chia dần cho 2 rồi lấy
phần dư
co
n
.c
om
Chuyển đổi số nguyên thập phân sang nhị phân
th
an
Phương pháp 2: Phân tích thành tổng
của các số 2i à nhanh hơn
cu
u
du
on
g
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
55
/>
NKK-HUST
n
52
dư
.c
n
52 : 2 =
26
dư
0
n
26 : 2 =
13
dư
0
n
13 : 2 =
6
th
dư
1
n
6:2 =
3
dư
0
n
3:2 =
1
dư
1
n
1:2 =
0
dư
1
du
1
an
co
ng
105 : 2 =
on
n
g
Ví dụ: chuyển đổi 105(10)
cu
u
n
om
Phương pháp chia dần cho 2
biểu diễn
số dư
theo chiều
mũi tên
Kết quả: 105(10) = 1101001(2)
2017
Kiến trúc máy tính
CuuDuongThanCong.com
56
/>
NKK-HUST
Phương pháp phân tích thành tổng của các 2i
n
23
128
0
64
1
32
1
16
0
th
.c
24
22
21
20
8
1
4
0
2
0
1
1
g
ng
25
an
26
105(10) = 0110 1001(2)
on
Kết quả:
du
n
27
co
om
Ví dụ 1: chuyển đổi 105(10)
6
5
3
0
n 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2
Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
cu
u
n
=
214 + 29 + 26 + 25 + 23
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8
2017
7 6 5 4
3 2 1 0
Kiến trúc máy tính
CuuDuongThanCong.com
57
/>
NKK-HUST
Chuyển đổi số lẻ thập phân sang nhị phân
0.6875 x 2 = 1.375
phần nguyên = 1
n
0.375 x 2 = 0.75
ng
.c
om
Ví dụ 1: chuyển đổi 0.6875(10)
n
0.75
x 2 = 1.5
n
0.5
x 2 = 1.0
co
an
th
phần nguyên = 0
phần nguyên = 1
biểu diễn
theo
chiều
mũi tên
phần nguyên = 1
du
on
n
g
n
Kết quả : 0.6875(10)= 0.1011(2)
cu
u
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
58
/>
NKK-HUST
n
0.81 x 2 =
1.62
phần nguyên
=
1
n
0.62 x 2 =
1.24
phần nguyên
=
1
n
0.24 x 2 =
0.48
phần nguyên
co
=
0
n
0.48 x 2 =
0.96
phần nguyên
=
0
n
0.96 x 2 =
1.92
phần nguyên
=
1
n
0.92 x 2 =
1.84
phần nguyên
=
1
n
0.84 x 2 =
1.68
phần nguyên
=
1
du
on
th
an
ng
.c
n
g
Ví dụ 2: chuyển đổi 0.81(10)
cu
u
n
om
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
0.81(10) » 0.1100111(2)
2017
Kiến trúc máy tính
CuuDuongThanCong.com
59
/>
NKK-HUST
om
3. Hệ mười sáu (Hexa)
Cơ số 16
n
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
ng
co
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
cu
u
du
on
g
th
an
n
.c
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
60
/>
NKK-HUST
Quan hệ giữa số nhị phân và số Hexa
00000000(2) =00(16)
an
0010110110011010(2)=2D9A(16)
n
1111111111111111(2)=FFFF(16)
cu
u
du
on
g
th
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
Thậpphân
0000
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
A
10
1011
B
11
1100
C
12
1101
D
13
1110
E
14
1111
F
15
.c
n
ng
10110011(2) =B3(16)
co
n
Số Hexa
om
Vídụ:
4-bit
/>
61
NKK-HUST
2.2. Đại số Boole
om
.c
n
A OR B :
A • B hay AB
A+B
n
NOT A :
A
an
th
g
Thứ tự ưu tiên: NOT > AND > OR
Thêm các phép toán logic: NAND, NOR, XOR
n
n
ng
A AND B :
co
n
on
n
du
n
Đại số Boole sử dụng các biến logic và phép tốn logic
Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 (FALSE)
Các phép toán logic cơ bản: AND, OR và NOT
cu
u
n
n
A NAND B:
n
A NOR B :
n
A XOR B:
2017
A•B
A+ B
Ẩ B = A• B + A• B
Kiến trúc máy tính
CuuDuongThanCong.com
62
/>
NKK-HUST
B
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
an
ANANDB
B
ng
co
1
A
NOTA
A
0
1
1
0
NOT là phép tốn 1 biến
1
A
B
0
0
1
0
0
1
1
0
B
0
0
0
1
1
1
A•B
1
cu
u
A
du
on
th
1
.c
A
AORB
A+B
om
A
AANDB
A•B
g
Phép tốn đại số Boole với hai biến
2017
ANORB
AXORB
A
B
1
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
0
A+B
AÅ B
Kiến trúc máy tính
CuuDuongThanCong.com
63
/>
NKK-HUST
om
Các đồng nhất thức của đại số Boole
A+B=B+A
A • (B + C) = (A • B) + (A • C)
A + (B • C) = (A + B) • ( A + C)
1•A=A
0+A=A
co
ng
.c
A•B=B•A
A+A=1
th
an
A•A=0
1+A=1
on
g
0•A=0
A+A=A
du
A•A=A
A + (B + C) = (A + B) + C
A • B = A + B (Định lý De Morgan)
A + B = A • B (Định lý De Morgan)
cu
u
A • (B • C) = (A • B) • C
2017
Kiến trúc máy tính
CuuDuongThanCong.com
64
/>
NKK-HUST
2.3. Các cổng logic (Logic Gates)
om
Thực hiện các hàm logic:
ng
Cổng logic một đầu vào:
n
Cổng NOT
th
Cổng hai đầu vào:
g
n
co
n
NOT, AND, OR, NAND, NOR, XOR
.c
n
an
n
on
Cổng nhiều đầu vào
cu
u
n
AND, OR, XOR, NAND, NOR
du
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
65
/>
NKK-HUST
Ký hiệu các cổng logic
F
A
OR
F
FϭAϩB
A
F
F
F ϭ AB
F
FϭAϩB
cu
u
B
du
A
NAND
FϭA
or
F ϭ AЈ
on
g
NOT
th
an
B
co
ng
B
FϭA•B
or
F ϭ AB
.c
A
AND
A
NOR
B
A
XOR
F
B
2017
FϭAB
Kiến trúc máy tính
CuuDuongThanCong.com
Truth Table
om
Algebraic
Function
Graphical Symbol
Name
A
0
0
1
1
A
0
0
1
1
B
0
1
0
1
B
0
1
0
1
A
0
1
A
0
0
1
1
A
0
0
1
1
A
0
0
1
1
F
0
0
0
1
F
0
1
1
1
F
1
0
B
0
1
0
1
B
0
1
0
1
B
0
1
0
1
F
1
1
1
0
F
1
0
0
0
F
0
1
1
0
66
/>