Performanta calculatorului

  • View
    230

  • Download
    4

Embed Size (px)

Text of Performanta calculatorului

Performanta calculatorului Ce inseamna performanta? Factorii ce determina performanta procesorului Evaluarea performantei

Executia instructiunilor in cadrul procesorului Executia unei instructiuni PipelineACSO4 - 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 executieXACSO4 - 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 calculatoruluinumarul de cicluri de timpul de executie = ceas UCP pt. program UCP pt. un program

*

ciclul de ceas

Sau: numarul de cicluri de ceas UCP pt. program timpul de executie = 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 ceasuluiACSO4 - 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.2ACSO4 - 6

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

Durata ciclului 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

PipelinePasii 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

PipelineClasa de instructiuni Incarca- Citirea Operatia Accesul Scrierea Timpul rea instr. registrului din ALU datelor in registru total

Incarcarea unui cuvant (lw) Stocarea unui cuvant (sw) Instructiuni in Rformat (add, sub, and,or) Ramnificare(beq)

200 ps 100 ps 200 ps 100 ps 200 ps 100 ps

200 ps 200 ps 200 ps

200 ps 200 ps

100 ps

800 ps 700 ps

100 ps

600 ps

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 datelorIn C: A=B+E C=B+F lw $t1,0($t0) lw $t2,4($t0) lw $t4,8($t0) add $t3,$t1,$t2 sw $t3,12($t0) add $t5,$t1,$t4 sw $t5,16($t0)

lw $t1,0($t0) lw $t2,4($t0) add $t3,$t1,$t2 sw $t3,12($t0) lw $t4,8($t0) add $t5,$t1,$t4 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