Anatomía de la arquitectura “Haswell” (parte I)
El tiempo de la especulación acerca de lo que podrían o no podrían hacer los chips pertenecientes a la cuarta generación Core de Intel (más conocida como “Haswell”) ya pasó. Los chips ya están en el mercado y estamos en condiciones de comenzar a analizar lo que Intel colocó debajo del capot de sus nuevos procesadores para que sean capaces de cumplir todo lo que prometieron.
La micro arquitectura Haswell de Intel expande a la generación Ivy Bridge agregando algunas nuevas características, tales como un nuevo motor gráfico, el nuevo conjunto de instrucciones AVX2, nuevos puestos de dispatch, entre otras novedades.
La mala noticia para los usuarios acostumbrados a actualizar sus equipos simplemente reemplazando el procesador por uno de nueva generación es que los nuevos chips no podrán instalarse en los sockets de las motherboards existentes; los modelos para PCs de escritorio utilizan el socket LGA1150.
La microarquitectura Haswell expande a la generación Ivy Bridge incorporando las siguientes características:
- Soporte para el conjunto de instrucciones AVX2.
- Soporte para el conjunto de instrucciones TSX.
- Soporte para nuevas instrucciones de manipulación de bits.
- Dos puertos adicionales de dispatch que conectan la estación de reserva con las unidades de ejecución.
- Un nuevo motor de video 2D.
- Un nuevo motor gráfico DirectX 11.1.
- Nuevos estados de energía S0ix que consiguen ahorros similares a los que se logran con los actuales estados de sueño, pero que hacen que la CPU se reactive (o se “despierte”) 20 veces más rápido que con los estados tradicionales de sueño. Estos nuevos estados se usan cuando la computadora está encendida pero el microprocesador se encuentra ocioso.
Nuevas instrucciones
El conjunto de instrucciones AVX2 expande el conjunto existente AVX para permitir el uso de registros de 256 bits con operaciones enteras. Con el conjunto de instrucciones AVX, las operaciones con números enteros están limitadas a registros de 128 bits, y los registros de 256 bits sólo se usan en operaciones de punto flotante.
Adicionalmente, el conjunto de instrucciones AVX2 soporta instrucciones de fusión de multiplicación y suma (FMA, Fused Multiply-Add) de tres operandos (FMA3), lo cual logra aumentar la complejidad de las operaciones que pueden ejecutarse con una única instrucción. Estas instrucciones ya eran soportadas por los chips de AMD basados en la microarquitectura Piledriver.
También se agregaron instrucciones de manipulación de bits (BMI) de 15 bits. Estas instrucciones pueden usarse para criptografía, indexado y conversión de datos.
El tercer conjunto de nuevas instrucciones agregadas en la microarquitectura Haswell se denomina TSX, por Transactional Synchronization eXtensions, y se usan para resolver cuestiones de sincronización de datos cuando la misma información puede ser usada por diferentes procesos corriendo al mismo tiempo.
Todos los nuevos conjuntos de instrucciones son descriptos en detalle en la guía Intel Architecture Instruction Set Extensions Programming Reference.
En los próximos capítulos de esta nota veremos las otras importantes características que diferencian a Haswell de Ivy Bridge: nuevos puertos de dispatch y unidades de ejecución, y nuevos motores de gráficos 2D y 3D.