Documente Academic
Documente Profesional
Documente Cultură
Cursul 3
1
Formatul instructiunilor
Cod operatie - Fara operanzi expliciti
2
Moduri de adresare
Cum se determina operandul
Adresare imediata – pentru constanta
MOV AX, 1234h
Adresare directa – pentru variabile simple
SUB BX, [100h]
Adresare indexata – pentru vectori
ADD [SI+500h], AX
Adresare bazata – pentru inregistrari
AND DX, [BX+200h]
Adresare mixta (bazat-indexata) – pentru structuri
complexe
OR CX, [SI+BX+100h]
3
Setul de instructiuni pentru un
calculator simplu
Cod
7 6 5 0 operaţie: 7 6 5 4 3 2 1 0
Cod
operaţie
Cîmp adresă 0 0 abc x x x
00
000
01 001
10 . . .
111
11
NOP 00 000 xxx -
AZA 00 001 xxx A=0
CPL 00 010 xxx A=Not A
Instr. Cod instr. explicatii DRA 00 011 xxx A=A>>1
STA 00 100 xxx A=A<<1
SLT 01 adr NP=adr OAI 00 101 xxx If A0=1
NP++
ADA 10 adr A=A+M[adr]
OAN 00 110 xxx If A7=1
MEM 11 adr M[adr]=A NP++
OPR 00 111 xxx 4
Schema generala a unui calculator
simplu
STOP START
PmIA/RI PmIA/NA
GT
PmRI/M
INIT B
Scr
GF CO CO/Adr
M M UA
U
X
DEC + BCC PmM/A
MUX CP
A(0)NA
NA PmM/G
microcomenzi +1NA
DrA
PmNA/RI
A
MUX A(0)A
PmNA/G StA
PmA/CP
MUX
PmA/UA
GC
5
Descompunerea instructiunilor in faze
de executie
INIT
I1
PmIA/NA
PmRI/M
I2
+1NA
E1 E1
SLT ADA MEM NOP AZA CPL DRA STA OAI OAN OPR
6
Generatorul de faze, decodificatorul de
instructiuni si blocul de comanda si control
RI
I1 I2 E1 E2 7 6 5 4 32 1 0
2
DEC 3
DEC
11
TACT
GT Numărător modulo 4 MEM SLT DEC
ADA
INIT OPR NOP
a. b.
I1 I2 E1 E2 MEM NOP PmIA/RI = E1 (ADA + MEM)
BCC ADA
MEM PmIA/RI
PmIA/NA STOP
E1
microcomenzi
a. b.
7
Executia secventiala a instructiunilor
(arhitectura scalara)
Fazele de executie ale unei instructiuni:
1. Citire instructiune (CI)
2. Decodificare instructiune (ID)
3. Executie operatie (Ex)
4. Operatie cu memoria (Mem)
5. Scriere rezultat (Scr)
CPI = 5
8
Executia paralela instructiunilor intr-o
arhitectura pipeline (banda rulanta)
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10
CI DI Ex Mem Scr CI DI Ex Mem Scr
instrucţiunea i1 instrucţiunea i2
Execuţie secvenţială CPI = 5
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10
i1 CI DI Ex Mem Scr
i2 CI DI Ex Mem Scr
i3 CI DI Ex Mem Scr
i4 CI DI Ex Mem Scr
i6 CI DI Ex Mem Scr
Execuţie pipeline CPI=1 (în cazul ideal)
Figura 6.1 Comparaţie între execuţia secvenţială şi de tip pipeline
9
Exemplu de arhitectura pipeline
Bloc A Mem
Mem Bloc
M
inst. R reg. date reg.
adr ins.
R adr Do
I
B Di
D
I
P D ex
+4 C e me me
c scr scr scr
C1 C2 C3
CI DI Ex Mem Scr
Hazardul de date
Dependenta de date intre instructiuni
consecutive
Solutionare:
Stari de asteptare, multiplicarea registrelor,
reordonarea instructiunilor
11
Situatii de hazard
Hazardul de control
Datorat instructiunilor de salt
Solutionare: predictia salturilor, memorarea
salturilor anterioare
JE et1 CI DI Ex
12
Situatii de hazard
Hazardul structural
Doua faze diferite ale unor instructiuni consecutive
solicita aceea si unitate structurala
Solutionare: stari de asteptare, reordonarea
instructiunilor, duplicarea unitatilor solicitate
CI DI Ex Mem Scr
CI DI Ex Scr
13
Arhitecturi superscalare şi
superpipeline
T1 T2 T3 T4 T5 T6
instr. i CI DI Ex Mem Scr
T1 T2 T3 T4 T5 T6
15