Obliczanie IPCEdit
Obliczanie IPC odbywa się poprzez uruchomienie ustalonego fragmentu kodu, obliczenie liczby instrukcji na poziomie maszynowym wymaganych do jego wykonania, a następnie użycie wysokowydajnych timerów do obliczenia liczby cykli zegara wymaganych do jego wykonania na rzeczywistym sprzęcie. Ostateczny wynik jest wynikiem dzielenia liczby instrukcji przez liczbę cykli zegara procesora.
Liczba instrukcji na sekundę i operacji zmiennoprzecinkowych na sekundę dla procesora może być wyprowadzona przez pomnożenie liczby instrukcji na cykl z częstotliwością zegara (cykle na sekundę podane w hercach) danego procesora. Liczba instrukcji na sekundę jest przybliżonym wskaźnikiem prawdopodobnej wydajności procesora.
Liczba instrukcji wykonywanych na zegar nie jest stała dla danego procesora; zależy ona od sposobu interakcji konkretnego uruchamianego oprogramowania z procesorem, a w rzeczywistości z całą maszyną, zwłaszcza z hierarchią pamięci. Jednak pewne cechy procesora prowadzą do konstrukcji, które mają ponadprzeciętne wartości IPC; obecność wielu arytmetycznych jednostek logicznych (ALU to podsystem procesora, który może wykonywać elementarne operacje arytmetyczne i logiczne) oraz krótkie potoki. Porównując różne zestawy instrukcji, prostszy zestaw instrukcji może prowadzić do wyższej wartości IPC niż implementacja bardziej złożonego zestawu instrukcji przy użyciu tej samej technologii chipowej; jednakże bardziej złożony zestaw instrukcji może być w stanie osiągnąć więcej użytecznej pracy przy użyciu mniejszej liczby instrukcji. Jako takie porównywanie liczb IPC pomiędzy różnymi zestawami instrukcji (na przykład x86 vs ARM) jest zwykle bezsensowne.
Czynniki rządzące IPCEdit
Dany poziom instrukcji na sekundę można osiągnąć przy wysokim IPC i niskiej prędkości zegara (jak AMD Athlon i wczesna seria Core Intela), lub z niskiego IPC i wysokiej prędkości zegara (jak Intel Pentium 4 i w mniejszym stopniu AMD Bulldozer). Oba są ważne projekty procesorów, a wybór między nimi jest często podyktowany historią, ograniczeniami inżynieryjnymi lub presją marketingową. Jednakże, wysoki IPC z wysoką częstotliwością zawsze da najlepszą wydajność.