适用于C程序员的英特尔酷睿

时间:2009-05-23 11:35:24

标签: c hardware cpu

第一个问题 从C程序员的角度来看,英特尔酷睿处理器与其AMD等效产品之间存在哪些差异

相关第二个问题 我认为有一些说明可以区分英特尔酷睿与其他处理器,反之亦然。这些指示有多重要?它们是否被编译器考虑在内?如果只为Core系列安装了一些特殊的英特尔编译器,性能会更好吗?

3 个答案:

答案 0 :(得分:4)

  

第一个问题从C程序员的角度来看,它们之间有什么区别   英特尔酷睿处理器及其AMD等价物?

最显着的差异可能只出现在使用新一代指令的高度专业化的代码中,例如矢量数学,并行化,SSE。

  

如果只为Core系列提供了一些特殊的英特尔编译器,性能会更好吗?

不确定您是否了解它,但是有一个专门针对英特尔内核的编译器:icc。从优化的角度来看,它通常被认为是最好的编译器。

您可能想查看其wikipedia article

答案 1 :(得分:4)

  1. 如果您正在编写用户级代码和大多数驱动程序代码,则差异不大(一个例外是某些指令集的可用性 - 对于不同的处理器可能会有所不同,请参见下文)。如果您正在编写处理特定于CPU的功能的内核代码(使用内部计数器,内存管理,电源管理,虚拟化进行分析),那么这些体系结构在实现方面会有所不同,有时会非常不同。

  2. 大多数编译器不会自动利用SSE指令。但是,大多数都提供基于SSE的内在函数,这将允许您编写SSE感知代码。可用的所有SSE级别的子集因每个处理器架构和制造商而异。

  3. 有关说明列表,请参阅this page。按照链接查看支持特定说明的体系结构。另外,请阅读IntelAMD体系结构开发手册,以获取有关支持和实现任何和所有指令集的详细信息。

答案 2 :(得分:1)

根据Intel Core维基百科的文章,有值得注意的 对SSESSE2SSE3说明的改进。这些指令是SIMD(相同指令,多个数据),这意味着它们被设计用于将单个算术运算应用于值向量。它们当然很重要,并且已被GCC等编译器用于quite awhile

当然,最近的AMD处理器采用了最新的英特尔指令,反之亦然。这是一个持续的趋势。

相关问题