
SMP对称多处理结构
SMP的全称是"对称多处理"(Symmetrical Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享记忆体子系统以及汇流排结构。
基本介绍
- 中文名:对称多处理
- 外文名:SMP(Symmetrical Multi-Processing)
- 类别:处理技术
- 特点:套用广泛
基本介绍
它是相对非对称多处理技术而言的、套用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行作业系统的单一複本,并共享记忆体和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务伫列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问记忆体、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。 我们平时所说的双CPU系统,实际上是对称多处理系统中最常见的一种,通常称为"2路对称多处理",它在普通的商业、家庭套用之中并没有太多实际用途,但在专业製作,如3DMax Studio、Photoshop等软体套用中获得了非常良好的性能表现,是组建廉价工作站的良好伙伴。随着用户套用水平的提高,只使用单个的处理器确实已经很难满足实际套用的需求,因而各伺服器厂商纷纷通过採用对称多处理系统来解决这一矛盾。在国内市场上这类机型的处理器一般以4个或8个为主,有少数是16个处理器。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。这种机器的好处在于它的使用方式和微机或工作站的区别不大,编程的变化相对来说比较小,原来用微机工作站编写的程式如果要移植到SMP机器上使用,改动起来也相对比较容易。SMP结构的机型可用性比较差。因为4个或8个处理器共享一个作业系统和一个存储器,一旦作业系统出现了问题,整个机器就完全瘫痪掉了。而且由于这个机器的可扩展性较差,不容易保护用户的投资。但是这类机型技术比较成熟,相应的软体也比较多,因此现在国内市场上推出的并行机大量都是这一种。PC伺服器中最常见的对称多处理系统通常採用2路、4路、6路或8路处理器。目前UNIX伺服器可支持最多64个CPU的系统,如Sun公司的产品Enterprise 10000。SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。
要组建SMP系统,首先最关键的一点就是需要合适的CPU相配合。我们平时看到的CPU都是单颗使用,所以看不出来它们有什幺区别,但是,实际上,支持SMP功能并不是没有条件的,随意拿几块CPU来就可以建立多处理系统那简直是天方夜谈。要实现SMP功能,我们使用的CPU必须具备以下要求:
1、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规範的核心就是高级可程式中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此传送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主机板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
2、相同的产品型号,同样类型的CPU核心。例如,虽然Athlon和Pentium III各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,当然,即使是Celeron和Pentium III,那样的可能性也为0,甚至Coppermine核心的Pentium III和Tualatin的Pentium III也不能建立SMP系统--这是因为他们的运行指令不完全相同,APIC中断协调差异也很大。
3、完全相同的运行频率。如果要建立双Pentium III系统,必须两颗866MHz或者两颗1000MHz处理器,不可以用一颗866MHz,另一颗1000MHz来组建,否则系统将无法正常点亮。
4、儘可能保持相同的产品序列编号。即使是同样核心的相同频率处理器,由于生产批次不同也会造成不可思议的问题。两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致当机,因此,应该儘可能选择同一批生产的处理器来组建SMP系统。
套用优势
对称多处理 (SMP) 广泛套用于 PC 领域,能够显着提升台式计算机的性能。SMP 能使单晶片上多个相同的处理子系统运行相同的指令集,而且都对存储器、I/O 和外部中断具有同等的访问许可权。作业系统 (OS) 的单份拷贝就能控制所有核心,使任何处理器都能运行所有的执行绪,而无需考虑核心、套用或中断服务的区分。
1:多重因素推动移动设备对 SMP 的需求不断增长SMP 将推动移动套用和设备不断发展进步,而这正是目前单核解决方案所无法实现的。SMP 能激活执行任务所需的某个特定核心或多个核心,从而使 OEM 厂商能够实现高度可扩展的性能与电源,充分满足当今业界最流行的套用以及未来潜在的创新套用。无障碍 Web 浏览等大量新型套用对移动设备提出了更高的峰值计算性能要求。目前的单核解决方案无法满足这一需求,只有 SMP 才能在移动设备的空间尺寸及电源限制条件下实现上述性能需求。我们固然可通过增加单核解决方案的尺寸来满足性能需求,但若增加功耗则对移动设备来说是不可接受的。SMP 正是满足此类需求的唯一架构技术。可以预见,高级移动套用将像现在的 PC 套用一样複杂,而 PC 领域开发的执行绪技术也将有望移植到移动手持终端上。推动 PC 处理器不断发展的挑战(例如单核心晶片性能略有提高就需要大幅加大硅晶片技术的複杂性)也同样推动移动手持终端转向多核心架构。此外,在较大型的单核心解决方案上实现更高性能会使成本和複杂性直线上升,从而因更複杂的设计和验证过程最终导致产品上市时间拖延。PC 市场是促进 SMP 技术推广的催化剂,目前许多 PC 都内置了双核乃至四核处理器。ARM Ltd. 一直积极推动 SMP 技术向手持终端市场发展,并推出了 Cortex™-A9 MPCore 架构。为了支持最新系列的 SMP 核心,诸如 Linux 和 Symbian 等作业系统纷纷增加了对 SMP 的支持。SMP 将为採用一至四核乃至更多核心的产品提供高度可扩展的产品发展规划,满足未来需求。SMP 高度可扩展的发展规划可全面满足从低到高各级设备的需求,帮助开发人员充分利用现有的软体投资,确保推出的产品能够迎合不同市场对各种性能级别的需求。移动局限性
要想获得成功,SMP 就必须克服众多移动设备自身存在的局限问题,而尺寸、成本以及功耗属于最显而易见的问题。消费者期望获得可方便地装入口袋或钱包中的超小型移动设备,而且一次充电就能全天无忧。此外,移动设备的成本也是市场必须考虑的问题。SMP 可全面解决上述移动技术面临的局限问题,确保设备满足消费者的要求。SMP 将帮助高级套用提高运行效率,不过我们也必须注意,增加的核心不能在功耗方面造成消极影响。在 SMP 设备中採用新技术必须确保功耗不超过单核心的水平。随着移动手持终端开始支持过去只有 PC 才具备的 Web 浏览、多媒体和 WLAN 连线等功能,以及语音和蓝牙等标準移动功能,用户对性能的需求越来越高。不过,在移动环境中,提升性能不仅必须确保高效性,而且还必须根据实际需求满足相应的功耗要求。只有根据不同的使用情况最佳化功耗和性能,才能最大限度地延长电池工作时间并实现最高性能。SMP 使智慧型电话能够集成 PC 以及传统电话的功能,让单部移动设备满足用户对功耗与性能的需求。ARM 目前在移动设备市场上占据主导地位,因而我们既需要支持传统代码,又需要支持功能丰富的工具。展望未来,SMP 将必须确保支持可实现正常工作的传统代码,同时还要节约功耗,提高性能。我们必须解决的最后一个移动局限问题,就是在儘可能减小晶片尺寸的同时提供足够大的存储器高速快取,以确保多核心工作不会出现当机问题。如果单内核心设备需要的高速快取量为 N,那幺多核心设备保持良好性能所需的快取量就应为 4*N。此外,我们还要考虑数据一致性和系统存储器一致性等其他存储器设计问题,才能确保所有处理器都能在準确时间存取当时的数据。ARM Cortex-A9 MPCore
图 2:ARM® Cortex™-A9 MPCore™为移动设备实现可扩展的功率与性能为了满足移动手持设备市场对可扩展功率与性能的需求,ARM 推出了 Cortex-A9 MPCore 架构。该架构与 ARM Cortex-A8 相比,可将处理效率提高 20% (IPC),从而帮助设计人员以更低的频率完成更多的工作。Cortex-A9 MPCore 可在一个群集中支持多达 4 个核心,能够为客户设计产品、满足特定需求提供高度的灵活性。Cortex-A9 MPCore 包含丰富的特性,如:高效超标量管线能够以低功耗实现优异的峰值性能;
NEON 媒体处理引擎可加速媒体处理功能;
比前代 ARM FPU 性能提高一倍的浮点单元;
最佳化的 1 级高速快取可最大限度地降低时延与功耗;
Thumb®-2 技术可将存储器要求降低 30%;
TrustZone® 技术支持可靠的安全套用;
L2 高速快取控制器支持低时延、高频宽存储器存取;
CoreSight™ 多核心调试与跟蹤架构可在开发调试期间提高可视性。
Cortex-A9 MPCore 核心比 Cortex-A8 更小,在降低功耗的同时提高了处理效率。可扩展峰值性能与高级电源管理相结合,使 Cortex-A9 MPCore 性能超过了同类单核心架构,并可为多核心设计提供明显的优势。Cortex-A9 MPCore 不但能够实现可扩展至多个市场的统一平台,同时还可充分利用通用软体开发来降低研发成本,加速产品的上市进程。
产品的优势
目前,製造商希望投资于一款能够使其在不同级别产品中充分利用与扩展、并同时满足未来需求的平台。SMP 能够以真正的性能可扩展性全面满足这一需求。与只能提高单个核心速度的前代解决方案不同,SMP 将为整个多核心实现真正的可扩展性,为每一款产品实现性能与功耗的最佳组合。SMP 将允许製造商在统一的平台上以更高的性能支持如上网本等未来产品。一旦 SMP 的软体开发完成,设计人员便可根据未来需要添加多个处理器,而且这对软体将保持透明。SMP 设计可为製造商满足未来套用需求打下坚实的基础。
软体的影响
SMP 可为各个层面的软体大幅提高性能。对于不支持 SMP 的软体,我们可使用作业系统任务管理器在每个核心上启动进程来实现并行工作。并行进程执行自然会提升性能,虽然其效率不如执行绪级处理那幺高,但也不会对套用开发人员造成更多的设计麻烦。
图 3:SMP 可在软体的进程与执行绪层面上提高性能随着移动设备性能的不断提升,用户套用的複杂性也在不断增加,在此情况下,应用程式应更多地以并行方式进行编写(如採用执行绪方式),因此,我们便可充分发挥 SMP 的真正优势与增益。执行绪构成进程,不必反覆返回作业系统寻求资源。套用开发人员不但要採用并行方式进行软体设计,而且还必须注意进程中执行绪的互动方式。 某些套用本身就是多执行绪的,从而使 SMP 能够实现更高的性能,更快的回响时间以及更出色的整体用户体验。如 Google 的 Chrome 等 web 浏览器就採用了多执行绪技术,因此能够与 SMP 技术实现高度互补。预计这些 PC web 浏览器所使用的这种技术也将用于移动领域。 Symbian 和 Linux 移动作业系统均全面支持 SMP。这种支持针对移动环境进行了专门最佳化,将使所有处理器核心的单一作业系统核心映像以及调度器中的负载平衡能够帮助确定在哪个核心上运行哪个任务或执行绪。 在处理原有软体时,我们必须注意正确的任务同步,以避免系统锁死。在 SMP 系统中,作业系统可在安排低优先权任务运行在一个不同核心上的同时,让一个具有较高优先权的任务运行在另一个核心上。如果软体包含不明确的同步,则会产生导致锁死情况的错误判断。通过正确使用信号量、互斥量以及自旋锁等软体技术,SMP 核心的编程软体将可实现 SMP 的全部优势。 SMP 系统上的开发与调试工具至关重要。设计人员需要进一步了解晶片情况才能紧跟软体处理技术。在多个核心上同时运行多个执行绪的情况下,功能强大的新型工具将可帮助製造商快速向市场推出令人惊奇的全新产品。
高级电源管理
SMP 提供的可扩展电源优势可用来扩展核心频率与工作核心的数量。Cortex-A9 MPCore 能够分别启用与关闭不同的核心。如果核心处于开启状态,则必须运行在相同的时钟频率下。因此,为了高效使用 SMP 核心的电源管理,必须通过测试来确定以下两种选项的性能与功耗基準:一、在关闭其它核心的同时,以最高时钟频率在单个核心上全速运行进程;二、多核心同时运行进程,但运行的时钟频率降低。SMP 採用的其它电源管理技术还包括动态电压与频率缩放 (DVFS),可根据所需的性能来调节匹配系统的频率与电压。作业系统可实现负载平衡,这也有助于改善电源管理,并帮助设计人员针对功耗来最佳化系统。TI OMAP 4 平台是业界率先推出的、基于 ARM Cortex-A9 MPCore 的双核心架构之一。该架构与专业处理引擎进行了平衡,可实现无与伦比的移动多媒体性能。
图 4:TI 全新 OMAP 4 平台为移动设备带来 SMPOMAP 4 平台的主要特性包括:核心 ARM Cortex-A9 MPCore SMP 通用处理器,可提高性能与效率;
IVA 3 硬体加速器,可实现真正的 1080p 多标準高清录製与回放功能;
影像信号处理器 (ISP) 支持高质量影像与视频捕获,可实现堪比 SLR 的数字高性能,捕获 2000 万像素的静态影像;
Imagination Technologies POWERVR™ SGX540 3D 影像核心支持 3D 用户界面,可实现更大的显示屏、逼真的图像以及直观易用的触控萤幕等套用;
音频后端 (ABE) 处理器可为显着降低功耗提供虚拟低功耗音频晶片;
灵活的系统支持:
複合型 TV 输出
HDMI v1.3 输出可驱动高清显示屏
色彩丰富的更大显示屏支持
外设接口:MIPI 串列摄像机和串列显示屏接口、MIPI® SLIMbusSM、MMC/SD、USB 2.0 移动高速、UART 以及 SPI 等
支持各大作业系统:Linux(包括 Android 和 LiMo)、Microsoft Windows Mobile 和 Symbian;
45 纳米移动工艺技术可提高性能与电源效率;
最佳化的电源与音频管理配套晶片:TWL6030 和 TWL6040
TI 是唯一一家可为 SMP 提供所有主要移动作业系统支持的公司,这些作业系统包括 Symbian、Linux 以及 Microsoft Windows Mobile 等。OMAP 4 平台是移动产业有关 SMP 转型的领先解决方案,其架构专为最佳化 SMP 性能而精心设计。例如,我们在设计时对存储器架构、高速快取量以及存储器接口等给予了充分的考虑,能够以最低的延迟实现最佳性能。OMAP 4 配套提供的 TI 综合软体套件专为 SMP 编写,可充分发挥 SMP 架构内在的处理性能增强与省电优势。OMAP 4 平台採用市场上最先进高效的电源管理技术,可进一步节省电源。该处理器充分利用 TI SmartReflex™ 2 的电源和性能管理技术,可提供各种智慧型、自适应性软硬体技术,能够根据器件工作情况、操作模式以及温度等动态控制电压、频率与电源,具体包括:动态电压与频率缩放 (DVFS);
自适应电压缩放 (AVS);
动态电源切换 (DPS);
静态漏电管理 (SLM);
自适应体偏压 (ABB);
针对速度较慢器件的顺向偏压 (FBB)
逆向偏压 (RBB),可为速度较快的器件减少漏电
OMAP 4 平台充分利用 TI 在移动设备领域的专业知识与丰富经验,可为当前及未来套用提供基于 SMP 的最新处理器解决方案。OMAP 4 SMP 的强大功能
OMAP 4 SMP 的强大功能
图 5:OMAP 4 SMP 可实现类似 PC 的 Web 浏览体验在第二个使用案例中,一位消费者正在使用手机欣赏 H.264 视频。这种多媒体套用案例通常不适用于多执行绪处理技术,因此最好採用单核心工作。在本例中,OMAP 4 将两个核心之中的一个关闭,并让另一个核心在更高频率下工作,从而可提供出色的多媒体内容。由于只有一个核心工作,因而可降低功耗。 图 6:OMAP 4 实现出色的多媒体内容结论
SMP 对满足新一代移动设备的高性能与低功耗需求将至关重要。SMP 具有可扩展的功率与性能,能够为单核心解决方案提供独特的优势。未来套用将更多地使用多执行绪技术,这将推动 SMP 成为我们的首选平台。TI 的 OMAP 4 平台是率先提供 SMP 技术的产品,不但能够实现可扩展的通用处理性能,同时还可提升多媒体处理领域(影像、图像、音频与视频)的功能。我们必须注意,SMP 不会吸收这些多媒体领域的功能,这些多媒体领域需要可在最低功耗下实现最高性能的专门引擎。OMAP 4 可提供 SMP 的最佳化组合,能够与非对称多处理技术 (AMP) 配合工作。TI OMAP 4 平台是在移动设备中推进 SMP 技术的领先解决方案,可支持未来奇妙的套用。当前对 SMP 进行投资,将来就可实现无缝的软体重複使用,OEM 厂商也可在各个层次的产品上实现其设计方案的扩展,并全面满足未来的长远需求。
转载请注明出处海之美文 » SMP对称多处理结构