SlideShare a Scribd company logo
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 1
CC UU
TRTRÚÚCC
MMÁÁYY
TTÍÍNHNH
LL P TRÌNH HP TRÌNH H P NGP NG
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 2
CC u tru trúúc Mc Mááy ty tíínhnh &&
LL p trp trììnhnh AssemblyAssembly
MUMUÏÏC TIEÂUC TIEÂU
:
1. Khaùm phaù bí maät beân trong 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
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.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 3
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
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 4
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)
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 5
Giaùo vieân : Ngoâ Phöôùc Nguyeân
Email : nguyenktcn@yahoo.com
Mobile: 091-8-380-926
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 6
ð 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.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 7
Chương 1 :C U TRÚC T NG QUÁT C A M T
H TH NG MÁY TÍNH
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 8
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
M c tiêu :
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 9
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
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 10
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 11
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 12
2+3/4*3-5=?
…………….
……………..
……………….
Memory : ch a
các ch th & d
li u
Input device : thi t b nh p
B x lý
Maùy tính & Söï tính toaùn
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 13
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.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 14
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.
bSi
kh i x lýñ u ñ c ghi 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
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 :
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 15
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
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 16
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
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 17
Nguyên lý Turing
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
bSjSi
kh i x lý
ñ u ñ c ghi
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
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 18
Nguyên lý hoat ñ ng máy Turing
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.
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.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 19
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
… 1 0 b …
q0
0 0 b …
q0
q0
0 1 b …
Ban ñ u
q1
00 11 b …
D ng
K t qu 01
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 20
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.
B nhBB nhnh ðơn v x lýðơn vðơn v xx lýlý
HH xuxu t nht nh pp
data chương trình
Trao ñ i thông tin
ði u khi n
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 21
Nguyên lýNguyên lýNguyên lýNguyên lý Von Neumann (contVon Neumann (contVon Neumann (contVon 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 )
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 22
Nguyên lýNguyên lýNguyên lýNguyên lý Von Neumann (contVon Neumann (contVon Neumann (contVon 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 trChương trìình MT cnh MT cóó thth bibi u diu di n dưn dư I dI d ng sng s vvàà ññ tt
vvàào trong bo trong b nhnh cc a MT bên ca MT bên c nh dnh d lili u.u.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 23
Typical Von Neumann MachineTypical Von Neumann Machine
A
L
U
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 24
Nguyên lý ho t ñ ng MT
CPU
ð c l nh
Phân tích l nh
Th c thi l nh
CPU
ð c l nh
Phân tích l nh
Th c thi l nh
B nh chính
Lưu tr thông tin
Nơi ch a chương trình
ñ CPU ñ c và th c thi
B nh chính
Lưu tr thông tin
Nơi ch a chương trình
ñ CPU ñ c và th c thi
Kh i xu t nh p
Giao ti p v i môi trư ng bên ngoài
xu t nh p d li u, b nh ph
Kh i xu t nh p
Giao ti p v i môi trư ng bên ngoài
xu t nh p d li u, b nh ph
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 25
T ch c Máy tính 1 CPU & 2 I/O device
PrinterDisk
CPU
Main Memory
Control UnitControl Unit
ALUALU
………. ……….
Registers
Bus
I/O Devices
Bus
Bus
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 26
Sơ ñ kh i chi ti t
Control UnitControl Unit
ñ c, phân
tích, ra l nh
cho các ñơn
v ch c
năng th c
hi n ALUALU
Phép toán: s
h c, lu n lý, so
sánh, d ch,
quay,x lý bit.
Main Memory
Có 2 tác v : ñ c /Ghi
2 lo i d li u:
1) Data : s li u ñ u vào,
k t qu ,d li u trung gian
2) Chương trình
Main Memory
Có 2 tác v : ñ c /Ghi
2 lo i d li u:
1) Data : s li u ñ u vào,
k t qu ,d li u trung gian
2) Chương trình
ðơn v giao ti p – IO Cardðơn v giao ti p – IO Card
IO DevicesIO Devices
RegistersRegisters
M I phép
toán cho
2 k t qu
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 27
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.
4/4/2006
Chuong 1 C U TRÚC T NG
QUÁT C A HTMT 28
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 2 : T ch c CPU 1
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 2
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 3
2.1 H th ng s
0 1 2 3 4 5 6 7 8 9 A B C D E F
Ex : 3F8h
1616th p l c
phân
0 1 2 3 4 5 6 7 8 9 Ex : 12d
1010th p phân
0 1 2 3 4 5 6 7 Ex : 24o
88bát phân
0 1 Ex : 1010b22nh phân
d ng ký s và ký t bi u di n ss
ký
s
Cơ
sH ñ m
Chuong 2 : T ch c CPU 4
H th ng s
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.
H th ng s là gì ?
Chuong 2 : T ch c CPU 5
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 6
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
Decimal System
Chuong 2 : T ch c CPU 7
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 8
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):
Binary System
Chuong 2 : T ch c CPU 9
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 10
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 11
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
001111
011001
111010
100000
Not AA xor
B
A or
B
A and
B
BA
Chuong 2 : T ch c CPU 12
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 13
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 14
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 15
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 16
2.2 B x lý trung tâm CPU
Chuong 2 : T ch c CPU 17
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 18
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 19
Sơ ñ kh i
Control UnitControl Unit
ALUALU
ðơn v giao ti p – IO Cardðơn v giao ti p – IO Card
IO DeviceIO Device
RegistersRegisters
Main Memory
Có 2 tác v : ð c /Ghi
2 lo i d li u:
1) Data : s li u ñ u vào,
k t qu ,
d li u trung gian
2) Chương trình
Main Memory
Có 2 tác v : ð c /Ghi
2 lo i d li u:
1) Data : s li u ñ u vào,
k t qu ,
d li u trung gian
2) Chương trình
Phép toán: s
h c, lu n lý, so
sánh, d ch,
quay,x lý bit
CPU
ñ c, phân
tích l nh ,
ra l nh cho
các ñơn v
ch c năng
th c hi n
Chuong 2 : T ch c CPU 20
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 21
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 22
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 23
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 24
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
Thi
hành
l nh
L y
l nh
CPU thư ng
L NH 2L NH 1 L NH 3
L NH 1 L NH 2 L NH 3
Thi
hành
l nh
L y
l nh
L NH 2L NH 1 L NH 3
L NH 1 L NH 2 L NH 3
CPU dùng cơ c u ñư ng ng
(piple line)
Th i gian ti t ki m ñư c
Chuong 2 : T ch c CPU 25
Heä ña boä xöû lyù (MultiProccessor)
CPUCPU CPUCPU CPUCPU CPUCPU
Shared
memory
Bus
Heä MultiProccessor söû duïng 1 ñöôøng Bus
Chuong 2 : T ch c CPU 26
Heä ña boä xöû lyù (MultiProccessor)
CPUCPU CPUCPU CPUCPU CPUCPU
Shared
memory
Bus
Heä MultiProccessor söû duïng nhieàu boä nhôù cuïc boä
Local Memory
Chuong 2 : T ch c CPU 27
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.
Bus
Chuong 2 : T ch c CPU 28
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 29
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 t t tác v …
Chuong 2 : T ch c CPU 30
Minh h a h th ng Bus
CPUCPUCPU
IO devicesIO devicesIO devices
MemoryMemory
Data busData bus
Address busAddress bus
ControlControl busbus
Chuong 2 : T ch c CPU 31
A Typical Output Port
Chuong 2 : T ch c CPU 32
An Input and an Output Device That Share
the Same Address (a Dual I/O Port)
Chuong 2 : T ch c CPU 33
Connection of the PCI and ISA
Busses in a Typical PC
Peripheral
Component
Interconnect
Industry
Standard
Architecture
Chuong 2 : T ch c CPU 34
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 35
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 36
Plug and Play
1.C BIOS trên mainboard và Card b
sung ñ u không ph I là Plug and Play.
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.
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.
Chuong 2 : T ch c CPU 37
AGP Bus Interface
Accelerated
Graphic
Port
Chuong 2 : T ch c CPU 38
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 39
ð 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 40
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 41
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 42
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 43
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 44
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 45
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 46
Chu kỳ Bus (cont)
Chu kỳ bus
Add1 Data1
Ready
Add2
Data2
Chu kỳ bus
InactiveReady
Chu kyø Bus khi khoâng coù traïng thaùi chôø
Add1 Data1 Add2 Data2
Chu kyø Bus khi coù traïng thaùi chôø
Add1
Add2 Data2
Chuong 2 : T ch c CPU 47
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.
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.
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.
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 48
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 49
AX Register
AH
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.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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
Chuong 2 : T ch c CPU 50
AX Register
AH
Thí d n u AX=1234h thì AH=12H AL=34h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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
Chuong 2 : T ch c CPU 51
BX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BLBH
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.
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
Chuong 2 : T ch c CPU 52
DX Register
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DX
DLDH
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.
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
Chuong 2 : T ch c CPU 53
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 54
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 55
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 56
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 57
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 58
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 59
ð 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 60
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 61
Thí d minh ho hình thành ñ a ch
ð a ch Offsetð a ch Offset
ð a ch segmentð a ch segment
ð a ch v t lý 20 bitð a ch v t lý 20 bit
0 0 0 0
c ng
015
0
015
19
Chuong 2 : T ch c CPU 62
S hình thành ñ a ch tuy t ñ i
G a s ta có ñ a ch 08F1 : 0100
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
ñ a ch Offset
ñ a ch
segment
ñ a ch tương ñ i
Chuong 2 : T ch c CPU 63
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 64
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 65
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.
64KB
0000
FFFF
offset
Ô nh có
ñ a ch
segment:
offset
segment
B nh
Chuong 2 : T ch c CPU 66
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
1334:0234
1304:0534
ð u có chung ñ a ch
v t lý 13574h
T i sao ?
Chuong 2 : T ch c CPU 67
ð 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
00010h
00020h
0000:
0002:
0001:
0FFFFh
1001Fh
1000Fh
Ph n ch ng
ch p c a 3
segment
0000,0001,0002
Chuong 2 : T ch c CPU 68
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 69
Làm l i quá trình trên nhưng gi nguyên ph n
offset ch tăng ph n segment.
0002:0000 00020h
0001:0000 00010h
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 70
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 71
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 72
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 73
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
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 75
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.
CPAZSTIDO
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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 76
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 77
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 78
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 79
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 80
ð 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 81
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 82
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 83
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 84
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 85
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 86
Caùc ñaëc tính cuûa CPU Intel
4GB3264Pentium
4 GB323280486
4 GB323280386
16Mb241680286
1MB20168086
1 MB2088088
Khaû naêng
quaûn lyù boä
nhôù
Address bus
(bit)
Data Bus
(bit)Loaïi CPU
Chuong 2 : T ch c CPU 87
Toùm taét CPU hoï Intel
CPU 80286 : Data bus 16 bit neân moãi laàn chuyeån giao 2 bytes
quaûn lyù 16MB boä nhôù.
Chæ coù khaû naêng thöïc hieän caùc pheùp toaùn ñoái vôùi caùc soá nguyeân,
coù theå duøng taäp leänh 80286 ñeå moâ phoûng caùc pheùp toaùn soá hoïc
daáu chaám ñoäng nhöng ñieàu naøy seõ laøm giaûm hieäu suaát heä thoáng.
Neáu muoán coù khaû naêng thöïc hieän caùc pheùp toaùn daáu chaám
ñoäng phaûi gaén CoProccessor 8087.
80286 laøm vieäc theo 2 cheá ñoä : cheá ñoä thöïc vaø cheá ñoä baûo veä.
Chuong 2 : T ch c CPU 88
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 89
Toùm taét CPU hoï Intel
CPU 80486 : coù bus 32 bit . 1 Coprocessor 387, boä phaän ñieàu khieån
Cache, 1 Cache 8K, duøng phoái hôïp taäp leänh ruùt goïn RISC vaø taäp
leänh phöùc taïp CISC.
CPU 80486 phaàn lôùn caùc leänh chæ duøng 1 soá ít xung.
Söû duïng cô cheá ñöôøng oáng coù khaû naêng xöû lyù 5 leänh ñoàng thôøi :
Laáy leänh tröôùc PreFetch
Giaûi maõ laàn 1 Decode 1
Giaûi maõ laàn 2 Decode 2
Thöïc thi leänh Execution
Ghi laïi traïng thaùi. WriteBack
Chuong 2 : T ch c CPU 90
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 91
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 92
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 93
SÔ ÑOÀ KHOÁI PENTIUM
Haøng nhaët sôùm
Cache leänh
8K
BIU Quaûn lyù Bus
Boä xöû lyù daáu chaám ñoäng
Registers
U Pipeline cuûa
ALU
V Pipeline cuûa
ALU
registers
Cache
Data
8K
Vuøng ñeäm ñích
Reõ nhaùnh
Chuong 2 : T ch c CPU 94
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 95
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 96
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 97
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 98
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 99
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 100
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 101
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 102
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 103
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 104
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 105
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 106
MAINBOARD
Chuong 2 : T ch c CPU 107
MAINBOARD
Chuong 2 : T ch c CPU 108
MAINBOARD
Chuong 2 : T ch c CPU 109
Chuong 2 : T ch c CPU 110
Chuong 2 : T ch c CPU 111
MAINBOARD
Chuong 2 : T ch c CPU 112
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 11
CHCHÖÖÔNG TRÌNH GÔÕ ROÔNG TRÌNH GÔÕ ROÁÁI DEBUGI DEBUG
DòchDòch ñöñöôôïïc 1 chc 1 chööông trông trìình nganh ngaéénn
Muïc tieâu
Xem caXem caùùc thanh ghi vac thanh ghi vaøø côcôøø cucuûûa CPUa CPU
Xem sXem söïöï thaythay ññooååi noi noääi dung cui dung cuûûa caa caùùc biec bieáánn
DoDoøø ttììm trò ôm trò ôûû dadaïïng nhò phaân hoang nhò phaân hoaëëc ASCII trong boc ASCII trong boää nhônhôùù
HoãHoã trôï luyeän taäp vieát chöông trình baèng Assembly
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 22
DaDaïïng leng leäänh cunh cuûûa Debuga Debug
<maõ le<maõ leäänh > <thoâng sonh > <thoâng soáá>>
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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 33
DaDaïïngng leleäänh cunh cuûûa Debuga Debug
Taäp tin : laø 1 tham khaûo teân taäp tin ñaày ñuû, ít nhaát phaûi coù teân
taäp tin.
Danh saùch :
Laø 1 hay nhieàu trò byte hoaëc chuoåi caùch nhau baèng daáu phaåy.
Khoaûng : laø 1 tham khaûo ñeán vuøng boä nhôù
Trò : laø 1 soá heä 16 coù toái ña coù 4 chöõ soá
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 44
TaTaääp lep leäänh cunh cuûûa Debuga Debug
A <Assemble> :A <Assemble> :
cho phecho pheùùp viep vieáát tt töøöø babaøøn phn phíím cam caùùc lec leäänh maõ manh maõ maùùyy
ddööôôùùi dai daïïng gông gôïïi nhôi nhôùù..
A [ <A [ <ññòa chòa chææ>]>]
Ex :Ex : -- A 100 dòch ôA 100 dòch ôûû ññòa chòa chææ CS:100hCS:100h
-- AA dòch ôdòch ôûû ññòa chòa chææ hiehieään tan taïïii
(Debug la(Debug laááyy ññòa chòa chææ ññoaoaïïn CS)n CS)
-- A DS:2000hA DS:2000h
dòch ôdòch ôûû ññòa chòa chææ DS:2000hDS:2000h
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 55
TThhíí duduïï minh hominh hoïïa lea leäänh Anh A
PhaPhaûûi nhai nhaääp lep leäänh vanh vaøøo theo to theo töøöøng dong doøøng mong moäät vat vaøø
kekeáát thut thuùùc bac baèèng Enter.ng Enter.
KeKeáát thut thuùùc nhac nhaääp nhap nhaáán Enter ôn Enter ôûû dodoøøng trong troááng.ng.
Ex :Ex : -- A 100A 100
5514:0100 MOV AH, 25514:0100 MOV AH, 2
5514:0102 MOV DL, 415514:0102 MOV DL, 41
5514:0104 INT 21H5514:0104 INT 21H
SEGMENT OFFSET
User goû vaøo
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 66
C (Compare)C (Compare)
So saSo saùùnh 2 vunh 2 vuøøng bong boää nhônhôùù vavaøø lielieäät keâ cat keâ caùùc oâ nhôc oâ nhôùù cocoùù
nonoääi dung khai dung khaùùc nhau.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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 77
D (Dump)D (Dump)
HieHieään non noääi dung boi dung boää nhônhôùù theo datheo daïïng heng heää 16 va16 vaøø
ASCIIASCII..
Caùch goïi : D <khoaûng>
Ex : - D F000 : 0
- D ES : 100
- D 100
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 88
LeLeäänh F (nh F (Fill)Fill)
CuCuùù phaphaùùp : F <khoap : F <khoaûûng> <danh sang> <danh saùùch>ch>
Coâng duCoâng duïïng : lang : laáápp ññaaàày trò vay trò vaøøo vuo vuøøng nhông nhôùù ngayngay
tataïïii ññòa chòa chææ mong muomong 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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 99
Minh hoMinh hoïïa lea leäänhnh FF
LaLaéépp ññaaàày vuy vuøøng nhông nhôùù tataïïii ññòa chòa chææ offset 100hoffset 100h
chuochuoååii ““ Toi dua em sang songToi dua em sang song””..
F 100 “TOI DUA EM SANG SONG”
OFFSET 100H
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1010
KEKEÁÁT QUAT 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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1111
D (DUMP)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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1212
ThThíí duduïï minh hominh hoïïa lea leäänhnh DD
ññaaùùnh vanh vaøøo leo leäänh Dnh D ññeeåå xem noxem noääi dung vui dung vuøøng nhông nhôùù
cucuûûa 30h bytes boa 30h bytes boää nhônhôùù ttöøöø ññòa chòa chææ 0000:00400000:0040
ññeeáán 0000:006Fn 0000:006F
- D 0000:0040 006F
Ñòa chæ baét ñaàu
- D 0000:0040 L 30
Soá bytes
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1313
E (ENTER)E (ENTER)
DuDuøøngng ññeeåå ñöñöa da dööõ lieõ lieääu byte vau byte vaøøo boo boää nhônhôùù ngayngay
tataïïii ññòa chòa chææ mong muomong 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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1414
Minh hoMinh hoïïa lea leäänh Enh E
MuMuïïc dc díích : thaych : thay ññooååi noi noääi dung boi dung boää nhô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ôûi DSNeáu ta khoâng qui ñònh ñòa chæñoaïn
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1515
LeLeäänh U (Unassemble)nh U (Unassemble)
coâng ducoâng duïïng : in ra 32 bytes maõ mang : in ra 32 bytes maõ maùùy cuy cuûûaa
chchööông trông trìình trong bonh trong boää nhônhôùù ra mara maøøn hn hìình dnh dööôôùùii
leleäänh gônh gôïïi nhôi nhôùù..
cucuùù phaphaùùp : U [address]p : U [address]
U [range]U [range]
Ex : U 100 119
In ra maøn hình caùc leänh maõ maùy töø ñòa
chæ CS:100 ñeán CS:119
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1616
LeLeäänh R (Register)nh R (Register)
Coâng duCoâng duïïng : xem vang : xem vaøø ssöûöûa noa noääi dung thanh ghi.i dung thanh ghi.
CuCuùù phaphaùùp :p : -- R enter (xem taR enter (xem taáát cat caûû thanh ghi)thanh ghi)
xem thanh ghi AX :xem thanh ghi AX : -- R AXR AX
xem thanh ghi côxem thanh ghi côøø : R F: R F
Ex : muoEx : muoáán ban baäät thanh ghi côt thanh ghi côøø CF vaCF vaøø ZF ta nhaZF ta nhaääpp
CY vaCY vaøø ZR.ZR.
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1717
LeLeäänh N (Name)nh N (Name)
Coâng duCoâng duïïng : tang : taïïo tao taääp tin cap tin caàànn ññooïïc hay ghi trc hay ghi trööôôùùcc
khi dukhi duøøng leng leäänh L hay W.nh L hay W.
CuCuùù phaphaùùp :p : -- N <teân file> [ thoâng soN <teân file> [ thoâng soáá] L [] L [ññòa chòa chææ]]
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1818
ThThíí duduïï minh hominh hoïïa lea leäänhnh NN
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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1919
ThoaThoaùùt khot khoûûi Debug vai Debug vaøø gogoïïi lai laïïi tai taääp tinp tin
theo catheo caùùch sau :ch sau :
C :C :> Debug Love.txt> Debug Love.txt
ttììm xem Debugm xem Debug ññaõ naaõ naïïp tap taääp tin Love.txtp tin Love.txt
vavaøøo choã nao choã naøøo trong boo trong boää nhônhôùù..
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2020
LeLeäänh W (Write)nh W (Write)
CuCuùù phaphaùùp : W [address]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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2121
LeLeäänh T (Trace)vanh T (Trace)vaøø PP
cucuùù phaphaùùp :p : -- T [= <T [= <ññiaiaïï chchææ>][so>][soáá lalaààn]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/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2222
LeLeäänh L (Load)nh L (Load)
nanaïïp tap taääp tin hoap tin hoaëëc nac naïïp sector luap sector luaään lyn lyùù
ttöøöø ñóñóa vaa vaøøo boo boää nhônhôùù..
Cuù phaùp : - L <ñòa chæ> [<ñóa> <sector><soá>]
Daïng 1 : neáu chæ coù ñòa chæ duøng ñeå naïp taäp tin.
Teân taäp tin phaûi ñöôïc gaùn tröôùc baèng leänh N.
Taäp tin luoân luoân ñöôïc gaùn ôû ñòa chæ offset 100h
Daïng 2 : neáu coù ñaày ñuû caùc thoâng soá , duøng ñeå ñoïc sector
luaän lyù treân ñóa vaøo boä nhôù.
Ñóa : = 0 oå ñóa A, =1 oå ñóa B, =2 oå ñóa C ….
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2323
LeLeäänh H (Hex Arithmethic)nh H (Hex Arithmethic)
ththöïöïc hiec hieään phen pheùùp cop coääng vang vaøø trtröøöø heheää 1616
Cuù phaùp : - H <trò 1> <trò 2>
Keát quaû : hieän ra toång vaø hieäu cuûa trò 1 vaø trò 2
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2424
LeLeäänh S (Search)nh S (Search)
Coâng duCoâng duïïng : tng : tììm kiem kieáám trò trong 1 vum trò trong 1 vuøøng bong boää nhônhôùù..
CuCuùù phaphaùùp :p : -- S <khoaS <khoaûûng> <danh sang> <danh saùùch>ch>
GiaGiaûûi thi thíích : tch : tììm kiem kieáám trò com trò coùù hiehieään dien dieään trong vun trong vuøøng bong boää
nhônhôùù ññaõ chaõ chææ ññònh hay khoâng? Neònh hay khoâng? Neááu cou coùù Debug hieDebug hieään can caùùcc
ññòa chòa chææ ññaaààu cuu cuûûa nha nhööõng nôi coõng nôi coùù chchöùöùa danh saa danh saùùch.ch.
Ex :Ex : -- S 100 L 1000S 100 L 1000 ‘‘DOSDOS’’
18AF : 015418AF : 0154
18AF : 082318AF : 0823
Ex2 :Ex2 : -- S 2000 2200 13,15,8A, 8S 2000 2200 13,15,8A, 8
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2525
LeLeäänh M (Move)nh M (Move)
Coâng duCoâng duïïng : cheng : cheùùp nop noääi dung vui dung vuøøng nhông nhôùù ññeeáán 1n 1
ññòa chòa chææ khakhaùùc.c.
CuCuùù phaphaùùp :p : -- M <khoaM <khoaûûng>ng>
Ex :Ex : -- M 100 105 200M 100 105 200
CheCheùùp 5 bytes tp 5 bytes töøöø DS:100DS:100 ññeeáán DS:200n DS:200
Ex2 :Ex2 : -- M CS:100 L 50 ES:300M CS:100 L 50 ES:300
CheCheùùp 50 bytes tp 50 bytes töøöø CS:100CS:100 ññeeáán ES:300n ES:300
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2626
LeLeäänh I (Input)nh I (Input)
Coâng duCoâng duïïng : nhang : nhaääp 1 byte tp 1 byte töøöø cocoåång xuang xuaáát nhat nhaääpp
vavaøø hiehieään ra man ra maøøn hn hìình.nh.
CuCuùù phaphaùùp :p : -- I <I <ññòa chòa chææ cocoåång>ng>
ññòa chòa chææ cocoåång lang laøø sosoáá heheää 16 to16 toááii ñña 4 cha 4 chööõ soõ soáá..
Ex :Ex : -- I 37EI 37E
ECEC
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2727
LeLeäänh O (Output)nh O (Output)
Coâng duCoâng duïïng : xuang : xuaáát 1 byte ra cot 1 byte ra coåång xuang xuaáát nhat nhaääp.p.
CuCuùù phaphaùùp :p :-- O<O<ññòa chòa chææ cocoåång> <trò>ng> <trò>
ññòa chòa chææ cocoåång lang laøø sosoáá heheää 16 to16 toááii ñña 4 cha 4 chööõ soõ soáá..
Ex :Ex : -- O 378 5EO 378 5E
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2828
SummarySummary
DuDuøøng leng leäänh Dnh D ññeeåå xem noxem noääi dung vui dung vuøøng nhông nhôùù tataïïii ññòa chòa chææ cucuûûaa
ROM BIOS F000:0000.ROM BIOS F000:0000.
TTööông tông töïöï xem noxem noääi dung vui dung vuøøng nhông nhôùù RAM maRAM maøøn hn hìình ônh ôûû ññòaòa
chchææ B800:0000; baB800:0000; baûûng vector ngang vector ngaéét quaõng 0000:0000t quaõng 0000:0000
GoGoûû vavaøøo mao maùùy bay baèèng leng leäänh A,nh A, ññoaoaïïn chn chööông trông trìình sau ônh sau ôûû ññòaòa
chchææ 2000:01002000:0100
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2929
SummarySummary
2000:01002000:0100 MOV AL,32MOV AL,32
2000:01022000:0102 MOV AH, 4FMOV AH, 4F
2000:01042000:0104 MOV CX, [200]MOV CX, [200]
2000:01082000:0108 MOV WORD PTR [1800], 1MOV WORD PTR [1800], 1
2000:010E2000:010E MOV BYTE PTR [1800], 1MOV BYTE PTR [1800], 1
2000:01132000:0113
Xem laXem laïïii ññoaoaïïn chn chööông trông trìình vnh vöøöøaa ññaaùùnh treân banh treân baèèng leng leäänh U. Chunh U. Chuùù yyùù quanquan
sasaùùt phat phaààn maõ man maõ maùùy. Ty. Tììm xem cam xem caùùc toac toaùùn han haïïng tng töùöùc thôc thôøøi vai vaøø cacaùùcc ññòaòa
chchææ xuaxuaáát hiet hieään ôn ôûû ññaâu trong phaaâu trong phaààn maõ man maõ maùùy cuy cuûûa lea leäänh.nh.
PhaPhaààn maõ man maõ maùùy cuy cuûûa 2 caâu lea 2 caâu leäänh cuonh cuoáái coi coùù ggìì khakhaùùc nhaukhi duc nhaukhi duøøng cang caùùcc
toatoaùùn tn töûöû WORD PTR vaWORD PTR vaøø BYTE PTR.BYTE PTR.
4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 3030
SummarySummary
DuDuøøng leng leäänh E nhanh E nhaääp vap vaøøoo ññoaoaïïn vaên ban vaên baûûn sau van sau vaøøo boo boää nhônhôùù tataïïii ññòa chòa chææ
DS:0100DS:0100
8086/8088/80286 Assembly language.8086/8088/80286 Assembly language.
Copyright 1988, 1886 by Brady Books, a division of Simon, Inc.Copyright 1988, 1886 by Brady Books, a division of Simon, Inc.
All right reserved, including the of reproduction in whole or inAll right reserved, including the of reproduction in whole or in
part, in any form.part, in any form.
(chu(chuùù yyùù kykyùù ttöïöï ññaaààu dou doøøng xuong xuoááng dong doøøng cong coùù maõ ASCCI lamaõ ASCCI laøø 0D va0D vaøø 0A).0A).
Chương 3 : T ch c Memory 1
(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.
B NH
Chương 3 : T ch c Memory 2
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 3
Memory
B nh (Memory) laø nôi chöùa chöông trình vaø döõ lieäu.
Ñôn vò ño boä nhôù :
Bit : ñôn vò boä nhôù nhoû nhaát laø bit. Moãi bit coù theå löu tröõ 1 trong
2 traïng thaùi laø 0 vaø 1.
Byte = 8 bits, ñöôïc ñaùnh chæ soá töø 0 ñeán 7 baét ñaàu töø phaûi sang
traùi.
Kbyte = 1024bytes = 210 bytes.
Mbyte = 1024Kbytes = 210 Kbytes.
Gbyte = 1024Mbytes = 210 Mbytes.
Chương 3 : T ch c Memory 4
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 5
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.
RAM
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 6
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.
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).
Chương 3 : T ch c Memory 7
RAM
Chương 3 : T ch c Memory 8
ROMROM
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 9
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 10
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 11
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 12
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 13
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 14
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 15
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 16
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 17
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 18
A Two Level Caching System
Chương 3 : T ch c Memory 19
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 20ROM BIOS
ROM BASIC
Reserved ROM
Reserved ROM (not used)
Color Video
Monochrome Video
EGA Color Video
User RAM
Resident portion of DOS
BIOS and DOS data
Interrup Vector Table00000
00400
00600
A0000
B0000
B8000
C0000
F0000
F6000
FE000
MM
EE
MM
OO
RR
YY
MM
AA
PP
Chương 3 : T ch c Memory 21
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 22
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 23
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 24
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 25
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 26
Truy xuaát boä nhôù (cont)
ÑÔN VÒ XÖÛ LYÙ
D7
D6
D5
D4
D3
D2
D1
D0
DATA
BUS
DATA
BUS
OÂ NHÔÙ
BOÄ NHÔÙ
BOBOÄÄ NHÔ
NHÔÙÙ
Ñoïc / ghi döõ lieäu
Chương 3 : T ch c Memory 27
Trình töï taùc vuï ghi oâ nhôù
CPU ñöa ñòa chæ oâ nhôù caàn ghi vaøo thanh ghi ñòa
chæ cuûa boä nhôù.
Maïch giaûi maõ xaùc ñònh ñòa chæ oâ nhôù.
CPU ñöa döõ lieäu caàn ghi vaøo thanh ghi döõ lieäu cuûa
boä nhôù.
CPU göûi tín hieäu ñieàu khieån ghi boä nhôù. Noäi
dung trong thanh ghi döõ lieäu ñöôïc ghi vaøo oâ nhôù coù
ñòa chæ xaùc ñònh.
Chương 3 : T ch c Memory 28
Truy xuaát boä nhôù : ghi oâ nhôù
........
Boä giaûi maõ
Ñòa chæ
A0
A1
A2
A3
A4
00000
00001
00010
00011
11110
11111
ÑônvòXöûlyù
OÂâ nhôù ñöôïc choïn
BoBoää nhônhôùù
Chương 3 : T ch c Memory 29
Stack
Stack laø vuøng nhôù ñaëc bieät duøng ñeå löu
tröõ ñòa chæ vaø döõ lieäu.
Stack thöôøng truù trong stack segment.Moãi vuøng 16 bit treân
stack ñöôïc troû ñeán bôûi thanh ghi SP, goïi laø stack pointer.
Stack pointer löu tröõ ñòa chæ cuûa phaàn töû döõ lieäu cuoái môùi
ñöôïc theâm vaøo (pushed leân stack.)
Chương 3 : T ch c Memory 30
Stack
phaàn töû döõ lieäu cuoái môùi ñöôïc theâm vaøo naøy laïi laø phaàn töû
seõ ñöôïc laáy ra (popped tröôùc tieân).
Stack laøm vieäc theo cô cheá LIFO (Last In First Out).
Xeùt ví duï sau : giaû söû stack ñang chöùa 1 giaù trò 0006
Sau ñó ta ñưa 00A5 vào stack
Chương 3 : T ch c Memory 31
Stack
0006 SP
BEFORE
0006
SP
AFTER
LOW MEM
HIGH MEM HIGH MEM
SP giaûm 1
00A5
Chương 3 : T ch c Memory 32
Coâng duïng cuûa Stack
Khi 1 chöông trình con ñöôïc goïi, stack seõ löu tröõ ñòa chæ trôû veà
ngay sau khi chöông trình con thöïc hieän xong.
Caùc ngoân ngöõ caáp cao thöôøng taïo ra 1 vuøng nhôù beân trong
chöông trình con goïi laø stack frame ñeå chöùa caùc bieán cuïc boä.
Duøng ñeå löu tröõ döõ lieäu taïm cho thanh ghi neáu ta caàn söû duïng
caùc döõ lieäu naøy.
Chương 3 : T ch c Memory 33
Summary Slide
Côø naøo ñöôïc thieát laäp khi 1 pheùp tính soá hoïc khoâng daáu quaù
roäng khoâng vöøa vôùi ñích?
Hai thanh ghi naøo ñöôïc toå hôïp thaønh ñòa chæ cuûa leänh seõ ñöôïc
thöïc keá tieáp?
Neâu quaù trình ñoïc boä nhôù. Taïi sao quaù trình ñoïc boä nhôù laïi
chieám nhieàu chu kyø maùy hôn so vôùi truy caäp thanh ghi?
Thanh ghi AH bò söûa ñoåi, taïi sao thanh ghi AX cuõng thay ñoåi
theo.
Noäi dung naøo chieám 1024 bytes thaáp nhaát cuûa boä nhôù?
Chương 3 : T ch c Memory 34
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 35
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 36
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 37
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
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 11
ChChööôngông 5 : Nha5 : Nhaääp moân Assemblyp moân Assembly
HieHieååu ngoân ngu ngoân ngööõ maõ maùùy vay vaøø ngoân ngngoân ngööõ Assembly.õ Assembly.
TrTrìình hônh hôïïp dòch Assembler.p dòch Assembler.
LyLyùù do nghieân cdo nghieân cöùöùu Assembly.u Assembly.
HieHieååu cau caùùc thac thaøønh phanh phaààn cô ban cô baûûn cun cuûûa Assemblya Assembly
NaNaéémm ñöñöôôïïc cac caááu truu truùùc cuc cuûûa 1 CT Assembly.a 1 CT Assembly.
BieBieáát viet vieáát 1 cht 1 chööông trông trìình Assembly.nh Assembly.
BieBieáát cat caùùch dòch, lieân kech dòch, lieân keáát vat vaøø ththöïöïc thi 1 chc thi 1 chööông trông trììnhnh
Assembly.Assembly.
Muïc tieâu
h1h2
Slide 1
h1 shjsahjsa
huh, 13/10/2004
h2 ssasasasas
huh, 13/10/2004
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 22
GiôGiôùùi thiei thieääu ngoân ngu ngoân ngööõ Assemblyõ Assembly
GiuGiuùùp khap khaùùm pham phaùù bbíí mamaäät phat phaààn cn cöùöùng cuõng nhng cuõng nhöö phaphaàànn
memeààm mam maùùy ty tíính.nh.
NaNaéémm ñöñöôôïïc cac caùùch phach phaààn cn cöùöùng MT lang MT laøøm viem vieääc vôc vôùùi hei heää
ññieieààu hau haøønh vanh vaøø hiehieååuu ñöñöôôïïc bac baèèng cang caùùch nach naøøo 1 tro 1 trììnhnh
öùöùng dung duïïng giao tieng giao tieááp vôp vôùùi hei heää ññieieààu hau haøønh.nh.
MoMoäät MT hay mot MT hay moäät hot hoïï MT sMT söûöû duduïïng 1 tang 1 taääp lep leäänh maõnh maõ
mamaùùy rieâng cuõng nhy rieâng cuõng nhöö 1 ngoân ng1 ngoân ngööõ Assembly rieâng.õ Assembly rieâng.
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 33
AssemblerAssembler
MoMoäät cht chööông trông trìình vienh vieáát bat baèèng ngoân ngng ngoân ngööõ Assemblyõ Assembly
muomuoáán MT thn MT thöïöïc hiec hieäänn ñöñöôôïïc ta phac ta phaûûi chuyei chuyeåån than thaøønhnh
ngoânngoân ngngööõ maõ maùùy.y.
ChChööông trông trìình dunh duøøngng ññeeåå dòch 1 file viedòch 1 file vieáát bat baèèng Assemblyng Assembly
ngoân ngngoân ngööõ maõ maùùy , goy , goïïi lai laøø AssemblerAssembler..
Coù 2 chöông trình dòch:
MASM vaø TASM
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 44
LyLyùù do nghieân cdo nghieân cöùöùu Assemblyu Assembly
ÑÑooùù lalaøø cacaùùch toch toáát nhat nhaáátt ññeeåå hohoïïc phac phaààn cn cöùöùng MTng MT
vavaøø heheää ññieieààu hau haøønh.nh.
VVìì cacaùùc tiec tieäänn íích cuch cuûûa noa noùù ..
CoCoùù thetheåå nhunhuùùng cang caùùc chc chööông trông trìình con vienh con vieáátt
babaèèng ASM vang ASM vaøøo trong cao trong caùùcchcchööông trông trìình vienh vieáátt
babaèèng ngoân ngng ngoân ngööõ caõ caááp cao .p cao .
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 55
LeLeäänh manh maùùyy
LaLaøø 1 chuo1 chuoååi nhò phaân coi nhò phaân coùù yyùù nghnghóóaa ññaaëëc biec bieäätt –– nonoùù rara
leleäänh cho CPU thnh cho CPU thöïöïc hiec hieään tan taùùc vuc vuïï..
TaTaùùc vuc vuïï ññooùù cocoùù thetheåå lalaøø ::
di chuyedi chuyeåån 1 son 1 soáá ttöøöø vò trvò tríí nhônhôùù nanaøøy sang vò try sang vò tríí nhônhôùù khakhaùùc.c.
CoCoääng 2 song 2 soáá hay so sahay so saùùnh 2 sonh 2 soáá..
0 0 0 0 0 1 0 0 Add a number to the AL register
1 0 0 0 0 1 0 1 Add a number to a variable
1 0 1 0 0 0 1 1 Move the AX reg to another reg
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 66
LeLeäänh manh maùùy (cont)y (cont)
TaTaääp lep leäänh manh maùùyy ñöñöôôïïcc ññònh nghònh nghóóa tra trööôôùùc, khi CPUc, khi CPU ñöñöôôïïcc
sasaûûn xuan xuaáát vat vaøø nonoùù ññaaëëc trc trööng cho kieng cho kieååu CPU .u CPU .
Ex : B5 05 laEx : B5 05 laøø 1 le1 leäänh manh maùùy viey vieáát dat daïïng song soáá hex, dahex, daøøi 2 byte.i 2 byte.
ByteByte ññaaààu B5 gou B5 goïïi lai laøø OpcodeOpcode
Byte sau 05 goByte sau 05 goïïi lai laøø toatoaùùn han haïïng Operandng Operand
YÙù nghóa cuûa leänh B5 05 : cheùp giaù trò 5 vaøo reg ALYÙù nghóa cuûa leänh B5 05 : cheùp giaù trò 5 vaøo reg AL
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 77
CaCaùùch viech vieáát 1 cht 1 chööông trông trìình Assemblynh Assembly
Soaïn CT
TenCT.ASM
Dòch CT
Lieân keát CT
Chaïy CT
Duøng 1 phaàn meàm soaïn thaûo VB baát kyø ñeå soan
CT Assembly nhö : NotePad, NC, maøn hình C,
Pascal ...
CT coù phaàn môû roäng laø .ASM
duøng MASM ñeå dòch chöông trình nguoàn .ASM
File Object.
duøng LINK ñeå lieân keát Object taïo taäp tin thöïc
hieän .EXE
Goû teân taäp tin thöïc hieän .EXE töø daáu nhaéc
DOS ñeå chaïy
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 88
Dòch vaDòch vaøø nonoáái kei keáát cht chööông trông trììnhnh
TenCT .ASM TenCT .OBJ
MASM.EXEMASM.EXE
TenCT .EXETenCT .EXE
TenCT .MAP TenCT .LIST TenCT .CRF
LINK.EXELINK.EXE
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 99
MoMoäät cht chööông trông trìình minh hoanh minh hoaïï
DOSSEGDOSSEG
.MODEL SMALL.MODEL SMALL
.STACK 100h.STACK 100h
.DATA.DATA
MES DBMES DB ““HELLO WORDHELLO WORD””,,’’$$’’
.CODE.CODE
MAIN PROCMAIN PROC
MOV AX, @DATAMOV AX, @DATA
MOV DS, AXMOV DS, AX
MOV DX, OFFSET MES
MOV AH, 9
INT 21
MOV AH,4CH
INT 21
MAIN ENDP
END MAIN
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1010
CaCaùùc filec file ñöñöôôïïc tac taïïoo
Sau khi dòch thaSau khi dòch thaøønh coâng file nguonh coâng file nguoààn.ASM, ta con.ASM, ta coùù cacaùùc file :c file :
File listing : file VB , caFile listing : file VB , caùùc doc doøøng cong coùù ññaaùùnh sonh soáá ththöùöù ttöïöï maõ.maõ.
File Cross referenceFile Cross reference
File MapFile Map
File ObjFile Obj
File EXEFile EXE
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1111
File ListingFile Listing
Microsoft (R) Macro Assembler Version 5.10 10/1Microsoft (R) Macro Assembler Version 5.10 10/11/41/4
PagPage 1e 1--11
1 DOSSEG1 DOSSEG
2 .MODEL SMALL2 .MODEL SMALL
3 .STACK 100H3 .STACK 100H
4 .DATA4 .DATA
5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"
6 57 4F 52 44 246 57 4F 52 44 24
7 .CODE7 .CODE
8 0000 MAIN PROC8 0000 MAIN PROC
9 0000 B89 0000 B8 -------- R MOV AX,@DATAR MOV AX,@DATA
10 0003 8E D8 MOV DS, AX10 0003 8E D8 MOV DS, AX
11 0005 B4 09 MOV AH,911 0005 B4 09 MOV AH,9
12 0007 BA 0000 R MOV DX, OFFSET MES12 0007 BA 0000 R MOV DX, OFFSET MES
13 000A CD 21 INT 21H13 000A CD 21 INT 21H
14 000C B4 4C MOV AH,4CH14 000C B4 4C MOV AH,4CH
15 000E CD 21 INT 21H15 000E CD 21 INT 21H
16 0010 MAIN ENDP16 0010 MAIN ENDP
17 END MAIN17 END MAIN
♀◘♀◘Microsoft (R) Macro Assembler Version 5.10 10/1Microsoft (R) Macro Assembler Version 5.10 10/11/41/4
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1212
Map FileMap File
Start Stop Length Name ClassStart Stop Length Name Class
00000H 0001FH 00020H _TEXT CODE00000H 0001FH 00020H _TEXT CODE
00020H 0002AH 0000BH _DATA DATA00020H 0002AH 0000BH _DATA DATA
00030H 0012FH 00100H STACK STACK00030H 0012FH 00100H STACK STACK
Origin GroupOrigin Group
0002:0 DGROUP0002:0 DGROUP
Program entry point at 0000:0010Program entry point at 0000:0010
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1313
GiaGiaûûi thi thííchch
.model small : du.model small : duøøng kieng kieååu cau caááu truu truùùc <= 64 K boc <= 64 K boää nhônhôùù chocho
maõ , 64K cho dmaõ , 64K cho dööõ lieõ lieääu.u.
.Stack 100h : da.Stack 100h : daøønh 256 bytes cho stack cunh 256 bytes cho stack cuûûa cha chööôngông
trtrìình .nh .
.Data :.Data : ññaaùùnh danh daááu phaânu phaân ññoaoaïïn dn dööõ lieõ lieääu ôu ôûû ññooùù cacaùùc biec bieáánn
ñöñöôôïïc lc lööu tru trööõ.õ.
.Code :.Code : ññaaùùnh danh daááu phaânu phaân ññoaoaïïn maõ chn maõ chöùöùa caa caùùc lec leäänh phanh phaûûii
thi hathi haøønh.nh.
Proc : khai baProc : khai baùùoo ññaaààu 1 thuu 1 thuûû tutuïïc, trong Ex nac, trong Ex naøøy ta chy ta chææ cocoùù 11
thuthuûû tutuïïc Main.c Main.
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1414
GiaGiaûûi thi thíích (cont)ch (cont)
CheCheùùpp ññòa chòa chææ ññoaoaïïn dn dööõ lieõ lieääu vau vaøøo thanh ghi AX.o thanh ghi AX.
SauSau ññooùù checheùùp vap vaøøo thanh ghi DSo thanh ghi DS
GoGoïïi hai haøøm som soáá 9 cu9 cuûûa Int 21h cua Int 21h cuûûa Dosa Dos ññeeåå xuaxuaáátt
chuochuoååi kyi kyùù ttöïöï ra mara maøøn hn hìình.nh.
ThoaThoaùùt khot khoûûi CT .i CT .
Main endp :Main endp : ññaaùùnh danh daááu keu keáát thut thuùùc thuc thuûû tutuïïcc
End main : chaEnd main : chaáám dm döùöùt cht chööông trông trììnhnh
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1515
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1616
CaCaùùc chec cheáá ññooää boboää nhônhôùù
Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïnn
DDööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïn, man, maûûng cong coùù thetheåå > 64K> 64K
HUGEHUGE
Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïnn
DDööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïn,khoâng con,khoâng coùù mamaûûng nang naøøo >o >
64K64K
LARGELARGE
Maõ leMaõ leäänh trong 1nh trong 1 ññoaoaïïn. Dn. Dööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïnnCOMPACTCOMPACT
Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïn.Dn.Dööõ lieõ lieääu trong 1u trong 1 ññoaoaïïnnMEDIUMMEDIUM
Maõ leMaõ leäänh trong 1nh trong 1 ññoaoaïïn.Dn.Dööõ lieõ lieääu trong 1u trong 1 ññoaoaïïnnSMALLSMALL
Moâ taMoâ taûûKieKieååuu
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1717
DaDaïïng leng leäänhnh
[name] [operator] [ operand] [comment][name] [operator] [ operand] [comment]
Nhaõn, teân bieán
Teân thuû tuïc
Nhaõn, teân bieán
Teân thuû tuïc
Maõ leänh daïng
gôïi nhôù
Maõ leänh daïng
gôïi nhôù
Register, oâ nhôù
Trò, haèng
Register, oâ nhôù
Trò, haèng
Chuù thíchChuù thích
Ex : MOV CX , 0
LAP : MOV CX, 4
LIST DB 1,2,3,4
Moãi doøng chæ chöùa 1 leänh vaø moãi leänh
phaûi naèm treân 1 doøng
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1818
INT 21HINT 21H
LeLeäänh INT sonh INT soáá hiehieääu ngau ngaéétt ñöñöôôïïc duc duøøngng ññeeåå gogoïïii
chchööông trông trìình nganh ngaéét cut cuûûa DOS vaa DOS vaøø BIOS.BIOS.
Ngaét 21h
Muoán söû duïng haøm naøo cuûa INT 21h ta ñaët
function_number vaøo thanh ghi AH, sau ñoù goïi INT 21h
Function_number chöùc naêng
1 nhaäp 1 kyù töï töø baøn phím
2 Xuaát 1 kyù töï ra maø hình.
9 Xuaát 1 chuoåi kyù töï ra maøn
hình
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1919
INT 21h (cont)INT 21h (cont)
Haøm 1 : Nhaäp 1 kyù töï
Input : AH =1
Output : AL = maõ ASCCI cuûa phím aán
= 0 neáu 1 phím ñieàu khieåân ñöôïc aán
Haøm 2 : Hieån thò 1 kyù töï ra maøn hình
Input : AH =2
DL = Maõ ASCII cuûa kyù töï hieån thò hay kyù töï ñieàu khieån
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2020
ThThíí duduïï minh hominh hoïïaa
DOSSEG
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
MOV AH , 2
MOV DL , ‘?’
INT 21H
MOV AH ,1
INT 21H
MOV BL,AL
MOV AH,2
MOV DL, 0DH
INT 21H
MOV DL , 0AH
INT 21H
MOV DL , BL
INT 21H
MOV AX , 4C00H
INT 21H
MAIN ENDP
END MAIN
? N
NKEÁT QUAÛ
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2121
ThThíí duduïï minh hominh hoïïa caa caùùc hac haøøm cum cuûûa INT 21a INT 21
In daIn daááu ? ra mau ? ra maøøn hn hìình :nh :
MOV AH, 2MOV AH, 2
MOV DL,MOV DL, ‘‘??’’
INT 21HINT 21H
NhaNhaääp 1 kyp 1 kyùù ttöïöï ttöøöø babaøøn phn phíím :m :
MOV AH, 1MOV AH, 1
INT 21HINT 21H
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2222
BieBieáánn
CuCuùù phaphaùùp :p : [teân bie[teân bieáán] DB | DW |.... [trò khôn] DB | DW |.... [trò khôûûi tai taïïo]o]
LaLaøø momoäät teân kyt teân kyùù hiehieääu dau daøønh rieâng cho 1 vò trnh rieâng cho 1 vò tríí trong botrong boää
nhônhôùù nôi lnôi lööu tru trööõ dõ dööõ lieõ lieääu.u.
Offset cuOffset cuûûa biea bieáán lan laøø khoakhoaûûng cang caùùch tch töøöø ññaaààu phaânu phaân ññoaoaïïnn
ññeeáán bien bieáánn ññooùù..
Ex : khai baEx : khai baùùo 1 danh sao 1 danh saùùch aList ôch aList ôûû ññòa chòa chææ 100 vô100 vôùùii
nonoääi dung sau :i dung sau :
.data.data
aList dbaList db ““ABCDABCD””
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2323
BieBieáán (cont)n (cont)
LuLuùùcc ññooùù ::
OffsetOffset BieBieáánn
00000000 AA
00010001 BB
00020002 CC
00030003 DD
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2424
Khai baKhai baùùo bieo bieáánn
tenbytetenbyte101010 bytes10 bytesDTDT
QuardwordQuardword88TTöøöø ttöùöùDQDQ
DoublewordDoubleword44TTöøöø kekeùùppDDDD
WordWord22TTöøöøDWDW
ByteByte11ÑÑònh nghònh nghóóaa
bytebyte
DBDB
ThuoThuoääc tc tíínhnhSoSoáá bytebyteMoâ taMoâ taûûTTöøöø gôgôïïi nhôi nhôùù
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2525
Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn
Char dbChar db ‘‘AA’’
Num db 41hNum db 41h
Mes dbMes db ““Hello WordHello Word””,,’’$$’’
Array_1 db 10, 32, 41h, 00100101bArray_1 db 10, 32, 41h, 00100101b
Array_2 db 2,3,4,6,9Array_2 db 2,3,4,6,9
Myvar db ? ; bieMyvar db ? ; bieáán khoâng khôn khoâng khôûûi tai taïïoo
Btable db 1,2,3,4,5Btable db 1,2,3,4,5
db 6,7,8,9,10db 6,7,8,9,10
KIEÅU BYTE
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2626
Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn
DW 3 DUP (?)DW 3 DUP (?)
DW 1000h,DW 1000h, ‘‘ABAB’’, 1024, 1024
DW ?DW ?
DW 5 DUP (1000h)DW 5 DUP (1000h)
DW 256*2DW 256*2
KIEÅU WORD
DAÏNG LÖU TRÖÕ DÖÕ LIEÄU KIEÅU WORD :
Trình hôïp dòch ñaûo ngöôïc caùc byte trong 1 giaù trò kieåu WORD
khi löu tröõ trong boä nhôù :
Byte thaáp löu ôû ñòa chæ thaáp Byte cao löu ôû ñòa chæ cao
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2727
Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn
KIEÅU WORD
Ex : 1234h ñöôïc löu tröõ trong boä nhôù nhö sau :
34 12
1000h 1001h
BOÄ
NHÔÙ
ÑÒA CHÆ
DÖÕ LIEÄU 1234H
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2828
ToaToaùùn tn töûöû DUPDUP
LaLaëëp lap laïïi 1 hay nhiei 1 hay nhieààu giau giaùù trò khôtrò khôûûi tai taïïo.o.
Ex :Ex :
Bmem DB 50 Dup(?)Bmem DB 50 Dup(?)
; khai ba; khai baùùo vuo vuøøng nhông nhôùù gogoààm 50 bytes.m 50 bytes.
db 4 dup (db 4 dup (““ABCABC””))
;12 bytes;12 bytes ““ABCABCABCABCABCABCABCABC””
db 4096 dup (0)db 4096 dup (0)
; Vu; Vuøøngng ññeeääm 4096 bytes tam 4096 bytes taáát cat caûû babaèèng 0ng 0
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2929
KhôKhôûûi tai taïïo bieo bieáánn
LLööu yu yùù ::
Khi khôKhi khôûûi tai taïïo trò lao trò laøø 1 so1 soáá hex thhex thìì giagiaùù trò sotrò soáá luoânluoân
luoân baluoân baéétt ññaaààu bau baèèng 1 kyng 1 kyùù sosoáá ttöøöø 00 ññeeáán 9. Nen 9. Neááu kyu kyùù
sosoáá babaéétt ññaaààu lau laøø A.. F thA.. F thìì phaphaûûi theâm soi theâm soáá 0 ô0 ôûû ññaaààu.u.
Ex :Ex :
Db A6H ; saiDb A6H ; sai
Db 0A6h ;Db 0A6h ; ññuuùùngng
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3030
ToaToaùùn tn töûöû DUP (cont)DUP (cont)
Amtrix dw 3 dup (4 dup (0) )Amtrix dw 3 dup (4 dup (0) )
Taïo 1 ma traän 3x4
Atable db 4 dup (3 dup (0), 2 dup (‘X’))
Taïo 1 vuøng nhôù chöùa 000XX 000XX 000XX 000XX
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3131
ToaToaùùn tn töûöû DUPDUP
ChChææ xuaxuaáát hiet hieään sau 1 chn sau 1 chææ thò DB hay DWthò DB hay DW
VôVôùùi DUP ta coi DUP ta coùù thetheåå lalaëëp lap laïïi 1 hay nhiei 1 hay nhieààu trò chou trò cho
vuvuøøng nhông nhôùù..
RaRaáát cot coùù íích khi lach khi laøøm viem vieääc vôc vôùùi mai maûûng hay chuong hay chuoååi.i.
4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3232
ToaToaùùn tn töûöû ??
MuoMuoáán khai ban khai baùùo 1 bieo 1 bieáán hay 1 man hay 1 maûûng mang maøø khoângkhoâng
cacaààn khôn khôûûi tai taïïo trò ta duo trò ta duøøng toang toaùùn tn töûöû ??
Ex : MEM8 DB ? ; khai baùo 1 byte troáng trong boä nhôù
MEM16 DW ? ; khai baùo 2 byte troáng trong boä nhôù
BMEM DB 50 DUP(?)
; khai baùo 50 byte troáng trong boä nhôù
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm
Cau truc may_tinh_&_asm

More Related Content

Similar to Cau truc may_tinh_&_asm

vi du gia cong nc - cnckhacda.com
vi du gia cong nc - cnckhacda.comvi du gia cong nc - cnckhacda.com
vi du gia cong nc - cnckhacda.com
CNC khac da
 
Tailieu.vncty.com lap trinh-c_cho_vi_dieu_khien
Tailieu.vncty.com   lap trinh-c_cho_vi_dieu_khienTailieu.vncty.com   lap trinh-c_cho_vi_dieu_khien
Tailieu.vncty.com lap trinh-c_cho_vi_dieu_khien
Trần Đức Anh
 
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)CNTT-DHQG
 
Tai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 fullTai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 full
vo long
 
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Trần Đức Anh
 
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Tranghoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
Học Cơ Khí
 
5 tham so gia cong nc - cnckhacda.com
5 tham so gia cong nc -  cnckhacda.com5 tham so gia cong nc -  cnckhacda.com
5 tham so gia cong nc - cnckhacda.com
CNC khac da
 
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiềuThiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
nataliej4
 
Gia công cam trên máy cnc
Gia công cam trên máy cncGia công cam trên máy cnc
Gia công cam trên máy cnc892489
 
[Hoccokhi.vn] lap trinh gia cong mastercam x4
[Hoccokhi.vn] lap trinh gia cong mastercam x4[Hoccokhi.vn] lap trinh gia cong mastercam x4
[Hoccokhi.vn] lap trinh gia cong mastercam x4
Học Cơ Khí
 
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
Học Cơ Khí
 
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
Man_Ebook
 
Baocaokhoahocungdungscada quan ly he thong dien
Baocaokhoahocungdungscada quan ly he thong dienBaocaokhoahocungdungscada quan ly he thong dien
Baocaokhoahocungdungscada quan ly he thong dien
Nguyen Hoang Trung
 
056 giao trinh thvp2011
056 giao trinh thvp2011056 giao trinh thvp2011
056 giao trinh thvp2011
Torres Pham
 
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)CNTT-DHQG
 
Giao trinh tin a iuh
Giao trinh tin a iuhGiao trinh tin a iuh
Giao trinh tin a iuh
Hải Finiks Huỳnh
 
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]Giáo trình kien trucmaytinh vd-lung[bookbooming.com]
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]bookbooming1
 
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)CNTT-DHQG
 

Similar to Cau truc may_tinh_&_asm (20)

vi du gia cong nc - cnckhacda.com
vi du gia cong nc - cnckhacda.comvi du gia cong nc - cnckhacda.com
vi du gia cong nc - cnckhacda.com
 
Tailieu.vncty.com lap trinh-c_cho_vi_dieu_khien
Tailieu.vncty.com   lap trinh-c_cho_vi_dieu_khienTailieu.vncty.com   lap trinh-c_cho_vi_dieu_khien
Tailieu.vncty.com lap trinh-c_cho_vi_dieu_khien
 
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W02_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
 
Tai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 fullTai lieu lap trinh plc s7 200 full
Tai lieu lap trinh plc s7 200 full
 
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...Tailieu.vncty.com   nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
Tailieu.vncty.com nghien cuu-ve_mang_luu_tru_va_de_xuat_phuong_an_mang_luu_...
 
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Tranghoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
 
5 tham so gia cong nc - cnckhacda.com
5 tham so gia cong nc -  cnckhacda.com5 tham so gia cong nc -  cnckhacda.com
5 tham so gia cong nc - cnckhacda.com
 
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiềuThiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
Thiết kế, chế tạo mạch điều khiển, hiển thị tốc độ động cơ điện 1 chiều
 
Gia công cam trên máy cnc
Gia công cam trên máy cncGia công cam trên máy cnc
Gia công cam trên máy cnc
 
[Hoccokhi.vn] lap trinh gia cong mastercam x4
[Hoccokhi.vn] lap trinh gia cong mastercam x4[Hoccokhi.vn] lap trinh gia cong mastercam x4
[Hoccokhi.vn] lap trinh gia cong mastercam x4
 
Quan ly bo nho
Quan ly bo nhoQuan ly bo nho
Quan ly bo nho
 
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
[Hoccokhi.vn] lap trinh gia cong bang pp chieu hinh mastercam
 
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
Quản lý sơ đồ nguyên lý lưới điện trung áp trong Tổng công ty điện lực Miền B...
 
Baocaokhoahocungdungscada quan ly he thong dien
Baocaokhoahocungdungscada quan ly he thong dienBaocaokhoahocungdungscada quan ly he thong dien
Baocaokhoahocungdungscada quan ly he thong dien
 
056 giao trinh thvp2011
056 giao trinh thvp2011056 giao trinh thvp2011
056 giao trinh thvp2011
 
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (1)
 
Giao trinh tin a iuh
Giao trinh tin a iuhGiao trinh tin a iuh
Giao trinh tin a iuh
 
Chuongiv
ChuongivChuongiv
Chuongiv
 
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]Giáo trình kien trucmaytinh vd-lung[bookbooming.com]
Giáo trình kien trucmaytinh vd-lung[bookbooming.com]
 
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
THCS_W03_BaiGiang_CÁC KIẾN THỨC CƠ BẢN VỀ CÔNG NGHỆ THÔNG TIN (2)
 

More from Cuong Pham

Hạt giống tâm hồn 10
Hạt giống tâm hồn 10Hạt giống tâm hồn 10
Hạt giống tâm hồn 10
Cuong Pham
 
Hạt giống tâm hồn 8
Hạt giống tâm hồn 8Hạt giống tâm hồn 8
Hạt giống tâm hồn 8
Cuong Pham
 
Hạt giống tâm hồn 7
Hạt giống tâm hồn 7Hạt giống tâm hồn 7
Hạt giống tâm hồn 7
Cuong Pham
 
Hạt giống tâm hồn 6
Hạt giống tâm hồn 6Hạt giống tâm hồn 6
Hạt giống tâm hồn 6
Cuong Pham
 
Hạt giống tâm hồn 5
Hạt giống tâm hồn 5Hạt giống tâm hồn 5
Hạt giống tâm hồn 5
Cuong Pham
 
Hạt giống tâm hồn 4
Hạt giống tâm hồn 4Hạt giống tâm hồn 4
Hạt giống tâm hồn 4
Cuong Pham
 
Hạt giống tâm hồn 3
Hạt giống tâm hồn 3Hạt giống tâm hồn 3
Hạt giống tâm hồn 3
Cuong Pham
 
Hạt giống tâm hồn 1
Hạt giống tâm hồn 1Hạt giống tâm hồn 1
Hạt giống tâm hồn 1
Cuong Pham
 
PC World 9/2014 (September 2014)
PC World 9/2014 (September 2014)PC World 9/2014 (September 2014)
PC World 9/2014 (September 2014)
Cuong Pham
 
Bí quyết thành công của 100 thương hiệu hàng đầu thế giới
Bí quyết thành công của 100 thương hiệu hàng đầu thế giớiBí quyết thành công của 100 thương hiệu hàng đầu thế giới
Bí quyết thành công của 100 thương hiệu hàng đầu thế giới
Cuong Pham
 
Bill gates speak - Bill Gates đã nói
Bill gates speak - Bill Gates đã nóiBill gates speak - Bill Gates đã nói
Bill gates speak - Bill Gates đã nói
Cuong Pham
 
Bqđgcs
BqđgcsBqđgcs
Bqđgcs
Cuong Pham
 
Bmtvvq
BmtvvqBmtvvq
Bmtvvq
Cuong Pham
 
Bmcmm
BmcmmBmcmm
Bmcmm
Cuong Pham
 
Bmchp
BmchpBmchp
Bmchp
Cuong Pham
 
Bí mật của hạnh phúc
Bí mật của hạnh phúcBí mật của hạnh phúc
Bí mật của hạnh phúc
Cuong Pham
 
Ai lay mieng pho mat cua toi
Ai lay mieng pho mat cua toiAi lay mieng pho mat cua toi
Ai lay mieng pho mat cua toi
Cuong Pham
 
50 công ty làm thay đổi thế giới
50 công ty làm thay đổi thế giới50 công ty làm thay đổi thế giới
50 công ty làm thay đổi thế giới
Cuong Pham
 
18 QLBBPTTH Cty
18 QLBBPTTH Cty18 QLBBPTTH Cty
18 QLBBPTTH Cty
Cuong Pham
 

More from Cuong Pham (20)

Hạt giống tâm hồn 10
Hạt giống tâm hồn 10Hạt giống tâm hồn 10
Hạt giống tâm hồn 10
 
Hạt giống tâm hồn 8
Hạt giống tâm hồn 8Hạt giống tâm hồn 8
Hạt giống tâm hồn 8
 
Hạt giống tâm hồn 7
Hạt giống tâm hồn 7Hạt giống tâm hồn 7
Hạt giống tâm hồn 7
 
Hạt giống tâm hồn 6
Hạt giống tâm hồn 6Hạt giống tâm hồn 6
Hạt giống tâm hồn 6
 
Hạt giống tâm hồn 5
Hạt giống tâm hồn 5Hạt giống tâm hồn 5
Hạt giống tâm hồn 5
 
Hạt giống tâm hồn 4
Hạt giống tâm hồn 4Hạt giống tâm hồn 4
Hạt giống tâm hồn 4
 
Hạt giống tâm hồn 3
Hạt giống tâm hồn 3Hạt giống tâm hồn 3
Hạt giống tâm hồn 3
 
Hạt giống tâm hồn 1
Hạt giống tâm hồn 1Hạt giống tâm hồn 1
Hạt giống tâm hồn 1
 
PC World 9/2014 (September 2014)
PC World 9/2014 (September 2014)PC World 9/2014 (September 2014)
PC World 9/2014 (September 2014)
 
Bí quyết thành công của 100 thương hiệu hàng đầu thế giới
Bí quyết thành công của 100 thương hiệu hàng đầu thế giớiBí quyết thành công của 100 thương hiệu hàng đầu thế giới
Bí quyết thành công của 100 thương hiệu hàng đầu thế giới
 
Bill gates speak - Bill Gates đã nói
Bill gates speak - Bill Gates đã nóiBill gates speak - Bill Gates đã nói
Bill gates speak - Bill Gates đã nói
 
Bqđgcs
BqđgcsBqđgcs
Bqđgcs
 
Bmtdtp
BmtdtpBmtdtp
Bmtdtp
 
Bmtvvq
BmtvvqBmtvvq
Bmtvvq
 
Bmcmm
BmcmmBmcmm
Bmcmm
 
Bmchp
BmchpBmchp
Bmchp
 
Bí mật của hạnh phúc
Bí mật của hạnh phúcBí mật của hạnh phúc
Bí mật của hạnh phúc
 
Ai lay mieng pho mat cua toi
Ai lay mieng pho mat cua toiAi lay mieng pho mat cua toi
Ai lay mieng pho mat cua toi
 
50 công ty làm thay đổi thế giới
50 công ty làm thay đổi thế giới50 công ty làm thay đổi thế giới
50 công ty làm thay đổi thế giới
 
18 QLBBPTTH Cty
18 QLBBPTTH Cty18 QLBBPTTH Cty
18 QLBBPTTH Cty
 

Cau truc may_tinh_&_asm

  • 1.
  • 2. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 1 CC UU TRTRÚÚCC MMÁÁYY TTÍÍNHNH LL P TRÌNH HP TRÌNH H P NGP NG
  • 3. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 2 CC u tru trúúc Mc Mááy ty tíínhnh && LL p trp trììnhnh AssemblyAssembly MUMUÏÏC TIEÂUC TIEÂU : 1. Khaùm phaù bí maät beân trong 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 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.
  • 4. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 3 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
  • 5. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 4 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)
  • 6. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 5 Giaùo vieân : Ngoâ Phöôùc Nguyeân Email : nguyenktcn@yahoo.com Mobile: 091-8-380-926
  • 7. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 6 ð 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.
  • 8. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 7 Chương 1 :C U TRÚC T NG QUÁT C A M T H TH NG MÁY TÍNH
  • 9. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 8 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 M c tiêu :
  • 10. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 9 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
  • 11. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 10
  • 12. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 11
  • 13. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 12 2+3/4*3-5=? ……………. …………….. ………………. Memory : ch a các ch th & d li u Input device : thi t b nh p B x lý Maùy tính & Söï tính toaùn
  • 14. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 13 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.
  • 15. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 14 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. bSi kh i x lýñ u ñ c ghi 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 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 :
  • 16. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 15 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
  • 17. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 16 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
  • 18. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 17 Nguyên lý Turing 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 bSjSi kh i x lý ñ u ñ c ghi 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
  • 19. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 18 Nguyên lý hoat ñ ng máy Turing 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. 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.
  • 20. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 19 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 … 1 0 b … q0 0 0 b … q0 q0 0 1 b … Ban ñ u q1 00 11 b … D ng K t qu 01
  • 21. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 20 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. B nhBB nhnh ðơn v x lýðơn vðơn v xx lýlý HH xuxu t nht nh pp data chương trình Trao ñ i thông tin ði u khi n
  • 22. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 21 Nguyên lýNguyên lýNguyên lýNguyên lý Von Neumann (contVon Neumann (contVon Neumann (contVon 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 )
  • 23. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 22 Nguyên lýNguyên lýNguyên lýNguyên lý Von Neumann (contVon Neumann (contVon Neumann (contVon 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 trChương trìình MT cnh MT cóó thth bibi u diu di n dưn dư I dI d ng sng s vvàà ññ tt vvàào trong bo trong b nhnh cc a MT bên ca MT bên c nh dnh d lili u.u.
  • 24. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 23 Typical Von Neumann MachineTypical Von Neumann Machine A L U
  • 25. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 24 Nguyên lý ho t ñ ng MT CPU ð c l nh Phân tích l nh Th c thi l nh CPU ð c l nh Phân tích l nh Th c thi l nh B nh chính Lưu tr thông tin Nơi ch a chương trình ñ CPU ñ c và th c thi B nh chính Lưu tr thông tin Nơi ch a chương trình ñ CPU ñ c và th c thi Kh i xu t nh p Giao ti p v i môi trư ng bên ngoài xu t nh p d li u, b nh ph Kh i xu t nh p Giao ti p v i môi trư ng bên ngoài xu t nh p d li u, b nh ph
  • 26. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 25 T ch c Máy tính 1 CPU & 2 I/O device PrinterDisk CPU Main Memory Control UnitControl Unit ALUALU ………. ………. Registers Bus I/O Devices Bus Bus
  • 27. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 26 Sơ ñ kh i chi ti t Control UnitControl Unit ñ c, phân tích, ra l nh cho các ñơn v ch c năng th c hi n ALUALU Phép toán: s h c, lu n lý, so sánh, d ch, quay,x lý bit. Main Memory Có 2 tác v : ñ c /Ghi 2 lo i d li u: 1) Data : s li u ñ u vào, k t qu ,d li u trung gian 2) Chương trình Main Memory Có 2 tác v : ñ c /Ghi 2 lo i d li u: 1) Data : s li u ñ u vào, k t qu ,d li u trung gian 2) Chương trình ðơn v giao ti p – IO Cardðơn v giao ti p – IO Card IO DevicesIO Devices RegistersRegisters M I phép toán cho 2 k t qu
  • 28. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 27 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.
  • 29. 4/4/2006 Chuong 1 C U TRÚC T NG QUÁT C A HTMT 28 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 ?
  • 30. Chuong 2 : T ch c CPU 1 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
  • 31. Chuong 2 : T ch c CPU 2 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
  • 32. Chuong 2 : T ch c CPU 3 2.1 H th ng s 0 1 2 3 4 5 6 7 8 9 A B C D E F Ex : 3F8h 1616th p l c phân 0 1 2 3 4 5 6 7 8 9 Ex : 12d 1010th p phân 0 1 2 3 4 5 6 7 Ex : 24o 88bát phân 0 1 Ex : 1010b22nh phân d ng ký s và ký t bi u di n ss ký s Cơ sH ñ m
  • 33. Chuong 2 : T ch c CPU 4 H th ng s 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. H th ng s là gì ?
  • 34. Chuong 2 : T ch c CPU 5 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).
  • 35. Chuong 2 : T ch c CPU 6 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 Decimal System
  • 36. Chuong 2 : T ch c CPU 7 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 :
  • 37. Chuong 2 : T ch c CPU 8 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): Binary System
  • 38. Chuong 2 : T ch c CPU 9 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
  • 39. Chuong 2 : T ch c CPU 10 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
  • 40. Chuong 2 : T ch c CPU 11 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 001111 011001 111010 100000 Not AA xor B A or B A and B BA
  • 41. Chuong 2 : T ch c CPU 12 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
  • 42. Chuong 2 : T ch c CPU 13 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
  • 43. Chuong 2 : T ch c CPU 14 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
  • 44. Chuong 2 : T ch c CPU 15 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
  • 45. Chuong 2 : T ch c CPU 16 2.2 B x lý trung tâm CPU
  • 46. Chuong 2 : T ch c CPU 17 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
  • 47. Chuong 2 : T ch c CPU 18 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.
  • 48. Chuong 2 : T ch c CPU 19 Sơ ñ kh i Control UnitControl Unit ALUALU ðơn v giao ti p – IO Cardðơn v giao ti p – IO Card IO DeviceIO Device RegistersRegisters Main Memory Có 2 tác v : ð c /Ghi 2 lo i d li u: 1) Data : s li u ñ u vào, k t qu , d li u trung gian 2) Chương trình Main Memory Có 2 tác v : ð c /Ghi 2 lo i d li u: 1) Data : s li u ñ u vào, k t qu , d li u trung gian 2) Chương trình Phép toán: s h c, lu n lý, so sánh, d ch, quay,x lý bit CPU ñ c, phân tích l nh , ra l nh cho các ñơn v ch c năng th c hi n
  • 49. Chuong 2 : T ch c CPU 20 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.
  • 50. Chuong 2 : T ch c CPU 21 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öï.
  • 51. Chuong 2 : T ch c CPU 22 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
  • 52. Chuong 2 : T ch c CPU 23 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á.
  • 53. Chuong 2 : T ch c CPU 24 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 Thi hành l nh L y l nh CPU thư ng L NH 2L NH 1 L NH 3 L NH 1 L NH 2 L NH 3 Thi hành l nh L y l nh L NH 2L NH 1 L NH 3 L NH 1 L NH 2 L NH 3 CPU dùng cơ c u ñư ng ng (piple line) Th i gian ti t ki m ñư c
  • 54. Chuong 2 : T ch c CPU 25 Heä ña boä xöû lyù (MultiProccessor) CPUCPU CPUCPU CPUCPU CPUCPU Shared memory Bus Heä MultiProccessor söû duïng 1 ñöôøng Bus
  • 55. Chuong 2 : T ch c CPU 26 Heä ña boä xöû lyù (MultiProccessor) CPUCPU CPUCPU CPUCPU CPUCPU Shared memory Bus Heä MultiProccessor söû duïng nhieàu boä nhôù cuïc boä Local Memory
  • 56. Chuong 2 : T ch c CPU 27 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. Bus
  • 57. Chuong 2 : T ch c CPU 28 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).
  • 58. Chuong 2 : T ch c CPU 29 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 t t tác v …
  • 59. Chuong 2 : T ch c CPU 30 Minh h a h th ng Bus CPUCPUCPU IO devicesIO devicesIO devices MemoryMemory Data busData bus Address busAddress bus ControlControl busbus
  • 60. Chuong 2 : T ch c CPU 31 A Typical Output Port
  • 61. Chuong 2 : T ch c CPU 32 An Input and an Output Device That Share the Same Address (a Dual I/O Port)
  • 62. Chuong 2 : T ch c CPU 33 Connection of the PCI and ISA Busses in a Typical PC Peripheral Component Interconnect Industry Standard Architecture
  • 63. Chuong 2 : T ch c CPU 34 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.
  • 64. Chuong 2 : T ch c CPU 35 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
  • 65. Chuong 2 : T ch c CPU 36 Plug and Play 1.C BIOS trên mainboard và Card b sung ñ u không ph I là Plug and Play. 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. 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.
  • 66. Chuong 2 : T ch c CPU 37 AGP Bus Interface Accelerated Graphic Port
  • 67. Chuong 2 : T ch c CPU 38 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..
  • 68. Chuong 2 : T ch c CPU 39 ð 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.
  • 69. Chuong 2 : T ch c CPU 40 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.
  • 70. Chuong 2 : T ch c CPU 41 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.
  • 71. Chuong 2 : T ch c CPU 42 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 .
  • 72. Chuong 2 : T ch c CPU 43 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 .
  • 73. Chuong 2 : T ch c CPU 44 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).
  • 74. Chuong 2 : T ch c CPU 45 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.
  • 75. Chuong 2 : T ch c CPU 46 Chu kỳ Bus (cont) Chu kỳ bus Add1 Data1 Ready Add2 Data2 Chu kỳ bus InactiveReady Chu kyø Bus khi khoâng coù traïng thaùi chôø Add1 Data1 Add2 Data2 Chu kyø Bus khi coù traïng thaùi chôø Add1 Add2 Data2
  • 76. Chuong 2 : T ch c CPU 47 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. 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. 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. 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
  • 77. Chuong 2 : T ch c CPU 48 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.
  • 78. Chuong 2 : T ch c CPU 49 AX Register AH 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. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 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
  • 79. Chuong 2 : T ch c CPU 50 AX Register AH Thí d n u AX=1234h thì AH=12H AL=34h 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 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
  • 80. Chuong 2 : T ch c CPU 51 BX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 BLBH 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. 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
  • 81. Chuong 2 : T ch c CPU 52 DX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DX DLDH 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. 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
  • 82. Chuong 2 : T ch c CPU 53 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
  • 83. Chuong 2 : T ch c CPU 54 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 .
  • 84. Chuong 2 : T ch c CPU 55 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 ....
  • 85. Chuong 2 : T ch c CPU 56 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.
  • 86. Chuong 2 : T ch c CPU 57 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.
  • 87. Chuong 2 : T ch c CPU 58 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).
  • 88. Chuong 2 : T ch c CPU 59 ð 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
  • 89. Chuong 2 : T ch c CPU 60 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ý.
  • 90. Chuong 2 : T ch c CPU 61 Thí d minh ho hình thành ñ a ch ð a ch Offsetð a ch Offset ð a ch segmentð a ch segment ð a ch v t lý 20 bitð a ch v t lý 20 bit 0 0 0 0 c ng 015 0 015 19
  • 91. Chuong 2 : T ch c CPU 62 S hình thành ñ a ch tuy t ñ i G a s ta có ñ a ch 08F1 : 0100 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 ñ a ch Offset ñ a ch segment ñ a ch tương ñ i
  • 92. Chuong 2 : T ch c CPU 63 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
  • 93. Chuong 2 : T ch c CPU 64 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.
  • 94. Chuong 2 : T ch c CPU 65 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. 64KB 0000 FFFF offset Ô nh có ñ a ch segment: offset segment B nh
  • 95. Chuong 2 : T ch c CPU 66 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 1334:0234 1304:0534 ð u có chung ñ a ch v t lý 13574h T i sao ?
  • 96. Chuong 2 : T ch c CPU 67 ð 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 00010h 00020h 0000: 0002: 0001: 0FFFFh 1001Fh 1000Fh Ph n ch ng ch p c a 3 segment 0000,0001,0002
  • 97. Chuong 2 : T ch c CPU 68 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
  • 98. Chuong 2 : T ch c CPU 69 Làm l i quá trình trên nhưng gi nguyên ph n offset ch tăng ph n segment. 0002:0000 00020h 0001:0000 00010h 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
  • 99. Chuong 2 : T ch c CPU 70 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.
  • 100. Chuong 2 : T ch c CPU 71 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ý.
  • 101. Chuong 2 : T ch c CPU 72 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ý
  • 102. Chuong 2 : T ch c CPU 73 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.
  • 103. Chuong 2 : T ch c CPU 74 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.
  • 104. Chuong 2 : T ch c CPU 75 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. CPAZSTIDO 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 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
  • 105. Chuong 2 : T ch c CPU 76 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.
  • 106. Chuong 2 : T ch c CPU 77 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
  • 107. Chuong 2 : T ch c CPU 78 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.
  • 108. Chuong 2 : T ch c CPU 79 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.
  • 109. Chuong 2 : T ch c CPU 80 ð 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
  • 110. Chuong 2 : T ch c CPU 81 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
  • 111. Chuong 2 : T ch c CPU 82 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
  • 112. Chuong 2 : T ch c CPU 83 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.
  • 113. Chuong 2 : T ch c CPU 84 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
  • 114. Chuong 2 : T ch c CPU 85 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.
  • 115. Chuong 2 : T ch c CPU 86 Caùc ñaëc tính cuûa CPU Intel 4GB3264Pentium 4 GB323280486 4 GB323280386 16Mb241680286 1MB20168086 1 MB2088088 Khaû naêng quaûn lyù boä nhôù Address bus (bit) Data Bus (bit)Loaïi CPU
  • 116. Chuong 2 : T ch c CPU 87 Toùm taét CPU hoï Intel CPU 80286 : Data bus 16 bit neân moãi laàn chuyeån giao 2 bytes quaûn lyù 16MB boä nhôù. Chæ coù khaû naêng thöïc hieän caùc pheùp toaùn ñoái vôùi caùc soá nguyeân, coù theå duøng taäp leänh 80286 ñeå moâ phoûng caùc pheùp toaùn soá hoïc daáu chaám ñoäng nhöng ñieàu naøy seõ laøm giaûm hieäu suaát heä thoáng. Neáu muoán coù khaû naêng thöïc hieän caùc pheùp toaùn daáu chaám ñoäng phaûi gaén CoProccessor 8087. 80286 laøm vieäc theo 2 cheá ñoä : cheá ñoä thöïc vaø cheá ñoä baûo veä.
  • 117. Chuong 2 : T ch c CPU 88 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ù.
  • 118. Chuong 2 : T ch c CPU 89 Toùm taét CPU hoï Intel CPU 80486 : coù bus 32 bit . 1 Coprocessor 387, boä phaän ñieàu khieån Cache, 1 Cache 8K, duøng phoái hôïp taäp leänh ruùt goïn RISC vaø taäp leänh phöùc taïp CISC. CPU 80486 phaàn lôùn caùc leänh chæ duøng 1 soá ít xung. Söû duïng cô cheá ñöôøng oáng coù khaû naêng xöû lyù 5 leänh ñoàng thôøi : Laáy leänh tröôùc PreFetch Giaûi maõ laàn 1 Decode 1 Giaûi maõ laàn 2 Decode 2 Thöïc thi leänh Execution Ghi laïi traïng thaùi. WriteBack
  • 119. Chuong 2 : T ch c CPU 90 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
  • 120. Chuong 2 : T ch c CPU 91 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).
  • 121. Chuong 2 : T ch c CPU 92 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
  • 122. Chuong 2 : T ch c CPU 93 SÔ ÑOÀ KHOÁI PENTIUM Haøng nhaët sôùm Cache leänh 8K BIU Quaûn lyù Bus Boä xöû lyù daáu chaám ñoäng Registers U Pipeline cuûa ALU V Pipeline cuûa ALU registers Cache Data 8K Vuøng ñeäm ñích Reõ nhaùnh
  • 123. Chuong 2 : T ch c CPU 94 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
  • 124. Chuong 2 : T ch c CPU 95 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
  • 125. Chuong 2 : T ch c CPU 96 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
  • 126. Chuong 2 : T ch c CPU 97 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.
  • 127. Chuong 2 : T ch c CPU 98 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.
  • 128. Chuong 2 : T ch c CPU 99 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.
  • 129. Chuong 2 : T ch c CPU 100 D n ñ u v Chipset hi n có trên th trư ng là : a.AMD b.ALI c.Intel d.Mac
  • 130. Chuong 2 : T ch c CPU 101 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
  • 131. Chuong 2 : T ch c CPU 102 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
  • 132. Chuong 2 : T ch c CPU 103 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
  • 133. Chuong 2 : T ch c CPU 104 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.
  • 134. Chuong 2 : T ch c CPU 105 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
  • 135. Chuong 2 : T ch c CPU 106 MAINBOARD
  • 136. Chuong 2 : T ch c CPU 107 MAINBOARD
  • 137. Chuong 2 : T ch c CPU 108 MAINBOARD
  • 138. Chuong 2 : T ch c CPU 109
  • 139. Chuong 2 : T ch c CPU 110
  • 140. Chuong 2 : T ch c CPU 111 MAINBOARD
  • 141. Chuong 2 : T ch c CPU 112
  • 142. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 11 CHCHÖÖÔNG TRÌNH GÔÕ ROÔNG TRÌNH GÔÕ ROÁÁI DEBUGI DEBUG DòchDòch ñöñöôôïïc 1 chc 1 chööông trông trìình nganh ngaéénn Muïc tieâu Xem caXem caùùc thanh ghi vac thanh ghi vaøø côcôøø cucuûûa CPUa CPU Xem sXem söïöï thaythay ññooååi noi noääi dung cui dung cuûûa caa caùùc biec bieáánn DoDoøø ttììm trò ôm trò ôûû dadaïïng nhò phaân hoang nhò phaân hoaëëc ASCII trong boc ASCII trong boää nhônhôùù HoãHoã trôï luyeän taäp vieát chöông trình baèng Assembly
  • 143. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 22 DaDaïïng leng leäänh cunh cuûûa Debuga Debug <maõ le<maõ leäänh > <thoâng sonh > <thoâng soáá>> 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
  • 144. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 33 DaDaïïngng leleäänh cunh cuûûa Debuga Debug Taäp tin : laø 1 tham khaûo teân taäp tin ñaày ñuû, ít nhaát phaûi coù teân taäp tin. Danh saùch : Laø 1 hay nhieàu trò byte hoaëc chuoåi caùch nhau baèng daáu phaåy. Khoaûng : laø 1 tham khaûo ñeán vuøng boä nhôù Trò : laø 1 soá heä 16 coù toái ña coù 4 chöõ soá
  • 145. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 44 TaTaääp lep leäänh cunh cuûûa Debuga Debug A <Assemble> :A <Assemble> : cho phecho pheùùp viep vieáát tt töøöø babaøøn phn phíím cam caùùc lec leäänh maõ manh maõ maùùyy ddööôôùùi dai daïïng gông gôïïi nhôi nhôùù.. A [ <A [ <ññòa chòa chææ>]>] Ex :Ex : -- A 100 dòch ôA 100 dòch ôûû ññòa chòa chææ CS:100hCS:100h -- AA dòch ôdòch ôûû ññòa chòa chææ hiehieään tan taïïii (Debug la(Debug laááyy ññòa chòa chææ ññoaoaïïn CS)n CS) -- A DS:2000hA DS:2000h dòch ôdòch ôûû ññòa chòa chææ DS:2000hDS:2000h
  • 146. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 55 TThhíí duduïï minh hominh hoïïa lea leäänh Anh A PhaPhaûûi nhai nhaääp lep leäänh vanh vaøøo theo to theo töøöøng dong doøøng mong moäät vat vaøø kekeáát thut thuùùc bac baèèng Enter.ng Enter. KeKeáát thut thuùùc nhac nhaääp nhap nhaáán Enter ôn Enter ôûû dodoøøng trong troááng.ng. Ex :Ex : -- A 100A 100 5514:0100 MOV AH, 25514:0100 MOV AH, 2 5514:0102 MOV DL, 415514:0102 MOV DL, 41 5514:0104 INT 21H5514:0104 INT 21H SEGMENT OFFSET User goû vaøo
  • 147. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 66 C (Compare)C (Compare) So saSo saùùnh 2 vunh 2 vuøøng bong boää nhônhôùù vavaøø lielieäät keâ cat keâ caùùc oâ nhôc oâ nhôùù cocoùù nonoääi dung khai dung khaùùc nhau.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
  • 148. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 77 D (Dump)D (Dump) HieHieään non noääi dung boi dung boää nhônhôùù theo datheo daïïng heng heää 16 va16 vaøø ASCIIASCII.. Caùch goïi : D <khoaûng> Ex : - D F000 : 0 - D ES : 100 - D 100
  • 149. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 88 LeLeäänh F (nh F (Fill)Fill) CuCuùù phaphaùùp : F <khoap : F <khoaûûng> <danh sang> <danh saùùch>ch> Coâng duCoâng duïïng : lang : laáápp ññaaàày trò vay trò vaøøo vuo vuøøng nhông nhôùù ngayngay tataïïii ññòa chòa chææ mong muomong 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.
  • 150. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 99 Minh hoMinh hoïïa lea leäänhnh FF LaLaéépp ññaaàày vuy vuøøng nhông nhôùù tataïïii ññòa chòa chææ offset 100hoffset 100h chuochuoååii ““ Toi dua em sang songToi dua em sang song””.. F 100 “TOI DUA EM SANG SONG” OFFSET 100H
  • 151. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1010 KEKEÁÁT QUAT 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
  • 152. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1111 D (DUMP)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
  • 153. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1212 ThThíí duduïï minh hominh hoïïa lea leäänhnh DD ññaaùùnh vanh vaøøo leo leäänh Dnh D ññeeåå xem noxem noääi dung vui dung vuøøng nhông nhôùù cucuûûa 30h bytes boa 30h bytes boää nhônhôùù ttöøöø ññòa chòa chææ 0000:00400000:0040 ññeeáán 0000:006Fn 0000:006F - D 0000:0040 006F Ñòa chæ baét ñaàu - D 0000:0040 L 30 Soá bytes
  • 154. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1313 E (ENTER)E (ENTER) DuDuøøngng ññeeåå ñöñöa da dööõ lieõ lieääu byte vau byte vaøøo boo boää nhônhôùù ngayngay tataïïii ññòa chòa chææ mong muomong 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
  • 155. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1414 Minh hoMinh hoïïa lea leäänh Enh E MuMuïïc dc díích : thaych : thay ññooååi noi noääi dung boi dung boää nhô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ôûi DSNeáu ta khoâng qui ñònh ñòa chæñoaïn
  • 156. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1515 LeLeäänh U (Unassemble)nh U (Unassemble) coâng ducoâng duïïng : in ra 32 bytes maõ mang : in ra 32 bytes maõ maùùy cuy cuûûaa chchööông trông trìình trong bonh trong boää nhônhôùù ra mara maøøn hn hìình dnh dööôôùùii leleäänh gônh gôïïi nhôi nhôùù.. cucuùù phaphaùùp : U [address]p : U [address] U [range]U [range] Ex : U 100 119 In ra maøn hình caùc leänh maõ maùy töø ñòa chæ CS:100 ñeán CS:119
  • 157. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1616 LeLeäänh R (Register)nh R (Register) Coâng duCoâng duïïng : xem vang : xem vaøø ssöûöûa noa noääi dung thanh ghi.i dung thanh ghi. CuCuùù phaphaùùp :p : -- R enter (xem taR enter (xem taáát cat caûû thanh ghi)thanh ghi) xem thanh ghi AX :xem thanh ghi AX : -- R AXR AX xem thanh ghi côxem thanh ghi côøø : R F: R F Ex : muoEx : muoáán ban baäät thanh ghi côt thanh ghi côøø CF vaCF vaøø ZF ta nhaZF ta nhaääpp CY vaCY vaøø ZR.ZR.
  • 158. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1717 LeLeäänh N (Name)nh N (Name) Coâng duCoâng duïïng : tang : taïïo tao taääp tin cap tin caàànn ññooïïc hay ghi trc hay ghi trööôôùùcc khi dukhi duøøng leng leäänh L hay W.nh L hay W. CuCuùù phaphaùùp :p : -- N <teân file> [ thoâng soN <teân file> [ thoâng soáá] L [] L [ññòa chòa chææ]]
  • 159. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1818 ThThíí duduïï minh hominh hoïïa lea leäänhnh NN 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.
  • 160. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 1919 ThoaThoaùùt khot khoûûi Debug vai Debug vaøø gogoïïi lai laïïi tai taääp tinp tin theo catheo caùùch sau :ch sau : C :C :> Debug Love.txt> Debug Love.txt ttììm xem Debugm xem Debug ññaõ naaõ naïïp tap taääp tin Love.txtp tin Love.txt vavaøøo choã nao choã naøøo trong boo trong boää nhônhôùù..
  • 161. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2020 LeLeäänh W (Write)nh W (Write) CuCuùù phaphaùùp : W [address]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.
  • 162. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2121 LeLeäänh T (Trace)vanh T (Trace)vaøø PP cucuùù phaphaùùp :p : -- T [= <T [= <ññiaiaïï chchææ>][so>][soáá lalaààn]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>
  • 163. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2222 LeLeäänh L (Load)nh L (Load) nanaïïp tap taääp tin hoap tin hoaëëc nac naïïp sector luap sector luaään lyn lyùù ttöøöø ñóñóa vaa vaøøo boo boää nhônhôùù.. Cuù phaùp : - L <ñòa chæ> [<ñóa> <sector><soá>] Daïng 1 : neáu chæ coù ñòa chæ duøng ñeå naïp taäp tin. Teân taäp tin phaûi ñöôïc gaùn tröôùc baèng leänh N. Taäp tin luoân luoân ñöôïc gaùn ôû ñòa chæ offset 100h Daïng 2 : neáu coù ñaày ñuû caùc thoâng soá , duøng ñeå ñoïc sector luaän lyù treân ñóa vaøo boä nhôù. Ñóa : = 0 oå ñóa A, =1 oå ñóa B, =2 oå ñóa C ….
  • 164. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2323 LeLeäänh H (Hex Arithmethic)nh H (Hex Arithmethic) ththöïöïc hiec hieään phen pheùùp cop coääng vang vaøø trtröøöø heheää 1616 Cuù phaùp : - H <trò 1> <trò 2> Keát quaû : hieän ra toång vaø hieäu cuûa trò 1 vaø trò 2
  • 165. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2424 LeLeäänh S (Search)nh S (Search) Coâng duCoâng duïïng : tng : tììm kiem kieáám trò trong 1 vum trò trong 1 vuøøng bong boää nhônhôùù.. CuCuùù phaphaùùp :p : -- S <khoaS <khoaûûng> <danh sang> <danh saùùch>ch> GiaGiaûûi thi thíích : tch : tììm kiem kieáám trò com trò coùù hiehieään dien dieään trong vun trong vuøøng bong boää nhônhôùù ññaõ chaõ chææ ññònh hay khoâng? Neònh hay khoâng? Neááu cou coùù Debug hieDebug hieään can caùùcc ññòa chòa chææ ññaaààu cuu cuûûa nha nhööõng nôi coõng nôi coùù chchöùöùa danh saa danh saùùch.ch. Ex :Ex : -- S 100 L 1000S 100 L 1000 ‘‘DOSDOS’’ 18AF : 015418AF : 0154 18AF : 082318AF : 0823 Ex2 :Ex2 : -- S 2000 2200 13,15,8A, 8S 2000 2200 13,15,8A, 8
  • 166. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2525 LeLeäänh M (Move)nh M (Move) Coâng duCoâng duïïng : cheng : cheùùp nop noääi dung vui dung vuøøng nhông nhôùù ññeeáán 1n 1 ññòa chòa chææ khakhaùùc.c. CuCuùù phaphaùùp :p : -- M <khoaM <khoaûûng>ng> Ex :Ex : -- M 100 105 200M 100 105 200 CheCheùùp 5 bytes tp 5 bytes töøöø DS:100DS:100 ññeeáán DS:200n DS:200 Ex2 :Ex2 : -- M CS:100 L 50 ES:300M CS:100 L 50 ES:300 CheCheùùp 50 bytes tp 50 bytes töøöø CS:100CS:100 ññeeáán ES:300n ES:300
  • 167. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2626 LeLeäänh I (Input)nh I (Input) Coâng duCoâng duïïng : nhang : nhaääp 1 byte tp 1 byte töøöø cocoåång xuang xuaáát nhat nhaääpp vavaøø hiehieään ra man ra maøøn hn hìình.nh. CuCuùù phaphaùùp :p : -- I <I <ññòa chòa chææ cocoåång>ng> ññòa chòa chææ cocoåång lang laøø sosoáá heheää 16 to16 toááii ñña 4 cha 4 chööõ soõ soáá.. Ex :Ex : -- I 37EI 37E ECEC
  • 168. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2727 LeLeäänh O (Output)nh O (Output) Coâng duCoâng duïïng : xuang : xuaáát 1 byte ra cot 1 byte ra coåång xuang xuaáát nhat nhaääp.p. CuCuùù phaphaùùp :p :-- O<O<ññòa chòa chææ cocoåång> <trò>ng> <trò> ññòa chòa chææ cocoåång lang laøø sosoáá heheää 16 to16 toááii ñña 4 cha 4 chööõ soõ soáá.. Ex :Ex : -- O 378 5EO 378 5E
  • 169. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2828 SummarySummary DuDuøøng leng leäänh Dnh D ññeeåå xem noxem noääi dung vui dung vuøøng nhông nhôùù tataïïii ññòa chòa chææ cucuûûaa ROM BIOS F000:0000.ROM BIOS F000:0000. TTööông tông töïöï xem noxem noääi dung vui dung vuøøng nhông nhôùù RAM maRAM maøøn hn hìình ônh ôûû ññòaòa chchææ B800:0000; baB800:0000; baûûng vector ngang vector ngaéét quaõng 0000:0000t quaõng 0000:0000 GoGoûû vavaøøo mao maùùy bay baèèng leng leäänh A,nh A, ññoaoaïïn chn chööông trông trìình sau ônh sau ôûû ññòaòa chchææ 2000:01002000:0100
  • 170. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 2929 SummarySummary 2000:01002000:0100 MOV AL,32MOV AL,32 2000:01022000:0102 MOV AH, 4FMOV AH, 4F 2000:01042000:0104 MOV CX, [200]MOV CX, [200] 2000:01082000:0108 MOV WORD PTR [1800], 1MOV WORD PTR [1800], 1 2000:010E2000:010E MOV BYTE PTR [1800], 1MOV BYTE PTR [1800], 1 2000:01132000:0113 Xem laXem laïïii ññoaoaïïn chn chööông trông trìình vnh vöøöøaa ññaaùùnh treân banh treân baèèng leng leäänh U. Chunh U. Chuùù yyùù quanquan sasaùùt phat phaààn maõ man maõ maùùy. Ty. Tììm xem cam xem caùùc toac toaùùn han haïïng tng töùöùc thôc thôøøi vai vaøø cacaùùcc ññòaòa chchææ xuaxuaáát hiet hieään ôn ôûû ññaâu trong phaaâu trong phaààn maõ man maõ maùùy cuy cuûûa lea leäänh.nh. PhaPhaààn maõ man maõ maùùy cuy cuûûa 2 caâu lea 2 caâu leäänh cuonh cuoáái coi coùù ggìì khakhaùùc nhaukhi duc nhaukhi duøøng cang caùùcc toatoaùùn tn töûöû WORD PTR vaWORD PTR vaøø BYTE PTR.BYTE PTR.
  • 171. 4/4/20064/4/2006 Chuong 3 DebugChuong 3 Debug 3030 SummarySummary DuDuøøng leng leäänh E nhanh E nhaääp vap vaøøoo ññoaoaïïn vaên ban vaên baûûn sau van sau vaøøo boo boää nhônhôùù tataïïii ññòa chòa chææ DS:0100DS:0100 8086/8088/80286 Assembly language.8086/8088/80286 Assembly language. Copyright 1988, 1886 by Brady Books, a division of Simon, Inc.Copyright 1988, 1886 by Brady Books, a division of Simon, Inc. All right reserved, including the of reproduction in whole or inAll right reserved, including the of reproduction in whole or in part, in any form.part, in any form. (chu(chuùù yyùù kykyùù ttöïöï ññaaààu dou doøøng xuong xuoááng dong doøøng cong coùù maõ ASCCI lamaõ ASCCI laøø 0D va0D vaøø 0A).0A).
  • 172. Chương 3 : T ch c Memory 1 (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. B NH
  • 173. Chương 3 : T ch c Memory 2 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.
  • 174. Chương 3 : T ch c Memory 3 Memory B nh (Memory) laø nôi chöùa chöông trình vaø döõ lieäu. Ñôn vò ño boä nhôù : Bit : ñôn vò boä nhôù nhoû nhaát laø bit. Moãi bit coù theå löu tröõ 1 trong 2 traïng thaùi laø 0 vaø 1. Byte = 8 bits, ñöôïc ñaùnh chæ soá töø 0 ñeán 7 baét ñaàu töø phaûi sang traùi. Kbyte = 1024bytes = 210 bytes. Mbyte = 1024Kbytes = 210 Kbytes. Gbyte = 1024Mbytes = 210 Mbytes.
  • 175. Chương 3 : T ch c Memory 4 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
  • 176. Chương 3 : T ch c Memory 5 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. RAM 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.
  • 177. Chương 3 : T ch c Memory 6 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. 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).
  • 178. Chương 3 : T ch c Memory 7 RAM
  • 179. Chương 3 : T ch c Memory 8 ROMROM 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 .
  • 180. Chương 3 : T ch c Memory 9 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.
  • 181. Chương 3 : T ch c Memory 10 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
  • 182. Chương 3 : T ch c Memory 11 Secondary Memory Là b nh ph n m ngoài h p CPU. Floppy disk, Tapes, Compact discs … là secondary Memory.
  • 183. Chương 3 : T ch c Memory 12 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.
  • 184. Chương 3 : T ch c Memory 13 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.
  • 185. Chương 3 : T ch c Memory 14 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.
  • 186. Chương 3 : T ch c Memory 15 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.
  • 187. Chương 3 : T ch c Memory 16 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.
  • 188. Chương 3 : T ch c Memory 17 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?
  • 189. Chương 3 : T ch c Memory 18 A Two Level Caching System
  • 190. Chương 3 : T ch c Memory 19 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.
  • 191. Chương 3 : T ch c Memory 20ROM BIOS ROM BASIC Reserved ROM Reserved ROM (not used) Color Video Monochrome Video EGA Color Video User RAM Resident portion of DOS BIOS and DOS data Interrup Vector Table00000 00400 00600 A0000 B0000 B8000 C0000 F0000 F6000 FE000 MM EE MM OO RR YY MM AA PP
  • 192. Chương 3 : T ch c Memory 21 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…
  • 193. Chương 3 : T ch c Memory 22 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..
  • 194. Chương 3 : T ch c Memory 23 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.
  • 195. Chương 3 : T ch c Memory 24 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.
  • 196. Chương 3 : T ch c Memory 25 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)
  • 197. Chương 3 : T ch c Memory 26 Truy xuaát boä nhôù (cont) ÑÔN VÒ XÖÛ LYÙ D7 D6 D5 D4 D3 D2 D1 D0 DATA BUS DATA BUS OÂ NHÔÙ BOÄ NHÔÙ BOBOÄÄ NHÔ NHÔÙÙ Ñoïc / ghi döõ lieäu
  • 198. Chương 3 : T ch c Memory 27 Trình töï taùc vuï ghi oâ nhôù CPU ñöa ñòa chæ oâ nhôù caàn ghi vaøo thanh ghi ñòa chæ cuûa boä nhôù. Maïch giaûi maõ xaùc ñònh ñòa chæ oâ nhôù. CPU ñöa döõ lieäu caàn ghi vaøo thanh ghi döõ lieäu cuûa boä nhôù. CPU göûi tín hieäu ñieàu khieån ghi boä nhôù. Noäi dung trong thanh ghi döõ lieäu ñöôïc ghi vaøo oâ nhôù coù ñòa chæ xaùc ñònh.
  • 199. Chương 3 : T ch c Memory 28 Truy xuaát boä nhôù : ghi oâ nhôù ........ Boä giaûi maõ Ñòa chæ A0 A1 A2 A3 A4 00000 00001 00010 00011 11110 11111 ÑônvòXöûlyù OÂâ nhôù ñöôïc choïn BoBoää nhônhôùù
  • 200. Chương 3 : T ch c Memory 29 Stack Stack laø vuøng nhôù ñaëc bieät duøng ñeå löu tröõ ñòa chæ vaø döõ lieäu. Stack thöôøng truù trong stack segment.Moãi vuøng 16 bit treân stack ñöôïc troû ñeán bôûi thanh ghi SP, goïi laø stack pointer. Stack pointer löu tröõ ñòa chæ cuûa phaàn töû döõ lieäu cuoái môùi ñöôïc theâm vaøo (pushed leân stack.)
  • 201. Chương 3 : T ch c Memory 30 Stack phaàn töû döõ lieäu cuoái môùi ñöôïc theâm vaøo naøy laïi laø phaàn töû seõ ñöôïc laáy ra (popped tröôùc tieân). Stack laøm vieäc theo cô cheá LIFO (Last In First Out). Xeùt ví duï sau : giaû söû stack ñang chöùa 1 giaù trò 0006 Sau ñó ta ñưa 00A5 vào stack
  • 202. Chương 3 : T ch c Memory 31 Stack 0006 SP BEFORE 0006 SP AFTER LOW MEM HIGH MEM HIGH MEM SP giaûm 1 00A5
  • 203. Chương 3 : T ch c Memory 32 Coâng duïng cuûa Stack Khi 1 chöông trình con ñöôïc goïi, stack seõ löu tröõ ñòa chæ trôû veà ngay sau khi chöông trình con thöïc hieän xong. Caùc ngoân ngöõ caáp cao thöôøng taïo ra 1 vuøng nhôù beân trong chöông trình con goïi laø stack frame ñeå chöùa caùc bieán cuïc boä. Duøng ñeå löu tröõ döõ lieäu taïm cho thanh ghi neáu ta caàn söû duïng caùc döõ lieäu naøy.
  • 204. Chương 3 : T ch c Memory 33 Summary Slide Côø naøo ñöôïc thieát laäp khi 1 pheùp tính soá hoïc khoâng daáu quaù roäng khoâng vöøa vôùi ñích? Hai thanh ghi naøo ñöôïc toå hôïp thaønh ñòa chæ cuûa leänh seõ ñöôïc thöïc keá tieáp? Neâu quaù trình ñoïc boä nhôù. Taïi sao quaù trình ñoïc boä nhôù laïi chieám nhieàu chu kyø maùy hôn so vôùi truy caäp thanh ghi? Thanh ghi AH bò söûa ñoåi, taïi sao thanh ghi AX cuõng thay ñoåi theo. Noäi dung naøo chieám 1024 bytes thaáp nhaát cuûa boä nhôù?
  • 205. Chương 3 : T ch c Memory 34 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.
  • 206. Chương 3 : T ch c Memory 35 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.
  • 207. Chương 3 : T ch c Memory 36 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
  • 208. Chương 3 : T ch c Memory 37 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
  • 209. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 11 ChChööôngông 5 : Nha5 : Nhaääp moân Assemblyp moân Assembly HieHieååu ngoân ngu ngoân ngööõ maõ maùùy vay vaøø ngoân ngngoân ngööõ Assembly.õ Assembly. TrTrìình hônh hôïïp dòch Assembler.p dòch Assembler. LyLyùù do nghieân cdo nghieân cöùöùu Assembly.u Assembly. HieHieååu cau caùùc thac thaøønh phanh phaààn cô ban cô baûûn cun cuûûa Assemblya Assembly NaNaéémm ñöñöôôïïc cac caááu truu truùùc cuc cuûûa 1 CT Assembly.a 1 CT Assembly. BieBieáát viet vieáát 1 cht 1 chööông trông trìình Assembly.nh Assembly. BieBieáát cat caùùch dòch, lieân kech dòch, lieân keáát vat vaøø ththöïöïc thi 1 chc thi 1 chööông trông trììnhnh Assembly.Assembly. Muïc tieâu h1h2
  • 210. Slide 1 h1 shjsahjsa huh, 13/10/2004 h2 ssasasasas huh, 13/10/2004
  • 211. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 22 GiôGiôùùi thiei thieääu ngoân ngu ngoân ngööõ Assemblyõ Assembly GiuGiuùùp khap khaùùm pham phaùù bbíí mamaäät phat phaààn cn cöùöùng cuõng nhng cuõng nhöö phaphaàànn memeààm mam maùùy ty tíính.nh. NaNaéémm ñöñöôôïïc cac caùùch phach phaààn cn cöùöùng MT lang MT laøøm viem vieääc vôc vôùùi hei heää ññieieààu hau haøønh vanh vaøø hiehieååuu ñöñöôôïïc bac baèèng cang caùùch nach naøøo 1 tro 1 trììnhnh öùöùng dung duïïng giao tieng giao tieááp vôp vôùùi hei heää ññieieààu hau haøønh.nh. MoMoäät MT hay mot MT hay moäät hot hoïï MT sMT söûöû duduïïng 1 tang 1 taääp lep leäänh maõnh maõ mamaùùy rieâng cuõng nhy rieâng cuõng nhöö 1 ngoân ng1 ngoân ngööõ Assembly rieâng.õ Assembly rieâng.
  • 212. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 33 AssemblerAssembler MoMoäät cht chööông trông trìình vienh vieáát bat baèèng ngoân ngng ngoân ngööõ Assemblyõ Assembly muomuoáán MT thn MT thöïöïc hiec hieäänn ñöñöôôïïc ta phac ta phaûûi chuyei chuyeåån than thaøønhnh ngoânngoân ngngööõ maõ maùùy.y. ChChööông trông trìình dunh duøøngng ññeeåå dòch 1 file viedòch 1 file vieáát bat baèèng Assemblyng Assembly ngoân ngngoân ngööõ maõ maùùy , goy , goïïi lai laøø AssemblerAssembler.. Coù 2 chöông trình dòch: MASM vaø TASM
  • 213. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 44 LyLyùù do nghieân cdo nghieân cöùöùu Assemblyu Assembly ÑÑooùù lalaøø cacaùùch toch toáát nhat nhaáátt ññeeåå hohoïïc phac phaààn cn cöùöùng MTng MT vavaøø heheää ññieieààu hau haøønh.nh. VVìì cacaùùc tiec tieäänn íích cuch cuûûa noa noùù .. CoCoùù thetheåå nhunhuùùng cang caùùc chc chööông trông trìình con vienh con vieáátt babaèèng ASM vang ASM vaøøo trong cao trong caùùcchcchööông trông trìình vienh vieáátt babaèèng ngoân ngng ngoân ngööõ caõ caááp cao .p cao .
  • 214. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 55 LeLeäänh manh maùùyy LaLaøø 1 chuo1 chuoååi nhò phaân coi nhò phaân coùù yyùù nghnghóóaa ññaaëëc biec bieäätt –– nonoùù rara leleäänh cho CPU thnh cho CPU thöïöïc hiec hieään tan taùùc vuc vuïï.. TaTaùùc vuc vuïï ññooùù cocoùù thetheåå lalaøø :: di chuyedi chuyeåån 1 son 1 soáá ttöøöø vò trvò tríí nhônhôùù nanaøøy sang vò try sang vò tríí nhônhôùù khakhaùùc.c. CoCoääng 2 song 2 soáá hay so sahay so saùùnh 2 sonh 2 soáá.. 0 0 0 0 0 1 0 0 Add a number to the AL register 1 0 0 0 0 1 0 1 Add a number to a variable 1 0 1 0 0 0 1 1 Move the AX reg to another reg
  • 215. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 66 LeLeäänh manh maùùy (cont)y (cont) TaTaääp lep leäänh manh maùùyy ñöñöôôïïcc ññònh nghònh nghóóa tra trööôôùùc, khi CPUc, khi CPU ñöñöôôïïcc sasaûûn xuan xuaáát vat vaøø nonoùù ññaaëëc trc trööng cho kieng cho kieååu CPU .u CPU . Ex : B5 05 laEx : B5 05 laøø 1 le1 leäänh manh maùùy viey vieáát dat daïïng song soáá hex, dahex, daøøi 2 byte.i 2 byte. ByteByte ññaaààu B5 gou B5 goïïi lai laøø OpcodeOpcode Byte sau 05 goByte sau 05 goïïi lai laøø toatoaùùn han haïïng Operandng Operand YÙù nghóa cuûa leänh B5 05 : cheùp giaù trò 5 vaøo reg ALYÙù nghóa cuûa leänh B5 05 : cheùp giaù trò 5 vaøo reg AL
  • 216. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 77 CaCaùùch viech vieáát 1 cht 1 chööông trông trìình Assemblynh Assembly Soaïn CT TenCT.ASM Dòch CT Lieân keát CT Chaïy CT Duøng 1 phaàn meàm soaïn thaûo VB baát kyø ñeå soan CT Assembly nhö : NotePad, NC, maøn hình C, Pascal ... CT coù phaàn môû roäng laø .ASM duøng MASM ñeå dòch chöông trình nguoàn .ASM File Object. duøng LINK ñeå lieân keát Object taïo taäp tin thöïc hieän .EXE Goû teân taäp tin thöïc hieän .EXE töø daáu nhaéc DOS ñeå chaïy
  • 217. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 88 Dòch vaDòch vaøø nonoáái kei keáát cht chööông trông trììnhnh TenCT .ASM TenCT .OBJ MASM.EXEMASM.EXE TenCT .EXETenCT .EXE TenCT .MAP TenCT .LIST TenCT .CRF LINK.EXELINK.EXE
  • 218. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 99 MoMoäät cht chööông trông trìình minh hoanh minh hoaïï DOSSEGDOSSEG .MODEL SMALL.MODEL SMALL .STACK 100h.STACK 100h .DATA.DATA MES DBMES DB ““HELLO WORDHELLO WORD””,,’’$$’’ .CODE.CODE MAIN PROCMAIN PROC MOV AX, @DATAMOV AX, @DATA MOV DS, AXMOV DS, AX MOV DX, OFFSET MES MOV AH, 9 INT 21 MOV AH,4CH INT 21 MAIN ENDP END MAIN
  • 219. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1010 CaCaùùc filec file ñöñöôôïïc tac taïïoo Sau khi dòch thaSau khi dòch thaøønh coâng file nguonh coâng file nguoààn.ASM, ta con.ASM, ta coùù cacaùùc file :c file : File listing : file VB , caFile listing : file VB , caùùc doc doøøng cong coùù ññaaùùnh sonh soáá ththöùöù ttöïöï maõ.maõ. File Cross referenceFile Cross reference File MapFile Map File ObjFile Obj File EXEFile EXE
  • 220. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1111 File ListingFile Listing Microsoft (R) Macro Assembler Version 5.10 10/1Microsoft (R) Macro Assembler Version 5.10 10/11/41/4 PagPage 1e 1--11 1 DOSSEG1 DOSSEG 2 .MODEL SMALL2 .MODEL SMALL 3 .STACK 100H3 .STACK 100H 4 .DATA4 .DATA 5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$" 6 57 4F 52 44 246 57 4F 52 44 24 7 .CODE7 .CODE 8 0000 MAIN PROC8 0000 MAIN PROC 9 0000 B89 0000 B8 -------- R MOV AX,@DATAR MOV AX,@DATA 10 0003 8E D8 MOV DS, AX10 0003 8E D8 MOV DS, AX 11 0005 B4 09 MOV AH,911 0005 B4 09 MOV AH,9 12 0007 BA 0000 R MOV DX, OFFSET MES12 0007 BA 0000 R MOV DX, OFFSET MES 13 000A CD 21 INT 21H13 000A CD 21 INT 21H 14 000C B4 4C MOV AH,4CH14 000C B4 4C MOV AH,4CH 15 000E CD 21 INT 21H15 000E CD 21 INT 21H 16 0010 MAIN ENDP16 0010 MAIN ENDP 17 END MAIN17 END MAIN ♀◘♀◘Microsoft (R) Macro Assembler Version 5.10 10/1Microsoft (R) Macro Assembler Version 5.10 10/11/41/4
  • 221. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1212 Map FileMap File Start Stop Length Name ClassStart Stop Length Name Class 00000H 0001FH 00020H _TEXT CODE00000H 0001FH 00020H _TEXT CODE 00020H 0002AH 0000BH _DATA DATA00020H 0002AH 0000BH _DATA DATA 00030H 0012FH 00100H STACK STACK00030H 0012FH 00100H STACK STACK Origin GroupOrigin Group 0002:0 DGROUP0002:0 DGROUP Program entry point at 0000:0010Program entry point at 0000:0010
  • 222. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1313 GiaGiaûûi thi thííchch .model small : du.model small : duøøng kieng kieååu cau caááu truu truùùc <= 64 K boc <= 64 K boää nhônhôùù chocho maõ , 64K cho dmaõ , 64K cho dööõ lieõ lieääu.u. .Stack 100h : da.Stack 100h : daøønh 256 bytes cho stack cunh 256 bytes cho stack cuûûa cha chööôngông trtrìình .nh . .Data :.Data : ññaaùùnh danh daááu phaânu phaân ññoaoaïïn dn dööõ lieõ lieääu ôu ôûû ññooùù cacaùùc biec bieáánn ñöñöôôïïc lc lööu tru trööõ.õ. .Code :.Code : ññaaùùnh danh daááu phaânu phaân ññoaoaïïn maõ chn maõ chöùöùa caa caùùc lec leäänh phanh phaûûii thi hathi haøønh.nh. Proc : khai baProc : khai baùùoo ññaaààu 1 thuu 1 thuûû tutuïïc, trong Ex nac, trong Ex naøøy ta chy ta chææ cocoùù 11 thuthuûû tutuïïc Main.c Main.
  • 223. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1414 GiaGiaûûi thi thíích (cont)ch (cont) CheCheùùpp ññòa chòa chææ ññoaoaïïn dn dööõ lieõ lieääu vau vaøøo thanh ghi AX.o thanh ghi AX. SauSau ññooùù checheùùp vap vaøøo thanh ghi DSo thanh ghi DS GoGoïïi hai haøøm som soáá 9 cu9 cuûûa Int 21h cua Int 21h cuûûa Dosa Dos ññeeåå xuaxuaáátt chuochuoååi kyi kyùù ttöïöï ra mara maøøn hn hìình.nh. ThoaThoaùùt khot khoûûi CT .i CT . Main endp :Main endp : ññaaùùnh danh daááu keu keáát thut thuùùc thuc thuûû tutuïïcc End main : chaEnd main : chaáám dm döùöùt cht chööông trông trììnhnh
  • 224. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1515
  • 225. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1616 CaCaùùc chec cheáá ññooää boboää nhônhôùù Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïnn DDööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïn, man, maûûng cong coùù thetheåå > 64K> 64K HUGEHUGE Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïnn DDööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïn,khoâng con,khoâng coùù mamaûûng nang naøøo >o > 64K64K LARGELARGE Maõ leMaõ leäänh trong 1nh trong 1 ññoaoaïïn. Dn. Dööõ lieõ lieääu nhieu nhieààu hôn 1u hôn 1 ññoaoaïïnnCOMPACTCOMPACT Maõ leMaõ leäänh nhienh nhieààu hôn 1u hôn 1 ññoaoaïïn.Dn.Dööõ lieõ lieääu trong 1u trong 1 ññoaoaïïnnMEDIUMMEDIUM Maõ leMaõ leäänh trong 1nh trong 1 ññoaoaïïn.Dn.Dööõ lieõ lieääu trong 1u trong 1 ññoaoaïïnnSMALLSMALL Moâ taMoâ taûûKieKieååuu
  • 226. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1717 DaDaïïng leng leäänhnh [name] [operator] [ operand] [comment][name] [operator] [ operand] [comment] Nhaõn, teân bieán Teân thuû tuïc Nhaõn, teân bieán Teân thuû tuïc Maõ leänh daïng gôïi nhôù Maõ leänh daïng gôïi nhôù Register, oâ nhôù Trò, haèng Register, oâ nhôù Trò, haèng Chuù thíchChuù thích Ex : MOV CX , 0 LAP : MOV CX, 4 LIST DB 1,2,3,4 Moãi doøng chæ chöùa 1 leänh vaø moãi leänh phaûi naèm treân 1 doøng
  • 227. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1818 INT 21HINT 21H LeLeäänh INT sonh INT soáá hiehieääu ngau ngaéétt ñöñöôôïïc duc duøøngng ññeeåå gogoïïii chchööông trông trìình nganh ngaéét cut cuûûa DOS vaa DOS vaøø BIOS.BIOS. Ngaét 21h Muoán söû duïng haøm naøo cuûa INT 21h ta ñaët function_number vaøo thanh ghi AH, sau ñoù goïi INT 21h Function_number chöùc naêng 1 nhaäp 1 kyù töï töø baøn phím 2 Xuaát 1 kyù töï ra maø hình. 9 Xuaát 1 chuoåi kyù töï ra maøn hình
  • 228. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 1919 INT 21h (cont)INT 21h (cont) Haøm 1 : Nhaäp 1 kyù töï Input : AH =1 Output : AL = maõ ASCCI cuûa phím aán = 0 neáu 1 phím ñieàu khieåân ñöôïc aán Haøm 2 : Hieån thò 1 kyù töï ra maøn hình Input : AH =2 DL = Maõ ASCII cuûa kyù töï hieån thò hay kyù töï ñieàu khieån
  • 229. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2020 ThThíí duduïï minh hominh hoïïaa DOSSEG .MODEL SMALL .STACK 100H .CODE MAIN PROC MOV AH , 2 MOV DL , ‘?’ INT 21H MOV AH ,1 INT 21H MOV BL,AL MOV AH,2 MOV DL, 0DH INT 21H MOV DL , 0AH INT 21H MOV DL , BL INT 21H MOV AX , 4C00H INT 21H MAIN ENDP END MAIN ? N NKEÁT QUAÛ
  • 230. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2121 ThThíí duduïï minh hominh hoïïa caa caùùc hac haøøm cum cuûûa INT 21a INT 21 In daIn daááu ? ra mau ? ra maøøn hn hìình :nh : MOV AH, 2MOV AH, 2 MOV DL,MOV DL, ‘‘??’’ INT 21HINT 21H NhaNhaääp 1 kyp 1 kyùù ttöïöï ttöøöø babaøøn phn phíím :m : MOV AH, 1MOV AH, 1 INT 21HINT 21H
  • 231. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2222 BieBieáánn CuCuùù phaphaùùp :p : [teân bie[teân bieáán] DB | DW |.... [trò khôn] DB | DW |.... [trò khôûûi tai taïïo]o] LaLaøø momoäät teân kyt teân kyùù hiehieääu dau daøønh rieâng cho 1 vò trnh rieâng cho 1 vò tríí trong botrong boää nhônhôùù nôi lnôi lööu tru trööõ dõ dööõ lieõ lieääu.u. Offset cuOffset cuûûa biea bieáán lan laøø khoakhoaûûng cang caùùch tch töøöø ññaaààu phaânu phaân ññoaoaïïnn ññeeáán bien bieáánn ññooùù.. Ex : khai baEx : khai baùùo 1 danh sao 1 danh saùùch aList ôch aList ôûû ññòa chòa chææ 100 vô100 vôùùii nonoääi dung sau :i dung sau : .data.data aList dbaList db ““ABCDABCD””
  • 232. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2323 BieBieáán (cont)n (cont) LuLuùùcc ññooùù :: OffsetOffset BieBieáánn 00000000 AA 00010001 BB 00020002 CC 00030003 DD
  • 233. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2424 Khai baKhai baùùo bieo bieáánn tenbytetenbyte101010 bytes10 bytesDTDT QuardwordQuardword88TTöøöø ttöùöùDQDQ DoublewordDoubleword44TTöøöø kekeùùppDDDD WordWord22TTöøöøDWDW ByteByte11ÑÑònh nghònh nghóóaa bytebyte DBDB ThuoThuoääc tc tíínhnhSoSoáá bytebyteMoâ taMoâ taûûTTöøöø gôgôïïi nhôi nhôùù
  • 234. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2525 Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn Char dbChar db ‘‘AA’’ Num db 41hNum db 41h Mes dbMes db ““Hello WordHello Word””,,’’$$’’ Array_1 db 10, 32, 41h, 00100101bArray_1 db 10, 32, 41h, 00100101b Array_2 db 2,3,4,6,9Array_2 db 2,3,4,6,9 Myvar db ? ; bieMyvar db ? ; bieáán khoâng khôn khoâng khôûûi tai taïïoo Btable db 1,2,3,4,5Btable db 1,2,3,4,5 db 6,7,8,9,10db 6,7,8,9,10 KIEÅU BYTE
  • 235. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2626 Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn DW 3 DUP (?)DW 3 DUP (?) DW 1000h,DW 1000h, ‘‘ABAB’’, 1024, 1024 DW ?DW ? DW 5 DUP (1000h)DW 5 DUP (1000h) DW 256*2DW 256*2 KIEÅU WORD DAÏNG LÖU TRÖÕ DÖÕ LIEÄU KIEÅU WORD : Trình hôïp dòch ñaûo ngöôïc caùc byte trong 1 giaù trò kieåu WORD khi löu tröõ trong boä nhôù : Byte thaáp löu ôû ñòa chæ thaáp Byte cao löu ôû ñòa chæ cao
  • 236. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2727 Minh hoMinh hoïïa khai baa khai baùùo bieo bieáánn KIEÅU WORD Ex : 1234h ñöôïc löu tröõ trong boä nhôù nhö sau : 34 12 1000h 1001h BOÄ NHÔÙ ÑÒA CHÆ DÖÕ LIEÄU 1234H
  • 237. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2828 ToaToaùùn tn töûöû DUPDUP LaLaëëp lap laïïi 1 hay nhiei 1 hay nhieààu giau giaùù trò khôtrò khôûûi tai taïïo.o. Ex :Ex : Bmem DB 50 Dup(?)Bmem DB 50 Dup(?) ; khai ba; khai baùùo vuo vuøøng nhông nhôùù gogoààm 50 bytes.m 50 bytes. db 4 dup (db 4 dup (““ABCABC””)) ;12 bytes;12 bytes ““ABCABCABCABCABCABCABCABC”” db 4096 dup (0)db 4096 dup (0) ; Vu; Vuøøngng ññeeääm 4096 bytes tam 4096 bytes taáát cat caûû babaèèng 0ng 0
  • 238. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 2929 KhôKhôûûi tai taïïo bieo bieáánn LLööu yu yùù :: Khi khôKhi khôûûi tai taïïo trò lao trò laøø 1 so1 soáá hex thhex thìì giagiaùù trò sotrò soáá luoânluoân luoân baluoân baéétt ññaaààu bau baèèng 1 kyng 1 kyùù sosoáá ttöøöø 00 ññeeáán 9. Nen 9. Neááu kyu kyùù sosoáá babaéétt ññaaààu lau laøø A.. F thA.. F thìì phaphaûûi theâm soi theâm soáá 0 ô0 ôûû ññaaààu.u. Ex :Ex : Db A6H ; saiDb A6H ; sai Db 0A6h ;Db 0A6h ; ññuuùùngng
  • 239. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3030 ToaToaùùn tn töûöû DUP (cont)DUP (cont) Amtrix dw 3 dup (4 dup (0) )Amtrix dw 3 dup (4 dup (0) ) Taïo 1 ma traän 3x4 Atable db 4 dup (3 dup (0), 2 dup (‘X’)) Taïo 1 vuøng nhôù chöùa 000XX 000XX 000XX 000XX
  • 240. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3131 ToaToaùùn tn töûöû DUPDUP ChChææ xuaxuaáát hiet hieään sau 1 chn sau 1 chææ thò DB hay DWthò DB hay DW VôVôùùi DUP ta coi DUP ta coùù thetheåå lalaëëp lap laïïi 1 hay nhiei 1 hay nhieààu trò chou trò cho vuvuøøng nhông nhôùù.. RaRaáát cot coùù íích khi lach khi laøøm viem vieääc vôc vôùùi mai maûûng hay chuong hay chuoååi.i.
  • 241. 4/4/20064/4/2006 Chuong 5 Nhap mon ASMChuong 5 Nhap mon ASM 3232 ToaToaùùn tn töûöû ?? MuoMuoáán khai ban khai baùùo 1 bieo 1 bieáán hay 1 man hay 1 maûûng mang maøø khoângkhoâng cacaààn khôn khôûûi tai taïïo trò ta duo trò ta duøøng toang toaùùn tn töûöû ?? Ex : MEM8 DB ? ; khai baùo 1 byte troáng trong boä nhôù MEM16 DW ? ; khai baùo 2 byte troáng trong boä nhôù BMEM DB 50 DUP(?) ; khai baùo 50 byte troáng trong boä nhôù