Sunteți pe pagina 1din 12

CAPITOLUL 1

1. Fie două implementări diferite M1 şi M2 ale aceluiaşi set de instrucţiuni ..........................................................2


2. Presupuneți că aveți un procesor care execută un program constând din 50% înmulțiri în virgulă flotantă ......2
3. Presupunem că putem îmbunătății performanțele în virgulă flotantă ale unui procesor cu un factor având
valoarea 15 ...................................................................................................................................................................3
4. Așa cum este definit MIPS-ul se poate defini MFLOPS-ul care înseamnă milioane de instrucțiuni .....................3
5. Se consideră benchmark-ul SPEC. Numiți doi factori care influențează performanțele ......................................3
6. Cum a afectat calculatorul dezvoltarea tranzistorilor? ........................................................................................3
7. Presupunem că o echipă de proiectare realizează îmbunătățirea unui procesor prin adăugarea ......................3
a. Dacă procesorul A are ceasul mai mare ca procesorul B, și procesorul A are și MIPS-ul mai mare decât
procesorul B ..................................................................................................................................................................4
b. Procesorul A are ciclul de ceas de 20ns și un CPI efectiv de 1,5 pentru unele programe, și procesorul B are
ciclul de ceas de 15ns ...................................................................................................................................................4
9. Presupunem că un segment de program constă dintr-o parte pur secvențială care ia pentru execuție 25 de
cicli 4
10. Procesorul A are un CPI general de 1,3 și poate rula la o frecvență de ceas de 600 MHz. Procesorul B are un
CPI de 2,5 ......................................................................................................................................................................4
11. Imaginați-vă că puteți realiza o cursă bazată pe benchmark pentru a compara două calculatoare pe care
credeți că vreți să le cumpărați ....................................................................................................................................5
12. O echipă de proiectanți trebuie să aleagă pentru un procesor simplu cu o singură instrucțiune pe ciclu ......5
13. Un proiectant dorește să îmbunătățească performanțele generale a unui procesor dat cu respectarea unei
ținte de tip suită benchmark ........................................................................................................................................6
14. Descrieți pașii care transformă un program scris într-un limbaj de nivel înalt, precum C ...............................6
15. Presupuneți că un afișor color utilizează 8 biți .................................................................................................6
16. Se consideră trei procesoare P1, P2 și P3 care execută același set de instrucțiuni. P1 are frecvența de ceas
de 3 GHz și un CPI de 1,5 ..............................................................................................................................................6
17. Se consideră două implementări diferite ale aceleiași arhitecturi a setului de instrucțiuni. Instrucțiunile pot
fi divizate în 4 clase în funcție de CPI............................................................................................................................7
18. Compilatoarele pot avea un impact profund asupra performanțelor unei aplicații. .......................................7
19. Procesorul Pentium IV Prescott, realizat în 2004, avea un ceas de 3,6 GHz, la o tensiune de lucru de 1,25V.
8
20. Presupuneți că un procesor are pentru instrucțiunile aritmetice, load/store și de salt un CPI de 1,2,
respectiv 5 ....................................................................................................................................................................8
21. Presupunem un wafer de 15 cm diametru care are un cost de 12, conține 84 de die, și are 0,020
defecte/cm2. ................................................................................................................................................................9
22. Rezultatele pentru benchmark-ul SPEC CPU2006 bzip2 ce rulează pe un AMD Barcelona .............................9
23. Secțiunea 1.10 citează ca și capcană utilizarea unui subset al ecuațiilor pentru performanță ca metrică
pentru performanță ....................................................................................................................................................10

1
24. O altă capcană citată în secțiunea 1.10 este aceea că ne așteptăm să îmbunătățim performanțele generale
ale unui calculator ......................................................................................................................................................11
25. Presupuneți că un program necesită execuția a 50 x 106 instrucțiuni FP, 110 x 106 instrucțiuni INT ..........11
26. Atunci când un program este adaptat să se execute pe procesoare multiple într-un sistem multiprocesor 12

1. Fie două implementări diferite M1 şi M2 ale aceluiaşi set de instrucţiuni.


Există trei clase de instrucţiuni (A, B și C) în setul de instrucțiuni. M1 are un ceas de 80 de MHz și M2
are un ceas de 100 MHz. Numărul mediu de cicli pentru fiecare clasă de instrucțiuni și frecvența lor
(pentru un program tipic) sunt după cum urmează:

a) Calculează CPI mediu pentru fiecare mașină M1 și M2.


Pentru masina M1:
Clocks pe Instructiune = (60/100)* 1 + (30/100)*2 + (10/100)*4 = 1.6

Pentru masina M2:


Clocks pe Instructiune = (60/100)*2 + (30/100)*3 + (10/100)*4 = 2.5

b) Calculează MIPS mediu pentru fiecare mașină M1 și M2.


Pentru masina M1:
Average MIPS rating = Clock Rate/(CPI * 106) = (80 * 106) / (1.6*106) = 50.0

Pentru masina M2:


Average MIPS rating = Clock Rate/(CPI * 106) = (100 * 106) / (2.5*106) = 40.0

c) Care mașină are raportul MIPS mai mic? Pentru care clasă individuală de instrucțiuni trebuie să
schimbi CPI-ul, și cât de mult, pentru ca această mașină să aibă aceleași performanțe sau mai
bune față de mașina cu MIPS-ul mai mare (poți schimba doar CPI-ul pentru una dintre clasele de
instrucțiuni de pe mașina mai lentă)?

Masina M2 are raportul MIPS mai mic.Daca schimbam CPI-ul instructiunii clasei A pentru
masina M2 la 1,putem avea un raport mai bun a MIPS decat M1 asa cum urmeaza:
Clocks pe Instructiune = (60/100)*1 + (30/100)*3 + (10/100)*4 = 1.9
Average MIPS rating = Clock Rate/(CPI * 106) = (100 * 106) / (1.9*106) = 52.6

2. Presupuneți că aveți un procesor care execută un program constând din


50% înmulțiri în virgulă flotantă, 20% împărțiri în virgulă flotantă, iar restul de 30% sunt
alte instrucțiuni (legea lui Amdahl).
a) Managementul dorește ca acest procesor să ruleze de 4 ori mai repede. Se poate face ca
împărțirea să meargă de 3 ori mai repede și înmulțirea de 8 ori mai repede. Puteți îndeplini cerința
managementului doar cu o singură îmbunătățire, și care este aceasta?
Legea lui Amdahl prevede:
Timpul de executie după îmbunătățire=(Timpul de executie afectat de îmbunătățire)/
( Valoarea Îmbunătățirii) + Timpul de executie neafectat
Assuming initially that the floating point multiply, floating point divide and the other instructions
had the same CPI,
Timpul de executie dupa imbunatatire a impartirii = (20)/3 + (50 + 30) = 86.67
Timpul
b) de executie dupa imbunatatire a inmultirii = (50)/8 + (20 + 30) =66.67
Cerinta managementului nu poate fi indeplinita DOAR cu inmultirea.

b) Dogbert a preluat compania înlăturând toți managerii precedenți. Dacă realizați ambele
îmbunătățiri, la înmulțire și la împărțire, care este viteza procesorului astfel îmbunătățit relativ la
procesorul original?
b) Daca facem ambele imbunatatiri: ,
2
c) Timpul de executiedupa imbunatatire = (50)/8 + (20)/3 + (30) = 53.33
Imbunatatirea vitezei comparata cu processorul original = (100)/(53.33) = 1.88

3. Presupunem că putem îmbunătății performanțele în virgulă flotantă ale


unui procesor cu un factor având valoarea 15 (aceleași instrucțiuni în virgulă flotantă
sunt de 15 ori mai rapide pe noul procesor). Ce procentaj dintre instrucțiuni trebuie să fie în virgulă
mobilă pentru a atinge o îmbunătățire a vitezei de cel puțin 4 ori?
Vom folosi Legea lui Amdahl.
X va fi procentajul pentru instructiunile in virgula flotanta.Cat timp viteza este 4, daca procesorul
original se executa in 100 ciclii ,noul program va rula in 100/4 = 25 cycles.
(100)/4 = (x)/15 + (100 – x)
Solutia lui x va fi:
x = 80.36
Procentajul in virgula flotanta a instructiunilor trebuie sa fie 80.36.

4. Așa cum este definit MIPS-ul se poate defini MFLOPS-ul care înseamnă
milioane de instrucțiuni în virgulă flotantă per secundă. Dacă procesorul A are un MIPS mai
mare decât procesorul B, atunci în mod obligatoriu are și un MFLOPS mai mare decât B?
Un procesor A cu un MIPS mai mare decat un procesor B nu are si un MFLOPS mai mare pentru
procesorul A.Unul din motive ar fi:
Este posibil ca instructiunile in virgula flotanta sa aiba o proportie destul de redusa a
instructiunilor in program.
Deci operatiile in virgula flotanta a procesorului B sunt mult mai eficiente decat operatiile in virgula
flotanta a procesorului A in timp ce (intreg,memorie,etc) celalalte instructiuni sunt mai eficiente in
B,deci procesorul B are rata MFLOPS mai mare in timp ce procesorul A are o rata a MIPS mai mare.

5. Se consideră benchmark-ul SPEC. Numiți doi factori care influențează


performanțele rezultate pentru orice arhitectură particulară.
1.Flagurile compilatorului sunt folositi pentru a compila benchmark-ul.
2.Datele de intrare sunt date benchmark-ului in timp ce masoara performantele.

6. Cum a afectat calculatorul dezvoltarea tranzistorilor? Ce a înlocuit tranzistorul?


Dezvoltarea tranzistorului a avut un impact extraordinar in a aduce calculatorul in casele noastre
sub forma de PC-uri si mult mai recent in mainile noastre(PDA-Asistent Personal
Digital).Capacitatea de a impacheta si integra tranzistori pe un chip la o rata care a crescut
exponential in conformitate cu Legea lui Moore a rezultat intr-o performanta extraordinara pentru
programe fara a fi nevoie schimbarea lor.
Tranzistorul a inlocuit tubul in vid in 1951.

7. Presupunem că o echipă de proiectare realizează îmbunătățirea unui


procesor prin adăugarea unui modul hardware MMX (multimediaextension instruction). Atunci
când un calcul se realizează în modul MMX pe hardware-ul MMX acesta este de 10 ori mai rapid decât
în modul normal de execuție. Se va numi timpul petrecut utilizând modul MMX, procentul de îmbunătățire
media.
a. Ce procent mediu de îmbunătățire este necesar pentru a obține o îmbunătățire generală a vitezei
de 2?
We will use Amdahl’s Law for this question.
Execution time with Media Enhancement =
(Execution time improved by Media enhancement)/(Amount of Improvement) + Execution time
unaffected
Let x be the percent of media enhancement needed for achieving an overall speedup of 2. Then, (100)/2
= (x)/10 + (100-x)
Solving for x, we have x = 55.55

b.Ce procent din timpul de execuție este petrecut în modul MMX dacă se realizează ă mărire de două
ori a vitezei ? (Sfat: trebuie calculat noul timp general).

3
Noul timp total este=100/2 = 50. Acum 55.55 of the original program used media enhancement. Let x be the
percentage of the new run-time that is spent in MMX mode (for a speedup of 2).
x = (55.55 *50)/100 = 27.78

c.Ce procent de îmbunătățire mediu este necesar pentru a obține o jumătate din maximum de mărire a
vitezei (one-half) care se poate obține utilizând modul MMX?
The maximum speedup using MMX mode occurs when the whole program can run in media
enhancement mode. The maximum speedup in this case is 10. One-half of this is 15. Plugging in 15
instead of 2 in (a):
(100)/15 = (x)/10 + (100-x)
Solving for x, we get x = 103.7

8.
a. Dacă procesorul A are ceasul mai mare ca procesorul B, și
procesorul A are și MIPS-ul mai mare decât procesorul B, explicați când
procesorul A va fi mai rapid decât procesorul B. Presupuneți că există două implementări ale
aceleiași arhitecturi a setului de instrucțiuni.
b. Procesorul A are ciclul de ceas de 20ns și un CPI efectiv de 1,5
pentru unele programe, și procesorul B are ciclul de ceas de 15ns și
un CPI efectiv de 1 pentru unele programe. Care procesor este mai rapid pentru acest program și
cu cât?
The CPU Time este dată de ecuația:
CPU Time = Numarul de instrucțiuni* CPI * Clock cycle Time
MIPS rating is defined by:
MIPS = (Clock Rate)/(CPI * 106)
For machines A and B:
(CPUTime)A = (Instruction count)A * (CPI)A * (Clock cycle Time)A
(CPUTime)B = (Instruction count)B * (CPI)B * (Clock cycle Time)B
(MIPS)A = (Clock Rate)A/((CPI)A * 106)
(MIPS)B = (Clock Rate)B/((CPI)B * 106)
If clock rate of A is higher than that of B, and MIPS rating of A is higher than that of B,
(MIPS)A > (MIPS)B and (Clock Rate)A > (Clock Rate)B
Din ecuațiile de mai sus rezultă că:
(Clock Rate)A / (Clock Rate)B > (CPI)A / (CPI)B
(Clock Cycle Time)B / (Clock Cycle Time)A > (CPI)A / (CPI)B
Din aceasta reiese că dacă numărul de instrucțiuni este același , procesorul A va executa întotdeauna mai repede
decât procesorul B.
Presupunând că numărul de instrucțiuni este același,
(CPUTime)A = (I) * 1.5 * 20ns = (I)*30ns
(CPUTime)B = (I) * 1.0 * 15ns = (I)*15ns
Machine B is faster by twice as much as Machine A.

9. Presupunem că un segment de program constă dintr-o parte pur


secvențială care ia pentru execuție 25 de cicli, și o buclă iterativă care ia 100 de cicli
per iterație. Presupuneți că iterațiile din buclă sunt independente, și nu pot fi paralelizate. Dacă bucla se
execută de 100 de ori, care este crețterea maximă de viteza posibilă dacă se utilizează un număr infinit
de procesoare (în comparație cu un singur procesor)
Partea secventiala ia 25 de ciclii. Fiecare iteratie a buclei (care ia 100 ciclii) poate fi executata
independent si sunt in total 100 de iteratii.
Aplicand Legea lui Amdahl:
Timpul de executie dupa imbunatatire = (Timpul de executie afectat de imbunatatire) / (Valoarea
imbunatatirii) + (Executia timpului neafectat) = (100*100)/100 + 25 = 100 + 25.
Viteza = 125/100 = 1.25

10. Procesorul A are un CPI general de 1,3 și poate rula la o frecvență de


ceas de 600 MHz. Procesorul B are un CPI de 2,5 și poate rula la o frecvență de ceas
de 750MHz. Avem un anumit program pe care dorim să-l executăm. În urma compilării pe procesorul A
rezultă 100.000 de instrucțiuni. Câte instrucțiuni trebuie să aibă programul compilat pe procesorul B,
pentru ca cele două procesoare să aibă, pentru acest program, exact același timp de execuție?
4
(CPUTime)A = (Numarul de instructiuni)A * (CPI)A * (Ciclu ceas de Timp)A =
(100,000)*(1.3)/(600*106)ns
(CPUTime)B = (Numarul de instructiuni)B * (CPI)B * (Ciclu ceas de Timp)B = (I)B*(2.5)/(750*106)ns.
Cat timp (CPUTime)A = (CPUTime)B va trebui sa rezolvam (I)B si obtinem 65000.

11. Imaginați-vă că puteți realiza o cursă bazată pe benchmark pentru a


compara două calculatoare pe care credeți că vreți să le cumpărați.
Precizați o listă cu 5 programe de benchmark sau un scenariu de utilizare pe care vreți să-l folosiți pentru
a crea o suită proprie, personalizată de benchmark. Pentru fiecare program l-ați selectat, justificați-l.
Pentru suita de benchmark-uri ca întreg, discutați o metodă pentru calculul mediei ponderate a diferitelor
programe în execuție.

Răspunsul la această întrebare este subiectivă . O listă posibilă de referință ar putea include următoarele :
Benchmark Program Motivul de a alegeacest Program Runtime Weight
benchmark (s)
Browser with multimedia plug ins Opening a lot of media 300 5
content in a lot of tabs at the
same can be used to test the
memory performance and
parallelism potential
Financial Application (Stock Value Can be used to measure 200 4
Predictor) floating point and vector
instruction set performance
Games that involve a lot of AI Can be used to test branch 100 3
prediction performance
Word processing software Most common use case. Can 200 5
be used to test general
integer operations and
rendering
Desktop Search Software Can be used to test I/O 300 3
performance since a search
software builds up a huge
index by constant read of file
system
Media ponderata a runtime este = (300*5 + 200*4 + 100*3 + 200*5 + 300*3)/20 = 225

12. O echipă de proiectanți trebuie să aleagă pentru un procesor simplu cu


o singură instrucțiune pe ciclu, între o implementare pipeline sau fără pipeline. În tabel
sunt prezentați câțiva parametrii de proiectare pentru cele două opțiuni.

a. Pentru un program cu 20% instrucțiuni ALU instrucțiuni, 10% instrucțiuni de control și 70%
instrucțiuni de lucru cu memoria, care va fi proiectul mai rapid?Furnizați valoarea medie a CPI
pentru fiecare caz.
Average CPI for Pipelined Version = (0.2*1 + 0.1*2 + 0.7*2.7) = 2.29
Average CPI for Non-Pipelined Version = (0.2*1 + 0.1*1 + 0.7*1) = 1.0 CPU execution
time for Pipelined version = 2.26/(500 Mhz) = 4.5ns CPU execution time for Non-
Pipelined version = 1.0/(350 Mhz) = 2.8ns The non-pipelined version is faster.

5
b. Pentru un program cu 80% instrucțiuni ALU instrucțiuni, 10% instrucțiuni de control și 10%
instrucțiuni de lucru cu memoria, care va fi proiectul mai rapid? Furnizați valoarea medie a CPI
pentru fiecare caz.
Average CPI for Pipelined Version = (0.8*1 + 0.1*2 + 0.1*2.7) = 1.27
Average CPI for Non-Pipelined Version = (0.8*1 + 0.1*1 + 0.1*1) = 1.0 CPU
execution time for Pipelined version = 1.27/(500 Mhz) = 2.54ns CPU execution time
for Non-Pipelined version = 1.0/(350 Mhz) = 2.8ns The pipelined version is faster.

13. Un proiectant dorește să îmbunătățească performanțele generale a unui


procesor dat cu respectarea unei ținte de tip suită benchmark și se ia în
considerare o îmbunătățire X care se aplică la 50% instrucțiunilor originale executate dinamic, și le
mărește viteza de execuție fiecăreia dintre ele cu un factor 3. Managerul de proiectare are unele
îngrijorări despre complexitate și costul efectiv pentru X, și sugerează ca proiectantul să ia în considerare
o îmbunătățire Y alternativă. Îmbunătățirea Y, dacă se aplică numai la câteva dintre instrucțiunile
executate dinamic le va face doar cu 75% mai rapide. Determinați ce procent dintre toate instrucțiunile
executate dinamic trebuie îmbunătățite utilizând optimizarea Y pentru a obține aceeași creștere de viteză
propusă de îmbunătățirea X.

We will use Amdahl’s Law for this problem. Execution time


after improvement =
(Execution time affected by improvement)/(Amount of Improvement) + Execution
time unaffected

Execution Time using X = (50)/3 + (100-50) = 66.67


The speedup is given by = (100)/66.67 = 1.5

Let the percentage of dynamically executed instructions to which Y is to be applied be x. Execution


Time using Y = (x)/1.75 + (100-x)
SpeedUp = (100)/(Execution Time using Y) = 1.5 Solving for x,
we get x = 77.78

14. Descrieți pașii care transformă un program scris într-un limbaj de nivel
înalt, precum C, într-o reprezentare care este direct executată de procesor.
The program is compiled into an assembly language program, which is then assembled into a
machine language program. = Programul este compilat într-un program de limbaj de asamblare,
care este apoi
asamblate într-un program de limbaj mașină

15. Presupuneți că un afișor color utilizează 8 biți pentru fiecare dintre culorile de bază
(roșu, verde și albastru) per pixel și un cadru având mărimea de 1280 x 1024.
a. Care este mărimea minimă în octeți al buffer-ului pentru cadru care memorează cadrul?

b. Când de mult durează trimiterea unui cadru pe o rețea cu viteza de 100 Mbit/s?

16. Se consideră trei procesoare P1, P2 și P3 care execută același set de


instrucțiuni. P1 are frecvența de ceas de 3 GHz și un CPI de 1,5, P2 are 2,5
GHz și un CPI de 1 și P3 are 4GHz și un CPI de 2,2.
a. Care procesor are performanțele cele mai mari exprimată în MIPS?

6
b. Dacă fiecare procesor execută un program în 10 secunde, calculați numărul de cicli și numărul de
instrucțiuni.

Time=(No.instr. x CPI)/ clock rate, then No.instructions = No.cycles/CPI

Instructions(P1) = 30 x 109/1.5 = 20 x 109


Instructions(P2) = 25 x 109/1 = 25 x 109
Instructions(P3) = 40 x 109/2.5 = 16 x 109

c. S-a încercat reducerea timpului cu 30% dar aceasta a condus la o creștere cu 20% a CPI-ului.
Care frecvență de ceas trebuie pentru a avea această reducere?

17. Se consideră două implementări diferite ale aceleiași arhitecturi a


setului de instrucțiuni. Instrucțiunile pot fi divizate în 4 clase în funcție
de CPI (clasele A, B, C și D). P1 are frecvența de ceas de 2,5 GHz și CPI-urile 1,2,3 și 3, iar P2 are un
ceas de 3 GHz ți CPI-urile 2,2,2 și 2. Dându-se un program cu contorul dinamic de instrucțiuni de 1.0E6
instrucțiuni divizate în clase după cum urmează: clasa A 10%, clasa B 20%, clasa C 50%, și clasa D
20%, care implementare este mai rapidă?
a. Care este CPI-ul global pentru fiecare implementare?

b. Găsiți ciclurile de ceas necesare în ambele cazuri.

18. Compilatoarele pot avea un impact profund asupra performanțelor unei


aplicații. Presupunem că pentru un program, compilatorul A generează un contor dinamic pentru
7
instrucțiuni de 1.0E9 și are un timp de execuție de 1,1s, în timp ce compilatorul B generează un contor
dinamic pentru instrucțiuni de 1.2E9 și are un timp de execuție de 1,5s.
a. Găsiți CPI-ul mediu pentru fiecare program dat fiind faptul că durata unui ciclu de ceas al
procesorului este de 1ns.

b. Presupuneți că programele compilate se execută pe două procesoare. Dacă timpul de execuție pe


cele două procesoare este același, cât de rapid este ceasul procesorului care rulează codul
compilat de compilatorul A în raport cu ceasul procesorului care rulează codul compilat de
compilatorul B?

c. Se dezvoltă un nou compilator care utilizează doar 6.0E8 instrucțiuni și care are un CPI mediu de
1,1. Care este creșterea de viteză utilizând acest compilator versus compilatoarele A și B de pe
procesorul original?

19. Procesorul Pentium IV Prescott, realizat în 2004, avea un ceas de 3,6 GHz,
la o tensiune de lucru de 1,25V. Presupuneți că, pe medie, acesta consuma 10W de energie
statică și 90W de energie dinamică. Nucleul I5 Ivy Bridge, realizat în 2012, are un ceas de 3,4 GHz la o
tensiune de 0,9V. Presupuneți că în medie consumă 30W de putere statică și 40W de putere dinamică.
a. Pentru fiecare procesor găsiți încărcare capacitivă medie.

b. Găsiți procentul din puterea totală disipată ce corespunde puterii staticii și raportul dintre puterea
statică și cea dinamică pentru fiecare tehnologie.

c. Dacă puterea totală disipată este redusă cu 10%, cât de mult trebuie redusă tensiunea pentru a
menține același curent de scurgere? Notă: puterea este definită ca produsul între tensiune și
curent.

20. Presupuneți că un procesor are pentru instrucțiunile aritmetice,


load/store și de salt un CPI de 1,2, respectiv 5. Presupuneți de asemenea că un
program executat pe un singur procesor necesită execuția a 2,56E9 instrucțiuni aritmetice, 1,28E9
instrucțiuni load/store și 256 de milioane de instrucțiuni de salt. Presupuneți că fiecare procesor are un
ceas de 2 GHz. Presupuneți că, dacă programul este paralelizat pentru a se executa pe nuclee multiple,
8
numărul de instrucțiuni aritmetice și load/store per procesor este divizat cu 0,7 x p (unde p este numărul de
procesoare), dar numărul de salturi per procesor rămâne același.
a. Calculați timpul total de execuție pentru acest program pe 1, 2, 4 și 8 procesoare, și prezentați
creșterea relativă de viteză a celor 2, 4 și 8 procesoare la un singur procesor.

b. Dacă CPI-ul instrucțiunilor aritmetice se dublează care este impactul execuției programului pe 1, 2,
4 și 8 procesoare?

c. La ce valoare trebuie redus CPI-ul instrucțiunilor load/store pentru un singur procesor pentru ca
acesta să aibă aceleași performanțe cu patru procesoare ce utilizează valorile originale ale CPI?

21. Presupunem un wafer de 15 cm diametru care are un cost de 12, conține


84 de die, și are 0,020 defecte/cm2. Presupuneți ca un wafer de 20 de cm diametru are un
cost de 15, conține 100 de die, și are 0,031 defecte/cm2.
a. Calculați yield pentru ambele wafer-e.

b. Calculați costul per die pentru ambele wafer-e.

c. Dacă numărul de die per wafer este crescut cu 10% și defectele pe unitatea de arie cresc cu 15%,
calculația aria die și yield.

d. Presupuneți că un proces de fabricație îmbunătățește yield de la 0,92 la 0,95. Calculați defectele


pe unitatea de arie pentru fiecare versiune a tehnologiilor, fiind dată aria die ca fiind 200 mm2.

22. Rezultatele pentru benchmark-ul SPEC CPU2006 bzip2 ce rulează pe un


AMD Barcelona are un contor de instrucțiuni de 2,389E12, un timp de execuție de 750s și un timp
de referință de 9650s.
a. Calculați CPI-ul dacă perioada ceasului este de 0,333ns.

b. Calculați SPECratio.

9
c. Calculați creșterea timpului CPU dacă numărul de instrucțiuni ale banchmark-ului crește cu 10%
fără a afecta CPI-ul.

d. Calculați creșterea timpului CPU dacă numărul de instrucțiuni ale banchmark-ului crește cu 10%
iar CPI-ul crește cu 5%.

e. Calculați modificările SPECratio pentru această schimbare.

f. Presupuneți că dezvoltați o nouă versiune de procesor AMD Barcelona cu un ceas de 4 GHz. Aţi
adăugat câteva instrucţiuni adiţionale setului de instrucţiuni astfel încât numărul de instrucţiuni a
fost redus cu 15%. Timpul de execuţie s-a redus la 700s şi noul SPECratio este 13,7. Găsiţi noul
CPI.

g. Această valoare este mai mare decât aceea obţinută la 1.11.1 deşi ceasul a crescut de la 3 la 4
GHz. Determinați situația în care creșterea CPI este similară creșterii frecvenței ceasului. Dacă nu
sunt similare explicați de ce.

h. Cu cât s-a redus timpul CPU?

i. Pentru un al doilea benchmark, libquantum, presupuneți că timpul de execuție este 960ns, CPI de
1,61,și ceasul este de 3 GHz. Dacă timpul de execuție este redus cu 10% fără a afecta CPI-ul și cu
un ceas de 4 GHz, determinați numărul de instrucțiuni.

j. Determinați ceasul necesar pentru o nouă reducere cu 10% a timpului CPU menținând numărul de
instrucțiuni și CPI-ul.

k. Determinați ceasul dacă CPI se reduce cu 15% și timpul CPU cu 20%, în timp ce numărul de
instrucțiuni rămâne neschimbat.

23. Secțiunea 1.10 citează ca și capcană utilizarea unui subset al ecuațiilor


pentru performanță ca metrică pentru performanță. Pentru a ilustra aceasta să
considerăm următoarele două procesoare. P1 are un ceas de 4GHz, un CPI mediu de 0,9 și necesită
10
execuția a 5.0E9 instrucțiuni. P2 are un ceas de 3 GHz, un CPI mediu de 0,75, și necesită execuția a
1,0E9 instrucțiuni.
a. O interpretare greșită uzuală este să considerăm că procesorul cu ceasul mai mare are
performanțe mai bune. Verificați dacă este adevărat pentru P1 și P2.

b. O altă interpretare greșită este aceea de a considera că procesorul care execută mai multe
instrucțiuni va avea un timp CPU mai mare. Considerând că procesorul P1 execută o secvență de
1,0E9 și că CPI-ul celor două procesoare nu se schimbă, determinați numărul de instrucțiuni pe
care le poate executa P2 în același timp necesar ca P1 să execute cele 1,0E9 instrucțiuni.

c. O altă interpretare greșită comună este aceea a utilizării MIPS pentru a compara performanțele a
două procesoare, și se consideră că procesorul cu MIPS mai mare este mai performant. Verificați
dacă este valabil pentru P1 și P2.

d. O altă interpretare greșită este utilizarea MFLOPS. Presupuneți că 40% din instrucțiunile executate
atât de P1 cât și de P2 sunt instrucțiuni în virgulă flotantă. Găsiți interpretarea MFLOPS greșită
pentru programe.

24. O altă capcană citată în secțiunea 1.10 este aceea că ne așteptăm să


îmbunătățim performanțele generale ale unui calculator prin îmbunătățirea doar
a unui aspect. Să considerăm un calculator care rulează un program care necesită 250s, cu 70s petrecute
executând instrucțiuni FP, 85 de secunde executând instrucțiuni L/S.și 40s executând instrucțiuni de salt.
a. Cât de mult se reduce timpul total dacă timpul pentru operațiile FP se reduce cu 20%?

b. Cât de mult se reduce timpul pentru operațiile INT dacă timpul total se reduce cu 20%?

c. Poate fi redus timpul total cu 20% reducând numai operațiile de salt?

25. Presupuneți că un program necesită execuția a 50 x 106 instrucțiuni FP,


110 x 106 instrucțiuni INT, 80 x 106 instrucțiuni L/S, și 16 x 106 instrucțiuni de salt. CPI pentru
fiecare tip de instrucțiune este de respectiv 1, 1, 4, și 2. Presupuneți că procesorul are ceasul de 2 GHz.
a. Cât de mult trebuie îmbunătățit CPI-ul instrucțiunilor FP dacă dorim ca programul să ruleze de
două ori mai repede?

11
b. Cât de mult trebuie îmbunătățit CPI-ul instrucțiunilor L/S dacă dorim ca programul să ruleze de
două ori mai repede?

c. De câte ori este îmbunătățit timpul de execuție al programului dacă CPI pentru instrucțiunile INT și
FP este redus cu 40% și CPI pentru instrucțiunile L/S și de salt este redus cu 30%.

26. Atunci când un program este adaptat să se execute pe procesoare


multiple într-un sistem multiprocesor, timpul de execuție pe fiecare procesor este
alcătuit din timpul de calcul și timpul dat de supracontrolul necesar pentru a bloca secțiunile critice și/sau
trimiterea datelor de la un procesor la altul. Presupuneți un program care necesită 100s de execuție pe un
singur procesor.Atunci când se rulează pe p procesoare necesită t/ps precum și 4s adiționale pentru
supracontrol, indiferent de numărul de procesoare. Calculați timpul de execuție per procesor pentru 1, 2, 4,
8, 16, 32, 64, și 128 de procesoare. Pentru fiecare caz, listați creșterea relativă de viteză la un singur
procesor și raportul dintre creșterea de viteză actualăși creșterea de viteză ideală (fără supracontrol).

12

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

  • TV 1
    TV 1
    Document21 pagini
    TV 1
    DumitruDanilov
    Încă nu există evaluări
  • RC Curs5
    RC Curs5
    Document38 pagini
    RC Curs5
    DumitruDanilov
    Încă nu există evaluări
  • RC Curs11
    RC Curs11
    Document43 pagini
    RC Curs11
    DumitruDanilov
    Încă nu există evaluări
  • RC Curs12
    RC Curs12
    Document20 pagini
    RC Curs12
    DumitruDanilov
    Încă nu există evaluări
  • Intrebari TS
    Intrebari TS
    Document4 pagini
    Intrebari TS
    DumitruDanilov
    Încă nu există evaluări