5

第一个问题 从 C 程序员的角度来看,英特尔酷睿处理器与其 AMD 同类产品有什么区别

相关的第二个问题 我认为有一些指令可以将英特尔酷睿与其他处理器区分开来,反之亦然。这些指示有多重要?编译器是否考虑了它们?如果有一些仅用于 Core 家族的特殊 Intel 编译器,性能会更好吗?

4

3 回答 3

4

第一个问题 从 C 程序员的角度来看,英特尔酷睿处理器与其 AMD 同类产品有什么区别?

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

如果有一些仅用于 Core 家族的特殊 Intel 编译器,性能会更好吗?

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

您可能想查看它的维基百科文章

于 2009-05-23T11:54:18.673 回答
4
  1. 如果您正在编写用户级代码和大多数驱动程序代码,则没有太多差异(一个例外是某些指令集的可用性 - 对于不同的处理器可能会有所不同,见下文)。如果您正在编写处理特定于 CPU 的功能的内核代码(使用内部计数器进行分析、内存管理、电源管理、虚拟化),那么架构在实现上会有所不同,有时甚至很大。

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

有关说明列表,请参阅此页面。按照链接查看支持特定指令的架构。此外,请阅读IntelAMD架构开发手册,了解有关任何和所有指令集的支持和实现的详细信息。

于 2009-05-23T12:08:48.300 回答
1

根据Intel Core Wikipedia 文章,对SSESSE2SSE3指令进行了显着改进。这些指令是 SIMD(相同指令,多数据),这意味着它们旨在将单个算术运算应用于值向量。它们当然很重要,并且已经被 GCC 等编译器使用了很长一段时间

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

于 2009-05-23T12:09:49.000 回答