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

Kỹ thuật vi xử lý

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 (5.23 MB, 290 trang )

Môn Học:
KỸ THUẬT VI XỬ LÝ
Giảng Viên : ThS Nguyễn Thanh Tuấn
Chương I : CÁC HỆ THỐNG SỐ VÀ MÃ HÓA

13/06/2017

KTVXL _ N.T.Tuấn

1


NỘI DUNG CHƯƠNG 1
• 1.1 Các hệ thống số
– Hệ thập phân
– Hệ nhị phân
– Hệ thập lục phân

• 1.2 Các hệ thống mã hoá
– ASCII
– BCD

13/06/2017

KTVXL _ N.T.Tuấn

2


1.1 CÁC HỆ THỐNG SỐ
• Hệ đếm thập phân (Decimal): Còn gọi là hệ đếm


cơ số mười.
• Dùng mười ký hiệu hiệu:
– 1,2,3,4,5,6,7,8,9,0
– Ví dụ: Ba nghìn Chín trăm Bảy mươi Tám
– 3978 = 3x103 + 9x102 + 7x101 + 8x100
= 3000 + 900 + 70 + 8

13/06/2017

KTVXL _ N.T.Tuấn

3


CÁC HỆ THỐNG SỐ
 Hệ đếm nhị phân (Binary)
 Còn gọi là Hệ đếm cơ số hai
 Sử dụng hai ký hiệu (bit): 0 và 1
(Các hệ thống điện tử số chỉ sử dụng hai mức điện áp?)

 Kích cỡ cỡ, LSB, MSB của số nhị phân

 Số nhị phân không dấu (Unsigned)
 Số nhị phân có dấu (Số bù hai hai)
13/06/2017

KTVXL _ N.T.Tuấn

4



SỐNHỊPHÂN
• Kích cỡ của một số nhị phân là số bit của nó.
• MSB (Most Significant Bit): Bit sát trái.
• LSB (Least Significant Bit): Bit sát phải.
• Ví dụ:1010101010101010

MSB

LSB

là một số nhị phân 16-bit
13/06/2017

KTVXL _ N.T.Tuấn

5


SỐ NHỊ PHÂN KHÔNG DẤU

 Chỉ biểu diễn được các giá trị không âm (>= 0)
 Với n-bit có thể biểu diễn các giá trị từ 0 đến 2n – 1
 Ví dụ: Giá trị V của số nhị phân không dấu 1101 được
tính:
 (1101)2 = 1x23 + 1x22 + 0x21 + 1x20

=8 + 4 + 0 +1
= 13
13/06/2017


KTVXL _ N.T.Tuấn

6


SỐ NHỊ PHÂN KHÔNG DẤU

• Tổng quát: Nếu số nhị phân N n-bit:
N = b( n-1) b( n-2) …. b1b0

thì giá trị V của nó là:
V = b(n -1)x2(n-1)+b(n-2) x2(n-2)+…+b1x21 + b0x20

• Các số nhị phân không dấu 4-bit biểu diễn được
các giá trị từ ? đến ?
13/06/2017

KTVXL _ N.T.Tuấn

7


16 GIÁ TRỊ TỪ 0 ĐẾN 15

Nhị phân không dấu
0000
0001
0010
0011

0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
13/06/2017

Giá trị thập phân
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
KTVXL _ N.T.Tuấn

8


SỐ NHỊ PHÂN KHÔNG DẤU

• Dải giá tri của các số không dấu 8-bit là [0,255]
(unsigned char trong C)

• „
Dải giá tri của các số không dấu 16-bit là [0,65535]
(unsigned int trong C)

13/06/2017

KTVXL _ N.T.Tuấn

9


CHUYỂ
N ĐỔ
I SỐTHẬ
P PHÂN SANG NHỊPHÂN

• Chuyển 25 sang nhị phân không dấu. Dùng
phương pháp chia 2 liên tiếp
Chia 2









Thương số

25/2
=
„12/2
=
„6/2
=
„3/2
=
„1/2
=
Kết quả là: 11001
13/06/2017

12
6
3
1
0
KTVXL _ N.T.Tuấn


Dư số

1
0
0
1
1

LSB

MSB
10


SỐ THẬP LỤC PHÂN

 Quen gọi là số Hexa (Hexadecimal)
 Còn gọi là hệ đếm cơ số mười sáu. Sử dụng 16 ký hiệu để
biểu diễn: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
 „Mỗi ký hiệu tương ứng với 4-bit
 „Mục đích: Biểu diễn số nhị phân ở dạng ngắn gọn.
11110000

=

F0

10101010

=


AA

01010101

=

55

Nhị phân
13/06/2017

Thập lục phân
KTVXL _ N.T.Tuấn

11


MỖI KÝ HIỆU TƯƠNG ỨNG VỚI 4-BIT

Hexa
0
1
2
3
4
5
6
7
13/06/2017


Binary
0000
0001
0010
0011
0100
0101
0110
0111

Hexa
8
9
A
B
C
D
E
F

KTVXL _ N.T.Tuấn

Binary
1000
1001
1010
1011
1100
1101

1110
1111
12


CHUYỂN ĐỔI HEXA & NHỊ PHÂN

 Ví dụ:Chuyển số hexa 2F8 và ABBA sang nhị phân
 Thay thế mỗi ký hiệu hexa bằng 4-bit tương ứng:
 2

F

8

 0010

1111

1000

 A

B

B

A

 1010


1011

1011

1010

 „ Kết quả:

2F8h

= 001011111000b

ABBAh

= 1010101110111010b

13/06/2017

KTVXL _ N.T.Tuấn

13


CHUYỂN ĐỔI HEXA & NHỊ PHÂN

 Ví dụ: Chuyển số nhị phân 1100101011111110 sang hexa
 Trước hết theo hướng từ LSB về MSB chia số nhị phân đó
thành các nhóm 4-bit.


 Sau đó thay thế mỗi nhóm 4-bit bằng ký hiệu hexa tương
ứng với nó.
 1100

1010

1111

1110

 C

A

F

E

 „Kết quả: 1100101011111110b =
13/06/2017

KTVXL _ N.T.Tuấn

CAFEh
14


SỐ NHỊ PHÂN CÓ DẤU

• Biểu diễn được cả các giá trị âm.

• Còn gọi là Số bù hai
• „
Với n-bit có thể biểu diễn các giá trị từ –2(n-1) đến
2(n-1) – 1
• „Ví dụ: Giá trị V của số nhị phân có dấu 1101 được
tính:
• V = – 1x23 + 1x22 + 0x21 + 1x20
=–8
+ 4 + 0 +1
=–3
13/06/2017

KTVXL _ N.T.Tuấn

15


SỐ NHỊ PHÂN CÓ DẤU

• Tổng quát: Nếu số nhị phân N n-bit:
N = b( n-1) b( n-2) …. b1 b0

• thì giá trị V của nó là:
V = –b(n -1)x 2(n-1)+b(n-2) x2(n-2)+ …+ b1x21+b0x20

* Các số nhị phân có dấu 4-bit biểu diễn được các giá
trị từ ? đến ?
13/06/2017

KTVXL _ N.T.Tuấn


16


16 GIÁ TRỊ TỪ - 8 ĐẾN 7

13/06/2017

KTVXL _ N.T.Tuấn

17


SỐ NHỊ PHÂN CÓ DẤU

• Dải giá tri của các số có dấu 8-bit là:
• [-128,+127] (char trong C)

• Dải giá tri của các số có dấu 16-bit là:
• [-32768,+32767] (int trong C)

13/06/2017

KTVXL _ N.T.Tuấn

18


TÌM ĐỐI SỐ (LẤY BÙ 2)


• Tổng của một số với đối số của nó bằng 0.
• Ví dụ: Đối số của số nhị phân có dấu 10011101?

10011101

Số có dấu (-99)

01100010

Lấy bù 1

+


Cộng 1

1

01100011
13/06/2017

Kết quả

(+99)

KTVXL _ N.T.Tuấn

19



CHUYỂN SỐ THẬP PHÂN SANG NHỊ PHÂN
CÓ DẤU

• Vơí số dương: Giống như chuyển thập phân sang
nhị phân không dấu rồi thêm bit 0 vào sát bên trái
– Ví dụ: Chuyển 25 sang nhị phân có dấu:
– Kết quả: 011011

• „
Với số âm: Chuyển đối số sang nhị phân có dấu rồi
lấy bù 2
13/06/2017

KTVXL _ N.T.Tuấn

20


CHUYỂN SỐ THẬP PHÂN SANG NHỊ PHÂN
CÓ DẤU

• Ví dụ 1.6 Chuyển – 26 sang nhị phân
– 1. Chuyển đối số:

+26 =

11010

– 2. Đưa 0 vào sát trái:


011010

– 3. Bù 1:

100101

– 4. Cộng 1:

+

1
100110

13/06/2017

KTVXL _ N.T.Tuấn

= -26

21


THỰC HIỆN PHÉP CỘNG/TRỪ VỚI SỐ
NGUYÊN

• 1. Phép cộng số nguyên không dấu
• Bộ cộng n-bit

13/06/2017


KTVXL _ N.T.Tuấn

22


NGUYÊN TẮC CỘNG SỐ NGUYÊN
KHÔNG DẤU

• Khi cộng hai số nguyên không dấu n-bit, kết quả
nhận được là n-bit:
• Nếu Cout=0 → nhận được kết quả đúng.
• Nếu Cout=1 → nhận được kết quả sai, do tràn
nhớ ra ngoài (Carry Out).

• Tràn nhớ ra ngoài khi: tổng > (2n – 1)

13/06/2017

KTVXL _ N.T.Tuấn

23


VÍ DỤ CỘNG SỐ NGUYÊN KHÔNG DẤU
57 =

0011 1001

+ 34 =


+ 0010 0010

91 =

0101 1011

209 =

1101 0001

+ 73 =

+ 0100 1001

282=

1 0001 1010

=

64+16+8+2+1=91 → đúng

=

16+8+2=26 → sai

có tràn nhớ ra ngoài (Cout=1)
 Để có kết quả đúng ta thực hiện cộng theo 16-bit:
209 =
+ 73 =


0000 0000 1101 0001
+ 0000 0000 0100 1001
0000 0001 0001 1010

13/06/2017

= 256+16+8+2 = 282

KTVXL _ N.T.Tuấn

24


PHÉP ĐẢ
O DẤ
U
• Ta có:
+ 37
bù một

=
=

bù hai
=
• Lấy bù hai của số âm:
- 37
=
bù một

=

0010 0101
1101 1010
+
1
1101 1011

= -37

1101 1011
0010 0100
+
1
bù hai
=
0010 0101 = +37
• Kết luận: Phép đảo dấu trong máy tính thực chất là lấy bù
hai
13/06/2017
KTVXL _ N.T.Tuấn
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×