英特尔为何放弃安腾?[关闭]


14

我正在阅读计算机的历史,并且使用了IA-64(Itanium)处理器。它们听起来真的很有趣,我对为什么英特尔决定放弃它们感到困惑。

明确选择要在该周期中运行的2条指令的能力是一个好主意,尤其是在以汇编形式编写程序时,例如,更快的引导程序。

对于任何汇编程序员来说,成百上千的寄存器都应该令人信服。如果不调用任何其他函数变量,则基本上可以将所有函数变量存储在寄存器中。

可以执行以下指示:

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

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

与必须要做的事情:

; 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

我听说这是因为没有向后的x86可比性,但是无法通过将奔腾电路添加到其中并添加将其切换到Itanium模式(例如切换到“保护”或“长模式”)的处理器标志来解决。

所有关于它的伟大事物都应该使它们领先于AMD取得巨大飞跃。

有任何想法吗?


可悲的是,这意味着您将需要一个非常高级的编译器来执行此操作。甚至每个特定型号的CPU都有一个。(例如,具有额外功能的较新版本的Itanium将需要使用不同的编译器)。

当我在Visual Studio 2010中处理WinForms(目标仅具有.NET 2.0)项目时,我的编译目标是IA-64。这意味着存在一个可以针对IA-64进行编译的.NET运行时,而.NET运行时意味着Windows。另外,汉密尔顿的答案提到了Windows NT。具有像Windows NT这样的功能强大的操作系统,意味着有一个能够生成IA-64机器代码的编译器。


1
此答案提供了有关可能会有用的Itanium的一些背景信息。
amiregelz 2012年

1
我认为EDGE处理器是最有前途的新架构。而且它们甚至比VLIW处理器(例如Itanium)更好。您可能想在“新ISA?”下阅读链接的页面。而“理论”则解释了为什么它们要好得多。
Dan D.

@DanD问题是x86是事实上的标准。您可能获得的最接近的产品是Apple从Intel切换到EDGE,但是即使那样也可能需要数年时间。
科尔·约翰逊

“我听说这是因为没有向后的x86可比性,但是不能仅仅通过在其上添加奔腾电路并添加一个处理器标志将其切换到安腾模式(例如切换到保护模式或长模式)来解决此问题”如果他们能够在不牺牲成本,性能,可靠性,散热等的前提下制造出具有两倍晶体管数量的芯片,那么他们已经可以做到了。
David Schwartz 2012年

Answers:


29

与预期相比,性能非常令人失望,与英特尔的x86架构相比,它的销量不佳。

英特尔说服我在2000年左右的某个时候在运行Windows NT的Itanium上构建我的Hamilton C shell。安腾很难实现,所以我在他们的实验室中使用VPN连接到一台计算机。已经在x86,MIPS,Alpha和PowerPC上为NT构建了版本,“端口”是微不足道的,只是对我的makefile进行了少量调整。我觉得大概花了半个小时。

但是性能确实令人难以置信,在VPN上绝对如此,当我参加展览会并亲自尝试时仍然令人失望。安腾无处可去,因为它不是一个好产品,没人买。

添加:

有一阵子,英特尔利用他们网站上的VPN远程开发经验来宣传我移植到Itanium的经验。现在已消失,但已在archive.org上快照了,这是他们在远程FAQ中所说的内容:

问:您有可以与我谈谈远程访问服务的客户吗?

答:是的,汉密尔顿实验室 *。要深入了解汉密尔顿实验室从服务中获得的收益,请参阅 汉密尔顿实验室案例研究

在“ 案例研究 ”中,它说我构建了Itanium版本,因为客户大声疾呼。但是我不记得曾经出售过Itanium的副本。将它们出售给其他产品,包括PowerPC(以及有多少运行NT的设备确实应该有?),从来没有出售给Itanium。

挑战:加快其Hamilton C Shell产品的开发,以确保其客户的英特尔®安腾®和Windows * 2000体系结构工具的上市时间缩短。

解决方案:使用包括高速Internet访问和Shiva®VPN客户端在内的远程访问程序来访问Itanium开发环境,修改源代码和制作文件,在仅7个小时的时间内就可以远程测试调试和重新编译64位应用程序。


5
没什么可调整的。我的整个C Shell都是高度多线程的,但是尤其是在那些日子里,必须具有非常好的可移植性C和编写的效率因为我90年代初使用的编译器通常是非常基础的,而优化器有时并不可靠。我已经为64位RISC计算机建立了系统,并且已经找到并解决了所有对齐问题。对于perf,我一直都直接使用Win32 API进行所有操作,因此它也不是一个糟糕的C运行时库。真正热的机器是Alpha,与之相比,Itanium只是令人失望。
妮可·汉密尔顿

8
只是看着您的C Shell。太棒了 我一直都把Cygwin看作是一个傻瓜。我将不得不尝试一些时间。
迈克尔·布朗

6
那个疯狂的远程开发系统就是英特尔而不是微软。微软对开发人员非常有帮助。微软帮助我安排了我的MIPS,Alpha和PowerPC机器。我曾经在1992年初从开发团队那里获得过新版NT的手工制作CD,当时Microsoft校园以外的地方没有很多副本。
妮可·汉密尔顿

8
不,NT内核对处理器体系结构一无所知。戴夫·卡特勒(Dave Cutler)对此非常狂热。他们开始在i960上进行NT开发,以避免出现任何x86形式的代码。当他们放弃i960时,NT 3.1 Beta于1992年7月在x86和MIPS上发布,几个月后在iirc上的Alpha上发布。微软帮助我获得了MIPS和Alpha机器,因此当它们宣布时,我支持所有3种处理器。Itanium唯一的特别之处是它令人失望,而且销量不佳。
妮可·汉密尔顿

1
@ColeJohnson-正如Nicole Hamilton指出的,问题不是NT内核。我的意思是Windows Server 2008 R2支持Itanium。因此,问题不是操作系统。问题在于平台本身。当然,仅仅通过扩展x86平台本身,AMD对英特尔的计划产生了影响,这无济于事。
Ramhound 2012年

4

快速解答:性能不佳。当英特尔本应发展到他们想要的产品时,它试图发布一种革命性的产品。

更具体地说:处理器在一般情况下不够快。英特尔发布处理器时,处理器与内存之间的速度差距正在扩大。作为精简指令集(RISC)处理器的Itanium比其表亲x86变体每指令需要更多的字节数。增加的内存负载导致处理器运行缓慢。

从本质上讲,整个体系结构都是第一个版本,这激怒了所有这些。尽管RISC本身并不是一个新主意,但许多硬件组件仍然是并且需要新的布局设计。在Itanium指令布局中还存在许多新思想,开发社区需要充分消化这些新思想,然后才能使用高质量的软件。

最终,许多技术最终被英特尔现有的芯片版本所采用-最终用户不容易看到它们。


2
您是说在做Itanium时性能很差,还是在模拟旧版X86代码时绝对糟糕的性能?
Hennes 2012年

1
都。我的印象是X86仿真器对Itanium团队不是很重要。相反,仿真器是正确使用的关键产品功能,因为这是大多数客户可以在其上留下第一印象的权宜之计。
A. Phillips

1
编写良好的Itanium代码中的Itanium性能非常好-那里没有太多好的代码。
菲利普斯

5
亚伦,“编写良好的Itanium代码”是什么意思?如果它是很好的干净C语言,并且所有内容都正确对齐且没有任何不适当的转换,等等,那么对于Itanium来说,还可以写得特别好吗?使用我的C shell,我可以轻松地time计算出绑定的内容(例如,保理数字),I / O(复制或建立文件)和OS性能(创建线程或进程)。在Alpha上,哇,这太快了。给我一个双处理器,我可以轻松地对其进行测量。我告诉你,从任何角度看,Itanium都是狗,特别是与炒作相比。
妮可·汉密尔顿

4
MIPS,Alpha和PowerPC平台以及90年代初期的所有NT都是新的,与其他x86机器相比,其他芯片(尤其是Alpha)的运行速度也很快。我的地下室仍然有其他每台机器中的一台。Itanium并不是那么好。这不是英特尔的第一步。其他灰发的人会记得1981年的432灾难。那也是设计糟糕的架构,性能下降了。
妮可·汉密尔顿

3

如果您可以利用它的优势,那么 Itanium是一个很棒的设计。

可悲的是,这意味着您将需要一个非常高级的编译器来执行此操作。甚至每个特定型号的CPU都有一个。(例如,具有额外功能的较新版本的Itanium将需要使用不同的编译器)。

一次创建这样的编译器是一项艰巨的任务。对于每个CPU版本,这样做都是不经济的。


您不需要为较新的版本更新编译器。您只需要利用新功能。我听说他们会保持向后兼容性。
科尔·约翰逊

他只喜欢汇编程序。
ott-- 2012年

我要说的是它将使汇编代码更容易。编译器至少可以使用它能想到的最简单的指令。
科尔·约翰逊

创建有效的编译器与有效使用CPU的宽/并行指令功能的编译器完全不同。如果您是手工装配工,您应该可以做很多出色的事情,但是要付出很多工作。
Hennes 2012年

2
从旧的slashdot线程看:Itanium的编译器很难
Rich Homolka

2

安腾历史上另一个尚未被真正触及的重要部分是,在2001年安腾处理器首次亮相时,不可能将大量RAM放入商品硬件中。x86_64只是眼前一亮,AMD Opterons甚至再也不会发布两年。

我第一次(也是唯一一次)使用Itanium服务器的经验是在2002年在一家化工公司中,他们需要SQL Server来执行油分析以检测缺陷。这种油来自一家十亿美元公司中的数百万美元的机器,并进入这些机器中,因此它们有一个Itanium集群,每个集群都有128Gb RAM。今天的128Gb RAM仍然是一个相当大的数目,但安装在服务器中既容易又便宜。

在2002年,128 GB的RAM数量庞大,而且由于它们已经具有现有的SQL Server基础结构,因此为一些Itanium计算机分叉并为它们加载RAM的成本要比切换到不同的平台和系统要便宜得多。不同的数据库。

现在,将128Gb(或更多)投入商用服务器已经变得微不足道了,在Itanium市场的很大一部分中,没有真正可行的竞争对手(Opteron于2003年问世,现在当然可以占用大量存储空间是无处不在的)大量购买便宜,拥有便宜,速度更快的选择。


我敢肯定,如今128gb ddr3内存模块至少可以为您带来一个盛大的收益(美元)
Cole Johnson

2
我从未见过128Gb DDR模块……但是将128Gb的Registered ECC RAM放入服务器的价格超过1000美元,但还不多。取决于您可以从供应商那里获得的交易。
马克·亨德森

我也从未见过普通的128 GB 模块。但是,这套8x16GB的设备是等效的,它的价格为1,500美元,与我在其他地方见过的1万美元的设备相比非常便宜
Cole Johnson

我看到很多Gb;应该是GB吗?
查理

1

我听说这是因为AMD敦促英特尔向其主流处理器分配更多资源,以进行竞争。AMD于2003年推出了其Athlon 64,该产品的性价比高于奔腾。人们相信,如果英特尔继续全力开发Itanium,那么它将比当前的x86处理器更快。


1
如果AMD不简单扩展x86,那么“可能……将会”的说法适用于Itanium。如果他们真的愿意,英特尔可以杀害x86-64,但是他们受到微软的压力,我敢肯定,如果英特尔不从AMD获得x86-64的许可,那么在AMD领先的情况下,当前的情况可能会逆转,而英特尔几乎没有能力跟上AMD的发展。
Ramhound 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.