2. C U
TRÚC
MÁY L P TRÌNH H P NG
TÍNH
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 1
3. MUÏC TIEÂU
C u trúc Máy tính &
: L p trình Assembly
1. Khaùm phaù bí maät beân trong maùy tính.
2.Trang b nhöõng kieán thöùc cô baûn veà caáu truùc toång quaùt
cuûa maùy tính cuõng nhö caùc thaønh phaàn caáu taïo neân maùy
tính.
3. Naém ñöôïc caùch hoaït ñoäng,caùch giao ti p cuûa caùc thaønh
phaàn caáu taïo neân maùy tính.
4. Bieát vieát 1 chöông trình baèng Assembly – dòch lieân keát vaø
thöïc thi chöông trình naøy.
5. Bieát laäp trình xöû lyù ñơn gi n phaàn cöùng, laäp trình heä thoáng
.
6. Các khái ni m cơ b n v virus TH - nghiên
c u các k thu t lây lan c a virus tin h c
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 2
4. Tài li u tham kh o
Structured Computer Organization – Andrew
Tanenbaum
Assembly Language For the IBM-PC – Kip R Irvine
Assembly Programming Language & IBM PC Ythayu –
Charles Marut
Giáo trình C u trúc máy tính - T ng Văn On
L p trình H p ng - Nguyeãn Ngoïc Taán -Vũ Thanh Hi n
C u trúc Máy tính - ð i h c Bách khoa
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 3
5. Tài li u tham kh o
Computer Virus Handbook
Virus Writing guide Billy Belceb
The macro virus writing guide
The little black book of computer viruses
M t s m u chương trình virus (virus file, virus macro)
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 4
6. Giaùo vieân : Ngoâ Phöôùc Nguyeân
Email : nguyenktcn@yahoo.com
Mobile: 091-8-380-926
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 5
7. ð cương môn h c
Chương 1 : T ch c t ng quát c a h th ng MT
Chương 2 : T ch c CPU
Chương 3 : M c logic s
Chương 4 : T ch c b nh
Chương 5 : Xu t nh p
Chương 6 : L p trình Assembly – T p l nh
Chương 7 : C u trúc ñi u khi n & Vòng l p
Chương 8 : Macro & Procedure – nhúng CT Assembly vào
ngôn ng c p cao như C…
Chương 9 : L p trình x lý màn hình-bàn phím-mouse.
Chương 10 : L p trình x lý File
Chương 11 : Các khái ni m cơ b n v Virus tin h c –
phân tích các k thu t lây lan chung c a VR tin h c và
lây lan trên m ng. Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 6
8. Chương 1 :C U TRÚC T NG QUÁT C A M T
H TH NG MÁY TÍNH
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 7
9. M c tiêu :
N m ñư c t ng quan v c u trúc máy tính.
Hi u v Máy Turing & Nguyên lý Von Neumann
Bi t sơ ñ kh i chi ti t c a máy tính
Naém nguyên lý ho t ñ ng máy tính
Bi t các component c a máy tính :
Processors,Memory,Input/Output devices,Bus
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 8
10. Chöông 1
Toång quan veà caáu truùc maùy tính.
Moâ hình maùy Turing
Nguyeân lyù Von Neumann.
Sô ñoà toång quaùt cuûa moät maùy tính.
Nguyeân lyù hoaït ñoäng cuûa maùy tính
Caâu hoûi oân taäp
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 9
11. Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 10
12. Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 11
13. Maùy tính & Söï tính toaùn
B x lý
Memory : ch a 2+3/4*3-5=?
các ch th & d …………….
li u ……………..
……………….
Input device : thi t b nh p
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 12
14. The system bus (shown in yellow) connects the various components of
a computer.
The CPU is the heart of the computer, most of computations occur
inside the CPU.
RAM is a place to where the programs are loaded in order to be
executed.
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 13
15. T ng quan v c u trúc máy tính
Máy tính hi n ñ i ngày nay ñư c thi t k d a trên mô hình
Turing Church và mô hình Von Neumann.
Mô hình Turing :
Mô hình này r t ñơn gi n nhưng nó có t t c các ñ c trưng c a
1 h th ng máy tính sau này. Nguyên lý c u t o máy Turing :
ñ u ñ c ghi kh i x lý ch a t p h u h n các tr ng thái
Băng d li u vô h n, d li u k t thúc là b
Si b
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 14
16. Nguyên lý xây d ng MT
MT ñi n t làm vi c theo hai nguyên lý cơ b n :
nguyên lý s và nguyên lý tương t .
Nguyên lý s s d ng các tr ng thái r I r c c a 1
ñ I lư ng v t lý ñ bi u di n s li u nguyên lý
ñ m.
Nguyên lý tương t s d ng 1 ñ I lư ng v t lý bi n
ñ I liên t c ñ bi u di n s li u nguyên lý ño
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 15
17. M ch ñi n trong MT
Trong MT có nh ng lo I m ch ñi n nào ?
M ch t h p : là m ch ñi n có tr ng thái ngõ ra ph
thu c t c th I vào t h p c a tr ng thái ngõ vào.
Ex : M ch gi I mã ñ a ch
M ch tu n t : là m ch ñi n th c hi n 1 m c ñích mà
tr ng thái ngõ ra ph thu c vào t h p c a tr ng thái
ngõ vào và tr ng thái c a quá kh ngõ vào.
Ex : m ch c ng, tr , nhân , chia
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 16
18. Nguyên lý Turing
kh i x lý ch a t p h u h n các tr ng thái
ñ u ñ c ghi Băng d li u vô h n, d li u k t thúc là b
Si Sj b
Máy làm vi c theo t ng bư c r i r c. M t l nh
c a máy như sau : qiSiSjXqj.
Nghĩa là : ñ u ñ c ghi ñang ô Si thì s ghi ñè Sj
vào ô hi n t i và d ch chuy n ho c ñ ng yên theo
ch th là X và tr ng thái hi n hành c a máy là qj
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 17
19. Nguyên lý hoat ñ ng máy Turing
D li u c a bài toán là 1 chu i các ký hi u thu c t p các ký hi u
c a máy không k ký hi u r ng b, ñư c c t vô băng.
Tr ng thái trong ban ñ u c a máy là q0 .
ð u ñ c/ghi ô ch a ký hi u ñ u tiên c a chu i ký hi u
nh p. Trong quá trình ho t ñ ng, s thay ñ i d li u trên
băng, s d ch chuy n ñ u ñ c ghi và s bi n ñ i tr ng thái
trong c a máy s di n ra tuân theo các l nh thu c t p l nh c a
máy tùy theo tr ng thái hi n t i và ký hi u ô hi n t i.
Quá trình s d ng l i khi tr ng thái trong c a máy là tr ng thái
k t thúc qf.
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 18
20. Thí d máy Turing
Xét thí d máy Turing th c hi n phép toán NOT trên chu i các bit
0/1.Chu i d li u nh p ban ñaàu là 10
t p các ký hi u c a máy {0,1}
t p các tr ng thái trong {q0, q1}
t p l nh g m 3 l nh : q001Rq0 , q010Rq0 , q0bbNq1
q0 Ban ñ u q0
… 1 0 b … 0 0 b …
D ng q1
q0
0
Chuong 1 C U TRÚC T NG
1 b …
0
4/4/2006 1 b … QUÁT C A HTMT K t qu 01 19
21. Nguyên lý VonNeumann
Máy Von Neumann là mô hình c a các máy tính hi n ñ i.
Nguyên lý c a nó như sau :
V m t logic (ch c năng) , máy g m 3 kh i cơ b n : ñơn v x lý,
b nh và h th ng xu t nh p.
ðơn v x lý
ðơn v x lý
B nh
B nh
Trao ñ i thông tin
ði u khi n
H xu t nh p
data chương trình
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 20
22. Nguyên lý Von Neumann (cont)
Chương trình ñi u khi n x lý d li u cũng
ñư c xem là data và ñư c lưu tr trong b nh g i
là chương trình lưu tr .
B nh chia làm nhi u ô, m i ô có 1 ñ a ch
(ñánh s th t ) ñ có th ch n l a ô nh trong
quá trình ñ c ghi d li u. (nguyên lý ñ nh ñ a
ch )
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 21
23. Nguyên lý Von Neumann (cont)
Các l nh ñư c th c hi n tu n t nh 1 b
ñ m chương trình (thanh ghi l nh) n m bên
trong ñơn v x lý.
Chương trình MT có th bi u di n dư I d ng s và ñ t
vào trong b nh c a MT bên c nh d li u.
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 22
24. Typical Von Neumann Machine
A
L
U
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 23
25. Nguyên lý ho t ñ ng MT
CPU
CPU B nh chính
B nh chính
ð ccll nh
ð nh Lưu tr thông tin
Lưu tr thông tin
Phân tích ll nh
Phân tích nh Nơi ch a chương trình
Nơi ch a chương trình
Th ccthi ll nh
Th thi nh ñ CPU ñ ccvà th ccthi
ñ CPU ñ và th thi
Kh ii xu tt nh p
Kh xu nh p
Giao ti p v iimôi trư ng bên ngoài
Giao ti p v môi trư ng bên ngoài
xu ttnh p d li u, b nh ph
xu nh p d li u, b nh ph
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 24
26. T ch c Máy tính 1 CPU & 2 I/O device
CPU
Control Unit
Control Unit
ALU
ALU
I/O Devices
Registers
Main Memory Disk Printer
………. ……….
Bus
Bus
Bus
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 25
27. Sơ ñ kh i chi ti t
ñ c, phân
tích, ra l nh
cho các ñơn Main Memory
Main Memory
v ch c Control Unit
Control Unit
năng th c Có 2 tác v ::ñ cc/Ghi
Có 2 tác v ñ /Ghi
hi n ALU
ALU 2 lo iid li u:
2 lo d li u:
1) Data ::ss li u ñ u vào,
1) Data li u ñ u vào,
k ttqu ,d li u trung gian
k qu ,d li u trung gian
Registers 2) Chương trình
2) Chương trình
Registers
Phép toán: s
h c, lu n lý, so
sánh, d ch, ðơn v giao ti p – IO Card
ðơn v giao ti p – IO Card
quay,x lý bit.
M I phép
toán cho IO Devices
IO Devices
Chuong 1 C U TRÚC T NG
4/4/2006 2 k t qu QUÁT C A HTMT 26
28. T ng k t chương
Máy tính ñư c thi t k trên ý tư ng c a
Máy Turing và nguyên lý Von Neumann.
V m t ch c năng máy tính g m 3 ph n :
ñơn v x lý, b nh chính và các thi t b
xu t nh p.
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 27
29. Câu h i
Câu 1: Trình bày nguyên lý Von Neumann.
Câu 2: Cho bi t s khác nhau gi a mô hình
Turing và mô hình VonNeumann.
Câu 3: Trình bày nguyên lý ho t ñ ng c a Máy
Turing.
Câu 4: Tru c khi có nguyên lý Von Neumann,
chương trình ñ máy tính th c hi n ñư c ñ
ñâu?
Câu 5 : Cho bi t k t qu c a 2+3 ?
Chuong 1 C U TRÚC T NG
4/4/2006 QUÁT C A HTMT 28
30. Chương 2 : T ch c CPU
M c tiêu :
N m ñư c ch c năng c a CPU
Hi u ñư c các thành ph n bên trong CPU.
N m ñư c cách CPU giao ti p v i thi t b ngo i vi.
Bi t ñư c các ñ c tính c a CPU h Intel
Chuong 2 : T ch c CPU 1
31. 2.1 Gi i thi u h th ng s
2.2 B x lý trung tâm CPU
2.3 H th ng Bus
2.4 B thanh ghi
2.5 Cơ ch ñ nh v ñ a ch
2.6 Các ñ c tính thi t k liên quan ñ n hi u su t CPU h Intel
2.7 Các ñ c trưng c a CPU h Intel
2.8 Câu h i ôn t p
Chuong 2 : T ch c CPU 2
32. 2.1 H th ng s
Cơ s d ng ký s và ký t bi u di n s
H ñ m s ký
s
nh phân 2 2 0 1 Ex : 1010b
bát phân 8 8 01234567 Ex : 24o
th p phân 10 10 0 1 2 3 4 5 6 7 8 9 Ex : 12d
th p l c 16 16 0123456789ABCDEF
phân Ex : 3F8h
Chuong 2 : T ch c CPU 3
33. H th ng s
H th ng s là gì ?
Vào th I ñi m ñó, vi c dùng các que ñ ñ m là 1 ý tư ng vĩ ñ i!!
Còn vi c dùng các ký hi u thay cho các que ñ m còn vĩ ñ i hơn!!!!
M t trong các cách ñ bi u di n 1 s hi n nay là s d ng h th ng
s ñ m decimal.
Có nhi u cách ñ bi u di n 1 giá tr s . Ngày xưa, con ngư idùng
các que ñ
ñ m sau ñó ñã h c v các hình trên m tñ t và trên gi y.
thí d s 5 l n ñ u ñư c bi u di n b ng | | | | | (b ng 5
que).
Sau ñó ch s La Mã b t ñ u dùng các ký hi u khác nhau ñ bi u
di n nhi u s g n hơn.
Thí d s 3 v n bi u di n b I 3 que | | | nhưng s 5 thì ñư c thay
b ng V còn s 10 thì thay b ng X.
Chuong 2 : T ch c CPU 4
34. H th ng s
S d ng que ñ ñ m là 1 ý nghĩa vĩ ñ I th i ñi m
này.Và vi c dùng các ký hi u ñ thay cho các que
ñ m càng vĩ ñ i hơn!!!.
M t trong nh ng cách t t nh t hi n nay là dùng h th ng
s th p phân (decimal system).
Chuong 2 : T ch c CPU 5
35. Decimal System
Con ngư i ngày nay dùng h 10 ñ ñ m.Trong h 10 có 10 digits
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Nh ng ký s này có th bi u di n b t kỳ 1 giá tr nào, thí d :
754
Chuong 2 : T ch c CPU 6
36. V trí c a t ng ký s r t quan tr ng, thí d n u ta ñ t "7"
cu i thì:
547
nó s là 1 giá tr khác :
Chuong 2 : T ch c CPU 7
37. Binary System
MT không thông minh như con ngư I,nó dùng tr ng thái c a ñi n t :
on and off, or 1 and 0.
MT dùng binary system, binary system có 2 digits:
0, 1
Như v y cơ s (base) là 2.
M i ký s (digit) trong h binary number ñư c g i là BIT, 4 bits nhóm
thành 1 NIBBLE, 8 bits t o thành 1 BYTE, 2 bytes t o thành
1 WORD, 2 words t o thành 1 DOUBLE WORD (ít dùng):
Chuong 2 : T ch c CPU 8
38. Hexadecimal System
Hexadecimal System
Hexadecimal System dùng 16 digits:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
do ñó cơ s (base) là 16.
Hexadecimal numbers are compact and easy to read.
Ta d dàng bi n ñ I các s t binary system sang hexadecimal system and
và ngư c l i, m i nibble (4 bits) có th bi n thành 1 hexadecimal digit :
Ex : 1234h = 4660d
Chuong 2 : T ch c CPU 9
39. Các phép toán trong h nh phân
c ng :
0+0=0 0+1=1 1+ 0 = 1 1 + 1 = 0 nh 1
tr : 0- 0=0 0 - 1 = 1 mư n 1 1 – 0 = 1 1- 1=0
Nhân : có th coi là phép c ng liên ti p
Chia : có th coi là phép tr liên ti p
Chuong 2 : T ch c CPU 10
40. Các phép toán trong h nh phân …
B ng phép tính Logic cho các s nh phân
A B A and A or A xor Not A
B B B
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
Chuong 2 : T ch c CPU 11
41. Chuy n h töø 10 heä 2
Ñoåi töø heä 10 heä 2 :
Ex : 12d = 1100b
Caùch ñoåi : laáy soá caàn ñoåi chia lieân tieáp cho 2, döøng khi soá bò
chia baèng 0. Keát quaû laø caùc soá dö laáy theo chieàu ngöôïc laïi.
12 : 2 = 6
0 6:2=3
0 3:2 =1
1 1:2 = 0 döøng
1
Chuong 2 : T ch c CPU 12
42. Chuy n h töø heä 2 heä 10
Ñoåi töø heä 2 heä 10 :
Ex : 1100b = ?d
Caùch ñoåi : Σ ai*2i vôùi i ∈ 0...n
a laø kyù soá cuûa soá caàn ñoåi.
1*23+1*22+0*21+0*20 = 12d
a
Chuong 2 : T ch c CPU 13
43. Chuy n h töø heä 10 heä 16
Ñoåi töø heä 10 heä 16 :
Ex : 253d = ?h
Caùch ñoåi : laáy soá caàn ñoåi chia lieân tieáp cho 16, döøng khi soá bò chia
= 0. Keát quaû laø chuoåi soá dö laáy theo chieàu ngöôïc laïi.
253d = FDh
Chuong 2 : T ch c CPU 14
44. Chuy n h töø heä 2 heä 16
Ñoåi töø heä 2 heä 16 :
Ex : 101011010b = ?h
Caùch ñoåi : nhoùm 4 chöõ soá nhò phaân thaønh töøng nhoùm, roài chuyeån
ñoåi töøng nhoùm sang soá heä thaäp luïc phaân.
000101011010d = 15Ah
1 5 A
Chuong 2 : T ch c CPU 15
45. 2.2 B x lý trung tâm CPU
Chuong 2 : T ch c CPU 16
46. 2.2 B x lý trung tâm CPU
CPU (Central Processing Unit) B x lý trung tâm –
Ch c năng : th c hi n chương trình lưu trong b nh chính b ng caùch
l y l nh ra - kh o saùt - th c hi n l n lư t caùc l nh.
Moãi CPU coù 1 taäp leänh rieâng. Chöông trình ñöôïc thöïc thi ôû CPU naøo
seõ chæ goàm caùc leänh trong taäp leänh cuûa CPU ñoù.
CPU g m 1 s b ph n tách bi t :
B ñi u khi n l y l nh ra t b nh và xác ñ nh ki u l nh.
B lu n lý và s h c (ALU) th c hi n phép toán như c ng, and.
Các thanh ghi (Registers) : lưu k t qu t m th i và các thông tin ñi u
khi n.CPU giao ti p v i các b ph n khác trong máy tính thông qua các
tuy n g i là Bus
Chuong 2 : T ch c CPU 17
47. CPU (cont)
Caùc nhaø cheá taïo CPU qui ñònh toác ñoä thöïc
hieän cuûa töøng chip phuø hôïp vôùi nhòp tim cuûa
chip ñoù (clock speed) toác ñoä ñoàng hoà, nhòp
ñoàng hoà.
Ñôn vò ño toác ñoä cuûa chip CPU laø Mhz cho
bieát chip ñaäp bao nhieâu nhòp trong 1 s.
Ex : CPU 500Mhz.
Chuong 2 : T ch c CPU 18
48. Sơ ñ kh i
ñ c, phân
tích l nh ,
CPU
ra l nh cho
các ñơn v Main Memory
Main Memory
ch c năng
Control Unit
Control Unit
th c hi n Có 22tác vv ::ð cc/Ghi
Có tác ð /Ghi
22lo i id li u:
lo d li u:
ALU
ALU 1) Data ::ss li u ñ u vào,
1) Data li u ñ u vào,
k ttqu , ,
k qu
d li u trung gian
d li u trung gian
2) Chương trình
2) Chương trình
Registers
Registers
Phép toán: s
h c, lu n lý, so
sánh, d ch, ðơn v giao ti p – IO Card
ðơn v giao ti p – IO Card
quay,x lý bit
IO Device
IO: Device
Chuong 2 T ch c CPU 19
49. Chu kyø leänh
Moät chu kyø thöïc hieän leänh maùy goàm 3 giai ñoaïn chính sau :
1. Laáy leänh : leänh caát ôû oâ nhôù seõ ñöôïc laáy vaøo thanh ghi
leänh.
2. Giaûi maõ vaø thöïc hieän leänh : leänh trong thanh ghi leänh seõ
ñöôïc giaûi maõ vaø thöïc hieän theo moâ taû cuûa leänh trong taäp
leänh.
3. Xaùc ñònh ñòa chæ cuûa leänh tieáp theo : trong khi leänh ñöôïc
thöïc hieän, giaù trò cuûa boä ñeám chöông trình seõ töï ñoäng
taêng leân chæ ñeán oâ nhôù chöùa leänh seõ ñöôïc thöïc hieän tieáp
theo.
Chu kyø leänh ñöôïc xaây döïng töø nhöõng ñôn vò cô baûn laø chu kyø maùy.
Chuong 2 : T ch c CPU 20
50. Chu kyø maùy
Chu kyø maùy laø chu kyø cuûa 1 hoaït ñoäng cô baûn
cuûa maùy tính nhö :
Chu kyø ñoïc boä nhôù
Chu kyø ghi boä nhôù
Chu kyø ñoïc toaùn haïng
Chu kyø ghi keát quaû
Clock : xung laøm nhieäm vuï ñònh thì cho maïch
tuaàn töï.
Chuong 2 : T ch c CPU 21
51. Thöïc hieän leänh
CPU thöïc hieän leänh tuaàn töï theo chuoåi caùc böôùc :
Laáy leänh keá töø boä nhôù. thanh ghi leänh.
Thay ñoåi PC ñeå chæ ñeán leänh keá tieáp.
Xaùc ñònh kieåu leänh vöøa laáy ra.
Xaùc ñònh kieåu döõ lieäu vöøa yeâu caàu vaø xaùc ñònh vò
trí döõ lieäu trong boä nhôù.
Neáu leänh caàn döõ lieäu trong boä nhôù, naïp noù vaøo
thanh ghi cuûa CPU
Chuong 2 : T ch c CPU 22
52. Thöïc hieän leänh (cont)
Thöïc hieän leänh..
Löu keát quaû ôû nôi thích hôïp. .
Trôû v böôùc 1 ñeå thöïc hieän leänh keá.
Chuong 2 : T ch c CPU 23
53. S phân ph i th i gian cho 2 quá trình l y l nh và
thi hành l nh c a CPU thư ng và CPU ñư ng ng
L y
l nh L NH 1 L NH 2 L NH 3
Thi
hành L NH 1 L NH 2 L NH 3
l nh
CPU thư ng
L y
l nh L NH 1 L NH 2 L NH 3
Th i gian ti t ki m ñư c
Thi
L NH 1 L NH 2 L NH 3
hành
l nh CPU dùng cơ c u ñư ng ng
(piple line)
Chuong 2 : T ch c CPU 24
54. Heä ña boä xöû lyù (MultiProccessor)
Shared
CPU
CPU CPU
CPU CPU
CPU CPU
CPU memory
Bus
Heä MultiProccessor söû duïng 1 ñöôøng Bus
Chuong 2 : T ch c CPU 25
55. Heä ña boä xöû lyù (MultiProccessor)
Local Memory
Shared
CPU
CPU CPU
CPU CPU
CPU CPU
CPU memory
Bus
Heä MultiProccessor söû duïng nhieàu boä nhôù cuïc boä
Chuong 2 : T ch c CPU 26
56. Bus
Bus là các ñư ng truy n. Thông tin s
ñư c chuy n qua l i gi a các thành
ph n linh ki n thông qua m ng lư i
g i là các Bus.
Chuong 2 : T ch c CPU 27
57. 2.3 H th ng Bus
Các thi t b ngo i vi k t n i v i h
th ng nh các khe c m m r ng
(expansion slot).
Bus h th ng (Bus system) s k t n i
t t c các thành ph n l i v i nhau.
Có 3 lo i bus :bus d li u (data bus),
bus ñ a ch (address bus) và bus ñi u
khi n (control bus).
Chuong 2 : T ch c CPU 28
58. Các lo i Bus
Address Bus : nhóm ñư ng truy n nh n di n v
trí truy xu t trong thi t b ñích : thông tin ñư c
ñ c t ñâu ho c ghi vào ñâu.
Data Bus : nhóm ñư ng truy n ñ t i data th c
s gi a các thi t b h th ng do ñ a ch trên
address bus ñã xác ñ nh. ð r ng c a data bus (s
ñư ng dây d n) xác ñ nh data trong m i l n
truy n là bao nhiêu.
Control Bus : nhóm ñư ng truy n cho các tín hi u
ñi u khi n như : tác v là ñ c hay ghi, tác v th c
thi trên b nh hay trên thi t b ngo i vi, nh n d ng
chu kỳ bus và khi nào thì hoàn t2 :tTtác cv …
Chuong ch CPU 29
59. Minh h a h th ng Bus
Address bus
CPU Memory
CPU Data bus
Control bus
IO devices
IO devices
Chuong 2 : T ch c CPU 30
61. An Input and an Output Device That Share
the Same Address (a Dual I/O Port)
Chuong 2 : T ch c CPU 32
62. Connection of the PCI and ISA
Busses in a Typical PC
Industry
Standard
Architecture
Peripheral
Component
Interconnect
Chuong 2 : T ch c CPU 33
63. PCI local bus n. Short for Peripheral Component Interconnect
local bus. A specification introduced by Intel Corporation that
defines a local bus system that allows up to 10 PCI-compliant
expansion cards to be installed in the computer. A PCI local bus
system requires the presence of a PCI controller card, which must
be installed in one of the PCI-compliant slots. Optionally, an
expansion bus controller for the system’s ISA, EISA, or Micro
Channel Architecture slots can be installed as well, providing
increased synchronization over all the system’s bus-installed
resources. The PCI controller can exchange data with the
system’s CPU either 32 bits or 64 bits at a time, depending on the
implementation, and it allows intelligent, PCI-compliant adapters
to perform tasks concurrently with the CPU using a technique
called bus mastering. The PCI specification allows for
multiplexing, a technique that permits more than one electrical
signal to be present on the bus at one time.
Chuong 2 : T ch c CPU 34
64. Bus PCI
PCI chu n n I ghép các thi t b ng ai vi v i b
VXL t c ñ cao c a Intel như 486/Pentium
•T c ñ t i ña 33MHz
•Data bus 32 bits và 64 bits
•H tr cho 10 thi t b ngo i vi
•Plug and Play
Chuong 2 : T ch c CPU 35
65. Plug and Play
1.C BIOS trên mainboard và Card b
sung ñ u không ph I là Plug and Play.
2. BIOS trên mainboard Plug and Play
nhưng Card b sung thì không ph n
m m cài ñ t s giúp s p x p ñ a ch
I/O, IRQ và các kênh DMA.
3. BIOS trên mainboard và Card b sung là
Plug and Play c u hình t ñ ng th c
hi n m i công vi c.
Chuong 2 : T ch c CPU 36
67. AGP (Accelerated Graphics Port)
Acronym for Accelerated Graphics Port. A high-performance bus
specification designed for fast, high-quality display of 3-D and video
images. Developed by Intel Corporation, AGP uses a dedicated
point-to-point connection between the graphics controller and main
system memory. This connection enables AGP-capable display
adapters and compatible chip sets to transfer video data directly
between system memory and adapter memory, to display images
more quickly and smoothly than they can be displayed when the
information must be transferred over the system’s primary (PCI) bus.
AGP also allows for storing complex image elements such as texture
maps in system memory and thus reduces the need for large
amounts of memory on the adapter itself. AGP runs at 66 MHz—
twice as fast as the PCI bus—and can support data transfer speeds
of up to 533 Mbps..
Chuong 2 : T ch c CPU 38
68. ð r ng Bus
ð r ng bus chính là s ñư ng dây d n h p thành bus.
V i address bus : trên m i ñư ng dây ch có th có 1
trong 2 tr ng thái 0 ho c 1 nên bus có ñ r ng n thì có th
nh n bi t ñư c 2n ñ a ch .
V i data bus : ñư c thi t k theo nguyên t c là b i c a 8
(8,16,32,64 bit) như th m i l n truy n 1 byte/2 bytes/4
bytes tùy theo máy. B r ng Data bus càng l n thì data
truy n càng nhanh.
Chuong 2 : T ch c CPU 39
69. Bus PC/XT có khe c m 62 chân bao g m :
Data bus D0-D7
Adrress Bus A0-A19
Các tín hi u ñi u khi n ….
Bus PC/AT : bus XT + 36 chân n a ñ làm vi c
v I data bus 16 bit, bus ñ a ch 24 bit.
36 chân b sung ñư c dùng làm các ñư ng d
li u D8-D15, các ñư ng ñ a ch A21-A23,…
D0-D7 : là bus d li u 8 bit, 2 chi u n i gi a
b VXL v i b nh , I/O.
Chuong 2 : T ch c CPU 40
70. Như c ñi m c a Bus ISA
Data bus b h n ch 16 bits không th ph I
h p v I data bus 32 bits c a b VXL
386/486/Pentum.
Address bus ñ a ch 24 bits gi i h n kh năng
truy c p b nh c c ñ i qua khe c m m r ng
16MB không th ph i h p ñư c v i bus ñ a
ch 32 bit c a 386/486/Pentium.
Chuong 2 : T ch c CPU 41
71. Chu kỳ Bus
M i chu kỳ bus là 1 tác v xãy ra trên bus ñ truy n t i data.
M i l n CPU c n l nh (ho c data) t b nh ho c I/O,
chúng ph i th c thi 1 chu kỳ bus ñ có ñư c thông tin
ho c ghi thông tin ra b nh ho c ra I/O.
M i chu kỳ bus g m 2 bư c :
bư c 1 : g i ñ a ch
bư c 2 : truy n data t ñ a ch ñã ñư c ñ nh v .
Chuong 2 : T ch c CPU 42
72. 4 chu kỳ bus cơ b n :
ñ c b nh (memory Read)
ghi b nh (memory Write)
ñ c I/O (I/O Read)
ghi I/O (I/O Write).
Các tín hi u c n thi t ñ th c hi n các chu kỳ bus
ñư c sinh ra b i CPU ho c DMA Controller ho c
b làm tươi b nh .
Chuong 2 : T ch c CPU 43
73. Chu kỳ Bus
M i chu kỳ Bus ñòi h i t i thi u tr n v n 2 xung ñ ng
h h th ng.
ðây là m c tham chi u theo th i gian ñ ñ ng b hoá
t t c các tác v bên trong máy tính. Xung ñ u tiên g i
là Address time , ñ a ch truy xu t s ñư c g i ñi cùng
v i tín hi u xác ñ nh lo i tác v s ñư c th c thi
(ñ c/ghi/ñ n mem/ñ n I/O).
Chuong 2 : T ch c CPU 44
74. Chu kỳ Bus
Cu i xung th 2, CPU s ki m tra ñư ng tín hi u
Ready. N u thi t b c n truy xu t s n sàng ñáp ng tác
v , thi t b này s kích 1 tín hi u lên ñư ng Ready ñ
báo cho CPU bi t và chu kỳ bus hoàn t t.
Khi 1 thi t b không s n sàng, không có tín hi u trên ñư ng
Ready, CPU ph i ch , có th ph i tiêu t n thêm 1 hay nhi u
xung clock.
Chuong 2 : T ch c CPU 45
75. Chu kỳ Bus (cont)
Data2
Add1 Data1 Add2
Ready
Chu kỳ bus Chu kyø Bus khi khoâng coù traïng thaùi chôø
Data1 Add2 Data2
Add1
Chu kyø Bus khi coù traïng thaùi chôø
InactiveReady
Chu kỳ bus Chuong 2 : T ch c CPU 46
76. Chu kỳ Bus (cont)
Chú ý :
Trong 1 s h th ng, cho phép ta Setup m t s wait states
trong ph n Extend Setup c a Bios.
N u ta cho giá tr này nh thì có th ngo i vi
không theo k p CPU và h th ng b treo.
Còn n u cho giá tr này l n thì t c ñ chung
c a h th ng b ch m l i.
Wait states m c ñ nh là 4 cho các v m ch 8 bit và là 1
cho các vĩ m ch 16 bit.
t c ñ truy n t i t i ña :
t c ñ truy n t i = t c ñ bus (MHz) x s bytes trong 1
l n truy n /s chu kỳ xung clock cho m i l n truy n
Chuong 2 : T ch c CPU 47
77. 2.4 H th ng thanh ghi
Là các ph n t có kh năng lưu tr thông tin v i
dung lư ng 8, 16 , 32, 64 bit.
ðư c xây d ng t các FlipFlop nên có t c ñ
truy xu t r t nhanh.
Phân lo i thanh ghi :
Thanh ghi t ng quát : ch y u dùng ñ lưu tr d li u
trong quá trình th c thi CT, nhưng m i thanh ghi còn có 1
s ch c năng riêng.
Thanh ghi ñi u khi n : các bit c a nó qui ñ nh tác v c a
các ñơn v ch c năng c a MT.
Thanh ghi tr ng thái : lưu tr thông tin mô t tr ng thái.
Chuong 2 : T ch c CPU 48
78. AX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AH AL
Thanh ghi AX (Accumulator register) : thanh ghi tích
lu , dài 16 bit nhưng nó cũng có th chia làm 2 thanh
ghi 8 bit AH và AL
AX ngoài ch c năng lưu tr d li u, nó còn ñư c CPU
dùng trong phép toán s h c như nhân, chia.
Chuong 2 : T ch c CPU 49
79. AX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AH AL
Thanh ghi AH là n a cao c a thanh ghi AX
Thanh ghi AL là n a th p c a thanh ghi AX
Thí d n u AX=1234h thì AH=12H AL=34h
Chuong 2 : T ch c CPU 50
80. BX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BH BL
Thanh ghi BX (Base register) : dài 16 bit nhưng nó
cũng có th chia làm 2 thanh ghi 8 bit BH và BL
BX lưu gi ñ a ch c a 1 th t c hay bi n, nó cũng
ñư c dùng th c hi n các phép d i chuy n s h c và d
li u.
Chuong 2 : T ch c CPU 51
81. DX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DX
DH DL
Thanh ghi DX (Data register) : dài 16 bit nhưng nó
cũng có th chia làm 2 thanh ghi 8 bit DH và DL
Thanh ghi DX : có vai trò ñ c bi t trong phép nhân
và phép chia ngoài ch c năng lưu tr d li u.
Ex : khi nhân DX s lưu gi 16 bit cao c a tích.
Chuong 2 : T ch c CPU 52
82. CX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CX
CH CL
CX (Counter register) : thanh ghi này dùng làm b ñ m trong
các vòng l p. Các l nh t ñ ng l p l i và sau m i l n l p giá
tr c a CX t ñ ng gi m ñi 1.
CL thư ng ch a s l n d ch, quay trong các l nh d ch, quay
thanh ghi
CX dài 16 bit, nó cũng có th chia làm 2 thanh ghi 8 bit là CH
và CL
Chuong 2 : T ch c CPU 53
83. Các thanh ghi Segment
CPU có 4 thanh ghi segment dài 16 bit, các thanh ghi này không th
chia làm 2 thanh ghi 8 bit như 4 thanh ghi AX,BX,CX và DX.
Các thanh ghi ño n ñư c s d ng như là ñ a ch cơ s c a các l nh
trong chương trình, stack và d li u.
4 thanh ghi ño n : CS (Code Segment), DS (Data Segment), SS (Stack
Segment) và ES (Extra Segment).
CS : ch a ñ a ch b t ñ u c a code trong chương trình.
DS : ch a ñ a ch c a các bi n khai báo trong chương trình.
SS : ch a ñ a ch c a b nh Stack dùng trong chương trình
ES : ch a ñ a ch cơ s b sung cho các bi n b nh .
Chuong 2 : T ch c CPU 54
84. Thanh ghi 32 bit
Ñoái vôùi moät soá CPU ñôøi môùi, coù caùc thanh ghi daøi
32, 64 bit. Ta ghi theâm E ñöùng tröôùc teân caùc
thanh ghi 16 bit...
EAX, EBX, ECX, EDX ....
Chuong 2 : T ch c CPU 55
85. 2.5 Thanh ghi ño n và s hình thành ñ a ch
8088 s d ng 20 bit ñ ñánh ñ a ch b nh qu n
lý trên 1Mb b nh . Nhưng 8088 l i không có thanh ghi
nào 20 bit, t t c là 16 bit do ñó 1 thanh ghi ch có th
ñánh ñ a ch t i ña là 64 kB b nh .
Như v y ph i k t h p 2 thanh ghi m i ñ a ch
hoá toàn b b nh . 8088 s 1 trong các thanh
ghi dùng chung và 1 trong các thanh ghi ño n
(CS,DS,SS,ES) ñ t o thành 1 ñ a ch 20 bit.
Chuong 2 : T ch c CPU 56
86. S PHÂN ðO N B NH
CPU 8086 dùng phương pháp phân ñ an b nh
ñ qu n lý b nh 1MB c a nó.
ð a ch 20 bit c a b nh 1MB không th
ch a ñ trong các thanh ghi 16 bit c a CPU
8086 b nh 1MB ñư c chia ra thành các
ño n (segment) 64KB.
ð a ch trong các ñ an 64KB ch có 16
bit nên CPU 8086 d dàng x lý b ng
các thanh ghi c a nó.
PHÂN ðO N B NH : là cách dùng các
thanh ghi 16 bit ñ bi u di n cho ñ a ch 20
bit.
Chuong 2 : T ch c CPU 57
87. 2.5 ð a ch v t lý & ñ a ch lu n lý
ð a ch 20 bits ñư c g i là ñ a ch v t lý.
ð a ch v t lý dùng như th nào ?
Dùng trong thi t k các m ch gi i mã ñ a
ch cho b nh và xu t nh p.
Còn trong l p trình , ñ a ch v t lý không
th dùng ñư c mà nó ñư c thay th b ng
ñ a ch lu n lý (logic).
Chuong 2 : T ch c CPU 58
88. ð a ch lu n lý
ð a ch c a 1 ô nh ñư c xác ñ nh b i 2 ph n:
Segment : offset ð a ch trong
ño n (ñ d i)
ð a ch ño n
Ex : B001:1234
M i ñ a ch thành ph n là 1 s 16 bit và ñư c vi t
theo cách sau :
Segment : offset
Chuong 2 : T ch c CPU 59
89. S hình thành ñ a ch
Hãng Intel ñ xu t 1 phương pháp ñ hình thành ñ a ch .
M i ñ a ch ô nh ñư c hình thành t 1 phép tính t ng 1 ñ a ch cơ s và
1 ñ a ch offset.
ð a ch cơ s lưu trong 1 thanh ghi segemnt, còn ñ a ch offset n m trong
1 thanh ghi ch s hay thanh ghi con tr .
Phép c ng này s t o 1 ñ a ch 20 bit g i là ñ a ch v t lý.
Chuong 2 : T ch c CPU 60
90. Thí d minh ho hình thành ñ a ch
15 0
ð a ch Offset
ð a ch Offset
15 0
ð a ch segment
ð a ch segment 0000
19 c ng 0
ð a ch v ttlý 20 bit
ð a ch v lý 20 bit
Chuong 2 : T ch c CPU 61
91. S hình thành ñ a ch tuy t ñ i
ñ a ch
segment
ñ a ch Offset
G a s ta có ñ a ch 08F1 : 0100
ñ a ch tương ñ i
CPU t ñ ng l y ñ a ch segment x 10 (h 16) thành 08F10
Sau ñó nó c ng v i ñ a ch Offset 0100
ñ a ch tuy t ñ i : 09010
Chuong 2 : T ch c CPU 62
92. Cách tính ñ a ch v t lý t ñ a ch lu n lý
ð a ch v t lý = (segment*16) + offset
Segment 0
+ offset
ð a ch v t lý
Ex : tính ñ a ch v t lý tương ng ñ a ch lu n
lý B001:1234
ð a ch v t lý = B0010h + 1234h = B1244h
Chuong 2 : T ch c CPU 63
93. S ch ng ch t các ño n
ð a ch segment hay còn g i là ñ a ch n n c a
ño n. Nó cho bi t ñi m b t ñ u c a ño n trong
b nh .
ð a ch offset th hi n kho ng cách k t ñ u
ñ an c a ô nh c n tham kh o.
Do offset dài 16 bit nên chi u dài t i ña
c a m i ñ an là 64K.
Chuong 2 : T ch c CPU 64
94. S ch ng ch t các ño n
Trong m i ño n, ô nh ñ u tiên có offset là
0000h và ô nh cu i cùng là FFFFh.
B nh
segment 0000
offset
Ô nh có 64KB
ñ a ch
segment:
offset FFFF
Chuong 2 : T ch c CPU 65
95. M i ô nh ch có ñ a ch v t lý nhưng có th có
nhi u ñ a ch lu n lý.
Ex : 1234:1234
ð u có chung ñ a ch
1334:0234 v t lý 13574h
1304:0534
T i sao ?
Chuong 2 : T ch c CPU 66
96. ð hi u rõ t i sao ta hãy xét m i quan h gi a ñ a
ch v t lý v i segment và offset
00000h
0000:
0001: 00010h
0002: 00020h
Ph n ch ng
ch p c a 3
segment
0000,0001,0002
0FFFFh
1000Fh
1001Fh
Chuong 2 : T ch c CPU 67
97. Gi i thích
0000:0000 00000h
Gi nguyên ph n segment, tăng ph n offset
lên 1 thành ra ñ a ch lu n lý là 0000:0001
ð a ch v t lý tương ng là 00001h
Tương t v I ñ a ch lu n lý là 0000:0002 ta có
ñ a ch v t lý là 00002h
Khi offset tăng 1 ñơn v thì ñ a ch v t lý
tăng 1 ñ a ch ho c là tăng 1 byte.
Như v y có th xem ñơn v c a offset là byte
Chuong 2 : T ch c CPU 68
98. Làm l i quá trình trên nhưng gi nguyên ph n
offset ch tăng ph n segment.
0001:0000 00010h
0002:0000 00020h
Khi segment tăng 1 ñơn v thì ñ a ch v t lý
tăng 10h ñ a ch ho c là tăng 16 bytes
ðơn v c a segemnt là paragraph
Chuong 2 : T ch c CPU 69
99. Ta th y segment 0000 n m ñ u
vùng nh nhưng segment 0001 b t
ñ u cách ñ u vùng nh ch có 16
bytes, segment 0002 b t ñ u cách
ñ u vùng nh 32 bytes…..
Ph n ch ng ch p 3 segment
0000,0001,0002 trên hình v là vùng b
nh mà b t kỳ ô nh nào n m trong ñó
(ñ a ch v t lý t 00020h ñ n 0FFFFh) ñ u
có th có ñ a ch lu n lý tương ng trong
c 3 segment.
Chuong 2 : T ch c CPU 70
100. Ex : ô nh có ñ a ch 0002Dh s có ñ a ch
logic trong segment 0000 là 0000:002D
Trong segment 0001 là 0001:001D
Trong segment 0002 là 0002:000D
n u vùng b nh nào càng có nhi u
segment ch ng ch p lên nhau thì các ô
nh trong ñó càng có nhi u ñ a ch lu n lý.
Chuong 2 : T ch c CPU 71
101. M t ô nh có bao nhiêu
ñ a ch lu n lý
M t ô nh có ít nh t 1 ñ a ch
lu n lý và nhi u nh t là
65536/16 = 4096 ñ a ch lu n lý
Chuong 2 : T ch c CPU 72
102. Caùc thanh ghi ñoaïn CS, DS, SS, ES
3 trong 4 thanh ghi ñoaïn ñöôïc duøng trong caùc muïc
ñích ñaëc bieät sau
CS : xaùc ñònh ñoaïn leänh – nôi chöùa chöông trình
ñöôïc thi haønh.
DS : xaùc ñònh ñoaïn döõ lieäu – nôi chöùa chöông trình
ñöôïc thi haønh.
SS : xaùc ñònh ñoaïn stack – vuøng laøm vieäc taïm thôøi
duøng ñeå theo doõi caùc tham soá vaø caùc ñòa chæ ñang
ñöôïc chöông trình hieän haønh söû duïng.
Coøn thanh ghi ES : troû ñeán ñoaïn theâm, thöôøng ñöôïc
duøng ñeå boå sung cho ñoaïn döõ lieäu coù vuøng nhôù
>64k cho ñoaïn döõ lieäu.
Chuong 2 : T ch c CPU 73
103. Caùc thanh ghi ñoaïn CS, DS, SS, ES
3 trong 4 thanh ghi ñoaïn ñöôïc duøng trong caùc muïc
ñích ñaëc bieät sau
CS : xaùc ñònh ñoaïn leänh – nôi chöùa chöông trình
ñöôïc thi haønh.
DS : xaùc ñònh ñoaïn döõ lieäu – nôi chöùa chöông trình
ñöôïc thi haønh.
SS : xaùc ñònh ñoaïn stack – vuøng laøm vieäc taïm thôøi
duøng ñeå theo doõi caùc tham soá vaø caùc ñòa chæ ñang
ñöôïc chöông trình hieän haønh söû duïng.
Coøn thanh ghi ES : troû ñeán ñoaïn theâm, thöôøng ñöôïc
duøng ñeå boå sung cho ñoaïn döõ lieäu coù vuøng nhôù
>64k cho ñoaïn döõ lieäu.
Chuong 2 : T ch c CPU 74
104. Thanh ghi traïng thaùi (thanh ghi côø)
Thanh ghi côø laø thanh ghi 16 bit naèm beân trong
EU (Excution Unit). Tuy nhieân chæ coù 9 trong 16
bit ñöôïc söû duïng.7 bit coøn laïi khoâng duøng.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
O D I T S Z A P C
O OverFlow flag D : Direction flag I : Interrupt flag
T : Trap flag S : Sign flag Z : Zero flag
A : Auxiliary flag P : Parity flag C : Carry flag
Chuong 2 : T ch c CPU 75
105. Thanh ghi traïng thaùi (thanh ghi côø)
Giaûi thích :
Côø CF : chæ thò coäng coù nhôù, tröø coù möôïn.
Côø PF : On khi keát quaû cuûa taùc vuï coù soá bit 1 laø soá chaún.
Neáu soá bit 1 laø soá leû thì PF laø Off.
Côø AF : coù nhôù trong pheùp coäng hoaëc coù möôïn trong pheùp tröø vôùi 4
bit thaáp sang 4 bit cao.
Côø ZF : On khi taùc vuï luaän lyù cho keát quaû laø 0.
Côø SF : bit cao nhaát cuûa keát quaû seõ ñöôïc copy sang SF. SF =1 keát
quaû laø soá aâm. SF = 0 khi keát quaû laø soá döong.
Chuong 2 : T ch c CPU 76
106. Thanh ghi traïng thaùi (thanh ghi côø)
Giaûi thích :
Côø OF : OF=1 khi keát quaû bò traøn soá (vöôït quaù khaû naêng löu tröõ ).
Neáu keát quaû khoâng bò traøn thì OF=0.
3 bit coøn laïi laø 3 bit ñieàu khieån :
Côø TF : baùo CPU thi haønh töøng böôùc. Cung caáp coâng cuï debug
chöông trình.
Côø IF : IF=1 giuùp 8086 nhaän bieát coù yeâu caàu ngaét quaõng coù che.
Côø DF : xaùc ñònh höôùng theo chieàu taêng/giaûm trong xöû lyù chuoåi.
8086 cho pheùp User laäp trình baät taét caùc côø CF,DF,IF,TF
Chuong 2 : T ch c CPU 77
107. Thanh ghi chæ soá (Index)
5 thanh ghi offset duøng ñeå xaùc ñònh chích xaùc 1 byte
hay 1 word trong 1 ñoaïn 64K.Ñoù laø :
IP : thanh ghi con troû leänh, cho bieát vò trí cuûa leänh
hieän haønh trong ñoaïn leänh. Con troû leänh IP coøn
ñöôïc goïi laø boä ñeám chöông trình.
Thöôøng ñöôïc duøng keát hôïp vôùi CS ñeå theo doõi vò trí
chính xaùc cuûa leänh seõ ñöôïc thöïc hieän keá tieáp.
Chuong 2 : T ch c CPU 78
108. Thanh ghi chæ soá (Index)
Caùc thanh ghi con troû Stack : SP vaø BP, moãi thanh ghi daøi
16 bit.
SP (Stack pointer) cho bieát vò trí hieän haønh cuûa ñænh Stack.
BP (Basic Pointer) duøng ñeå truy caäp döõ lieäu trong Stack.
SI (source index) : troû ñeán oâ nhôù trong ñoaïn döõ lieäu ñöôïc
ñònh ñòa chæ bôûi thanh ghi DS.
DI (destination) : chöùc naêng töông töï SI.
Hai thanh ghi naøy thöôøng duøng trong xöû lyù chuoåi.
Chuong 2 : T ch c CPU 79
109. ð A CH LU N LÝ VÀ THANH GHI
ð tham kh o ñ n b nh trong chương
trình, VXL 8086 cho phép s d ng các ñ a
ch lu n lý 1 cách tr c ti p ho c thông qua
các thanh ghi c a nó.
Thanh ghi ño n dùng ñ ch a segment
Thanh ghi t ng quát dùng ñ ch a ñ a ch
trong ño n offset
ð tham kh o ñ n ñ a ch lu n lý có
segment trong thanh ghi DS, offset
trong thanh ghi BX, ta vi t DS:BX
Chuong 2 : T ch c CPU 80
110. Ex : n u lúc tham kh o
DS = 2000h BX = 12A9h thì ñ a ch lu n lý
DS:BX chính là tham kh o ñ n ô nh
2000:12A9
Chuong 2 : T ch c CPU 81
111. Trong cách s d ng ñ a ch lu n lý thông qua các
thanh ghi có 1 s c p thanh ghi luôn ph i dùng
chung v i nhau 1 cách b t bu c :
CS:IP l y l nh (ñ a ch l nh s p thi hành)
SS:SP ñ a ch ñ nh Stack
SS:BP thông s trong Stack
(dùng trong chương trình con)
DS:SI ñ a ch chu i ngu n
ES:DI ñ a ch chu i ñích
Chuong 2 : T ch c CPU 82
112. Chương trình mà VXL 8086 thi hành thư ng
có 3 ñ an :
ð an chương trình có ñ a ch trong thanh ghi CS.
ð an d li u có ñ a ch trong thanh ghi DS.
ð an stack có ñ a ch trong thanh ghi SS.
Chuong 2 : T ch c CPU 83
113. Caùc ñaëc tính cuûa CPU Intel
Hieäu quaû cuûa CPU thuoäc hoï Intel khi xöû lyù vaø
chuyeån giao thoâng tin ñöôïc xaùc ñònh bôûi caùc
yeáu toá sau :
Taàn soá maïch xung ñoàng hoà cuûa CPU.
Ñoä roäng cuûa Data bus
Ñoä roäng cuûa Address bus
Chuong 2 : T ch c CPU 84
114. Caùc ñaëc tính cuûa CPU Intel
Taàn soá maïch xung ñoàng hoà cuûa CPU.caøng
nhanh thì toác ñoä xöû lyù caøng nhanh.
Ñoä roäng cuûa Data bus caøng roäng thì caøng
nhieàu data ñöôïc chuyeån giao trong 1 laàn giao
dòch.
Ñoä roäng cuûa Address bus caøng roäng thì khaû
naêng quaûn lyù boä nhôù caøng lôùn.
Chuong 2 : T ch c CPU 85
115. Caùc ñaëc tính cuûa CPU Intel
Data Bus Address bus Khaû naêng
Loaïi CPU (bit) (bit) quaûn lyù boä
nhôù
8088 8 20 1 MB
8086 16 20 1MB
80286 16 24 16Mb
80386 32 32 4 GB
80486 32 32 4 GB
Pentium 64 32 4GB
Chuong 2 : T ch c CPU 86
117. Toùm taét CPU hoï Intel
CPU 80386 : Data bus 32 bit neân coù theå quaûn lyù 4GB boä nhôù.
Caùc thanh ghi daøi 32 bit taêng ñoä chính xaùc cuûa caùc pheùp toaùn.
Ñoä roäng Bus taêng toác ñoä thöïc thi.
CPU 80386 hoaøn toaøn töông thích vôùi caùc CPU tröôùc noù.
Chuong 2 : T ch c CPU 88
119. RISC & CISC
Nguyeân lyù CISC :
Complex Intruction Set Computer
Taäp leänh khaù lôùn >300 leänh
Khaû naêng ñònh vò phöùc taïp
Moät soá leänh caàn phaûi vi leänh hoaù
quaù nhieàu leänh naïp laâu laøm chaäm heä thoáng
leänh phöùc taïp neân time giaûi maõ leänh nhieàu khi lôùn hôn time
thöïc thi.
Chæ coù hôn 20% leänh thöôøng duøng tôùi
Chuong 2 : T ch c CPU 90
120. RISC & CISC
Nguyeân lyù RISC : taäp leänh thu goïn
Reduce Intruction Set Computer
taäp leänh nhoû thi haønh ngay khoâng caàn giaûi maõ.
leänh laøm vieäc theo cô cheá ñöôøng oáng (pipeline).
Chuong 2 : T ch c CPU 91
121. CPU Pentium
3 thaønh phaàn goùp söùc taêng toác ñoä xöû lyù cuûa Pentium :
Ñôn vò tính toaùn soá nguyeân supercallar
Boä nhôù Cache caáp 1 ôû beân trong CPU.
Ñôn vò tính toaùn soá chaám ñoäng supercallar
Chuong 2 : T ch c CPU 92
122. SÔ ÑOÀ KHOÁI PENTIUM
Boä xöû lyù daáu chaám ñoäng
Registers
Vuøng ñeäm ñích
Reõ nhaùnh
U Pipeline cuûa
ALU
Cache
Haøng nhaët sôùm Data
Cache leänh registers
8K
8K
V Pipeline cuûa
ALU
BIU Quaûn lyù Bus
Chuong 2 : T ch c CPU 93
123. Caâu hoûi oân taäp
Bus laø gì? Trong caùc loaïi Bus, Bus naøo laø Bus 2
chieàu.
Cho 1 oâ nhôù coù ñòa chæ vaät lyù laø 1256H, cho bieát ñòa
chæ daïng segment:offset vôùi caùc ñoaïn 1256H vaø
1240H.
OÂ nhôù coù ñòa chæ vaät lyù 80FD2H, ôû trong ñoaïn naøo
thì noù coù offset = BFD2H?
Xaùc ñònh ñòa chæ vaät lyù cuûa oâ nhôù coù ñòa chæ logic
0A51H:CD90H
Chuong 2 : T ch c CPU 94
124. Caâu hoûi oân taäp
Theá naøo laø bieân giôùi ñoaïn?
Söï khaùc nhau cô baûn giöõa boä vi xöû lyù 8086 vaø
80286?
Thuyeát minh trình töï CPU thöïc hieän caâu leänh
Mem(b) Not Mem(a)
Chu kyø leänh, chu kyø maùy. Cho bieát quan heä giöõa
chu kyø clock, chu kyø maùy vaø chu kyø leänh.
Quan heä giöõa taäp leänh vaø kieán truùc cuûa CPU
Chuong 2 : T ch c CPU 95
125. Caâu hoûi oân taäp
Giaûi thích taïi sao khi taêng taàn soá xung clock, giaûm
chu kyø wait state cuûa boä nhôù, theâm cache cho CPU
laïi laøm cho heä thoáng chaïy vôùi hieäu suaát cao hôn. ?
Trình baøy chieán löôïc chính löu tröõ thoâng tin trong
Cache?
Tính toác ñoä chuyeån giao döõ lieäu cuûa maùy tính coù
CPU 486DX-66MHz vaø maùy Pentium 100MHz.
Phaân bieät RISC vaø CISC.
Trình baøy cô cheá ñöôøng oáng trong thöïc thi cuûa CPU
Chuong 2 : T ch c CPU 96
126. Bus ISA-8 bits :
a. ch y t c ñ ñ ng h là 8 MHz truy n t i d li u
t i ña 8 MB/s.
b. ch y t c ñ ñ ng h là 4.77 MHz truy n t i d
li u t i ña 6MB/s.
c. ch y t c ñ ñ ng h là 4.77 MHz truy n t i d
li u t i ña 1MB/s.
d. ch y t c ñ ñ ng h là 4.77 MHz truy n t i d
li u t i ña 12MB/s.
Chuong 2 : T ch c CPU 97
127. Bus ISA-16 bits :
a. ch y t c ñ ñ ng h là 8 12 MHz truy n t i d
li u t i ña 8 MB/s.
b. ch y t c ñ ñ ng h là 32 MHz truy n t i d
li u t i ña 12MB/s.
c. ch y t c ñ ñ ng h là 4.77 MHz truy n t i d
li u t i ña 12MB/s.
d. ch y t c ñ ñ ng h là 16MHz truy n t i d li u
t i ña 12MB/s.
Chuong 2 : T ch c CPU 98
128. Bus PCI :
a. truy n t i d li u t i ña 528 MB/s.
b. truy n t i d li u t i ña 128MB/s.
c. truy n t i d li u t i ña 512MB/s.
d. truy n t i d li u t i ña 64MB/s.
Chuong 2 : T ch c CPU 99
129. D n ñ u v Chipset hi n có trên th trư ng là :
a.AMD
b.ALI
c.Intel
d.Mac
Chuong 2 : T ch c CPU 100
130. H th ng Bus là h th ng xa l thông tin bên trong
PC giúp trao ñ i:
a.thông tin gi a các máy tính
b.d li u gi a các thi t b ng ai vi
c. d li u gi a b VXL và các thi t b khác
d. t t c ñ u ñúng
Chuong 2 : T ch c CPU 101
131. M i h at ñ ng c a máy tính t CPU ñ n b nh
RAM và nh ng thi t b I/O ñ u ph I thông qua s
n I k t ñư c g i chung là :
a.Chu n giao ti p
b.Bus
c.BIOS
d.CMOS
Chuong 2 : T ch c CPU 102
132. BÀI T P
Bài 1 : Cho bi t giá tr chu i ‘XY’ ñư c lưu tr
trong MT dư I d ng s hex và d ng s bin?
Bài 2 : Cho bi t giá tr h 10 c a các s nguyên
có d u sau :
a.10000000b b.01111111b
Bài 3 : Cho ño n code sau :
MOV AH,7F INT 20H
MOV AX,1234 Hãy cho bi t giá tr c a
MOV BH,AL các thanh ghi AX,BX ?
MOV BL,AH
Chuong 2 : T ch c CPU 103
133. BÀI T P
Bài 4: Cho ño n code sau :
MOV AL,81
ADD AL, 0FE
INT 20H
Gi s các s ñ u là s có d u. Gi i thích k t qu
ch a trong thanh ghi AL khi ño n code trên ñư c
th c thi. S d ng giá tr h 10 ñ gi i thích.
Chuong 2 : T ch c CPU 104
134. BÀI T P
Bài 5: Gi s thanh ghi trong MT c a b n dài
24 bits, cho bi t giá tr c a s dương l n nh t
mà thanh ghi này có th ch a 2 h 2 và h
16?
Bài 6 : Bi n ñ I ñ a ch sau thành ñ a ch tuy t ñ i
a. 0950:0100
b. 08F1:0200
Chuong 2 : T ch c CPU 105
142. CHÖÔNG TRÌNH GÔÕ ROÁI DEBUG
Muïc tieâu
Dòch ñöôïc 1 chöông trình ngaén
Xem caùc thanh ghi vaø côø cuûa CPU
Xem söï thay ñoåi noäi dung cuûa caùc bieán
ân h oaëëc A
a SCII trong boää nhôùù
o ô
Doøø
o tìm trò ôûû daïïng nhò pha
ô a
A ssembly
ình baèng
át chöông tr
än taäp vie
Hoã trôï luye
4/4/2006 Chuong 3 Debug 1
143. Daïng leänh cuûa Debug
ng nh
<maõ leänh > <thoâng soá>
nh
Trong ñoù maõ leänh laø 1 trong caùc chöõ A,B,C,D,E, ... coøn thoâng
soá thì thay ñoåi tuøy theo leänh.
Caùc thoâng soá coù theå laø :
Ñòa chæ : laø 1 boä ñòa chæ ñaày ñuû segment : offset hay chæ caàn
offset laø ñuû. Segment coù theå duøng teân thanh ghi.
Ex : F000:0100
DS: 200
0AF5
4/4/2006 Chuong 3 Debug 2
145. Taäp leänh cuûa Debug
nh
A <Assemble> :
cho pheùp vieát töø baøn phím caùc leänh maõ maùy
nh
döôùi daïng gôïi nhôù.
ng
A [ <ñòa chæ>]
Ex : - A 100 dòch ôû ñòa chæ CS:100h
-A dòch ôû ñòa chæ hieän taïi
(Debug laáy ñòa chæ ñoaïn CS)
- A DS:2000h
dòch ôû ñòa chæ DS:2000h
4/4/2006 Chuong 3 Debug 4
146. Thí duï minh hoïa leänh A
nh
Phaûi nhaäp leänh vaøo theo töøng doøng moät vaø
nh ng ng
keát thuùc baèng Enter.
ng
Keát thuùc nhaäp nhaán Enter ôû doøng troáng.
ng ng.
Ex : - A 100
User goû vaøo
5514:0100 MOV AH, 2
5514:0102 MOV DL, 41
5514:0104 INT 21H
SEGMENT OFFSET
4/4/2006 Chuong 3 Debug 5
147. C (Compare)
So saùnh 2 vuøng boä nhôù vaø lieät keâ caùc oâ nhôù coù
nh ng
noäi dung khaùc nhau.
Cuù phaùp : C <khoaûng> , < ñòa chæ>
Ex : - C 100, 200, 3000 : 1000
So saùnh oâ nhôù DS:100h vôùi oâ nhôù 3000:1000h, oâ nhôù DS:101h vôùi
oâ nhôù 3000:1001h….. Cho ñeán oâ nhôù DS :200h vôùi oâ nhôù
3000:1100h.
So saùnh 101 bytes
4/4/2006 Chuong 3 Debug 6
148. D (Dump)
Hieän noäi dung boä nhôù theo daïng heä 16 vaø
ng
ASCII.
Caùch goïi : D <khoaûng>
Ex : - D F000 : 0
- D ES : 100
- D 100
4/4/2006 Chuong 3 Debug 7
149. Leänh F (Fill)
nh
Cuù phaùp : F <khoaûng> <danh saùch>
ng> ch>
Coâng duïng : laáp ñaày trò vaøo vuøng nhôù ngay
ng ng
taïi ñòa chæ mong muoán.n.
Trò nhaäp vaøo töøng byte moät theo heä 16
Daáu tröø (-) duøng ñeå luøi laïi 1 ñòa chæ.
SPACE BAR duøng ñeå tôùi 1 ñòa chæ.
ENTER ñeå keát thuùc.
4/4/2006 Chuong 3 Debug 8
150. Minh hoïa leänh F
nh
Laép ñaày vuøng nhôù taïi ñòa chæ offset 100h
ng
chuoåi “ Toi dua em sang song”.
F 100 “TOI DUA EM SANG SONG”
OFFSET 100H
4/4/2006 Chuong 3 Debug 9
151. KEÁT QUAÛ
-F 100 "TOI DUA EM SANG SONG"
-D 100
0ADD:0100 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG
0ADD:0110 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S
0ADD:0120 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA
0ADD:0130 45 4D 20 53 41 4E 47 20-53 4F 4E 47 54 4F 49 20 EM SANG SONGTOI
0ADD:0140 44 55 41 20 45 4D 20 53-41 4E 47 20 53 4F 4E 47 DUA EM SANG SONG
0ADD:0150 54 4F 49 20 44 55 41 20-45 4D 20 53 41 4E 47 20 TOI DUA EM SANG
0ADD:0160 53 4F 4E 47 54 4F 49 20-44 55 41 20 45 4D 20 53 SONGTOI DUA EM S
0ADD:0170 41 4E 47 20 53 4F 4E 47-54 4F 49 20 44 55 41 20 ANG SONGTOI DUA
4/4/2006 Chuong 3 Debug 10
152. D (DUMP)
Muïc ñích : in noäi dung boä nhôù trong MT ra maøn hình döôùi daïng soá hex.
Cuù phaùp : D [ address]
D [range]
Ex : in noäi dung vuøng nhôù ñaõ laép ñaày ôû ví duï tröôùc ôû ñòa chæ
100h
Ex2 : xem noäi dung vuøng nhôù 16 bytes baét ñaàu ôû ñòa chæ F000:100
- D F000:100 L10
4/4/2006 Chuong 3 Debug 11
153. Thí duï minh hoïa leänh D
nh
ñaùnh vaøo leänh D ñeå xem noäi dung vuøng nhôù
nh nh ng
cuûa 30h bytes boä nhôù töø ñòa chæ 0000:0040
ñeán 0000:006F
- D 0000:0040 006F
Ñòa chæ baét ñaàu
- D 0000:0040 L 30
Soá bytes
4/4/2006 Chuong 3 Debug 12
154. E (ENTER)
Duøng ñeå ñöa döõ lieäu byte vaøo boä nhôù ngay
ng
taïi ñòa chæ mong muoán.n.
Caùch goïi :
- E <ñòa chæ> <danh saùch>
Trò nhaäp vaøo theo daïng soá 16 töøng byte moät
Daáu - duøng ñeå luøi laïi 1 ñòa chæ
Space Bar duøng ñeå tôùi 1 ñòa chæ
Enter duøng ñeå keát thuùc
4/4/2006 Chuong 3 Debug 13
155. Minh hoïa leänh E
nh
Muïc dích : thay ñoåi noäi dung boä nhôù.
Cuù phaùp : - E [address] [ list]
Ex : thay ñoåi 6 bytes baét ñaàu ôû ñòa chæ 100 thaønh “ABCDE”
- E 100 “ABCDE”
Debug laáy
ñoaïn chæ b
Neáu ta kh ô ûi D S
oâng qui ñò
nh ñòa chæ
ñoaïn
4/4/2006 Chuong 3 Debug 14
156. Leänh U (Unassemble)
coâng duïng : in ra 32 bytes maõ maùy cuûa
ng
chöông trình trong boä nhôù ra maøn hình döôùi
leänh gôïi nhôù.
nh
cuù phaùp : U [address]
U [range]
Ex : U 100 119
In ra ma
øn hình c
aùc
chæ CS:1 leänh maõ maùy tö
00 ñeán C ø ñ òa
S:119
4/4/2006 Chuong 3 Debug 15
157. Leänh R (Register)
nh
Coâng duïng : xem vaø söûa noäi dung thanh ghi.
ng
Cuù phaùp : - R enter (xem taát caû thanh ghi)
xem thanh ghi AX : - R AX
xem thanh ghi côø : R F
Ex : muoán baät thanh ghi côø CF vaø ZF ta nhaäp
CY vaø ZR.
4/4/2006 Chuong 3 Debug 16
158. Leänh N (Name)
nh
Coâng duïng : taïo taäp tin caàn ñoïc hay ghi tröôùc
ng
khi duøng leänh L hay W.
ng nh
Cuù phaùp : - N <teân file> [ thoâng soá] L [ñòa chæ]
4/4/2006 Chuong 3 Debug 17
159. Thí duï minh hoïa leänh N
nh
Ex : taïo taäp tin Love.txt .
Duøng leänh R ñeå xaùc ñònh vuøng ñòa chæ daønh cho User.
Duøng leänh ñeå ñöa caâu thoâng baùo “ I love you more than I
can say’ ôû ñòa chæ 2000:100.
Duøng leänh D ñeå kieåm tra vuøng nhôù taïi ñòa chæ 2000:100.
Duøng leänh N ñeå ñaët teân taäp tin treân ñóa.
- N Love.txt
Duøng leänh R ñeå ñònh soá byte caàn thieát ghi leân ñóa trong 2
thanh ghi BX vaø CX. Cuï theå trong tröôøng hôïp naøy soá
byte caàn ghi laø 1Eh byte.
BX = 0000 CX = 1E
Duøng leänh W 2000:100 ñeå ghi döõ lieäu ñaõ nhaäp vaøo taäp tin
ôû ñòa chæ boä nhôù 2000:100.
4/4/2006 Chuong 3 Debug 18
160. Thoaùt khoûi Debug vaø goïi laïi taäp tin
theo caùch sau :
C :> Debug Love.txt
tìm xem Debug ñaõ naïp taäp tin Love.txt
vaøo choã naøo trong boä nhôù.
4/4/2006 Chuong 3 Debug 19
161. Leänh W (Write)
nh
Cuù phaùp : W [address]
Thöôøng ñöôïc söû duïng chung vôùi leänh N
Ex : taïo taäp tin coù teân Love.txt
Böôùc 1 : duøng leänh E ñeå ñöa caâu ‘I love you more than I can say” vaøo oâ nhôù ôû ñòa chæ
100.
Böôùc 2 : duøng leänh D ñeå kieåm tra laïi ñòa chæ 100
Böôùc 3 : duøng leänh N ñeå ñaët teân taäp tin : - N Love.txt
Böôùc 4 : duøng leänh R ñeå ñònh soá byte caàn ghi leân ñóa trong 2 thanh ghi BX vaø CX. (BX
chöùa 16 bit cao, CX chöùa 16 bit thaáp).
Ôû ñaây soá byte caàn ghi laø 1Eh.
Böôùc 5 : duøng leänh W ñeå ghi caâu treân ñaõ nhaäp vaøo vuøng nhôù coù ñòa chæ baét ñaàu laø 100.
4/4/2006 Chuong 3 Debug 20
162. Leänh T (Trace)vaø P
cuù phaùp : - T [= <ñiaï chæ>][soá laàn]
Muïc ñích : duøng ñeå chaïy 1 hay nhieàu laàn caùc leänh
trong boä nhôù
Ex : - T = 3000:1000
Ex : - T = 3000:1000 <soá laàn>
4/4/2006 Chuong 3 Debug 21
165. Leänh S (Search)
nh
Coâng duïng : tìm kieám trò trong 1 vuøng boä nhôù.
ng ng
Cuù phaùp : - S <khoaûng> <danh saùch>
ng> ch>
Giaûi thích : tìm kieám trò coù hieän dieän trong vuøng boä
ng
nhôù ñaõ chæ ñònh hay khoâng? Neáu coù Debug hieän caùc
ñòa chæ ñaàu cuûa nhöõng nôi coù chöùa danh saùch.
ch.
Ex : - S 100 L 1000 ‘DOS’
18AF : 0154
18AF : 0823
Ex2 : - S 2000 2200 13,15,8A, 8
4/4/2006 Chuong 3 Debug 24
166. Leänh M (Move)
nh
Coâng duïng : cheùp noäi dung vuøng nhôù ñeán 1
ng ng
ñòa chæ khaùc.
c.
Cuù phaùp : - M <khoaûng>
ng>
Ex : - M 100 105 200
Cheùp 5 bytes töø DS:100 ñeán DS:200
Ex2 : - M CS:100 L 50 ES:300
Cheùp 50 bytes töø CS:100 ñeán ES:300
4/4/2006 Chuong 3 Debug 25
167. Leänh I (Input)
nh
Coâng duïng : nhaäp 1 byte töø coång xuaát nhaäp
ng ng
vaø hieän ra maøn hình.
Cuù phaùp : - I <ñòa chæ coång> ng>
ñòa chæ coång laø soá heä 16 toái ña 4 chöõ soá.
ng
Ex : - I 37E
EC
4/4/2006 Chuong 3 Debug 26
168. Leänh O (Output)
nh
Coâng duïng : xuaát 1 byte ra coång xuaát nhaäp.
ng ng p.
Cuù phaùp :- O<ñòa chæ coång> <trò>
ng>
ñòa chæ coång laø soá heä 16 toái ña 4 chöõ soá.
ng
Ex : - O 378 5E
4/4/2006 Chuong 3 Debug 27
169. Summary
Duøng leänh D ñeå xem noäi dung vuøng nhôù taïi ñòa chæ cuûa
ng nh ng
ROM BIOS F000:0000.
Töông töï xem noäi dung vuøng nhôù RAM maøn hình ôû ñòa
ng
chæ B800:0000; baûng vector ngaét quaõng 0000:0000
ng
Goû vaøo maùy baèng leänh A, ñoaïn chöông trình sau ôû ñòa
ng nh
chæ 2000:0100
4/4/2006 Chuong 3 Debug 28
170. Summary
2000:0100 MOV AL,32
2000:0102 MOV AH, 4F
2000:0104 MOV CX, [200]
2000:0108 MOV WORD PTR [1800], 1
2000:010E MOV BYTE PTR [1800], 1
2000:0113
Xem laïi ñoaïn chöông trình vöøa ñaùnh treân baèng leänh U. Chuù yù quan
nh ng nh
saùt phaàn maõ maùy. Tìm xem caùc toaùn haïng töùc thôøi vaø caùc ñòa
y. ng
chæ xuaát hieän ôû ñaâu trong phaàn maõ maùy cuûa leänh.
nh.
Phaàn maõ maùy cuûa 2 caâu leänh cuoái coù gì khaùc nhaukhi duøng caùc
nh ng
toaùn töû WORD PTR vaø BYTE PTR.
4/4/2006 Chuong 3 Debug 29
171. Summary
Duøng leänh E nhaäp vaøo ñoaïn vaên baûn sau vaøo boä nhôù taïi ñòa chæ
ng nh
DS:0100
8086/8088/80286 Assembly language.
Copyright 1988, 1886 by Brady Books, a division of Simon, Inc.
All right reserved, including the of reproduction in whole or in
part, in any form.
(chuù yù kyù töï ñaàu doøng xuoáng doøng coù maõ ASCCI laø 0D vaø 0A).
ng ng ng
4/4/2006 Chuong 3 Debug 30
172. B NH
(Memory)
Muïc tieâu :
1. Hieåu ñöôïc caáu taïo cuûa boä nhôù, chöùc naêng vaø hoaït ñoäng cuûa
boä nhôù.
2. Naém ñöôïc quaù trình ñoïc boä nhôù & ghi boä nhôù.
3. Vai troø cuûa boä nhôù Cache trong maùy tính.
Chương 3 : T ch c Memory 1
173. Boä nhôù (Memory)
Noäi dung :
1. Toå chöùc boä nhôù cuûa maùy tính IBM PC
2. Phaân loaïi boä nhôù : Primary Memory vaø Secondary Memory.
3. Quaù trình CPU ñoïc boä nhôù.
4. Quaù trình CPU ghi boä nhôù.
5. Boä nhôù Cache.
Chương 3 : T ch c Memory 2
175. Primary Memory
Còn ñư c g i là b nh chính hay b nh trung tâm.
Chia làm 2 lo i : RAM và ROM
Chương 3 : T ch c Memory 4
176. RAM
RAM (Random Access Memory) b nh truy xu t ng u
nhiên.Là nơi lưu gi caùc chương trình vaø d li u khi ch y
chương trình. ð c i m c a RAM :
• Cho pheùp c/ ghi d li u.
• D li u b m t khi m t ngu n.
Khi maùy tính khôûi ñoäng, Ram roãng. Ngöôøi laäp trình
chuû yeáu laø laøm vieäc vôùi Ram – vuøng nhôù taïm ñeå döõ
lieäu vaø chöông trình.
Chương 3 : T ch c Memory 5
177. RAM
Ram laø vuøng nhôù laøm vieäc neáu vuøng nhôù
naøy trôû neân nhoû so vôùi nhu caàu söû duïng thì
ta taêng theâm Ram (gaén theâm Ram).
RAM có th chia làm 2 lo i : Dynamic và Static
RAM
•Dynamic RAM : ph i ñư c làm tươi trong vòng
dư i 1 ms n u không s b m t n i dung.
•Static RAM : gi ñư c giá tr không c n ph i
làm tươi.
•RAM tĩnh có t c ñ cao, có tên là b nh
CACHE n m trong CPU.
Chương 3 : T ch c Memory 6
179. ROM
ROM (Read Only Memory) : b nh ch ñ c.
ROM BIOS ch a ph n m m c u hình và ch n ñoán h
th ng, các chương trình con nh p/xu t c p th p mà
DOS s d ng. Các chương trình này ñư c mã hoá
trong ROM và ñư c g i là ph n d o (firmware).
M t tính năng quan tr ng c a ROM BIOS là kh năng
phát hi n s hi n di n c a ph n c ng m i trong MT
và c u hình l i h ñi u hành theo Driver thi t b .
Chương 3 : T ch c Memory 8
180. ROM(cont)
ð c ñi m c a ROM:
Ch cho phép ñ c không cho phép ghi.
D li u v n t n t i khi không có ngu n.
Chương 3 : T ch c Memory 9
181. Caùc loaïi Rom
PROM (Programmable Read Only Memory) :
Cho phép user có th l p trình và ghi vào ROM b ng cách
ñ t.
EPROM (Erasable Programmable Read Only Memmory)
Cho phép user vi t ghi chương trình và xóa ghi l i. Vi c xóa
b ng cách dùng tia c c tím.
EEPROM (Electrically Erasable Programmable Read Only
Memory)
b nh có th l p trình b ng xung ñi n ñ c bi t
Chương 3 : T ch c Memory 10
182. Secondary Memory
Là b nh ph n m ngoài h p CPU.
Floppy disk, Tapes, Compact discs … là secondary
Memory.
Chương 3 : T ch c Memory 11
183. Sơ lư c v Cache
Cache c p 1 (Level 1-cache) : n m trong CPU, t c ñ truy xu t
r t nhanh, theo t c ñ c a CPU.
Cache c p 2 (Level 2-cache) : thư ng có dung lư ng 128K,256K
là cache n m gi a CPU và Ram, thư ng c u t o b ng Ram tĩnh
(Static Ram), t c ñ truy xu t nhanh vì không c n th i gian làm
tươi d li u.
Cache c p 3 (Level 3-cache) : chính là vùng nh DRAM dùng làm
vùng ñ m truy xu t cho ñĩa c ng và các thi t b ngo i vi.
T c ñ truy xu t cache c p 3 chính là t c ñ truy xu t DRAM.
Chương 3 : T ch c Memory 12
184. Cache (cont)
T ch c c a Cache :liên quan ñ n chi n lư c tr ñ m và cách
th c lưu thông tin trong Cache.
Lo i l nh ph i thi hành : Cache ch a c chương trình và d
li u, khi CPU truy xu t mà chúng có s n thì truy xu t nhanh.
Khi CPU c n truy xu t b nh , cache s ki m tra xem cái mà CPU
c n ñã có trong cache chưa.
Dung lư ng cache : như v y n u 1 t p l nh n m g n trong
cache (vòng l p ch ng h n) thì th c thi r t nhanh.
Chương 3 : T ch c Memory 13
185. C u trúc Cache
Cache ñư c c u t o thành t ng hàng (cache lines) , 32 bit/hàng
cho 386, 128 bit/hàng cho 486, 256 bit/hàng cho Pentium.
M i hàng có kèm theo 1 tag ñ lưu tr ñ a ch b t ñ u c a ño n
b nh mà thông tin ñư c ñưa vào cache. N u là cache c p 2
(SRAM), ñ a ch b t ñ u c a ño n b nh ñã chuy n data vào
cache còn ñư c lưu trong 1 vùng nh riêng.
M t b ñi u khi n cache (cache controller) s ñi u khi n ho t
ñ ng c a cache v i CPU và data vào/ra cache. Chính Cache
controller ph n ánh chi n lư c tr ñ m c a cache.
V i cache c p 1, cache controller là 1 thành ph n c a CPU.
V i cache c p 2, cache controller n m trên Mainboard.
Chương 3 : T ch c Memory 14
186. Hi u su t c a Cache
Cache dùng làm vùng ñ m truy xu t nên n u CPU truy xu t data
mà có s n trong cache thì th i gian truy xu t nhanh hơn nhi u.
Hi u qu c a cache ngoài vi c cho t c ñ truy xu t nhanh còn ph
thu c vào Cache hit ho c Cache miss.
Cache Hit : t c data có s n trong Cache.
Cache Miss : t c data chưa có s n trong cache.
t l cache hit và cache miss ph thu c vào 3 y u t :
t ch c cache , lo i l nh ph i thi hành và dung lư ng c a cache.
Chương 3 : T ch c Memory 15
187. Hi u su t c a Cache
Tính toaùn hieäu suaát thöïc thi cuûa Cache :
Goïi c thôøi gian truy xuaát cuûa Cache
M laø thôøi gian truy xuaát boä nhôù
h laø tæ leä thaønh coâng (hit ratio), laø tæ soá giöõa soá laàn tham chieáu
cache vôùi toång soá laàn tham chieáu. h =(k-1)/k
Tæ leä thaát baïi (miss ratio) (1-h)
Thôøi gian truy xuaát trung bình = c+(1-h)m
Khi h 1, taát caû truy xuaát ñeàu tham chieáu tôùi Cache, thôøi gian
truy xuaát trung bình c.
Khi h 0, caàn phaûi tham chieáu boä nhôù chính moïi luùc, thôøi gian
truy xuaát trung bình c+m.
Chương 3 : T ch c Memory 16
188. Hieäu suaát cuûa Cache (cont)
CPU
Trong Registers?
Trong Cache L1?
Trong Cache L2 treân chip?
Trong Cache L2 thöù caáp?
Trong RAM?
Treân Ñóa?
Chương 3 : T ch c Memory 17
189. A Two Level Caching System
Chương 3 : T ch c Memory 18
190. Các chi n lư c tr ñ m trong Cache
Các chi n lư c tr ñ m liên quan ñ n tác v ñ c ghi t CPU. Có 2 lo i :
Writethrough Cache (WTC) và Writeback cache (WBC).
• Khi CPU ñ c t b nh qui ư c thì WTC và WBC ñ u như nhau : s ñ c 1 ño n n i dung
trong b nh vào cache.
• Khi CPU ghi ra b nh qui ư c :
WTC : CPU ghi data ra vùng ñ m ghi (write buffer) r i b ñó ti p t c vi c khác, cache
s l y n i dung trong buffer r i ch u trách nhi m ghi ra b nh qui ư c khi bus rãnh.
WBC : CPU ghi data vào cache, khi cache ñ y thì ñ y thông tin ra b ñ m (ñ m castoff)
r i t castoof, data chuy n sang b nh qui ư c.
Chương 3 : T ch c Memory 19
191. 00000 Interrup Vector Table M
00400 BIOS and DOS data
E
00600 Resident portion of DOS
M
O
User RAM
R
A0000
EGA Color Video Y
B0000
Monochrome Video M
B8000
Color Video
C0000
Reserved ROM (not used) A
F0000 Reserved ROM P
F6000 ROM BASIC
FE000 Chương 3 : BIOS Memory
ROM T ch c 20
192. Memory Map
1024 bytes thaáp nhaát chöùa baûng vector
interrupt
Dos data Area chöùa caùc bieán ñöôïc DOS söû duïng nhö :
Keyboard buffer : caùc phím nhaán ñöôïc löu cho ñeán khi ñöôïc
xöû lyù.
Côø chæ tình traïng keyboard : cho bieát phím naøo ñang ñöôïc
nhaán.
Ñòa chæ coång printer.
Ñòa chæ coång tuaàn töï
Moâ taû caùc thieát bò ñang coù trong heä thoáng : toång dung löôïng
boä nhôù, soá oå ñóa, kieåu maøn hình…
Chương 3 : T ch c Memory 21
193. Memory Map
User Ram : vò trí thöôøng truù cuûa DOS ôû ñòa chæ 0600H.
Vuøng nhôù troáng naèm ngay döôùi vuøng nhôù Dos.
Rom Area : töø C000H – FFFFHñöôïc IBM daønh rieâng cho
Rom söû duïng chöùa hard disk controller, Rom Basic.
Rom BIOS : töø F000H – FFFFH vuøng nhôù cao nhaát cuûa boä nhôù
chöùa caùc chöông trình con caáp thaáp cuûa Dos duøng cho vieäc
xuaát nhaäp vaø caùc chöùc naêng khaùc..
Chương 3 : T ch c Memory 22
194. Quaù trình Boot maùy
Xaõy ra khi ta power on hay nhaán nuùt Reset.
Boä VXL xoùa taát caû oâ nhôù cuûa boä nhôù trôû veà 0, kieåm tra chaún leû boä
nhôù, thieát laäp thanh ghi CS troû ñeán segment FFFFh vaø con troû
leänh IP troû tôùi ñòa chæ offset baèng 0.
Chæ thò ñaàu tieân ñöôïc MT thöïc thi ôû ñòa chæ aán ñònh bôûi noäi
dung caëp thanh ghi CS:IP, ñoù chính laø FFFF0H , ñieåm nhaäp tôùi
BIOS trong ROM.
Chương 3 : T ch c Memory 23
195. Trình töï taùc vuï ñoïc oâ nhôù
CPU ñöa ñòa chæ oâ nhôù caàn ñoïc vaøo thanh ghi ñòa
chæ.
Maïch giaûi maõ xaùc ñònh ñòa chæ oâ nhôù.
CPU göûi tín hieäu ñieàu khieån ñoïc boä nhôù. Noäi
dung oâ nhôù caàn ñoïc ñöôïc ñöa ra thanh ghi döõ lieäu.
CPU ñoïc noäi dung cuûa thanh ghi döõ lieäu.
Chương 3 : T ch c Memory 24
196. Maïch giaûi maõ ñòa chæ oâ nhôù
Maïch ñieän coù nhieäm vuï xaùc ñònh ñuùng oâ nhôù
caàn truy xuaát ñang coù ñòa chæ löu trong
thanh ghi ñòa chæ.
Boä nhôù laøm vieäc ñöôïc chia thaønh nhieàu oâ nhôù.
Kích thöôùc moãi oâ nhôù thay ñoåi tuøy theo maùy, thöôøng laø 8
hay 16 bit töùc 1 byte hay 1 word.
Neáu kích thöôùc moãi oâ nhôù laø 1 byte thì seõ coù 8 ñöôøng döõ
lieäu song song noái boä nhôù laøm vieäc vôùi boä VXL. Moãi ñöôøng
1 bit , taát caû 8 ñöôøng taïo thaønh moät tuyeán döõ lieäu (data
bus)
Chương 3 : T ch c Memory 25
197. Truy xuaát boä nhôù (cont)
D7
S
D6
BU
D5
D4
D3
TA
D2
D1
DA
D0
Ñoïc / ghi döõ lieäu
OÂ NHÔÙ
ÑÔN VÒ XÖÛ LYÙ
ÔÙ
ÔÙ
NH
Ä ÄN
H
BO
BO
Chương 3 : T ch c Memory 26
205. Caâu hoûi oân taäp
Vai troø cuûa Cache trong maùy tính.
Trình baøy chieán löôïc tröõ ñeäm cuûa Cache.
Phaân bieät boä nhôù RAM vaø ROM.
Neâu trình töï quaù trình thöïc hieän khi khôûi ñoäng maùy
tính.
Chương 3 : T ch c Memory 34
206. Caâu hoûi oân taäp
Moät boä nhôù coù dung löôïng 4Kx8.
a) Coù bao nhieâu ñaàu vaøo döõ lieäu, ñaàu ra döõ lieäu.
b) Coù bao nhieâu ñöôøng ñòa chæ.
c) Dung löôïng cuûa noù tính theo byte.
Chương 3 : T ch c Memory 35
207. Caâu hoûi oân taäp
B nh Cache n m gi a :
a) Mainboard và CPU
b) ROM và CPU
c) CPU và b nh chính.
d) B nh chính và b nh ngoài
Chương 3 : T ch c Memory 36
208. Caâu hoûi oân taäp
Theo quy ư c, ngư I ta chia b nh
thành t ng vùng có nh ng ñ a ch
ñư c mô t b ng :
a) s th p phân
b) s th p l c phân
c) s nh phân
d) s bát phân
Chương 3 : T ch c Memory 37