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/CNTT­wru 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 c 1 byte thì   có kích th s  2>ố ệ ẽ ự ệ ẽ AL. L nh trên s  th c hi n   s  là thanh ghi  , k t ế ừ ố phép nhân gi a ữ ừ ố ứ ả qu  phép nhân đ AX (16  c ch a trong thanh ghi  bit). ướ ừ ố N u ế  có kích th ế ẽ s  2>ố  s  là thanh ghi  ộ ỹ ậ B  môn K  thu t máy tính & m ng –  ứ ch a trong hai thanh ghi  Khoa CNTT

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

 dài 8 bít : Tr

ừ ố ợ 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 ừ ố ờ Tr ng thái c   CF/OF N i ch a  ả ế k t qu  nhân

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  ị ầ              =  x 2  + Nh  v y ta có th  thay đ i v  trí c a d u ph y

ể ị ủ ố ự ẫ

ế

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 2­4         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 2­1 và ­1.110 x 2­2 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 2­2 = ­0.111 x 2­1  1.000 x 2­1 + (­0.111 x 2­1) = 0.001 x 2­1  0.001 x 2­1 = 0.010 x 2­2  = 0.100 x 2­3

ướ ầ

= 1.000 x 2­4  ế  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 2­4

ế

ả   Ki m tra k t qu :      1.000 x 2­4 = 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 2­1 và ­1.110 x 2­2 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 2­3

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 2­3

ế

ả   Ki m tra k t qu :      ­1.110 x 2­3 = ­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