Sunteți pe pagina 1din 6

Performanta calculatorului Performanta calculatorului

• Ce inseamna performanta? • Ce este performanta?


• Factorii ce determina performanta procesorului – Cel mai rapid avion?
• Evaluarea performantei • Pentru o persoana -> Concorde
• Pentru cat mai multe persoane -> Boeing 747
Executia instructiunilor in cadrul
procesorului
• Executia unei instructiuni
• Pipeline

ACSO4 - 1 ACSO4 - 2

Performanta calculatorului Performanta calculatorului


• Timp de raspuns (timp de executie) – timpul total • Timpul de executie al UCP-ului (UCP time) – timpul
necesar unui calculator sa execute o sarcina (task) necesar UCP-ului pentru prelucrarea sarcinii – nu include
performantaX = 1/(timpul de executieX) timpul alocat I/E sau altor programe
– timpul CPU pt. utilizator
Deci:
– timpul CPU pt. sistemul de operare
performantaX > performantaY
• Ciclu de ceas (perioada ceasului) - interval discret de timp
implica:
• Frecventa ceasului = 1 / perioada ceasului ( de ex. 4GHz)
timpul de executieY > timpul de executieX

ACSO4 - 3 ACSO4 - 4

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

Componentele de baza ale performantei


Componentele performantei calculatorului Unitatea de masura
Timpul de executie al UCP pentru un Secunde pentru
program program
Executia instructiunilor in cadrul
Numarul de instructiuni Instructiunile executate procesorului
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 ACSO4 - 8

2
Executia unei instructiuni
Executia unei instructiuni

ACSO4 - 9 ACSO4 - 10

Pipeline
Executia unei instructiuni

ACSO4 - 11 ACSO4 - 12

3
Pipeline Pipeline
Pasii executiei unei instructiuni: Clasa de instructiuni Incarca- Citirea Operatia Accesul Scrierea Timpul
rea instr. registrului din ALU datelor in registru total
• Incarcarea instructiunii din memorie Incarcarea unui 200 ps 100 ps 200 ps 200 ps 100 ps 800 ps
cuvant (lw)
• Citeste registrii in timpul decodarii instructiunii
Stocarea unui 200 ps 100 ps 200 ps 200 ps 700 ps
• Executarea operatiei sau calcularea adresei cuvant (sw)
• Accesarea unui operand din memoria de date Instructiuni in R- 200 ps 100 ps 200 ps 100 ps 600 ps
format (add, sub,
• Scrierea rezultatului intr-un registru and,or)
Ramnificare(beq) 200 ps 100 ps 200 ps 500 ps

ACSO4 - 13 ACSO4 - 14

Executie nonpipeline versus Exec. pipeline


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 - 15 ACSO4 - 16

4
Hazardul datelor Hazardul datelor
• o solutie este redirectarea

• alta solutie este reordonarea codului

ACSO4 - 17 ACSO4 - 18

Hazardul controlului
Hazardul datelor • o solutie este blocarea la fiecare ramnificare
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 ACSO4 - 20

5
Hazardul controlului

• alta solutie este


incarcarea instructiunii
urmatoare si numai la
ramnificare blocarea

ACSO4 - 21

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