lo del reloj es uno, pero principalmente, mientras mas cores hay, la eficiencia en q los programas las usan decrece. básicamente porque topan en la cantidad de paralelismo que pueden extraer del algoritmo.
un ejemplo, si tengo un programa que usa 4 threads y tengo un dual core, claro que voy a notar mejora al pasarme a un quad core, pero vengo y actualizo a uno de 6 cores... el programa siempre va a tener los mismos 4 threads, va a haber una mejora, pero por los recursos disponibles, no porque en realidad el programa se beneficie de eso.