Tema 6: Rendiment i potència
15.1 Rendiment
Vegeu Secció 6.1; en particular, Equació 6.3 i Equació 6.4.
Problema 15.1 Un programa en alt nivell es tradueix a llenguatge assemblador en dues versions: una en RISC-V, que s’executarà en els processadors P1 i P2; l’altra, en x86-64, que s’executarà en P3. Cada processador té les característiques següents:
| Processador | Freqüència | CPI mitjà | ISA | Nombre d’instruccions |
|---|---|---|---|---|
| P1 | 2 GHz | 1,5 | RISC-V | \(2 \cdot 10^{6}\) |
| P2 | 2,5 GHz | 1 | RISC-V | \(2 \cdot 10^{6}\) |
| P3 | 3 GHz | 0,75 | x86-64 | \(10^{6}\) |
Contesteu les preguntes següents raonant les respostes:
- Quin dels tres processadors executa més ràpidament el programa? Quantes vegades és més ràpid que els altres dos?
- Sense conèixer el nombre d’instruccions, es pot calcular si P1 executa el programa més ràpid que P2? I més ràpid que P3?
- Amb aquestes dades, es pot comparar el rendiment de P1 i P2 en general (no només per a aquest programa)? I el de P1 i P3? I si el CPI fos el CPI mitjà per a tots els programes?
Problema 15.2 Considereu dos processadors P1 i P2 que executen una seqüència de \(10^{6}\) instruccions. Cada processador té les característiques següents:
| Processador | Freqüència | CPI |
|---|---|---|
| P1 | 4 GHz | 1,25 |
| P2 | 3 GHz | 0,75 |
Contesteu les preguntes següents raonant les respostes:
- Quin dels dos processadors té el millor rendiment? Quantes vegades és més ràpid?
- Quantes instruccions pot executar P2 en el temps que triga P1 a fer les \(10^{6}\) instruccions?
Problema 15.3 Considereu un processador sense instruccions de coma flotant. Les operacions en coma flotant s’implementen mitjançant subrutines. A partir d’estadístiques se sap el següent:
- El CPI mitjà és 3.
- El 20 % de les instruccions executades per qualsevol programa formen part de les subrutines de coma flotant.
Es vol avaluar la conveniència d’afegir instruccions de coma flotant al processador. En afegir-les s’observa:
- El temps de cicle passa d’1 ns a 1,05 ns.
- El CPI mitjà passa de 3 a 4.
- El nombre d’instruccions de coma flotant executades és ara 10 vegades menor.
Contesteu les preguntes següents raonant les respostes:
- Val la pena afegir instruccions de coma flotant al repertori?
- Valdria la pena si les subrutines de coma flotant representessin el 40 % de totes les instruccions (en comptes del 20 % de l’apartat anterior)?
Problema 15.4 En un processador d’1 GHz s’executa un programa P distribuït de la forma següent:
| Aritmètiques | Escriptura | Lectura | Salt | Total |
|---|---|---|---|---|
| 500 | 50 | 100 | 50 | 700 |
- Si les instruccions aritmètiques triguen 1 cicle, les de lectura i d’escriptura 5 cicles, i els salts 2 cicles, quin és el temps d’execució de P?
- Quin és el CPI?
- Si s’optimitza el codi de manera que ara només s’executin 50 instruccions de lectura, quin és el guany (speedup) obtingut? I el CPI?
Problema 15.5 Considereu dues implementacions diferents del mateix ISA, on hi ha quatre classes d’instruccions, A, B, C i D. La taula següent mostra la freqüència de rellotge i el CPI de cada classe per a les dues implementacions:
| Freqüència | CPI A | CPI B | CPI C | CPI D | |
|---|---|---|---|---|---|
| P1 | 1,5 GHz | 1 | 2 | 3 | 4 |
| P2 | 2 GHz | 2 | 2 | 2 | 2 |
- Quin és el CPI mitjà de cada implementació, suposant un programa amb instruccions distribuïdes de la forma: 10 % classe A, 20 % classe B, 50 % classe C i 20 % classe D?
- Quina de les dues implementacions és més ràpida, suposant un programa de \(10^{6}\) instruccions?
Problema 15.6 Un processador no disposa d’instrucció de multiplicació. Cada multiplicació es resol amb una crida a una subrutina de 200 instruccions. Al disseny original, totes les instruccions tenen un CPI mitjà de 3. Es vol avaluar la conveniència d’afegir un multiplicador per maquinari.
Amb el nou disseny, un 0,5 % de les instruccions executades són multiplicacions (CPI = 40 cadascuna); la resta d’instruccions tenen un CPI mitjà de 3.
- Si no hi ha cap altre canvi en el disseny, quin guany s’obté?
- El nou multiplicador obliga a reduir la freqüència de rellotge des dels 2 GHz originals. Quina és la freqüència mínima acceptable perquè el nou processador no sigui més lent que l’original?
Problema 15.7 Considereu dos processadors que executen un programa de la forma que mostra la taula:
| Coma flotant | Enters | Lectura/escriptura | Salt | Total | |
|---|---|---|---|---|---|
| a | 35 s | 85 s | 50 s | 30 s | 200 s |
| b | 50 s | 80 s | 50 s | 30 s | 210 s |
Per a cadascuna de les execucions, contesteu les preguntes següents:
- Quina és la millora de rendiment si es redueix el temps de les operacions de coma flotant en un 20 %?
- Quin és el percentatge de reducció del temps d’execució d’operacions d’enters necessari per aconseguir una millora del 20 % en el rendiment global?
- Es pot reduir el temps d’execució total en un 20 % millorant únicament les operacions de salt?
15.2 Llei d’Amdahl
Vegeu Secció 6.2; en particular, Equació 6.6 i Equació 6.7.
Problema 15.8 Un programa passa el 60 % del temps executant instruccions de coma flotant i el 40 % restant en altres instruccions.
- Si s’afegeix una unitat de coma flotant que fa les operacions de coma flotant (CF) 5 vegades més ràpides, quin és el guany global?
- Quin seria el guany màxim teòric si les operacions CF fossin infinitament ràpides?
- Per assolir un guany global de 3, quantes vegades més ràpides han de ser les operacions CF?
Problema 15.9 Un sistema té tres components amb els temps d’execució relatius i les millores possibles indicats a la taula:
| Component | Fracció del temps | Millora disponible |
|---|---|---|
| Unitat entera | 50 % | 2× |
| Unitat CF | 30 % | 4× |
| Accés a memòria | 20 % | 1,5× |
- Calculeu el guany global si s’apliquen totes tres millores simultàniament.
- Quina millora individual té més impacte? Raoneu la resposta amb la llei d’Amdahl.
- Si el pressupost només permet aplicar una millora, quina trieu? Per què?
Problema 15.10 Un fabricant vol anunciar que el seu nou processador és «10 vegades més ràpid» que el model anterior.
- Si l’única millora és que les instruccions de coma flotant s’executen 20 vegades més ràpidament, quin ha de ser el percentatge mínim del temps d’execució que ocupen les instruccions CF perquè s’assoleixi el guany de 10?
- En un programa típic, les instruccions CF representen el 35 % del temps. Quin guany real s’obtindria?
- Quin és el guany màxim assolible per a qualsevol programa amb un 35 % de CF, independentment de la millora aplicada a les instruccions CF?
Problema 15.11 Considereu dos processadors A i B que executen versions diferents d’un mateix programa. Per a cada tipus d’instruccions, la taula següent mostra el nombre d’instruccions executades i els cicles per instrucció:
| Coma flotant | Enters | Lectura/escriptura | Salt | |
|---|---|---|---|---|
| Proc. A | 90 instr. · 2 CPI | 240 instr. · 1,5 CPI | 150 instr. · 6 CPI | 120 instr. · 3 CPI |
| Proc. B | 45 instr. · 3 CPI | 225 instr. · 1 CPI | 135 instr. · 5 CPI | 45 instr. · 2 CPI |
- Calculeu el CPI mitjà de l’execució del programa en cadascun dels processadors.
- Suposant que els processadors A i B treballen a les freqüències \(f_A\) i \(f_B\) respectivament, indiqueu la relació \(f_A/f_B\) per tal que tots dos processadors triguin el mateix temps a executar el programa.
- Si s’aconseguís reduir a zero el temps d’execució de les instruccions de lectura i d’escriptura del processador A, quin seria el guany de rendiment aconseguit?
15.3 Potència
Vegeu Secció 6.3; en particular, Equació 6.9 i Equació 6.11.
Problema 15.12 La taula següent mostra la freqüència de rellotge, el voltatge i la potència dinàmica de dos processadors:
| Processador | Freqüència | Voltatge | Potència dinàmica |
|---|---|---|---|
| A | 10 MHz | 5 V | 2 W |
| B | 3 GHz | 1 V | 100 W |
- Calculeu la capacitat equivalent (capacitància) dels processadors A i B.
- Quina seria la potència del processador A si, sense canviar el voltatge ni la capacitància, es volgués aconseguir la mateixa freqüència de rellotge que el processador B?
Problema 15.13 La taula següent mostra l’evolució de la freqüència de rellotge, el voltatge i la potència dinàmica en vuit generacions de processadors Intel:
| Generació | Processador | Any | Freqüència | Voltatge | Potència |
|---|---|---|---|---|---|
| 1 | 80286 | 1982 | 12,5 MHz | 5 V | 3,3 W |
| 2 | 80386 | 1985 | 16 MHz | 5 V | 4,1 W |
| 3 | 80486 | 1989 | 25 MHz | 5 V | 4,9 W |
| 4 | Pentium | 1993 | 66 MHz | 5 V | 10,1 W |
| 5 | Pentium Pro | 1997 | 200 MHz | 3,3 V | 29,1 W |
| 6 | Pentium 4 Willamette | 2001 | 2 GHz | 1,75 V | 75,3 W |
| 7 | Pentium 4 Prescott | 2004 | 3,6 GHz | 1,25 V | 103 W |
| 8 | Core 2 Kentsfield | 2007 | 2,667 GHz | 1,1 V | 95 W |
- Calculeu les ràtios de potència i freqüència entre generacions consecutives.
- Quin és el canvi (ràtio) més gran en la freqüència entre generacions? I en la potència?
- Quina és la mitjana geomètrica de les ràtios de freqüència i potència entre generacions consecutives?
- Quantes vegades més gran és la freqüència de la darrera generació respecte de la primera? I la potència?
- Calculeu la capacitat equivalent de cada generació.
Problema 15.14 Tot i que la potència dinàmica és la principal font de dissipació en circuits complementary metal–oxide–semiconductor (CMOS), els corrents de fuita produeixen també una dissipació de potència estàtica de la forma \(P_{s} = V_{CC} \cdot I_{fuita}\). La taula següent mostra la dissipació de potència estàtica i dinàmica per a dues generacions de processadors:
| Tecnologia | Potència dinàmica | Potència estàtica | Potència total | Voltatge |
|---|---|---|---|---|
| 250 nm | 49 W | 1 W | 50 W | 3,3 V |
| 90 nm | 75 W | 45 W | 120 W | 1,1 V |
- Trobeu quin percentatge de potència total dissipada correspon a la potència estàtica i dinàmica en cada generació.
- Trobeu el corrent de fuita \(I_{fuita}\) per a cada tecnologia.
- En quin percentatge es podria reduir la potència total de cada processador reduint només la potència dinàmica?