Professional Documents
Culture Documents
Computer Architecture
Phm Vn Thun B mn K thut my tnh,Vin CNTT&TT,HBK H Ni Mob. 0985905253 Email. thuanpv@soict.hut.edu.vn phamvanthuanbk@gmail.com 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
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.
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
Chng 1
Ni dung chng 1
Nhn thng tin vo X l thng tin theo chng trnh c nh sn bn trong a thng tin ra
M hnh my tnh c bn
10
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:
12
My tnh c nhn
13
My Server
My 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 nhng
My 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 dng
V d: in thoi di ng B iu khin trong my git, iu ha nhit Mt s thit b mng: Switch, Router,
My tnh nhng
17
T chc my tnh
(Computer Organization)
18
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 tnh
21
Ni dung chng 1
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
24
25
26
27
28
29
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
31
Chng 2
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
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
A = anan-1an-2a0.a-1a-2...a-m
Gi tr ca A l:
ai r i
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:
ai 2i
38
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
40
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
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
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
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
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:
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
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 2
i =0 n -1 i
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 1100
57
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 = 150
58
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
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:
n = 64 bit:
2. S nguyn c du
a. Khi nim v s b S b chn v s b mi (h thp phn):
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):
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 xt
V d: cho A S b mt ca A
A = ai 2i
i =0
n-2
66
A = -2
n -1
+ ai 2i
i =0
n -2 -2
67
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 1010
69
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
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
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
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 9
0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001
V d v s BCD
35 0011 0101BCD 79 0111 1001BCD 2281 0010 0010 1000 0001BCD 1304 0001 0011 0000 0100BCD
76
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
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
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
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)
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.
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:
n-bit B hai
n-bit
S
86
87
88
4. Nhn s nguyn
89
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 trn
90
91
Lu thc hin
Bt u
C, A S b nhn Q S nhn B m n
Q0 = 1 ?
C, A
Dch phi C, A, Q B m B m - 1
B m = 0 ?
Kt thc
92
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:
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 trn
95
Q0Q-1 = 00 / 11
B m = 0 ?
Kt thc
96
97
5. Chia s nguyn
98
99
100
Lu thc hin
Bt u
A S chia Q S b chia B m 0
Dch tri A, Q
A<0?
Q0
Q0 A
B m
B m - 1
B m = 0 ?
Kt thc
101
b. Chia s nguyn c du
Bc 1: Chuyn i s chia v s b chia thnh s dng tng ng Bc 2: S dng thut gii chia s nguyn khng du chia 2 s dng, kt qu nhn c l thng Q v phn d R u dng Bc 3: Hiu chnh du kt qu theo quy tc sau:
102
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
103
1. Khi nim v s du chm tnh 2. Khi nim v s du chm ng 3. Chun IEEE 754/85
104
105
U(a,b) l tp cc s du chm tnh khng du c a bit trc du chm v b bit sau du chm. A(a,b) l tp cc s du chm tnh c du c a bit (khng k bit du) trc du chm v b bit sau du chm.
106
Dng 8 bit m ha cho kiu s du chm tnh, trong c 2 bit dnh cho phn l. Khong xc nh ca kiu d liu ny l: 0 R 26 2-2 = 63.75 VD: gi tr ca 101011.11 = 10101111 x 2-2 = 43.75
107
S du chm tnh c du
Khong xc nh ca s du chm tnh c du: [-2a, 2a - 2-b] V d:
Dng 8 bit biu din s chm tnh c du vi a=5, b=2 Ta c tp cc s chm tnh thuc A(5,2) nm trong khong: [-25, 25 2-2] hay [-32, 31.75]
108
c im ca s du chm tnh
Cc php ton thc hin nhanh. chnh xc khi thc hin cc php ton khng cao, c bit l vi php tnh nhn. V d:
Khi thc hin php nhn ta cn phi c thm mt s lng bit nht nh biu din kt qu. i vi s khng du: U(a1, b1) x U(a2, b2) = U(a1 + a2, b1 + b2) i vi s c du: A(a1, b1) x A(a2, b2) = A(a1 + a2 + 1, b1 + b2)
109
Dng c chnh xc n, 32-bit Dng c chnh xc kp, 64-bit Dng c chnh xc kp m rng, 80-bit
111
Khun dng m ha
S l bit du, S=0 l s dng, S=1 l s m. e l m lch (excess) ca phn m E, tc l: E = e b Trong b l lch (bias):
Dng 32-bit : b = 127, hay E = e - 127 Dng 64-bit : b = 1023, hay E = e - 1023 Dng 80-bit : b = 16383, hay E = e - 16383
m l cc bit phn l ca phn nh tr M, phn nh tr c ngm nh nh sau: M = 1.m Cng thc xc nh gi tr ca s thc tng ng l: X = (-1)S x 1.m x 2e-b
112
V d v s du chm ng
V d 1: C mt s thc X c dng biu din nh phn theo chun IEEE 754 dng 32 bit nh sau: 1100 0001 0101 0110 0000 0000 0000 0000 Xc nh gi tr thp phn ca s thc . Gii:
S = 1 X l s m e = 1000 0010 = 130 m = 10101100...00 Vy X = (-1)1 x 1.10101100...00 x 2130-127 = -1.101011 x 23 = -1101.011 = -13.375
113
V d v s du chm ng (tip)
V d 2: Xc nh gi tr thp phn ca s thc X c dng biu din theo chun IEEE 754 dng 32 bit nh sau: 0011 1111 1000 0000 0000 0000 0000 0000 Gii:
114
V d v s du chm ng (tip)
V d 3: Biu din s thc X = 9.6875 v dng s du chm ng theo chun IEEE 754 dng 32 bit Gii: X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 23 Ta c:
Cc quy c c bit
Nu tt c cc bit ca e u bng 0, cc bit ca m u bng 0, th X = 0 Nu tt c cc bit ca e u bng 1, cc bit ca m u bng 0, th X = Nu tt c cc bit ca e u bng 1, m c t nht mt bit bng 1, th X khng phi l s (not a number - NaN)
116
Dng 32 bit: a = 2-127 10-38 Dng 64 bit: a = 2-1023 10-308 Dng 80 bit: a = 2-16383 10-4932
117
X1 X2 = (M1 * RE1-E2 M2) * RE2 , vi E2 E1 X1 * X2 = (M1 * M2) * RE1+E2 X1 / X2 = (M1 / M2) * RE1-E2
118
Cc kh nng trn s
Trn trn s m (Exponent Overflow): m dng vt ra khi gi tr cc i ca s m dng c th. Trn di s m (Exponent Underflow): m m vt ra khi gi tr cc i ca s m m c th. Trn trn phn nh tr (Mantissa Overflow): cng hai phn nh tr c cng du, kt qu b nh ra ngoi bit cao nht. Trn di phn nh tr (Mantissa Underflow): Khi hiu chnh phn nh tr, cc s b mt bn phi phn nh tr.
119
Nu c th gn kt qu da trn s cn li. Sao cho 2 s c phn m ging nhau: tng s m nh v dch phi phn nh tr tng ng (dch phi hn ch sai s nu c). VD: 1.01 * 23 + 1.11 = 1.01 * 23 + 0.00111 * 23 Nu trn th dch phi v tng s m, nu b trn s m th bo li trn s. Dch tri phn nh tr bit tri nht (bit MSB) khc 0. Tng ng vi vic gim s m nn c th dn n hin tng trn di s m.
120
Chun ha kt qu
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
121
122
1. B m ASCII
Do ANSI (American National Standard Institute) thit k L b m 8 bit m ha c cho 28 = 256 k t, c m t 0016 FF16, bao gm:
123
HEXA 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 <NUL> 0 <SOH> 1 <STX> 2 <ETX> 3 <EOT> 4 <ENQ> 5 <ACK> 6 <BEL> 7 <BS> 8 <HT> 9 <LF> 10 <VT> 11 <FF> 12 <CR> 13 <SO> 14 <SI> 15
1 <DLE> 16 <DC1> 17 <DC2> 18 <DC3> 19 <DC4> 20 <NAK> 21 <SYN> 22 <ETB> 23 <CAN> 24 <EM> 25 <SUB> 26 <ESC> 27 <FS> 28 <GS> 29 <RS> 30 <US> 31
3 0 48 1 49 2 50 3 51 4 52 5 53 6 54 7 55 8 56 9 57 : 58 ; 59 < 60 = 61 > 62 ? 63
4 @ 64 A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79
5 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 [ 91 \ 92 ] 93 ^ 94 95
6 ` 96 a 97 b 98 c 99 d 100 e 101 f 102 g 103 h 104 i 105 j 106 k 107 l 108 m 109 n 110 o 111
7 p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122 { 123 | 124 } 125 ~ 126 <DEL> 127
124
a. Cc k t chun
95 k t hin th c: c m t 2016 7E16
26 ch ci hoa Latin 'A' 'Z' c m t 4116 5A16 26 ch ci thng Latin 'a' 'z' c m t 6116 7A16 10 ch s thp phn '0' '9' c m t 3016 3916 Cc du cu: . , ? ! : ; Cc du php ton: + - * / Mt s k t thng dng: #, $, &, @, ... Du cch (m l 2016)
iu khin nh dng
Backspace - Li li mt v tr: K t iu khin con tr li li mt v tr. Horizontal Tab - Tab ngang: K t iu khin con tr dch tip mt khong nh trc. Line Feed - Xung mt dng: K t iu khin con tr chuyn xung dng di. Vertical Tab - Tab ng: K t iu khin con tr chuyn qua mt s dng nh trc. Form Feed - y sang u trang: K t iu khin con tr di chuyn xung u trang tip theo. Carriage Return - V u dng: K t iu khin con tr di chuyn v u dng hin hnh.
BS HT LF VT FF CR
126
FS GS RS US
File Separator - K hiu phn cch tp tin: nh du ranh gii gia cc tp tin. Group Separator - K hiu phn cch nhm: nh du ranh gii gia cc nhm tin (tp hp cc bn ghi). Record Separator - K hiu phn cch bn ghi: nh du ranh gii gia cc bn ghi. Unit Separator - K hiu phn cch n v: nh du ranh gii gia cc phn ca bn ghi.
128
Cc k t iu khin khc
NUL BEL SO SI DLE DC1 DC4 CAN EM SUB ESC DEL Null - K t rng: c s dng in khong trng khi khng c d liu. Bell - Chung: c s dng pht ra ting bp khi cn gi s ch ca con ngi. Shift Out - Dch ra: Ch ra rng cc m tip theo s nm ngoi tp k t chun cho n khi gp k t SI. Shift In - Dch vo: Ch ra rng cc m tip theo s nm trong tp k t chun. Data Link Escape - Thot lin kt d liu: K t s thay i ngha ca mt hoc nhiu k t lin tip sau . Device Control - iu khin thit b : Cc k t dng iu khin cc thit b ph tr. Cancel - Hy b: Ch ra rng mt s k t nm trc n cn phi b qua. End of Medium - Kt thc phng tin: Ch ra k t ngay trc n l k t cui cng c tc dng vi phng tin vt l. Substitute - Thay th: c thay th cho k t no c xc nh l b li. Escape - Thot: K t c dng cung cp cc m m rng bng cch kt hp vi k t sau . Delete - Xa: Dng xa cc k t khng mong mun.
129
b. Cc k t m rng
c nh ngha bi:
Nh ch to my tnh Ngi pht trin phn mm B m k t m rng ca IBM: c dng trn my tnh IBM-PC. B m k t m rng ca Apple: c dng trn my tnh Macintosh. Cc nh pht trin phn mm ting Vit cng thay i phn ny m ho cho cc k t ring ca ch Vit, v d nh b m TCVN 5712.
130
V d:
2. B m Unicode
Do cc hng my tnh hng u thit k L b m 16-bit c thit k cho a ngn ng, trong c ting Vit
131
Bi tp 1
Gi s c cc bin nh di y cha cc s nguyn c du 8-bit vi ni dung biu din theo h 16 nh sau: P = 3A Q = 7C R = DE S = FF Hy xc nh gi tr ca cc bin nh di dng s thp phn.
132
Bi tp 2
Gi s c X thuc kiu s nguyn c du 16-bit, n c gn gi tr di dng thp phn bng -1234. Hy cho bit ni dung ca cc byte nh cha bin di dng Hexa, bit rng b nh lu tr theo kiu u nh (little-endian).
133
Bi tp 3
Gi s c bin P cha s nguyn c du 16 bit. Ni dung ca bin P c cho trong b nh nh sau:
Bi tp 4
Gi s c mt bin s thc X c biu din bng s du chm ng theo chun IEEE 754 dng 32 bit, n chim 4 byte trong b nh vi ni dung c ch ra hnh v sau.
Bi tp 5
Gi s c bin X thuc kiu s du chm ng theo chun IEEE 754 dng 32 bit. N c gn gi tr di dng thp phn bng -124.125 v lu tr vo b nh bt u t byte nh c a ch l 200. Hy cho bit ni dung ca cc byte nh cha bin di dng Hexa, bit rng b nh lu tr theo kiu u nh (little-endian).
136
137
Ni dung chng 3
3.1. Cu trc v hot ng c bn ca my tnh 3.2. B x l trung tm 3.3. B nh my tnh 3.4. H thng vo ra 3.5. Gii thiu h iu hnh
138
Cu trc c bn ca my tnh Lin kt h thng Hot ng c bn ca my tnh Cu trc mt my tnh c nhn in hnh
139
3.1.1 Cu trc c bn ca my tnh B x l trung tm B nh H thng vo-ra Lin kt h thng (Central Processing Unit) (Memory) (Input-Output System) (System Interconnection)
140
B x l trung tm (CPU)
Chc nng:
Nguyn tc hot ng c bn: CPU hot ng theo chng trnh nm trong b nh chnh, bng cch:
Nhn ln lt tng lnh t b nh chnh, Sau tin hnh gii m lnh v pht cc tn hiu iu khin thc thi lnh. Trong qu trnh thc thi lnh, CPU c th trao i d liu vi b nh chnh hay h thng vo-ra.
141
Cu trc c bn ca CPU
142
Tc ca b x l
Tc ca b x l:
S lnh c thc hin trong 1 giy MIPS (Millions of Instructions per Second) Kh nh gi chnh xc B x l hot ng theo mt xung nhp (Clock) c tn s xc nh Tc ca b x l c nh gi gin tip thng qua tn s ca xung nhp
Tn s xung nhp ca b x l:
144
Tc ca b x l (tip)
Dng xung nhp:
T0: chu k xung nhp Mi thao tc ca b x l mt mt s nguyn ln chu k T0 T0 cng nh th b x l chy cng nhanh Tn s xung nhp: f0=1/T0 gi l tn s lm vic ca CPU VD: My tnh dng b x l Pentium IV 2GHz Ta c: f0 = 2GHz = 2 x 109Hz T0 = 1/f0 = 1 / (2 x 109) = 0,5 ns
145
B nh my tnh
Chc nng: lu tr chng trnh v d liu Cc thao tc c bn vi b nh:
Thao tc c (Read) Thao tc ghi (Write) B nh trong (Internal Memory) B nh ngoi (External Memory)
146
CPU
B nh trong
B nh ngoi
147
B nh trong
Chc nng v c im:
Cha cc thng tin m CPU c th trao i trc tip Tc rt nhanh Dung lng khng ln S dng b nh bn dn: ROM v RAM B nh chnh B nh cache (b nh m nhanh)
Cc loi b nh trong:
148
B nh RAM B nh ROM
149
B nh ngoi
Chc nng v c im:
Lu gi ti nguyn phn mm ca my tnh, bao gm: h iu hnh, cc chng trnh v cc d liu B nh ngoi c kt ni vi h thng di dng cc thit b vo-ra Dung lng ln Tc chm B nh t: a cng, a mm B nh quang: a CD, DVD B nh bn dn: Flash disk, memory card
151
Cc loi b nh ngoi:
Vo d liu (Input) Ra d liu (Output) Cc thit b ngoi vi (Peripheral Devices) Cc m-un ni ghp vo-ra (IO Modules)
152
153
Cc thit b ngoi vi
Chc nng: chuyn i d liu gia bn trong v bn ngoi my tnh Cc loi thit b ngoi vi c bn:
Thit b vo: bn phm, chut, my qut ... Thit b ra: mn hnh, my in ... Thit b nh: cc a ... Thit b truyn thng: modem ...
154
M-un vo-ra
Chc nng: ni ghp thit b ngoi vi vi my tnh Khi nim cng vo-ra:
Trong mi m-un vo-ra c mt hoc mt vi cng vora (I/O Port). Mi cng vo-ra cng c nh mt a ch xc nh. Thit b ngoi vi c kt ni v trao i d liu vi bn trong my tnh thng qua cc cng vo-ra.
155
Lin kt h thng
Lung thng tin trong my tnh Cu trc bus c bn Phn cp bus trong my tnh
156
cn c kt ni vi nhau
157
Kt ni m-un nh
158
Kt ni m-un vo-ra
a ch DL n TBNV DL t bn trong MT DL t TBNV T/h o/khin c T/h o/khin ghi Module vo-ra Cc t/h o/khin ngt DL n bn trong MT
159
Kt ni CPU
160
Nhn xt
C 4 loi thng tin:
161
Cu trc bus c bn
Khi nim chung v bus:
Bus: tp hp cc ng kt ni dng vn chuyn thng tin gia cc thnh phn ca my tnh vi nhau. rng bus: l s ng dy ca bus c th truyn thng tin ng thi. Tnh bng bit. Phn loi cu trc bus:
Cu trc n bus Cu trc a bus
162
C ng tn hiu Clock Cc s kin xy ra trn bus c xc nh bi xung nhp Clock. Khng c ng tn hiu Clock Mt s kin trn bus kt thc s kch hot s kin tip theo.
Bus khng ng b:
163
Cu trc n bus
164
165
V d
rng bus a ch ca mt s b x l ca Intel
8088/8086 : N = 20 bit KGCBN = 220 Byte = 1 MB 80286 : N = 24 bit KGCBN = 224 Byte = 16 MB 80386, 80486, Pentium : N = 32 bit KGCBN = 232 Byte = 4 GB Pentium II, III, 4 : N = 36 bit KGCBN = 236 Byte = 64 GB
166
Vn chuyn lnh t b nh n CPU Vn chuyn d liu gia CPU, cc m-un nh v mun vo-ra vi nhau
Nu rng bus d liu l M bit (gm M ng dy DM-1, DM-2, ... , D2, D1, D0) th ngha l ng bus d liu c th vn chuyn ng thi c M bit d liu M thng l 8, 16, 32, 64 bit
167
V d
rng bus d liu ca mt s b x l ca Intel:
8088 : M = 8 bit 8086, 80286 : M = 16 bit 80386, 80486 : M = 32 bit Cc b x l Pentium : M = 64 bit
168
Cc tn hiu iu khin pht ra t CPU iu khin mun nh hay m-un vo-ra Cc tn hiu yu cu t m-un nh hay m-un vo-ra gi n CPU
169
V d
Cc tn hiu pht ra t CPU iu khin c/ghi:
Memory Read (MEMR): iu khin c d liu t mt ngn nh c a ch xc nh ln bus d liu. Memory Write (MEMW): iu khin ghi d liu c sn trn bus d liu n mt ngn nh c a ch xc nh. I/O Read (IOR): iu khin c d liu t mt cng vora c a ch xc nh ln bus d liu. I/O Write (IOW): iu khin ghi d liu c sn trn bus d liu ra mt cng c a ch xc nh.
170
V d (tip)
Cc tn hiu iu khin ngt:
Interrupt Request (INTR): Tn hiu t b iu khin vora gi n yu cu ngt CPU trao i vo-ra. Tn hiu INTR c th b che. Interrupt Acknowledge (INTA): Tn hiu pht ra t CPU bo cho b iu khin vo-ra bit CPU chp nhn ngt. Non Maskable Interrupt (NMI): tn hiu ngt khng che c gi n ngt CPU. Reset: Tn hiu t bn ngoi gi n CPU v cc thnh phn khc khi ng li my tnh.
171
V d (tip)
Cc tn hiu iu khin bus:
Bus Request (BRQ) / Hold: Tn hiu t b iu khin vo-ra chuyn dng gi n yu cu CPU chuyn nhng quyn s dng bus. Bus Grant (BGT) / Hold Acknowledge: Tn hiu pht ra t CPU chp nhn chuyn nhng quyn s dng bus. Lock: Tn hiu kha khng cho xin chuyn nhng bus. Unlock: Tn hiu m kha cho xin chuyn nhng bus.
172
c im ca cu trc n bus
Tt c cc thnh phn cng ni vo mt ng bus chung Ti mt thi im, bus ch phc v c mt yu cu trao i d liu Bus phi c tc bng tc ca thnh phn nhanh nht trong h thng Bus ph thuc vo cu trc bus ca b x l cc m-un nh v cc m-un vo-ra cng ph thuc vo b x l c th. Cn phi thit k bus phn cp hay cu trc a bus
173
Phn cp bus khc nhau v tc Cc bus ni ghp vi m-un nh v m-un vo-ra khng ph thuc vo b x l c th.
174
175
176
Chip Intel 82865PE MCH h tr CPU Pentium 4 s dng cng ngh siu phn lung (Hyper Threading HT), b nh DDR400, mode Dual Channel (ring chip 82865G (MCH) ca b chipset i865G th tch hp c nhn x l ha Intel Extreme Graphics 2). Chip Intel 82801ER (ICH5-R) tch hp cc b iu khin (controller) cc thit b I/O nh Ultra ATA 100, Serial ATA- RAID-0, USB 2.0, m thanh AC'97 c 6 knh, LAN, EHCI, ASF, ...
177
VD 2 (tip)
178
179
Thit k bus
Cc kiu bus Phn x bus nh thi bus
180
Cc kiu bus
Bus dnh ring (dedicated bus)
181
Phn x bus
C nhiu m-un iu khin bus v d: CPU v b iu khin vo-ra Ch cho php mt m-un iu khin bus mt thi im. Phn x bus c th l tp trung hay phn tn.
182
Phn x bus
Phn x bus tp trung
C mt B iu khin bus (Bus Controller) hay cn gi l B phn x bus (Arbiter) C th l mt phn ca CPU hoc mch tch ri.
183
nh thi bus
Phi hp cc s kin trn bus Bus ng b
Cc s kin trn bus c xc nh bi mt tn hiu xung nhp xc nh (clock) Bus iu khin bao gm c ng Clock Tt c cc m-un c th c ng clock
Bus khng ng b
Khng c ng tn hiu Clock Kt thc mt s kin ny trn bus s kch hot cho mt s kin tip theo
184
Chng trnh ang c thc hin phi nm trong b nh chnh ca my tnh. Thc hin chng trnh l lp i lp li chu trnh lnh gm hai bc:
Nhn lnh Thc thi lnh
Thc hin chng trnh b dng nu b li nghim trng khi thc thi lnh hoc gp lnh dng chng trnh
185
Nhn lnh
Dng
186
Nhn lnh
Bt u mi chu trnh lnh, CPU s nhn lnh t b nh chnh a vo bn trong CPU. Bn trong CPU c 2 thanh ghi lin quan trc tip n qu trnh nhn lnh:
Thanh ghi b m chng trnh (Program Counter - PC): cha a ch ca lnh s c nhn vo. Thanh ghi lnh (Instruction Register - IR): lnh c nhn t b nh chnh s c np vo IR.
187
CPU pht a ch ca lnh cn nhn t PC n b nh chnh CPU pht tn hiu iu khin c b nh chnh (MEMR Memory Read) Lnh t b nh chnh c chuyn vo IR Ni dung ca PC t ng tng tr sang lnh k tip nm ngay sau lnh va c nhn.
188
189
Trao i d liu gia CPU v b nh chnh Trao i d liu gia CPU v m-un vo-ra X l d liu: thc hin cc php ton s hc hoc php ton logic vi cc d liu iu khin r nhnh Kt hp cc thao tc trn
190
Hot ng ngt
Khi nim chung v ngt (Interrupt): Ngt l c ch cho php CPU tm dng chng trnh ang thc hin chuyn sang thc hin mt chng trnh khc, gi l chng trnh con phc v ngt. Cc loi ngt:
Ngt do li khi thc hin chng trnh, v d: trn s, chia cho 0 Ngt do li phn cng, v d: li b nh RAM Ngt do tn hiu yu cu t m-un vo-ra gi n CPU yu cu trao i d liu
191
Nu khng c tn hiu yu cu ngt th CPU nhn lnh k tip Nu c yu cu ngt v ngt c chp nhn th:
CPU ct ng cnh hin ti ca chng trnh ang thc hin (cc thng tin lin quan n chng trnh b ngt) CPU chuyn sang thc hin chng trnh con phc v ngt tng ng Kt thc chng trnh con , CPU khi phc li ng cnh v tr v tip tc thc hin chng trnh ang tm dng
192
N h n l nh
T h c h i n l nh
D ng
K im tra c n g t h a y kh ng ?
C h u y n n ch u n g trn h i u kh i n n g t
193
194
Khi mt ngt ang c thc hin, cc ngt khc s b cm B x l s b qua cc ngt tip theo trong khi ang x l mt ngt Cc ngt vn ang i v c kim tra sau khi ngt u tin c x l xong Cc ngt c thc hin tun t
195
196
Cc ngt c nh ngha mc u tin khc nhau Ngt c mc u tin thp hn c th b ngt bi ngt u tin cao hn ngt xy ra lng nhau
197
X l ngt u tin
198
Hot ng vo-ra
L hot ng trao i d liu gia thit b ngoi vi vi bn trong my tnh. Cc kiu hot ng vo-ra:
CPU trao i d liu vi m-un vo-ra M-un vo-ra trao i d liu trc tip vi b nh chnh
199
200
S khi
201
S khi (tip)
Hp my tnh (Case):
Cc loi a: a cng, a mm, a quang, ... Cc cng vo-ra B ngun v qut Mn hnh (monitor), bn phm (keyboard), chut (mouse), loa (speaker), my in (printer), my qut nh (scanner), modem, ...
202
Hp my tnh (Case)
203
Cc loi a
204
Cc cng vo-ra
205
B ngun v qut
206
207
B vi x l
208
B nh h thng
209
Cc khe cm m rng
210
Cc thit b ngoi vi c bn
211
212
213
214
3.2. B x l trung tm
215
216
1. n v iu khin (CU)
Chc nng:
iu khin nhn lnh t b nh a vo thanh ghi lnh v tng ni dung ca PC tr sang lnh k tip. Gii m lnh nm trong thanh ghi lnh xc nh thao tc cn thc hin v pht ra tn hiu iu khin thc hin lnh . Nhn tn hiu yu cu t bus h thng v p ng vi cc yu cu .
217
n v iu khin (tip)
M hnh kt ni ca n v iu khin:
Thanh ghi lnh
Cc c
n v iu khin
n v iu khin (tip)
Cc tn hiu a n n v iu khin:
M lnh t thanh ghi lnh a n gii m Cc c t thanh ghi c cho bit trng thi ca CPU Xung clock t b to xung bn ngoi cung cp cho n v iu khin lm vic Cc tn hiu yu cu t bus iu khin
219
n v iu khin (tip)
Cc tn hiu pht ra t n v iu khin:
220
2. n v s hc v logic (ALU)
Chc nng: Thc hin cc php ton s hc v cc php ton logic.
S hc: cng, tr, nhn, chia, tng, gim, o du, Logic: AND, OR, XOR, NOT, cc php dch v quay bit
221
n v s hc v logic (tip)
M hnh kt ni ca ALU:
222
223
L tp hp cc thanh ghi nm trong CPU Cha cc thng tin tm thi phc v cho hot ng hin ti ca CPU.
224
Cc thanh ghi khng lp trnh c: ngi lp trnh khng can thip c Cc thanh ghi lp trnh c: ngi lp trnh can thip c Thanh ghi a ch: qun l a ch ca ngn nh hay cng vo-ra Thanh ghi d liu: cha cc d liu tm thi hoc kt qu trung gian phc v cho vic x l d liu ca CPU Thanh ghi iu khin v trng thi: cha cc thng tin iu khin v trng thi ca CPU Thanh ghi lnh: cha lnh ang c thc hin Thanh ghi a nng: c th cha a ch hoc d liu
225
B m chng trnh (Program Counter PC) Con tr d liu (Data Pointer DP) Con tr ngn xp (Stack Pointer SP) Thanh ghi c s v thanh ghi ch s (Base Register & Index Register)
226
Cc vng nh c bn ca CT
Chng trnh ang thc hin phi nm trong b nh chnh v n chim 3 vng nh c bn sau:
Vng nh lnh (Code): cha cc lnh ca chng trnh. Vng d liu (Data): cha d liu ca chng trnh. Thc cht y l ni cp pht cc ngn nh cho cc bin nh. Vng ngn xp (Stack): l vng nh c cu trc LIFO (Last In First Out) dng ct gi thng tin v sau c th khi phc li. Thng dng cho vic thc hin cc chng trnh con.
227
228
Minh ha hot ng ca PC
229
230
Minh ha hot ng ca DP
231
Ni dung ca SP t ng gim Thng tin c ct vo bt u t ngn nh tr bi SP Thng tin c ly ra bt u t ngn nh tr bi SP Ni dung ca SP t ng tng
Minh ha hot ng ca SP
Ngn xp (Stack)
Ngn xp (Stack)
nh Stack c SP nh Stack mi SP
nh Stack mi nh Stack c
y Stack
y Stack
233
234
B nh chnh
Thanh ghi c s
Ngn nh c s
Thanh ghi ch s
Ngn nh cn truy cp
235
236
Cc c php ton: biu th trng thi ca kt qu php ton Cc c iu khin: iu khin ch lm vic ca CPU
237
V d c php ton
C Zero (ZF - c rng): c thit lp ln 1 khi kt qu ca php ton va thc hin xong bng 0. C Sign (SF - c du): c thit lp ln 1 khi kt qu ca php ton va thc hin nh hn 0, hay ni cch khc, c Sign nhn gi tr bng bit du ca kt qu. C Carry (CF - c nh): c thit lp ln 1 nu php ton xy ra hin tng carry-out. C Overflow (OF - c trn): c thit lp ln 1 nu php ton xy ra hin tng overflow.
238
V d c iu khin
C Interrupt (IF - c cho php ngt):
Nu IF = 1 th CPU trng thi cho php ngt vi tn hiu yu cu ngt t bn ngoi gi ti. Nu IF = 0 th CPU trng thi cm ngt vi tn hiu yu cu ngt t bn ngoi.
239
Bi tp
Gi s c cc bin nh a, b, c, d, e, f thuc kiu s nguyn c du 8 bit. Cc bin a, b c gn gi tr nh sau: a:=-58 b:=72 Hy biu din cc php tnh sau y di dng s nh phn v cho bit kt qu dng thp phn cng vi gi tr ca cc c ZF, SF, CF, OF tng ng. c:=a-b d:=a+b e:=b-a f:=-a-b
240
B x l trung tm
241
3.2.2. Tp lnh
1. Gii thiu chung v tp lnh 2. Cc kiu thao tc in hnh 3. Cc phng php a ch ha ton hng
242
243
M thao tc (Operation Code - Opcode): m ha cho thao tc m CPU phi thc hin. Tham chiu ton hng: m ha cho ton hng hoc ni cha ton hng m thao tc s tc ng.
Ton hng ngun (Source Operand): d liu vo ca thao tc (CPU s c) Ton hng ch (Destination Operand): d liu ra ca thao tc (CPU s ghi)
244
2 ton hng ngun, 1 ton hng ch VD: c = a + b T lnh di v phi m ha a ch cho c 3 ton hng Thng c s dng trn cc b x l tin tin 1 ton hng l ton hng ngun, ton hng cn li va l ngun va l ch. VD: a = a + b Gi tr c ca 1 ton hng ngun s b ghi bng KQ Rt gn di t lnh Thng c dng ph bin
245
Ch c 1 ton hng c ch ra trong lnh Ton hng cn li c ngm nh, thng l thanh ghi (VD: thanh cha Accumulator) Thng c s dng trn cc b x l th h c Cc ton hng u c ngm nh S dng Stack VD: lnh c = a + b
push push add pop a b c
246
247
Copy d liu t ngun n ch Copy d liu t b nh n b x l Copy d liu t b x l n b nh Tro i ni dung ca ngun v ch Chuyn cc bit 0 vo ton hng ch Chuyn cc bit 1 vo ton hng ch Copy d liu t ngun n nh ngn xp Copy d liu t nh ngn xp n ch
248
Cc lnh s hc
Tnh tng hai ton hng Tnh hiu hai ton hng Tnh tch hai ton hng Tnh thng hai ton hng Thay ton hng bng tr tuyt i ca n i du ton hng (ly b 2) Cng 1 vo ton hng Tr ton hng i 1 So snh hai ton hng lp c
249
Cc lnh logic
Thc hin php AND hai ton hng Thc hin php OR hai ton hng Thc hin php XOR hai ton hng o bit ca ton hng (ly b 1) Thc hin php AND hai ton hng lp c Dch tri (phi) ton hng Quay tri (phi) ton hng Chuyn i d liu t dng ny sang dng khc
250
(R1) OR (R2)
Php ton OR c th c dng thit lp mt s bit v gi nguyn cc bit cn li ca ton hng. Php ton XOR c th c dng o mt s bit v gi nguyn cc bit cn li ca ton hng.
NOT (R1)
252
IN OUT
253
Nhy (r nhnh) khng iu kin; np vo PC mt a ch xc nh Kim tra iu kin xc nh, hoc np vo PC mt a ch xc nh hoc khng khng lm g c Ct ni dung PC vo ngn xp, np vo PC a ch xc nh nhy n thc hin chng trnh con Khi phc ni dung PC t nh ngn xp tr v chng trnh chnh
254
255
Nu iu kin ng chuyn ti thc hin lnh v tr c a ch XXX PC XXX Nu iu kin sai chuyn sang thc hin lnh_k_tip
iu kin thng c kim tra thng qua cc c. C nhiu lnh r nhnh c iu kin.
256
lnh lnh lnh_r_nhnh_k XXX lnh_k_tip lnh lnh ... XXX lnh lnh lnh
257
Ct ni dung PC (cha a ch ca lnh_k_tip) vo Stack Np vo PC a ch ca lnh u tin ca chng trnh con c gi B x l chuyn sang thc hin chng trnh con tng ng Ly a ch ca lnh_k_tip c ct Stack np tr li cho PC B x l c iu khin quay tr v thc hin tip lnh nm sau lnh CALL
258
lnh lnh CALL lnh lnh ... CTCon lnh u tin ca CTCon lnh lnh ... RETURN CTCon lnh_k_tip
259
HALT WAIT
Dng thc hin chng trnh Dng thc hin chng trnh, lp kim tra iu kin cho n khi tho mn th tip tc thc hin Khng thc hin g c Cm khng cho xin chuyn nhng bus Cho php xin chuyn nhng bus
260
Phng php a ch ha ton hng l cch thc ch ra ni cha cc ton hng m thao tc s tc ng. Ton hng c th l:
Hng s cn cho bit gi tr ca hng s Ni dung ca mt thanh ghi bn trong CPU cn cho bit tn ca thanh ghi Ni dung ca mt ngn nh cn cho bit a ch ngn nh Ni dung ca mt cng vo-ra cn cho bit a ch ca cng vo-ra
261
Cc ch a ch thng dng
Ch a ch tc th Ch a ch thanh ghi Ch a ch trc tip Ch a ch gin tip qua thanh ghi Ch a ch dch chuyn
262
Ch a ch tc th
Immediate Addressing Mode Ton hng l mt hng s ngay trong lnh V d: ADD AX, 5 ; AX AX + 5 Truy nhp ton hng rt nhanh
263
Ch a ch thanh ghi
Register Addressing Mode Ton hng l ni dung ca mt thanh ghi m tn thanh ghi c cho bit trong lnh. V d: MOV AX, BX ; AX BX Tc truy cp nhanh hn so vi nhng lnh c truy cp n b nh.
264
Ch a ch trc tip
Direct Addressing Mode Ton hng l ni dung ca mt ngn nh m a ch ngn nh c cho trc tip trong lnh. V d: MOV AL, [1000] ; AL ni dung byte nh c a ch l 1000
265
Register Indirect Addressing Mode V d: MOV AL, [BX] ; AL ni dung ca byte nh c a ch bng gi tr ca thanh ghi BX
266
Ch a ch dch chuyn
Displacement Addressing Mode Trng a ch cha 2 thnh phn:
267
268
Thanh ghi l PC VD: cc lnh chuyn iu khin Thanh ghi l thanh ghi c s (cha a ch c s) Hng s l ch s Thanh ghi l thanh ghi ch s (cha ch s) Hng s l a ch c s
nh a ch c s:
nh a ch ch s:
269
3.2. B x l trung tm
270
271
Nhn lnh Gii m lnh Nhn ton hng Thc hin lnh Ct ton hng Ngt
272
273
Nhn lnh
CPU a a ch ca lnh cn nhn t thanh ghi b m chng trnh PC ra bus a ch CPU pht tn hiu iu khin c b nh Lnh t b nh c t ln bus d liu v c CPU copy vo trong thanh ghi lnh IR CPU tng ni dung ca PC tr sang lnh k tip
274
CPU PC
n v iu khin
B nh
IR
Bus a ch
275
Gii m lnh
Lnh t thanh ghi lnh IR c a n n v iu khin n v iu khin tin hnh gii m lnh xc nh thao tc cn phi thc hin
276
277
278
CPU MAR
n v iu khin
B nh
MBR
MAR (Memory Address Register) : Thanh ghi a ch b nh MBR (Memory Buffer Register): Thanh ghi m b nh
Bus a ch
279
c/ghi b nh Vo-ra d liu Chuyn d liu gia cc thanh ghi Thc hin php ton s hc hoc logic Chuyn iu khin (r nhnh)
280
281
CPU MAR
n v iu khin
B nh
MBR
Bus a ch
282
Ngt
CPU lu li gi tr hin ti ca PC (l a ch tr v sau khi hon thnh ngt) thng lu vo Stack:
CPU a ni dung ca PC ra bus d liu CPU a a ch (thng c xc nh t con tr ngn xp SP) ra bus a ch CPU pht tn hiu iu khin ghi b nh a ch tr v (ni dung ca PC) trn bus d liu c lu vo ngn nh tng ng ngn xp
CPU np vo PC a ch lnh u tin ca chng trnh con phc v ngt tng ng:
CPU xc nh a ch ca vector ngt tng ng CPU pht a ch ny ra bus a ch CPU pht tn hiu iu khin c b nh Gi tr ca vector ngt (a ch lnh u tin ca CTC phc v ngt) c chuyn ra bus d liu Gi tr ny c np vo trong PC
283
2. ng ng lnh
Nguyn tc ca Pipeline: chia chu trnh lnh thnh cc cng on v cho php thc hin gi ln nhau theo kiu dy chuyn. Gi s chu trnh lnh gm 6 cng on vi thi gian thc hin nh nhau (T):
Nhn lnh (Fetch Instruction FI) Gii m lnh (Decode Instruction DI) Tnh /ch ton hng (Calculate Operand Address CO) Nhn ton hng (Fetch Operands FO) Thc hin lnh (Execute Instruction EI) Ghi ton hng (Write Operands WO)
284
2 DI FI
3 CO DI FI
4 FO CO DI FI
5 EI FO CO DI FI
6 WO EI FO CO DI FI
10
11
12
WO EI FO CO DI WO EI FO CO WO EI FO WO EI WO
285
Cc xung t ca ng ng lnh
Xung t cu trc: do nhiu cng on dng chung mt ti nguyn Xung t d liu: lnh sau s dng kt qu ca lnh trc Xung t iu khin: do r nhnh gy ra
286
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
287
288
289
Cc n v x l
Cc n v s nguyn Cc n v s du phy ng Cc n v chc nng c bit
290
B nh cache
c tch hp trn chip vi x l Bao gm hai mc cache
291
n v qun l b nh
Chuyn i a ch o thnh a ch vy l Cung cp c ch phn trang, phn on Cung cp ch bo v b nh
292
Cc kin trc song song mc lnh Siu ng ng (Superpipeline & HyperPipeline) Siu v hng (Superscalar) VLIW (Very long instruction word)
293
Superpipeline
294
Superscalar
295
296
My tnh vi tp lnh phc tp Cc b x l truyn thng: x86, 6800 My tnh c tp lnh rt gn V d: kin trc vi x l ARM, MIPS
297
Cc c trng ca RISC
S lng lnh t Hu ht cc lnh truy xut ton hng thanh ghi Truy cp b nh bng cc lnh load/store C gng t c thit k ti u m bo thi gian thc hin mt lnh l u nhau v bng mt chu k my Cc lnh c di c nh (VD: kin trc ARM,MIPS, mi lnh u c di l 32 bit) CPU c tp thanh ghi ln C t ch a ch hn CISC c thit k kiu pipeline lnh 298
299
1. Cc c trng ca h thng nh
V tr:
Bn trong CPU: tp thanh ghi B nh trong: b nh chnh v cache B nh ngoi: cc thit b nh di t nh (tnh bng bit) S lng t nh Theo tng t nh Theo tng khi (block) nh Truy cp tun t (bng t) Truy cp trc tip (cc loi a) Truy cp ngu nhin (b nh bn dn) Truy cp lin kt (cache)
300
Dung lng:
n v truyn:
Cc c trng ca h thng nh
Hiu nng:
Thi gian truy cp Chu k nh Tc truyn B nh bn dn B nh t B nh quang Kh bin (mt in th mt thng tin) / Khng kh bin Xa c / Khng xa c
Kiu vt l:
Cc c tnh vt l:
T chc
301
2. Phn cp h thng nh ca MT
B vi x l CPU B nh Cache L1
Tp thanh ghi
B nh Cache L2
B nh chnh
B nh ngoi
B nh mng
L thnh phn nh nm trong CPU, c coi l mc nh u tin Cha cc thng tin phc v cho hot ng thi im hin ti ca CPU B nh c tc nhanh c t gia CPU v b nh chnh nhm tng tc truy cp b nh ca CPU. Thng c chia thnh mt vi mc (L1, L2) Cha cc chng trnh v d liu ang c s dng. Cha cc ti nguyn phn mm ca my tnh.
B nh m nhanh (Cache):
303
T d liu cn ghi vo b nh: m bit To ra thm t m: k bit -> Lu tr (m+k) bit Khng pht hin thy d liu li Pht hin thy d liu li v c th hiu chnh li Pht hin thy li nhng khng c kh nng hiu chnh -> cn pht ra tn hiu bo li
304
305
M sa li Hamming
306
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
307
3.3.2. B nh bn dn
308
1. Phn loi
Gm 2 loi chnh: ROM v RAM ROM (Read Only Memory): b nh ch c c im:
B nh ch yu dng c thng tin B nh khng kh bin Cha cc chng trnh v d liu c nh vi h thng
309
ROM (tip)
Cc loi b nh ROM:
Maskable ROM (ROM mt n): thng tin c ghi khi ch to PROM (Programmable ROM):
Khi ch to cha c thng tin Cho php ghi thng tin c 1 ln bng thit b chuyn dng
311
RAM (tip)
Cc loi b nh RAM:
2. M hnh c bn ca chip nh
T nh 0
A0 A1 A2 . . An-1 B gii m a ch . . .
T nh 1 T nh 2
D0 . . B m d liu D1 . . Dm-1
Ma trn nh 2n x m bit
T nh 2n-1
iu khin c/ghi
CS
WE
OE
313
CS (Chip Select): tn hiu iu khin chn chip nh lm vic OE (Output Enable): tn hiu iu khin c d liu ca 1 t nh c xc nh. WE (Write Enable): tn hiu iu khin ghi d liu vo 1 t nh c xc nh.
314
Hot ng ca chip nh
Hot ng c:
Cc bit a ch c a n cc chn a ch. Tn hiu iu khin chn chip nh lm vic c a n CS Tn hiu iu khin c a n OE D liu t ngn nh tng ng vi a ch c s c a ra cc chn d liu.
315
Cc bit a ch c a n cc chn a ch D liu cn ghi c a n cc chn d liu Tn hiu iu khin chn chip c a n CS Tn hiu iu khin ghi c a n WE D liu t cc chn d liu s c ghi vo ngn nh tng ng.
316
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
317
3.3.3. B nh chnh
318
1. Cc c trng ca b nh chnh
L thnh phn nh tn ti trn mi h thng my tnh Cha cc chng trnh ang c thc hin v cc d liu ang c s dng Bao gm cc ngn nh c nh a ch trc tip bi CPU Dung lng vt l ca b nh chnh khng gian a ch b nh m CPU qun l Vic qun l logic b nh chnh ty thuc vo h iu hnh
319
2. T chc b nh an xen
rng ca bus d liu trao i vi b nh chnh M = 8, 16, 32, 64, 128 bit Cc ngn nh c t chc theo tng Byte nh T chc b nh chnh khc nhau
320
M = 8 bit
VD: Intel 8088 BN chnh l 1 bng (bank) nh tuyn tnh
321
BE1
BE 0
BE1
D15 D8 Bus d liu 16 bit D7 D0
BE 0
322
323
324
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
325
3.3.4. B nh cache
1. 2. 3. 4. 5. Nguyn tc chung ca cache Cc phng php nh x Thut gii thay th Phng php ghi d liu khi cache hit Cache trn cc b x l Intel
326
327
328
329
B nh chnh c 2N byte nh B nh chnh v cache c chia thnh cc khi c kch thc bng nhau
B nh chnh: B0, B1, B2, ... , Bp-1 (p Blocks) B nh cache: L0, L1, L2, ... , Lm-1 (m Lines) Kch thc ca Block = 8,16,32,64,128 byte
330
Mt s Block ca b nh chnh c np vo cc Line ca cache. Ni dung Tag (th nh) cho bit Block no ca b nh chnh hin ang c cha Line . Khi CPU truy nhp (c/ghi) mt t nh, c hai kh nng xy ra:
331
2. Cc phng php nh x
nh x trc tip (Direct mapping) nh x lin kt ton phn (Fully associative mapping) nh x lin kt tp hp (Set associative mapping)
332
nh x trc tip
Mi Block ca b nh chnh ch c th c np vo mt Line ca cache:
Tng qut
334
c im ca nh x trc tip
Mi mt a ch N bit ca b nh chnh gm ba trng:
Trng Word gm W bit xc nh mt t nh trong Block hay Line: 2W = kch thc ca Block hay Line Trng Line gm L bit xc nh mt trong s cc Line trong cache: 2L = s Line trong cache = m Trng Tag gm T bit: T = N - (W+L)
Trng Word ging nh trng hp trn. Trng Tag dng xc nh Block ca b nh chnh.
336
337
So snh ng thi vi tt c cc Tag mt nhiu thi gian Xc sut cache hit cao. B so snh phc tp.
338
nh x lin kt tp hp
Cache c chia thnh cc Tp (Set) Mi mt Set cha mt s Line V d:
339
Minh ha nh x lin kt tp hp
340
c im ca nh x lin kt tp hp
Kch thc Block = 2w Word Trng Set c S bit dng xc nh mt trong s V = 2S Set Trng Tag c T bit: T = N - (W+S) Tng qut cho c hai phng php trn Thng thng 2,4,8,16Lines/Set
341
342
c thc hin bng phn cng (nhanh) Random: Thay th ngu nhin FIFO (First In First Out): Thay th Block no nm lu nht trong Set LFU (Least Frequently Used): Thay th Block no trong Set c s ln truy nhp t nht trong cng mt khong thi gian LRU (Least Recently Used): Thay th Block trong Set tng ng c thi gian lu nht khng c tham chiu ti. Ti u nht: LRU
343
ghi c cache v c b nh chnh tc chm ch ghi ra cache tc nhanh khi Block trong cache b thay th cn phi ghi tr c Block v b nh chnh
344
cache L2
256KB Kch thc Line = 128 byte nh x lin kt tp hp 8 ng
345
3.3.5. B nh ngoi
1. 2. 3. 4. 5.
346
1. a t
Cc c tnh ca a t:
Gm 2 loi ph bin:
a mm a cng
347
a cng
348
a cng
Mt hoc nhiu a Thng dng Dung lng tng nhanh Tc c/ghi nhanh Tng i r tin
349
a cng (tip)
350
RAID
Redundant Array of Inexpensive Disks Redundant Array of Independent Disks H thng nh dung lng ln
351
c im ca RAID
Tp cc cng vt l c h iu hnh xem nh mt logic duy nht -> dung lng ln D liu c lu tr phn tn trn cc a vt l -> truy cp song song (nhanh) C th s dng dung lng d tha lu tr cc thng tin kim tra chn l, cho php khi phc thng tin -> an ton thng tin C 7 loi RAID ph bin
352
a mm
8, 5.25, 3.5 Dung lng nh ( 1.44MB) Tc chm Thng dng R tin Tng lai c th khng dng na
353
a mm (tip)
354
2. a quang
Cc loi chnh:
CD-ROM (Compact Disk Read Only Memory) CD-R (Recordable CD) CD-RW (Rewriteable CD) DVD (Digital Video Disk)
355
a. CD-ROM
Thng tin c ghi ngay khi sn xut a. D liu tn ti di dng cc mt phng (land) v cc l (pit).
Bit 1 tng ng vi s thay i t mt phng thnh l hay ngc li; cn nhng l hay mt phng ko di (khng c s thay i) tng ng vi bit 0.
CD-ROM (tip)
357
b. CD-R
Khi sn xut ra, cc a ny u l a trng (cha c thng tin). Sau c th ghi d liu ln a ny nhng ch ghi c mt ln nh ghi CD-R ring. CD-R c cu trc v hot ng tng t nh CDROM.
Cu to gm nhiu lp, trong lp cha d liu l mt lp mu polymer hu c. Khi b tia laser t chy, lp mu ny chuyn sang mu en v ng vai tr nh cc l (pit) ca CD-ROM.
Cc a CD-R sau khi ghi c th c c t CD-ROM hoc t CD-R. Cc a CD-R cn c gi l WORM (write one read multiple).
358
c. CD-RW
CD-RW c cu trc v hot ng tng t nh CD-R. Trong lp cha d liu l mt lp kim loi. Nguyn tc ghi d liu da trn s thay i trng thi ca lp kim loi:
trng thi tinh th (phn x nh sng - mt phng) v trng thi v nh hnh (khng phn x nh sng vng l trong CD-ROM hay mu b t en trong CD-R).
Qu trnh thay i trng thi ny c th thay i bt k ty theo cng sut laser nn a CD-RW c th c ghi ri xa i ghi li nhiu ln.
359
d. DVD
y l loi a quang c dung lng ln v c tc nhanh hn so vi cc a quang trn. a DVD c th lu tr thng tin trn hai mt, mi mt c th c n 2 lp d liu. Cc a DVD hin nay thng c dung lng l 4.7GB/mt hoc 9.4GB/mt. Tc truy nhp c bn ca a DVD l 1.321MByte/s. DVD cng c nhiu loi
360
3. Flash disk
Thc cht l b nh bn dn tc cao (flash memory) Thng c kt ni vi my tnh thng qua giao tip USB Dung lng tng nhanh Thun tin, gi thnh hp l
361
362
4. Cc chun ni ghp a
Giao din IDE-ATA (Integrated Drive Electronics AT Attachment):
c IBM thit k ni trc tip cng km mch iu khin vi Bus ca my tnh AT gi l giao din ATA. Sau giao din ny c kt hp vi a v b iu khin trong cc a giao din IDE/ATA. Giao din IDE (mch in t tch hp trong a) ch bt c a no c tch hp b iu khin a gn bn trong.
Cp IDE chun: gm 40 dy, tn hiu truyn song song trn c dy chn v dy l nn di ca cp b hn ch 46 cm. Gii hn dung lng a ti a l 504MB v c tc tng i chm.
363
364
Do mt s cty ln a ra vo nm 1999 Giao tip Serial Advanced Technology Attachment (Serial ATA) cho cng v thit b ATA Packet Interface (ATAPI) So vi Parallel ATA, Serial ATA dng in p thp, u chn cm nh gn v t dy hn. Serial ATA tng thch hon ton vi phn mm trc y dnh cho thit b Parallel ATA v ATAPI. Th h sn phm Serial ATA u tin xut hin trn th trng vo gia 2002, t tc 150MBps. Trong tng lai, cc phin bn k tip c th t bng thng 300MBps v 600MBps.
365
Dng kt ni nhiu loi thit b c tc trao i d liu cao trong mt my tnh, thng c dng trong cc my ch. Mt bus SCSI h tr ti a 7 hoc 15 thit b C nhiu chun SCSI:
SCSI-1 (1986): truyn d liu trn bus song song 8 bit, tc 5 MB/s, dng cp 50 dy. SCSI-2 (1994): truyn d liu trn bus song song 16 bit, tc 10 MB/s, dng cp 50 dy mt cao. SCSI-3: c thit k cho cc my tnh i mi hin nay, gm 2 phin bn: Ultra 2 SCSI (tc truyn ti 40 MB/s) v Ultra 3 SCSI (tc truyn ti 80 MB/s hoc 160 MB/s)
366
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
367
3.3.6. B nh o
Khi nim b nh o: l b nh bao gm b nh chnh v b nh ngoi m c CPU coi nh l mt b nh duy nht. Cc k thut thc hin b nh o:
K thut phn trang: Chia khng gian a ch b nh thnh cc trang nh c kch thc bng nhau v nm lin k nhau Thng dng: kch thc trang = 4KBytes K thut phn on: Chia khng gian nh thnh cc on nh c kch thc thay i, cc on nh c th gi ln nhau.
368
3.3. B nh my tnh
3.3.1. Tng quan h thng nh 3.3.2. B nh bn dn 3.3.3. B nh chnh 3.3.4. B nh cache 3.3.5. B nh ngoi 3.3.6. B nh o 3.3.7. B nh trn my tnh c nhn
369
3.3.7. B nh trn my tnh c nhn 1. 2. 3. 4. 5. 6. B nh Cache RAM ROM BIOS CMOS RAM Video RAM Cc loi b nh ngoi
370
1. B nh Cache
Thng c chia thnh nhiu mc:
Cache L1:
Cache lnh Cache d liu
371
2. RAM
S dng DRAM, thng c coi l b nh chnh. Cc loi b nh RAM:
FPM (Fast Page Mode) DRAM EDO (Extended Data Out) DRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) RDRAM (Rambus DRAM) My tnh Desktop:
SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) RIMM (Rambus Inline Memory Module)
My tnh Laptop:
SODIMM (Small Outline Dual Inline Memory Module) MicroDIMM (Micro Dual Inline Memory Module)
372
a. Cc loi b nh RAM
FPM DRAM (Fast Page Mode DRAM)
Khi truy cp b nh: a ch hng khng i, ch thay i a ch ct. Ch truy cp burst mode (t 486) cho php sau khi thit lp cc a ch hng, ct cho 1 ln truy cp, CPU c th truy cp thm 3 a ch tip m khng c trng thi ch. Ch burst mode ca DRAM chun c m t di dng cc thng s x-y-y-y. VD: FPM DRAM 60ns c thng s nh thi ca ch burst mode l 5-3-3-3. Vi bus h thng 66MHz th mt 5x15=75ns cho ln truy cp u v 3x15=45ns cho mi ln trong s 3 ln truy cp tip theo (nhanh hn 5-5-5-5).
373
S dng ch yu t 1995 1997. L dng ci tin ca FPM DRAM: cc b iu khin d liu ra khng b tt khi b iu khin b nh xa a ch ct cho chu k tip theo => cho php chu k tip theo gi ln chu k trc (tit kim khong 10ns cho 1 chu k). Gi thnh ngang vi FPM nhng hiu nng cao hn. VD: burst mode ca EDO l 5-2-2-2 (cn 11 chu k cho 4 ln truyn) so vi 5-3-3-3 ca FPM (truyn 4 ln trong 14 chu k).
374
S dng t 1997, ch yu cho cc my tnh PII, PIII. Chy ng b vi bus b nh (66, 100, 133 MHz). Thi gian xc nh a ch vn nh c nhng tng thi gian nhanh hn so vi FPM v EDO DRAM. VD: SDRAM : 5-1-1-1 (cn 8 chu k cho 4 ln truyn), nhanh hn 11 v 14 chu k ca EDO v FPM.
375
Xut hin t nm 2000. L dng ci tin ca SDRAM, cho php truyn d liu 2 ln c sn dng v sn m ca 1 chu k. Xut hin t nm 2004. L dng ci tin ca DDR SDRAM: s dng cp dy tn hiu vi sai cho php truyn nhanh v t nhiu hn. S dng in p thp hn DDR SDRAM (1.8V so vi 2.5V).
DDR2 SDRAM:
376
377
378
L loi RAM tc cao, c sn xut theo cng ngh ca hng Rambus. Xut hin ch yu t 1999 n 2002 (sau 2001 Intel khng cn h tr cng ngh ny).
379
380
DIP (Dual Inline Package) SIPP (Single Inline Pin Package) SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) RIMM (Rambus Inline Memory Module) SODIMM (Small Outline Dual Inline Memory Module) MicroDIMM (Micro Dual Inline Memory Module)
381
My tnh Desktop:
My tnh Laptop:
DIP v SIPP
Thng l dng ng gi ca cc module nh FPM DRAM. Dng trong cc my tnh tng ng vi h 80286 tr v trc.
382
SIMM
Module nh n hng chn, gm 2 loi chnh:
SIMM 32 chn (8 bit d liu + 1 bit parity) : FPM DRAM SIMM 72 chn (32 bit d liu + 4 bit parity ty chn) : EDO DRAM
383
DIMM
Module nh hai hng chn, gm 3 loi chnh:
DIMM 168 chn: SDRAM DIMM 184 chn: DDR SDRAM DIMM 240 chn: DDR2 SDRAM
384
385
RIMM
Module nh 2 hng chn (184 chn), l dng ng gi ca loi b nh RDRAM.
386
SODIMM
Thng dng trong cc my laptop, notebook, printer, router, ... Gm 4 loi chnh:
SODIMM 72 chn, 32 bit d liu, FPM/EDO SODIMM 144 chn, 64 bit d liu, FPM/EDO SODIMM 144 chn, 64 bit d liu, SDRAM SODIMM 200 chn, 64 bit d liu, DDR/DDR2 SDRAM
387
Cc module nh SODIMM
388
MicroDIMM
Thng dng trong cc my notebook c nh, PDA, palmtop, ... Gm 2 loi chnh:
MicroDIMM 144 chn, 64 bit d liu, SDRAM MicroDIMM 172 chn, 64 bit d liu, DDR SDRAM
389
Cc module nh MicroDIMM
390
3. ROM BIOS
BIOS: Basic Input Output System. Cha cc chng trnh: Chng trnh POST (Power On Self Test): t kim tra khi bt ngun. Mi li thng bo y u l li v phn cng. Chng trnh CMOS Setup:
Cho php ngi s dng c th thit lp cc thng s cu hnh v thi gian ca h thng. Cc thng tin sau khi thit lp s c ct vo b nh CMOS RAM.
Chng trnh Bootstrap Loader: tm v np Boot Record ca a khi ng vo mt a ch xc nh trong RAM v trao quyn iu khin cho on m . Cc chng trnh iu khin vo-ra c bn: tp hp cc chng trnh con phc v vo-ra.
391
4. CMOS RAM
L mt vng nh c dung lng nh, c ch to bng cng ngh CMOS, c mt ngun pin nui ring, dng cha cc thng tin cu hnh v thi gian ca h thng.
392
5. Video RAM
Vng nh c tc nhanh, dung lng ln, dng qun l cc thng tin hin th trn mn hnh.
393
6. Cc loi b nh ngoi
a mm a cng Cc loi a quang Flash disk
394
3.4. H thng vo ra
3.4.1. Tng quan v h thng vo-ra 3.4.2. Cc phng php iu khin vo-ra 3.4.3. Ni ghp vi thit b ngoi vi 3.4.4. Cc cng vo-ra thng dng trn PC
395
1. 2. 3. 4.
Gii thiu chung Cc thit b ngoi vi Module ni ghp vo-ra Cc phng php a ch ha cng vo-ra
396
397
2. Cc thit b ngoi vi
Chc nng: Chuyn i thng tin t mt dng vt l no v dng d liu ph hp vi my tnh hoc ngc li. Phn loi:
Cc thit b thu nhn d liu: nh bn phm, chut, my qut nh, .. Cc thit b hin th d liu: mn hnh, my in, ... Cc thit b lu tr: a mm, a cng, a quang CD, DVD, ... Cc thit b truyn thng: modem, card mng, ...
398
399
400
3. Module vo-ra
c im ca vo-ra:
Tt c cc thit b ngoi vi u chm hn CPU v RAM Cn c cc module vo-ra ni ghp cc thit b ngoi vi vi CPU v b nh chnh.
401
iu khin v nh thi Trao i thng tin vi CPU Trao i thng tin vi thit b ngoi vi m gia bn trong my tnh vi thit b ngoi vi Pht hin li ca thit b ngoi vi
402
403
404
4. a ch ha cng vo-ra
Cc thit b ngoi vi c ni ghp v trao i d liu thng qua cc cng vo-ra. Mi cng vo-ra phi c 1 a ch xc nh cn phi c cc phng php a ch ha cho cng vo-ra.
405
Mt s CPU c kh nng qun l thm 1 khng gian a ch vo ra ring bit vi khng gian a ch b nh.
KGC vo-ra = 2N1 byte (N1 : s bit a ch dng qun l khng gian a ch vo-ra, 2N1 << 2N) CPU phi c tn hiu phn bit khng gian a ch b nh v khng gian a ch vo-ra. CPU phi c cc lnh vo-ra chuyn dng.
406
V d
BXL 68030 ca Motorola ch qun l 1 KGC b nh l 232 byte. BXL Pentium ca Intel c kh nng qun l 2 KGC:
KGC b nh = 232 byte = 4GB KGC vo-ra = 216 byte = 64KB Tn hiu iu khin phn bit truy nhp khng gian a ch: IO/M C 2 lnh vo-ra chuyn dng: IN v OUT
Pentium c:
407
b. Cc pp a ch ha cng vo-ra
Vo ra ring bit (Isolated I/O):
Cng vo-ra c a ch ha theo khng gian a ch vo-ra ring bit. trao i d liu vi cng, trong chng trnh s dng cc lnh vo-ra chuyn dng. Cng vo-ra c a ch ha theo khng gian a ch b nh. trao i d liu vi cng, trong chng trnh s dng cc lnh trao i d liu vi b nh.
408
3.4. H thng vo ra
3.4.1. Tng quan v h thng vo-ra 3.4.2. Cc phng php iu khin vo-ra 3.4.3. Ni ghp vi thit b ngoi vi 3.4.4. Cc cng vo-ra thng dng trn PC
409
1. 2. 3. 4.
Vo-ra bng chng trnh Vo-ra iu khin bng ngt Truy cp trc tip b nh - DMA B x l vo-ra
410
Trong chng trnh ngi lp trnh ch ng vit cc lnh vo-ra. Khi thc hin cc lnh vo-ra , CPU trc tip iu khin vic trao i d liu vi cng vo-ra.
411
Lu thc hin
412
Hot ng
CPU yu cu thao tc vo-ra. Module vo-ra thc hin thao tc. Module vo-ra thit lp cc bit trng thi. CPU kim tra cc bit trng thi:
Nu cha sn sng th quay li tip tc kim tra. Nu sn sng th chuyn sang trao i d liu vi module vo-ra.
413
c im
Vo-ra do mun ca ngi lp trnh CPU trc tip iu khin vo-ra CPU phi i module vo-ra sn sng tiu tn thi gian ca CPU
414
CPU khng phi i trng thi sn sng ca module vo-ra. CPU ang thc hin mt chng trnh no , nu module vo-ra sn sng th n pht tn hiu yu cu ngt gi n CPU. Nu yu cu ngt c chp nhn th CPU thc hin chng trnh con vo-ra tng ng trao i d liu. Kt thc chng trnh con , CPU quay tr li tip tc thc hin chng trnh ang b ngt.
415
Hot ng
Hot ng vo d liu nhn t pha module vora:
Module vo-ra nhn tn hiu iu khin c t CPU. Module vo-ra nhn d liu t thit b ngoi vi, trong khi CPU lm vic khc. Khi c d liu, module vo-ra pht tn hiu ngt CPU. CPU yu cu d liu. Module vo-ra chuyn d liu n CPU.
416
Hot ng (tip)
Hot ng vo d liu nhn t pha CPU:
CPU pht tn hiu iu khin c. CPU lm vic khc. Cui mi chu trnh lnh, CPU kim tra tn hiu ngt. Nu b ngt, CPU:
Ct ng cnh hin ti ca chng trnh. Thc hin chng trnh con phc v ngt vo d liu. Sau khi hon thnh chng trnh con , CPU khi phc ng cnh v tr v tip tc thc hin chng trnh ang tm dng.
417
418
419
Mi module vo-ra c ni vi 1 ng yu cu ngt CPU phi c nhiu ng tn hiu yu cu ngt Hn ch s lng module vo-ra Cc ng yu cu ngt c quy nh mc u tin
420
CPU thc hin phn mm hi ln lt tng module vo-ra Tc chm Th t cc module vo-ra c hi vng chnh l th t u tin
421
422
PIC: Programmable Interrupt Controller. PIC c nhiu ng yu cu ngt c quy nh mc u tin. PIC chn mt yu cu ngt khng b cm c mc u tin cao nht gi n CPU.
424
. . .
Vector 31
Vector 32
Vector 254
Vector 255
425
CPU trc tip iu khin vo-ra. CPU khng phi i module vo-ra hiu sut s dng CPU tt hn.
426
Chim thi gian ca CPU Tc trao i d liu b hn ch v phi chuyn qua CPU Thm module phn cng l DMAC (Direct Memory Access Controller) DMAC iu khin trao i d liu gia module vo-ra vi b nh chnh.
427
Cu trc ca DMAC
Cc ng a ch
Cc ng d liu
Logic iu khin
428
429
Hot ng ca DMAC
CPU gi cho DMAC cc thng tin:
Chiu trao i d liu: vo hay ra d liu a ch thit b vo-ra (cng vo-ra tng ng) a ch u ca mng nh d liu np vo thanh ghi a ch S t d liu cn truyn np vo b m d liu
CPU lm vic khc DMAC iu khin trao i d liu Sau khi truyn c 1 t d liu:
Cc kiu DMA
DMA truyn theo khi (Block Transfer DMA): CPU trao quyn s dng bus cho DMAC trong mt khong thi gian ln DMAC thc hin trao i xong c khi d liu. DMA xen k chu k my vi CPU (Cycle Stealing DMA): DMAC v CPU thay nhau s dng bus trong tng chu k my. DMA trong sut (Transparent DMA): Trong qu trnh hot ng, khng phi chu k no CPU cng s dng bus h thng, DMAC s pht hin xem nhng chu k CPU khng dng bus chim dng bus trong chu k v iu khin trao i 1 t d liu khng lm nh hng n CPU.
431
432
DMAC iu khin mt hoc mt vi module vo-ra Mi ln truyn, DMAC s dng bus 1 ln:
Gia DMAC vi b nh
433
Bus vo-ra tch ri h tr tt c cc thit b cho php DMA Mi ln truyn, DMAC s dng bus 1 ln:
Gia DMAC vi b nh
434
c im ca DMA
CPU khng tham gia vo qu trnh trao i d liu DMAC iu khin trao i d liu gia b nh chnh vi module vo-ra hon ton bng phn cng tc nhanh. Thch hp vi cc yu cu trao i d liu kch thc ln.
435
4. B x l vo-ra
Vic iu khin vo-ra c thc hin bi mt b x l vo-ra chuyn dng. B x l vo-ra hot ng theo chng trnh ca ring n. Chng trnh ca b x l vo-ra c th nm trong b nh chnh hoc nm trong mt b nh ring. Hot ng theo kin trc a x l.
436
3.4. H thng vo ra
3.4.1. Tng quan v h thng vo-ra 3.4.2. Cc phng php iu khin vo-ra 3.4.3. Ni ghp vi thit b ngoi vi 3.4.4. Cc cng vo-ra thng dng trn PC
437
438
1. Cc kiu ni ghp
Ni ghp song song:
Bus h thng
TBNV
439
Truyn ln lt tng bit Cn c b truyn i qua li gia d liu song song v ni tip Tc chm hn Cn t ng dy truyn c xa hn
440
2. Cc cu hnh ni ghp
Cu hnh im ti im (Point to Point): thng qua mt cng vo-ra cho php ni ghp vi mt thit b ngoi vi.
Cu hnh im ti a im (Point to Multipoint): thng qua mt cng vo-ra cho php ni ghp vi nhiu thit b ngoi vi.
Chun ni ghp SCSI: cho php ni ghp ti 7 hoc 15 thit b Cng USB: ni ghp ti 127 thit b Cng IEEE 1394: ni ghp ti 63 thit b
441
3.4. H thng vo ra
3.4.1. Tng quan v h thng vo-ra 3.4.2. Cc phng php iu khin vo-ra 3.4.3. Ni ghp vi thit b ngoi vi 3.4.4. Cc cng vo-ra thng dng trn PC
442
3.4.4. Cc cng vo-ra thng dng Cc cng PS/2: ni ghp bn phm v chut Cc cng ni ghp mn hnh Cng LPT (Line Printer): thng ni ghp vi my in, l cng song song (Parallel Port) Cng COM (Communication): thng ni ghp vi MODEM, l cng ni tip (Serial Port) Cng USB (Universal Serial Bus): cng ni tip a nng
443
444
445
Ni dung chng 4
4.1. Phn loi kin trc my tnh 4.2. Mt s kin trc song song thng dng
446
SISD - single instruction stream, single data stream SIMD - Single Instruction Stream, Multiple Data Stream MISD - Multiple Instruction Stream, Single Data Stream MIMD - Multiple Instruction Stream, Multiple Data Stream
447
SISD
CU: Control Unit PU: Processing Unit MU: Memory Unit Mt b x l n dng lnh D liu c lu tr trong mt b nh Chnh l Kin trc von Neumann
448
SIMD
449
SIMD (tip)
n dng lnh iu khin ng thi cc phn t x l PE (processing elements) Mi phn t x l c mt b nh d liu ring LM (local memory) Mi lnh c thc hin trn mt tp cc d liu khc nhau Cc m hnh SIMD
450
MISD
Mt lung d liu cng c truyn n mt tp cc b x l Mi b x l thc hin mt dy lnh khc nhau. Khng tn ti my tnh thc t C th c trong tng lai
451
MIMD
Tp cc b x l Cc b x l ng thi thc hin cc dy lnh khc nhau trn cc d liu khc nhau Cc m hnh MIMD
o o
452
MIMD-Shared Memory
453
454
455
SMP
Mt my tnh c n >= 2 b x l ging nhau Cc b x l dng chung b nh v h thng vo-ra Thi gian truy cp b nh l bng nhau vi cc b x l Tt c cc b x l chia s truy nhp vo-ra Cc b x l c th thc hin chc nng ging nhau H thng c iu khin bi mt h iu hnh phn tn
456
u im ca SMP
Hiu nng: Cc cng vic c th thc hin song song Tnh sn dng: Cc b x l c th thc hin cc chc nng ging nhau, v vy li ca mt b x l s khng lm dng h thng Kh nng m rng o Ngi s dng c th tng hiu nng bng cch thm b x l
457
Cluster
Nhiu my tnh c kt ni vi nhau bng mng lin kt tc cao (~ Gbps) Mi my tnh c th lm vic c lp Mi my tnh c gi l mt node Cc my tnh c th c qun l lm vic song song theo nhm (cluster) Ton b h thng c th coi nh l mt my tnh song song
458
Cluster (tip)
D dng xy dng v m rng Tnh sn sng cao Kh nng chu li Gi thnh r vi hiu nng cao
459
Cluster of PCs
460
Cluster of SMP
461