Sunteți pe pagina 1din 21

Performanta calculatorului

• Ce inseamna performanta?
• Factorii ce determina performanta procesorului
• Evaluarea performantei

Executia instructiunilor in cadrul


procesorului
• Executia unei instructiuni
• Pipeline

ACSO4 - 1
Performanta calculatorului
• Ce este performanta?
– Cel mai rapid avion?
• Pentru o persoana -> Concorde
• Pentru cat mai multe persoane -> Boeing 747

ACSO4 - 2
Performanta calculatorului
• Timp de raspuns (timp de executie) – timpul total
necesar unui calculator sa execute o sarcina (task)
performantaX = 1/(timpul de executieX)
Deci:
performantaX > performantaY
implica:
timpul de executieY > timpul de executieX

ACSO4 - 3
Performanta calculatorului
• Timpul de executie al UCP-ului (UCP time) – timpul
necesar UCP-ului pentru prelucrarea sarcinii – nu include
timpul alocat I/E sau altor programe
– timpul CPU pt. utilizator
– timpul CPU pt. sistemul de operare

• Ciclu de ceas (perioada ceasului) - interval discret de timp


• Frecventa ceasului = 1 / perioada ceasului ( de ex. 4GHz)

ACSO4 - 4
Performanta calculatorului
timpul de executie numarul de cicluri de ciclul de ceas
= *
UCP pt. un program ceas UCP pt. program
Sau:
timpul de executie numarul de cicluri de ceas UCP pt. program
=
UCP pt. un program frecventa ceasului
• cicluri de ceas pe instructiune (CPI) – numarul mediu de cicluri de
ceas pe instructiune pentru un program sau fragment de program
timpul UCP = nr. de instructiuni * CPI x ciclul de ceas
sau:
timpul UCP = (nr. de instructiuni * CPI) / frecventa ceasului
ACSO4 - 5
Performanta calculatorului
• Exemplu: Calculatorul A are ciclul de ceas de 250 ps si CPI de 2.0
pentru un program. Calculatorul B are ciclul de ceas de 500 ps si CPI de
1.2 pentru acelasi program. Care calculator este mai rapid pentru acest
program?

timpul UCPA = nr.instr. x 2.0 x 250 = 500 x nr.instr. (ps)


timpul UCPB = nr.instr. x 1.2 x 500 = 600 x nr.instr. (ps)

performanta UCPA = 1/(timpul de executieA) = 1/ (500 x nr.instr.)


performanta UCPB = 1/(timpul de executieB) = 1/ (600 x nr.instr.)

performanta UCPA/performanta UCPB=(600 x nr.instr.)/(500 x nr.instr.)=1.2

ACSO4 - 6
Componentele de baza ale performantei
Componentele performantei calculatorului Unitatea de masura
Timpul de executie al UCP pentru un Secunde pentru
program program
Numarul de instructiuni Instructiunile executate
pentru program
Ciclurile de ceas pe instructiune (CPI) Numarul mediu al
ciclurilor de ceas pe
instructiune
Durata ciclului de ceas Secunde pe ciclul de
ceas

ACSO4 - 7
Executia instructiunilor in cadrul
procesorului

ACSO4 - 8
Executia unei instructiuni

ACSO4 - 9
Executia unei instructiuni

ACSO4 - 10
Executia unei instructiuni

ACSO4 - 11
Pipeline

ACSO4 - 12
Pipeline
Pasii executiei unei instructiuni:
• Incarcarea instructiunii din memorie
• Citeste registrii in timpul decodarii instructiunii
• Executarea operatiei sau calcularea adresei
• Accesarea unui operand din memoria de date
• Scrierea rezultatului intr-un registru

ACSO4 - 13
Pipeline
Clasa de instructiuni Incarca- Citirea Operatia Accesul Scrierea Timpul
rea instr. registrului din ALU datelor in registru total
Incarcarea unui 200 ps 100 ps 200 ps 200 ps 100 ps 800 ps
cuvant (lw)
Stocarea unui 200 ps 100 ps 200 ps 200 ps 700 ps
cuvant (sw)
Instructiuni in R- 200 ps 100 ps 200 ps 100 ps 600 ps
format (add, sub,
and,or)
Ramnificare(beq) 200 ps 100 ps 200 ps 500 ps

ACSO4 - 14
Executie nonpipeline versus Exec. pipeline

ACSO4 - 15
Hazarduri in pipeline
• Hazard structural – hardware-ul nu poate executa
instructiunile planificate in acelasi ciclu
• Hazardul datelor – datele necesare executiei
instructiunii nu sunt inca disponibile
• Hazardul controlului – instructiunea incarcata nu este
cea care urmeaza

ACSO4 - 16
Hazardul datelor
• o solutie este redirectarea

ACSO4 - 17
Hazardul datelor

• alta solutie este reordonarea codului

ACSO4 - 18
Hazardul datelor
In C: A=B+E
C=B+F

lw $t1,0($t0) lw $t1,0($t0)
lw $t2,4($t0) lw $t2,4($t0)
add $t3,$t1,$t2 lw $t4,8($t0)
sw $t3,12($t0) add $t3,$t1,$t2
lw $t4,8($t0) sw $t3,12($t0)
add $t5,$t1,$t4 add $t5,$t1,$t4
sw $t5,16($t0) sw $t5,16($t0)

ACSO4 - 19
Hazardul controlului
• o solutie este blocarea la fiecare ramnificare

ACSO4 - 20
Hazardul controlului

• alta solutie este


incarcarea instructiunii
urmatoare si numai la
ramnificare blocarea

ACSO4 - 21

S-ar putea să vă placă și