• 其他语言



英特尔多内核处理器:快速参考指南
页面和feed选项
打印
收藏此页
Digg此页 | 添加到您的del.icio.us帐号
目录

多核技术的作用
多核架构能够使目前的软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。

尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。

操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与目前对称多处理 (SMP) 系统的设计流程相同,并且现有的单线程应用也将继续运行。

现在,得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。

多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。

多核技术和超线程(HT)技术

多核技术不同于超线程(HT)技术;它是基于超线程(HT)技术的一种出色的改进技术。多核技术带来更大的灵活性和更快的速度。

超线程(HT)技术以模拟两个处理器(创建两个虚拟处理器)为基础。采用超线程(HT)技术意味着程序员必须明白,尽管两个线程可立即运行,并且每个线程都能访问所有硬件,但实际上只有一组计算资源可以利用。为了从超线程(HT)技术中获得最大优势,分配给每个线程的任务要尽可能不同,以确保尽可能减少处理器资源上的冲突。

利用多核技术,每个内核都可充分利用自己的硬件——高速缓存、浮点数学单元、整数引擎——并且编程线程可使用所有这些资源,同时其它线程也可使用其它内核上的所有硬件资源。因此,同步线程的数量仅由内核数量而定,而不依赖于每个内核上的资源。

无需对多核处理器中支持超线程(HT)技术的程序进行重写代码。

正如为超线程(HT)技术调试的应用曾使用虚拟处理器一样,该应用将使用真实的内核。

编程技术也无需改变。多核技术支持超线程(HT)技术和多线程应用利用增加的资源。

对于应用开发人员而言,为利用多核处理器编写应用的方法等同于为当前的多处理器系统编写应用的方法。

速度

具有两个内核的多核处理器与单核处理器相比,其速度并不是后者速度的两倍,但接近两倍。测试显示,添加另一个处理器后,处理速度可增加高达 93%。

利用基于英特尔® E7525 芯片组和具有 2M L2 高速缓存的 64 位英特尔® 至强® 处理器3.60GHz 双路处理器 (DP) 工作站平台进行的测试,可提供高达 93% 的性能提升,对于线程工作站应用测试而言,还可再增加一个处理器。实际性能会因所使用的具体硬件和软件的不同而有所差异。

这不仅可应用于插槽到插槽的可扩充性,还可应用于多核之间内部或内核到内核的可扩充性。例如,我们估计内核到内核可扩充性增加了 80%,这意味着第二个内核的处理能力也将提高 80%。2.2GHz的双核处理器的执行情况则与 3.96 GHz 单核处理器相同。

同时,该 2.2 GHz 双核处理器将具有与 2.2 GHz 单核处理器相类似的特性(成本、电源使用、冷却需求)。(假定的)3.96 GHz 处理器需要花费更多的成本,功耗更大,并且产生巨大的热量,因而这种处理器并不存在。

传统的软件及开发

当前市场上的大多数操作系统,包括 Windows*、Linux*、及 UNIX* 操作系统的最新版本,都支持多处理器,且将多核系统作为多处理器系统处理。

任何使用线程或支持超线程(HT)技术的软件都可立即利用多核技术。迄今为止,在数百个应用已采用线程技术的基础上,又有 150 多个客户端应用采用了超线程(HT)技术。此外,很早以前,开发人员就已设计出大多数主要服务器应用(例如数据库),以便充分利用多个处理器。

这些数字说明,许多开发商资源和设计工具已充分利用了英特尔处理器的多核能力,因此,目前以多处理器系统为目标的软件开发工作将与多核系统的软件开发“保持一致”,并将充分利用多核技术。

广大编程人员不断支持多核技术,还有许多其它的事例,成为继续提供多核支持的催化剂。

例如,滑铁卢大学计算机科学系的教授 Peter Buhr,为了编写可充分利用多核处理器的软件,开发出不符合原有语言规范的四个新的 C++ 类。Buhr 教授表示:“五年之后,我们将买不到不带双核处理器的电脑。我们可以视而不见,或者也可以准备好适当的软件,以便使每个程序员都有机会利用它。”

此外,C++ 标准委员会目前正在考虑做出修订,即,将多线程特性放入语言的定义中。

多核技术对现有软件大有裨益

另外,现有软件专为运行多线程而设计。然而,专为在单核系统上运行单线程而设计的传统应用,也能在典型的多任务环境中利用多核技术的一些优势,尽管应用对多处理器的存在一无所知。操作系统了解多核技术,并在多核架构中对多个处理进行调度——大大增加了系统的吞吐量。

操作系统有一个 CPU 调度器(CPU scheduler),它跟踪所有运行的任务并在这些任务之间进行切换,在短时间内将每个任务分配给 CPU。所有应用看似同时运行,但只有一个应用在特定的时间内运行。运行任务的每次切换称作环境切换。它包括以下流程:

对寄存器中储存的与旧任务有关的所有数据进行备份
加载可使操作系统的 CPU 调度器运行的寄存器
运行调度器以确定下一个运行任务
为下一个任务加载寄存器
通过利用多核技术,切换任务的开销大大降低,其结果是开销显著降低并且代码处理更出色。

可扩充性

多核技术仅需使用一个插槽,这就简化了硬件的可扩充性。您只需用包含更多 CPU 内核的处理器代替单一的多核处理器,就能避免为了增加处理器的数量而更换电脑。

兼容性

在一台多核电脑上运行各种的单线程和多线程程序是没有问题的。操作系统会像任何其它系统一样检测到多核处理器并利用它,并恰当地对每个任务进行调度。

随着多核技术的普及,更多的软件将被设计用来充分利用多核技术,并且,多核电脑将在速度、可扩充性、和灵活性方面发挥越来越出色的优势。

价格

多核技术的价格在购买费用和管理费用上,多核技术都比同等速度的单核处理器价格低。

上一部分1  2  3  4  5  下一部分

第 3 页, 共 9 页