Vous êtes sur la page 1sur 18

6.

DIMENSIUNEA TEMPORAL A ARHITECTURII PUG

6.1. Desf
Desfurarea n timp a instruc
instruciunilor pentru un microprocesor CISC

Fiecare instruc
instruciune are:
mai multe cicluri ma
main (M1, M2, M3,....)

Fiecare ciclu ma
main are:
are:

mai multe stri (T1, T2, T3, ...)

Cteva tipuri de cicluri ma


main

fetch
fetch (M1)
prelucrare date
cite
citete din memorie
scrie n memorie
cite
citete din stiv
scrie n stiv
cite
citete din porturi
scrie n porturi

Arhitectura microprocesoarelor Cap.6 1


Corneliu BURILEANU
Exemplu

Magistrala de date intern i extern pe 8 bi


bii

Organizare liniar a memoriei


Adrese fizice pe 16 bi
bii
Memoria organizat pe octe
octei

Registre generale pe 8 bi
bii concatenabile c
cte dou:
dou:
R1,
R1, R2,
R2, R3,
R3, R4,
R4, R5,
R5, R6
bii A
Acumulator pe 8 bi
Registru de fanioane F pe 8 bi
bii

Numrtor de program PC
Indicator de stiv SP
Registru index IX

instruciuni RI pe 8 bi
Registru de instruc bii

Registru de date RD
Registru de adrese RA
Registre temporare ATEMP,
ATEMP, TEMP,
TEMP, AUX1,
AUX1, AUX2

Arhitectura microprocesoarelor Cap.6 2


Corneliu BURILEANU
(R1) (R3)

M1: T1: (RA) (PC)


(RD) "Stare P"
MREAD

T2: (PC) (PC) + 1 , (RD) ((RA))

T3: (RI) (RD)

T4: decodificarea octetului de cod din


(RI)
(TEMP) (R3)

T5: (R1) (TEMP)

Arhitectura microprocesoarelor Cap.6 3


Corneliu BURILEANU
(A) (A) + (R1)

M1: T1: (RA) (PC)


(RD) "Stare P"
MREAD
T2: (PC) (PC) + 1 , (RD) ((RA))
T3: (RI) (RD)
T4: decodificarea octetului de cod din (RI)
(TEMP) (R1) , (ATEMP) (A)
M2: T1: nefolosit!
nefolosit!
T2: (A) (ATEMP) + (TEMP)

Arhitectura microprocesoarelor Cap.6 4


Corneliu BURILEANU
(A) (A) + ((R5,R6))

M1: T1: (RA) (PC)


(RD) "Stare P"
MREAD
T2: (PC) (PC) + 1 , (RD) ((RA))

T3: (RI) (RD)

T4: decodificarea octetului de cod din (RI)


(ATEMP) (A)

M2: T1: (RA) (R5,R6)


MREAD

T2: (RD) ((RA))

T3: (TEMP) (RD)

M3: T1: nefolosit!


nefolosit!

T2: (A) (ATEMP) + (TEMP)

Arhitectura microprocesoarelor Cap.6 5


Corneliu BURILEANU
(A) (adr)
adr)

M1: T1: (RA) (PC)


(RD) "Stare P"
MREAD
T2: (PC) (PC) + 1 , (RD) ((RA))

T3: (RI) (RD)

T4: decodificarea octetului de cod din (RI)

M2: T1: (RA) (PC)


MREAD
T2: (PC) (PC) + 1, (RD) ((RA))
T3: (AUX2) (RD)

M3: T1: (RA) (PC)


MREAD
T2: (PC) (PC) + 1, (RD) ((RA))

T3: (AUX1
(AUX1) (RD)

M4: T1: (RA) (AUX1,AUX2)


MREAD
T2: (RD) ((RA))
T3: (A) (RD)

Arhitectura microprocesoarelor Cap.6 6


Corneliu BURILEANU
(PC) adr

M1: T1: (RA) (PC)


(RD) "Stare P"
MREAD
T2: (PC) (PC) + 1 , (RD) ((RA))

T3: (RI) (RD)

T4: decodificarea octetului de cod din (RI)

M2: T1: (RA) (PC)


MREAD
T2: (PC) (PC) + 1, (RD) ((RA))

T3: (AUX2) (RD)

M3: T1: (RA) (PC)


MREAD
T2: (PC) (PC) + 1, (RD) ((RA))

T3: (AUX1) (RD)

M4: T1: (RA) (AUX1,AUX2)


MREAD
T2: (PC) (AUX1,AUX2)
T3: (PC) (PC) + 1
Arhitectura microprocesoarelor Cap.6 7
Corneliu BURILEANU
6.2. Creterea vitezei de execuie pentru microprocesoarele CISC evoluate

fetch prelucreaz scrie rezultat

fetch prelucreaz

fetch citete operand prelucreaz

fetch .........

fetch .........

Arhitectura microprocesoarelor Cap.6 8


Corneliu BURILEANU
Arhitectura microprocesoarelor Cap.6 9
Corneliu BURILEANU
6.3. Desf
Desfurarea n timp a instruc
instruciunilor pentru microprocesoarele RISC

N=5
Semnifica
Semnificaia strilor:
strilor:
Accesul memoriei de date/program:
date/program:
S1: Fetch
S2: Decode
S3: Memory Access
S4: Memory Access
S5: Memory Access

Prelucrri de date:
date:
S1: Fetch
S2: Decode
S3: Read Operands
S4: Execute Operation
S5: Write Result

Arhitectura microprocesoarelor Cap.6 10


Corneliu BURILEANU
Arhitectura microprocesoarelor Cap.6 11
Corneliu BURILEANU
ntrzieri
pentru a
preveni
execu
execuia
incorect a
salturilor

Arhitectura microprocesoarelor Cap.6 12


Corneliu BURILEANU
Arhitectura microprocesoarelor Cap.6 13
Corneliu BURILEANU
Optimizarea ntrzierilor
ntrzierilor pentru a preveni execu
execuia incorect a salturilor

ADD r3, r2, r1


AND r0, r5, r6
JMPZ r0, eticheta
NOP
....
eticheta:
eticheta: SUB r1, r5, r6

AND r0, r5, r6


JMPZ r0, eticheta
ADD r3, r2, r1
....
eticheta:
eticheta: SUB r1, r5, r6

Arhitectura microprocesoarelor Cap.6 14


Corneliu BURILEANU
ntrzieri din cauza accesului n memorie

LOAD r1,mem
r1,mem
ADD r3,r2,r1

Arhitectura microprocesoarelor Cap.6 15


Corneliu BURILEANU
LOAD r1,mem
NOP
NOP
...
NOP
ADD r3,r2,r1

Arhitectura microprocesoarelor Cap.6 16


Corneliu BURILEANU
ntrzieri din cauza dependen
dependenei datelor de utilizarea registrelor

ADD r1, r2, r7


AND r6, r1, r3

Arhitectura microprocesoarelor Cap.6 17


Corneliu BURILEANU
ADD r1, r2, r7
NOP
NOP
AND r6, r1, r3

Arhitectura microprocesoarelor Cap.6 18


Corneliu BURILEANU