Ế
KI N TRÚC MÁY TÍNH
ả ạ
Ths Ph m Thanh Bình Gi ng viên: ỹ ộ B môn K thu t máy tính & m ng http://vn.myblog.yahoo.com/CNTTwru http://ktmt.wru.googlepages.com
ậ
ạ
ộ
ỹ
ế
B môn K thu t máy tính & m ng – Khoa CNTT
Ki n trúc máy tính 3
1
ậ ạ
ươ
Ch
ng 3:
CÁC PHÉP TOÁN TRÊN MÁY TÍNH
ừ
ắ ạ ề
ộ i v phép c ng và phép tr
ố ự ấ
ả
ộ
Nh c l Phép nhân Phép chia S th c d u ph y đ ng
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
2
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ắ ạ ề
ộ i v phép c ng và phép
Bài 3.1 Nh c l trừ
A B A + B
0 0 0
0 1 1
1 0 1
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
3
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
1 1 10
Ví d 1:ụ ệ ự
ộ Th c hi n phép c ng sau trong máy tính: 7 + 6
0000 0111 + 0000 0110 0000 1101 = (13)10
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
4
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
c b ng ườ ượ ằ ấ ổ Ta th y t ng thu đ ố ậ ộ c ng s th p phân thông th ư ố 13, gi ng nh ng.
Ví d 2:ụ ệ ự
ừ Th c hi n phép tr sau trong máy tính: 7 6
0000 0111 0000 0110 0000 0001 = (1)10
ố ư ừ 1, gi ng nh tr
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
5
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ệ ấ Ta th y hi u thu đ ố ậ s th p phân thông th ượ ằ c b ng ườ ng
Ví d 3:ụ ế
ả ớ ộ 7 + (
ụ So sánh k t qu Ví d 2 v i phép c ng sau: 6)
0000 0111 + 1111 1010 0000 0001 = (1)10
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
6
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Nh v y: ư ậ 7 – 6 = 7 + (6) = 1
Bài 3.2 Phép nhân
ả ầ ứ ệ
ủ
ố ị Nhân s nh phân ậ nhân Gi i thu t ệ ự Ph n c ng th c hi n Các l nh nhân c a VXL 8086
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
7
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ị
ố Nhân s nh phân
A B A * B
0 0 0
0 1 0
1 0 0
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
8
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
1 1 1
Ví d :ụ ự
ệ Th c hi n phép nhân sau: 8 * 9
1000 + 1001 1000 0000 0000 1000 1001000 = (72)10
ư ố 72, gi ng nh nhân
ộ
ế
Ki n trúc máy tính 3
9
ượ ằ c b ng ườ ng. ạ
ấ Ta th y tích thu đ ố ậ s th p phân thông th ậ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
Gi
i thu t
ậ nhân:
ủ
ừ ố ứ
t nhân các bít c a th a s th hai
ữ
ừ ố ứ ấ ặ
nguyên
ị
ặ
ộ
ợ
ế
ộ
ầ ượ L n l ớ v i th a s th nh t. ế ỉ ệ N u g p bít 1 thì ch vi c gi ặ ừ ố ứ ấ th a s th nh t và đ t nó vào v trí thích h p.ợ ỉ ệ ặ ế N u g p bít 0 thì ch vi c đ t m t dãy ị toàn bít 0 vào v trí thích h p. C ng các k t qu l ậ
ả ạ i. ạ
ộ
ế
Ki n trúc máy tính 3
10
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ầ ứ
ự
ệ Ph n c ng th c hi n
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
11
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
Gi
i thích:
ừ ố
ừ ố
ứ ứ ứ ế
ừ ố ừ ố ả
ộ ộ
Th a s 1 và Th a s 2 dài 32 bít Thanh ghi ch a Th a s 1 dài 64 bít Thanh ghi ch a Th a s 2 dài 32 bít Thanh ghi ch a k t qu (Product) dài 64 bít B c ng ALU dài 64 bít
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
12
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
13
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d :ụ
ử ụ
ầ ứ
ể ự
ệ S d ng ph n c ng trên đ th c hi n phép nhân: 2 x 3 (hay 0010b x 0011b)
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
14
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
15
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ
ế
ả V y k t qu phép nhân là: Tích = 0000 0110b = 6
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
16
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ủ
ệ
Các l nh nhân c a VXL 8086
ệ ệ
L nh MUL (Multiply) L nh IMUL (Integer Multiply)
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
17
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
L nh MUL (Multiply)
ể ự ố ớ ệ
ấ ố
ệ ệ L nh này dùng đ th c hi n phép nhân đ i v i các s không d u. Cú pháp l nh:ệ
ừ ố
MUL
và
ượ
c 1 word thì
Ki n trúc máy tính 3
18
ả AX. K t qu phép nhân đ ạ DX:AX (32 bit). ế ừ ố ế ộ ộ là m t thanh ghi hay m t bi n
Ví d :ụ
ự
ệ
Hãy th c hi n phép nhân hai s :
ố 51 và 5
Gi
i:ả
ả Tích = AX = 255 = 00FFh (16
ạ
ế
Ki n trúc máy tính 3
19
Cách 1: MOV AL, 51 MOV BL, 5 MUL BL ế K t qu : bit) ậ ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
ả Tích = DX:AX = 255 = 0000
Cách 2: MOV AX, 51 MOV BX, 5 MUL BX ế K t qu : 00FFh
(32 bit)
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
20
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả ề ộ ế Nh n xét: ả
ộ ả ể ứ ế
ả ả ể ứ ớ ộ i 2 thanh ghi 16 bít đ ch a m t giá
ị
ượ ộ ả ị c đ dài
ề ặ ả ự
ằ ế ệ
ậ
ộ
ế
Ki n trúc máy tính 3
21
ự ằ ờ CF và
ậ C hai cách trên đ u cho cùng m t k t qu : Tích = 255 (8 bit: 1111 1111b). Tuy nhiên cách 1 ẫ v n ph i dùng m t thanh ghi 16 bít đ ch a k t qu này. Cách 2 quá lãng phí tài nguyên vì nó ph i dùng t tr dài 8 bít! ấ V n đ đ t ra là ph i xác đ nh đ ủ ế c a k t qu phép nhân nh m tránh s lãng phí tài nguyên trong các thao tác ti p theo. Vi c này ể ệ ượ c th c hi n b ng cách ki m tra các c đ ạ ỹ B môn K thu t máy tính & m ng – OF. Khoa CNTT
ừ ố ợ ng h p 1: + N u sau phép nhân 2 c ờ CF/OF = 0: Tích đ c ượ
ứ AL (8 bít)
+ N u sau phép nhân 2 c ờ CF/OF = 1: Tích đ c ượ
AX (16 bít)
ườ ế ch a trong ế ch a trong ợ ng h p 2: Tr ừ ố
+ N u sau phép nhân 2 c dài 16 bít: ờ CF/OF = 0: Tích đ c ượ
ứ AX (16 bít)
ờ CF/OF = 1: Tích đ c ượ
ạ
ộ
ế
Ki n trúc máy tính 3
22
ứ + N u sau phép nhân 2 c DX:AX (32 bít)
ứ ườ ế ch a trong ế ch a trong ậ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
ợ
ổ B ng t ng h p:
ạ ơ ứ
c ướ Kích th ừ ố
0 AL
8 bít
1 AX
0 AX
16 bít
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
23
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
1 DX:AX
ệ
L nh IMUL (Integer Multiply)
ệ
ể ự ệ L nh này dùng đ th c hi n phép nhân ấ ố ố ớ đ i v i các s có d u. Cú pháp l nh:ệ
ộ
ộ
IMUL
ừ ố là m t thanh ghi hay m t
ề
ở
ụ
ể
ệ
ớ ệ MUL IMUL.
bi nế Các v n đ đã trình bày v i l nh trên đ u có th áp d ng cho l nh ộ
ậ
ạ
ế
Ki n trúc máy tính 3
24
ấ ề ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d :ụ
ự ệ Hãy th c hi n phép nhân hai s : ố 64 và 2
Gi i:ả
ỉ ứ ự ấ MOV AL, 2 MOV BL, 64 IMUL BL ế K t qu :
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
25
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế ả Tích = AX = 128 (th c ch t ch ch a ả dài 8 bit = 80h) trong AL vì k t qu
Bài 3.3 Phép chia
ả ầ ứ ệ
ủ
ố ị Chia s nh phân ậ chia Gi i thu t ệ ự Ph n c ng th c hi n Các l nh chia c a VXL 8086
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
26
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố
ị
Chia s nh phân
Ví d :ụ ự
ệ Th c hi n phép chia
74:8
74 = 1001010 b 8d = 1000 b
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
27
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
i:ả
1001010
1000
1000
1001
ạ
ộ
ế
Ki n trúc máy tính 3
28
10 101 1010 1000 d ư ậ ỹ 10 B môn K thu t máy tính & m ng – Khoa CNTT
ươ
ư
Nh v y
ở ệ ậ
ư ậ Th ng = 1001 b = 9 d ả ớ ế ợ 2, phù h p v i k t qu chia
, D = 10 b = h th p phân.
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
29
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
ố ị
tr ừ
ầ ủ S b chia
ướ
ậ chia ả i thu t ấ ươ B c 1: L y các bít đ u c a ố đi S chia ướ B c 2: ả ≥ 0 thì thêm bít 1 vào Th N u ế K t qu ả thì thêm bít 0 vào Th ố ị ủ S b chia
ngươ , ngươ .
ồ ặ ạ ướ
i h t các bít
ạ
ậ
ế
Ki n trúc máy tính 3
30
ế ế N u ế K t qu < 0 ế B c 3: Ghép bít ti p theo c a vào K t quế ả, r i l p l i B c 1. ớ ế ặ ạ i quá trình trên cho t L p l ố ị c a ủ S b chia ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
ầ ứ
ự
ệ Ph n c ng th c hi n
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
31
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
i thích:
ố ị
ượ ặ
c đ t vào thanh ghi
(Divisor) dài 64 bít
ố
chi m 32 bít cao)
ngươ (Quotient) dài 32
ộ ừ ế
ậ
ế
Ki n trúc máy tính 3
32
ả Ban đ u ầ S b chia đ Remainder dài 64 bít Thanh ghi ch a ứ S chia ố ế (S chia Thanh ghi ch a ứ Th bít B tr ALU dài 64 bít K t thúc phép chia thì thanh ghi Remainder ẽ ứ ố ư s ch a s d ộ ạ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
33
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d :ụ
ử ụ
ầ ứ
ể ự
ệ
S d ng ph n c ng trên đ th c hi n phép chia 7 : 2 (hay 0000 0111b : 0010b)
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
34
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
35
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ
ế
ng = 0011b = 3
ả V y k t qu phép chia là: ươ Th ố ư S d = 0001b = 1
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
36
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ủ
ệ
Các l nh chia c a VXL 8086
Cú pháp l nhệ ệ ượ Hi n t
ng tràn trong phép chia
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
37
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Cú pháp l nhệ
ấ
ấ
;Dùng cho s không d u ;Dùng cho s có d u ộ
ố ố ế : là m t thanh ghi hay m t bi n
ố ị
c ướ 1 byte thì S b chia
s ẽ
ố ố ộ có kích th
c ch a trong
AX (2 byte). ứ
ứ
ươ
ố ch a trong
AL, S dố ư ch a trong
ng s
ố ị
có kích th
c ướ 2 byte thì S b chia
s ẽ
c ch a trong
ươ
ứ
ng s
DX:AX (4 byte). ứ ố ch a trong
AX, S dố ư ch a trong
DIV
IDIV
ố
N u ế
ố
ứ
ượ
đ
ả Th
ế
K t qu :
AH.
ố
N u ế
ứ
ượ
đ
ả Th
ế
K t qu :
DX.
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
38
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 1:ụ
ự
ệ
Hãy th c hi n phép chia
65 cho 2.
Gi
i:ả
ả Th
ng = AL = 32
ươ ố ư
ậ
ạ
ế
Ki n trúc máy tính 3
39
MOV AX, 65 MOV BL, 2 DIV BL ế K t qu : S d = AH = 1 ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 2:ụ
ự
ệ
Hãy th c hi n phép chia
128 cho 4.
Gi
i:ả
ả Th
ng = AL = 32
ươ ố ư
ậ
ạ
ế
Ki n trúc máy tính 3
40
MOV AX, 128 MOV BL, 4 IDIV BL ế K t qu : S d = AH = 0 ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 3:ụ
ự ệ Hãy th c hi n phép chia 1024 cho 256.
Gi
i:ả ố ố ị 256 (là m t s 16 bit) nên s b
+ Vì s chia b ng ả ằ ứ ộ ố ứ DX:AX, t c là DX:AX =
chia ph i ch a trong 1024.
ọ ẹ
ậ
ố ể ứ + Nh ng ư 1024 có th ch a tr n v n trong thanh ghi ể ố 32 bit c n ầ
Ki n trúc máy tính 3
41
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ấ
AX (16 bit), mu n chuy n nó thành s ử ụ ệ CWD (Convert Word to Double s d ng l nh ạ ấ ể ữ ệ ẽ ệ Word). L nh này s chuy n d l u có d u d ng ộ ạ ữ ệ Word trong AX thành d li u có d u dài 2 Word ế trong DX:AX.
ả Th
ng = AX = 4
ươ ố ư
MOV AX, 1024 CWD MOV BX, 256 IDIV BX ế K t qu : S d = DX = 0
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
42
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ệ ượ
Hi n t
ng tràn trong phép chia
Ví d :ụ
ự ệ Hãy th c hi n phép chia 512 cho 2.
Gi i:ả
ế ằ MOV AX, 512 MOV BL, 2 DIV BL ả K t qu phép chia b ng 256, không th ch a
ệ ượ
ạ
ộ
ế
Ki n trúc máy tính 3
43
ẽ ư ể ứ ả ng tràn x y ra. Khi Divide
trong thanh ghi AL: Hi n t ệ ố đó h th ng s đ a ra thông báo: “ ậ ỹ B môn K thu t máy tính & m ng – OverFlow”. Khoa CNTT
ố ự ấ
ả
ộ
Bài 3.4 S th c d u ph y đ ng
ố ự ạ ể
ị S th c d ng nh phân ễ ố ự Bi u di n s th c trên máy tính ố ự ộ Phép c ng s th c ố ự Phép nhân s th c
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
44
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ự ạ
ị
S th c d ng nh phân
Ví d 1:ụ
ạ
ị
Chuy n s
ể ố 0,75 sang d ng nh phân.
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
45
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ướ
ế ấ Các b ướ
ớ ầ ượ ph n nguyên ư ậ Thu đ c = 1,
c ti n hành nh sau: ầ + B c 1: L y ph n th p phân nhân v i 2: → 0,75 x 2 = 1,5 ậ = 0,5 ph n th p phân ầ ầ ướ ủ ế ậ ấ ả ướ + B c 2: L y ph n th p phân c a k t qu b c
→ Thu đ ầ ượ ph n nguyên c = 1,
ầ
ặ ạ ớ c l p đi l p l i cho t i khi ph n ầ
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
46
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ trên nhân v i 2:ớ 0,5 x 2 = 1,0 ậ = 0 ph n th p phân ượ ặ Quá trình trên đ ừ thì d ng l th p phân = 0 ạ . i
ầ
ả ế K t qu : ế ầ ượ t l n l Vi
ượ ở c
ị
trên vào sau d u ph y c a s nh phân:
t các ph n nguyên thu đ ả ủ ố ấ (0,75)10 = (0,11)2
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
47
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 2:ụ
ạ
ị
Chuy n s
ể ố 4,9 sang d ng nh phân.
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
48
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
i:ả
ầ
ướ
ầ = 4 và ph n th p S trên có ph n nguyên ư ế
Gi ố phân = 0,9. Các b
ể
ậ c ti n hành nh sau: ạ
ị
ể
ậ
ạ
ư
ụ
ố
ầ + Chuy n ph n nguyên sang d ng nh phân: (4)10 = (100)2 ị ầ + Chuy n ph n th p phân sang d ng nh phân (gi ng nh ví d 1):
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
49
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ
ầ
ấ
ướ
ầ
→ ầ
ậ 1, ph n th p phân =
ớ Ph n nguyên =
→ ầ
ầ
0,8 x 2 = 1,6
Ph n nguyên =
ậ 1, ph n th p phân =
→ ầ
ầ
0,6 x 2 = 1,2
Ph n nguyên =
ậ 1, ph n th p phân =
→ ầ
ầ
0,2 x 2 = 0,4
Ph n nguyên =
ậ 0, ph n th p phân =
→ ầ
ầ
0,4 x 2 = 0,8
Ph n nguyên =
ậ 0, ph n th p phân =
→ ầ
ầ
0,8 x 2 = 1,6
Ph n nguyên =
ậ 1, ph n th p phân =
ẽ
k t thúc vì ph n th p phân không
ầ ộ ố
ượ
ậ ấ ỉ ị c m t s nh phân x p x
ế
Ki n trúc máy tính 3
50
B c 1: L y ph n th p phân nhân v i 2: 0,9 x 2 = 1,8 0,8 ướ B c 2: 0,6 ướ B c 3: 0,2 ướ B c 4: 0,4 ướ B c 5: 0,8 ướ B c 6: 0,6 ... ộ ạ ậ ỹ B môn K thu t máy tính & m ng – ờ ế Quá trình này s không bao gi ỉ ể ể ằ th b ng 0. Do đó ta ch có th thu đ Khoa CNTT ớ ố ậ v i s th p phân đã cho .
ế
ả
K t qu :
(4,9)10 = (100,11100 1100 1100...)2
ễ ố ự
ể
Bi u di n s th c trên máy tính
Ví d 1:ụ
ị M = (10,1)2
ầ
ể ượ t là: c vi
ị
ủ ấ ư ậ ả ố ự ạ
Xét s th c d ng nh phân sau:
(b ng ằ
ệ ậ
2,5 trong h th p phân)
ế
+ S ố M cũng có th đ
M = 10,1 x 20 = 1,01 x 21
ị
ầ
=
ể ị ủ ố ự ẫ
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
51
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ằ nguyên b ng cách ị ề ầ ỉ ị ổ ị ữ mà giá tr c a s th c v n gi ầ đi u ch nh ph n mũ và ph n đ nh tr .
ố ự
ẩ
Chu n hoá s th c:
ị
ị Ph n đ nh tr (Fraction): ấ
ầ
Đ th ng nh t trong cách bi u di n, ph n
ị
ể ườ
ả
ễ ng ph i
ị ủ các số khác 0 th ệ
ả
ầ ị ượ ọ
ệ ượ
ầ
ẩ
ị
ị
ầ ể ố đ nh tr c a ề tho mãn đi u ki n sau: 1 ≤ Fraction < 2 ề ả ị Ph n đ nh tr tho mãn đi u ki n trên c g i là ph n đ nh tr đã đ
c chu n
đ hoá.
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
52
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ặ ố ph n mũ có th là s âm ho c s
ầ ể ễ ố
ộ ườ
ể ứ ạ ọ ị (g i là ng.
ươ d ộ ng Bias) vào ph n mũ đ nó luôn là s d ọ ố ươ c l a ch n theo quy t c sau:
ắ ầ ễ Bias đ ể ế N u đ dài dãy bít bi u di n ph n mũ là N thì
ậ
ộ
ế
Ki n trúc máy tính 3
53
ụ ế N = 8 thì Bias = 27 – 1 = 127) ạ
ầ Ph n mũ (Exponent): ể ự ế Trên th c t ệ ng. Vi c bi u di n s mũ âm là ph c t p nên ườ ng c ng thêm m t giá tr i ta th ầ ượ ự ộ Bias = 2N – 1 1 (Ví d : n u ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 2:ụ
ố ự ạ ị ầ ị ị M = 0,0001b Xét s th c d ng nh phân sau: ầ ị Hãy xác đ nh ph n đ nh tr và ph n mũ c a ủ M sau
ẩ khi chu n hoá. Gi i:ả
ạ
ậ
ế
Ki n trúc máy tính 3
54
ả ử ể ể ễ ầ s dùng 8 bít đ bi u di n ph n mũ: Bias =
M = 0,0001b = 1,0 x 24 Fraction = 1,0 Gi 127 → Exponent = 4 + 127 =123 ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
ể
S th c 32 bít (Short Real): ẽ ể ố ự Có nhi u ki u s th c trong máy tính
, ta s tìm hi u ộ
ầ
c chia làm 3 ph n:
ế
ế
ằ
ấ
ằ
Chi m 1 bít, b ng 1 n u d u âm, b ng
ỉ ấ
ị
ị ị: Dài 23 bít (ph n đ nh tr ch l y các bít
ả
ả
ố ự ề ứ ể ể ễ ố ự ở cách th c đ bi u di n s th c b i m t dãy 32 bít. Dãy ượ bít đó đ ấ ầ Ph n d u (Sign): ấ ươ ế ng. 0 n u d u d ầ : Dài 8 bít Ph n mũ ị ầ ầ Ph n đ nh tr ướ ấ ấ ằ n m sau d u ph y, vì tr c d u ph y luôn là 1). 30 23 22 0
31
Fraction
ậ
ạ
ộ
ế
Ki n trúc máy tính 3
55
Exponent S ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d 1:ụ
ạ
Chuy n s
ể ố 4,9 sang d ng ShortReal.
Gi
i:ả
(4,9)10 = (100,11100 1100 1100...)2 ẩ Chu n hoá: 4,9 = 1,0011100 1100 1100...x 22
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
56
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ấ ươ ng)
S = 0 (d u d Fraction = 0011100 1100 1100... (23 bít) Exponent = 2 + 127 = 129 = 1000 0001b
31 30 23 22 0
0
1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
ố ự ạ → S th c d ng ShortReal:
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
57
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
≈ ế ướ ạ Hay vi i d ng Hex: t d 4,9 40 9C CC CCh
ạ Ví d 2:ụ Chuy n s ể ố 4,9 sang d ng ShortReal.
Gi
ỉ ở ươ ụ ự ví d 1, ch khác ấ bít d u: S = ng t
i:ả Cách làm t ấ 1 (d u âm) → S th c d ng ShortReal: ố ự ạ
1
1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
31 30 23 22 0
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
58
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
≈ ế ướ ạ Hay vi i d ng Hex: t d 4,9 C0 9C CC CCh
ộ
ố ự Phép c ng s th c ướ ể ộ Các b
c đ c ng 2 s th c:
ị ầ
ớ
ầ
i khi ph n
ầ
ị ế
ượ
ẩ
ị ủ ả ả ể
ố C ng ph n đ nh tr c a hai s . c. Chu n hoá k t qu thu đ ợ ế Làm tròn k t qu (đ phù h p
ố ự ả ủ ố ấ ể ướ D ch chuy n d u ph y c a s B c 1: ỏ ơ ự th c có ph n mũ nh h n cho t ố ằ ủ mũ c a hai s b ng nhau. ộ ướ B c 2: ướ B c 3: ướ B c 4: ớ ộ v i đ dài dãy bít)
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
59
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Ví d :ụ
ự
ệ
ộ
Th c hi n phép c ng gi a
ữ 0.5 và 0.4375
(hay gi a ữ 1.000 x 21 và 1.110 x 22 trong h ệ
ị
nh phân)
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
60
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
i:ả
ướ B c 1: ướ B c 2: ướ B c 3: 1.110 x 22 = 0.111 x 21 1.000 x 21 + (0.111 x 21) = 0.001 x 21 0.001 x 21 = 0.010 x 22 = 0.100 x 23
ướ ầ
= 1.000 x 24 ế B c 4: Vì k t qu dài đúng 4 bít, nên không c n làm tròn n a: ữ
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
61
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ổ ả T ng = 1.000 x 24
ế
ể
ả
ợ
ả Ki m tra k t qu : 1.000 x 24 = 0.0001b = (1/24)10 = 0.0625 ộ ớ ế Phù h p v i k t qu phép c ng: 0.5 + (0.4375) = 0.0625
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
62
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ầ ứ
ậ
ộ
ố i thu t và ph n c ng phép c ng s
ả Gi th c:ự
ự
(Sinh viên t
ứ nghiên c u trong sách Computer Organization and Design – trang 200, 201)
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
63
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ự Phép nhân s th c
ố ự Các b
c đ nhân 2 s th c: ủ ượ ố ả ừ ế C ng ph n mũ c a hai s (Chú ý: trên c ph i tr đi Bias).
ầ ả ầ
ượ ẩ
ố ớ c. ợ ị ủ ị Nhân ph n đ nh tr c a hai s v i nhau. ả ế Chu n hoá k t qu thu đ ớ ộ ả ể ế Làm tròn k t qu (đ phù h p v i đ
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
64
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ấ ủ ế ị ướ ể ộ ướ B c 1: máy tính thì k t qu thu đ ướ B c 2: ướ B c 3: ướ B c 4: dài dãy bít). ướ B c 5: ả Xác đ nh d u c a k t qu .
Ví d :ụ
ự
ệ
Th c hi n phép nhân gi a
ữ 0.5 và 0.4375
(hay gi a ữ 1.000 x 21 và 1.110 x 22 trong h ệ
ị
nh phân)
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
65
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
i:ả ướ ộ B c 1: C ng ph n mũ: ầ ế ử ụ
1 + (2) = 3 ớ ẽ
ầ N u s d ng Bias thì ph n mũ m i s là: (1 + 127) + (2+127) – 127 = 3 + 127 = 124 ị
ầ
ị B c 2: Nhân ph n đ nh tr :
ướ 1.000 x 1.110
ạ
ộ
=> K t quế
ế
Ki n trúc máy tính 3
66
0000 1000 1000 1000 ậ ỹ B môn K thu t máy tính & m ng – 1110000 Khoa CNTT
ả = 1.110000 x 23
Gi
i:ả
ế ướ ướ ẩ
3
ở ạ d ng chu n: 3 ế B c 3: K t qu c a B c 2 đã K t qu = 1.110000 x 2
ả
ế K t qu = 1.110 x 2 ấ ừ ố ướ ướ
ả ủ ả B c 4: Làm tròn: B c 5: Do hai th a s trái d u nhau, nên Tích ấ ẽ s có d u âm:
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
67
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Tích = 1.110 x 23
ế
ể
ả
ợ
ả Ki m tra k t qu : 1.110 x 23 = 0.001110b = 0.00111b = (7/25)10 = 0.21875 ớ ế Phù h p v i k t qu phép nhân: 0.5 x (0.4375) = 0.21875
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
68
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ầ ứ
ậ
ố i thu t và ph n c ng phép nhân s
ả Gi th c:ự
ự
(Sinh viên t
ứ nghiên c u trong sách Computer Organization and Design – trang 205)
ộ
ạ
ậ
ế
Ki n trúc máy tính 3
69
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
ầ
H t Ph n 3
ộ
ậ
ạ
ế
Ki n trúc máy tính 3
70
ỹ B môn K thu t máy tính & m ng – Khoa CNTT