Sei sulla pagina 1di 4

Cual es la relación entre la velocidad del reloj de los procesadores y el rendimiento?

Alguien hizo la pregunta en Arstechnica,, y hubo respuesta (que aquí le


traemos). Hay connotaciones un poco mas sutiles del asunto, y están
en las
las diferencias mas o menos notables de velocidades de ejecución de
determinadas aplicaciones en sistemas mas rápidos (que a veces se quedan levitando y termina
uno razonando que para la maquinota que tiene las cosas deberían ir mas rápidamente) pero eso
ya es harina de otro costal, hay mas factores que van desde la arquitectura (32/64) hasta los
sistemas operativos. En fin, aquí tienen una explicación bastante clara de una parte del asunto.
Al final hay dos enlaces a artículos relativos, van a ser procesados ....... paciencia ;-)
;

Pregunta: El lanzamiento de la micro arquitectura Sandy Bridge de Intel acaba de llevar su línea
de CPUs de escritorio hasta los 3.8GHz, pero recuerdo que
qu el Pentium 4 llegó a 3.8GHz, antes de ser
cancelado. Entonces ¿por qué es que Sandy Bridge llega ahora a los niveles de velocidad de reloj que
el procesador Pentium 4 alcanzó hace años? Y ¿¿cómo
cómo es que Sandy Bridge se las arregla para
superar a los antiguos Pentium 4, a pesar de que tiene velocidades de reloj más bajas?
La relación entre la velocidad de reloj y el rendimiento no es hoy tan nítida como solía, y de todas
maneras nunca fue tan simple.
imple. Para entender por qué diferentes CPUs a diferentes velocidades de
reloj se desempeñan de maneras diferentes, primero veremos cómo la CPU procesa las
instrucciones.
Una CPU procesa las instrucciones en forma de una cadena de montaje, con instruccio
instrucciones diferentes
que existen en las diferentes etapas de realización a medida que avanzan en la línea. Por ejemplo,
cada instrucción en el Pentium original pasa a través de las siguientes cinco etapas de segmentación
(pipeline en el original vean la referencia,
referencia usaremos el término tuberíaindistintamente
indistintamente ndt):

• Prefetch/Fetch: Las instrucciones se obtienen de la caché de instrucciones y son


alineadas para ser decodificadas.
• Decode1: Las instrucciones son decodificadas al formato de instrucciones internas del
Pentium. La predicción de las bifurcaciones (branch)
( ) también se lleva a cabo en esta etapa.
• Decode2: Igual
gual que el anterior. Además, el cálculos de las direcciones se llevará a cabo en
esta etapa.
• Ejecución: El hardware de enteros ejecuta la instrucción.
• Write-back: Los resultados de los cálculos se vuelven a escribir el archivo del registro.

http://www.tecnodelinglesalcastellano.com
Una instrucción entra en segmentación en la etapa 1, y la abandona en la etapa 5. Dado que el flujo
de instrucciones que fluye en la parte delantera de la CPU es una secuencia ordenada de
instrucciones que deben ser ejecutadas una después de otra, tiene sentido introducirlas en
segmentación una después de la otra. Cuando tubería está llena, entonces hay una instrucción en
cada etapa.
Cada etapa en la segmentación se completa en un ciclo de reloj, por lo que cuanto menor sea el ciclo
de reloj, más instrucciones por segundo, la CPU puede procesar a través de su tubería. Por eso, en
general, una velocidad de reloj más rápida significa más instrucciones por segundo y por tanto un
rendimiento más alto.

La mayoría de los procesadores modernos, sin embargo, dividen su segmentación en muchas etapas
mas pequeñas que el Pentium. Las iteraciones posteriores del Pentium 4 tenían alrededor de 21
etapas en sus tuberías. Esta tubería de 21 etapas ejecutaba los mismos pasos básicos (con algunas
adiciones importantes para la reordenación de las instrucciones) que la tubería del Pentium
anterior, pero dividía cada etapa en muchas pequeñas etapas. Debido a que cada etapa en la tubería
era más pequeña y tomaba menos tiempo, los ciclos de reloj del Pentium 4 eran mucho más cortos y
sus velocidades de reloj muy superiores.
En pocas palabras, al Pentium 4 le tomaba muchos mas ciclos de reloj hacer la misma cantidad de
trabajo que el Pentium original, por lo que su velocidad de reloj era mucho más alta para la cantidad
equivalente de trabajo. Esta es una de las razones principales por la que no tiene mucho sentido
comparar velocidades de reloj entre las distintas arquitecturas y familias de procesadores, la
cantidad de trabajo realizado por ciclo de reloj es diferente para cada arquitectura, por lo que la
relación entre el rendimiento y la velocidad de reloj (medido en instrucciones por segundo) es
diferente.

Ahora, la relación velocidad de reloj-rendimiento es estable dentro de la misma familia de


procesadores, por lo que un CPU Core i5 de 3,4 GHz superará un CPU Core i5 a 3.1GHz, en igualdad
de condiciones.

Una mirada más cercana: demoras, vaciados, y longitud de tubería.


Los lectores astutos que razonaron lo anterior podrían llegar a la conclusión de que un Pentium a 4
3.8GHz debe, en promedio, todavía funcionar similarmente, que un Sandy Bridge a 3.8GHz, aunque
la tubería del primero es más larga. (¿por qué?) Porque si ambas tuberías están llenas, el número de

http://www.tecnodelinglesalcastellano.com
instrucciones por segundo que saldrá de cada una es la misma. Piense en esto: si una empresa tiene
en funcionamiento una línea de montaje de 21 etapas a razón de una etapa por segundo, y otra una
línea de 12 etapas a razón de una etapa por segundo, entonces las dos siguen produciendo un
producto terminado cada segundo cuando ambas lineas están llenas.

Pero nótese la última parte de la frase anterior: "cuando ambas lineas están llenas" Cada vez que el
procesador cambia de hilos o equivoca la predicción de una bifurcación, tiene que vaciar la tubería y
volver a llenarla. Y a veces, las instrucciones quedan estancadas en la tubería durante varios ciclos,
dejando las etapas posteriores inactivas, sin nada que hacer. Estos vaciados y demoras son una
razón clave por la que, para una velocidad de reloj dada, es mejor tener una tubería más corta que
una más rápida - a la tubería más corta le toma menos tiempo llenarse después de un vaciado, y
empieza mas rápido a completar las instrucciones de nuevo después de una parada.
A 3.8GHz, la tubería más corta del Core i5, que hace mas trabajos por etapa, puede vencer la tubería
mas larga del Pentium 4, porque en cualquier momento, aun cuando la tubería se vacíe
parcialmente, el Core i5 la puede rellenar y recuperar mucho más rápidamente. El resultado final es
que, en promedio, la tubería del Core i5 queda llena por más tiempo que la del Pentium 4, lo que
hace al Core i5 más rápido.

Por supuesto, una tubería más corta no es la única razón por la que la del Core i5 se encuentra llena
con más frecuencia que la del Pentium 4. Otras razones incluyen un predictor de bifurcaciones
superior, que mantiene los errores de predicciones que disminuyen el rendimiento al mínimo, y
caches más grandes, que mantienen la tubería del Core i5 alimentada con instrucciones de acceso
instantáneo.

Resumiéndolo todo.
Al comparar velocidades de reloj de procesadores dentro de la misma familia, la velocidad de reloj
es una buena guía para el rendimiento, ya una velocidad de reloj más alta significa más
instrucciones completadas por segundo.
Sin embargo, al comparar velocidades de reloj de procesadores de diferentes diseños, generalmente
es como comparar manzanas con naranjas. Para dos CPUs con la misma velocidad de reloj, una
tubería más corta tiene ventaja porque permanece llena con más frecuencia. Para dos CPUs con
igual profundidad de tubería, pero diferentes velocidades de reloj, la velocidad de reloj más alta le

http://www.tecnodelinglesalcastellano.com
da una ventaja. Para dos CPUs con diferentes velocidades, dependerá entonces de la profundidad de
la tubería y otros factores.

En última instancia, la relación entre la velocidad de reloj y el rendimiento es compleja, si usted


desea explorar este asunto más a fondo, debe revisar los dos artículos enlazados a continuación.

Material de lectura adicional

Pipelining: Generalidades Parte 1


Pipelining: Generalidades Parte 2

http://www.tecnodelinglesalcastellano.com

Potrebbero piacerti anche