Wat is CPI?

Afkorting van Cycles Per Instruction. Waarde die aangeeft hoeveel klokcycli gemiddeld per instructie nodig zijn. Een van de factoren in uitvoeringstijd = aantal instructies × CPI × cyclustijd. Het omgekeerde van IPC.

Japanse benaming: CPI

“CPI” komt voor in 9 oefenvragen uit 4 onderwerpen, bijv. Prestatiemeting en profiling, CPU en architectuur, Geheugenhiërarchie en prestaties.

Vakgebied: Prestatiemeting en profiling

Nu oefenen: vragen over CPI

Hoeveel instructies kan een processor met een klokfrequentie van 2 GHz en een gemiddelde CPI (gemiddeld aantal klokcycli per instructie) van 0,5 ongeveer per seconde uitvoeren?

  1. A1 miljard instructies
  2. B4 miljard instructies
  3. C100 miljoen instructies
Antwoord en toelichting tonen

Antwoord: B. 4 miljard instructies

Het aantal klokcycli per seconde is 2×10⁹ en gemiddeld zijn er 0,5 klokcycli per instructie nodig, dus 2×10⁹ ÷ 0,5 = 4×10⁹, oftewel 4 miljard instructies. Een CPI kleiner dan 1 komt doordat een superscalaire processor per klokcyclus meerdere instructies uitvoert. Omdat de prestaties worden bepaald door de uitvoeringstijd "aantal instructies × CPI ÷ frequentie", kan niet worden vergeleken op slechts één van aantal instructies, CPI of frequentie.

Een processor heeft bij een ideale cache een gemiddelde CPI van 1,0, gemiddeld 1,3 geheugentoegangen per instructie, een missratio van 2% en een misstraf van 100 cycli. Wat is de werkelijke gemiddelde CPI?

  1. A3,0
  2. B3,6
  3. C1,3
Antwoord en toelichting tonen

Antwoord: B. 3,6

De geheugenstilstandscycli per instructie zijn 1,3 × 0,02 × 100 cycli = 2,6 cycli. Opgeteld bij de ideale CPI geeft dit 1,0 + 2,6 = 3,6, zodat de prestatie daalt tot 1/3,6 van het ideale. 3,0 is de waarde bij de foute aanname van 1 toegang per instructie (1,0 + 1 × 0,02 × 100). 1,3 is het aantal toegangen per instructie en geen CPI. Zelfs bij een kleine missratio daalt de prestatie sterk als de misstraf groot is.

“CPI” in de toelichting

Vragen met “CPI” (9)

  1. Hoeveel instructies kan een processor met een klokfrequentie van 2 GHz en een gemiddelde CPI (gemiddeld aantal klokcycli per instructie) van 0,5 ongeveer per seconde uitvoeren?
  2. Een processor heeft bij een ideale cache een gemiddelde CPI van 1,0, gemiddeld 1,3 geheugentoegangen per instructie, een missratio van 2% en een misstraf van 100 cycli. Wat is de werkelijke gemiddelde CPI?
  3. Een programma van 1 miljard instructies wordt uitgevoerd op een CPU met een gemiddelde CPI van 2 en een klokfrequentie van 2 GHz. Wat is de uitvoeringstijd?
  4. Door een wijziging in het CPU-ontwerp is de klokfrequentie 1,5 keer zo hoog geworden, maar is de CPI ook 1,2 keer zo hoog geworden (hetzelfde aantal instructies). Hoeveel keer zo snel is de uitvoering vergeleken met het origineel?
  5. Door een nieuwe compileroptimalisatie daalt het aantal uitgevoerde instructies met 20 %, maar stijgt de gemiddelde CPI met 10 % (dezelfde frequentie). Welke uitspraak over het effect van deze optimalisatie is juist?
  6. De instructies van een programma bestaan uit 50 % integerberekeningen (CPI 1), 30 % load en store (CPI 2) en 20 % sprongen (CPI 5). Wat is de gemiddelde CPI?
  7. Welke maat geeft het aantal instructies aan dat per klokcyclus kan worden uitgevoerd?
  8. Hoe heet het probleem waarbij in chips met mechanisch zwakke Low-k-films de film scheurt of loslaat door spanning bij montage in de package?
  9. Welke formule geeft de uitvoeringstijd van een programma op de CPU juist weer?

Verwante termen

IPC Sprongvoorspelling (branch prediction) Underfill Instructiesetarchitectuur (ISA) Benchmark CPU-tijd Doorvoer (throughput) Flame graph Harmonisch gemiddelde Meetkundig gemiddelde

Naar de woordenlijst