cẤu trÚc mÁy tÍnh -...
TRANSCRIPT
-
CU TRC MY TNH
Computer Architecture
Hong Vn Hip
B mn K thut my tnh,Khoa CNTT,HBK H Ni
Mob. 0916093209
Email. [email protected]
mailto:[email protected]
-
2
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, khoa Cng ngh thng tin, 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!
-
3
Ti liu tham kho
Stallings, W. Computer Organization and Architecture,
6th ed, Prentice Hall, 2003
Ytha Yu, Charles Marut - Lp trnh assembly v my tnh
IBM-PC - 1992.
Vn Th Minh K thut vi x l Nh xut bn Gio
dc, 1997.
Walter A. Triebel, Avtar Singh - The 8088 and 8086
Microprocessors: Programming, Interfacing, Software,
Hardware and Applications - 1997.
a ch download bi ging, bi thc hnh v phn mm
ftp://dce.hut.edu.vn/hiephv
-
4
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: H my tnh IBM-PC
Chng 5: Lp trnh hp ng trn PC
-
5
Cu trc my tnh
Chng 1
Gii thiu chung
-
6
Ni dung chng 1
1. My tnh v phn loi my tnh
2. S tin ha ca my tnh
-
7
My tnh v phn loi my tnh
nh 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.
-
8
My tnh v phn loi my tnh
M hnh my tnh c bn
-
9
My tnh v phn loi my tnh
M hnh phn lp ca my tnh
-
10
Phn loi my tnh
Phn loi truyn thng:
My vi tnh (Microcomputer)
My tnh nh (Minicomputer)
My tnh ln (Mainframe Computer)
Siu my tnh (Supercomputer)
-
11
Phn loi my tnh
Phn loi hin i:
My tnh c nhn (Personal Computer)
My ch (Server)
My tnh nhng (Embedded Computer)
-
12
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
-
13
My tnh c nhn
-
14
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.
-
15
My Server
-
16
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,
Gi thnh: t vi USD n hng trm ngn USD
-
17
My tnh nhng
-
18
Kin trc my tnh
Kin trc tp lnh
(Instruction Set Architecture ISA)
T chc my tnh
(Computer Organization)
Kin trc my tnh
-
19
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
-
20
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
-
21
T chc my tnh
Cu trc c bn ca my tnh
-
22
Ni dung chng 1
1. My tnh v phn loi my tnh
2. S tin ha ca my tnh
-
23
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)
-
24
My tnh dng n chn khng
-
25
Kin trc Von Neumann
Da trn tng chng trnh c lu tr (stored-
program concept)
-
26
My tnh dng transistor
My PDP-1 v CDC 6600
-
27
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
-
28
Siu my tnh CRAY-1
-
29
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
-
30
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.
-
31
My tnh dng mch tch hp VLSI
-
3. S tin ha ca my tnh
Computer architecture
HiepHV KTMT
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 IC (1966 -
1980)
Th h 4: My tnh dng mch tch hp VLSI (1981
- nay)
Th h 5: My tnh dng ULSI,
-
Th h 1: My tnh dng n in
t chn khng
Computer architecture
HiepHV KTMT
c im
Xy dng trn c s cc n in t chn khng
Kch thc, trng lng v cng sut tiu th rt ln
nhng c tc rt chm
-
V d my tnh ENIAC
Computer architecture
HiepHV KTMT
My tnh in t u tin
D n ca b quc phng M
Bt u nm 1943, kt thc nm 1946
c im
Nng 30 tn,
18.000 n in t
1500 rle,
Cng sut tiu th 140KW
Tc : 5000 php cng mi giy
-
V d my tnh ENIAC (tip)
Computer architecture
HiepHV KTMT
B nh ch lu tr d liu
Lp trnh bng cch thit lp cc chuyn mch v
cc cp ni
-
V d my tnh Eniac
Computer architecture
HiepHV KTMT
Di 10m, rng 3m, cao 3m
-
Kin trc Von-Neumann
Computer architecture
HiepHV KTMT
Khi nim nh chng trnh (stored program) c
a ra (1947)
c trng c bn:
D liu v cc lnh (chng trnh) c cha trong mt
b nh c ghi.
B nh c nh a ch theo tng ngn nh, khng
ph thuc vo ni dung ca n.
My tnh thc hin lnh mt cch tun t.
-
Kin trc Von neumann
Computer architecture
HiepHV KTMT
-
Kin trc Von neumann
Computer architecture
HiepHV KTMT
Trn c s kin trc ny cc my tnh thng mi
ra i
1947: UNIVAC 1 (Universal automatic computer)
1950s: UNIVAC 2
-
UNIVAC 1
Computer architecture
HiepHV KTMT
-
IBM
Computer architecture
HiepHV KTMT
IBM: International Business Machine
1953: ra i my tnh IBM 701
1955: IBM 702
-
IBM 701
Computer architecture
HiepHV KTMT
-
Th h 2: My tnh dng
transistor
Computer architecture
HiepHV KTMT
Trn c s pht minh ra transistor Bell Labs vo
nm 1948.
Transistor c kch thc nh hn nhiu, tc
nhanh hn v tiu th nng lng t hn nhiu
thay th bng n in t
My tnh th h transistor c kh nng thc hin
hng trm nghn php tnh cng trong mt giy
Cc ngn ng lp trnh bc cao ra i
-
My tnh TRADIC
Computer architecture
HiepHV KTMT
My tnh u tin s dng hon ton bng bn dn:
8000 transistors
Nhanh hn
Nh hn
R hn.
-
Th h 3: My tnh dng mch
tch hp (1966 - 1980)
Computer architecture
HiepHV KTMT
Da trn cng ngh mch tch hp, cn gi l vi
mch (Integrated Circuit - IC)
Cc vi mch c SSI/MSI/LSI (small scale, Medium
scale, )
Xut hin cc siu my tnh nh CRAY-1, VAX
Cc b vi x l - CPU c ch to trn mt chip -
cng ra i v bt u pht trin
-
My tnh th h 3
Computer architecture
HiepHV KTMT
Hng t
php ton/s
-
Th h 4: My tnh dng mch
tch hp VLSI (1981 - nay)
Computer architecture
HiepHV KTMT
Pht trin trn c s cc mch tch hp c mt
tch hp siu ln 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 (Semiconductor Memory): ROM, RAM
Cc b vi iu khin (Microcontroller): my tnh chuyn
dng c ch to trn mt chip
-
Th h th t Vi x l
(Microprocessor)
Computer architecture
HiepHV KTMT
Mcroprocessor = Central Processing Unit (CPU) thit k trong 1 chip n
1971 : Intel 4004
tn s 108KHz , cha 2300 transistors
-
Th h th t Vi x l
(Microprocessor)
Computer architecture
HiepHV KTMT
Intel Corp. s dng chip Intel 4004 trong cc my tnh (calculator)
-
Th h th t Vi x l
(Microprocessor)
Computer architecture
HiepHV KTMT
-
Giai on 1976 - 1981
Computer architecture
HiepHV KTMT
Commodore PET 2001
Tandy TRS-80
Osbourne
Kaypro
-
1981 IBM PC
Computer architecture
HiepHV KTMT
Th h my tnh c nhn mi vi kin trc m IBM
-
1984 Apple Macintos
Computer architecture
HiepHV KTMT
-
1990 nay: Personal
Computers
Computer architecture
HiepHV KTMT
Tc vi x l tng nhanh:
CPU 1 li,
CPU a li
Kin trc t thay i
-
Lut moore
Computer architecture
HiepHV KTMT
Gordon Moore: Ngi ng sng lp intel
S lng transistor trn chip s tng gp i sau
18 thng
Gi thnh chip th hu nh khng i
Mt cao hn
Tc nhanh hn
in nng tiu th t hn
Tng tin cy
-
S pht trin ca Intel
Computer architecture
HiepHV KTMT
4004:
B vi x l u tin
4 bt
8080:
B x l a nng u tin
8 bit
8086:
5Mhz tch hp 29,000 transistor
Bus d liu ngoi: 16 bit
8088: ging vi 8080, bus d liu ngoi 8 bt
-
S pht trin ca Intel
Computer architecture
HiepHV KTMT
80286:
nh a ch b nh c 16Mbyte
80386:
32 bit
H tr a nhim
80486
Tng cng b nh cache
H tr pipe line
C b ng x l ton trn chip
-
S pht trin ca intel
Computer architecture
HiepHV KTMT
Pentium
Siu v hng (super scalar)
Bus d liu 64 bit
a lnh c thc hin song song
Pentium Pro
Tng cng chc nng v hng
D on r nhnh
Phn tch lung d liu
Suy on ng
-
S pht trin ca Intel
Computer architecture
HiepHV KTMT
Pentium II X l ha, video, audio
Pentium III Thm cc lnh x l du chm ng cho ha 3D
Pentium IV Tng cng x l du chm ng v multimedia
Dual core: 2 b x l trn 1 chip
Core 2 dual: Kin trc 64 bit
Core 2 quard: 4 b x l trn chip: tch hp 820,000,000 transistor
-
My tnh th h 5
Computer architecture
HiepHV KTMT
Cc my tnh thng minh, c kh nng t duy
nh b c con ngi
-
Xu hng ngy nay
Computer architecture
HiepHV KTMT
Nhanh hn
Nh hn
R hn
D s dng
hn
-
62
Cu trc my tnh
Chng 2
BIU DIN D LIU
& S HC MY TNH
-
63
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
-
64
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
-
65
H thp phn
n
mi
i
i
m
m
n
n
n
n
aA
aaaaaaA
10
10...101010...1010 110
0
1
1
1
1
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 = an an-1 a1 a0 . a-1 a-2 a-m
Gi tr ca A c hiu nh sau:
-
66
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
-
67
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 = an an-1 a1 a0 . a-1 a-2 a-m
Gi tr ca A l:
Mt chui n ch s ca h m c s r s biu
din c rn gi tr khc nhau.
n
mi
i
i
m
m
n
n
n
n
raA
rararararararaA ...... 221
1
0
0
1
1
1
1
-
68
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 = an an-1 a1 a0 . a-1 a-2 a-m
Vi ai l cc ch s nh phn, khi gi tr ca A l:
n
mi
i
i
m
m
n
n
n
n
aA
aaaaaaaA
2
2...2222...22 221
1
0
0
1
1
1
1
-
69
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)
-
70
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)
-
71
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 = 1
0.375 x 2 = 0.750 phn nguyn = 0
0.75 x 2 = 1.50 phn nguyn = 1
0.5 x 2 = 1.0 phn nguyn = 1
Kt qu l: 0.6875(10) = 0.1011(2)
-
72
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.
-
73
Mt s v d
Nh phn Hexa: 11 1011 1110 0110(2) = 3BE6(16)
Hexa Nh phn: 3E8(16) = 11 1110 1000(2)
Thp phn Hexa: 14988 ?
14988 : 16 = 936 d 12 tc l C
936 : 16 = 58 d 8
58 : 16 = 3 d 10 tc l A
3 : 16 = 0 d 3
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)
-
74
Cng tr s Hexa
8A9B
37CD
C268
+B46E
1AC9
99A5
-B7E5
2AF9+
FA9D
2BC5-
B800
0FFF+
8E9A
3FE2-
1234
ABCD+
4B6D
3FEA-
CFFF
1FFF+
A78D
45FB-
879D
5DF8+
98BA
8A9D-
E2DE CED8
-
75
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
-
76
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
-
77
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
-
78
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
-
79
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:
B cm bin
tn hiu
(sensor)
B chuyn i
t-ng t - s
(ADC)
Tn hiu vt lTn hiu in
lin tc Tn hiu s
My tnh
B ti to
tn hiu
B chuyn i
s - t-ng t
(DAC)
Tn hiu vt lTn hiu in
lin tc Tn hiu s
-
80
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
-
81
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.
-
82
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)
-
83
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.
-
84
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
-
85
Biu din s nguyn
1. S nguyn khng du
2. S nguyn c du
3. Biu din s nguyn theo m BCD
-
86
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:
Di biu din ca A: t 0 n 2n-1
1
0
0
0
1
1
2
2
1
1
2
22...22
n
i
i
i
n
n
n
n
aA
aaaaA
-
87
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
-
88
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
-
89
Trng hp c th: vi n = 8 bit
Di biu din l [0, 255]
0000 0000 = 0 0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
.....
1111 1111 = 255
Trc s hc:
0 12
3
255254
Trc s hc my tnh:
0 1 2 255
-
90
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)
-
91
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]
n = 64 bit:
Di biu din l [0, 264-1]
-
92
2. S nguyn c du
a. 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
-
93
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
-
94
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
-
95
Nhn xt
V d:
cho A =0110 0101
S b mt ca A =1001 1010
+ 1
S b hai ca A =1001 1011
Nhn xt
A = 0110 0101
S b hai ca A += 1001 1011
1 0000 0000 = 0 (b qua bit nh ra ngoi)
->S b hai ca A=-A
-
96
Biu din s nguyn c du
b. 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:
Di biu din ca s dng: [0, 2n-1-1]
2
0
2n
i
i
iaA
-
97
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:
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]
2
0
1 22n
i
i
i
n aA
-
98
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:
Di biu din: [-2n-1, 2n-1-1]
2
0
1
1 22n
i
i
i
n
n aaA
-
99
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
-
100
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
-
101
Trng hp c th: vi n = 8 bit
Di biu din l [-128, +127]
0000 0000 = 0 0000 0001 = +1
0000 0010 = +2
..
0111 1111 = +127
1000 0000 = -128
1000 0001 = -127
.....
1111 1110 = -2
1111 1111 = -1
Trc s hc:
Trc s hc my tnh:
0-2 -1 127-128 1 2
0 +1+2
+127
-1-2
-128
-
102
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)
-
103
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
n = 32 bit:
Di biu din l [-231, 231-1]
Kiu d liu tng ng trong Turbo C l kiu long int
n = 64 bit:
Di biu din l [-263, 263-1]
-
104
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 du
-
105
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 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001
C 6 t hp khng s dng: 1010, 1011, 1100, 1101, 1110, 1111
-
106
V d v s BCD
35 0011 0101BCD
79 0111 1001BCD
2281 0010 0010 1000 0001BCD
1304 0001 0011 0000 0100BCD
-
107
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 nh
-
108
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:
0101 0010
0101 0010
-
109
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
-
110
Cc php ton s hc vi s nguyn
1. B cng
2. Cng s nguyn khng du
3. Cng/tr s nguyn c du
4. Nhn s nguyn
5. Chia s nguyn
-
111
1. B cng
B cng 1 bit ton phn (Full Adder)
-
112
B cng (tip)
B cng n bit
-
113
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
-
114
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);
-
115
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]
-
116
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
B cng n-bit
Y X
S
B hai
n-bit n-bit
n-bit
-
117
V d cng 2 s nguyn c du (khng trn)
-
118
V d cng 2 s nguyn c du (Overflow)
-
119
4. Nhn s nguyn
a. Nhn s nguyn khng du
b. Nhn s nguyn c du
-
120
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 trn
-
121
B nhn s nguyn khng du
Mn-1 ... M1 M0
B cng n bit
An-1 ... A1 A0 Qn-1 ... Q1 Q0C
B iu khin dch v cng
iu khin
cng
iu khin dch phi
S b nhn M
S nhn Q
-
122
Lu thc hin
Bt u
C, A 0
M S b nhn
Q S nhn
B m n
Q0 = 1 ? C, A A M
Dch phi C, A, Q
B m B m - 1
B m = 0 ? Kt thc
S
S
-
123
V d nhn s nguyn khng du
M = 1011 (11 - S b nhn) Q = 1101 (13 - S nhn) = 1000 1111 (143 - Tch)
C A Q 0 0000 1101 Cc gi tr khi u
+ 1011
0 1011 1101 A A + M 0 0101 1110 Dch phi
0 0010 1111 Dch phi
+ 1011
0 1101 1111 A A + M 0 0110 1111 Dch phi
+ 1011
1 0001 1111 A A + M 0 1000 1111 Dch phi
-
124
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.
-
125
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-12
k-1 + + a020
= -2n-1 + 2n-1 - 2k+1 + ak-12k-1 + + a02
0
-2k+1 ng vi bit 10 nn vn m bo quy tc TH trn
-
126
Lu thc hin thut ton Booth
Bt u
A 0
Q-1 0
M S b nhn
Q S nhn
B m n
Q0Q-1
A A M
Dch phi A, Q, Q-1(Gi nguyn bit du ca A)
B m B m - 1
B m = 0 ? Kt thc
= 01
S
A A M
= 10
= 00 / 11
A Q Q-1
-
127
V d v thut ton Booth
V d 1:
n = 4 bit, M = +7, Q = +3
M = 0111, Q = 0011, -M = 1001
A Q Q-1
0000 0011 0 ; khi to
+1001
1001 0011 0 ; A A - M
1100 1001 1 ; dch phi
1110 0100 1 ; dch phi
+0111
10101 0100 1 ; A A + M
0010 1010 0 ; dch phi
0001 0101 0 ; dch phi
V d 2:
n = 4 bit, M = +7, Q = -3
M = 0111, Q = 1101, -M = 1001
A Q Q-1
0000 1101 0 ; khi to
+1001
1001 1101 0 ; A A - M
1100 1110 1 ; dch phi
+0111
10011 1110 1 ; A A + M
0001 1111 0 ; dch phi
+1001
1010 1111 0 ; A A - M
1101 0111 1 ; dch phi
1110 1011 1 ; dch phi
-
128
5. Chia s nguyn
a. Chia s nguyn khng du
b. Chia s nguyn c du
-
129
a. Chia s nguyn khng du
V d:
-
130
B chia s nguyn khng du
Mn-1 ... M1 M0
B cng/tr n bit
An-1 ... A1 A0 Qn-1 ... Q1 Q0
B logic iu khin
cng, tr v dch
iu khin
cng/tr
iu khin dch tri
S chia M
S b chia Q
-
131
Lu thc hin
Bt u
A 0
M S chia
Q S b chia
B m 0
A < 0 ?
Q0 0
A A M
Dch tri A, Q
B m = 0 ? Kt thc
S
A A M
Q0 1
B m B m - 1
S
-
132
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:
-
133
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
-
134
Biu din s thc
1. Khi nim v s du chm tnh
2. Khi nim v s du chm ng
3. Chun IEEE 754/85
-
135
Biu din s thc
Quy c: "du chm" (point) c hiu l k hiu
ngn cch gia phn nguyn v phn l ca 1 s
thc.
C 2 cch biu din s thc trong my tnh:
S du chm tnh (fixed-point number):
Du chm l c nh (s bit dnh cho phn nguyn v phn l l
c nh)
Dng trong cc b vi x l hay vi iu khin th h c.
S du chm ng (floating-point number):
Du chm khng c nh
Dng trong cc b vi x l hin nay, c chnh xc cao hn.
-
136
1. Khi nim v s du chm tnh
S bit dnh cho phn nguyn v s bit phn l l
c nh.
Gi s rng:
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.
-
137
S du chm tnh khng du
Khong xc nh ca s du chm tnh khng du:
[0, 2a - 2-b]
V d:
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
-
138
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]
-
139
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)
-
140
2. Khi nim v s du chm ng
Floating Point Number biu din cho s thc
Mt s thc X c biu din theo kiu s du
chm ng nh sau:
X = M * RE
Trong :
M l phn nh tr (Mantissa)
R l c s (Radix)
E l phn m (Exponent)
Vi R c nh th lu tr X ta ch cn lu tr M
v E (di dng s nguyn)
-
141
3. Chun IEEE 754/85
L chun m ha s du chm ng
C s R = 2
C cc dng c bn:
Dng c chnh xc n, 32-bit
Dng c chnh xc kp, 64-bit
Dng c chnh xc kp m rng, 80-bit
Khun dng m ha:
S me
79 63 078 64
S me
31 22 030 23
S me
63 51 062 52
-
142
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
-
143
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
-
144
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:
-
145
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:
S = 0 v y l s dng
E = e 127 nn e = 127 + 3 = 130(10) = 1000 0010(2)
m = 001101100...00 (23 bit)
Vy:
X = 0100 0001 0001 1011 0000 0000 0000 0000
-
146
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)
-
147
Trc s biu din
Dng 32 bit: a = 2-127 10-38 b = 2+127 10+38
Dng 64 bit: a = 2-1023 10-308 b = 2+1023 10+308
Dng 80 bit: a = 2-16383 10-4932 b = 2+16383 10+4932
-0 +0-a b-b a
underflowoverflow overflow
-
148
Thc hin cc php ton
X1 = M1 * RE1
X2 = M2 * RE2
Ta c
X1 X2 = (M1 * RE1-E2 M2) * RE2 , vi E2 E1
X1 * X2 = (M1 * M2) * RE1+E2
X1 / X2 = (M1 / M2) * RE1-E2
-
149
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.
-
150
Php cng v php tr
Kim tra cc s hng c bng 0 hay khng
Nu c th gn kt qu da trn s cn li.
Hiu chnh phn nh tr
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
Cng hoc tr phn nh tr
Nu trn th dch phi v tng s m, nu b trn s m th bo li
trn s.
Chun ha kt qu
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.
-
151
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
-
152
Biu din k t trong my tnh
1. B m ASCII (American Standard Code for
Information Interchange)
2. B m Unicode
-
153
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:
128 k t chun c m t 0016 7F16
128 k t m rng c m t 8016 FF16
-
154
HEXA 0 1 2 3 4 5 6 7
0
0
16
32
0
48
@
64
P
80
`
96
p
112
1
1
17
!
33
1
49
A
65
Q
81
a
97
q
113
2
2
18
"
34
2
50
B
66
R
82
b
98
r
114
3
3
19
#
35
3
51
C
67
S
83
c
99
s
115
4
4
20
$
36
4
52
D
68
T
84
d
100
t
116
5
5
21
%
37
5
53
E
69
U
85
e
101
u
117
6
6
22
&
38
6
54
F
70
V
86
f
102
v
118
7
7
23
'
39
7
55
G
71
W
87
g
103
w
119
8
8
24
(
40
8
56
H
72
X
88
h
104
x
120
9
9
25
)
41
9
57
I
73
Y
89
i
105
y
121
A
10
26
*
42
:
58
J
74
Z
90
j
106
z
122
B
11
27
+
43
;
59
K
75
[
91
k
107
{
123
C
12
28
,
44
<
60
L
76
\
92
l
108
|
124
D
13
29
-
45
=
61
M
77
]
93
m
109
}
125
E
14
30
.
46
>
62
N
78
^
94
n
110
~
126
F
15
31
/
47
?
63
O
79
-
95
o
111
127
-
155
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)
33 m iu khin: m t 0016 1F16 v 7F16 dng
m ha cho cc chc nng iu khin
-
156
iu khin nh dng
BS Backspace - Li li mt v tr: K t iu khin con tr li li mt v tr.
HT Horizontal Tab - Tab ngang: K t iu khin con tr dch tip mt khong
nh trc.
LF Line Feed - Xung mt dng: K t iu khin con tr chuyn xung dng
di.
VT Vertical Tab - Tab ng: K t iu khin con tr chuyn qua mt s dng
nh trc.
FF Form Feed - y sang u trang: K t iu khin con tr di chuyn xung
u trang tip theo.
CR Carriage Return - V u dng: K t iu khin con tr di chuyn v u
dng hin hnh.
-
157
iu khin truyn s liu
SOH Start of Heading - Bt u tiu : K t nh du bt u phn thng tin tiu
.
STX Start of Text - Bt u vn bn: K t nh du bt u khi d liu vn bn
v cng chnh l kt thc phn thng tin tiu .
ETX End of Text - Kt thc vn bn: K t nh du kt thc khi d liu vn bn
c bt u bng STX.
EOT End of Transmission - Kt thc truyn: Ch ra cho bn thu bit kt thc
truyn.
ENQ Enquiry - Hi: Tn hiu yu cu p ng t mt my xa.
ACK Acknowledge - Bo nhn: K t c pht ra t pha thu bo cho pha pht
bit rng d liu c nhn thnh cng.
NAK Negative Aknowledge - Bo ph nhn: K t c pht ra t pha thu bo cho
pha pht bit rng vic nhn d liu khng thnh cng.
SYN Synchronous / Idle - ng b ha: c s dng bi h thng truyn ng b
ng b ho qu trnh truyn d liu.
ETB End of Transmission Block - Kt thc khi truyn: Ch ra kt thc khi d
liu c truyn.
-
158
iu khin phn cch thng tin
FS File Separator - K hiu phn cch tp tin: nh du ranh gii gia cc tp tin.
GS Group Separator - K hiu phn cch nhm: nh du ranh gii gia cc
nhm tin (tp hp cc bn ghi).
RS Record Separator - K hiu phn cch bn ghi: nh du ranh gii gia cc
bn ghi.
US Unit Separator - K hiu phn cch n v: nh du ranh gii gia cc phn
ca bn ghi.
-
159
Cc k t iu khin khc
NUL Null - K t rng: c s dng in khong trng khi khng c d liu.
BEL Bell - Chung: c s dng pht ra ting bp khi cn gi s ch ca con ngi.
SO 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.
SI Shift In - Dch vo: Ch ra rng cc m tip theo s nm trong tp k t chun.
DLE Data Link Escape - Thot lin kt d liu: K t s thay i ngha ca mt hoc
nhiu k t lin tip sau .
DC1
DC4
Device Control - iu khin thit b : Cc k t dng iu khin cc thit b
ph tr.
CAN Cancel - Hy b: Ch ra rng mt s k t nm trc n cn phi b qua.
EM 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.
SUB Substitute - Thay th: c thay th cho k t no c xc nh l b li.
ESC Escape - Thot: K t c dng cung cp cc m m rng bng cch kt hp
vi k t sau .
DEL Delete - Xa: Dng xa cc k t khng mong mun.
-
160
b. Cc k t m rng
c nh ngha bi:
Nh ch to my tnh
Ngi pht trin phn mm
V d:
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.
-
161
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
-
162
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.
-
163
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).
-
164
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:
Hy xc nh gi tr ca bin P di dng thp
phn.
9D(16)
80(16)
a ch
tng dn
(Little-endian)
-
165
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.
Bit rng b nh t chc theo kiu u nh (little-endian),
hy xc nh gi tr thp phn ca s thc .
00(16)
80(16) a ch tng dnD9(16)
C3(16)
-
166
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).
-
167
Kin trc my tnh
Chng 3
H THNG MY TNH
-
168
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
-
169
Cu trc v hot ng c bn ca my tnh
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
-
170
3.1.1 Cu trc c bn ca my tnh
B x l trung tm (Central Processing Unit)
B nh (Memory)
H thng vo-ra (Input-Output System)
Lin kt h thng (System Interconnection)
-
171
B x l trung tm (CPU)
Chc nng:
iu khin hot ng ca ton b h thng my tnh
X l d liu
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.
-
172
Cu trc c bn ca CPU
n v iu khin
(CU)
n v s hc v logic
(ALU)
Tp cc thanh ghi
(RF)
n v ni ghp bus (BIU)
Bus bn trong
Bus bn ngoi
-
173
Cc thnh phn c bn ca CPU
n v iu khin (Control Unit - CU): iu khin hot
ng ca my tnh theo chng trnh nh sn.
n v s hc v logic (Arithmetic and Logic Unit - ALU):
thc hin cc php ton s hc v cc php ton logic trn
cc d liu c th.
Tp thanh ghi (Register File - RF): lu gi cc thng tin
tm thi phc v cho hot ng ca CPU.
Bus bn trong (Internal Bus): kt ni cc thnh phn bn
trong CPU vi nhau.
n v ni ghp bus (Bus Interface Unit - BIU) kt ni v
trao i thng tin vi nhau gia bus bn trong (internal bus)
vi bus bn ngoi (external bus).
-
174
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
Tn s xung nhp ca b x l:
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
-
175
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
T0
-
176
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)
Cc thnh phn chnh:
B nh trong (Internal Memory)
B nh ngoi (External Memory)
-
177
Cc thnh phn b nh my tnh
CPU B nh
trong
B nh
ngoi
-
178
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
Cc loi b nh trong:
B nh chnh
B nh cache (b nh m nhanh)
-
179
B nh chnh (Main Memory)
L thnh phn nh tn ti trn mi h thng my tnh
Cha cc chng trnh v d liu ang c CPU s dng
T chc thnh cc ngn nh c nh a ch
Ngn nh thng c t chc theo Byte
Ni dung ca ngn nh c th thay i, song a ch vt l ca ngn nh lun c nh
Thng thng, b nh chnh bao gm 2 phn: B nh RAM
B nh ROM
00101011
11010101
00001010
01011000
11111011
00001000
11101010
00000000
10011101
00101010
11101011
00000010
00101011
00101011
11111111
10101010
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Ni dung a ch
-
180
B nh m nhanh (Cache memory)
L thnh phn nh tc nhanh c t m
gia CPU v b nh chnh nhm tng tc truy
cp b nh ca CPU.
Tc ca cache nhanh hn b nh chnh nhng
dung lng nh hn.
Cache thng c chia ra thnh mt s mc:
cache L1, cache L2, ...
Hin nay cache c tch hp trn cc chip vi x
l.
Cache c th c hoc khng.
-
181
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
Cc loi b nh ngoi:
B nh t: a cng, a mm
B nh quang: a CD, DVD
B nh bn dn: Flash disk, memory card
-
182
H thng vo-ra (Input-Output)
Chc nng: Trao i thng tin gia my tnh vi
th gii bn ngoi.
Cc thao tc c bn:
Vo d liu (Input)
Ra d liu (Output)
Cc thnh phn chnh:
Cc thit b ngoi vi (Peripheral Devices)
Cc m-un ni ghp vo-ra (IO Modules)
-
183
Cu trc c bn ca h thng vo-ra
M-un
vo-ra
Cng
vo-
ra
Cng
vo-
ra
Thit b
ngoi vi
Thit b
ngoi vi
Cng
vo-
ra
Thit b
ngoi vini ghp
vi CPU
v
b nh
chnh
-
184
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 ...
-
185
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 vo-
ra (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.
-
186
Lin kt h thng
Lung thng tin trong my tnh
Cu trc bus c bn
Phn cp bus trong my tnh
-
187
Lung thng tin trong my tnh
Cc m-un trong my tnh:
CPU
M-un nh
M-un vo-ra
cn c kt ni vi nhau
-
188
Kt ni m-un nh
Module nh
a ch
D liu
T/h /khin c
T/h /khin ghi
D liu hoc lnh
-
189
Kt ni m-un vo-ra
Module
vo-ra
a ch
DL t bn trong MT
T/h /khin c
T/h /khin ghi
DL n TBNV
DL t TBNV DL n bn trong MT
Cc t/h /khin ngt
-
190
Kt ni CPU
CPU
Lnh
D liu
a ch
Cc t/h /khin ngt
D liu
Cc t/h /khin
b nh v vo-ra
-
191
Nhn xt
C 4 loi thng tin:
a ch
D liu
Lnh
Thng tin iu khin
-
192
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
-
193
Bus ng b v bus khng ng b
Bus ng b:
C ng tn hiu Clock
Cc s kin xy ra trn bus c xc nh bi xung nhp
Clock.
Bus khng ng b:
Khng c ng tn hiu Clock
Mt s kin trn bus kt thc s kch hot s kin tip
theo.
-
194
Cu trc n bus
CPU Mun nhMun
vo-ra
N bit
M bit
Bus a ch
Bus d liu
Bus iu khin
Mun nhMun
vo-ra... ...
-
195
Bus a ch (Address bus)
Chc nng: vn chuyn a ch t CPU n m-
un nh hay m-un vo-ra xc nh ngn nh
hay cng vo-ra m CPU cn trao i thng tin.
rng bus a ch: xc nh dung lng b nh
cc i ca h thng.
Nu rng bus a ch l N bit (gm N ng dy
AN-1, AN-2, ... , A2, A1, A0) th:
c kh nng vn chuyn c N bit a ch ng thi
c kh nng nh a ch ti a c 2N ngn nh =
2N Byte gi l khng gian a ch b nh.
-
196
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
-
197
Bus d liu (Data bus)
Chc nng:
Vn chuyn lnh t b nh n CPU
Vn chuyn d liu gia CPU, cc m-un nh v m-
un vo-ra vi nhau
rng bus d liu: Xc nh s bit d liu c th
c trao i ng thi.
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
-
198
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
-
199
Bus iu khin (Control bus)
Chc nng: vn chuyn cc tn hiu iu khin
Cc loi tn hiu iu khin:
Cc tn hiu iu khin pht ra t CPU iu khin m-
un nh hay m-un vo-ra
Cc tn hiu yu cu t m-un nh hay m-un vo-ra
gi n CPU
-
200
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 vo-
ra 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.
-
201
V d (tip)
Cc tn hiu iu khin ngt:
Interrupt Request (INTR): Tn hiu t b iu khin vo-
ra 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.
-
202
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.
-
203
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
-
204
Phn cp bus trong my tnh
Phn cp thnh nhiu bus khc nhau cho cc thnh
phn:
Bus ca b x l
Bus ca b nh chnh
Cc bus vo-ra
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.
-
205
Cc bus in hnh trong my PC
Bus ca b x l (Front Side Bus FSB): c tc nhanh
nht
Bus ca b nh chnh (ni ghp vi cc m-un nh RAM)
AGP bus (Accelerated Graphic Port) cng tng tc
ha: ni ghp vi card mn hnh
PCI bus (Peripheral Component Interconnect): ni ghp vi
cc TBNV c tc trao i d liu nhanh.
USB (Universal Serial Bus): bus ni tip a nng
IDE (Integrated Drive Electronics): bus kt ni vi a
cng hoc a quang (CD, DVD, )
-
206
VD 1: H thng Pentium III
-
207
VD 2: Pentium 4 dng chipset 865PE
B chipset Intel 865PE gm c hai con chip
82865PE (MCH) v 82801ER (ICH5-R):
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, ...
-
208
VD 2 (tip)
-
209
3.1.2. Hot ng c bn ca my tnh
Thc hin chng trnh
X l ngt
Hot ng vo ra
-
210
Thc hin chng trnh
Nguyn tc hot ng:
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
-
211
Chu trnh lnh
Bt u
Nhn lnh
Thc thi
lnh
Dng
-
212
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.
-
213
Nhn lnh (tip)
Hot ng nhn lnh din ra nh sau:
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.
-
214
Minh ha qu trnh nhn lnh
302
PC
IR
CPU
Lnh
Lnh
Lnh i
Lnh i+1
Lnh
Lnh
B nh chnh
303
PC
Lnh i
IR
CPU
Lnh
Lnh
Lnh i
Lnh i+1
Lnh
Lnh
B nh chnh
Trc khi nhn lnh i Sau khi nhn lnh i
300
301
302
303
304
305
300
301
302
303
304
305
-
215
Thc thi lnh
Lnh nm IR s c chuyn sang n v iu
khin (Control Unit). n v iu khin s tin hnh
gii m lnh v pht cc tn hiu iu khin thc thi
thao tc m lnh yu cu.
Cc kiu thao tc ca lnh:
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
-
216
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
-
217
Chu trnh x l ngt
c thm vo cui chu trnh lnh
Sau khi hon thnh mt lnh, CPU kim tra xem c
yu cu ngt gi n hay khng
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
-
218
Hot ng ngt (tip)
Bt u
Nhn lnh
Thc hin
lnhDng
N Kim tra
c ngt hay
khng ?
Chuyn n
chung trnh
iu khin ngt
Y
-
219
Hot ng ngt (tip)
1
2
i
i+1
M
Chng trnh
ang thc hin
Ngt y
Lnh
Lnh
RETURN
CTC phc v ngt
-
220
X l vi nhiu tn hiu yu cu ngt
X l ngt tun t:
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
-
221
X l ngt tun t (tip)
-
222
X l vi nhiu tn hiu yu cu ngt
X l ngt u tin:
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
-
223
X l ngt u tin
-
224
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
-
225
3.1.3. Cu trc ca MTCN in hnh
S khi
Cc linh kin trn bn mch chnh
Cc thit b ngoi vi c bn
-
226
S khi
-
227
S khi (tip)
Hp my tnh (Case):
Bn mch chnh (Mainboard):
B vi x l
B nh h thng: chip nh ROM v cc module nh RAM
Cc vi mch iu khin tng hp (chipset)
Cc khe cm m rng
Cc knh truyn tn hiu (bus)
Cc loi a: a cng, a mm, a quang, ...
Cc cng vo-ra
B ngun v qut
Cc thit b ngoi vi (Peripheral Devices):
Mn hnh (monitor), bn phm (keyboard), chut (mouse), loa
(speaker), my in (printer), my qut nh (scanner), modem, ...
-
228
Hp my tnh (Case)
-
229
Cc loi a
-
230
Cc cng vo-ra
-
231
B ngun v qut
-
232
Cc linh kin trn bn mch chnh
-
233
B vi x l
-
234
B nh h thng
-
235
Cc khe cm m rng
-
236
Cc thit b ngoi vi c bn
-
237
Cc thit b ngoi vi (tip)
-
238
Cc thit b ngoi vi (tip)
-
239
Cc thit b ngoi vi (tip)
-
240
Chng 3
Cn tip !
-
241
3.2. B x l trung tm
3.2.1. Cu trc c bn ca CPU
3.2.2. Tp lnh
3.2.3. Hot ng ca CPU
-
242
3.2.1. Cu trc c bn ca CPU
n v
iu khin
(CU)
n v
s hc v
logic
(ALU)
Tp cc
thanh ghi
(RF)
n v ni ghp bus (BIU)
bus d liu
bus bn trong
bus a ch bus iu khin
-
243
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 .
-
244
n v iu khin (tip)
M hnh kt ni ca n v iu khin:
n v
iu khin
Thanh ghi lnh
Bus iu khin
Tn hiu
iu khin
bn trong CPU
Cc c
Clock
Tn hiu iu khin
n bus h thng
Tn hiu yu cu
t bus h thng
-
245
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
-
246
n v iu khin (tip)
Cc tn hiu pht ra t n v iu khin:
Cc tn hiu iu khin bn trong CPU:
iu khin cc thanh ghi
iu khin hot ng ca ALU
Cc tn hiu iu khin bn ngoi CPU:
iu khin b nh chnh
iu khin cc module vo-ra
-
247
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
-
248
n v s hc v logic (tip)
M hnh kt ni ca ALU:
n v
s hc v logic
(ALU)
D liu vo t
cc thanh ghi
Cc tn hiu
t n v
iu khin
Thanh ghi c
D liu ra n
cc thanh ghi
-
249
3. Tp thanh ghi (RF)
a. Chc nng v phn loi
b. Mt s thanh ghi in hnh
-
250
a. Chc nng v phn loi
Chc nng:
L tp hp cc thanh ghi nm trong CPU
Cha cc thng tin tm thi phc v cho hot ng hin
ti ca CPU.
-
251
Phn loi tp thanh ghi
Phn loi theo kh nng can thip ca ngi lp trnh:
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
Phn loi theo chc nng:
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
-
252
b. Mt s thanh ghi in hnh
Cc thanh ghi a ch
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)
Cc thanh ghi d liu
Thanh ghi trng thi
-
253
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.
-
254
B m chng trnh (PC)
Cn gi l con tr lnh (Instruction Pointer - IP)
L thanh ghi cha a ch ca lnh tip theo s
c nhn vo.
Sau khi mt lnh c nhn vo th ni dung ca
PC t ng tng tr sang lnh k tip nm ngay
sau lnh va c nhn.
-
255
Minh ha hot ng ca PC
PC Lnh s c nhn vo
Lnh
Lnh
Lnh k tip
Lnh
Lnh
Vng nh lnh (Code)
-
256
Thanh ghi con tr d liu (DP)
Cha a ch ca ngn nh d liu m CPU mun
truy cp.
Thng c mt s thanh ghi con tr d liu.
-
257
Minh ha hot ng ca DP
DP D liu cn c/ghi
D liu
D liu
D liu
D liu
D liu
Vng d liu (Data)
-
258
Con tr ngn xp (SP)
Cha a ch ca ngn nh nh ngn xp (ngn
xp c chiu t y ln nh ngc vi chiu tng
ca a ch)
Khi ct thm mt thng tin vo ngn xp:
Ni dung ca SP t ng gim
Thng tin c ct vo bt u t ngn nh tr bi SP
Khi ly mt thng tin ra khi ngn xp:
Thng tin c ly ra bt u t ngn nh tr bi SP
Ni dung ca SP t ng tng
Khi ngn xp rng: SP tr vo y ngn xp
-
259
Minh ha hot ng ca SP
SP nh Stack mi
nh Stack c
y Stack
Ngn xp (Stack)
SP nh Stack c
nh Stack mi
y Stack
Ngn xp (Stack)
Khi ly 1 thng tin ra khi ngn xp, SP t ng tng Khi ct 1 thng tin vo ngn xp, SP t ng gim
a
ch
tn
g d
n
a
ch
tn
g d
n
-
260
Thanh ghi c s v thanh ghi ch s
Thanh ghi c s: cha a ch ca ngn nh c s
(a ch c s).
Thanh ghi ch s: cha lch a ch gia ngn
nh m CPU cn truy cp so vi ngn nh c s
(ch s).
a ch ca ngn nh cn truy cp = a ch c s
+ ch s
-
261
Minh ha thanh ghi c s v ch s
Ngn nh cn truy cp
Ngn nh c sThanh ghi c s
Thanh ghi ch s
B nh chnh
-
262
Cc thanh ghi d liu
Cha cc d liu tm thi hoc cc kt qu trung
gian phc v cho vic x l d liu ca CPU
Cn c nhiu thanh ghi d liu
Cc thanh ghi s nguyn: 8, 16, 32, 64 bit
Cc thanh ghi s du chm ng
-
263
Thanh ghi trng thi
Cn gi l thanh ghi c (Flag Register)
Cha cc thng tin trng thi ca CPU
Cc c php ton: biu th trng thi ca kt qu php
ton
Cc c iu khin: iu khin ch lm vic ca CPU
-
264
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.
-
265
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.
-
266
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
-
267
B x l trung tm
3.2.1. Cu trc c bn ca CPU
3.2.2. Tp lnh
3.2.3. Hot ng ca CPU
-
268
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
-
269
1. Gii thiu chung v tp lnh
Mi b x l c mt tp lnh xc nh (mang tnh k tha trong cng mt dng h).
Tp lnh thng c hng chc n hng trm lnh.
Mi lnh l mt chui s nh phn m b x l hiu c thc hin mt thao tc xc nh.
Cc lnh c m t bng cc k hiu gi nh cc lnh hp ng.
-
270
Khun dng ca mt lnh my
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)
M thao tc Tham chiu ton hng
-
271
S lng ton hng trong lnh
Ba ton hng: 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
Hai ton hng: 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
-
272
S lng ton hng trong lnh (tip)
Mt ton hng: 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
Khng c ton hng: Cc ton hng u c ngm nh
S dng Stack
VD: lnh c = a + b
push a
push b
add
pop c
Khng thng dng
-
273
2. Cc kiu thao tc in hnh
Chuyn d liu
X l s hc vi s nguyn
X l logic
iu khin vo-ra
Chuyn iu khin (r nhnh)
iu khin h thng
-
274
Cc lnh chuyn d liu
MOVE
LOAD
STORE
EXCHANGE
CLEAR
SET
PUSH
POP
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
-
275
Cc lnh s hc
ADD
SUBTRACT
MULTIPLY
DIVIDE
ABSOLUTE
NEGATE
INCREMENT
DECREMENT
COMPARE
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
-
276
Cc lnh logic
AND
OR
XOR
NOT
TEST
SHIFT
ROTATE
CONVERT
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
-
277
VD cc lnh AND, OR, XOR, NOT
Gi s c hai thanh ghi cha d liu nh sau:
(R1) = 1010 1010
(R2) = 0000 1111
Khi ta c:
(R1) AND (R2) = 0000 1010 Php ton AND c th c dng xo mt s bit v gi nguyn
cc bit cn li ca ton hng.
(R1) OR (R2) = 1010 1111 Php ton OR c th c dng thit lp mt s bit v gi
nguyn cc bit cn li ca ton hng.
(R1) XOR (R2) = 1010 0101 Php ton XOR c th c dng o mt s bit v gi nguyn
cc bit cn li ca ton hng.
NOT (R1) = 0101 0101 Php ton NOT dng o tt c cc bit ca ton hng.
-
278
Cc lnh SHIFT v ROTATE
0
0
0
Dch tri logic
Dch phi logic
Dch phi s hc
Dch tri s hc
Quay tri logic
Quay phi logic
-
279
Cc lnh vo-ra chuyn dng
IN Copy d liu t mt cng xc nh n ch
OUT Copy d liu t ngun n mt cng xc nh
-
280
Cc lnh chuyn iu khin
JUMP (BRANCH)
Nhy (r nhnh) khng iu kin; np vo PC mt a
ch xc nh
JUMP CONDITIONAL
Kim tra iu kin xc nh, hoc np vo PC mt a
ch xc nh hoc khng khng lm g c
CALL
Ct ni dung PC vo ngn xp, np vo PC a ch xc nh nhy n thc hin chng trnh con
RETURN
Khi phc ni dung PC t nh ngn xp tr v
chng trnh chnh
-
281
Lnh r nhnh khng iu kin
Chuyn ti thc hin lnh v tr c a ch l XXX:
PC XXX
lnh
lnh
lnh
lnh
lnh_k_tip
lnh_r_nhnh XXX
lnh
XXX
. . .
-
282
Lnh r nhnh c iu kin
Kim tra iu kin trong lnh:
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.
-
283
Minh ha lnh r nhnh c iu kin
lnh
lnh
lnh
lnh
lnh
lnh_k_tip
lnh_r_nhnh_k XXX
lnh
lnh
XXX
. . .
-
284
Lnh CALL v RETURN
Lnh gi chng trnh con: lnh CALL 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
Lnh tr v t chng trnh con: lnh RETURN 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
-
285
Minh ha lnh CALL v RETURN
lnh
lnh
lnh
lnh
lnh u tin ca CTCon
lnh_k_tip
CALL CTCon
lnh
lnh
CTCon
. . .
RETURN
. . .
-
286
Cc lnh iu khin h thng
HALT
WAIT
NO OPERATION (NOP)
LOCK
UNLOCK
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
-
287
3. Cc phng php a ch ha ton hng
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
-
288
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
-
289
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
M thao tc Ton hng
-
290
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.
M thao tc
Ton hng
Tn thanh ghi
Tp thanh ghi
-
291
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
M thao tc
Ton hng
a ch
B nh chnh
-
292
Ch a ch gin tip qua thanh ghi
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
M thao tc
a ch
Tn thanh ghi
Tp thanh ghi
Ton hng
B nh chnh
-
293
Ch a ch dch chuyn
Displacement Addressing Mode
Trng a ch cha 2 thnh phn:
Tn thanh ghi
Hng s
a ch ca ton hng = ni dung thanh ghi + hng
s
Thanh ghi c th c ngm nh
-
294
Minh ha ch a ch dch chuyn
M thao tc Tn thanh ghi
Tp thanh ghi
Ton hng
B nh chnh
Hng s
-
295
Cc dng ch a ch dch chuyn
a ch ha tng i vi PC:
Thanh ghi l PC
VD: cc lnh chuyn iu khin
nh a ch c s:
Thanh ghi l thanh ghi c s (cha a ch c s)
Hng s l ch s
nh a ch ch s:
Thanh ghi l thanh ghi ch s (cha ch s)
Hng s l a ch c s
-
296
3.2. B x l trung tm
3.2.1. Cu trc c bn ca CPU
3.2.2. Tp lnh
3.3.3. Hot ng ca CPU
-
297
3.2.3. Hot ng ca CPU
1. Chu trnh lnh
2. ng ng lnh
-
298
1. Chu trnh lnh
Bao gm cc cng on chnh sau y:
Nhn lnh
Gii m lnh
Nhn ton hng
Thc hin lnh
Ct ton hng
Ngt
-
299
Gin trng thi chu trnh lnh
Nhn lnh
Xc nh
a ch ca
lnh
Gii m
thao tc
ca lnh
Tnh a
ch ton
hng
Nhn ton
hng
Thao tc
d liu
Tnh a
ch ton
hng
Ct ton
hng
Kim tra
ngtNgt
C
KhngLnh x l STRING hay VECTORLnh tip theo
Nhn t b
nh chnh
- T b nh
- T cng vo
- Ra b nh
- n cng ra
-
300
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
-
301
Minh ha qu trnh nhn lnh
PC
CPU
n v
iu khin
IR
B nh
Bus
a
ch
Bus
d
liu
Bus
iu
khin
PC : B m chng trnh
IR : Thanh ghi lnh
-
302
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
-
303
Nhn ton hng
CPU a a ch ca ton hng ra bus a ch
CPU pht tn hiu iu khin c
Ton hng c chuyn vo trong CPU
-
304
Nhn ton hng gin tip
CPU a a ch ra bus a ch
CPU pht tn hiu iu khin c
Ni dung ngn nh c chuyn vo CPU,
chnh l a ch ca ton hng
CPU pht a ch ny ra bus a ch
CPU pht tn hiu iu khin c
Ni dung ca ton hng c chuyn vo CPU
-
305
Minh ha nhn ton hng gin tip
MAR
CPU
n v
iu khin
MBR
B nh
Bus
a
ch
Bus
d
liu
Bus
iu
khin
MAR (Memory Address Register) :
Thanh ghi a ch b nh
MBR (Memory Buffer Register):
Thanh ghi m b nh
-
306
Thc hin lnh
C nhiu dng thao tc ty thuc vo lnh
C th l:
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)
-
307
Ghi ton hng
CPU a a ch ra bus a ch
CPU a d liu cn ghi ra bus d liu
CPU pht tn hiu iu khin ghi
D liu trn bus d liu c copy n v tr xc
nh
-
308
Minh ha qu trnh ghi ton hng
MAR
CPU
n v
iu khin
MBR
B nh
Bus
a
ch
Bus
d
liu
Bus
iu
khin
MAR : Thanh ghi a ch b nh
MBR : Thanh ghi m b nh
-
309
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
-
310
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)
-
311
Biu thi gian ca ng ng lnh
1 2 3 4 5 6 7 8 9 10 11 12
Lnh 1 FI DI CO FO EI WO
Lnh 2 FI DI CO FO EI WO
Lnh 3 FI DI CO FO EI WO
Lnh 4 FI DI CO FO EI WO
Lnh 5 FI DI CO FO EI WO
Lnh 6 FI DI CO FO EI WO
-
312
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
-
313
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
-
314
3.3.1. Tng quan h thng nh
1. Cc c trng ca h thng nh
2. Phn cp h thng nh ca my tnh
-
315
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
Dung lng: di t nh (tnh