Cykly na instrukci - Cycles per instruction
![]() | tento článek potřebuje další citace pro ověření.Prosince 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v počítačová architektura, cykly na instrukci (aka hodinové cykly na instrukci, hodiny na instrukcinebo CPI) je jedním z aspektů a procesory výkon: průměrný počet hodinové cykly za návod pro program nebo fragment programu.[1] To je multiplikativní inverzní z pokyny na cyklus.
Definice
Průměr cyklů na instrukci v daném procesu je definován následujícím způsobem:
Kde je počet instrukcí pro daný typ instrukce , jsou hodinové cykly pro daný typ instrukce a je celkový počet instrukcí. Součtové součty všech typů instrukcí pro daný proces srovnávání.
Vysvětlení
Předpokládejme a klasický RISC plynovod s následujícími pěti fázemi:
- Cyklus načítání instrukcí (IF).
- Cyklus načítání instrukcí / registrace (ID).
- Cyklus provádění / efektivní adresy (EX).
- Přístup do paměti (MEM).
- Cyklus zpětného zápisu (WB).
Každá fáze vyžaduje jeden hodinový cyklus a instrukce prochází fázemi postupně. Bez potrubí, v vícecyklový procesor, nová instrukce je načtena ve fázi 1 až po dokončení předchozí instrukce ve fázi 5, proto je počet hodinových cyklů potřebných k provedení instrukce pět (CPI = 5> 1). V tomto případě se říká, že procesor je podscalar. S pipeline je nová instrukce načtena každý hodinový cyklus využitím paralelismus na úrovni instrukcí, protože by tedy teoreticky mohlo být pět instrukcí v pěti fázích potrubí najednou (jedna instrukce na fázi), jiná instrukce by dokončila fázi 5 v každém taktu a průměrný počet hodinových cyklů potřebných k provedení instrukce 1 (CPI = 1). V tomto případě se říká, že procesor je skalární.
S jednímpopravní jednotka nejlepší dosažitelný CPI je 1. U procesoru s více výkonovými jednotkami však lze dosáhnout ještě lepších hodnot CPI (CPI <1). V tomto případě se říká, že procesor je superskalární. Chcete-li získat lepší hodnoty CPI bez zřetězení, musí být počet prováděcích jednotek větší než počet stupňů. Například se šesti prováděcími jednotkami se šest nových instrukcí načte ve fázi 1 až po dokončení šesti předchozích instrukcí ve fázi 5, proto je průměrný počet hodinových cyklů potřebných k provedení instrukce 5/6 (CPI = 5 / 6 <1). Chcete-li získat lepší hodnoty CPI se zřetězením, musí existovat alespoň dvě prováděcí jednotky. Například se dvěma prováděcími jednotkami jsou dvě nové instrukce načteny každý hodinový cyklus využitím paralelismu na úrovni instrukcí, proto by dvě různé instrukce dokončily fázi 5 v každém hodinovém cyklu a průměrný počet hodinových cyklů potřebných k provedení instrukce 1/2 (CPI = 1/2 <1).
Příklady
Příklad 1
Pro více cyklů MIPS, existuje pět typů pokynů:
Pokud program obsahuje:
- 50% pokyny k zatížení
- 25% pokyny k uložení
- 15% pokyny typu R.
- 8% pokyny k větvi
- 2% pokyny k skoku
CPI je pak:
Příklad 2
[2] 400MHz procesor byl použit k provedení srovnávací program s následujícími instruktážní mix a hodinový cyklus počet:
TYP POKYNU | Počet pokynů | Počet hodinových cyklů |
---|---|---|
Celé číslo aritmetické | 45000 | 1 |
Přenos dat | 32000 | 2 |
Plovoucí bod | 15000 | 2 |
Ovládací přenos | 8000 | 2 |
Určete efektivní CPI, MIPS Rychlost (miliony pokynů za sekundu) a doba provádění tohoto programu.
od té doby: a
Proto:
Viz také
- Cyklus za sekundu (Hz )
- Pokyny na cyklus (IPC)
- Pokyny za sekundu (IPS)
- Megahertzův mýtus
- MIPS
- The měřítko článek poskytuje užitečný úvod do měření výkonu počítače pro ty čtenáře, kteří se o toto téma zajímají.
Reference
- ^ Patterson, David A .; Hennessy, John L. Organizace a design počítače: Rozhraní hardware / software.
- ^ Advanced Computer Architecture, autor: Kai Hwang, kapitola 1, Cvičení, problém 1.1