Cálculo do IPCEdit
O cálculo do IPC é feito através da execução de um código definido, calculando o número de instruções de nível de máquina necessárias para completá-lo, depois usando temporizadores de alto desempenho para calcular o número de ciclos de relógio necessários para completá-lo no hardware real. O resultado final vem da divisão do número de instruções pelo número de ciclos de relógio da CPU.
O número de instruções por segundo e operações de ponto flutuante por segundo para um processador pode ser derivado multiplicando o número de instruções por ciclo pela taxa do relógio (ciclos por segundo dados em Hertz) do processador em questão. O número de instruções por segundo é um indicador aproximado do desempenho provável do processador.
O número de instruções executadas por relógio não é uma constante para um determinado processador; depende de como o software em execução interage com o processador e, na verdade, com toda a máquina, particularmente com a hierarquia de memória. Entretanto, certas características do processador tendem a levar a projetos que têm valores IPC superiores à média; a presença de múltiplas unidades lógicas aritméticas (uma ALU é um subsistema processador que pode executar operações aritméticas e lógicas elementares), e pipelines curtos. Ao comparar diferentes conjuntos de instruções, um conjunto de instruções mais simples pode levar a um valor mais alto de IPC do que uma implementação de um conjunto de instruções mais complexo usando a mesma tecnologia de chip; entretanto, o conjunto de instruções mais complexo pode ser capaz de alcançar um trabalho mais útil com menos instruções. Como tal, comparar valores de IPC entre diferentes conjuntos de instruções (por exemplo x86 vs ARM) é geralmente sem sentido.
Fatores que regem o IPCEdit
Um determinado nível de instruções por segundo pode ser alcançado com um IPC alto e uma baixa velocidade de clock (como o AMD Athlon e a série Core da Intel), ou a partir de um IPC baixo e alta velocidade de clock (como o Intel Pentium 4 e, em menor extensão, o Bulldozer AMD). Ambos são projetos válidos de processadores, e a escolha entre os dois é muitas vezes ditada pela história, restrições de engenharia, ou pressões de marketing. Entretanto, um IPC de alta freqüência sempre dará o melhor desempenho.