La microarquitectura Intel Core (provisionalmente denominada como Next Generation Micro-architecture , [1] y desarrollada como Merom ) [2] es una microarquitectura de procesador multinúcleo lanzada por Intel a mediados de 2006. Es una evolución importante con respecto a Yonah , la iteración anterior de la serie de microarquitectura P6 que comenzó en 1995 con Pentium Pro . También reemplazó a la microarquitectura NetBurst , que sufría de un alto consumo de energía e intensidad de calor debido a una tubería ineficiente diseñada para una alta velocidad de reloj . A principios de 2004, la nueva versión de NetBurst (Prescott) necesitaba una potencia muy alta para alcanzar los relojes que necesitaba para un rendimiento competitivo, lo que la hacía inadecuada para el cambio a CPU de doble/múltiple núcleo . El 7 de mayo de 2004, Intel confirmó la cancelación de los próximos NetBurst, Tejas y Jayhawk . [3] Intel venía desarrollando Merom, la evolución de 64 bits del Pentium M , desde 2001, [2] y decidió expandirlo a todos los segmentos del mercado, sustituyendo a NetBurst en ordenadores de sobremesa y servidores. Heredó de Pentium M la elección de un pipeline corto y eficiente, entregando un rendimiento superior a pesar de no alcanzar los altos relojes de NetBurst. [a]
Los primeros procesadores que utilizaron esta arquitectura recibieron los nombres en código ' Merom ', ' Conroe ' y ' Woodcrest '; Merom es para computación móvil, Conroe es para sistemas de escritorio y Woodcrest es para servidores y estaciones de trabajo. Si bien son arquitectónicamente idénticos, las tres líneas de procesadores difieren en el zócalo utilizado, la velocidad del bus y el consumo de energía. Los primeros procesadores de escritorio y móviles basados en Core se denominaron Core 2 , y luego se expandieron a las marcas de gama baja Pentium Dual-Core , Pentium y Celeron ; mientras que los procesadores basados en Core para servidores y estaciones de trabajo se denominaron Xeon .
La microarquitectura Core volvió a velocidades de reloj más bajas y mejoró el uso tanto de los ciclos de reloj disponibles como de la energía en comparación con la microarquitectura NetBurst anterior de las CPU de marca Pentium 4 y D. [4] La microarquitectura Core proporciona etapas de decodificación, unidades de ejecución, cachés y buses más eficientes , lo que reduce el consumo de energía de las CPU de marca Core 2 al tiempo que aumenta su capacidad de procesamiento. Las CPU de Intel han variado ampliamente en consumo de energía según la velocidad de reloj, la arquitectura y el proceso de semiconductores, que se muestra en las tablas de disipación de energía de la CPU .
Al igual que las últimas CPU NetBurst, los procesadores basados en Core cuentan con múltiples núcleos y soporte de virtualización de hardware (comercializados como Intel VT-x ), Intel 64 y SSSE3 . Sin embargo, los procesadores basados en Core no tienen la tecnología hyper-threading como en los procesadores Pentium 4. Esto se debe a que la microarquitectura Core se basa en la microarquitectura P6 utilizada por Pentium Pro, II, III y M.
La caché L1 de la microarquitectura Core, con 64 KB de caché L1 por núcleo (32 KB de datos L1 + 32 KB de instrucciones L1), es tan grande como en Pentium M, en comparación con los 32 KB de Pentium II/III (16 KB de datos L1 + 16 KB de instrucciones L1). La versión para consumidores también carece de una caché L3 como en el núcleo Gallatin del Pentium 4 Extreme Edition, aunque está presente exclusivamente en las versiones de gama alta de los Xeon basados en Core. Tanto la caché L3 como el hyper-threading se reintrodujeron nuevamente en la línea de consumidores en la microarquitectura Nehalem .
Si bien la microarquitectura Core es una revisión arquitectónica importante, se basa en parte en la familia de procesadores Pentium M diseñada por Intel Israel. [5] La cadena de producción de Core/ Penryn tiene 14 etapas de longitud [6] , menos de la mitad de la de Prescott . El sucesor de Penryn, Nehalem, tiene una penalización por error de predicción de rama dos ciclos mayor que Core/Penryn. [7] [8] Core puede soportar idealmente una tasa de ejecución de hasta 4 instrucciones por ciclo (IPC), en comparación con la capacidad de 3 IPC de las microarquitecturas P6 , Pentium M y NetBurst . La nueva arquitectura es un diseño de núcleo dual con una caché L2 compartida diseñada para un máximo rendimiento por vatio y una escalabilidad mejorada.
Una nueva tecnología incluida en el diseño es Macro-Ops Fusion , que combina dos instrucciones x86 en una única microoperación . Por ejemplo, una secuencia de código común como una comparación seguida de un salto condicional se convertiría en una única microoperación. Sin embargo, esta tecnología no funciona en modo de 64 bits.
El núcleo puede ejecutar de forma especulativa cargas antes de los almacenamientos anteriores con direcciones desconocidas. [9]
Otras nuevas tecnologías incluyen un rendimiento de 1 ciclo (2 ciclos antes) de todas las instrucciones SSE de 128 bits y un nuevo diseño de ahorro de energía. Todos los componentes funcionarán a velocidad mínima, aumentando la velocidad dinámicamente según sea necesario (similar a la tecnología de ahorro de energía Cool'n'Quiet de AMD y la propia tecnología SpeedStep de Intel de procesadores móviles anteriores). Esto permite que el chip produzca menos calor y minimice el uso de energía.
Para la mayoría de las CPU Woodcrest, el bus frontal (FSB) funciona a 1333 MT/s ; sin embargo, esto se reduce a 1066 MT/s para las variantes de gama baja de 1,60 y 1,86 GHz. [10] [11] La variante móvil Merom estaba inicialmente destinada a funcionar a un FSB de 667 MT/s, mientras que la segunda ola de Meroms, que soportaban FSB de 800 MT/s, se lanzó como parte de la plataforma Santa Rosa con un zócalo diferente en mayo de 2007. El Conroe orientado a escritorio comenzó con modelos que tenían un FSB de 800 MT/s o 1066 MT/s con una línea de 1333 MT/s lanzada oficialmente el 22 de julio de 2007.
El consumo de energía de estos procesadores es muy bajo: el consumo de energía promedio debe estar en el rango de 1 a 2 vatios en las variantes de voltaje ultra bajo, con potencias de diseño térmico (TDP) de 65 vatios para Conroe y la mayoría de los Woodcrest, 80 vatios para el Woodcrest de 3,0 GHz y 40 o 35 vatios para el Woodcrest de bajo voltaje. En comparación, un procesador AMD Opteron 875HE de 2,2 GHz consume 55 vatios, mientras que la línea de eficiencia energética Socket AM2 se ajusta al sobre térmico de 35 vatios (especificado de una manera diferente, por lo que no es directamente comparable). Merom, la variante móvil, está listada con 35 vatios de TDP para versiones estándar y 5 vatios de TDP para versiones de voltaje ultra bajo (ULV). [ cita requerida ]
Anteriormente, Intel había anunciado que ahora se centraría en la eficiencia energética, en lugar del rendimiento bruto. Sin embargo, en el Intel Developer Forum (IDF) de la primavera de 2006, Intel anunció ambas cosas. Algunas de las cifras prometidas fueron:
Los procesadores de la microarquitectura Core se pueden clasificar por número de núcleos, tamaño de caché y socket; cada combinación de estos tiene un nombre de código único y un código de producto que se utiliza en varias marcas. Por ejemplo, el nombre de código "Allendale" con código de producto 80557 tiene dos núcleos, 2 MB de caché L2 y utiliza el socket 775 de escritorio, pero se ha comercializado como Celeron, Pentium, Core 2 y Xeon, cada uno con diferentes conjuntos de características habilitadas. La mayoría de los procesadores móviles y de escritorio vienen en dos variantes que difieren en el tamaño de la caché L2, pero la cantidad específica de caché L2 en un producto también se puede reducir deshabilitando partes en el momento de la producción. Los procesadores de doble núcleo Tigerton y todos los procesadores de cuatro núcleos excepto - son módulos multichip que combinan dos matrices. Para los procesadores de 65 nm, el mismo código de producto puede ser compartido por procesadores con matrices diferentes, pero la información específica sobre cuál se utiliza se puede derivar de la versión paso a paso.
Los procesadores Core 2 originales se basan en los mismos chips que se pueden identificar como CPUID Family 6 Model 15. Dependiendo de su configuración y empaquetado, sus nombres en código son Conroe ( LGA 775 , 4 MB de caché L2), Allendale (LGA 775, 2 MB de caché L2), Merom ( Socket M , 4 MB de caché L2) y Kentsfield ( módulo multichip , LGA 775, 2x4MB de caché L2). Los procesadores Merom y Allendale con características limitadas se encuentran en los procesadores Pentium Dual Core y Celeron , mientras que Conroe, Allendale y Kentsfield también se venden como procesadores Xeon .
Los nombres de código adicionales para los procesadores basados en este modelo son Woodcrest (LGA 771, 4 MB de caché L2), Clovertown (MCM, LGA 771, 2×4 MB de caché L2) y Tigerton (MCM, Socket 604 , 2×4 MB de caché L2), todos los cuales se comercializan únicamente bajo la marca Xeon.
Los procesadores Conroe-L y Merom-L se basan en el mismo núcleo que Conroe y Merom, pero sólo contienen un único núcleo y 1 MB de caché L2, lo que reduce significativamente el coste de producción y el consumo de energía del procesador a expensas del rendimiento en comparación con la versión de doble núcleo. Se utiliza sólo en los procesadores Core 2 Solo U2xxx de voltaje ultrabajo y en los procesadores Celeron y se identifica como CPUID familia 6 modelo 22.
En el ciclo Tick-Tock de Intel , el "Tick" de 2007/2008 fue la reducción de la microarquitectura Core a 45 nanómetros como modelo CPUID 23. En los procesadores Core 2, se utiliza con los nombres de código Penryn (Socket P), Wolfdale (LGA 775) y Yorkfield (MCM, LGA 775), algunos de los cuales también se venden como procesadores Celeron, Pentium y Xeon. En la marca Xeon, los nombres de código Wolfdale-DP y Harpertown se utilizan para los MCM basados en LGA 771 con dos o cuatro núcleos Wolfdale activos.
Arquitectónicamente, los procesadores Core 2 de 45 nm cuentan con SSE4.1 y un nuevo motor de división/reproducción aleatoria. [12]
Los chips vienen en dos tamaños, con 6 MB y 3 MB de caché L2. La versión más pequeña se denomina comúnmente Penryn-3M y Wolfdale-3M y Yorkfield-6M, respectivamente. La versión de un solo núcleo de Penryn, que aquí se indica como Penryn-L, no es un modelo independiente como Merom-L, sino una versión del modelo Penryn-3M con un solo núcleo activo.
El procesador Xeon "Dunnington" (CPUID Family 6, modelo 29) está estrechamente relacionado con Wolfdale, pero viene con seis núcleos y un caché L3 en chip y está diseñado para servidores con Socket 604, por lo que se comercializa solo como Xeon, no como Core 2.
La microarquitectura Core utiliza varios niveles de pasos (steppings), que a diferencia de las microarquitecturas anteriores, representan mejoras incrementales y diferentes conjuntos de características como el tamaño de la memoria caché y los modos de bajo consumo. La mayoría de estos pasos se utilizan en todas las marcas, generalmente deshabilitando algunas funciones y limitando las frecuencias de reloj en los chips de gama baja.
Los pasos con un tamaño de caché reducido utilizan un esquema de nombres independiente, lo que significa que las versiones ya no están en orden alfabético. Se han utilizado pasos adicionales en muestras internas y de ingeniería, pero no se incluyen en las tablas.
Muchos de los procesadores Core 2 y Xeon de gama alta utilizan módulos multichip de dos chips para obtener tamaños de caché mayores o más de dos núcleos.
Los primeros pasos de ES/QS son: B0 (CPUID 6F4h), B1 (6F5h) y E0 (6F9h).
Los procesadores Stepping B2/B3, E1 y G0 del modelo 15 (cpuid 06fx) son pasos evolutivos de la matriz Merom/Conroe estándar con caché L2 de 4 MB, y el Stepping E1 de corta duración solo se utiliza en procesadores móviles. Los Stepping L2 y M0 son los chips Allendale con solo 2 MB de caché L2, lo que reduce el costo de producción y el consumo de energía para procesadores de gama baja.
Los pasos G0 y M0 mejoran el consumo de energía en estado inactivo en el estado C1E y agregan el estado C2E en los procesadores de escritorio. En los procesadores móviles, todos los cuales admiten estados inactivos de C1 a C4, los pasos E1, G0 y M0 agregan compatibilidad con la plataforma Mobile Intel 965 Express ( Santa Rosa ) con Socket P , mientras que los pasos B2 y L2 anteriores solo aparecen para la plataforma Mobile Intel 945 Express ( actualización de Napa ) basada en Socket M.
El modelo 22 stepping A1 (cpuid 10661h) marca un cambio de diseño significativo, con un solo núcleo y 1 MB de caché L2, lo que reduce aún más el consumo de energía y el costo de fabricación para el extremo inferior. Al igual que los steppings anteriores, A1 no se utiliza con la plataforma Mobile Intel 965 Express.
Los pasos G0, M0 y A1 reemplazaron en su mayoría a todos los pasos anteriores en 2008. En 2009, se introdujo un nuevo paso G2 para reemplazar al paso B2 original. [16]
En el modelo 23 (cpuid 01067xh), Intel comenzó a comercializar steppings con caché L2 completa (6 MB) y reducida (3 MB) al mismo tiempo, y les dio valores de cpuid idénticos. Todos los steppings tienen las nuevas instrucciones SSE4.1 . Stepping C1/M1 fue una versión de corrección de errores de C0/M0 específicamente para procesadores de cuatro núcleos y solo se usó en ellos. Stepping E0/R0 agrega dos nuevas instrucciones (XSAVE/XRSTOR) y reemplaza todos los steppings anteriores.
En los procesadores móviles, el paso C0/M0 solo se utiliza en la plataforma Intel Mobile 965 Express ( actualización de Santa Rosa ), mientras que el paso E0/R0 es compatible con la plataforma posterior Intel Mobile 4 Express ( Montevina ).
El modelo 30 stepping A1 (cpuid 106d1h) agrega un caché L3 y seis núcleos en lugar de los dos habituales, lo que genera un tamaño de chip inusualmente grande de 503 mm2 . [ 17] A febrero de 2008, solo había encontrado su lugar en la serie Xeon 7400 de gama alta ( Dunnington ).
Conroe, Conroe XE y Allendale utilizan Socket LGA 775 ; sin embargo, no todas las placas base son compatibles con estos procesadores.
Los chipsets compatibles son:
El modelo Yorkfield XE QX9770 (45 nm con FSB de 1600 MT/s) tiene una compatibilidad limitada con el chipset: solo son compatibles las placas base X38, P35 (con overclocking ) y algunas placas base X48 y P45 de alto rendimiento. Se han ido lanzando actualizaciones de BIOS gradualmente para proporcionar compatibilidad con la tecnología Penryn, y el QX9775 solo es compatible con la placa base Intel D5400XS. El modelo Wolfdale-3M E7200 también tiene una compatibilidad limitada (al menos el chipset Xpress 200 es incompatible [ cita requerida ] ).
Aunque una placa base puede tener el conjunto de chips necesario para soportar Conroe, algunas placas base basadas en los conjuntos de chips mencionados anteriormente no lo soportan. Esto se debe a que todos los procesadores basados en Conroe requieren un nuevo conjunto de características de suministro de energía especificado en Voltage Regulator-Down (VRD) 11.0. Este requisito es el resultado del consumo de energía significativamente menor de Conroe, en comparación con las CPU Pentium 4/D a las que reemplazó. Una placa base que tenga un conjunto de chips compatible y VRD 11 es compatible con los procesadores Conroe, pero incluso así algunas placas necesitarán una BIOS actualizada para reconocer el FID (identificador de frecuencia) y el VID (identificador de voltaje) de Conroe.
A diferencia de los diseños Pentium 4 y Pentium D anteriores , la tecnología Core 2 obtiene mayores beneficios de que la memoria funcione de manera sincronizada con el bus frontal (FSB). Esto significa que para las CPU Conroe con FSB de 1066 MT/s, el rendimiento de memoria ideal para DDR2 es PC2-8500 . En algunas configuraciones, el uso de PC2-5300 en lugar de PC2-4200 puede realmente disminuir el rendimiento. Solo cuando se pasa a PC2-6400 hay un aumento significativo del rendimiento. Si bien los modelos de memoria DDR2 con especificaciones de sincronización más estrictas mejoran el rendimiento, la diferencia en los juegos y aplicaciones del mundo real suele ser insignificante. [18]
En condiciones óptimas, el ancho de banda de memoria proporcionado debe coincidir con el ancho de banda del FSB, es decir, una CPU con una velocidad de bus nominal de 533 MT/s debe emparejarse con una RAM que coincida con la misma velocidad nominal, por ejemplo DDR2 533 o PC2-4200. Un mito común [ cita requerida ] es que la instalación de RAM intercalada ofrecerá el doble de ancho de banda. Sin embargo, como máximo, el aumento del ancho de banda al instalar RAM intercalada es de aproximadamente un 5-10%. El AGTL+ PSB utilizado por todos los procesadores NetBurst y los procesadores Core 2 actuales y de mediano plazo (pre- QuickPath ) proporcionan una ruta de datos de 64 bits. Los chipsets actuales proporcionan un par de canales DDR2 o DDR3.
En trabajos que requieren grandes cantidades de acceso a la memoria, los procesadores Core 2 de cuatro núcleos pueden beneficiarse significativamente [19] del uso de memoria PC2-8500 , que funciona a la misma velocidad que el FSB de la CPU; esta no es una configuración oficialmente compatible, pero varias placas base la admiten.
El procesador Core 2 no requiere el uso de memoria DDR2. Si bien los chipsets Intel 975X y P965 requieren esta memoria, algunas placas base y chipsets admiten tanto procesadores Core 2 como memoria DDR . Al utilizar memoria DDR, el rendimiento puede verse reducido debido al menor ancho de banda de memoria disponible.
La unidad de gestión de memoria (MMU) Core 2 en los procesadores X6800, E6000 y E4000 no funciona según las especificaciones implementadas en generaciones anteriores de hardware x86 . Esto puede causar problemas, muchos de ellos graves problemas de seguridad y estabilidad, con el software del sistema operativo existente . La documentación de Intel afirma que sus manuales de programación se actualizarán "en los próximos meses" con información sobre los métodos recomendados para gestionar el buffer de traducción (TLB) para Core 2 para evitar problemas, y admite que, "en casos excepcionales, la invalidación incorrecta del TLB puede dar lugar a un comportamiento impredecible del sistema, como bloqueos o datos incorrectos". [20]
Entre las cuestiones planteadas:
Se dice que las erratas de Intel Ax39, Ax43, Ax65, Ax79, Ax90 y Ax99 son particularmente graves. [21] 39, 43, 79, que pueden causar un comportamiento impredecible o el bloqueo del sistema, se han corregido en pasos recientes .
Entre quienes han declarado que las erratas son particularmente serias están Theo de Raadt de OpenBSD [22] y Matthew Dillon de DragonFly BSD [23] . Linus Torvalds adoptó una opinión opuesta , calificando el problema de TLB de "totalmente insignificante" y añadiendo: "El mayor problema es que Intel debería haber documentado mejor el comportamiento de TLB". [24]
Microsoft ha publicado la actualización KB936357 para solucionar el problema mediante una actualización del microcódigo [25] sin afectar el rendimiento. También hay actualizaciones del BIOS disponibles para solucionar el problema.