新闻中心

EEPW首页>嵌入式系统>设计应用> 多方位多角度 带您重新诠释多核技术

多方位多角度 带您重新诠释多核技术

作者: 时间:2016-09-12 来源:网络 收藏

在多路服务器领域,芯片能否具有良好的扩展弹性至关重要,而这主要取决于以下两大要素:第一,处理器拥有一条专门的芯片间直连总线,这样当系统中拥有多枚处理器的时候,各个处理器可借助该总线进行通讯,从而实现高效的任务协作;第二,处理器是否将内存控制器直接整合、拥有一套独立的内存系统。这方面反面的例子就是英特尔的Xeon平台,如果要构建多路Xeon系统,那么就必须依赖于芯片组,多枚处理器共同分享一套内存系统。

处理器之间如果需要进行数据通讯,就必须经由“前端总线-北桥-内存”的链路,这个过程不仅耗费了可观的时钟周期,也消耗了总线和内存资源。更严重的是,这类系统存在内存抢占和缓存同步两个难题:内存抢占是指当多个处理器同时发起对内存中的某段数据进行存取指令时,各个处理器必须以抢占的方式获得内存存取权限—如果有一个处理器对某段数据进行修改,该处理器就会锁定这段数据,其他的处理器必须等待,导致性能提升幅度大打折扣。

系统中的处理器数量越多,此种内存抢占现象就会越频繁,最糟糕的时候将导致系统的性能不升反降。缓存同步主要出现在多处理器/多内核协作处理同一任务时,各个处理器或内核必须进行缓存同步。由于Xeon缺乏直接沟通渠道,缓存同步操作也必须依赖“前端总线-北桥-内存”的链路进行,效率较为低下。

相比之下,AMD的Opteron平台就没有这两个问题:借助HyperTransort总线,Opteron处理器可实现直接通讯,加之 Opteron拥有独立的内存控制器,不存在内存抢占的问题,因此该平台非常易于扩展。Opteron在服务器领域对Xeon造成强大的压力,很大程度上就是得益于此。至于RISC领域,芯片直连总线和整合内存控制器也早已成为处理器的标准设计,而英特尔在自己的技术蓝图上也表明将在2008年开始采用类似的设计。

对应用于PC的X86处理器而言,处理器的扩展弹性无关紧要,但整合内存控制器还是非常有意义,原因在于该项设计能够有效降低内存系统的延迟时间。事实上,这只是整合运动的开始,不少处理器厂商都在考虑让处理器整合越来越多的功能,例如SUN和AMD都在考虑在下一代架构中直接整合PCI Express控制器、I/O控制器甚至是图形功能,借此提升系统的I/O性能以及降低平台成本;P.A.Semi的PWRficient处理器则整合了 10GbE和GbE网络控制器以及PCI Express控制器,目的是提高相应服务器的网络性能和I/O传输效能。尽管其他的处理器厂商似乎不为所动,但高度的整合无疑是未来处理器的发展方向之一。

多核处理器同软件配合的讨论

在多核心处理器如火如荼发展的时候,软件业却远远没有来得及为此作准备。最早发现问题的是PS3、Xbox 360等平台的游戏开发商,由于两套系统完全不同于前一代产品,游戏开发者对此怨声载道,程序员普遍认为对多核心处理器编程近乎是一种灾难,因为程序员必须深入了解相应的硬件平台,然后据此编写代码,而让代码在两个核心之间平衡更是一大难题。

相对来说,PS3的Cell平台难度更大,程序员首次接触到主-从方式的多核平台,对如何发挥出协处理器的性能优势缺乏经验,由于编码的不到位,让Cell平台无法表现出与实际相称的高性能。同样的事情现在也出现在X86领域,双核平台的出现让软件开发商考虑对双核优化的重要性—但比较幸运的是,诸如办公软件、网页浏览器、内容创建工具等常规的商务软件对CPU性能要求不高,对双核优化也不见得会带来什么实质性的益处,因此主要的X86软件都不需要作出变动,真正需要考虑双核平台的仍然是X86平台下的游戏。

对此游戏开发商也是相当头疼,因为X86多核与PS3、Xbox 360游戏机的多核平台不同,未来的Many Core或HyperTransport协处理器平台也许又要作出改动。为了充分发挥硬件性能,设备厂商希望开发商深入了解对应多核处理器的细节—问题是现存多种多核架构,一一研究代价巨大。开发者都希望能够利用一个硬件无关的自动化通用开发平台进行设计开发,这样编码工作将变得相当容易,同时也能够保证代码拥有出色的适应性,遗憾的是,至少在目前这还是软件工业一厢情愿的想法。

当然,我们没必要因此对多核平台丧失信心,对X86 PC来说,使用多核心处理器能够极大提升系统的多任务效能,你可以在相同的时间里执行多项任务,借此提高办公效率—在软件业来不及跟上的时候,办公用户或许能够更多体验到双核平台的优势所在。


上一页 1 2 3 4 5 6 下一页

关键词:

评论


相关推荐

技术专区

关闭