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

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 (487.2 KB, 47 trang )

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



.c

n

52 : 2 =

26



0

n

26 : 2 =

13




0

n

13 : 2 =

6

th



1

n

6:2 =

3



0

n

3:2 =

1




1

n

1:2 =

0



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
/>

×