据我了解,英特尔64位CPU提供了解决更大地址空间(> 4GB)的能力,这对于大型仿真非常有用。 Interesting architectural hardware advantages::
历史上,模拟已在32位IA(英特尔架构)系统上执行。我想知道在哪里(如果有的话)是减少使用64位CPU的仿真时间的机会:我希望应该重新编译软件以利用64位功能。这种类型的模拟不会受益于MAC(乘法和累加),也不会使用浮点计算。
话虽如此,是否有英特尔64位指令或功能提供了比加速仿真的32位指令集(计算密集型和冗长的32位BIT算法)明显的优势?
如果您有实施模拟的经验并且已从32位CPU转换为64位,请在您的回复中说明(相关经验很重要)。我期待社区有见地的回应
答案 0 :(得分:1)
我可以想到的关于CPU指令的最直接的计算好处是AVX,尽管这只与x86_64松散相关,但更多的是CPU生成问题。 在我们公司,我们开发了多个高度复杂的离散事件模拟,模拟飞机(包括电气,液压,航空电子软件和相关的一切)。它们都是用x86_64构建或移植到x86_64。原因主要是由于内存寻址,允许更大的缓存和更广泛的算法选择(例如,以数据为中心的设计,并发),图形内容现在也趋于庞大。但是,有关x86_64指令本身的优化(例如AVX)留给了编译器。我从来没有看到用汇编语言编写的代码或者使用编译器内在函数来明确地实际引用特定的x86_64指令。
总结一下,根据我的经验,x86_64 CPU允许进行某些优化,通常会牺牲内存消耗来支持CPU处理: