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

Bài giảng Kiến trúc máy tính - Chương 2: Cơ bản về logic số - 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.07 MB, 55 trang )

NKK-HUT

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

3 May 2012

IT3030

1


NKK-HUT

Nội dung học phần










3 May 2012



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

2


NKK-HUT

Nội dung của chương 2

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

3 May 2012

IT3030

3



NKK-HUT

2.1. Các hệ đếm cơ bản






3 May 2012

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

IT3030

4


NKK-HUT

1. Hệ thập phân



Cơ số 10



10 chữ số: 0,1,2,3,4,5,6,7,8,9



3 May 2012

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

IT3030

5


NKK-HUT


Dạng tổng quát của số thập phân
A  a n a n  1 ... a 1 a 0 , a  1 ... a  m

Giá trị của A được hiểu như sau:
A  a n 10

n

 a n  1 10

n 1

 ...  a 1 10

1

 a 0 10

0

 a  1 10

1

 ...  a  m 10

m

n


A 



a i 10

i

i m

3 May 2012

IT3030

6


NKK-HUT

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ẻ:

3 May 2012



0.38 x 10 = 3.8 phần nguyên =

3



0.8 x 10 = 8.0 phần nguyên =

8


IT3030

7


NKK-HUT

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:



3 May 2012

00...000
11...111

= 0

= 2n - 1

IT3030

8


NKK-HUT

Dạng tổng quát của số nhị phân
Có một số nhị phân A như sau:

A  a n a n  1 ... a 1 a 0 , a  1 ... a  m
Giá trị của A được tính như sau:
A  an 2

n

 a n 1 2

n 1

 ...  a 1 2  a 0 2
1

0

 a 1 2

1


 ...  a  m 2

m

n

A 



ai 2

i

i m

3 May 2012

IT3030

9


NKK-HUT

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)

3 May 2012

IT3030

10


NKK-HUT

Chuyển đổi số nguyên thập phân sang nhị phân





3 May 2012

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

IT3030

11


NKK-HUT

Phương pháp chia dần cho 2




3 May 2012

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


105 : 2 =

52



1




52 : 2 =

26



0



26 : 2 =

13



0



13 : 2 =

6



1




6:2 =

3



0



3:2 =

1



1



1:2 =

0



1

Kết quả: 105(10) = 1101001(2)


IT3030

12


NKK-HUT

Phương pháp phân tích thành tổng của các 2i
Ví dụ 1: chuyển đổi 105(10)
6
5
3
0
 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2







27

26

25

24

23


22

21

20

128
0

64
1

32
1

16
0

8
1

4
0

2
0

1
1


Kết quả:

105(10) = 0110 1001(2)

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

3 May 2012

11 10 9 8

IT3030

7 6 5 4

3 2 1 0

13


NKK-HUT

Chuyển đổi số lẻ thập phân sang nhị phân





3 May 2012

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)

IT3030

14


NKK-HUT

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)




3 May 2012

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)

IT3030

15


NKK-HUT

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)


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












3 May 2012

0.2
0.4
0.8
0.6
0.2
0.4
0.8
0.6

x2
x2
x2
x2
x2
x2
x2
x2

=

=
=
=
=
=
=
=

0.4
0.8
1.6
1.2
0.4
0.8
1.6
1.2

phần nguyên
phần nguyên
phần nguyên
phần nguyên
phần nguyên
phần nguyên
phần nguyên
phần nguyên

=
=
=
=

=
=
=
=

0
0
1
1
0
0
1
1

0.2(10)  0.00110011 (2)
IT3030

16


NKK-HUT

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




3 May 2012

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

IT3030

17


NKK-HUT

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

Ví dụ chuyển đổi số nhị phân  số Hexa:


1011 00112 = B316



0000 00002 = 0016

6




0010 1101 1001 10102 = 2D9A16

0111

7



1000

8

1111 1111 1111 11112 = FFFF16

1001

9

1010

A

1011

B

1100

C


1101

D

1110

E

1111
3 May 2012

F
IT3030

18


NKK-HUT

2.2. Đại số Boole






Đạ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)

Phép toán logic cơ bản là AND, OR và NOT
với ký hiệu như sau:






A AND B :
A OR B :
NOT A :

A•B
A+B
A

Thứ tự ưu tiên: NOT > AND > OR

3 May 2012

IT3030

19


NKK-HUT

Các phép toán logic (tiếp)



Các phép toán NAND, NOR, XOR:




3 May 2012

A NAND B : A•B
A NOR B : A + B
A XOR B: A  B = A • B + A • B

IT3030

20


NKK-HUT

Phép toán đại số Boole

3 May 2012

P
0
0
1
1

Q
0

1
0
1

P
1
1
0
0

P.Q
0
0
0
1

P+Q
0
1
1
1

P

Q

PQ

P.Q


P+Q

0
0
1
1

0
1
0
1

0
1
1
0

1
1
1
0

1
0
0
0

IT3030

21



NKK-HUT

Các đồng nhất thức của đại số Boole
A•B=B•A

A+B=B+A

A • (B + C) = (A • B) + (A • C) A + (B • C) = (A + B) • ( A + C)
1•A=A

0+A=A

A•A=0

A+A=1

0•A=0

1+A=1

A•A=A

A+A=A

A • (B • C) = (A • B) • C

A + (B + C) = (A + B) + C


A • B = A + B (Định lý De
Morgan)

A + B = A • B (Định lý De
Morgan)

3 May 2012

IT3030

22


NKK-HUT

2.3. Các cổng logic (Gate)


Các cổng cơ bản






3 May 2012

AND
OR
NOT


Chức năng có thể
biểu diễn bằng bảng
thật (truth table)

IT3030

23


NKK-HUT

Các cổng logic (tiếp)


Các cổng




3 May 2012

NAND
NOR
XOR

IT3030

24



NKK-HUT

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 đủ:








3 May 2012

{AND, OR, NOT}
{AND, NOT}
{OR, NOT}
{NAND}
{NOR}
IT3030

25



×