Por que a Intel derrubou o Itanium? [fechadas]

14

Eu estava lendo a história do computador e encontrei os processadores IA-64 (Itanium). Eles pareciam muito interessantes e eu fiquei confuso sobre o motivo pelo qual a Intel decidiu abandoná-los.

A capacidade de escolher explicitamente quais as 2 instruções que você deseja executar nesse ciclo é uma ótima idéia, especialmente ao escrever seu programa em assembly, por exemplo, um gerenciador de inicialização mais rápido.

As centenas de registros devem ser convincentes para qualquer programador de montagem. Você pode essencialmente armazenar todas as variáveis ​​de funções nos registradores se não chamar outras.

A capacidade de executar instruções como esta:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3

versus ter que fazer:

; 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

Ouvi dizer que não era possível comparar o x86 com versões anteriores, mas não foi possível consertar apenas adicionando o circuito Pentium e adicionando um sinalizador do processador que o alternaria para o modo Itanium (como alternar para o modo Protegido ou Longo)

Todas as grandes coisas sobre isso os colocariam um salto gigantesco à frente da AMD.

Alguma ideia?


Infelizmente, isso significa que você precisará de um compilador muito avançado para fazer isso. Ou mesmo um por modelo específico da CPU. (Por exemplo, uma versão mais recente do Itanium com um recurso extra exigiria um compilador diferente).

Quando eu estava trabalhando em um projeto WinForms (o destino tinha apenas o .NET 2.0) no Visual Studio 2010, eu tinha um destino de compilação do IA-64. Isso significa que existe um tempo de execução .NET que pôde ser compilado para IA-64 e um tempo de execução .NET significa Windows. Além disso, a resposta de Hamilton menciona o Windows NT. Ter um sistema operacional completo como o Windows NT significa que existe um compilador capaz de gerar código de máquina IA-64.

Cole Johnson
fonte
1
Esta resposta fornece algumas informações básicas sobre o Itanium que você pode achar útil.
amiregelz
1
Considero que os processadores EDGE são a nova arquitetura mais promissora. E eles são ainda melhores que os processadores VLIW (como o Itanium). Você pode ler a página vinculada em "Um novo ISA?" e "Teoria", como essa parte, explica por que eles são muito melhores.
26412 Dan D.
@ DanD o problema é que x86 é um padrão de fato . O mais próximo que você provavelmente poderia chegar é a Apple mudando da Intel para a EDGE, mas mesmo assim pode levar anos.
Cole Johnson
"Ouvi dizer que não era comparável ao x86, mas não foi possível consertar apenas adicionando o circuito Pentium a ele e apenas adicionando um sinalizador de processador que o alternaria para o modo Itanium (como alternar para o modo Protegido ou Longo)" Se eles pudessem fabricar chips com o dobro de transistores sem sacrificar o custo, o desempenho, a confiabilidade, o calor e assim por diante, eles já estariam fazendo isso.
22412 David Schwartz
1
Eu pensei que o Itanium ainda não estivesse morto .
David Schwartz

Respostas:

29

O desempenho foi muito decepcionante em comparação às expectativas e não vendeu bem em comparação com as arquiteturas x86 da Intel.

A Intel me convenceu a criar meu shell Hamilton C no Itanium, executando o Windows NT por volta de 2000, para uma feira. Como era difícil encontrar Itaniums, usei uma VPN para uma máquina em seu laboratório. Tendo já construído versões para NT no x86, MIPS, Alpha e PowerPC, a "porta" era trivial, apenas pequenos ajustes principalmente nos meus makefiles. Acho que demorei meia hora.

Mas o desempenho foi realmente abaixo do esperado, definitivamente muito superior à VPN, e ainda decepcionante quando cheguei à feira e pude testá-la pessoalmente. O Itanium não foi a lugar nenhum porque não era um ótimo produto e ninguém o comprou.

Adicionado:

Por um tempo, a Intel divulgou minha experiência de migrar para o Itanium usando a experiência de desenvolvimento remoto de VPN em seu site. Agora, mas instantâneos em archive.org, eis o que dizia em suas perguntas frequentes remotas :

P: Você tem um cliente com quem posso conversar sobre o serviço de Acesso Remoto?

A: Sim, Hamilton Laboratories *. Para uma análise detalhada dos benefícios que os Hamilton Laboratories obtiveram do serviço, consulte o estudo de caso dos Hamilton Laboratories .

No " estudo de caso ", ele diz que criei uma versão do Itanium porque os clientes estavam clamando por ela. Mas não me lembro de ter vendido uma cópia pela Itanium. Vendeu-os para todo o resto, incluindo o PowerPC (e quantos dos que estão executando o NT supõem que existiam?) Nunca para o Itanium.

Desafio: Acelerar o desenvolvimento de seu produto Hamilton C Shell para garantir uma porta de entrada no mercado favorável das ferramentas de arquitetura de seus clientes para Intel® Itanium® e Windows * 2000.

Solução: Utilizou o Programa de Acesso Remoto, incluindo acesso à Internet de alta velocidade e o cliente Shiva® VPN para acessar um ambiente de desenvolvimento Itanium, modificando o código-fonte e criando arquivos, testando a depuração e recompilando o aplicativo de 64 bits remotamente em apenas 7 horas.

Nicole Hamilton
fonte
5
Nada para ajustar. Todo o meu shell C é altamente multithread, mas especialmente naqueles dias, tinha que ser muito C portátil e muito eficiente, conforme escrito, porque os compiladores que eu estava usando no início dos anos 90 eram muitas vezes muito básicos e os otimizadores às vezes não eram confiáveis. Eu já havia construído para máquinas RISC de 64 bits e já havia encontrado e corrigido qualquer problema de alinhamento. Para o desempenho, eu sempre fui direto para as APIs do Win32 para tudo, então também não era possivelmente uma biblioteca de tempo de execução em C ruim. A máquina realmente quente era o Alpha e, comparado a ele, o Itanium era apenas decepcionante.
Nicole Hamilton
8
Apenas olhei para o seu C Shell. É bem legal. Eu sempre olhei para Cygwin como uma armadilha. Vou ter que experimentar algum tempo.
Michael Brown
6
Essa era a Intel, não a Microsoft, com esse sistema de desenvolvimento remoto louco. A Microsoft foi muito útil para desenvolvedores. A Microsoft ajudou a providenciar a obtenção de minhas máquinas MIPS, Alpha e PowerPC. Eu costumava obter CDs feitos à mão das novas versões do NT do grupo dev no início de 1992, quando não havia muitas cópias fora do campus da Microsoft.
Nicole Hamilton
8
Não, o kernel do NT era bastante agnóstico em relação à arquitetura do processador. Dave Cutler era um fanático por isso. Eles iniciaram o desenvolvimento do NT em um i960 , apenas para evitar que quaisquer x86 se infiltrassem no código. E enquanto eles lançavam o i960, o NT 3.1 Beta foi lançado no x86 e no MIPS em julho de 1992 e no Alpha alguns meses depois, no iirc. A Microsoft havia me ajudado a obter as máquinas MIPS e Alpha, por isso apoiei os três processadores conforme anunciados. A única coisa de especial no Itanium foi que foi uma decepção e não vendeu bem.
Nicole Hamilton
1
@ColeJohnson - Como Nicole Hamilton aponta, o problema não era o kernel do NT. Quero dizer, diabos, o Windows Server 2008 R2 suportou o Itanium. Portanto, o problema não era o sistema operacional. O problema era a própria plataforma. É claro que não ajudou em nada que a AMD jogasse uma chave nos planos da Intel, apenas estendendo a própria plataforma x86.
Ramhound
4

Resposta rápida: Baixo desempenho. A Intel tentou lançar um produto revolucionário quando deveria ter evoluído para o produto que queria.

Mais especificamente: O processador não foi rápido o suficiente em circunstâncias gerais. A Intel lançou o processador assim que a velocidade do processador para a diferença de velocidade da memória estava aumentando. Itanium, sendo um processador RISC (Reduced Instruction Set), requeria mais bytes por instrução do que seu primo, variantes x86. O aumento da carga de memória fez com que o processador funcionasse lentamente.

Tudo isso foi exasperado por toda a arquitetura ser, essencialmente, um primeiro lançamento. Embora o RISC em si não fosse uma idéia nova, muitos dos componentes de hardware eram e precisavam de novos designs de layout. Havia também muitas idéias novas no layout das instruções do Itanium que precisavam ser completamente digeridas pela comunidade de desenvolvimento antes que um software de alta qualidade estivesse disponível.

No final, muita tecnologia acabou sendo usada no lançamento de chips existente da Intel - apenas não é facilmente visível para o usuário final.

A. Phillips
fonte
2
Você quis dizer o desempenho ruim ao fazer coisas com Itanium ou o desempenho absolutamente horrível ao emular o código X86 legado?
Hennes
1
ambos. Minha impressão foi que o emulador X86 não era muito importante para a equipe do Itanium. Em vez disso, o emulador era um recurso crítico do produto para acertar, porque era a brecha na qual a maioria dos clientes criaria uma primeira impressão.
A. Phillips
1
O desempenho do Itanium em código Itanium bem escrito foi fantástico - simplesmente não havia muito código bom por aí.
A. Phillips
5
O que significa "código de Itanium bem escrito", Aaron? Se é bom C limpo, onde tudo está alinhado corretamente, sem moldes desagradáveis ​​e assim por diante, o que mais torna algo particularmente bem escrito para um Itanium? Com meu shell C, eu poderia facilmente timecalcular coisas ligadas (por exemplo, números de fatoração), E / S (copiar ou criar arquivos) e OS perf (criar threads ou processos). No Alpha, foi como, uau, isso é rápido. Me dê um processador duplo, eu poderia medi-lo facilmente. Estou lhe dizendo, o Itanium era um cachorro da maneira que você olhava para ele, especialmente em comparação com o hype.
22612 Nicole Hamilton
4
As plataformas MIPS, Alpha e PowerPC também eram novas, junto com todo o NT no início dos anos 90 e os outros chips, especialmente Alpha, eram rápidos em comparação com a maioria das máquinas x86. Ainda tenho uma dessas máquinas no porão. Itanium simplesmente não foi tão bom. Este não foi o primeiro passo em falso da Intel. Outros cabelos grisalhos por aí se lembrarão do desastre 432 em 1981. Essa também foi uma arquitetura mal projetada que caiu no desempenho.
Nicole Hamilton
3

O itanium é um ótimo design se você pode aproveitar suas vantagens .

Infelizmente, isso significa que você precisará de um compilador muito avançado para fazer isso. Ou mesmo um por modelo específico da CPU. (Por exemplo, uma versão mais recente do Itanium com um recurso extra exigiria um compilador diferente).

Criar esse compilador uma vez é uma tarefa difícil. Fazer isso para todas as variações de uma CPU não é econômico.

Hennes
fonte
Você não precisaria atualizar o compilador para os mais novos. Você apenas aproveitaria os novos recursos. Ouvi dizer que eles manteriam a compatibilidade com versões anteriores.
Cole Johnson
Ele gosta apenas de montador.
ott--
Estou mencionando que facilitaria a codificação do assembly. O compilador poderia, pelo menos, usar as instruções mais simples em que pode pensar.
Cole Johnson
Criar um compilador funcional é bem diferente daquele que usa com eficiência as habilidades de instruções amplas / paralelas de uma CPU. Se você entregar um montador de artesanato, deve ser capaz de fazer coisas maravilhosas, mas à custa de muito trabalho.
precisa
2
A partir de um fio slashdot idade: compiladores para Itanium é difícil
rico Homolka
2

A outra parte importante da história do Itanium que realmente não foi abordada é o fato de que, em 2001, com a estréia do Itaniums, era impossível colocar grandes quantidades de RAM em hardware comum. x86_64 foi apenas um pontinho no horizonte e o AMD Opterons nem seria lançado por mais 2 anos.

Minha primeira (e única) experiência com um servidor Itanium foi em 2002 em uma empresa química, onde eles precisavam de um SQL Server para realizar análises de óleo para detectar defeitos. Esse petróleo vinha e entrava em máquinas multimilionárias em uma empresa de bilhões de dólares, então eles tinham um cluster de Itaniums, cada um com 128 GB de RAM. Hoje, 128 GB de RAM ainda são uma quantidade razoável, mas é fácil e barato de instalar em um servidor.

Em 2002, 128Gb de RAM era uma quantidade gigantesca e, como eles já tinham uma infraestrutura existente do SQL Server, era mais barato instalar algumas máquinas Itanium e carregá-las com RAM do que mudar para uma plataforma diferente. banco de dados diferente.

Agora que é trivial colocar 128Gb (ou mais) em um servidor de commodities, uma das grandes partes do mercado de Itanium que não tinha concorrentes realmente viáveis ​​(o Opteron surgiu em 2003 e, agora, é claro, servidores que podem centenas de shows de memória são onipresentes) são inundados com opções que eram mais baratas de comprar, mais baratas de possuir e mais rápidas.

Mark Henderson
fonte
Tenho certeza que um 128GB de RAM DDR3 módulo de hoje em dia você irá correr pelo menos uma grande (USD)
Cole Johnson
2
Eu nunca vi um módulo DDR de 128Gb ... mas colocar 128Gb de RAM ECC registrada em um servidor custa mais de US $ 1000, mas não muito; depende do acordo que você pode obter com seu fornecedor.
Mark Henderson
Eu nunca vi um módulo simples de 128 GB . Mas este conjunto 8x16GB é o equivalente e custa US $ 1.500, que é muito barato em comparação com os US $ 10 mil conjuntos que eu vi em outros lugares
Cole Johnson
Eu vejo muitos Gbs; esses devem ser GBs?
Charlie
1

Ouvi dizer que foi porque a AMD pressionou a Intel a alocar mais recursos para seus processadores convencionais para competir. A AMD lançou seus Athlon 64s em 2003, que tinham melhor preço / desempenho que os Pentiums. Há uma crença de que se a Intel continuasse desenvolvendo o Itanium com força total, seria mais rápido que os atuais processadores x86.

Thomas
fonte
1
O ditado "Poderia ... Teria" se aplica ao que Itanium poderia ter sido se a AMD não tivesse simplesmente estendido o x86. A Intel poderia ter, se realmente quisesse, matou o x86-64, mas estava sob pressão da Microsoft, tenho certeza, se a Intel não licencie o x86-64 da AMD, a situação atual provavelmente seria revertida com a liderança da AMD e a Intel mal conseguiria acompanhe os avanços da AMD.
Ramhound