Professional Documents
Culture Documents
64K addressable RAM 8-bit registers CP/M operating system 5,6,8,10 MHz
my first IBM-PC used 8088 1 MB addressable RAM 16-bit registers 16-bit data bus (8-bit for 8088) separate floating-point unit (8087) used in low-cost microcontrollers now
computer (1986)
IBM - AT
Intel 80286 (1982)
16 MB addressable RAM Protected memory several times faster than 8086 introduced IDE bus architecture 80287 floating point unit Up to 20MHz 134K transistors
Intel IA 32 Family
Intel386 (1985)
4 GB addressable RAM 32-bit registers paging (virtual memory) Up to 33MHz
Intel486 (1989)
instruction pipelining Integrated FPU 8K cache
Pentium (1993)
Superscalar (two parallel pipelines)
Intel P6 Family
Pentium Pro (1995)
advanced optimization techniques in microcode More pipeline stages On-board L2 cache
Pentium II (1997)
MMX (multimedia) instruction set Up to 450MHz
Pentium 4 (2000)
NetBurst micro-architecture, tuned for multimedia 3.8+GHz
Thanh ghi L cc phn t c kh nng lu tr thng tin vi dung lng 8, 16 , 32, 64 bit. c xy dng t cc FlipFlop nn c tc truy xut rt nhanh.
S chn 8086
AX ngoi chc nng lu tr d liu, n cn c CPU dng trong php ton s hc nh nhn, chia. AX l tha s (nhn) hoc AX l s b chia (chia)
AH
AL
Thanh ghi AX (Accumulator register) : thanh ghi tch lu, di 16 bit nhng n cng c th chia lm 2 thanh ghi 8 bit AH v AL. Cc thanh ghi AH, AL c th s dng c lp cha d liu
CH BH BL
CL
Thanh ghi BX (Base register) : di 16 bit nhng n cng c th chia lm 2 thanh ghi 8 bit BH v BL BX thng c dng cha cc a ch c s
CX (Counter register) : thanh ghi ny dng lm b m trong cc vng l p. Cc lnh t ng lp li v sau mi ln lp gi tr ca CX t ng gim i 1. CL thng cha s ln dch, quay trong cc lnh dch, quay thanh ghi
DH
DL
Thanh ghi DX : thanh ghi d liu, DX thng c cha a ch offset ca xu k t khi c thao tc nhp vo xu k t hoc in xu k t . DX (cng vi AX) cn tham gia ch a kt qu ca php nhn cc s 16 bit ho c lm s b chia cho php chia 16 bit. Ngoi ra, DX cn dng cha a ch cc cng vo ra trong trng hp thc hin cc lnh IN/OUT
Thanh ghi DX (Data register) : di 16 bit nhng n cng c th chia lm 2 thanh ghi 8 bit DH v DL
3 trong 4 thanh ghi on c dng trong cc mc ch c bit sau CS : xc nh on lnh ni cha chng trnh c thi hnh. DS : xc nh on d liu ni cha chng trnh c thi hnh. SS : xc nh on stack vng lm vic tm thi dng theo di cc tham s v cc a ch ang c chng trnh hin hnh s dng. Cn thanh ghi ES : tr n on thm, thng c dng b sung cho on d liu c vng nh >64k cho oan d liu.
Thanh ghi con tr lnh IP (Instruction Pointer): tr vo lnh k tip s c thc hin nm trong on m do con tr CS tr ti. a ch y ca lnh: CS:IP Thanh ghi con tr ngn sp SP (Stack Pointer): tr vo nh hin thi ngn sp nm trong on ngn sp SS. a ch y l SS:SP Thanh ghi ch s ngun SI (Source Index): tr vo mt mc d liu trong on DS. a ch y ca mc d liu: DS:SI Thanh ghi ch s ch DI (Destination Index): tr vo mt mc d liu trong on DS. a ch y l DS:DI
Thanh ghi c
C PF (Parity flag): c chn l, PF=1khi tng s cc bit 1 trong kt qu php tnh l mt s chn. C AF (Auxiliary flag): c nh ph AF =1 khi c nh t bit th 4 sang bit th 5 hoc c mn t bit 5 sang bit 4 trong bi u din BCD ca mt s C ZF (Zero flag): ZF=1 khi k t qu tnh ton bng 0 C SF (Sign Flag): c du SF=1 khi kt qu tnh ton l mt s m C TF (Trap Flag): C by TF=1 khi CPU ang lm vic ch chy tng lnh. Ch ny s dng khi g ri (debug) chng trnh. C IF (Interrupt enable Flag): c cho php ngt IF=1, cho php tc ng n yu cu ngt che c (maskable Interrupts) C DF (Direction Flag): c hng DF=1 khi CPU x l chui k t theo th t t phi sang tri C OF (Overflow Flag): c trn OF=1 khi kt qu l mt s b 2 vt ra ngoi gii hn biu din dnh cho n.
Thanh ghi c lu trng thi ca CPU ti mi thi im. Cu trc ca thanh ghi c nh hnh v. Cc bit c nh du x l cc c cha dng n.
C CF (carry flag): c CF =1 khi c nh hoc tr c mn t bit c trng s cao nht. Ngoi ra, c CF=1 trong trng hp khi thao tc vi file hoc th mc gy ra li nh li to, xa file v th mc.
Ch hot ng 80x86
Cc ch hot ng - Real address mode: native MS-DOS - Protected mode: + native mode (windows, Linux), separate memory + Virtual 8086 mode: mi chng trnh u c my 8086 o
Qun l a ch 8086
CPU 8086 c 16 bit, do vy ch qun l c 64K b nh. PC 8086 c 1MB b nh (20 bit) Dng phng php phn on b nh thanh ghi 16 bit c th qun l 1MB b nh B nh 1MB c chia lm cc on (segment) 64KB
a ch vt l & lun l
a ch dng trong thit k cc mch gii m a ch cho b nh v xut nhp Trong lp trnh, a ch vt l khng dng c m c thay bng a ch lun l
a ch lun l
a ch ca mt nh c xc nh bi 2 phn: a ch trong Segment : offset on
a ch on V d: B001:1234
S hnh thnh a ch
Mi a ch nh c hnh thnh t mt php tnh tng t 1 a ch c s v 1 a ch offset a ch c s lu trong thanh ghi segment, a ch offset nm trong thanh ghi ch s hay con tr Php cng ny to ra a ch 20 bit
15
Minh ha
ach ch Offset a Offset
15
ach ch segment a segment
0
0000
a ch vt l
19
cng
ach ch v l20 20bit bit a v ttl
M hnh ha a ch
Trong mi on, nh u tin c offset l 0000h v nh cui cng l FFFFh. B nh
offset
0000
1334:0234 1304:0534
nh c a ch segment: offset
64KB FFFF
hiu r ti sao ta hy xt mi quan h gia a ch vt l vi segment v offset 00000h 0000: 0001: 0002:
Phn chng chp ca 3 segment 0000,0001,0002 00010h 00020h
Tng kt
Hiu c cu trc thanh ghi ca 8086 Nm c a ch vt l, a ch lun l, cch tnh a ch vt l t a ch lun l