Tải bản đầy đủ (.pdf) (47 trang)

Bài giảng Kiến trúc máy tính (Computer Architecture): Chương 2 - Nguyễn Kim Khánh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 47 trang )

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




.c
om

n

52 : 2 =

26



0

n

26 : 2 =

13



0

n

13 : 2 =

th


Ví dụ: chuyển đổi 105(10)

6



1

n

6:2 =

3



0

n

3:2 =

1



1

n


1:2 =

0



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

/>

×