Bay gi ng K thu t Vi x lý
Ngành i n t -Vi n thông
i h c Bách khoa à N ng
c a H Vi t Vi t, Khoa CNTT- TVT
Tài li u tham kh o
[1] K thu t vi x lý, Văn Th Minh, NXB Giáo
d c, 1997
[2] K thu t vi x lý và L p trình Assembly cho
h vi x lý, Xuân Ti n, NXB Khoa h c & k
thu t, 2001
Chương 3
Vi x lý 8088-Intel
3.1 Ki n trúc và ho t ng c a 8088
- Nguyên lý ho t ng
- Sơ kh i ch c năng
3.2 C u trúc thanh ghi c a 8088
3.3 Phương pháp qu n lý b nh
3.4 Mô t t p l nh Assembly
Nguyên lý ho t ng c a m t b vi x lý
L y - Gi i mã - Th c hi n l nh
Tìm và copy
các byte l nh t b nh
T o ra các tín hi u i u khi n Gi i mã l nh
th c hi n l nh
Chu kỳ l nh và Chu kỳ máy
• Chu kỳ l nh: T ng th i gian tìm l nh, gi i
mã l nh và th c hi n 1 l nh
• Nói chung, Chu kỳ l nh c a các l nh khác
nhau là khác nhau
• Chu kỳ l nh bao gi cũng b ng m t s
nguyên l n chu kỳ máy
• Chu kỳ máy b ng ngh ch o c a t n s
ho t ng (t c ng h ) c a b vi x lý
3.1 Ki n trúc và Ho t ng c a 8088
ơn v giao ti p Bus - BIU
• Phát các tín hi u a ch n b nh và các
c ng I/O thông qua A-Bus
• c mã l nh t b nh thông qua D-Bus
• c d li u t b nh thông qua D-Bus
• Ghi d li u vào b nh thông qua D-Bus
• c d li u t các c ng I thông qua D-Bus
• Ghi d li u ra các c ng O thông qua D-Bus
ơn v th c hi n - EU
• Bao g m CU và ALU
• CU : Gi i mã l nh t o ra các tín hi u
i u khi n nh m th c hi n l nh ã ư c
gi i mã
• ALU: th c hi n các thao tác khác nhau i
v i các toán h ng c a l nh
T ch c c a microprocessor
CPU
Control
registers
Control
ALU General
BIU Address purpose
Control Data registers
Status
Registers
X lý l nh c a các vi x lý trư c 8086/8088
• M t th t c ơn gi n g m 3 bư c:
– L y l nh t b nh
– Gi i mã l nh
– Th c hi n l nh
• L y các toán h ng t b nh (n u có)
• Lưu tr k t qu
Fetch Decode Execute Fetch Decode Execute …... Microprocessor
1 1 1 2 2 2
Bus
Busy Idle Busy Busy Idle Busy …...
Cơ ch Pipelining
P ip e lin in g
F e tc h F e tc h F e tc h F e tc h S to r e F e tc h F e tc h Load F e tc h … ... Bus
1 2 3 4 1 5 6 2 7
D ecode D ecode D ecode D ecode Id le D ecode D ecode Id le Decode … ... In s tr u c tio n
1 2 3 4 5 6 7 U n it
Exec. Exec. Exec. Exec. Id le
Id le Exec. Exec. Id le Exec. E x e c u tio n
1 2 3 4 5 6 7 U n it
M e m o ry re q u e s t M e m o ry re q u e s t
3.2 C u trúc thanh ghi c a 8088
8088 có 14 thanh ghi 16-bit
C u trúc thanh ghi c a h x86
General Purpose
Special Registers
AH AL
Accumulator Index Registers
AX Instr Pointer IP
EAX
EIP Stack Pointer SP
BH BL Flags
Base FLAG ESP
BX EFLAG Base Pointer BP
EBX
EBP
CH CL
Count Segment Registers Dest Index DI
CX
EDI
ECX
CS Code Segment Source Index SI
DH DL
Data DS Data Segment ESI
DX
EDX ES Extra Segment
SS Stack Segment
FS
GS
ấ
Cấu trúc thanh ghi 8086/8088
7 0 7 0
Accumulator AH AL AX
Base BH BL BX
Counter CH CL CX
Data DH DL DX
15 0
Code Segment CS
Data Segment DS
Stack Segment SS
Extra Segment ES
15 0
Instruction Pointer IP }
Stack Pointer
Base Pointer
SP
BP }
Source Index
Destination Index
SI
DI }
Các thanh ghi a năng
7 0 7 0
Accumulator AH AL AX
Base BH BL BX
Counter CH CL CX
Data DH DL DX
- Có th truy c p như các thanh ghi 8-bit
- Lưu tr t m th i d li u truy c p nhanh hơn
và tránh kh i ph i truy c p b nh
- Có công d ng c bi t i v i m t s câu l nh
Các thanh ghi segment
15 0
Code Segment CS
Data Segment DS
Stack Segment SS
Extra Segment ES
- Lưu tr a ch segment c a m t ô nh c n truy c p
- K t h p v i các thanh ghi offset nh t nh
Các thanh ghi offset
Instruction Pointer IP
Stack Pointer SP
Base Pointer BP
Source Index SI
Destination Index DI
- Lưu tr a ch offset c a m t ô nh c n truy c p
- K t h p v i các thanh ghi segment nh t nh
Thanh ghi c
15 0
x x x x OF DF IF TF SF ZF x AF x PF x CF
- Không ph i t t c các bit u ư c s d ng
- M i bit ư c s d ng ư c g i là m t c
- Các c u có tên và có th ư c L p/Xoá
riêng l
- Bao g m các c tr ng thái và các c i u
khi n
Flags register
AC (Alignment check)
(VM) Virtual mode
(RF) Resume
(NT) Nested task
(IOPL) Input/output
privilege level
(O) Overflow
(D) Direction
(I) Interrupt
(T) Trace
(S) Sign
(Z) Zero
(A) Auxiliary Carry
(P) Parity
(C) Carry
8086, 8088, 80186 80386, 80486DX
80286 80486SX
3.3 Phương pháp qu n lý b nh
- B nh ư c xem là m t t p h p các ô nh
- M i ô nh ư c nh n d ng b ng m t a ch
v t lý duy nh t 20-bit
- Trong ho t ng truy c p m t ô nh , a ch
v t lý c a nó ư c t o ra t hai giá tr 16-bit:
a ch segment và a ch Offset
- a ch logic = a ch segment: a ch offset
M i liên h gi a CVL và CLG
A=Bus
19 0
ịa chỉ vật lý
15 0 15 0
Thanh ghi offset. Thanh ghi Segment 0000