IA-64 ( arquitectura Intel Itanium ) es la arquitectura del conjunto de instrucciones (ISA) de la familia Itanium de microprocesadores Intel de 64 bits, actualmente descontinuada . La especificación básica de la ISA se originó en Hewlett-Packard (HP) y posteriormente fue implementada por Intel en colaboración con HP. El primer procesador Itanium, con nombre en clave Merced , se lanzó en 2001.
La arquitectura Itanium se basa en el paralelismo explícito a nivel de instrucciones , donde el compilador decide qué instrucciones ejecutar en paralelo. Esto contrasta con las arquitecturas superescalares , que dependen del procesador para gestionar las dependencias de las instrucciones en tiempo de ejecución. En todos los modelos Itanium, hasta el Tukwila inclusive , los núcleos ejecutan hasta seis instrucciones por ciclo .
En 2008, Itanium fue la cuarta arquitectura de microprocesador más implementada para sistemas de clase empresarial , detrás de x86-64 , Power ISA y SPARC . [ 1 ]
En 2019, Intel anunció la descontinuación de las últimas CPU compatibles con la arquitectura IA-64. Las versiones de Microsoft Windows desde Server 2003 [ 2 ] hasta Server 2008 R2 [ 3 ] eran compatibles con IA-64; las versiones posteriores no lo eran. El kernel de Linux lo admitió durante mucho más tiempo, pero dejó de admitirlo en la versión 6.7 en 2024 (aunque todavía era compatible en Linux 6.6 LTS ). Solo unos pocos otros sistemas operativos, como HP-UX , OpenVMS y FreeBSD , alguna vez admitieron IA-64; el soporte de HP-UX terminó en diciembre de 2025; OpenVMS todavía lo admite, pero FreeBSD dejó de admitirlo en FreeBSD 11.
Historia

Desarrollo
En 1989, HP comenzó a preocuparse de que las arquitecturas de computación de conjunto de instrucciones reducido (RISC) se estuvieran acercando a un límite de procesamiento de una instrucción por ciclo . Tanto los investigadores de Intel como los de HP habían estado explorando opciones de arquitectura de computadoras para diseños futuros y, por separado, comenzaron a investigar un nuevo concepto conocido como palabra de instrucción muy larga (VLIW) [ 4 ] que surgió de la investigación de la Universidad de Yale a principios de la década de 1980. [ 5 ]
VLIW es un concepto de arquitectura informática (similar a RISC y CISC ) donde una sola palabra de instrucción contiene múltiples instrucciones codificadas en una palabra de instrucción muy larga para facilitar que el procesador ejecute varias instrucciones en cada ciclo de reloj. Las implementaciones típicas de VLIW dependen en gran medida de compiladores sofisticados para determinar en tiempo de compilación qué instrucciones pueden ejecutarse simultáneamente y la planificación adecuada de estas instrucciones para su ejecución, así como para ayudar a predecir la dirección de las operaciones de bifurcación. El valor de este enfoque radica en realizar más trabajo útil en menos ciclos de reloj y simplificar los requisitos de hardware para la planificación de instrucciones del procesador y la predicción de bifurcaciones, aunque esto conlleva un aumento en la complejidad, el costo y el consumo de energía del procesador a cambio de una ejecución más rápida.
Producción
Durante este período, HP comenzó a creer que ya no era rentable para las empresas de sistemas empresariales individuales, como la suya propia, desarrollar microprocesadores propietarios. Intel también había estado investigando diversas opciones arquitectónicas para ir más allá del conjunto de instrucciones x86 y así satisfacer las necesidades de servidores empresariales de gama alta y computación de alto rendimiento (HPC).
Intel y HP se asociaron en 1994 para desarrollar la arquitectura IA-64, utilizando una variación de los conceptos de diseño VLIW que Intel denominó explícitamente computación de instrucciones paralelas (EPIC). El objetivo de Intel era aprovechar la experiencia que HP había desarrollado en sus primeros trabajos con VLIW, junto con la suya propia, para desarrollar una línea de productos de gran volumen dirigida a los sistemas de gama alta mencionados anteriormente, que pudiera venderse a todos los fabricantes de equipos originales (OEM). Por su parte, HP deseaba poder adquirir procesadores estándar fabricados con la tecnología de fabricación en masa y de proceso contemporánea de Intel, que fueran superiores a sus procesadores PA-RISC.
Intel tomó la delantera en el proceso de diseño y comercialización, mientras que HP contribuyó a la definición de ISA, la microarquitectura Merced/Itanium y Itanium 2. El año previsto originalmente para la entrega del primer producto de la familia Itanium, Merced, era 1998. [ 4 ]
Marketing
Los esfuerzos de marketing de productos y participación de la industria de Intel fueron sustanciales y lograron victorias de diseño con la mayoría de los fabricantes de equipos originales de servidores empresariales, incluidos aquellos basados en procesadores RISC en ese momento. Los analistas de la industria predijeron que IA-64 dominaría en servidores, estaciones de trabajo y computadoras de escritorio de gama alta, y eventualmente reemplazaría a las arquitecturas RISC y CISC para todas las aplicaciones de propósito general. [ 6 ] [ 7 ] Compaq y Silicon Graphics decidieron abandonar el desarrollo posterior de las arquitecturas Alpha y MIPS respectivamente a favor de migrar a IA-64. [ 8 ]
Para 1997, era evidente que la arquitectura IA-64 y el compilador eran mucho más difíciles de implementar de lo que se pensaba inicialmente, y la entrega de Itanium comenzó a retrasarse. [ 9 ] Dado que Itanium fue el primer procesador EPIC, el desarrollo se topó con más problemas imprevistos de los que el equipo estaba acostumbrado. Además, el concepto EPIC dependía de capacidades del compilador que nunca se habían implementado antes, por lo que se necesitaba más investigación. [ 10 ]
Varios grupos desarrollaron sistemas operativos para la arquitectura, incluyendo Microsoft Windows , Unix y sistemas similares a Unix como Linux , HP-UX , FreeBSD , Solaris , [ 11 ] [ 12 ] [ 13 ] Tru64 UNIX , [ 8 ] y Monterey/64 [ 14 ] (los tres últimos fueron cancelados antes de llegar al mercado). En 1999, Intel lideró la formación de un consorcio industrial de código abierto para portar Linux a IA-64 al que llamaron "Trillium" (y luego renombrado "Trillian" debido a un problema de marca registrada), que fue liderado por Intel e incluyó a Caldera Systems , CERN , Cygnus Solutions , Hewlett-Packard, IBM, Red Hat , SGI , SuSE , TurboLinux y VA Linux Systems . Como resultado, se entregó un Linux IA-64 funcional antes de lo previsto y fue el primer sistema operativo en ejecutarse en los nuevos procesadores Itanium.
Intel anunció el nombre oficial del procesador, Itanium , el 4 de octubre de 1999. [ 15 ] A las pocas horas, el nombre Itanic se acuñó en un grupo de noticias de Usenet como un juego de palabras con el nombre Titanic , el transatlántico "insumergible" que se hundió en su viaje inaugural en 1912. [ 16 ]
Al día siguiente, el 5 de octubre de 1999, AMD anunció sus planes para extender el conjunto de instrucciones x86 de Intel para incluir un modo de 64 bits totalmente compatible con versiones anteriores, revelando además la nueva arquitectura x86 de 64 bits de AMD, en la que la compañía ya había trabajado, que se incorporaría al próximo microprocesador de octava generación de AMD, con nombre en clave SledgeHammer . [ 17 ] AMD también indicó que las especificaciones completas de la arquitectura y más detalles estarían disponibles en agosto de 2000. [ 18 ]
Dado que AMD nunca fue invitada a contribuir a la arquitectura IA-64 y cualquier tipo de licencia parecía improbable, la extensión de arquitectura AMD64 de AMD se posicionó desde el principio como una forma evolutiva de agregar capacidades de computación de 64 bits a la arquitectura x86 existente, al tiempo que seguía siendo compatible con el código x86 de 32 bits heredado , en contraposición al enfoque de Intel de crear una arquitectura de 64 bits completamente nueva e incompatible con x86 con IA-64.
Fin de vida
En enero de 2019, Intel anunció que Kittson sería descontinuado, con una fecha límite para pedidos en enero de 2020 y una fecha límite para envíos en julio de 2021. [ 19 ] [ 20 ] En noviembre de 2023, se eliminó la compatibilidad con IA-64 del kernel de Linux y desde entonces se mantiene fuera del árbol . [ 21 ] [ 22 ] [ 23 ]
Arquitectura
Intel ha documentado ampliamente el conjunto de instrucciones de Itanium [ 24 ] y la prensa técnica ha proporcionado resúmenes. [ 6 ] [ 9 ]
La arquitectura ha sido renombrada varias veces a lo largo de su historia. HP la llamó originalmente PA-WideWord . Intel la llamó más tarde IA-64 , luego Arquitectura de Procesador Itanium (IPA), [ 25 ] antes de establecerse en Arquitectura Intel Itanium , pero todavía se la conoce ampliamente como IA-64 .
Se trata de una arquitectura explícitamente paralela de 64 bits con gran cantidad de registros. La palabra de datos base es de 64 bits, direccionable por bytes. El espacio de direcciones lógicas es de 2⁶⁴ bytes. La arquitectura implementa predicción , especulación y predicción de bifurcaciones . Utiliza ventanas de registro de tamaño variable para el paso de parámetros. Este mismo mecanismo se utiliza también para permitir la ejecución paralela de bucles. La especulación, la predicción, la predicación y el cambio de nombre están bajo el control del compilador: cada palabra de instrucción incluye bits adicionales para ello. Este enfoque es la característica distintiva de la arquitectura.
La arquitectura implementa un gran número de registros: [ 26 ] [ 27 ] [ 28 ]
- 128 registros enteros generales , que son de 64 bits más un bit de trampa ("NaT", que significa "no es una cosa") utilizados para la ejecución especulativa . 32 de estos son estáticos, los otros 96 se apilan usando ventanas de registro de tamaño variable o rotan para bucles segmentados. Siempre lee 0.
gr0 - 128 registros de punto flotante . Los registros de punto flotante tienen 82 bits de longitud para preservar la precisión de los resultados intermedios. En lugar de un bit de trampa "NaT" dedicado como los registros enteros, los registros de punto flotante tienen un valor de trampa llamado "NaTVal" ("Valor de cosa no es"), similar a (pero distinto de) NaN . Estos también tienen 32 registros estáticos y 96 registros con ventana o rotativos. siempre lee +0.0, y siempre lee +1.0.
fr0fr1 - 64 registros de predicado de un bit. Estos tienen 16 registros estáticos y 48 registros con ventana o rotativos. Siempre lee 1 (verdadero).
pr0 - 8 registros de ramificación, para las direcciones de saltos indirectos. se establece en la dirección de retorno cuando se llama a una función con .
br0br.call - 128 registros de propósito especial (o de "aplicación"), que son de interés principalmente para el núcleo y no para las aplicaciones ordinarias. Por ejemplo, un registro apunta
bspa la segunda pila, que es donde el hardware volcará automáticamente los registros cuando la ventana de registros se complete.
Cada palabra de instrucción de 128 bits se denomina paquete y contiene tres ranuras , cada una con una instrucción de 41 bits , además de una plantilla de 5 bits que indica el tipo de instrucción en cada ranura. Estos tipos son: unidad M (instrucciones de memoria), unidad I (ALU entera, instrucciones enteras no ALU o instrucciones extendidas inmediatas largas), unidad F (instrucciones de punto flotante) o unidad B (instrucciones de salto o instrucciones extendidas de salto largo). La plantilla también codifica puntos de parada que indican la existencia de una dependencia de datos entre los datos anteriores y posteriores al punto de parada; estos puntos de parada pueden aparecer después de cualquier ranura (restringido únicamente por las plantillas disponibles), no solo al final de un paquete. Todas las instrucciones entre un par de puntos de parada constituyen un grupo de instrucciones , independientemente de la cantidad de paquetes que abarquen, y deben estar libres de muchos tipos de dependencias de datos; este conocimiento permite al procesador ejecutar instrucciones en paralelo sin tener que realizar su propio análisis de datos complejo, ya que dicho análisis ya se realizó al escribir las instrucciones.
Dentro de cada ranura, casi todas las instrucciones son predicadas, especificando un registro predicado cuyo valor (verdadero o falso) determinará si la instrucción se ejecuta. Las instrucciones predicadas que siempre deben ejecutarse se basan en , que siempre se lee como verdadero.pr0
El lenguaje ensamblador y el formato de instrucciones IA-64 se diseñaron deliberadamente para ser escritos principalmente por compiladores, no por humanos. Las instrucciones deben agruparse en conjuntos de tres, asegurando que coincidan con una plantilla permitida. Las instrucciones deben incluir pausas entre ciertos tipos de dependencias de datos, y estas pausas solo pueden utilizarse en lugares limitados según las plantillas permitidas.
Ejecución de instrucciones
El mecanismo de búsqueda puede leer hasta dos paquetes por ciclo de reloj desde la caché L1 a la tubería. Cuando el compilador aprovecha al máximo esta capacidad, el procesador puede ejecutar seis instrucciones por ciclo de reloj. El procesador cuenta con treinta unidades de ejecución funcionales en once grupos. Cada unidad puede ejecutar un subconjunto específico del conjunto de instrucciones y lo hace a una velocidad de una instrucción por ciclo, a menos que la ejecución se detenga esperando datos. Si bien no todas las unidades de un grupo ejecutan subconjuntos idénticos del conjunto de instrucciones, las instrucciones comunes pueden ejecutarse en varias unidades.
Los grupos de unidades de ejecución incluyen:
- Seis ALU de propósito general, dos unidades de enteros, una unidad de desplazamiento.
- Cuatro unidades de caché de datos
- Seis unidades multimedia, dos unidades de desplazamiento en paralelo, una unidad de multiplicación en paralelo, un contador de población.
- Dos unidades de multiplicación y acumulación de punto flotante de 82 bits , dos unidades de multiplicación y acumulación de punto flotante SIMD (dos operaciones de 32 bits cada una) [ 29 ]
- Tres sucursales
Idealmente, el compilador suele agrupar las instrucciones en conjuntos de seis que se ejecutan simultáneamente. Dado que las unidades de punto flotante implementan una operación de multiplicación y acumulación , una sola instrucción de punto flotante puede realizar el trabajo de dos instrucciones cuando la aplicación requiere una multiplicación seguida de una suma: esto es muy común en el procesamiento científico. En estos casos, el procesador puede ejecutar cuatro FLOPs por ciclo. Por ejemplo, el Itanium de 800 MHz tenía una potencia teórica de 3,2 GFLOPS y el Itanium 2 más rápido, de 1,67 GHz, alcanzaba los 6,67 GFLOPS.
En la práctica, el procesador suele estar infrautilizado, ya que no todas las ranuras se llenan con instrucciones útiles debido, por ejemplo, a dependencias de datos o limitaciones en las plantillas de paquetes disponibles. El código más denso posible requiere 42,6 bits por instrucción, en comparación con los 32 bits por instrucción de los procesadores RISC tradicionales de la época, y las operaciones nulas debidas a ranuras desperdiciadas reducen aún más la densidad del código. Generar instrucciones adicionales para cargas especulativas e indicaciones para bifurcaciones y caché de forma óptima resulta poco práctico, ya que un compilador no puede predecir el contenido de los diferentes niveles de caché en un sistema que ejecuta múltiples procesos y recibe interrupciones.
Arquitectura de memoria
Entre 2002 y 2006, los procesadores Itanium 2 compartían una jerarquía de caché común. Contaban con 16 KB de caché de instrucciones de nivel 1 y 16 KB de caché de datos de nivel 1. La caché L2 era unificada (tanto para instrucciones como para datos) y tenía un tamaño de 256 KB. La caché de nivel 3 también era unificada y su tamaño variaba entre 1,5 MB y 24 MB. La caché L2 de 256 KB contenía la lógica suficiente para gestionar las operaciones de semáforo sin interferir con la unidad aritmético-lógica (ALU) principal .
La memoria principal se accede a través de un bus a un chipset externo . El bus del Itanium 2 se denominó inicialmente bus McKinley, pero ahora se suele llamar bus Itanium. La velocidad del bus ha aumentado progresivamente con cada nuevo lanzamiento de procesador. El bus transfiere 2 × 128 bits por ciclo de reloj, por lo que el bus McKinley de 200 MHz transfería 6,4 GB/s, y el bus Montecito de 533 MHz transfiere 17,056 GB/s [ 30 ].
Cambios arquitectónicos
Los procesadores Itanium lanzados antes de 2006 contaban con soporte de hardware para la arquitectura IA-32 , lo que permitía la compatibilidad con aplicaciones de servidor antiguas. Sin embargo, el rendimiento del código IA-32 era mucho peor que el del código nativo y también inferior al de los procesadores x86 de la época. En 2005, Intel desarrolló la capa de ejecución IA-32 (IA-32 EL), un emulador de software que ofrecía un mejor rendimiento. Por lo tanto, con Montecito, Intel eliminó el soporte de hardware para el código IA-32.
En 2006, con el lanzamiento de Montecito , Intel realizó una serie de mejoras a la arquitectura básica del procesador, entre las que se incluyen: [ 31 ]
- Multihilo por hardware: Cada núcleo del procesador mantiene el contexto para dos hilos de ejecución. Cuando un hilo se bloquea durante el acceso a la memoria, el otro puede ejecutarse. Intel denomina a esto "multihilo grueso" para distinguirlo de la " tecnología hyper-threading " que Intel integró en algunos microprocesadores x86 y x86-64 .
- Compatibilidad de hardware con la virtualización : Intel incorporó la tecnología de virtualización Intel (Intel VT-i), que proporciona asistencia de hardware para las funciones básicas de virtualización. La virtualización permite que un hipervisor de software ejecute varias instancias del sistema operativo en el procesador simultáneamente.
- Mejoras en la caché: Montecito añadió una caché L2 dividida, que incluía una caché L2 dedicada de 1 MB para instrucciones. La caché L2 original de 256 KB se convirtió en una caché de datos dedicada. Montecito también incluyó hasta 12 MB de caché L3 integrada en el chip.
Véase también
Referencias
- ↑ Morgan, Timothy (27 de mayo de 2008). "El sector de servidores disfruta del ciclo de actualización a X64 en el primer trimestre" . IT Jungle . Archivado del original el 3 de marzo de 2016. Consultado el 29 de octubre de 2008 .
- ↑ «Windows Server 2003 - BetaWiki» .
- ↑ «Windows Server 2008 R2 - BetaWiki» .
- 1 2 "Inventando Itanium: Cómo HP Labs ayudó a crear la arquitectura de chips de próxima generación" . HP Labs . Junio de 2001. Archivado del original el 4 de marzo de 2012. Recuperado el 23 de marzo de 2007 .
- ↑ Fisher, Joseph A. (1983). «Arquitecturas de instrucciones muy largas y el ELI-512». Actas del 10.º simposio internacional anual sobre arquitectura de computadoras . Simposio Internacional sobre Arquitectura de Computadoras. Nueva York, NY, EE. UU.: Association for Computing Machinery (ACM). págs. 140–150 . doi : 10.1145/800046.801649 . ISBN 0-89791-101-6.
- 1 2 De Gelas, Johan (2005-11-09). "Itanium–¿Hay luz al final del túnel?" . AnandTech . Archivado del original el 2012-05-03 . Recuperado el 2007-03-23 .
- ↑ Takahashi, Dean (8 de mayo de 2009). "Entrevista de despedida: Craig Barrett, presidente saliente de Intel, habla sobre los asuntos pendientes de la industria" . VentureBeat . Archivado del original el 21 de abril de 2018. Consultado el 17 de mayo de 2009 .
- 1 2 "Itanium: Una historia aleccionadora" . Noticias tecnológicas en ZDNet . 7 de diciembre de 2005. Archivado del original el 9 de febrero de 2008. Consultado el 1 de noviembre de 2007 .
- 1 2 Shankland, Stephen (1999-07-08). "El chip Merced de Intel podría retrasarse aún más" . Noticias de CNET . Archivado del original el 24-10-2012 . Recuperado el 16-10-2008 .
- ↑ "Microprocesadores : VLIW, el pasado" (PDF) . Universidad de Nueva York . 18 de abril de 2002. Archivado (PDF) del original el 27 de junio de 2018. Consultado el 26 de junio de 2018 .
- ↑ Vijayan, Jaikumar (1999-09-01). "Solaris para IA-64 llegará este otoño" . Computerworld . Archivado del original el 15 de enero de 2000.
- ↑ Wolfe, Alexander (1999-09-02). "Se están realizando esfuerzos en la lógica central para Merced" . EE Times . Recuperado el 26 de octubre de 2025 .
- ↑ "Sun presenta el kit de desarrollo Solaris para Intel para acelerar el desarrollo de aplicaciones en Solaris; las galardonadas herramientas de Sun ayudan a los proveedores de software independientes a desarrollar fácilmente para Solaris en Intel hoy" . Business Wire . 10 de marzo de 1998. Archivado del original el 20 de septiembre de 2004. Consultado el 16 de octubre de 2008 .
- ↑ "El chip de próxima generación supera un hito clave" . CNET News.com . 17 de septiembre de 1999. Archivado del original el 9 de agosto de 2011. Consultado el 1 de noviembre de 2007 .
- ↑ Kanellos, Michael (4 de octubre de 1999). "Intel nombra al chip de Merced Itanium" . CNET News.com . Archivado del original el 30 de diciembre de 2015. Consultado el 30 de abril de 2007 .
- ↑ Finstad, Kraig (1999-10-04). "Re:Itanium" . Grupo de noticias : comp.sys.mac.advocacy . Recuperado el 2013-12-19 .
- ↑ "AMD revela nuevas tecnologías en el Foro de Microprocesadores" (Comunicado de prensa). AMD. 5 de octubre de 1999. Archivado del original el 8 de marzo de 2012. Consultado el 15 de agosto de 2022 .
- ↑ "AMD publica la especificación arquitectónica x86-64; permite la migración a la computación de 64 bits impulsada por el mercado" (Comunicado de prensa). AMD. 10 de agosto de 2000. Archivado del original el 8 de marzo de 2012. Consultado el 15 de agosto de 2022 .
- ↑ Anton Shilov (31 de enero de 2019). "Intel descontinuará el procesador Itanium 9700 'Kittson', el último de los Itanium" . AnandTech . Archivado del original el 16 de abril de 2019. Consultado el 16 de abril de 2019 .
- ↑ "Notificación de cambio de producto" (PDF) . 30 de enero de 2019. Archivado (PDF) del original el 1 de febrero de 2019. Consultado el 9 de mayo de 2019 .
- ↑ Larabel, Michael (2 de noviembre de 2023). "Se eliminó la compatibilidad con Intel Itanium IA-64 con el kernel de Linux 6.7" . www.phoronix.com . Phoronix . Consultado el 4 de noviembre de 2023 .
- ↑ "linux-ia64" . GitHub . Consultado el 1 de octubre de 2024.
Mantenimiento y desarrollo del sistema operativo Linux para la arquitectura Intel Itanium (IA-64).
- ↑ "EPIC Linux" . Consultado el 1 de octubre de 2024 .
- ↑ "Manual del desarrollador de software de la arquitectura Intel Itanium" . Archivado del original el 8 de abril de 2019. Consultado el 8 de abril de 2019 .
- ↑ "Boletín informativo de HPWorks" . Septiembre de 2001. Archivado del original el 20 de noviembre de 2008. Consultado el 24 de enero de 2008 .
- ↑ Chen, Raymond (27 de julio de 2015). "El procesador Itanium, parte 1: Calentamiento" . Archivado del original el 1 de noviembre de 2018. Recuperado el 31 de octubre de 2018 .
- ↑ Chen, Raymond (28 de julio de 2015). "El procesador Itanium, parte 2: codificación de instrucciones, plantillas y paradas" . Archivado del original el 1 de noviembre de 2018. Recuperado el 31 de octubre de 2018 .
- ↑ Chen, Raymond (29 de julio de 2015). "El procesador Itanium, parte 3: La convención de llamadas de Windows, cómo se pasan los parámetros" . Archivado del original el 1 de noviembre de 2018. Consultado el 31 de octubre de 2018 .
- ↑ Sharangpani, Harsh; Arora, Ken (2000). "Microarquitectura del procesador Itanium". IEEE Micro . págs. 38–39.
- ↑ Cataldo, Anthony (30 de agosto de 2001). "Intel equipa el procesador Itanium para un rendimiento más rápido" . EE Times . Archivado del original el 1 de agosto de 2020. Consultado el 19 de enero de 2020 .
- ↑ "Anuncio de producto de Intel" . Sitio web de Intel . Archivado del original el 7 de noviembre de 2007. Consultado el 16 de mayo de 2007 .
Enlaces externos
- Procesadores Intel Itanium en Wayback Machine (archivado el 21/01/2015)
- Página principal de servidores de integridad de Hewlett Packard Enterprise archivada el 15/05/2017 en Wayback Machine .
- Especificaciones de Intel Itanium
- Información microarquitectónica no documentada sobre Itanium 2 en Wayback Machine (archivada el 23/02/2007).
- Tutorial de IA-64, incluyendo ejemplos de código.
- Documentación de Itanium en HP
- Introducciones relacionadas con la informática en 2001
- Arquitecturas de conjuntos de instrucciones
- Microprocesadores Intel
- Informática con palabras de instrucción muy largas
- computadoras de 64 bits