Computer Architecture II 1 Computer architecture II Introduction.
Computer Architecture Onthidauvao
Transcript of Computer Architecture Onthidauvao
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