461
KIẾN TRÚC MÁY TÍNH Computer Architecture Phạm Văn Thuận Bộ môn Kỹ thuật máy tính,Viện CNTT&TT,ĐHBK Hà Nội Mob. 0985905253 Email. thuanpv@soict.hut.edu.vn [email protected] Website: http://soict.hut.edu.vn/~thuanpv

Computer Architecture Onthidauvao

Embed Size (px)

Citation preview

KIN TRC MY TNHComputer ArchitecturePhm Vn Thun B mn K thut my tnh,Vin CNTT&TT,HBK H Ni Mob. 0985905253 Email. [email protected] [email protected] Website: http://soict.hut.edu.vn/~thuanpv

Ch v bn quyn Ton b slide mn hc Cu trc my tnh c xy dng da trn slide ca Thy Nguyn Kim Khnh v Thy Nguyn Ph Bnh, b mn K thut my tnh, vin Cng ngh thng tin v Truyn thng, i hc Bch Khoa H Ni. Yu cu ngi hc khng ph bin, chnh sa ni dung ca slide ny nu cha c s cho php ca tc gi.

XIN CM N!2

Ti liu tham kho

Stallings, W. Computer Organization and Architecture, 6th ed, Prentice Hall, 2003 Walter A. Triebel, Avtar Singh - The 8088 and 8086 Microprocessors: Programming, Interfacing, Software, Hardware and Applications - 1997.

3

Ni dung mn hc Chng 1: Gii thiu chung Chng 2: Biu din d liu v s hc my tnh Chng 3: H thng my tnh Chng 4: Gii thiu kin trc song song

4

Kin trc my tnh

Chng 1

Gii thiu chung

5

Ni dung chng 1

1. My tnh v phn loi my tnh 2. S tin ha ca my tnh

6

My tnh v phn loi my tnhnh ngha my tnh: Thit b in t thc hin cc cng vic sau:

Nhn thng tin vo X l thng tin theo chng trnh c nh sn bn trong a thng tin ra

My tnh hot ng theo chng trnh.

7

My tnh v phn loi my tnh

M hnh my tnh c bn

8

My tnh v phn loi my tnh

M hnh phn lp ca my tnh9

Phn loi my tnhPhn loi truyn thng: My vi tnh (Microcomputer) My tnh nh (Minicomputer) My tnh ln (Mainframe Computer) Siu my tnh (Supercomputer)

10

Phn loi my tnhPhn loi hin i: My tnh c nhn (Personal Computer) My ch (Server) My tnh nhng (Embedded Computer)

11

My tnh c nhn L loi my tnh ph bin nht i vi ngi dng thng thng. Thit k theo hng ti u c v gi thnh v hiu nng Mt s loi:

My tnh bn (Desktop) My tnh xch tay (Notebook) My trm lm vic (Workstation)

Gi thnh: t vi trm n vi nghn USD

12

My tnh c nhn

13

My ServerMy ch (Server) Thc cht l my phc v Dng trong mng my tnh theo m hnh Client/Server Tc v hiu nng tnh ton cao Dung lng b nh ln tin cy cao Gi thnh: t hng chc nghn n hng triu USD.

14

My Server

15

My tnh nhngMy tnh nhng (Embedded Computer) c t trong thit b khc (bao gm c phn cng v cc kt cu c kh) iu khin thit b lm vic c thit k chuyn dngV d: in thoi di ng B iu khin trong my git, iu ha nhit Mt s thit b mng: Switch, Router,

Gi thnh: t vi USD n hng trm ngn USD16

My tnh nhng

17

Kin trc my tnh

Kin trc tp lnh(Instruction Set Architecture ISA)

T chc my tnh(Computer Organization)

Kin trc my tnh

18

Kin trc tp lnh Nghin cu cu trc v hot ng ca my tnh theo cch nhn ca ngi lp trnh. Kin trc tp lnh ca my tnh bao gm

Tp lnh: tp hp cc chui s nh phn m ha cho cc thao tc m my tnh c th thc hin c. Kiu d liu: cc kiu d liu m my tnh c th x l. Ch a ch

19

T chc my tnh Nghin cu cu trc phn cng ca my tnh. Cc thnh phn c bn ca my tnh

B x l trung tm (Central Processing Unit): iu khin hot ng ca my tnh v x l d liu. B nh chnh (Main Memory): cha cc chng trnh v d liu ang c s dng. H thng vo ra (Input/Output System): trao i thng tin gia my tnh v bn ngoi. Lin kt h thng (System Interconnection): kt ni v vn chuyn thng tin gia cc thnh phn vi nhau

20

T chc my tnh

Cu trc c bn ca my tnh21

Ni dung chng 1

1. My tnh v phn loi my tnh 2. S tin ha ca my tnh

22

Cc th h my tnh Th h 1: My tnh dng n in t chn khng (1946 - 1955) Th h 2: My tnh dng transistor (1956 - 1965) Th h 3: My tnh dng mch tch hp (1966 1980) Th h 4: My tnh dng mch tch hp VLSI (1981 - nay)

23

My tnh dng n chn khng

24

Kin trc Von NeumannDa trn tng chng trnh c lu tr (storedprogram concept)

25

My tnh dng transistor

My PDP-1 v CDC 6600

26

My tnh dng mch tch hp Mch tch hp (Integrated Circuit IC) hay cn gi l vi mch, l cc chip bn dn trong cha cc transistor v cc linh kin khc. So vi th h trc, cc my tnh th h ny:

Nh gn hn Nhanh hn Tiu th t nng lng hn R tin hn

27

Siu my tnh CRAY-1

28

My tnh dng mch tch hp VLSI Cc cng ngh mch tch hp:

SSI (Small scale integration) t 1965 Tch hp ti 100 transistor trn mt chip

MSI (Medium scale integration) cho n 1971 Tch hp t 100 n 3,000 transistor trn mt chip

LSI (Large scale integration) t 1971 n 1977 Tch hp t 3,000 n 100,000 transistor trn mt chip

VLSI (Very large scale integration) t 1978 n nay Tch hp t 100,000 n 100,000,000 transistor trn mt chip

ULSI (Ultra large scale integration) C hn 100,000,000 transistor trn mt chip

29

My tnh dng mch tch hp VLSI Cc sn phm ca cng ngh VLSI:

B vi x l (Microprocessor): CPU c ch to trn mt chip. Cc vi mch iu khin tng hp (Chipset): cc vi mch thc hin c nhiu chc nng iu khin v ni ghp. B nh bn dn, gm hai loi: ROM, RAM Cc b vi iu khin (Microcontroller): my tnh chuyn dng c ch to trn mt chip.

30

My tnh dng mch tch hp VLSI

31

Kin trc my tnh

Chng 2

BIU DIN D LIU & S HC MY TNH

32

Ni dung chng 2

2.1. Cc h m c bn 2.2. M ha v lu tr d liu trong my tnh 2.3. Biu din s nguyn 2.4. Cc php ton s hc vi s nguyn 2.5. Biu din s thc 2.6. Biu din k t

33

Cc h m c bn V mt ton hc, ta c th biu din s theo h m c s bt k. Khi nghin cu v my tnh, ta ch quan tm n cc h m sau y:

H thp phn (Decimal System) con ngi s dng H nh phn (Binary System) my tnh s dng H mi su (Hexadecimal System) dng vit gn cho s nh phn

34

H thp phn S dng 10 ch s: 0,1,2,3,4,5,6,7,8,9 biu din s Dng n ch s thp phn c th biu din c 10n gi tr khc nhau: 00...000 = 0 .... 99...999 = 10n-1

Gi s mt s A c biu din di dng: A = anan-1an-2a0.a-1a-2...a-m Gi tr ca A c hiu nh sau: A = an10 n + an -110 n -1 + ... + a1101 + a0100 + a-110 -1 + ... + a- m10 - m

A=

i=-m

ai 10i 35

n

V d S thp phn 472.38 c gi tr c hiu nh sau:472.38 = 4 x 102 + 7 x 101 + 2 x 100 + 3 x 10-1 + 8 x 10-2

36

M rng cho h c s r (r>1) S dng r ch s c gi tr ring t 0 n r-1 biu din s Gi s c s A c biu din bng cc ch s ca h m theo c s r nh sau:

A = anan-1an-2a0.a-1a-2...a-m

Gi tr ca A l:

A = an r n + an -1r n -1 + ... + a1r 1 + a0 r 0 + a-1r -1 + a- 2 r -2 + ... + a- m r - m A=i =- m

ai r i

n

Mt chui n ch s ca h m c s r s biu din c rn gi tr khc nhau.37

H nh phn S dng 2 ch s: 0,1 Ch s nh phn gi l bit (binary digit) Bit l n v thng tin nh nht Dng n bit c th biu din c 2n gi tr khc nhau:

00...000 = 0 ... 11...111 = 2n-1

Gi s c s A c biu din theo h nh phn nh sau: A = anan-1an-2a0.a-1a-2...a-m Vi ai l cc ch s nh phn, khi gi tr ca A l:A = an 2 n + an -1 2 n -1 + ... + a1 21 + a0 20 + a-1 2 -1 + a- 2 2 -2 + ... + a- m 2 - m A=i=- m

ai 2i 38

n

V d S nh phn 1101001.1011 c gi tr c xc nh nh sau:1101001.1011(2) = 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10)

39

i s thp phn sang nh phn Thc hin chuyn i phn nguyn v phn l ring. Chuyn i phn nguyn:

Cch 1: chia dn s cho 2, xc nh cc phn d, ri vit cc s d theo chiu ngc li. V d: chuyn i 105(10) sang h nh phn ta lm nh sau: 105 : 2 = 52 d 1 52 : 2 = 26 d 0 26 : 2 = 13 d 0 13 : 2 = 6 d 1 6:2 = 3 d 0 3:2 = 1 d 1 1:2 = 0 d 1 Nh vy, ta c: 105(10) = 1101001(2)

40

i s thp phn sang nh phn Chuyn i phn nguyn (tip):

Cch 2: phn tch s thnh tng cc ly tha ca 2, sau da vo cc s m xc nh dng biu din nh phn. V d: 105 = 64 + 32 + 8 + 1 = 26 + 25 + 23 + 20 105(10) = 1101001(2)

Chuyn i phn l:

Nhn phn l vi 2 ri ly phn nguyn ... Sau vit cc phn nguyn theo chiu thun. V d: chuyn i s 0.6875(10) sang h nh phn: 0.6875 x 2 = 1.3750 phn nguyn 0.375 x2 = 0.750 phn nguyn 0.75 x2 = 1.50 phn nguyn 0.5 x2 = 1.0 phn nguyn Kt qu l: 0.6875(10) = 0.1011(2) = = = = 1 0 1 1

41

3. H mi su (Hexa) S dng 16 ch s, k hiu nh sau:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Dng vit gn cho s nh phn.

42

Mt s v d Nh phn Hexa: Hexa Nh phn: Thp phn Hexa: 11 1011 1110 0110(2) = 3BE6(16) 3E8(16) = 11 1110 1000(2) 14988 ?12 tc l C 8 10 tc l A 3

14988 : 16 = 936 d 936 : 16 = 58 d 58 : 16 = 3 d 3 : 16 = 0 d Nh vy, ta c: 14988(10) = 3A8C(16)

Hexa Thp phn:

3A8C ?

3A8C (16) = 3 x 163 + 10 x 162 + 8 x 161 +12 x 160 = 12288 + 2560 + 128 + 12 = 14988(10)

43

Cng tr s Hexa

44

Ni dung chng 2

2.1. Cc h m c bn 2.2. M ha v lu tr d liu trong my tnh 2.3. Biu din s nguyn 2.4. Cc php ton s hc vi s nguyn 2.5. Biu din s thc 2.6. Biu din k t

45

M ha v lu tr d liu

1. Nguyn tc chung v m ha d liu 2. Lu tr thng tin trong b nh chnh

46

1. Nguyn tc chung v m ha d liu Mi d liu a vo my tnh u phi c m ha thnh s nh phn. Cc loi d liu :

D liu nhn to: do con ngi quy c D liu t nhin: tn ti khch quan vi con ngi

47

Nguyn tc m ha d liu M ha d liu nhn to:

D liu s nguyn: m ha theo chun qui c D liu s thc: m ha bng s du chm ng D liu k t: m ha theo b m k t

48

Nguyn tc m ha d liu (tip) M ha d liu t nhin:

Ph bin l cc tn hiu vt l nh m thanh, hnh nh, ... Cc d liu t nhin cn phi c s ha (digitalized) trc khi a vo trong my tnh. S m ha v ti to tn hiu vt l:

49

di t d liu di t d liu:

L s bit c s dng m ha loi d liu tng ng Trong thc t, di t d liu thng l bi s ca 8 bit, v d: 8, 16, 32, 64 bit

50

2. Lu tr thng tin trong b nh chnh B nh chnh thng c t chc theo Byte di t d liu c th chim 1 hoc nhiu Byte Cn phi bit th t lu tr cc byte trong b nh chnh:

Lu tr kiu u nh (Little-endian) Lu tr kiu u to (Big-endian)

Little-endian: Byte c ngha thp hn c lu tr trong b nh v tr c a ch nh hn. Big-endian: Byte c ngha thp hn c lu tr trong b nh v tr c a ch ln hn.

51

V d

Intel 80x86, Pentium: Little-endian Motorola 680x0, cc b x l RISC: Big-endian Power PC, Itanium: h tr c hai (Bi-endian)52

Bi tp D liu 16 bit c gi tr l 5B9D c lu tr vo b nh chnh t chc theo kiu Little-endian bt u t byte nh c a ch l 1234. Hy xc nh ni dung cc byte nh cha lu tr d liu di dng nh phn.

53

Ni dung chng 2

2.1. Cc h m c bn 2.2. M ha v lu tr d liu trong my tnh 2.3. Biu din s nguyn 2.4. Cc php ton s hc vi s nguyn 2.5. Biu din s thc 2.6. Biu din k t

54

Biu din s nguyn

1. S nguyn khng du 2. S nguyn c du 3. Biu din s nguyn theo m BCD

55

1. S nguyn khng du Dng tng qut: gi s dng n bit biu din cho mt s nguyn khng du A: an-1an-2...a3a2a1a0 Gi tr ca A c tnh nh sau:

A = an -1 2 n -1 + an - 2 2 n - 2 + ... + a1 21 + a0 20 A = ai 2i =0 n -1 i

Di biu din ca A: t 0 n 2n-1

56

Cc v d V d 1. Biu din cc s nguyn khng du sau y bng 8 bit: A = 45 B = 156 Gii: A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 A = 0010 1101 B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 B = 1001 110057

Cc v d (tip) V d 2. Cho cc s nguyn khng du X, Y c biu din bng 8 bit nh sau: X = 0010 1011 Y = 1001 0110 Gii: X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + 8 + 2 + 1 = 43 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + 4 + 2 = 15058

Trng hp c th: vi n = 8 bit Di biu din l [0, 255]0000 0000 0000 0001 0000 0010 0000 0011 ..... 1111 1111 = = = = = 0 1 2 3 255

Trc s hc my tnh:

Trc s hc:

59

Vi n = 8 bit Kiu d liu tng ng trong Turbo C l kiu unsigned char. V d:unsigned char a; a = 255; a = a + 1; printf(%d,a); //Kt qu sai l 0 1111 1111 + 0000 0001 1 0000 0000 KQ sai: 255 + 1 = 0 ? (do php cng b nh ra ngoi)

60

Vi n = 16 bit, 32 bit, 64 bit n = 16 bit:

Di biu din l [0, 65535] Kiu d liu tng ng trong Turbo C l kiu unsigned int V d:unsigned int a; a = 0xffff; a = a + 1; printf(%d,a);

n = 32 bit:

Di biu din l [0, 232-1] Di biu din l [0, 264-1]61

n = 64 bit:

2. S nguyn c dua. Khi nim v s b S b chn v s b mi (h thp phn):

Gi s c mt s nguyn thp phn A c biu din bi n ch s thp phn. Khi ta c: S b chn ca A = (10n - 1) - A S b mi ca A = 10n - A NX: S b mi = S b chn + 1

V d: Xt n = 4 ch s, A = 2874 S b chn ca A = (104 - 1) - 2874 = 7125 S b mi ca A = 104 - 2874 = 7126

62

Khi nim v s b S b mt v s b hai (h nh phn):

Gi s c mt s nguyn nh phn A c biu din bi n bit. Khi ta c: S b mt ca A = (2n - 1) - A S b hai ca A = 2n - A NX: S b hai = S b mt + 1

V d: Xt n = 4 bit, A = 0110 S b mt ca A = (24 - 1) - 0110 = 1001 S b hai ca A = 24 - 0110 = 1010

63

Nhn xt C th tm s b mt ca A bng cch o tt c cc bit ca A S b hai ca A = S b mt ca A + 1

64

Nhn xtV d: cho A S b mt ca A

=0110 0101 =1001 1010 + 1 =1001 1011

S b hai ca A Nhn xt S b hai ca

A = 0110 0101 A += 1001 1011 1 0000 0000 = 0 (b qua bit nh ra ngoi)

->S b hai ca A=-A65

Biu din s nguyn c dub. Biu din s nguyn c du bng s b hai Dng n bit biu din s nguyn c du A: an-1an-2...a2a1a0 Vi s dng: Bit an-1 = 0 Cc bit cn li biu din ln ca s dng

Dng tng qut ca s dng: 0an-2...a2a1a0 Gi tr ca s dng:

A = ai 2ii =0

n-2

Di biu din ca s dng: [0, 2n-1-1]

66

Biu din s nguyn c du (tip) Vi s m: c biu din bng s b hai ca s dng tng ng Bit an-1 = 1

Dng tng qut ca s m: 1an-2...a2a1a0 Gi tr ca s m:

A = -2

n -1

+ ai 2ii =0

n -2 -2

Di biu din ca s m: [-2n-1, -1]

Di biu din ca s nguyn c du n bit l [-2n-1, 2n-1-1]

67

Biu din s nguyn c du (tip) Dng tng qut ca s nguyn c du A: an-1an-2...a2a1a0 Gi tr ca A c xc nh nh sau:A = -an -1 2 n -1 + ai 2ii =0 n-2

Di biu din: [-2n-1, 2n-1-1]

68

Cc v d V d 1. Biu din cc s nguyn c du sau y bng 8 bit A = +50 B = -70 Gii: A = +50 = 32 + 16 + 2 = 25 + 24 + 21 A = 0011 0010 B = -70 Ta c: +70 = 64 + 4 + 2 = 26 + 22 + 21 +70 = 0100 0110 S b 1 = 1011 1001 + 1 S b 2 = 1011 1010 B = 1011 101069

Cc v d (tip) V d 2. Xc nh gi tr ca cc s nguyn c du 8 bit sau y: A = 0101 0110 B = 1101 0010 Gii: A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 B = -27 + 26 + 24 + 21 = -128 + 64 + 16 + 2 = -46

70

Trng hp c th: vi n = 8 bit Di biu din l [-128, +127]0000 0000 = 0000 0001 = 0000 0010 = .. 0111 1111 = 1000 0000 = 1000 0001 = ..... 1111 1110 = 1111 1111 = 0 +1 +2 +127 -128 -127 -2 -1-1 -2 0 +1 +2

Trc s hc my tnh:

-128

+127

Trc s hc:

71

Vi n = 8 bit (tip) Kiu d liu tng ng trong Turbo C l kiu char. V d:char a; a = 127; a = a + 1; printf(%d,a); //Kt qu sai l -128 0111 1111 + 0000 0001 1000 0000 KQ sai: 127 + 1 = -128 ? (do php cng b trn s hc)

72

Vi n = 16 bit, 32 bit, 64 bit n = 16 bit:

Di biu din l [-32768, +32767] Kiu d liu tng ng trong Turbo C l kiu int Di biu din l [-231, 231-1] Kiu d liu tng ng trong Turbo C l kiu long int Di biu din l [-263, 263-1]

n = 32 bit:

n = 64 bit:

73

Chuyn t 8 bit sang 16 bit Vi s dng: +35 = 0010 0011 (8 bit) +35 = 0000 0000 0010 0011 (16 bit) Thm 8 bit 0 vo bn tri Vi s m: -79 = 1011 0001 (8 bit) -79 = 1111 1111 1011 0001 (16 bit) Thm 8 bit 1 vo bn tri Kt lun: m rng sang bn tri 8 bit bng bit du74

3. Biu din s nguyn theo m BCD BCD Binary Coded Decimal (M ha s nguyn thp phn bng nh phn) Dng 4 bit m ha cho cc ch s thp phn t 0 n 90 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

C 6 t hp khng s dng: 1010, 1011, 1100, 1101, 1110, 111175

V d v s BCD 35 0011 0101BCD 79 0111 1001BCD 2281 0010 0010 1000 0001BCD 1304 0001 0011 0000 0100BCD

76

Php cng s BCD 35 0011 0101BCD + 24 + 0010 0100BCD 59 0101 1001BCD Kt qu ng (khng phi hiu chnh) 89 1000 1001BCD + 52 + 0101 0010BCD 141 1101 1011 kt qu sai + 0110 0110 hiu chnh 0001 0100 0001BCD kt qu ng 1 4 1

Hiu chnh: cng thm 6 nhng hng c nh77

Cc kiu lu tr s BCD BCD dng nn (Packed BCD): Hai s BCD c lu tr trong 1 Byte.

V d s 52 c lu tr nh sau:

BCD dng khng nn (Unpacked BCD): Mi s BCD c lu tr trong 4 bit thp ca mi Byte.

V d s 52 c lu tr nh sau:

78

Ni dung chng 2

2.1. Cc h m c bn 2.2. M ha v lu tr d liu trong my tnh 2.3. Biu din s nguyn 2.4. Cc php ton s hc vi s nguyn 2.5. Biu din s thc 2.6. Biu din k t

79

Cc php ton s hc vi s nguyn

1. 2. 3. 4. 5.

B cng Cng s nguyn khng du Cng/tr s nguyn c du Nhn s nguyn Chia s nguyn

80

1. B cng B cng 1 bit ton phn (Full Adder)

81

B cng (tip) B cng n bit

82

2. Cng s nguyn khng du Nguyn tc: S dng b cng n bit cng 2 s nguyn khng du n bit, kt qu nhn c cng l n bit.

Nu khng c nh ra khi bit cao nht (Cout=0) th kt qu nhn c l ng. Nu c nh ra khi bit cao nht (Cout=1) th kt qu nhn c l sai, khi xy ra hin tng nh ra ngoi.

Hin tng nh ra ngoi (Carry-out) xy ra khi tng ca 2 s nguyn khng du n bit > 2n-1

83

VD cng s nguyn khng du 8 bit Trng hp khng xy ra carry-out:X = 1001 0110 = 150 Y = 0001 0011 = 19 S = 1010 1001 = 169 Cout = 0

Trng hp c xy ra carry-out:X = 1100 0101 = 197 Y = 0100 0110 = 70 S = 0000 1011 267 Cout = 1 carry-out (KQ sai = 23 + 21 + 20 = 11)

unsigned char x, y, s; x = 197; y = 70; s = x + y; printf(%d,s);

84

3. Cng/tr s nguyn c du Khi cng hai s nguyn c du n bit, ta khng quan tm n bit Cout v kt qu nhn c cng l n bit.

Cng hai s khc du: kt qu lun ng Cng hai s cng du: Nu tng nhn c cng du vi 2 s hng th kt qu l ng Nu tng nhn c khc du vi 2 s hng th xy ra hin tng trn s hc (Overflow) v kt qu nhn c l sai

Trn s hc xy ra khi tng thc s ca hai s nm ngoi di biu din ca s nguyn c du n bit: [-2n-1, 2n-1-1]

85

Php tr s nguyn c du Nguyn tc thc hin php tr:

Ta c: X Y = X + (-Y) Cch thc hin: ly X cng vi s b 2 ca Y

n-bit B hai

Y

n-bit

X

B cng n-bit n-bit

S86

V d cng 2 s nguyn c du (khng trn)

87

V d cng 2 s nguyn c du (Overflow)

88

4. Nhn s nguyn

a. Nhn s nguyn khng du b. Nhn s nguyn c du

89

a. Nhn s nguyn khng du

Cc tch ring phn c xc nh nh sau:

Nu bit ca s nhn = 0 tch ring phn = 0 Nu bit ca s nhn = 1 tch ring phn = s b nhn Tch ring phn tip theo c dch tri 1 bit so vi tch ring phn trc

Tch = tng cc tch ring phn Nhn 2 s nguyn n bit, tch c di 2n bit khng trn90

B nhn s nguyn khng du

91

Lu thc hinBt u

C, A S b nhn Q S nhn B m n

S

Q0 = 1 ?

C, A

Dch phi C, A, Q B m B m - 1

S

B m = 0 ?

Kt thc

92

V d nhn s nguyn khng du M Q C 0 0 0 0 0 0 1 0 = 1011 (11 - S b nhn) = 1101 (13 - S nhn) = 1000 1111 (143 - Tch) A 0000 + 1011 1011 0101 0010 + 1011 1101 0110 + 1011 0001 1000 Q 1101 1101 1110 1111 1111 1111 1111 1111 Cc gi tr khi u A A + M Dch phi Dch phi A A + M Dch phi A A + M Dch phi

93

b. Nhn s nguyn c du S dng thut gii nhn khng du:

Bc 1: Chuyn i s nhn v s b nhn thnh s dng tng ng. Bc 2: Nhn 2 s bng thut gii nhn s nguyn khng du c tch 2 s dng. Bc 3: Hiu chnh du ca tch: Nu 2 tha s ban u cng du th tch nhn c bc 2 l kt qu cn tnh. Nu 2 tha s ban u khc du nhau th kt qu l s b 2 ca tch nhn c bc 2.

94

Nhn s nguyn c du S dng thut gii Booth:

Vi s nhn dng: Ta c: 2i + 2i-1 + + 2j = 2i+1 - 2j (vi ij) VD: M * 01110010 = M * (27 24 + 22 21) Quy tc: duyt t tri sang phi:

Nu gp 10 th tr A i M ri dch phi Nu gp 01 th cng A vi M ri dch phi Nu gp 00 hay 11 th ch dch phi

Vi s nhn m: Ta c: 1110ak-1ak-2a0 = -2n-1 + 2n-2 + + 2k+1 + ak-12k-1 + + a020 = -2n-1 + 2n-1 - 2k+1 + ak-12k-1 + + a020 -2k+1 ng vi bit 10 nn vn m bo quy tc TH trn95

Lu thc hin thut ton BoothA Q Q-1 Bt u

A Q-1 S b nhn Q S nhn B m n = 10 = 01

Q0Q-1 = 00 / 11

A

A

Dch phi A, Q, Q-1 (Gi nguyn bit du ca A) B m B m - 1 S

B m = 0 ?

Kt thc

96

V d v thut ton Booth

97

5. Chia s nguyn

a. Chia s nguyn khng du b. Chia s nguyn c du

98

a. Chia s nguyn khng du V d:

99

B chia s nguyn khng du

100

Lu thc hinBt u

A S chia Q S b chia B m 0

Dch tri A, Q

A

S

A