Procesadores INTEL de los últimos 11 años
Enviado por mendezliliana • 4 de Noviembre de 2013 • 5.977 Palabras (24 Páginas) • 303 Visitas
Los Procesadores INTEL de los últimos 11 años
MMX es un Conjunto de instrucciones SIMD diseñado por Intel e introducido en 1997 en sus microprocesadores Pentium MMX. Fue desarrollado a partir de un set introducido en el Intel i860. Ha sido soportado por la mayoría de fabricantes de micros x86 desde entonces.
Se ha presentado como un acrónimo de MultiMedia eXtension o Multiple Math o Matrix Math eXtension, pero oficialmente sólo es un juego de consonantes sin significado, usado con la única intención de poder poner cortapisas legales de marca registrada a los desarrollos de terceros que trataran de usarlo.
MMX agregó 8 nuevos registros a la arquitectura, conocidos como MM0 al MM7 (en adelante llamados MMn). En realidad, estos nuevos registros son meros alias de los registros de la pila de la FPU x87. Por ello cualquier cosa que se haga con la pila de la FPU afecta a los registros MMX. A diferencia de la pila de coma flotante, los registros MMn son fijos en vez de relativos, por lo que pueden accederse aleatoriamente.
Cada uno de los registros MMn es un número entero de 64 bits. Sin embargo, uno de los conceptos principales del juego de instrucciones MMX es el concepto del tipo de datos compactados (packed data types), que significa en lugar de usar el registro completo para un solo número entero de 64 bits (palabra cuádruple o quadword), se puede usar para almacenar dos enteros de 32 bits (palabra doble o doubleword), cuatro enteros de 16 bits (palabra o word) u ocho enteros de 8 bits (byte u octeto).
Para simplificar el diseño y evitar modificar el sistema operativo para preservar el estado adicional a través de los interruptores de contexto, MMX reutiliza los ocho registros existentes de la FPU. Por ello es muy difícil trabajar con la FPU y MMX a la vez. Para maximizar el rendimiento, los programadores deben utilizar el procesador exclusivamente en un modo o el otro, retrasando todo lo posible el lento paso de un modo a otro.
Dado que los registros MMX son sólo alias de la pila FPU, y que cada uno de los registros de la pila tiene un ancho de 80 bits, los 16 bit superiores de los registros de pila no son utilizados por MMX, y esos bits se ponen todos a 1, aparecen como NaN o infinitos desde el punto de vista de la coma flotante. Esto hace más fácil decir si se está trabajando con datos en coma flotante o en MMX.
Otro problema para MMX es que sólo soporta operaciones con números enteros. Cada uno de los ocho registros de 64 bits del vector MMX, alias de los ocho registros existentes de coma flotante, pueden representar 2 números de 32 bits, cuatro de 16 u 8 de 8 bits. Durante el diseño original del i860, el uso de matemáticas de vector entero tenía sentido (las operaciones 2D y 3D requieren de ambas), pero cuando esta funcionalidad se pasa a las GPUs, MMX pierde interés y la coma flotante se vuelve mucho más importante. Por otra parte, sus nuevas operaciones aritméticas incluyen las operaciones aritméticas de saturación, lo que podría acelerar perceptiblemente el procesamiento digital de señales. Por ello mejora el rendimiento de la multimedia.
Intel solucionó esos problemas más adelante con SSE, un conjunto de instrucciones SIMD más ampliado con soporte de coma flotante de 32 bits y un sistema adicional de vectores de registros de 128 bits que hacen más sencillo usar SIMD y FPU al mismo tiempo. SSE es a su vez ampliado por SSE2, que también extiende las instrucciones MMX que pueden operar con registros XMM de 128 bits y recientemente con SSE3, introducido con la Intel Core Microarchitecture. Incluir cualquiera de estos conjuntos implica incluir MMX.
Intel y su mayor competidor AMD llegaron a un acuerdo de compatibilidad por el que éste último sacó al mercado microprocesadores con el juego de instrucciones MMX, los procesadores AMD K6. Más tarde AMD daría un paso más, añadiendo a sus procesadores un nuevo juego de instrucciones para operaciones en coma flotante: 3DNow!.
Intel Pentium Pro
El Pentium Pro es la sexta generación de arquitectura x86 de los microprocesadores de Intel, cuya meta era remplazar al Intel Pentium en toda la gama de aplicaciones, pero luego se centró como chip en el mundo de los servidores y equipos de sobremesa de gama alta. Posteriormente Intel lo dejó de lado a favor de su gama de procesadores de altas prestaciones llamada Xeon.
Fue puesto a la venta en noviembre de 1995. En su lanzamiento usaba un enorme Socket 8 de forma rectangular.
A pesar del nombre, el Pentium Pro es realmente diferente de su procesador antecesor, el Intel Pentium, ya que estaba basado en el entonces nuevo núcleo P6 (que se vería modificado para luego ser usado en el Intel Pentium II, Intel Pentium III e Intel Pentium M). Además utilizaba el Socket 8, en lugar del Socket 5 o 7 de los Pentium de la época. Las características del núcleo del P6 era la ejecución desordenada, ejecución especulativa y una tubería adicional para instrucciones sencillas. La ejecución especulativa (era la ejecución provisional de código después de un salto que no se sabía si iba a ser realizado), incrementaba considerablemente el fallo de despreciar un salto, y el Pentium Pro en aquel entonces usaba un algoritmo de predicción de saltos más sofisticado que el Pentium. Por la misma razón el Pentium Pro también introducía una instrucción de movimiento condicional (llamado cmov) que en alguno de los casos también podía ser usada para evitar la necesidad de una instrucción de salto.
El rendimiento del código de 32 bits era excelente, pero el Pentium Pro a menudo iba más despacio que un Pentium cuando ejecutaba código o sistemas operativos de 16 bits.
El Pentium Pro al principio tenía una caché desde 256 KB hasta 512 KB en el encapsulado, hasta la versión de 1MB introducida posteriormente. Todas las versiones eran caras, particularmente aquellas que tenían más de 256KB de caché. Los planes de la caché integrada en el mismo encapsulado eran únicos. El procesador y la cache estaban en núcleos distintos en el mismo encapsulado y conectados estrechamente por un bus rápido. Los dos núcleos (que eran bastante grandes para los estándares de aquel día) tenían que estar pegados entre sí en la primera fase de la producción, para testearlos lo antes posible. Esto quiere decir que un simple desperfecto en algún núcleo hacía necesario descartar el montaje entero, que era una de las razones de la baja producción y del alto coste de los Pentium Pro.
Las discusiones siguientes de la futura planificación del producto con Microsoft, hizo que Intel tomara la decisión de optimizar el Pentium Pro para el código de 32 bits. En consecuencia tenía poco rendimiento ejecutando código de 16 bits, y entonces Windows 95 resultó ser extensamente de 16 bits, y el Pentium Pro no estaba bien
...