Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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):
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.
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.
http://www.tecnodelinglesalcastellano.com