Tải bản đầy đủ (.ppt) (28 trang)

cautrucmaytinhSH_LG doc

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 (599.08 KB, 28 trang )


Chương I
H M V M HO ỆĐẾ À Ã Á
THÔNG TIN TRONG C C Á
H VI X LÝỆ Ử

1. Biểu diễn số trong các cơ số
a) Số thập phân và nhị phân

Số trong cơ s 10 gọi là số thập phân. Nó bao
gồm các chữ số thập phân.

Số trong cơ s 2 gọi là s nhị phân. Nó bao
gồm chữ số 0 và 1.

b) Số BCD (Binary Code Decimal)

Số BCD là số thập phân mã hoá bằng hệ nhị
phân.

Các chữ số từ 0 đến 9 đ ợc mã hoá nh sau:
Chữ số thập phân Mã nhị phân
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000


9 1001

Ví dụ: mã BCD của số 25010 là 0010 0101 000BCD

c) Số hệ thập lục (Hexa-decimal)

Số Hexa-decimal là cách viết gọn của số nhị phân.

Thay một nibble nhị phân bằng một chữ số hệ
thập lục theo bảng sau:
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F

Ví dụ: số nhị phân 1001 0110 1101 11112 = 96FFh

d) Chuyển đổi giữa các cơ số

Từ cơ 2 sang có 10 thật dễ: chỉ việc nhân từng chữ
số với trọng số của nó rồi cộng:
1001b = 1*8 + 1*1 = 9d

Từ cơ 10 sang cơ 2 phức tạp hơn một chút: lặp 32
lần (trong tr ờng hợp từ 32 bit) những phép sau:
1. Chia số thập phân cho và viết kết

quả vào bit n.
2. Thay số bằng số trừ đi kết quả vừa
nhận đ ợc nhân với .
3. Giảm n đi 1.
4. Lặp lại b ớc 1.
n
2
n
2

VÝ dô chuyÓn c¬ sè
§o¹n ch ¬ng tr×nh chuyÓn c¬ sè trong ng«n ng÷ :
for (n=31,n>0,n ){
res=decimal/(int)pow(2,n);
count << res
}
++
C
0000
0
20
0000
1
20
0441
2
24
4040
3
24

41620;1
4
2/20
b
111110100
d
500203252;1
5
2/52
5264116;1
6
2/116
116128244;1
7
2/244
244256500;1
8
2/500
5000500;02/500
9
=−=
=−=
=−=
=−=
=−=
=⇒=−=
=−=
=−=
=−=
=−=

;/
;/
;/
;/

C¸ch kh¸c ®æi sè nguyªn thËp ph©n sang nhÞ ph©n

2
12 2
1
6
0
2
3
0
2
1
1
2
1
0
25
KÕt qu¶: 2510 = 110012

Đổi số thập phân lẻ (<1) sang nhị phân
1. lấy số cần đổi nhân với 2, nhận đ ợc tích gồm phần lẻ của
số nhị phân (sau dấu phẩy) và phần thập phân mới.
2. lặp lại b ớc 1 đối với phần thập phân mới cho đến khi
nhận đ ợc tích chẵn 1.
Ví dụ:

0,625 x 2 = 1,250
0,250 x 2 = 0,500 0,62510=0,1012
0,500 x 2 = 1,000

Đổi số hỗn hợp thập phân sang nhị phân

Đổi riêng phần nguyên và phần lẻ rồi kết hợp với
nhau bằng dấu ,.

Ví dụ: đổi số hệ thập phân 25,625 sang nhị phân.

Số nguyên 2510 = 110012.

Số lẻ 0,62510 = 0,1012.

Đổi giữa các hệ số bằng Calculator của Windows:

Mở Programs/Accesories/Calculator.

Vào Menu View thiết lập Scientific.

Chọn cơ số của số cần đổi (Hex, Dec, Oct, Bin).

Vào số cần đổi.

Chọn cơ số mà số cần đổi sang.
25,62510=11001,1012

e) Các độ dài thông tin trong máy tính


Nibble: c m 4 bit nh phân.ụ ị

Byte: c m 8 bit nh phân.ụ ị

Word: c m 16 bit nh phân.ụ ị


Double word: c m 32 bit nh phân.ụ ị

2. c¸c khu«n d¹ng sè
int,long,short,char – c¸c sè nguyªn ® îc l u
d íi d¹ng nhÞ ph©n víi c¸c MSB ®iÒn 0. Mét sè
short (ng¾n) biÓu diÔn b»ng 16 bit:
Mét sè int (nguyªn) short biÓu diÔn b»ng 32 bit:
Mét char biÓu diÔn b»ng 8 bit:

Số không dấu và có dấu

Để tính toán các số không dấu và có dấu, chúng
ta phải phân biệt chúng.

Giải pháp thông th ờng là bổ xung bit biểu diễn
dấu. Kiểu biểu diễn có tên: dấu và giá trị

Các vấn đề về biểu diễn dấu:

vị trí của bit dấu

b ớc bổ xung để tính bit dấu


có số 0 âm và số 0 d ơng.
Do đó một kiểu biểu diễn đ ợc đề xuất.

Mã bù 2

Trong mã bù 2, số d ơng bắt đầu bằng các chữ số 0, số
âm bằng các chữ số 1.

Số d ơng: 0 đến vẫn biểu diễn nh cũ.

Số âm nhỏ nhất: có mã bù là 1000 00b.

Các số âm tiếp theo: từ (1000 01b) đến 1
(1111 11b).

Tổng của một số và mã bù bằng 1.
12
31

31
2
12
31
+


Mã tr c ti pự ế : < x <

Cách tính mã bù 2 (Two“s complement):
-

Gán ph n d u=1.ầ ấ
-
o các bít ph n th p phân.Đả ầ ậ
-
C ng 1 v o bit th p nh t.ộ à ấ ấ

Ví d :ụ mã bù 2 c a -0,625ủ 10 = -0,10102 l :1,0110. T ng: à ổ
0,10102 + 1,01102 = 10,00002=210.
Khu«n d¹ng m· bï 2
m−
− 21
xxxxxxx
Dấu
,
m bit
X =
m−
−− 21

Mã trực tiếp ít được sử dụng, vì:

S 0 có th bi u di n d i 2 d ng: ố ể ể ễ ướ ạ
0,000 0 (+0) v 1,000 0 (-0)à

Phép tr th c hi n ph c t pừ ự ệ ứ ạ
u i m c a mã bùƯ đ ể ủ :

mã bù tính a tr s 0 c kh c ph c:Ở đ ị ố đượ ắ ụ

s 0 bi u di n l : 0,000 0ố ể ễ à …


còn 1,000 0 l mã bù c a s -1… à ủ ố

Phép tr th c hi n c ng mã bù.ừ ự ệ ộ

3. C¸c phÐp tÝnh sè häc trªn sè nhÞ ph©n
a) PhÐp céng: B¶ng qui t¾c phÐp céng a+b=y
a b y c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

b) PhÐp trõ: thùc hiÖn phÐp céng víi m· bï 2
cña sè trõ.
VÝ dô 1:
VÝ dô 2: 6 - 7=6 + (-7) =
00 00110 = 6d
11 11001 = 7d
11 11111 = -1d

c) PhÐp nh©n: thùc hiÖn nh©n tõ tr¸i sang ph¶i (tõ bit
thÊp nhÊt ®Õn bit cao nhÊt). B¶ng qui t¾c phÐp nh©n hai
ch÷ sè nhÞ ph©n y = a.b nh sau:
VÝ dô nh©n 2 sè nhÞ ph©n: 1001 = 9d
x 0101 = 5d
1001
0000
1001
0000

0101101= 45d
a b y
0 0 0
0 1 0
1 0 0
1 1 1

d) Phép chia:

Chia trực tiếp: 45:5 = 9
101101
101
0001
0000
00010
0000
000101
000101
000000
Nh vậy: 45:5 = 9
101
1001

Chia bằng thuật toán:
Ví dụ: 36:5 =7 d 1.
Toán hạng Th ơng Thao tác
0 100100 Số bị chia
1 011000 Số chia ở mã bù
1 111100 0 Tổng < 0 (kq1)
1 111100

0 101000
0 100100 Khôi phục
1 00100 Dịch trái 1 bit
1 01100 Số chia ở mã bù
0 10000 1 Tổng>0 (kq2)
1 0000 kq2 dịch trái 2
1 0110 Số chia ở mã bù
0 0110 1 Tổng>0 (kq3)
0 110 kq3 dịch trái
1 011 Số chia ở mã bù
0 001 1 Tổng>0 (kq4)
Từ đây rút ra: 36:5 = 7 d 1

4. c¸c phÐp tÝnh logic trªn sè nhÞ ph©n
C¸c phÐp logic thùc hiÖn ®èi víi tõng bit cña
c¸c to¸n h¹ng tham gia phÐp tÝnh logic.
a)PhÐp AND: 1001 AND 1100 = 1000
b)PhÐp OR: 1001 OR 1100 = 1101
c)PhÐp XOR: 1001 XOR 1100 = 0101
d)PhÐp NOT: NOT (1100) = 0011
e)PhÐp NAND: 1001 NAND 1100 = 0111
f)PhÐp NOR: 1001 NOR 1100 = 0010

5. xây dựng alu thực hiện các
phép tính số học & logic

ALU (Arithmetic Logic Unit) là bộ phận chủ yếu trong
các CPU, thực hiện các phép tính số học và logic trên các
toán hạng đầu vào.


ALU bao gồm mạch tổ hợp các phần tử logic cơ sở và các
thanh ghi toán hạng vào và kết quả.

Ví dụ sau mô tả việc xây dựng một ALU 32bit thực hiện
phép AND, OR và phép cộng.




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

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