Professional Documents
Culture Documents
Lec03 CPU
Lec03 CPU
Cc thanh ghi
Khi iu khin
Khi l gic v s hc
System Bus
Tp lnh my tnh
Minh ha
Cc thnh phn ca my
tnh
System
Bus
0
1
n-2
n-1
H thng Bus
Data Bus
Mang d liu
Address bus
Xc nh ngun v ch ca d liu
CPU cn xc nh a ch ca nh cn c
Control Bus
Tn hiu c/ghi b nh
Yu cu ngt
Tn hiu ng h
Registers
I/O
System
Bus
Memory
Arithmetic
and
Logic Unit
CPU
Internal CPU
Interconnection
Control
Unit
Nhim v ca CPU
xc nh thao tc m lnh yu cu
CPU c lnh t b nh
Chu k lnh
2 bc:
Chu k lnh
Nhn lnh
Gii m lnh
Nhn ton hng
Thc hin lnh
Ct ton hng
Ngt
Nhn lnh
Gii m lnh
Nhn d liu
CPU a a ch ra bus a ch
CPU pht tn hiu iu khin c
Ni dung ngn nh c c vo CPU, chnh l a ch ca ton hng
(gin tip)
a ch ny c CPU pht ra bus a ch tm ra ton hng
CPU pht tn hiu iu khin c
Ton hng c c vo CPU
c/Ghi b nh
Vo/Ra
Chuyn gia cc thanh ghi
Thao tc s hc/logic
Chuyn iu khin (r nhnh)
CPU a a ch ra bus a ch
Ngt (Interrupts)
division by zero
nh thi (Timer)
c
I/O
T
I/O controller
Li phn cng
memory
parity error
a ngt
Cm ngt
u tin ngt
a ngt- Tun t
a ngt- Lng
Minh ha a ngt
ng ng lnh (Instruction
Pipelining)
Cc xung t ca ng ng lnh
CPU
Computer
Registers
I/O
System
Bus
Memory
Arithmetic
and
Logic Unit
CPU
Internal CPU
Interconnection
Control
Unit
ALU n v s hc v logic
CU n v iu khin
Nhn lnh t b nh a vo
thanh ghi lnh
Tng ni dung ca PC tr
sang lnh k tip
Cc tn hiu a n n v iu khin
Cc tn hiu i ra t n v iu khin
Cc thanh ghi a ch
B m chng trnh PC
Cn c gi l con tr
lnh IP
Gi a ch ca lnh tip
theo s c nhn vo.
Sau khi mt lnh c
nhn vo, ni dung PC
t ng tng tr
sang lnh k tip.
Cha a ch
ca ngn nh
d liu m CPU
mun truy nhp
Ngn xp - stack
Con tr ngn xp - SP
Ni dung ca SP t ng gim
0
1
Ni dung ca SP t ng tng
n-2
n-1
Thanh ghi on
(8088/8086)
CS:IP.
D liu cn c vo l DS:SI
D liu cn ghi ra l DS:DI.
IP (instruction pointer)
BP (base pointer)
SI (source index)
SP (stack pointer)
DI (destination index)
V d c php ton
C Zero (c rng):
C Sign (c du):
C Carry (c nh):
C Overflow (c trn):
V d c iu khin
Tp lnh my tnh
Mi b x l c mt tp lnh xc nh
Tp lnh thng c hng chc n hng
trm lnh
Mi lnh l mt chui s nh phn m b
x l hiu c thc hin mt thao
tc xc nh
Cc lnh c m t bng cc k hiu
gi nh -> chnh l cc lnh ca hp ng
Cc kiu thao tc
Chuyn d liu
X l s hc vi s nguyn
X l logic
iu khin vo-ra
Chuyn iu khin (r nhnh)
iu khin h thng
X l s du chm ng
X l cc d liu chuyn dng
V d:
MOV
MOV
MOV
MOV
100H, AX
AX, MEM1
AX, BX
AX, 0FFFFH
XCHG Des,Source
XCHG AH, AL
XCHG AL, [BX]
[BX] l nh c a ch
DS:BX
BX ; ct BX vo ngn xp, ti v tr
do SP ch ra.
DX
; ly 2 byte t nh ngn xp,
a vo DX.
Lnh XLAT
TransLATe
Input:
BX
Output:
AL
Cc lnh s hc
ADD
Cng hai ton hng
SUBTRACT
Tr hai ton hng
MULTIPLY
Nhn hai ton hng
DIVIDE
Chia hai ton hng
ABSOLUTE
Ly tr tuyt i ton hng
NEGATE
i du ton hng (ly b 2)
INCREMENTTng ton hng thm 1
DECREMENT Gim ton hng i 1
COMPARE
Tr 2 ton hng lp c
ADD Des,Source
SUB Des,Source
ADD AX, BX
; AX AX+BX
ADD AL, 74H ; AX AX+ 74H
SUB CL, AL; CL CL AL
SUB AX, 0405H; AX AX - 0405H.
MUL BX
MUL MEM1
DIV s_chia_ngun
S b chia phi l mt s khng du 16 bit
cha trong thanh ghi AX.
Kt qu thng s s trong thanh ghi AL,
cn s d th trong thanh ghi AH.
V d: Vit on chng trnh chia 6H cho 3H, dng
thanh ghi CL.
MOV AX, 0006H ;AX 6H
MOV CL, 03H;CL 3H
DIV CL
;AHAL 00H (s d), 02H (thng s)
INC ch M t: ch ch +1
DEC ch M t: ch ch -1
NEG ch
MOV AH,2 ;
MOV CX,256
MOV DL,0 ;
INT 21H
INC DL
;
DEC CX
;
NEG AX
hm xut k t
; s k t cn xut 0-255
DL m ASCII ca k t NUL
; thc hin xut k t
tng DL ln k t tip theo
m gim s k t cha in
; o du AX
0 1
0 0
1 0.
Cc lnh logic
AND
Thc hin php AND hai ton hng
OR
Thc hin php OR hai ton hng
XOR
Thc hin php XOR hai ton hng
NOT
o bit ca ton hng (ly b 1)
TEST Thc hin php AND 2 ton hng lp c
SHIFT Dch tri (phi) ton hng
ROTATE Quay tri (phi) ton hng
Xo: CF, OF
Cp nht: PF, SF, ZF (PF ch lin quan n 8 bit thp)
Khng xc nh: AF.
V d:
TEST AH, AL ;Thc hin php AND AH vi AL to c.
TEST AH, 01H ; Bit 0 ca AH = 0?
TEST BP, [BX][DI] ; Thc hin php AND BP vi nh DS:BX+DI.
SAL ch, CL
SHL ch, CL
CF
MSB
LSB
CL: s ln dch
SAR ch, CL
SHR ch, CL
MSB
LSB
CF
SAR
MSB
LSB
CF
SHR
ROL - Rotate All Bit to the Left (Quay vng sang tri)
Vit lnh:
ROL ch, CL
CF
LSB
ROR - Rotate All Bit to the Right (Quay vng sang phi).
Vit lnh:
ROR ch, CL
MSB
MSB
LSB
CF
V d:
ROL BX, 1 ; quay vng sang tri thanh ghi BX.
MOV CL, 4 ; t s ln quay vo thanh ghi CL.
ROL AL, CL; quay vng sang tri thanh ghi AL 4 ln.
IN AL, DX
OUT DX, AX
iu kin ng -> np PC mt a ch xc nh
iu kin sai -> khng lm g c
Np vo PC mt a ch xc nh
Ct ni dung ca PC (a ch tr v) ra mt v tr xc nh
(thng Stack)
Np vo PC a ch ca lnh u tin ca chng trnh con
Chuyn ti thc
hin lnh v tr
c a ch XXX:
PC <- XXX
<- XXX
Ct ni dung PC (cha a ch ca
lnh k tip) ra Stack
Np vo PC a ch ca lnh u tin
ca chng trnh con c gi
->B x l c chuyn sang thc
hin chng trnh con tng ng
Ly a ch ca lnh k tip c ct
Stack np tr li cho PC -> B x l
c iu khin quay tr v thc hin
tip lnh nm sau lnh CALL
Cc lnh iu khin h
thng
Cc phng php nh a
ch
gi tr c th
Ni dung ca thanh ghi
Ni dung ca ngn nh hoc cng vo-ra
nh
nh
nh
nh
nh
nh
a
a
a
a
a
a
ch
ch
ch
ch
ch
ch
tc th
thanh ghi
trc tip
gin tip qua thanh ghi
gin tip qua ngn nh
dch chuyn
nh a ch tc th
R1,5
; R1<- R1+5
nh a ch thanh ghi
nh a ch trc tip
Ngn nh c tr bi Trng
a ch ca lnh cha a ch ca
ton hng
C th gin tip nhiu ln
Ging nh khi nim bin con
tr v bin ng trong lp trnh
CPU phi thc hin tham chiu
b nh nhiu ln tm ton
hng -> chm
Vng nh c th c tham
chiu rt ln
nh a ch dch chuyn
Tn thanh ghi
Hng s
Kin
Kin
Kin
Kin
trc
trc
trc
trc
4-bit: 4004
8-bit: 8008, 8080, 8085
16-bit: 8086/8088, 80186, 80286
32-bit:
80386, 80486,
Pentium, Pentium II
Celeron, Pentium III,
Pentium IV
nhim 32-bit
Qun l b nh o
Cc n v x l d liu
B nh Cache
n v qun l b nh
Chuyn i a ch o thnh a ch x l.
Cung cp c ch phn trang/phn on.
Cung cp ch bo v b nh.