NKK-HUST
.c
om
Kiến trúc máy tính
cu
u
du
o
ng
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
o
ng
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
.c
om
Nội dung của chương 2
cu
u
du
o
ng
th
an
co
ng
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
2017
Kiến trúc máy tính
CuuDuongThanCong.com
44
/>
NKK-HUST
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
du
o
cu
u
n
ng
th
an
n
co
ng
n
.c
om
2.1. Các hệ đếm cơ bản
2017
Kiến trúc máy tính
CuuDuongThanCong.com
45
/>
NKK-HUST
.c
om
1. Hệ thập phân
Cơ số 10
n
10 chữ số: 0,1,2,3,4,5,6,7,8,9
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
ng
n
00...000
= 0
n
99...999
= 10n - 1
cu
u
du
o
ng
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
o
ng
th
A = an10 n + an−110 n−1 +... + a1101 + a010 0 + a−110 −1 +... + a−m10 −m
2017
A=
n
∑ 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
2
n
47 : 10 = 4 dư
7
n
4 : 10 = 0 dư
co
472 : 10 = 47 dư
an
n
ng
Các chữ số của phần nguyên:
th
4
u
Các chữ số của phần lẻ:
n
0.38 x 10 = 3.8 phần nguyên =
3
n
0.8 x 10 = 8.0 phần nguyên =
8
cu
n
du
o
ng
n
.c
om
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
2017
Kiến trúc máy tính
CuuDuongThanCong.com
48
/>
NKK-HUST
2. Hệ nhị phân
n
.c
om
ng
co
an
n
th
n
n
= 0
= 2n - 1
u
n
00...000
11...111
ng
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:
du
o
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
cu
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
49
/>
NKK-HUST
Số nhịphân
2-bit
3-bit
4-bit
0
00
000
0000
0
1
01
001
0001
1
010
0010
2
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
Biểu diễn
số nhị phân
.c
om
1-bit
Số
thậpphân
10
cu
u
du
o
ng
th
an
co
ng
11
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
.c
om
n
n
n
n
th
= 210 bytes
= 210 KB
= 210 MB
= 210 GB
= 210 TB
= 210 PB
ng
du
o
n
KB (Kilobyte)
MB (Megabyte)
GB (Gigabyte)
TB (Terabyte)
PB (Petabyte)
EB (Exabyte)
u
n
cu
n
an
co
n
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:
ng
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
109
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
terabyte
TB
petabyte
PB
exabyte
EB
an
th
ng
du
o
u
cu
2017
Đơn vị
co
Đơn vị
Kiến trúc máy tính
CuuDuongThanCong.com
52
/>
NKK-HUST
Dạng tổng quát của số nhị phân
.c
om
A = an an−1 ... a1a0 , a−1 ... a−m
ng
với ai=0 hoặc 1
th
1
0
−1
+... + a1 2 + a0 2 + a−1 2 +... + a−m 2
cu
u
du
o
A = an 2 + an−1 2
n−1
−m
ng
n
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
6 5 4 3 2 1 0
.c
om
1101001.1011(2) =
-1 -2 -3 -4
+
2-4
an
co
ng
= 26 + 25 + 23 + 20 + 2-1 + 2-3
ng
th
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
cu
u
du
o
= 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
o
ng
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
55
/>
NKK-HUST
Phương pháp chia dần cho 2
n
n
105 : 2 =
52
dư
.c
om
n
52 : 2 =
26
dư
0
n
26 : 2 =
13
dư
0
n
13 : 2 =
th
Ví dụ: chuyển đổi 105(10)
6
dư
1
n
6:2 =
3
dư
0
n
3:2 =
1
dư
1
n
1:2 =
0
dư
1
co
ng
1
an
ng
du
o
u
cu
n
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
23
128
64
32
16
0
1
1
0
an
th
22
21
20
8
4
2
1
1
0
0
1
ng
Kết quả:
ng
24
co
25
105(10) = 0110 1001(2)
Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
cu
n
26
du
o
n
27
.c
om
Ví dụ 1: chuyển đổi 105(10)
6
5
3
0
n 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2
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
o
n
ng
n
u
Kết quả : 0.6875(10)= 0.1011(2)
cu
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
58
/>
NKK-HUST
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
n
0.81 x 2 =
1.62
phần nguyên
.c
om
=
1
n
0.62 x 2 =
1.24
phần nguyên
=
1
n
0.24 x 2 =
0.48
phần nguyên
=
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
an
th
ng
du
o
u
ng
n
co
Ví dụ 2: chuyển đổi 0.81(10)
cu
n
0.81(10) » 0.1100111(2)
2017
Kiến trúc máy tính
CuuDuongThanCong.com
59
/>
NKK-HUST
.c
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
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
o
ng
th
an
n
ng
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
n
00000000(2) =00(16)
ng
10110011(2) =B3(16)
an
co
n
0010110110011010(2)=2D9A(16)
n
1111111111111111(2)=FFFF(16)
cu
u
du
o
ng
th
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
Số Hexa
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
om
Vídụ:
4-bit
/>
61
NKK-HUST
2.2. Đại số Boole
.c
om
n
A OR B :
A • B hay AB
A+B
n
NOT A :
A
an
Thứ tự ưu tiên: NOT > AND > OR
Thêm các phép toán logic: NAND, NOR, XOR
n
cu
u
n
ng
A AND B :
co
n
th
n
ng
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
du
o
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
A
B
AANDB
A•B
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
an
Phép tốn đại số Boole với hai biến
A
0
1
1
0
1
co
ng
.c
om
B
1
A
NOT là phép tốn 1 biến
1
ANANDB
ng
th
A
NOTA
AORB
A+B
B
0
0
1
0
0
1
1
0
0
0
1
1
1
1
u
0
A•B
cu
B
du
o
A
A
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
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
ng
co
A+A=1
th
an
A•A=0
du
o
ng
0•A=0
A•A=A
.c
om
A•B=B•A
cu
A • B = A + B (Định lý De Morgan)
2017
A+A=A
A + (B + C) = (A + B) + C
u
A • (B • C) = (A • B) • C
1+A=1
A + B = A • B (Định lý De Morgan)
Kiến trúc máy tính
CuuDuongThanCong.com
64
/>
NKK-HUST
2.3. Các cổng logic (Logic Gates)
n
an
Cổng NOT
ng
th
Cổng hai đầu vào:
n
AND, OR, XOR, NAND, NOR
Cổng nhiều đầu vào
cu
n
co
ng
Cổng logic một đầu vào:
n
n
NOT, AND, OR, NAND, NOR, XOR
du
o
n
.c
om
Thực hiện các hàm logic:
u
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
65
/>
NKK-HUST
than two inputs. Thus, (X + Y + Z) can be implemented with a single OR gate
with three inputs. When one or more of the values at the input are changed, the
correct output signal appears almost instantaneously, delayed only by the propagation time of signals through the gate (known as the gate delay). The significance of
this delay is discussed in Section 11.3. In some cases, a gate is implemented with two
outputs, one output being the negation of the other output.
Ký hiệu các cổng logic
A
OR
FϭA•B
or
F ϭ AB
F
FϭAϩB
A
F
A
B
FϭA
or
F ϭ AЈ
F
F ϭ AB
F
FϭAϩB
cu
u
NAND
du
o
ng
NOT
th
an
B
NOR
XOR
A
B
A
F
B
2017
FϭAB
Kiến trúc máy tính
Truth Table
.c
om
B
F
ng
A
co
AND
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
Figure 11.1 Basic Logic Gates
CuuDuongThanCong.com
/>