Existem duas situações básicas que devem ser consideradas:
-
O processador é usado com um computador que faz apenas cálculos para um único programa
-
O processador é usado para vários programas em execução ao mesmo tempo
A primeira situação é onde o processador 'speed' é mais importante, já que o usuário quer a capacidade de fazer cálculos com rapidez e eficiência. Essas situações são tipicamente para processamento intensivo de cálculo, ou seja, o cálculo de números primos para criptografia / descriptografia
O segundo é onde vários núcleos são úteis, já que cada programa pode ser atribuído a um núcleo separado, liberando, assim, cada programa de "engarrafamento" entre si. No mundo de hoje, o usuário comum usará seu computador para vários programas por vez, tornando o processamento de vários núcleos uma coisa desejável.
No entanto, velocidades ! = de múltiplos núcleos mais rápidas ou desempenho superior em todos os casos. Como a maioria dos programas são escritos para processamento de núcleo único * , a velocidade do clock ainda é importante de se observar. Uma combinação de ambos deve ser levada em consideração (juntamente com muitos outros fatores também) .
* Existem alguns programas, e esperamos que logo mais sejam criados, onde múltiplos núcleos podem ser usados ao mesmo tempo. O futuro do software é encontrado com esta " Programação Paralela ":
Software developers can no longer rely on increasing clock speeds alone to speed up single-threaded applications; instead, to gain a competitive advantage, developers must learn how to properly design their applications to run in a threaded environment. Multi-core architectures have a single processor package that contains two or more processor "execution cores," or computational engines, and deliver—with appropriate software—fully parallel execution of multiple software threads.