You are on page 1of 50

Chương 1: Các kiến thức cơ sở

Thiết kế hệ thống số
EE2130
2. Hệ số

Lê Minh Thùy– 3I
Khoa Tự động hóa

1
Chương 1: Các kiến thức cơ sở

Nhắc lại bài học trước

1. Giới thiệu chung


1.1 Tín hiệu tương tự và tín hiệu số
1.2 Các thiết bị số
1.3 Mạch logic
1.4 Mức logic
1.5 Các mạch tích hợp (IC)
1.6 Các mức thiết kế số

2
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

3
2.1 Giới thiệu chung về hệ số
• Hệ số làm việc với “0” và “1”
• Thực tế cuộc sống lại sử dụng hệ 10
• Cần hiểu cách biểu diễn số thông qua hệ nhị phân

4
2.2 Cơ số

• Ví dụ hệ đếm thập phân


1234 = 1 x 1000 + 2 x 100 + 3 x 10 + 4 x 1
Trong dãy số mỗi chữ số của dãy số được đánh trọng
số tương ứng là lũy thừa của 10
135.68 = 1 x 100 + 2 x 10 + 5 x 1 + 6 x 0.1 + 8 x 0.01
Bằng việc sử dụng dấu phẩy cho phép sử dụng các
trọng số là lũy thừa âm hoặc dương của 10
Tổng quát: một số D có dạng d1 d0 d-1 d-2
biểu diễn D = d1 x 101 + d1 x 100 + d-1 x 10-1 + d-2 x 10-2
10 được gọi là cơ số với các chữ số {0, 1, 2, 3, 4, 5, 6,
7, 8, 9}

5
2.2 Cơ số
• Tổng quát, với một số D có dạng
dp-1dp-2...d0.d-1...d-n
với cơ số r (r: nguyên, lớn hơn 1) có giá trị

Số bên trái ngoài cùng được gọi là số có trọng số lớn nhất (most significant digit)

Số bên phải ngoài cùng được gọi là số có trọng số nhỏ nhất (least significant digit)

6
2.3 Hệ nhị phân

• Trong các hệ thống số, thường sử dụng chỉ hai


số 0 và 1 để biểu diễn → hệ nhị phân, các số
được gọi là số nhị phân

Dấu phẩy trong hệ nhị phân được gọi là dấu phẩy nhị phân

7
2.3 Hệ nhị phân

• Các số trong hệ nhị phân được gọi là bit


– Số bên trái ngoài cùng trong hệ nhị phân được gọi là
bit có trọng số lớn nhất (MSB: most significant bit)
– Số bên phải ngoài cùng trong hệ nhị phân được gọi là
bit có trọng số nhỏ nhất (LSB: least significant bit)

8
2.3 Hệ nhị phân

9
2.4 Hệ octave và hexa

• Hệ thập phân quan trọng vì được sử dụng trong


cuộc sống hàng ngày
• Hệ nhị phân quan trọng vì sử dụng trong các hệ
thống số
• Tuy nhiên để thuận tiện cho việc viết văn bản,
hệ octave và hệ hexa thường được sử dụng để
biểu diễn các số trong hệ nhị phân:
– octave sử dụng cơ số 8
– hexa sử dụng cơ số 16

10
2.4 Hệ octave và hexa

11
2.4 Hệ octave và hexa

2.4.1 Chuyển đổi nhị phân → octave , hexa


2.4.2 Chuyển đổi octave , hexa → nhị phân

12
2.4.1 nhị phân → octave , hexa

13
2.4.2 octave , hexa → nhị phân

14
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

15
2.5 Biến đổi các hệ số

• Với hệ đếm cơ số r, ta có

r: là cơ số
p: số chữ số trước dấu phẩy
n: số chữ số sau dấu phẩy

16
2.5.1 Đổi một số qua hệ 10

Tổng quát chúng ta có:

sai
17
2.5.2 Đổi số nguyên từ hệ 10

Nếu chia cho r ta được:

với số dư là d0

Nếu tiếp tục chia liên tiếp cho r ta sẽ được các số d1, d2, ...

18
19
Ví dụ minh họa: 2.1

• Trình bày một ví dụ đơn giản về ứng dụng của


bộ đếm số trong thực tế?

Hình 2-1: Ứng dụng của bộ đếm nhị phân-đếm bóng

20
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

21
2.6 Cộng và trừ các số nhị phân
Phép cộng

22
2.6 Cộng và trừ các số nhị phân
Phép trừ

23
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

24
2.7 Biểu diễn các số âm

2.7.1 Dấu và giá trị tuyệt đối


2.7.2 Bù 2

25
2.7.1 Dấu và giá trị tuyệt đối

• Sử dụng bit MSB là bit dấu:


– “1” là âm
– “0” là dương

26
• Khi xây dựng các bộ cộng cần các thao tác
– kiểm tra dấu của hai số
– nếu cùng dấu thì cộng giá trị tuyệt đối, sau đó gán trả
lại bit dấu
– nếu hai số khác dấu, cần so sánh hai số, lấy giá trị
tuyệt đối lớn trừ đi giá trị tuyệt đối nhỏ, bit dấu là bit
của số có giá trị tuyệt đối lớn hơn.
• Cần các phép “ifs”, “add”, “sub” và “compare” →
mạch phức tạp

27
2.7.2 Bù 2

• Với số B = bn-1...b0 trong mã bù 2:


– MSB có trọng số là -(2n-1) thay vì là (2n-1)
– Biểu diễn số trong khoảng -(2n-1) đến (2n-1-1)

28
99 = 0110 0011
Dấu và gttd: 11100011 29
Mã bù 2: 01100011
99 = 01100011
-99 Dấu và gttd: 11100011

-99 Mã bù 2: 01100011 (+99)


Đảo bít: 10011100
+1: +1
11100101

30
13 = 00001101
-13 Dấu và gttd: 10001101

-13 Mã bù 2: 00001101 (+13)


Đảo bít: 11110010
+1: +1
11110011

: 00001101 (+13)
11110011
1 0000000

31
Cộng nhị phân trong mã bù 2

Phép tính luôn đúng nếu kết quả không vượt quá phạm vi biểu diễn số của hệ thống

32
Tràn số

tràn số chỉ xảy ra khi : hai toán hạng cùng dấu và dấu của kết quả
lại khác dấu với hai toán hạng

Ví dụ: với hệ số 4-bit

33
Trừ nhị phân

• Sử dụng mã bù 2

lấy đảo bit của số trừ và cộng thêm 1


34
Ví dụ phân biệt cộng có nhớ và tràn số
10 + -3 = 7:

Carryout without overflow. Sum is correct.

-103 + -69 = -172:

35
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

36
2.8 Nhân số nhị phân không dấu
• Các luật cơ bản cho phép nhân:

• Số nhị phân chỉ bao gồm số 0 và 1 do đó có thể


sử dụng phép dịch số nhân

37
Để thuận tiện sử
dụng tích thành
phần cộng lần
lượt với các sô
nhân đã được
dịch
Theo thói quen
dịch số bị nhân
qua trái, tuy nhiên
thực tế thuật toán
nhân thường dịch
tích thành phần
qua phải rồi cộng
với số bị nhân,
các bit dịch qua
phải là các bit có
trọng số thấp.
38
• Nhân một số n bits với một số m bits, kết quả tối
đa chứa trong (n+m) bits
• Cần m phép tính shift-and-add
• Có thể xây dựng bộ nhân bằng phần cứng sử
dụng:
– Bộ dịch
– Bộ cộng
– Bộ điều khiển logic

39
Nhân hai số nhị phân có dấu (mã bù 2)

• Nhắc lại mã bù 2:
– Các bit có trọng số như số nhị phân không dấu
– NGOẠI TRỪ bit MSB có trọng số âm
• Nhân hai số mã bù 2:
– Nếu số nhân có MSB = 0 thì thủ tục shift-and-add
được tiến hành như bình thường
– Nếu số nhân có MSB = 1 thì số bị nhân cần phải
được đảo dấu trước khi cộng với tích thành phần

40
Lấy bù 2 vì bit
MSB của số
nhân = 1
Tại mỗi bước tích thành phần và shifted multiplicant được mở rộng từ k
bit thành (k+1) bit rồi mới cộng để tránh overflow, nếu có carry out thì bỏ
qua 41
Chương 1: Các kiến thức cơ sở

Nội dung phần 2 chương 1

2.1 Giới thiệu chung 2.6 Cộng và trừ các số nhị phân
2.2 Cơ số 2.7 Biểu diễn các số âm
2.3 Hệ nhị phân 2.7.1 Dấu và giá trị tuyệt đối
2.7.2 Bù 2
2.4 Hệ octave và hexa
2.4.1 Nhị phân → octave , hexa 2.8 Nhân số nhị phân không dấu
2.4.2 Octave , hexa → nhị phân 2.9 Chia hai số nhị phân
2.5 Biến đổi các hệ số 2.10 Nhân chia số thực
2.5.1 Đổi một số qua hệ 10 2.11 Mã BCD
2.5.2 Đổi số nguyên từ hệ 10
2.12 Mã các ký tự

42
2.9 Chia hai số nhị phân

• Sử dụng thuật toán chia shift-and-subtract

43
Chia hai số nhị phân mã bù 2

• Tham khảo…
• Hãy trình bày quy tắc thực hiện:
a) Nhân hai số mã bù 2 với TH số nhân là số âm
(MSB=1)
b) Chia hai số nhị phân không dấu
c) Chia hai số nhị phân mã bù 2 với trường hợp số bị
chia hoặc số chia là số âm (MSB=1)

44
2.10 Nhân chia số thực

• Tham khảo

45
2.11 Mã BCD

• BCD: Binary Coded Decimal


• Sử dụng tổ hợp 4 bits để mô tả số trong hệ thập
phân
• Có nhiều kiểu mã:
– BCD 8421 (hay BCD): trọng số của 4 bit là 8, 4, 2, 1
– BCD 2421: trọng số của 4 bit là 2, 4, 2, 1

46
47
Cộng hai số BCD

Nếu có carry out của bit 3 cần cộng thêm 0110 vào để hiệu chỉnh
48
2.12 Mã các ký tự

• Có thể sử dụng tổ hợp các bit để mã hóa “data”


• Mã các ký tự thường được sử dụng trong các
chương trình máy tính
• Thường sử dụng mã ASCII (American Standard
Code for Information Interchange) 0XXXYYYY:
– Tổ hợp mã các ký tự thông thường
– Tổ hợp một số ký tự điều khiển

49
50

You might also like