Pentium (original)
El Pentium (también conocido como P5, su microarquitectura, o i586) es un microprocesador x86 de 32 bits de quinta generación que fue presentado por Intel el 22 de marzo de 1993, como la primera CPU de la marca Pentium. Era un conjunto de instrucciones compatible con el 80486, pero era un diseño de microarquitectura nuevo y muy diferente de iteraciones anteriores. El P5 Pentium fue la primera microarquitectura superescalar x86 y el primer microprocesador superescalar del mundo en estar en producción en masa, lo que significa que generalmente ejecuta al menos 2 instrucciones por reloj principalmente debido a un diseño de canalización de enteros duales que prioriza el diseño y que antes se creía imposible. implementar en una microarquitectura CISC. Las características adicionales incluyen una unidad de punto flotante más rápida, un bus de datos más amplio, cachés de datos y códigos separados, y muchas otras técnicas y características para mejorar el rendimiento y respaldar la seguridad, el cifrado y el multiprocesamiento para estaciones de trabajo y servidores en comparación con el siguiente mejor sector anterior. implementación del procesador estándar anterior, el Intel 80486.
Considerada la quinta generación principal en la línea de procesadores compatibles con 8086, su implementación y microarquitectura se denominó P5. Al igual que con todos los nuevos procesadores de Intel desde el Pentium, se agregaron algunas instrucciones nuevas para mejorar el rendimiento para tipos específicos de cargas de trabajo.
El Pentium fue el primer Intel x86 en integrar un sólido soporte de hardware para multiprocesamiento similar al de las grandes computadoras mainframe de IBM. Intel trabajó en estrecha colaboración con IBM para definir esta capacidad y luego Intel la diseñó en la microarquitectura P5. Esta nueva capacidad estaba ausente en las generaciones x86 anteriores y en las copias x86 de los competidores.
Para alcanzar su máximo potencial, los compiladores debían optimizarse para explotar el paralelismo de nivel de instrucción proporcionado por las nuevas canalizaciones duales superescalares y las aplicaciones debían volver a compilarse. Intel dedicó un esfuerzo y recursos considerables a trabajar con los proveedores de herramientas de desarrollo y los principales proveedores de software independientes (ISV) y empresas de sistemas operativos (SO) para optimizar sus productos para Pentium antes del lanzamiento del producto.
En octubre de 1996, se introdujo el Pentium MMX similar, que complementaba la misma microarquitectura básica con el conjunto de instrucciones MMX, cachés más grandes y algunas otras mejoras.
Los competidores incluyeron las familias Motorola 68040, Motorola 68060, PowerPC 601 y SPARC, MIPS, Alpha, la mayoría de las cuales también usaron una configuración superescalar de canalización de instrucción dual en orden en algún momento.
Intel descontinuó los procesadores Pentium P5 (vendidos como un producto más económico desde el lanzamiento del Pentium II en 1997) a principios de 2000 a favor del procesador Celeron, que también reemplazó a la marca 80486.
Desarrollo
La microarquitectura P5 fue diseñada por el mismo equipo de Santa Clara que diseñó el 386 y el 486. El trabajo de diseño comenzó en 1989; el equipo decidió utilizar una arquitectura superescalar, con caché en chip, punto flotante y predicción de bifurcación. El diseño preliminar se simuló con éxito por primera vez en 1990, seguido de la disposición del diseño. En ese momento, el equipo tenía varias docenas de ingenieros. El diseño se grabó o transfirió a silicio en abril de 1992, momento en el que comenzaron las pruebas beta. A mediados de 1992, el equipo P5 contaba con 200 ingenieros. Al principio, Intel planeó demostrar el P5 en junio de 1992 en la feria PC Expo y anunciar formalmente el procesador en septiembre de 1992, pero los problemas de diseño obligaron a cancelar la demostración y la presentación oficial del chip se retrasó hasta la primavera. de 1993.
John H. Crawford, arquitecto jefe del 386 original, codirigió el diseño del P5, junto con Donald Alpert, quien dirigió el equipo de arquitectura. Dror Avnon dirigió el diseño de la FPU. Vinod K. Dham fue gerente general del grupo P5.
El proyecto de arquitectura multinúcleo Larrabee de Intel utiliza un núcleo de procesador derivado de un núcleo P5 (P54C), mejorado con subprocesos múltiples, instrucciones de 64 bits y una unidad de procesamiento vectorial de 16 anchos. La microarquitectura Bonnell de bajo consumo de Intel empleada en los primeros núcleos del procesador Atom también utiliza una canalización dual en orden similar a P5.
Intel usó el nombre Pentium en lugar de 80586, porque descubrió que los números no pueden ser marcas registradas.
Mejoras sobre el i486
La microarquitectura P5 trae varios avances importantes sobre la arquitectura i486 anterior.
- Ejecución:
- Arquitectura Superscalar – El Pentium tiene dos datapaths (pipelines) que le permiten completar dos instrucciones por ciclo de reloj en muchos casos. La tubería principal (U) puede manejar cualquier instrucción, mientras que la otra (V) puede manejar las instrucciones simples más comunes. Algunos defensores del equipo de instrucciones reducidas (RISC) habían argumentado que el conjunto de instrucciones "complicado" x86 probablemente nunca sería implementado por una microarquitectura apretada, mucho menos por un diseño dual-pipeline. El 486 y el Pentium demostraron que esto era posible y factible.
- El bus de datos externo de 64 bits duplica la cantidad de información posible para leer o escribir en cada acceso a la memoria y, por lo tanto, permite al Pentium cargar su caché de código más rápido que el 80486; también permite un acceso y almacenamiento más rápidos de datos FPU de 64 bits y 80 bits.
- La separación de códigos y caches de datos disminuye los conflictos de lectura/escritura en comparación con el 486. Para reducir el tiempo de acceso y el costo de aplicación, ambos son de 2 vías asociativas, en lugar del único caché de 4 vías del 486. Una mejora relacionada en el Pentium es la capacidad de leer un bloque contiguo de la caché de código incluso cuando se divide entre dos líneas de caché (al menos 17 bytes en el peor caso).
- Una unidad de punto flotante mucho más rápida. Algunas instrucciones mostraron una enorme mejora, sobre todo el FMUL, con hasta 15 veces mayor rendimiento que en el 80486 FPU. El Pentium también es capaz de ejecutar una instrucción FXCH ST(x) en paralelo con una instrucción FPU ordinaria (aritmética o carga/store).
- Los adidores de direcciones de cuatro entradas permiten al Pentium reducir aún más latencia de cálculo de la dirección en comparación con el 80486. El Pentium puede calcular los modos de dirección completos con Serie de sesiones + Registro básico + stabled register + compensación inmediata en un solo ciclo; el 486 tiene una dirección de tres entradas solamente escalera, y por lo tanto debe dividir tales cálculos entre dos ciclos.
- El microcódigo puede emplear ambos oleoductos para permitir instrucciones de auto-repetición como REP MOVSW realizar una iteración cada ciclo del reloj, mientras que el 80486 necesitaba tres relojes por iteración (y los primeros x86 chips significativamente más que el 486). Además, la optimización del acceso a las primeras palabras de microcódigo durante las etapas de decodificación ayuda a hacer que varias instrucciones frecuentes se ejecuten considerablemente más rápidamente, especialmente en sus formas más comunes y en casos típicos. Algunos ejemplos son (486→Pentium, en ciclos de relojes): CALL (3→1), RET (5→2), cambios/rotates (2–3→1).
- Un multiplicador más rápido y totalmente basado en hardware hace instrucciones como MUL e IMUL varias veces más rápidas (y más predecibles) que en el 80486; el tiempo de ejecución se reduce de 13 a 42 ciclos de reloj a 10–11 para 32 bits.
- Interrupción virtualizada para acelerar el modo 8086 virtual.
- Predicción de la subdivisión
- Otras características:
- Características de depuración mejoradas con la introducción del puerto de depuración basado en procesador (ver Procesador de pene Debugging en el Manual de Desarrolladores, Vol 1).
- Características mejoradas de auto-prueba como el cheque de paridad de caché L1 (ver Estructura de caché en el Manual de Desarrolladores, Vol 1).
- Nuevas instrucciones: CPUID, CMPXCHG8B, RDTSC, RDMSR, WRMSR, RSM.
- Se eliminaron los registros de prueba TR0-TR7 y las instrucciones MOV para acceder a ellos.
- El Pentium MMX posterior también añadió el conjunto de instrucciones MMX, un entero básico instrucción individual, múltiples datos (SIMD) sistema de instrucciones de extensión comercializado para uso en aplicaciones multimedia. MMX no se puede utilizar simultáneamente con las instrucciones x87 FPU porque los registros fueron reutilizados (para permitir interruptores de contexto rápido). Las mejoras más importantes fueron la duplicación de los tamaños de la instrucción y el caché de datos y algunos cambios microarquitecturales para mejorar el rendimiento.
El Pentium se diseñó para ejecutar más de 100 millones de instrucciones por segundo (MIPS) y el modelo de 75 MHz pudo alcanzar los 126,5 MIPS en determinados puntos de referencia. La arquitectura Pentium generalmente ofrecía un poco menos del doble del rendimiento de un procesador 486 por ciclo de reloj en los puntos de referencia comunes. Las piezas 80486 más rápidas (con una microarquitectura ligeramente mejorada y un funcionamiento de 100 MHz) eran casi tan potentes como los Pentium de primera generación, y el AMD Am5x86, que a pesar de su nombre es en realidad una CPU de clase 486, era aproximadamente igual al Pentium 75 en cuanto a puro rendimiento ALU.
Fe de erratas
Las primeras versiones de los Pentium P5 de 60 a 100 MHz tenían un problema en la unidad de coma flotante que generaba resultados incorrectos (pero predecibles) en algunas operaciones de división. Esta falla, descubierta en 1994 por el profesor Thomas Nicely en Lynchburg College, Virginia, se hizo ampliamente conocida como el error Pentium FDIV y causó vergüenza para Intel, que creó un programa de intercambio para reemplazar los procesadores defectuosos.
En 1997, se descubrió otra errata que podía permitir que un programa malintencionado colapsara un sistema sin ningún privilegio especial, el "error F00F". Todos los procesadores de la serie P5 se vieron afectados y nunca se lanzaron pasos fijos, sin embargo, los sistemas operativos contemporáneos se parchearon con soluciones alternativas para evitar bloqueos.
Núcleos y escalones
El Pentium fue el principal microprocesador de Intel para computadoras personales a mediados de la década de 1990. El diseño original se volvió a implementar en procesos más nuevos y se agregaron nuevas características para mantener su competitividad y para abordar mercados específicos como las computadoras portátiles. Como resultado, hubo varias variantes de la microarquitectura P5.
P5
El primer núcleo del microprocesador Pentium recibió el nombre en código "P5". Su código de producto era 80501 (80500 para los primeros pasos Q0399). Había dos versiones, especificadas para operar a 60 MHz y 66 MHz respectivamente, usando Socket 4. Esta primera implementación del Pentium usaba una fuente de alimentación tradicional de 5 voltios (descendiente de los requisitos habituales de compatibilidad de la lógica transistor-transistor (TTL)). Contenía 3,1 millones de transistores y medía 16,7 mm por 17,6 mm para un área de 293,92 mm2. Se fabricó en un proceso bipolar complementario de metal-óxido-semiconductor (BiCMOS) de 0,8 μm. El diseño de 5 voltios dio como resultado un consumo de energía relativamente alto para su frecuencia de funcionamiento en comparación con los modelos inmediatamente posteriores.
P54C
Al P5 le siguió el P54C (80502) en 1994, con versiones especificadas para funcionar a 75, 90 o 100 MHz con una fuente de alimentación de 3,3 voltios. Marcando el cambio a Socket 5, este fue el primer procesador Pentium en operar a 3.3 voltios, reduciendo el consumo de energía, pero requiriendo regulación de voltaje en las placas base. Al igual que con los procesadores 486 de reloj más alto, se empleó un multiplicador de reloj interno a partir de aquí para permitir que el circuito interno funcionara a una frecuencia más alta que los buses de datos y direcciones externos, ya que es más complicado y engorroso aumentar la frecuencia externa, debido a restricciones físicas. También permitía el multiprocesamiento bidireccional y tenía un APIC local integrado y nuevas funciones de administración de energía. Contenía 3,3 millones de transistores y medía 163 mm2. Se fabricó en un proceso BiCMOS que se ha descrito como 0,5 μm y 0,6 μm debido a las diferentes definiciones.
P54CQS
Al P54C le siguió el P54CQS a principios de 1995, que funcionaba a 120 MHz. Fue fabricado en un proceso BiCMOS de 0,35 μm y fue el primer microprocesador comercial fabricado en un proceso de 0,35 μm. Su cantidad de transistores es idéntica a la del P54C y, a pesar del proceso más nuevo, también tenía un área de matriz idéntica. El chip se conectó al paquete mediante la unión de cables, que solo permite conexiones a lo largo de los bordes del chip. Un chip más pequeño habría requerido un rediseño del paquete, ya que hay un límite en la longitud de los cables y los bordes del chip estarían más alejados de las almohadillas del paquete. La solución fue mantener el chip del mismo tamaño, retener el pad-ring existente y solo reducir el tamaño del circuito lógico del Pentium para permitirle alcanzar frecuencias de reloj más altas.
P54CS
Al P54CQS le siguió rápidamente el P54CS, que funcionaba a 133, 150, 166 y 200 MHz, e introdujo el Socket 7. Contenía 3,3 millones de transistores, medía 90 mm2 y estaba fabricado en un proceso BiCMOS de 0,35 μm con cuatro niveles de interconexión.
P24T
El P24T Pentium OverDrive para sistemas 486 se lanzó en 1995 y se basaba en versiones de 3,3 V y 0,6 μm con un reloj de 63 u 83 MHz. Dado que estos usaban Socket 2/3, se tuvieron que hacer algunas modificaciones para compensar el bus de datos de 32 bits y el caché L2 integrado más lento de las placas base 486. Por lo tanto, estaban equipados con una memoria caché L1 de 32 KB (el doble que las CPU Pentium anteriores a P55C).
P55C
El P55C (o 80503) fue desarrollado por Intel's Research & Centro de Desarrollo en Haifa, Israel. Se vendió como Pentium con tecnología MMX (generalmente llamado simplemente Pentium MMX); aunque estaba basado en el núcleo P5, presentaba un nuevo conjunto de 57 "MMX" instrucciones destinadas a mejorar el rendimiento en tareas multimedia, como la codificación y decodificación de datos de medios digitales. La línea Pentium MMX se introdujo el 22 de octubre de 1996 y se lanzó en enero de 1997.
Las nuevas instrucciones funcionaron en nuevos tipos de datos: vectores empaquetados de 64 bits de ocho enteros de 8 bits, cuatro enteros de 16 bits, dos enteros de 32 bits o un entero de 64 bits. Entonces, por ejemplo, la instrucción PADDUSB (Packed ADD Unsigned Saturated Byte) agrega dos vectores, cada uno de los cuales contiene ocho enteros sin signo de 8 bits juntos, por elementos; cada adición que se desbordaría se satura, dando 255, el valor máximo sin signo que se puede representar en un byte. Estas instrucciones bastante especializadas generalmente requieren una codificación especial por parte del programador para que puedan ser utilizadas.
Otros cambios en el núcleo incluyen una canalización de 6 etapas (frente a 5 en P5) con una pila de retorno (realizada por primera vez en Cyrix 6x86) y mejor paralelismo, un decodificador de instrucciones mejorado, caché de datos L1 de 16 KB + caché de instrucciones L1 de 16 KB con asociatividad de 4 vías (vs. datos/instrucciones de L1 de 8 KB con 2 vías en P5), 4 búferes de escritura que ahora pueden ser utilizados por cualquiera de las canalizaciones (vs. uno correspondiente a cada tubería en P5) y se ha tomado un predictor de bifurcación mejorado del Pentium Pro, con un búfer de 512 entradas (frente a 256 en P5).
Contenía 4,5 millones de transistores y tenía un área de 140 mm2. Se fabricó en un proceso CMOS de 0,28 μm con los mismos pasos de metal que el proceso BiCMOS de 0,35 μm anterior, por lo que Intel lo describió como "0,35 μm" debido a su densidad de transistor similar. El proceso tiene cuatro niveles de interconexión.
Si bien el P55C siguió siendo compatible con el Socket 7, los requisitos de voltaje para alimentar el chip difieren de las especificaciones estándar del Socket 7. La mayoría de las placas base fabricadas para el zócalo 7 antes del establecimiento del estándar P55C no cumplen con el riel de doble voltaje requerido para el correcto funcionamiento de esta CPU (voltaje de núcleo de 2,8 voltios, voltaje de entrada/salida (E/S) de 3,3 voltios). Intel abordó el problema con los kits de actualización OverDrive que presentaban un intercalador con su propia regulación de voltaje.
Tillamook
Las CPU de portátiles Pentium MMX usaban un módulo móvil que contenía la CPU. Este módulo era una placa de circuito impreso (PCB) con la CPU conectada directamente a ella en un factor de forma más pequeño. El módulo se ajustó a la placa base de la computadora portátil y, por lo general, se instaló un disipador de calor que hizo contacto con el módulo. Sin embargo, con el Mobile Pentium MMX Tillamook de 0,25 μm (llamado así por una ciudad de Oregón), el módulo también contenía el conjunto de chips 430TX junto con la memoria estática de acceso aleatorio de 512 KB del sistema (SRAM) memoria caché.
Modelos y variantes
Nombre del código | P54CTB | ||||||
---|---|---|---|---|---|---|---|
Código de producto | PODPMT60X150 | PODPMT66X166 | PODPMT60X180 | PODPMT66X200 | |||
Tamaño del proceso (μm) | 0,355 | ||||||
Socket | Socket 5/7 | ||||||
Paquete | CPGA con regulador de calor, ventilador y tensión | ||||||
Velocidad del reloj (MHz) | 125 | 150 | 166 | 150 | 180 | 200 | |
Velocidad de autobús (MHz) | 50 | 60 | 66 | 50 | 60 | 66 | |
Actualización | Pentium 75 | Pentium 90 | Pentium 100 y 133 | Pentium 75 | Pentium 90, 120 y 150 | Pentium 100, 133 y 166 | |
TDP (max. W) | 15.6 | 15.6 | 15.6 | 18 | |||
Voltaje | 3.3 | 3.3 | 3.3 | 3.3 |
Nombre del código | P55C | Tillamook | |||||
---|---|---|---|---|---|---|---|
Código de producto | FV8050366200 | FV8050366233 | FV80503CSM66166 | GC80503CSM66166 | GC80503CS166EXT | FV80503CSM66266 | GC80503CSM66266 |
Tamaño del proceso (μm) | 0,355 | 0,25 | |||||
Velocidad del reloj (MHz) | 200 | 233 | 166 | 166 | 166 | 266 | 266 |
Velocidad de autobús (MHz) | 66 | 66 | 66 | 66 | 66 | 66 | 66 |
Paquete | PPGA | PPGA | PPGA | BGA | BGA | PPGA | BGA |
TDP (max. W) | 15.7 | 17 | 4.5 | 4.1 | 4.1 | 7.6 | 7.6 |
Voltaje | 2.8 | 2.8 | 1.9 | 1.8 | 1.8 | 1.9 | 2.0 |
Competidores
Después de la introducción del Pentium, competidores como NexGen, AMD, Cyrix y Texas Instruments anunciaron procesadores compatibles con Pentium en 1994. La revista CIO identificó al Nx586 de NexGen como el primer Pentium -CPU compatible, mientras que PC Magazine describió el Cyrix 6x86 como el primero. Estos fueron seguidos por el AMD K5, que se retrasó debido a dificultades de diseño. Más tarde, AMD compró NexGen para ayudar a diseñar el AMD K6, y National Semiconductor compró Cyrix. Los procesadores posteriores de AMD e Intel conservan la compatibilidad con el Pentium original.
Lista
- AMD K5, AMD K6
- Cyrix 6x86
- WinChip C6
- NexGen Nx586
- Montar mP6
Contenido relacionado
Ariete hidráulico
Hidrófono
Rodolfo diesel