Estaba leyendo sobre la historia de la computadora y me encontré con los procesadores IA-64 (Itanium). Sonaban realmente interesantes y estaba confundido sobre por qué Intel decidiría abandonarlos.
La capacidad de elegir explícitamente las 2 instrucciones que desea ejecutar en ese ciclo es una gran idea, especialmente al escribir su programa en ensamblado, por ejemplo, un gestor de arranque más rápido.
Los cientos de registros deberían ser convincentes para cualquier programador de ensamblaje. Esencialmente, podría almacenar todas las variables de funciones en los registros si no llama a ninguna otra.
La capacidad de hacer instrucciones como esta:
(qp) xor r1 = r2, r3 ; r1 = r2 XOR r3
(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
versus tener que hacer:
; eax = r1
; ebx = r2
; ecx = r3
mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3
mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3
Escuché que no se podía comparar con versiones anteriores de x86, pero no podía solucionarlo simplemente agregando el circuito Pentium y simplemente agregando un indicador de procesador que lo cambiaría al modo Itanium (como cambiar al modo Protegido o Largo)
Todas las grandes cosas al respecto les habrían dado un salto gigantesco por delante de AMD.
¿Algunas ideas?
Lamentablemente, esto significa que necesitará un compilador muy avanzado para hacer esto. O incluso uno por modelo específico de la CPU. (Por ejemplo, una versión más nueva de Itanium con una función adicional requeriría un compilador diferente).
Cuando estaba trabajando en un proyecto WinForms (el objetivo solo tenía .NET 2.0) en Visual Studio 2010, tenía un objetivo de compilación de IA-64. Eso significa que hay un tiempo de ejecución .NET que se pudo compilar para IA-64 y un tiempo de ejecución .NET significa Windows. Además, la respuesta de Hamilton menciona Windows NT. Tener un sistema operativo completo como Windows NT significa que hay un compilador capaz de generar código de máquina IA-64.
fuente
Respuestas:
El rendimiento fue muy decepcionante en comparación con las expectativas y no se vendió bien en comparación con las arquitecturas x86 de Intel.
Intel me convenció para construir mi shell Hamilton C en Itanium con Windows NT en algún momento alrededor del año 2000 para una feria comercial. Itaniums era difícil de encontrar, así que usé una VPN para una máquina en su laboratorio. Después de haber creado versiones para NT en x86, MIPS, Alpha y PowerPC, el "puerto" era trivial, solo pequeños ajustes principalmente en mis archivos MAKE. Creo que me llevó tal vez media hora.
Pero el rendimiento fue realmente decepcionante, definitivamente a través de la VPN, y aún decepcionante cuando llegué a la feria y pude probarlo allí en persona. Itanium no fue a ninguna parte porque no era un gran producto y nadie lo compró.
Adicional:
Durante un tiempo, Intel promocionó mi experiencia de portar al Itanium usando su experiencia de desarrollo remoto de VPN en su sitio web. Desaparecido pero capturado en archive.org, esto es lo que dice en sus preguntas frecuentes remotas :
En el " estudio de caso " dice que construí una versión de Itanium porque los clientes lo reclamaban. Pero no recuerdo haber vendido nunca una copia de Itanium. Los vendí por todo lo demás, incluido PowerPC (¿y cuántos de los que ejecutan NT suponen que hubo?), Nunca por Itanium.
fuente
Respuesta rápida: bajo rendimiento. Intel intentó lanzar un producto revolucionario cuando deberían haber evolucionado al producto que deseaban.
Más específicamente: el procesador no fue lo suficientemente rápido en circunstancias generales. Intel lanzó el procesador justo cuando la brecha de velocidad de procesador a memoria se estaba ampliando. Itanium, al ser un procesador de Conjunto de Instrucciones Reducidas (RISC), requería más bytes por instrucción que su primo, las variantes x86. El aumento de la carga de memoria hizo que el procesador funcionara lentamente.
Todo esto fue exasperado por toda la arquitectura siendo, esencialmente, un primer lanzamiento. Si bien RISC en sí no era una idea nueva, muchos de los componentes de hardware eran y necesitaban nuevos diseños de diseño. También había muchas ideas nuevas en el diseño de instrucciones de Itanium que la comunidad de desarrollo necesitaba digerir a fondo antes de que el software de alta calidad estuviera disponible.
Al final, mucha tecnología terminó usándose en la versión actual de chips de Intel, pero no es fácilmente visible para el usuario final.
fuente
time
calcular fácilmente cosas vinculadas (por ejemplo, factorizando números), E / S (copiando o capturando archivos) y sistema operativo (creación de hilos o procesos). En Alpha, fue como, wow, esto es rápido. Dame un procesador dual, podría medirlo fácilmente. Te lo digo, el Itanium era un perro de cualquier forma que lo miraras, especialmente en comparación con la exageración.El itanium es un gran diseño si puede aprovechar sus ventajas .
Lamentablemente, esto significa que necesitará un compilador muy avanzado para hacer esto. O incluso uno por modelo específico de la CPU. (Por ejemplo, una versión más nueva de Itanium con una función adicional requeriría un compilador diferente).
Crear un compilador de este tipo una vez es una tarea difícil. Hacer eso para cada variación de una CPU no es económico.
fuente
La otra parte importante de la historia de Itanium que realmente no se ha tocado es el hecho de que en 2001 con el debut de Itanium, fue imposible introducir grandes cantidades de RAM en el hardware de los productos básicos. x86_64 fue solo un bache en el horizonte y AMD Opterons ni siquiera se lanzaría por otros 2 años.
Mi primera (y única) experiencia con un servidor Itanium fue en 2002 en una compañía química donde necesitaban un servidor SQL para realizar análisis de aceite para detectar defectos. Este petróleo provenía y entraba en máquinas multimillonarias en una empresa multimillonaria, por lo que tenían un grupo de Itanium, cada uno con 128 Gb de RAM. 128 Gb de RAM hoy en día sigue siendo una cantidad justa, pero es fácil y barato de instalar en un servidor.
En 2002, 128 Gb de RAM era una cantidad enorme, y como ya tenían una infraestructura existente de SQL Server, era más barato desembolsar algunas máquinas Itanium y cargarlas con RAM, que cambiar a una plataforma diferente y Base de datos diferente.
Ahora que es trivial obtener 128 Gb (o más) en un servidor básico, una de las grandes partes del mercado de Itanium que no tenía competidores viables reales (el Opteron apareció en 2003, y ahora, por supuesto, servidores que pueden tomar cientos de conciertos de memoria son omnipresentes) está inundado de opciones que eran más baratas de comprar, más baratas de adquirir y más rápidas.
fuente
Escuché que fue porque AMD presionó a Intel para que asignara más recursos a sus procesadores convencionales para competir. AMD salió con sus Athlon 64 en 2003, que tenían un mejor precio / rendimiento que los Pentium. Existe la creencia de que si Intel continúa desarrollando Itanium con toda su fuerza, entonces sería más rápido que los procesadores x86 actuales.
fuente