La microarquitectura NetBurst , [1] [2] llamada P68 dentro de Intel , fue la sucesora de la microarquitectura P6 en la familia x86 de unidades centrales de procesamiento (CPU) fabricadas por Intel. La primera CPU en utilizar esta arquitectura fue el Pentium 4 con núcleo Willamette , lanzado el 20 de noviembre de 2000 y el primero de los CPU Pentium 4 ; todas las variantes posteriores de Pentium 4 y Pentium D también se han basado en NetBurst. A mediados de 2001, Intel lanzó el núcleo Foster , que también se basaba en NetBurst, cambiando así también las CPU Xeon a la nueva arquitectura. Las CPU Celeron basadas en Pentium 4 también utilizan la arquitectura NetBurst.
NetBurst fue reemplazado por la microarquitectura Core basada en P6, lanzada en julio de 2006.
La microarquitectura NetBurst incluye características como Hyper-Threading , Hyper Pipelined Technology, Rapid Execution Engine, Execution Trace Cache y un sistema de reproducción , todos ellos introducidos por primera vez en esta microarquitectura en particular, y algunos nunca volvieron a aparecer después.
Hyper-Threading es la implementación de subprocesamiento simultáneo multihilo (SMT) patentada por Intel que se utiliza para mejorar la paralelización de los cálculos (realizar varias tareas a la vez) realizados en procesadores x86. Intel lo introdujo con los procesadores NetBurst en 2002. Más tarde, Intel lo reintrodujo en la microarquitectura Nehalem tras su ausencia en el Core 2.
Los núcleos Northwood y Willamette cuentan con un bus frontal externo (FSB) que funciona a 100 MHz y transfiere cuatro bits por ciclo de reloj, lo que le permite alcanzar una velocidad efectiva de 400 MHz. Las revisiones posteriores del núcleo Northwood, junto con el núcleo Prescott ( y derivados ), tienen un bus frontal efectivo de 800 MHz (bombeo cuádruple de 200 MHz). [1]
Los núcleos Willamette y Northwood contienen un pipeline de instrucciones de 20 etapas . Esto es un aumento significativo en el número de etapas en comparación con el Pentium III, que solo tenía 10 etapas en su pipeline. El núcleo Prescott aumentó la longitud del pipeline a 31 etapas. Un inconveniente de los pipelines más largos es el aumento en el número de etapas que deben rastrearse en caso de una predicción errónea de una rama, lo que aumenta la penalización de dicha predicción errónea. Para abordar este problema, Intel ideó el Rapid Execution Engine y ha invertido mucho en su tecnología de predicción de ramas, que según Intel reduce las predicciones erróneas de ramas en un 33% con respecto a Pentium III . [3] En realidad, el pipeline más largo resultó en una eficiencia reducida a través de un menor número de instrucciones por reloj (IPC) ejecutadas, ya que no se pudieron alcanzar velocidades de reloj lo suficientemente altas para compensar la pérdida de rendimiento debido a un aumento mayor de lo esperado en el consumo de energía y el calor.
Con esta tecnología, las dos unidades lógicas aritméticas (ALU) en el núcleo de la CPU tienen doble bombeo, lo que significa que en realidad funcionan al doble de la frecuencia de reloj del núcleo. Por ejemplo, en un procesador de 3,8 GHz, las ALU funcionarán efectivamente a 7,6 GHz. La razón detrás de esto es compensar en general el bajo recuento de IPC; además, esto mejora considerablemente el rendimiento entero de la CPU. Intel también reemplazó el desplazador de barril de alta velocidad con una unidad de ejecución de desplazamiento/rotación que funciona a la misma frecuencia que el núcleo de la CPU. La desventaja es que ciertas instrucciones ahora son mucho más lentas (relativa y absolutamente) que antes, lo que dificulta la optimización para múltiples CPU de destino. Un ejemplo son las operaciones de desplazamiento y rotación, que sufren la falta de un desplazador de barril que estaba presente en todas las CPU x86 a partir del i386, incluido el principal procesador competidor, Athlon .
Dentro de la caché L1 de la CPU, Intel incorporó su caché de seguimiento de ejecución. Almacena microoperaciones decodificadas , de modo que al ejecutar una nueva instrucción, en lugar de buscar y decodificar la instrucción nuevamente, la CPU accede directamente a las microoperaciones decodificadas desde la caché de seguimiento, ahorrando así un tiempo considerable. Además, las microoperaciones se almacenan en caché en su ruta de ejecución prevista, lo que significa que cuando la CPU busca instrucciones desde la caché, ya están presentes en el orden de ejecución correcto. [4] Intel introdujo más tarde un concepto similar pero más simple con Sandy Bridge llamado caché de microoperaciones (caché UOP).
El sistema de repetición es un subsistema del procesador Intel Pentium 4 que captura operaciones que el programador del procesador ha enviado por error para su ejecución. Las operaciones capturadas por el sistema de repetición se vuelven a ejecutar en un bucle hasta que se cumplan las condiciones necesarias para su correcta ejecución.
La arquitectura Intel NetBurst permite insertar sugerencias de predicción de saltos en el código para indicar si se debe realizar o no la predicción estática, mientras que esta función se abandonó en los procesadores Intel posteriores. Según Intel, el algoritmo de predicción de saltos de NetBurst es un 33 % mejor que el de P6. [5] [6]
A pesar de estas mejoras, la arquitectura NetBurst creó obstáculos para los ingenieros que intentaban aumentar su rendimiento. Con esta microarquitectura, Intel planeó alcanzar velocidades de reloj de 10 GHz, [7] pero debido al aumento de las velocidades de reloj, Intel enfrentó problemas cada vez mayores para mantener la disipación de energía dentro de límites aceptables. Intel alcanzó una barrera de velocidad de 3,8 GHz en noviembre de 2004, pero tuvo problemas al intentar alcanzar incluso eso. Intel abandonó NetBurst en 2006 después de que los problemas de calor se volvieran inaceptables y luego desarrolló la microarquitectura Core , inspirada en el núcleo P6 del Pentium Pro hasta el Tualatin Pentium III -S, y más directamente el Pentium M.
Intel reemplazó el núcleo Willamette original con una versión rediseñada de la microarquitectura NetBurst llamada Northwood en enero de 2002. El diseño de Northwood combinó un mayor tamaño de caché, un proceso de fabricación más pequeño de 130 nm y Hyper-Threading (aunque inicialmente todos los modelos excepto el modelo de 3,06 GHz tenían esta característica deshabilitada) para producir una versión más moderna y de mayor rendimiento de la microarquitectura NetBurst.
En febrero de 2004, Intel presentó Prescott , una revisión más radical de la microarquitectura. El núcleo Prescott se produjo en un proceso de 90 nm e incluyó varios cambios de diseño importantes, incluida la adición de una caché aún más grande (de 512 KB en el Northwood a 1 MB y 2 MB en Prescott 2M), una secuencia de instrucciones mucho más profunda (31 etapas en comparación con 20 en el Northwood ), un predictor de bifurcación muy mejorado , la introducción de las instrucciones SSE3 y, más tarde, la implementación de Intel Extended Memory 64 Technology (EM64T), la marca de Intel para su implementación compatible de la versión x86-64 de 64 bits de la microarquitectura x86 (al igual que con el hyper-threading, todos los chips Prescott con la marca Pentium 4 HT tienen hardware para soportar esta característica, pero inicialmente solo estaba habilitada en los procesadores Xeon de gama alta , antes de ser introducida oficialmente en los procesadores con la marca registrada Pentium ). El consumo de energía y la disipación de calor también se convirtieron en problemas importantes con Prescott , que rápidamente se convirtió en el procesador x86 y x86-64 de un solo núcleo de Intel que más se calentaba y que más energía consumía. Las preocupaciones por el consumo de energía y el calor impidieron que Intel lanzara un Prescott con una frecuencia de reloj superior a 3,8 GHz, junto con una versión móvil del núcleo con una frecuencia de reloj superior a 3,46 GHz.
Intel también lanzó un procesador de doble núcleo basado en la microarquitectura NetBurst llamado Pentium D. El primer núcleo Pentium D recibió el nombre en código Smithfield , que en realidad son dos núcleos Prescott en una sola matriz, y más tarde Presler , que consta de dos núcleos Cedar Mill en dos matrices separadas ( Cedar Mill es la matriz reducida de 65 nm de Prescott ).
Intel tenía sucesores basados en Netburst en desarrollo llamados Tejas y Jayhawk con entre 40 y 50 etapas de pipeline, pero finalmente decidió reemplazar NetBurst con la microarquitectura Core , [8] [9] lanzada en julio de 2006; estos sucesores se derivaron más directamente del Pentium Pro ( microarquitectura P6 ). El 8 de agosto de 2008 marcó el final de los procesadores Intel basados en NetBurst. [10] La razón para el abandono de NetBurst fueron los graves problemas de calor causados por las altas velocidades de reloj. Si bien algunos procesadores basados en Core y Nehalem tienen TDP más altos , la mayoría de los procesadores son multinúcleo, por lo que cada núcleo emite una fracción del TDP máximo, y los procesadores de un solo núcleo basados en Core con la frecuencia de reloj más alta emiten un máximo de 27 W de calor. Los procesadores Pentium 4 de escritorio con la frecuencia de reloj más rápida (de un solo núcleo) tenían TDP de 115 W, en comparación con los 88 W de las versiones móviles con la frecuencia de reloj más rápida. Sin embargo, con la introducción de nuevas versiones, los TDP de algunos modelos se redujeron con el tiempo.
La microarquitectura Nehalem, sucesora de la microarquitectura Core, se suponía que sería una evolución de NetBurst según las hojas de ruta de Intel que datan de 2000. [ cita requerida ] Nehalem reimplementa ciertas características de NetBurst, incluida la tecnología Hyper-Threading introducida por primera vez en el núcleo Northwood de 3,06 GHz y el caché L3, implementado por primera vez en un procesador de consumo en el núcleo Gallatin utilizado en Pentium 4 Extreme Edition.