El documento describe la evolución de los microprocesadores desde los primeros modelos uniprocesador hasta los procesadores modernos multiprocesador y multinúcleo. Inicialmente, los procesadores simulaban la multitarea dividiendo su tiempo entre varios procesos, luego se dividieron internamente para procesar instrucciones de forma simultánea. Más adelante, técnicas como el hyper-threading permitieron ejecutar múltiples hilos de trabajo simultáneamente en un solo procesador para mejorar el rendimiento.
2. Antes…
Un solo procesador no podía llevar a cabo varias tareas
simultáneamente, solo simulaba llevarlas. La forma de
conseguir esta simulación era relativamente sencilla, el
procesador en lugar de dedicar toda la atención a un
solo proceso lo que hacia era dividir su tiempo en varios
de estos. Realizaba parte de uno y pasaba al siguiente
rápidamente, volvía a realizar parte del proceso y volvía
a pasar a otro, y así daba la impresión de que se
trataba de un sistema Multi-Tareas cuando en realidad
no lo era.
3. Para acercarse más al concepto de multitarea se dio el
siguiente paso, dividir el procesador en diferentes partes.
Así por ejemplo, para entender mejor qué se pretendía, la
primera división consistió en dos partes, una de las partes
tomaba las instrucciones de la memoria RAM y la otra iba
procesándolas. Como es lógico, en lugar de necesitar
cuatro ciclos de reloj para dos instrucciones (1º Toma la
instrucción A, 2º Procesa la instrucción A, 3º Toma la
instrucción B, 4º Procesa la instrucción B) tan solo
necesita tres ciclos de reloj (1º Toma la instrucción A, 2º
Procesa la instrucción A y toma la B, 3º Procesa la
instrucción B).
5. Pentium 4
1º Front-end (Lee la memoria y decodifica las instrucciones)
2º Sección de ejecución u Out-of-order core compuesta de
cuatro partes
2-1º Dos ALU, Unidades Lógicas Aritméticas (Operaciones con
números enteros y operaciones lógicas)
2-2º Dos unidades de punto flotante (Movimiento de datos y
operaciones SIMD)
2-3º Unidad de ejecución para operaciones shift y rotate
2-4º Dos unidades para operaciones con memoria
(Leer y guardar)
6. Cuando las instrucciones llegan al thread (Parte del procesador
encargada de descomponer dichas instrucciones en micro-
operaciones) las sitúa en el Execution Trace Caché (Una caché
del microprocesador destinada a almacenar dichas micro-
operaciones hasta ser requeridas por el procesador), desde
donde son enviadas de tres en tres a la parte correspondiente
del procesador, pues como vimos cada una tenía una función
distinta. Por lo tanto, tendríamos aprovechado al máximo todo
nuestro procesador, o eso creeríamos, pero no es así.
Si ninguna de las micro-operaciones son, por ejemplo, del
primer tipo, con números enteros u operaciones lógicas,
tendríamos dos ALU inactivas. Y esto ocurre con relativa
frecuencia. Por lo tanto no obtenemos el mayor rendimiento de
nuestro microprocesador.
7. Hyper-Threading
Es una de las últimas tecnologías que ha incorporado
Intel en sus procesadores para conseguir, no una
mayor velocidad, sino un mayor rendimiento. Los
procesadores con hyper-threading mantienen la
misma velocidad que los que no lo tienen, pero
notaremos un gran cambio en la velocidad de
ejecución de los programas.
8. La tecnología Simultaneous Multi-Threading (SMT)
consiste en combinar en el Execution Trace Caché
las micro-operaciones de dos threads, ejecutando,
ahora sí, simultáneamente en un único procesador
dos hilos de trabajo diferentes al igual que ocurriría
en un sistema multiprocesador, con la intención de
poder asignar a cada parte de nuestro procesador
una micro-operación y así obtener realmente el
mayor rendimiento. La tecnología SMT aplicada a
los Xeon y Pentium 4 se llama Hyper-Threading.
12. Procesador de doble núcleo de Intel, dos
núcleos de procesamiento completos y el
rendimiento necesario para ejecutar varias
aplicaciones exigentes al mismo tiempo; o
bien permite el acceso simultáneo a los
recursos multimedia del PC a varias
personas
13. Está optimizado para las aplicaciones de
subprocesos múltiples y para la multitarea.
Puede ejecutar varias aplicaciones exigentes
simultáneamente.
Hasta 4 instrucciones simultáneas
Reserva caché para reducir la energía:
menos tráfico de inf.
Soporta Procesamiento de 64 bits
14. Ejecución dinámica ampliada Intel®, que permite
proporcionar una mayor cantidad de instrucciones por ciclo de
reloj a fin de mejorar el tiempo de ejecución y la eficiencia en el
consumo de energía
Función Intel® para gestión inteligente de la energía, que,
por sus características de diseño, incrementa la eficiencia en el
consumo de energía y la duración de la batería de su equipo
portátil
Acceso Intel® a memoria inteligente, que mejora el
desempeño del sistema mediante la optimización del uso del
ancho de banda de datos disponible
15. Caché Intel® inteligente avanzada, que
proporciona un subsistema de caché con un
desempeño más elevado y una mayor eficiencia.
Viene optimizada para procesadores multi-core y
dual-core
Intel® Advanced Digital Media Boost, que acelera
una amplia gama de aplicaciones, tales como video,
voz e imagen, procesamiento de fotografías, cifrado,
aplicaciones financieras, técnicas y científicas