当前位置:首页 > 多核技术
  • Imagination推出IMG B系列图形处理器(GPU):多核技术创造更多可能

    英国伦敦,2020年10月13日 – Imagination Technologies宣布推出全新的IMG B系列(IMG B-Series)图形处理器(GPU),进一步扩展了其GPU知识产权(IP)产品系列。凭借其先进的多核架构,B系列可以使Imagination的客户在降低功耗的同时获得比市场上任何其他GPU IP更高的性能水平。它提供了高达6 TFLOPS(每秒万亿次浮点运算)的计算能力,与前几代产品相比,功耗降低了多达30%,面积缩减了25%,且填充率比竞品IP内核高2.5倍。 凭借IMG A系列GPU,Imagination在前几代产品基础上实现了超乎寻常的飞跃,从而在性能和功耗特性方面占据了行业领先地位。B系列是Imagination GPU IP的再一次演进,可提供最高的性能密度(performance per mm2),同时提供了多种全新配置,可以针对给定的性能目标实现更低的功耗和高达35%的带宽降低,这使其成为顶级设计的理想解决方案。 B系列提供了各种不同的配置,从而使我们的客户拥有更广泛的选择。凭借核心部分的可扩展性,它成为移动设备(从高端到入门级)、消费类设备、物联网、微控制器、数字电视(DTV)和汽车等多个市场的终极解决方案。此外,全新的多核架构使IMG BXT产品能够达到数据中心的性能水平,这对于当前的GPU IP而言,是一种独一无二的能力。 B系列中还包括IMG BXS产品,这是首批符合ISO 26262标准的GPU内核,可以为汽车领域提供各种选择:从小型的安全备份内核,到可用于先进驾驶辅助系统(ADAS)和高性能自动驾驶的高计算力内核。 Imagination Technologies首席产品官Chris Porthouse说道:“我们在多核架构中采用了自己最佳的高性能、低功耗内核,并整合了创新性的分散管理方法,从而可以提供高效的扩展特性,并且可与诸如小芯片(chiplet)架构等行业趋势相兼容。这使我们能够提供以前的GPU IP所不能提供的一系列性能水平和配置。” Imagination Technologies首席执行官Simon Beresford-Wylie表示:“IMG B系列为我们的客户提供了更多选择。它建立在大量投资及A系列技术优势的基础上,同时增加了多核技术,以惊人的33种全新配置扩展了Imagination的GPU产品系列。凭借B系列产品,我们相信Imagination可以为每个人提供最佳的GPU,无论他们有何种需求。” IMG B系列现已可提供授权,并且每个产品系列都已有厂商率先获得了授权。 先进的多核架构 全新的多核架构已经针对BXT和BXM内核的每个产品系列进行了优化,利用多个主核的扩展特性实现了GPU内核的多核扩展。多核架构结合了所有内核的能力,可以为单个应用提供最大化的性能,或者根据需要支持不同内核去运行独立的应用。 BXE内核提供了主核-次核的扩展模式,这是一种面积优化的解决方案,通过单个GPU内核提供了高性能,同时可以利用我们的HyperLane技术进行多任务处理。 BXS汽车GPU内核也利用了多主核可扩展的特性,来支持性能扩展,以及跨多个内核进行安全检查,以确保正确运行。 最佳的图像压缩技术 IMG B系列还使用了IMGIC技术,这是市场上最先进的图像压缩技术,可为我们的客户提供节省带宽的新选择。它提供了多达四种压缩等级:从像素完全无损模式,到可确保4:1或更佳压缩率的带宽极省模式。这为SoC设计人员提供了更高的灵活性,以优化性能或降低系统成本,同时保持出色的用户体验。IMGIC技术可以兼容B系列中的所有内核,这使得即便是最小的内核,也能够拥有Imagination行业领先的图像压缩技术优势。 IMG B系列内核 IMG B系列GPU拥有四个产品系列,可以针对特定的市场需求提供专业的内核: · IMG BXE:实现绚丽的高清显示——凭借一系列专门针对用户界面(UI)渲染和入门级游戏设计的GPU内核,BXE系列每个时钟周期可以处理从1个像素到高达16个像素,从而可支持从720p到8K的分辨率。与上一代内核相比,BXE实现了多达25%的面积缩减,同时其填充率密度高达竞品的2.5倍。 · IMG BXM:难以置信的图形处理体验——一系列性能高效的内核在紧凑的硅面积上实现了填充率和计算能力的最佳平衡,可以为中档移动端游戏以及用于数字电视和其他市场的复杂UI解决方案提供支持。 · IMG BXT:前所未有的性能——可以为从手持设备到数据中心等现实世界的应用提供难以置信的高性能。该旗舰款B系列GPU是一个四核部件,可以提供6 TFLOPS的性能,每秒可处理192 Gigapixel(十亿像素),拥有24 TOPS(每秒万亿次计算)的人工智能(AI)算力,同时可提供行业最高的性能密度。 · IMG BXS:面向未来的汽车GPU——BXS系列是符合ISO 26262标准的GPU,这使其成为迄今为止所开发的最先进的汽车GPU IP内核。BXS提供了一个完整的产品系列,从入门级到高级的产品,可为下一代人机界面(HMI)、UI显示、信息娱乐系统、数字驾舱、环绕视图提供解决方案,再到高计算能力的配置,则可支持自动驾驶和ADAS。

    时间:2020-10-13 关键词: imagination 图形处理器 多核技术

  • 多线程技术倍增多核系统的性能提升体验

    多线程技术倍增多核系统的性能提升体验

    采用多核技术提升CPU 马力,是一种通过硬件提供更高系统性能的日益常见的做法。即使对许多视成本和功耗为重要设计考虑的大量消费性应用,也是如此。但是,升级到多核系统并无法保证一定能够提升性能或改善用户体验。因为提升系统性能不仅是硬件方面的问题,软件也必须能充分利用并行硬件资源。然而软件一直在改变——系统变得越来越复杂,以至于在许多情况下,多个进程和线程在同时运行;同时,应用程序也在被优化,以便在多处理硬件的趋势中更加受益。基于以上考虑,我们最近采用EEMBC 的BrowsingBench™ 基准测试程序来评估MT" title="MT">MT) 技术能带来的性能提升。我们的目标是在Android™ 软件平台上看看这些技术能在多大程度上改善一个非常流行的、实际的消费性应用(网页浏览)的用户体验。BrowsingBench 是一个可靠而应用广泛的工具,受到多家领先的科技公司的信任与采用。它可以测量大量不同内容页面的加载和渲染时间,并以可靠的方式进行,以生成可重复而有用的结果。它可以在任何一个有网络浏览器的联网设备上运行。与合成测试(Synthetic Test *) 不同,BrowsingBench 的运行方式与用户在联网设备上的操作完全相同。我们过去曾采用多种其他适用于评估MC/MT 系统性能的基准测试程序,但没有一种能够像BrowsingBench 一样,可提供代表真实世界联网设备用户体验的性能指标。我们在一个以MIPS32® 1004K™ 一致处理系统(CPS) 为基础的系统上运行BrowsingBench。在最高配置方面,1004K CPS 能支持最多4 个核、每个核配备2 个硬件线程(亦称为虚拟处理单元或VPE)。但为了简化测试,我们采用双核、每个核两个VPE 的配置,总计有4 个VPE。根据MIPS 的多线程技术,VPE 实际上是逻辑CPU,在1004K 的每个核中两个VPE 共享一条物理流水线。我们系统上的软件平台是Android,测试中采用了每套Android 系统都会配备的Android 浏览器。为评估多核和多VPE 对网络浏览器产生的性能提升,我们采用4 个不同的配置来执行BrowsingBench,如下表所示。在所有的案例中,测试都是在相同的双核1004K 系统上执行,不过我们通过操作系统来启用和禁用核与VPE。我们想要回答的重要问题是,Android 是否能利用这些多重处理资源来更快地载入和渲染网页,从而改善用户体验。为做到这点,Android 在处理浏览工作负荷时,必须能使用并行的进程和线程。测试结果显示于下表和下图。毫无疑问,Android 的网络浏览性能因为采用MC 和MT 技术而得到大幅提升。一个重要的发现是,当完整配置与基本配置相比时,浏览性能提升了超过2.5 倍。由于在Android 中有大量的并行处理,浏览器的确能够从MT 和MC 的结合中受益。再进一步查看Android 系统中的情况,确实显示出有许多进程都是以并行方式运行。系统中的两个主要进程,一个为Android 浏览器本身,另一个称为“系统服务器(system server)”。后者负责管理包括显示系统在内的许多Android 组件,在BrowsingBench 执行期间一直都非常忙碌。即使我们将系统限制为单核,MIPS MT 技术也能让BrowsingBench 性能提升43%。MT 的主要特性之一是能够提升核的性能效率,这是当运行多进程和/或多线程时,通过提高核的流水线利用率来实现的。因此,对于需要小巧芯片面积的系统来说,选用多线程的核心是提升系统性能的一种极佳方式。当多核和多线程系统首度问世时,大部分现有的软件并没有针对这些技术进行优化设计。今天,情况已经改变。Android 是一个复杂的软件平台,同时也是一个大量消费性平台的绝佳范例,它正快速演进和优化,会为联网世界提供优秀的用户体验。在MIPS,我们对此基准测试结果感到非常高兴,因为它充分表明了我们的MC 和MT 技术与几年前的标准硬件相比,可提供高出许多的性能,从而给智能手机、平板电脑、联网数字电视等各种上网设备的终端用户带来重要影响。注:合成测试(Synthetic Test/Benchmark) 通过专门设计的测试程序针对软件系统中的多个组件分别测试。应用测试(Application Test/Benchmark) 则通过真实世界中的应用来做测试。

    时间:2018-08-30 关键词: MIPS 多线程 技术 mt 技术教程 多核技术

  • MIPS科技实现多核技术重大里程碑

    为数字消费、家庭网络、无线通讯和商业应用提供业界标准架构、处理器和模拟 IP 的厂商 MIPS 科技公司(MIPS Technologies, Inc)宣布,该公司是第一家通过 EEMBC® MultiBench™ 基准测试软件认证其多核系统的公司。MIPS科技认证其业界首款的多线程、多处理器 IP核─MIPS32® 1004K™ 同步处理系统(Coherent Processing System,CPS),以确保向客户提供针对各种嵌入式应用的高性能内核。 MultiBench是一套嵌入式测试基准,可让处理器和系统设计人员分析、测试、进而改善多核架构与平台。这是一项直接的分析工具,可针对各种应用测量真实的工作负荷,使得公司能够比较嵌入式平台性能,并作为软件开发的辅助。EEMBC 也同步于今天发布了最新的 EEMBC MultiBench 1.0e版本,随着最新版本的发行,此软件已成为认证用的业界标准基准测试工具。 EEMBC总裁Markus Levy表示:“随着多核技术的应用渐广,业界需要真实、有意义的性能测量方式,以展现该 技术的可扩充性,有助于找出系统瓶颈。MIPS 科技率先采取行动,在最新发布的MultiBench 软件上进行其多核产品认证,以确保客户获得名副其实的内核性能与完整性。” MIPS科技公司市场总监Mark Throndson表示:“我们本来就已经在公司内部采用MultiBench软件,现在非常高兴,EEMBC 决定推动此测试基准成为业界标准。我们的测试数据充分表明,结合多线程和多处理器所达成的性能增益,提供从单核到多核的可扩展性。在即将举行的多核大会(Multicore Expo)中,我将会报告利用 EEMBC MultiBench 基准测试所得到的各种性能测试数据。” Multicore Expo 将于 2009 年 3 月 16 至 19 日,在加州圣塔克拉拉市的圣塔克拉拉会议中心举行。Throndson 先生将会以“在 Linux 环境中以单一架构满足不同性能需求” 为题进行演讲,时间是当地时间 3 月 17 日下午 3:40。欲了解更多信息,请浏览网站:www.multicore-expo.com。 MIPS科技的 1004K CPS 可提供多处理器系统中最佳的性能效率和可配置性,最多可将四个单一或多线程处理器以先进同步系统整合在一起。由于对许多应用来说,可采用比其它多处理器方案更少的处理器,因此1004K CPS可有效降低 SoC 开发成本。每颗 CPU 中的多线程可较单线程、多处理器产品,提供显著的性能增益。1004K CPS 共有两种版本可供选用:采用基整数核的1004Kc™,以及每核中具备浮点单元的 1004Kf™。

    时间:2014-12-09 关键词: MIPS 嵌入式处理器 multibench 多核技术

  • 多核技术催生新型软硬件设计的协作模式

    过去的一年,是多核风暴席卷半导体产业的一年,正如英特尔中国研究中心有限公司总经理杜江凌博士所言:“未来10年将是多核技术的时代。”现在,多核风暴已经从PC、消费电子刮向网络设备,为互联网世界带来新的革命性产品。而且,这样的风暴也催生了新的软硬件设计模式,从风河公司和Cavium Networks公司的合作中我们可以略窥一斑。 作为设备软件优化(DSO)提供商,风河系统公司提供了多个面向行业的软件平台。今年以来,该公司加强了对多核技术的支持。先是推出了增强型Wind River Workbench 2.6.1 On-Chip Debugging Edition(OCD,片上调试版),为多内核设备开发人员提供了一个基于标准且具有更全面支持能力的开发环境。之后宣布对Sun微系统公司推出的新一代UltraSPARC T1多核处理器进行优化并提供全面支持。近日,该公司高层和下一代智能网络用多核处理器供应商Cavium Networks公司高层接受了电子工程专辑的采访,就多核技术的应用开发阐述了自己的观点。 风河系统公司全球联盟经理Imran Yusuf表示:“风河一直注意构建嵌入式开发的生态系统,嵌入式芯片供应商、ODM、IP供应商、中间件供应商等都会进入到这个生态系统中。我们还有一些战略合作伙伴,和这些战略合作伙伴有密切的合作,例如我们会一起召开执行层面的例会、会共同完成协议和新闻的发布、会共同提供对客户的支持、会一起举行产品技术培训、会一起规划操作系统和工具等以加速产品的面市。” 他举例说在和Cavium Networks合作方面,风河推出了Binding的服务,就是把专门针对Cavium Networks的产品而优化的OS和工具提供给客户。他表示本次来到中国,他就是和Cavium Networks销售副总裁一起拜访本地客户。 Cavium Networks公司市场销售副总裁Rajiv Khemani表示:“Cavium Networks的主要产品是网络处理器,目前主要应用于安全、智能路由器。其中OCTEON处理器已经能提供最高达16核的处理器产品,这些产品可以应用到统一威胁管理UTM、应用认知(application-aware)网关、多重服务(Triple-play)网关以及一些智能网关服务等。”他指出在开发应用的时候,Cavium Networks一直和风河保持密切的协作,例如在开发芯片的早期阶段,Cavium就注意和风河公司共同完成一些开发工作。 多核技术的发展瓶颈 虽然多核风暴席卷全球,但是在多核技术的开发上目前却存在很大的障碍。微软研究院编程和工具主管Jim Larus就曾指出:“并行计算缺少算法、语言、编译器以及专业技术。” “长期来看,”他说,“我们需要更好地理解人们想利用并行编程做些什么,并学习如何在各种不同的并行机器上编写代码。” Cavium Networks中国区总经理周宇虹补充道:“目前在多核技术的开发中需要解决3个重要问题:一是多核之间的竞争关系如何协调,二是多核的负载均衡如何实现,三是对如何实现对多核中内存、cache等的管理。要解决这些问题,就需要软件开发和硬件开发在早期阶段进行合作,对某些功能进行定义。目前,我们和风河就采取的这样开发模式。” 显然,目前阶段,软件技术落后于多核技术的开发,最明显的是很多业界专家认为多核技术真正需要的应该是一种并行编程语言。但是目前还没有一种并行编程技术或方法能得到广泛应用。 不过风河在开发工具支持上似乎走到了前面,今年2月,该公司就推出了VxWorks 6.4实时操作系统(RTOS),VxWorks 6.4采用AMP(非对称多处理)模式支持包括ARM946、Intel Allagash、飞思卡尔PowerPC CDS8548和MIPS的BCM1480在内的多个芯片或内核,VxWorks可以在这些芯片上的一个或者全部CPU内核上运行,不同CPU内核上执行的任务可以借助通信信道进行对话。随着越来越多的嵌入式处理器开始采用多内核架构,这一RTOS在嵌入式应用行业的重要性也将日益凸现。 Imran Yusuf表示风河公司在过去两年中通过收购一直在加强风河嵌入式处理开发方面的能力,未来,还会通过收购和开发加强对多核技术的开发支持。

    时间:2014-09-10 关键词: 嵌入式处理器 软硬件 协作模式 多核技术

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

    在X86领域,英特尔和AMD在今后两年内还是会基于传统的多核心方案继续发展,其中,英特尔在下半年带来的Merom架构以高效率见长,但它非常缺乏扩展的空间;而AMD公司在未来两年内更多是对现有的AMD64架构进行改良。 在过去数十年历史中,微处理器业界一直为提高芯片的运算性能而努力,得益于IC设计和半导体制造技术的交互拉动,微处理器的运算性能始终保持高速度提升状态,芯片的集成度、工作频率、执行效率也在这个过程中不断提升,计算机工业由此改变。在大家熟知的X86领域,处理器的技术进步更是对世界产生重大的影响,作为PC机的核心,X86处理器事实上担任起信息技术引擎的作用。 伴随着X86处理器的性能提升,PC机可以完成越来越多的任务:从最初的Basic到功能完善的DOS系统,再到图形化的Windows 95,从平面二维到3D环境渲染,从一个无声的纯视觉界面进入到视觉、音频结合的多媒体应用,计算机实现彼此相互联网,庞大的Internet日渐完善,电子商务应用从概念到全球流行; 与硬件技术高速发展相对应,PC应用也朝向前所未有的深度和广度拓展:视频媒体转向HDTV高清晰格式,3D渲染朝向电影画质进发,操作系统的人机界面也从2D的GUI进入到三维时代,高速互联网接入和无线技术方兴未艾,应用软件越来越智能化,所有这些应用都要求有高性能的处理器作为基础。而除了应用驱动外,激烈的市场竞争也成为微处理器业界竞相研发新技术、提高产品性能的主要推动力。 在2006年,我们将看到具有卓越能源效率的英特尔Merom架构出台,AMD则以双通道DDR2-800支持与之抗衡,同时双核心产品成为桌面和移动芯片的新标准,X86处理器进入到性能跃升阶段。 毋庸置疑,X86处理器已然成为计算机工业的主导力量,在高端服务器和嵌入领域广泛使用的RISC处理器反而少被提起。事实上,RISC处理器一直都以远超X86产品的卓越性能和锐意进取的技术创新著称,几乎所有先进的设计技术都是首先出现在RISC领域,之后才被X86产品所借鉴。而换一个角度来看,RISC处理器领域的每一次技术创新又反过来对X86产品产生重大影响,因此,了解当前RISC领域的尖端技术便意味着能够明晰X86处理器的未来走向。 今天,微处理器全面转向多核心体系,无论RISC芯片还是X86芯片皆是如此,不过我们在本文中所要介绍的并不是人们熟知的双核心 Pentium D或者Athlon64 X2,而是当前多核微处理器领域的最新技术成果以及面向未来的新颖概念,它们包括RISC领域的黑马、P.A.Semi公司的PWRficient双核处理器,SUN公司推出的 UltraSPARC T1八核心处理器,英特尔公司Many Core计划的实质以及AMD正在考虑的HyperTransport协处理器架构。 在这同时,我们也将向大家介绍各微处理器厂商对未来技术发展的不同理解,以及软件业如何应对为多核平台编程的巨大挑战。 高度整合的架构 P.A.Semi公司的PWRficient处理器在去年微处理器论坛(MPF2005)上正式揭晓。对于P.A.Semi这个名字,相信所有人都感到陌生,这家专门从事RISC处理器设计的技术型企业成立于2003年,创始者都是微处理器业界的顶尖人物。其CEO曾负责Alpha服务器芯片和 StrongARM手持机芯片的开发;负责技术的副总裁科勒也曾从事Alpha芯片的开发,后来进入AMD公司帮助定义了Opteron芯片的架构;另一负责架构的副总裁皮特同样曾为Alpha架构服务,在DEC公司发生的数次并购中先后进入康柏、惠普和英特尔。 在MPF2005论坛上,P.A.Semi公司对外公布其设计的双核心PWRficient处理器,高度整合的设计令外界耳目一新,并兼具低功耗和高性能两大特性。该公司同时表示,PWRficient弹性的架构可被方便扩展到八核心或用于超级计算机系统,在高端服务器领域颇具竞争力。 在设计PWRficient之时,P.A.Semi面临的第一个问题就是指令系统的选择,X86无疑更加流行、市场更广阔,但该领域被英特尔、 AMD把持,机会有限,加上X86指令系统复杂低效,与PWRficient的高端定位相悖。P.A.Semi最终选择了IBM的Power架构,这样 PWRficient处理器便成为IBM Power大家族中的一个新成员。 但除此之外,PWRficient与IBM的Power芯片并没有太多的共同点,它拥有一套极富弹性的架构、高度整合以及低功耗特性。 PWRficient主要定位在刀片服务器和低运营成本的服务器集群,P.A.Semi公司将英特尔的Sossaman Xeon处理器(Yonah架构)作为主要的竞争对手。 我们先来看看PWRficient的系统架构,如图1,我们可以看到,PWRficient与通常的处理器逻辑非常不同,除了CPU内核和二级缓存外,它还包括一个名为ENVIO的智能型I/O子系统。换句话说,PWRficient上包含CPU和ENVIO I/O子系统等两大逻辑,两者通过一个名为CONEXIUM Interchage的高速交换总线联结为一个有机系统。CPU部分为两个代号为PA6T的64位Power CPU内核,运行频率为2GHz。 与其他双核芯片不同的是,PWRficient的每一个 PA6T内核都拥有自己的DDR2内存控制器,但两者是以相互独立的模式而非组成共享的双通道。此种设计的好处在于每个CPU内核都能拥有属于自己的内存资源,最大限度降低内存抢占的几率。每个CPU内核都可支持64位或32位模式运作,具有诸如超标量、乱序执行、三发射等技术特性。另外,PA6T内核也都直接整合了硬件级的虚拟技术支持,可以在多套系统同时运行时仍保持出色的性能。 PA6T内核整合了64KB指令缓存和64KB数据缓存,而两个PA6T核心再共同分享2MB容量的二级缓存。PWRficient并没有采用类似Xeon的大缓存方案,原因就在于它的每个核心都有自己的内存,出现内存抢占的几率远低于共享总线的落后设计。 两个PA6T核心、2MB二级缓存和两个DDR2内存控制器都是通过CONEXIUM Interchage交换总线联结为一体,如果未来有需要,也可以在这条交换总线上联结四个内核甚至八个内核。但CONEXIUM的功能不仅于此,PWRficient处理器中的ENVOI I/O子系统也是通过这套总线与CPU逻辑直接通讯。与我们通常所见的固定模式不同,ENVOI相当灵活且富有弹性,它直接整合了八个PCI Express控制器(每个控制器提供4GBps带宽)、两个10GbE网络控制器(万兆以太网)和四个GbE(千兆以太网)控制器,这三部分I/O逻辑共享24对串行传输线路。 设备制造商可根据自身情况对这24对串行线路进行灵活配置,例如在NAS网络存储系统中,可以让连接磁盘系统的PCI Express传输获得更多线路资源,如果需要多端口的网络访问,那么便可以将线路资源朝向10GbE和GbE系统倾斜。这种高度弹性的架构让制造商拥有宽松的设计空间,可以根据企业的不同需要定制出最科学的服务器系统。而这种高度整合设计还有一个益处在于:无论是PCI Express系统还是网络系统,数据传输时的总线延迟都极短,进而获得卓越的数据传输效能。[!--empirenews.page--] 尽管PWRficient专门针对服务器应用,但它的设计思想对于X86产品仍然十分有借鉴意义。AMD计划在下一代处理器架构中引入类似的高度整合设计,直接内建PCI Express控制器,以提高系统的数据传输性能。事实上,整个芯片组的功能都可以被处理器所整合,这对于芯片组厂商而言显然不是什么好消息。 除了高度整合设计外,卓越的每瓦性能也是PWRficient处理器的主要卖点之一。PWRficient的核心频率为2GHz,芯片最高能耗区区25瓦,平均运行能耗甚至仅有5W的超低水平。IBM公司将重点放在高性能的Power 5/6和游戏机领域,对低功耗芯片重视不足,PWRficient便不会与IBM的产品有什么冲突。P.A.Semi公司将英特尔Sossaman核心的低功耗型Xeon作为主要对手,尽管Sossaman基于效率出众的Yonah架构,但它的能源效率远无法同PWRficient相提并论。 PWRficient 2GHz的实际性能略高于Sossaman Xeon 2.5GHz,但后者的能耗达到73瓦,整整比PWRficient高出两倍。对服务器系统而言,低功耗芯片的意义不仅在于散热更佳,最大的好处在于能够节约出可观的运营成本。P.A.Semi公司作出了详细的对比:如果要构建一套运算速度达到32TFLOPS标准的服务器集群,需要使用6400枚 Sossaman Xeon处理器,连带配套芯片组、万兆网卡等组件,整套集群的能耗将达到467200瓦; 而如果转用PWRficient平台,只需4000枚芯片就能够实现相同的性能,由于主要功能都被CPU直接集成,配套的芯片组也变得简单,整个集群的功耗只有92000瓦,相当于英特尔Sossaman Xeon平台的1/5,集群的空间占用、散热系统费用也更为低廉。如果选择PWRficient平台,集群系统的运营费用可以被大幅度削减,对本例的 32TFLOPS集群系统而言,就是每年可节约出至少100万美元运营费用,PWRficient的优势十分明显。 PWRficient将采用IBM的65纳米SOI工艺进行制造,P.A.Semi公司计划在下半年推出处理器样品,2007年正式上市。该芯片的主要销售对象包括服务器厂商、网络设备厂商,甚至还包括家电厂商,尤其在刀片服务器和服务器集群系统中,PWRficient具有明显的优势。但光有优秀的产品不足以说明问题,P.A.Semi只是一家小规模的技术型公司,自身没有服务器制造和推广力量,只有获得服务器厂商的支持才能够将 PWRficient推向实用化。而对IBM来说,既然没有更多的精力来开发低功耗Power芯片,将P.A.Semi收归旗下不失为一个好选择。   图1 PWRficient处理器的逻辑架构,整合了大量的I/O功能,堪称一款SOC(片上系统)型芯片。 精简核心和超多线程设计 SUN公司在2005年底推出的UltraSPARC T1也是微处理器领域的又一巅峰之作。同PWRficient的高度整合设计不同,UltraSPARC T1的重心放在多任务并行功能,这是由UltraSPARC T1自身的定位所决定的。UltraSPARC T1主要针对承担网络中枢的高端服务器系统,这类服务器主要面向高吞吐量的事务计算,需要在同时处理大量的并发任务,而这些任务又都不需要复杂的运算。 因此,SUN公司采用非均衡的思想来设计UltraSPARC T1:每个基本的CPU内核都相当精简,但都能够很好地完成相应的数据处理任务,由于精简核心占据的晶体管资源较少,处理器就能够集成更多的硬件内核;同时在较单纯的数据处理任务中,每个CPU核心的执行管线都不会被充分利用,在此基础上导入多线程技术将能够进一步提高系统的并行能力。我们可以看到,UltraSPARC T1拥有八个对等的硬件内核,每个内核可同步执行4个线程,这样仅仅一枚处理器就具备同时执行32个不同任务的能力。 UltraSPARC T1的晶体管总量只有3亿个左右,峰值能耗只有区区80瓦,执行效率相当出众。我们必须注意的是,UltraSPARC T1虽然具有超凡的事务处理能力,可它的科学计算能力十分糟糕,原因就在于SUN根据自身特殊的需要,采用不对等的设计。 UltraSPARC T1的CPU核心设计得非常简单,它的流水线很短,也没有包含浮点运算单元,只有在八个核心之外附加了一个浮点运算器。这样每个核心的晶体管占用就很少,为芯片低功耗奠定基础;UltraSPARC T1的每个核心均只运行在1.2GHz的低频率下,这也是拜短流水线设计所赐,芯片节能就不难理解了。UltraSPARC T1的每个核心都拥有16KB一级指令缓存和8KB的一级数据缓存,并具备奇偶检查能力(Parity Check),可以自行侦测缓存错误。 如果数据串中有1bit出现错误,缓存自身可对其进行修正,由此保证在苛刻环境下的运行可靠性。在二级缓存方面,UltraSPARC T1实行八核心共享的机制。由于核心数量众多,如果继续采用独立缓存设计的话,缓存同步操作需要耗费可观的运算资源,共享设计显然是更理想的选择。但为众多的核心分配缓存资源也是一个令人头疼的事情,SUN通过Crossbar连接架构来解决问题:八个核心在Crossbar的统一分配下获取缓存资源,有效避免了存取冲突。 一个比较特殊的地方就是UltraSPARC T1的二级缓存容量只有3MB,对一枚拥有八个硬件核心的处理器而言似乎少得可怜,但RISC处理器与X86处理器处理的任务迥异,提高缓存容量对X86 处理器的性能影响立竿见影,但UltraSPARC T1面向网络运算,而这类运算对缓存容量并不十分依赖,起到决定作用的是核心的性能。 多线程支持是UltraSPARC T1的一大亮点。UltraSPARC T1拥有一项名为CoolThreads的多线程技术,该技术令UltraSPARC T1的每个硬件核心都拥有同步执行4个线程的能力。这样,八核心的UltraSPARC T1可以在同一时间运行32个线程,具有超强的多任务处理能力。虽然英特尔的芯片很早就引入HyperTreading超线程功能、允许CPU执行两个线程,但HyperTreading设计僵化,线程一旦进入执行位置就无法替换,这样即便该线程耗费大量的执行资源和时间也必须持续等候。 在不少时候,此举反而会令系统的效能降低,这也是HyperTreading发展多年,但始终都没有获得广泛推行的主要原因。而SUN、IBM 等RISC处理器厂商在多线程技术领域有更深厚的实力,如IBM的Power 5系列具备线程动态转移功能,在线程运行开始即可对执行状况和资源使用进行实时侦测,如某个线程久拖不完或资源占用高,其余的核心又处于闲置状态时便立即将它转移,同时将运算资源和等候时间抚平,令系统保持卓越的并行执行效率。[!--empirenews.page--] UltraSPARC T1的 CoolThreads技术也具有类似的动态转移功能,任何一个执行单元有空余时,都可抓取已排入其他位置的待处理线程加以执行,由此维持八个核心的均衡负载。 UltraSPARC T1的整合内存控制器相当强大,它并不是像常规多核处理器一样只内建1组,而是拥有多达4组内存控制器,每个控制器都可以支持双通道ECC DDR2-533MHz内存、传输位宽达到144bit。在运行过程中,如果有4bit以下的内容错误,UltraSPARC T1的内存控制系统可自行纠正,如果错误数量提高到8bit,UltraSPARC T1仍然具备识别能力,系统可保持长时间的稳定运作。 另外,每组内存控制器都可以连接4个DIMM内存槽,因此一枚UltraSPARC T1处理器最多可管理多达16个DIMM模组,创造该领域的最高记录。毋庸置疑,UltraSPARC T1以4组144bit内存接口来对应8核心已经是相当充足,但SUN提供了更多的选择。在必要时候,用户可以将每两个控制器捆绑在一起,相当于将原本相互独立的4组内存系统变成两组可并行存取的结构,从而将内存系统的传输速度提高一倍。倘若系统执行的任务对数据传输有很高的要求,开启这项功能将对系统性能提升起到立竿见影的作用。 而在多路扩展方面,UltraSPARC T1采用的是SUN独有的JBus高速互联总线,JBus 1.0规格早在2003年4月就发布,采用128bit位宽的地址/数据接口,总线频率在150MHz-200MHz之间,峰值传输速率可达到 3.1GBps。虽然成就远不如AMD的HyperTranspot总线,但JBus的性能同样可满足多处理器数据交换的要求,毕竟UltraSPARC T1拥有八个核心和32个独立线程,处理器之间不需要交换太多的数据。 除了八核心版本外,SUN公司还将推出较低定位的六核心、四核心UltraSPARC T1,但三者其实都出自相同的晶圆,只是将存在瑕疵、但关闭部分内核后可正常运行的芯片作为六核或四核型号。令人惊讶的是,UltraSPARC T1非常节能,在八核心、32个线程都激活状态下的典型功耗仅有72瓦,峰值功耗也只有80瓦,能源利用效率极其出色;另外,UltraSPARC T1还可以通过关闭某些核心来达到节能的目的。 当然,我们不能简单将UltraSPARC T1与X86处理器作直接的对比,毕竟两者面向不同的应用、设计思想迥异。但从UltraSPARC T1中我们可以接触到另外一种设计思想:即根据特定的应用来设计处理器,使得该处理器能够在既定应用中获得最佳的效能。这种思想在RISC业界已经开始风行,X86处理器受通用所累,暂时难以实现类似设计,但在未来我们不排除这种思想被X86业界借鉴的可能:例如英特尔/AMD可以专门针对游戏玩家和多媒体娱乐用户设计出强化浮点性能的娱乐型处理器,或者设计出强化整数性能、功耗更低的办公型处理器,这样办公用户不必为自己不需要的浮点性能多掏腰包,娱乐用户也能够获得性能更出色的产品。而对英特尔、AMD厂商来说,只要设计一个富有弹性的处理器架构,制造出不同定位的产品并不需要花费多少代价。 专用协处理器实现效能跨越 PWRficient的高度整合思想、SUN UltraSPARC T1根据任务定制的精简核心、多任务方案令人耳目一新,但这两者其实都只是在现有多核架构基础上的革新,处理器本身仍然基于对等的多核心设计。 微处理器领域真正意义的架构革命将在未来数年内诞生,那就是多核架构将从通用的对等设计迁移到“主核心+协处理器”的非对等设计,亦即处理器中只有一个或数个通用核心承担任务指派功能,诸如浮点运算、HDTV视频解码、Java语言执行等任务都可以由专门的DSP硬件核心来完成,由此实现处理器执行效率和最终性能的大幅度跃进—IBM Cell、英特尔Many Core和AMD HyperTransport协处理器平台便是该种思想的典型代表。 下面,我们便从Cell入手,向大家介绍这种极具前途的新颖设计。   图3 Cell处理器基于“PPE主处理单元+SPE协处理器”的专用化设计,实现浮点性能的飞跃。 IBM Cell:开创全新的多核架构 IBM为索尼PS3游戏机定制的Cell是一枚拥有9个硬件核心的多核处理器,它的多核结构同以往的多核心产品完全不同。在Cell芯片中,只有一个核心拥有完整的功能,被称为主处理器,其余8个核心都是专门用于浮点运算的协处理器。其中,主处理器只是PowerPC 970的精简版本,其主要职能就是负责任务的分配,实际的浮点运算工作都是由协处理器来完成。 由于Cell中的协处理器只负责浮点运算任务,所需的运算规则非常简单,对应的电路逻辑同样如此,只要CPU运行频率足够高,Cell就能够获得惊人的浮点效能。而由于电路逻辑简单,主处理器和协处理器都可以轻松工作在很高的频率上—Cell起步频率即达到4GHz就是最好的证明。在高效率的专用核心和高频率的帮助下,Cell获得了高达256Gigaflops(2560亿次浮点运算每秒)的浮点运算能力,接近超级计算机的水准,远远超越目前所有的X86和RISC处理器。 作为对比,英特尔的4路Montecito安腾(双内核)系统也仅获得45Gigaflops的浮点性能。更令人惊讶的是,Cell只花费了区区2.34亿个晶体管,功耗在80-100瓦左右,能源利用效率比现在设计最佳的RISC和X86处理器都高出数十倍,这足以说明Cell专用、多核设计思想的优越性。 必须提到的是,Cell并非通用的处理器,虽然它具有极强悍的浮点运算性能,可很好满足游戏机和多媒体应用,但整数性能和动态指令执行性能并不理想,这是由任务的形态所决定的。未来耗费计算机运算性能最多的主要是3D图形、HDTV解码、科学运算之类的应用,所涉及到的其实都是浮点运算,整数运算只是决定操作系统和应用软件的运行效能(操作系统、Office软件等),而这部分应用对处理器性能要求并不苛刻,因此Cell将侧重点放在浮点运算性能,与SUN UltraSPARC T1专注事务处理的设计可以说有异曲同工之妙。 相较而言,当前的X86处理器都采用通用的核心,为了同时提高整数性能和浮点性能,CPU核心被设计得越来越臃肿,晶体管消耗越来越多,不仅导致芯片的功耗急剧增大,频率提升速度也非常缓慢。而且通用设计的另一个弊病在于,不管执行什么任务,芯片内的所有逻辑单元都消耗电力,导致X86芯片普遍存在能源利用率低的问题。[!--empirenews.page--] 可以预见,倘若继续沿着现有的通用、多核设计方案向前发展,X86处理器将会陷入一系列的困境,例如芯片高度复杂,开发和制造成本越来越高、芯片功耗无法控制等等。面对这样的现实,X86业界转变思想势在必行。显然,IBM Cell的新颖设计非常值得参考,英特尔的Many Core和AMD HyperTransport协处理器计划可以视作Cell思想的变种。   图4 DSP与通用CPU执行专用任务时的效能和效率对比 Many Core:Cell思想的继承与发展 在2005年的IDF技术峰会上,英特尔对外公布了Many Core超多核发展蓝图。随着时间推移,Many Core计划越来越明晰,我们可以肯定它将成为英特尔未来的X86处理器架构。Many Core采用的也是类似Cell的专用化结构,我们知道,英特尔的四核心处理器采用对等设计,每个内核地位相同,而转到Many Core架构之后,其中的某一个或几个内核可以被置换为若干数量的DSP逻辑,保留下来的X86核心执行所有的通用任务以及对特殊任务的分派;DSP则用于某些特殊任务的处理。 依照应用不同,这些DSP类型可以是Java解释器、MPEG视频引擎、存储控制器、物理处理器等等。在处理这类任务时,DSP的效能远优于通用的X86核心,功耗也低得多。在图4中我们可以看到DSP与通用CPU的效率对比:功耗仅2瓦、特定功能的DSP芯片,在处理对应任务时的效能比75瓦功耗的通用CPU更加出色,且由于DSP构造简单、频率提升非常容易;由于DSP效能提升速度比通用处理器快得多,这样随着时间的推移,DSP的效能优势将越来越明显。 而如果处理器将高负载的专用任务转交给DSP执行之后,那么主核心的运算压力就大大减轻,系统整体效能将获得明显提升。 第一代Many Core架构处理器可能采用“3个通用X86核心+16个DSP内核”的组合(图5),我们可以看到,它的原型是一枚四核心处理器,只是将其中一个核心置换成16个DSP逻辑而已,因此处理器的总体结构和晶体管规模都不会有多大变化,但产品的实际水准将获得大幅度增强。在执行Java程序、视频解码、3D 渲染等耗用CPU资源的任务中,DSP的效能都大幅优于通用核心,因此Many Core产品在执行这类专用任务时会有飞跃性的性能增益。 同时,DSP逻辑的能耗只有通用核心的几十分之一,可以让处理器的功耗出现可观的降低。当然,如果我们将英特尔的Many Core处理器与Cell相比,便会发现一个明显的差异:Cell的主核心非常简单,协处理器则非常强大;而Many Core的通用核心仍然居于主导地位,DSP更多只是一种辅助。 这种差异源自于二者不同的定位:Cell只要求具备强劲的浮点效能,而对整数运算不作要求,因此通用的主核心可以非常精简;但Many Core必须考虑兼容大量的X86应用软件,专用的任务居于从属性地位,在第一代产品中采用“三个通用核心+16个DSP核心”的组合应该是比较恰当的。 根据英特尔的远景规划,第二代Many Core产品将在2015年前后面世。这当然过于遥远了,但我们不妨来看看它是一款什么样的产品(图6)—拥有8个通用X86核心、64个专用DSP逻辑,片内缓存容量高达1GB,晶体管规模则达到200亿。受限于半导体工艺,后两个目标或许很难完全实现,但Many Core设计将毋庸置疑成为标准,而英特尔从这往后将逐步引入Many Core Array架构,不断增强DSP的数量以及执行能力,通用核心的地位将随着时间推移不断减弱,直到最后完全可能实现以DSP占主导地位的专用化运算模式。   图5 从四核心平滑升级到“三核心+16DSP”的方案,即将其中一个通用核心置换成DSP阵列。 HyperTransport协处理器系统 在英特尔对Many Core概念作出具体探讨之时,AMD也在考虑自己的未来处理器架构。但与英特尔不同的是,AMD尚未考虑另起炉灶的Many Core计划,而是利用现有的HyperTransport连接架构,对多路服务器系统进行拓展。 Cray公司(克雷,著名的高性能计算机制造商)希望能在基于Opteron的超级计算机中使用矢量处理单元,以提升计算机的矢量运算效能。 AMD方面并不是简单考虑在Opteron核心中增加一个矢量逻辑了事,而是计划以此为契机,建立一个以AMD为中心的企业生态圈—这或许过于抽象,但看完下文的分析之后大家便能够明了其中的含义。 我们知道,现有的Opteron多路系统并非采用共享前端总线的方式连接,而是借助专用的HyperTransport总线实现芯片间的直连。这样,每一颗Opteron处理器都可以直接与其他的处理器进行数据交换或缓存同步,不必占用内存空间,无论系统中有多少数量的Opteron,整套系统都能够保持高效率的运作。在该套平台中,HyperTransport总线处于中枢地位,而它除了作为处理器连接总线外,还可以连接PCI-X控制器、 PCI Express控制器以及I/O控制芯片,也就是充当芯片间的高速连接通路。 AMD公司考虑的一套协处理器扩展方案也是以此为基础,即为多路Opteron平台开发各种功能的协处理器,这些协处理器都通过 HyperTransport总线与Opteron处理器直接连接。对Cray提出的需求,AMD给出的解决方案就是,将八路Opteron中的一颗 Opteron处理器置换成矢量协处理器,以此实现矢量计算性能的大幅度增长,而Opteron平台本身不需要作任何形式的变动。 在未来,这种拓展架构也可以延伸到PC领域,例如在PC中挂接基于HyperTransport总线的浮点协处理器、物理协处理器、视频解码器、专门针对Java程序的硬件解释器,甚至可以是由nVIDIA或ATI开发的图形处理器。为达成上述目标,AMD必须设计出一个高度稳定的统一接口方便用户进行扩展,而借助各种各样的协处理器,AMD64系统的性能将获得空前强化。 如果从逻辑层面来看,AMD HyperTransport协处理器系统的实质与英特尔Many Core平台其实完全相同,两者的区别更多是在物理组成方式:Many Core将专用的DSP逻辑直接整合于处理器内部,AMD的协处理器系统则是借助HyperTransport总线在外部挂接,这样用户就不必为了获得额外的性能购买新机,直接选择相应的协处理器挂接即可。由于协处理器类型将会非常丰富,每个用户都能从中找到最适合自己的产品,这在无形之中增强了AMD HyperTransport协处理器平台之于Many Core平台的竞争力。[!--empirenews.page--] HyperTransport协处理器方案最富杀伤力的地方并非在于灵活性,而在于AMD所创建的“共生模式”。AMD计划将 HyperTransport协处理器授权给其他的专业IC设计公司,这样大量的第三方公司都可以为AMD64平台开发协处理器并分别销售,AMD自身只需要负责通用处理器的开发和HyperTransport原生态的维护。基于共同的利益,大量的第三方IC设计公司将紧密围绕AMD公司共同发展 HyperTransport平台:通过销售协处理器,第三方IC公司能够获得丰厚的回报,AMD则通过平台授权和AMD64处理器的销售获得利润、并在第三方公司的帮助下提高市场份额。 至于终端用户,则可以在现有基础上通过增加或升级协处理器达成大幅度提高系统性能的目的—这便是AMD倡导的“友好生态系统”的实质。与AMD 的开放策略形成鲜明对比,英特尔将变得越来越封闭,从迅驰到VIIV平台,第三方厂商的机会越来越少,英特尔希望将全部的商业利润都归自己所有,而不是与合作厂商共同分享机会。在这样的背景下,越来越多IC厂商转向对AMD平台的支持,因此AMD所倡导的友好生态系统其实已经有相当良好的基础。   图6 2015年的处理器蓝图,Many Core设计成为标准 前瞻:架构革命的前夜 尽管X86业界依然按部就班地进行性能提升,软件工业也是在以往基础上匍匐前进,但这场架构革命距离我们并不遥远。在RISC领域,针对实际应用对产品作定制化设计成为各个厂商的共识,而各个厂商在开发新一代架构时都会有意识地为处理器预留扩展定制的空间。 相信在未来,我们可以看到越来越多的专用型RISC处理器,例如游戏机/视频任务处理器、网络处理器、低耗能通用处理器、嵌入处理器等等;而在 X86领域,英特尔和AMD在今后两年内还是会基于传统的多核心方案继续发展,其中,英特尔在下半年带来的Merom架构以高效率见长,但它非常缺乏扩展的空间;到2008年,英特尔才会陆续引入CSI总线并整合内存控制器,解决多路服务器系统扩展性的问题;大约到2010年,我们有望看到第一代Many Core处理器出台,X86处理器将转向一个全新的多核时代。 而AMD公司在未来两年内更多是对现有的AMD64架构进行改良,例如引入双通道DDR2-800支持和65纳米SOI工艺,服务器领域 Opteron的优势不太容易被打破。大约在2008年,AMD将带来新一代的K9或K10,高度整合设计将被引入,更关键的是,AMD将带来 HyperTransport 3.0和4.0版总线技术规范,并有可能开始启动协处理器计划。 由于HyperTransport 3.0/4.0将直接对协处理器提供支持,AMD只需要解决主处理器与协处理器的任务协作以及硬件连接标准的制定即可,接下来的协处理器开发工作便主要依靠第三方IC公司加以实现。如果AMD在新一轮变革中再度领先,那么在大量第三方企业和用户的支持下,英特尔在微处理器市场的主导优势很可能彻底丧失,最终出现两大平台分庭抗礼的格局。 当前微处理器技术发展的几个方向 提高架构执行效率、多核心设计、灵活的扩展弹性、深层次的功能整合是当前微处理器领域的四大技术发展方向。处理器效率低下的弊端主要出现在 X86领域,X86指令集臃肿复杂,指令效率已明显低于RISC体系,如果不在芯片设计方面加以弥补,X86处理器很难获得媲美RISC产品的卓越性能。 衡量处理器效率通常有两个指标:一是芯片的能源利用效率,也就是每瓦性能,在消耗同等能源条件下,最终性能高的产品能源效率就较高;第二个指标便是芯片的晶体管效率,我们可以引入“每晶体管性能”来衡量,在消耗等量晶体管数量条件下,芯片效能高者效率就越高。 晶体管规模越大,制造成本越高,对芯片厂商来说,提高每晶体管性能能够在保持成本不变的前提下获得更卓越的性能。一般来说,每瓦性能和每晶体管性能总是被结合起来讨论,不同指令体系的产品在此相差甚远,例如当前顶级的RISC处理器与顶级的X86处理器作对比,我们便会发现X86芯片远远落后。 即便基于相同的指令体系但设计不同的产品,也可能存在悬殊的效率差异—一个最典型的例子就是英特尔Netburst架构与AMD64架构,Pentium 4芯片的功耗更高,晶体管规模也普遍更大,但性能无法同对应的AMD64架构产品抗衡。且Pentium 4芯片的能耗已超过百瓦,达到风冷散热的极限,无法进一步向上提升。 为了解决这个问题,英特尔将在今年中期引入Merom架构来代替Netburst,诚如我们之前的分析,Merom引入了RISC精简指令的思想,对X86架构进行根本性的改进得以大幅提高效率。而在RISC技术领域,提高效率也一直都是各制造商的目标,虽然RISC芯片在这方面已占据先天优势,但各芯片厂商仍然在此方面花费巨大的精力并获得斐然成果。在本文关于P.A.Semi的PWRficient双核处理器、SUN UltraSPARC T1八核处理器的分析中,我们将能看到这一点。 多核心设计可谓是提高每晶体管效能的最佳手段。在单核产品中,提高性能主要通过提高频率和增大缓存来实现,前者会导致芯片功耗的提升,后者则会让芯片晶体管规模激增,造成芯片成本大幅度上扬。尽管代价高昂,这两种措施也只能带来小幅度性能提升。而如果引入多核技术,便可以在较低频率、较小缓存的条件下达到大幅提高性能的目的。相比大缓存的单核产品,耗费同样数量晶体管的多核心处理器拥有更出色的效能,同样在每瓦性能方面,多核设计也有明显的优势。 正因为如此,当IBM于2001年率先推出双核心产品之后,其他高端RISC处理器厂商也迅速跟进,双核心设计由此成为高端RISC处理器的标准。而X86业界直到去年中期才开始尝试推出双核产品,预计实现全面普及要等到2006-2007年。 此时,RISC业界又朝向多核、多线程的方向发展,四核心、八核心设计纷纷登台亮相,并行线程数量多达32条,并且开始从通用多核体系转向简化核以及专用化的DSP,实现性能的跨越性提升—这些新设计和新方向也都将被X86业界所借鉴。[!--empirenews.page--] 在多路服务器领域,芯片能否具有良好的扩展弹性至关重要,而这主要取决于以下两大要素:第一,处理器拥有一条专门的芯片间直连总线,这样当系统中拥有多枚处理器的时候,各个处理器可借助该总线进行通讯,从而实现高效的任务协作;第二,处理器是否将内存控制器直接整合、拥有一套独立的内存系统。这方面反面的例子就是英特尔的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来说,使用多核心处理器能够极大提升系统的多任务效能,你可以在相同的时间里执行多项任务,借此提高办公效率—在软件业来不及跟上的时候,办公用户或许能够更多体验到双核平台的优势所在。

    时间:2014-07-23 关键词: 嵌入式处理器 多角度 多方位 多核技术

  • 嵌入式多核技术方案解析

    毫无疑问,多核多线程是未来处理器的发展方向。回首处理器的发展历程,并行技术从指令级的超标量发展到线程级的超线程或者并发多线程,再到今天处理器级的多内核,总的趋势都没有改变。英特尔、Sun和IBM等大公司目前已经投身到多核或者多线程技术的浪潮之中。当今的网络应用日趋复杂,对性能的要求不断提高,无论是需求推动技术,还是技术激发了新的需求,并行技术都将是未来信息基础设施建设的必然选择。 对于嵌入式装置而言,多核技术可以提供更高的处理器性能、更有效的电源利用率,并且占用更少的物理空间,因而具有许多单核处理器无法具备的优势。与多核解决方案如影随形的,就是多处理器技术,也就是在同一块电路板或同一个集成系统中包含多个处理器。 要想充分发挥多核以及多处理器解决方案的潜能,仅仅依靠强有力的芯片是不够的,还需要采用新的编程方法。伴随着新的编程方法,同样也需要新 的调试方法和工具,才能确保软件和硬件开发人员在完整的多核系统环境中展开调试工作,同时对“编译—编辑—调试 ”的流程进行优化。 在传统上, JTAG调试技术主要是用于硬件Bring-Up,如今也常常被用于配合基于代理的调试(agent-based debugging)。然而,在多核和多处理的环境中,片上调试(on-chip debugging)正在扮演着越来越重要的角色,因为这种技术更便于隔离运行在单个或者多个内核中不同软件之间复杂的交互活动,从而帮助开发人员对操作 系统或者中间件实施更加有效的调试。 认识多核基本架构 多核处理器在同一个芯片中植入了多个处理器引擎,这就可以提供更高的CPU性能、功能特性和分区能力。一般说来,多核有两种实现形式。 第一,SMP( Symmetric multiprocessing,对称多处理)。在这种情况下,开发人员面对的是单一的抽象化硬件平台,由SMP操作系统来决定具体由哪一个内核来运行哪 个任务,其中每个内核都是相同的,而且在同一个操作系统的管理控制之下,共享同一个内存。 第二,AMP (Asymmetric multiprocessing,非对称多处理)。在这种情况下,各个处理器内核都运行着各自独立的操作系统。这种独立性意味着,其中各个处理器内核既可 以是同构的,并且运行同样的操作系统,也可以是异构的并运行各自不同的操作系统。 多核环境显著增加了系统复杂度,因而在对操作系统和与多核相关的硬件进行调试的时候,就必须采用一整套更有效的工具。另外,尽管大家都认为 多核就是指在同一个芯片中放入多个内核,但是在实际开发工作中所遇到的多处理问题,实际上不仅仅局限于在单一芯片中的多个内核。事实上,不论这些处理器内 核是在同一个芯片之中,或者分布在同一个电路板中的多个芯片之中,甚至同一个系统中的多个电路板之中,开发人员都必须解决好多处理环境中的调试问题。相对 于最近出现的单一芯片多核架构,有多个处理器芯片和多个处理器电路板组成的复杂系统已经存在很多年了。因此,多处理架构的调试问题其实早已存在,只是单一 芯片内多核架构的普及将多处理系统调试问题更加尖锐地摆在了开发人员面前。 从这个意义上,多年前就开始从事多处理环境软件开发的厂商就积累了更丰富的经验,在应对多核软件开发方面站在了更为有利的地位。例如 Wind River公司经典的实时操作系统VxWorks在多年前最初的设计思路就是基于多处理架构的,因此不论从运行环境还是开发调试工具任何一方面看,对于多 核环境的适应能力都比其他工具要强得多。 认识多核调试难点 多核与多处理技术的融合为系统调试带来了许多新的挑战,因为系统复杂度不断增加,要通过优化硬件和软件来充分发挥其中的性能潜力,难度就更大了。其中最主要的难点有以下几个方面。 有效地管理内存和外设等共享资源; 在多内核、多电路板和多操作系统的环境中对操作系统和应用代码进行调试; 优化JTAG接口并充分利用JTAG带宽; 调试单一芯片中的同构和异构多核,进而实现整个系统的协同调试; 有效地利用JTAG与基于代理的调试方法,确保不同调试工具之间的顺畅协同; 确保多核环境中应用调试的同步机制。 对于多核JTAG调试来说,有三种主要的技术选择:第一,以单一JTAG接口支持所有内核的调试器;第二,在单一JTAG调试接口中采用独 立调试器的 JTAG多路(Muxing)技术;第三,JTAG链接器或者可编址扫描端口(Addressable Scan Port)。 在多核调试中,上述三个技术途径都是在处理同一个核心问题——由SoC厂商所提供的JTAG接口所造成的局限性。 为了节省成本,许多SoC厂商都只为芯片提供单一的JTAG接口,而不理会其中包含了多少个内核。对于开发者来说,最大的挑战就是经济有效地使用这些接口 来同步多核以及多处理的调试工作。其中,单一调试器方式采用IEEE 1149.1标准daisy-chain方法。 认识多核调试方法 对于多核架构来说,单一调试器的主流选项仍然是JTAG多路技术。这种技术对IEEE JTAG技术规范进行了拓展,以便为通过共享JTAG接口连接起来的每个内核提供独立的调试器。在多路技术的支持下,通过对希望调试的内核进行注册登记 (Registering),开发人员可经由单一JTAG接口访问多个离散状态的内核。这种解决方案的最大优势在于它的连接和调试性能。因为多路技术单独 连接到每个内核,因而避免了daisy-chaining方法中所遇到的比特位移(bit shifting)方面的麻烦,因而在单芯片中的多核系统中具有更高的性能。这种方式的另一个好处是不需要对开发工具进行修改,从而可以顺畅地应用在多个 开发项目之中。 多路技术(Muxing)方法所存在的主要问题是在多内核调试过程中无法同时启动和停止内核来同步应用。如果要停止全部内核,开发人员只能 顺序地逐个进行,这就导致了调用延迟问题。在调试过程中的延迟问题,会导致很难在内核之间的操作系统、中间件和应用中找到发生问题的确切位置,特别是当运 行在不同内核之中的应用存在相互依赖性的时候,这个问题就更为突出。例如,某个产品包含DSP功能和 ARM 9内核,其中DSP用来处理视频流,ARM 9内核提供文件系统,那么内核的启动与停止同步将会十分关键。如果调试过程中在ARM内核的启动和 DSP的停止之间出现过多的延迟,DSP视频流数据很快 就会溢满ARM文件缓冲区,而视频流也将会中止。如果出现这种情况,就很难判断系统中的问题出在哪里。而且,多路进程也给开发人员在故障排除时带来了许多 新的问题,将会大幅度增加调试时间。 另外,如果在有多个厂商产品组成的异构多核环境中进行调试工作,例如处理器来自一个厂商,而DSP器件来自另一个厂商,还会有更复杂的问题 需要处理。因为这种情况下的多路(Muxing)机制更为复杂,如果各部分之间的兼容性没有得到保证,也就很难保证系统正常运行。此时,仅仅依靠多路技术 是无法解决问题的,开发人员就需要采用可编址扫描端口(addressable scan port),这也可能是最后仅有的方法了。这种架构需要用到非常特殊的组件,这些组件可以让开发人员把 JTAG扫描链分割成多个功能组,并通过唯一的地址 来访问每个功能组。这是一种多支路(multi-drop)架构,经常被用于底板(Backplane)环境之中。在这里,有一个分别可编址的扫描链在底 板内实现路由(Routed),从而使机箱中的每个底板都拥有自己专属的扫描链。这种架构的运行速度受限于可编址扫描端口的速度,最典型的情况是 25MHz。 拥有先进多核调试工具 Wind River 拥有的JTAG加速器和服务器技术可以显著降低JTAG序列包之间的空闲时间,完全充分地利用了可用的JTAG带宽。与JTAG有关的另一个问 题涉及到调试能力,例如用停止请求信号来立即停止某个内核,或者用停止指示信号来停止某个内核并同步其他的内核的停止。与其他所有的局限性一样,这类问题 也依赖于厂商的实现方法。 Wind River on-chip debugging(片上调试)解决方案可以同时启动和停止多个内核。实际上,Wind River提供的JTAG解决方案,也就是Workbench On-Chip Debugging,是以集中化的方式来实现多核和多处理的调试功能。这个解决方案可以在单一扫描链(Scan Chain)中同时调试多达8个内核。而且,不管这些内核处于同一个芯片之中、分布在线路板中的多个芯片或者分布在复杂系统中的多个线路板之中, Workbench On-Chip Debugging都能够应付自如。 在 Wind River 的多核解决方案中,开发人员可以同时停止或者启动任何内核,在一个或者多个内核上设置断点,其中还可以包括条件断点。此外, Workbench Eclipse框架和基于代理的调试方式使开发人员在单一控制台上即可管理多内核/多处理应用的开发。开发人员可以在JTAG 调试和基于代理调试二者之间 灵活地选择,例如在硬件Bring-Up、内核、中间件和其他应用功能调试的时候采用JTAG连接,然后在自己认为适当的时机平滑地转移到基于代理的调 试,而这些调试工作都是围绕着同一个应用的。这些能力都会增加不同开发人员之间的协同能力,同时改善异常问题的判定效率。 结论 在多核开发中,JTAG调试可以承担非常有价值的角色,有效地改善“编辑-编译-调试”周期时间。然而,实现这一 点的前提是把JTAG调试与基于标准的集成化开发环境(例如Eclipse)紧密地集成起来。最理想的技术方案是,在Daisy Chain中采用遵从IEEE 1149.1 JTAG标准的单一的JTAG调试器,而JTAG的主要作用是改善系统的吞吐能力和性能。

    时间:2012-05-15 关键词: 方案 嵌入式 多核技术

  • ARM新一代多核技术可延长智能手机电池寿命

    智能手机和平板终端配备双核与四核处理器已成为一种趋势。新一代应用处理器的CPU内核将会如何发展?在CPU内核领域占有绝对市场份额的英国ARM公司,公开了今后几年内的多核技术发展蓝图。其战略是通过组合使用大小各异的内核,同时兼顾高性能和低功耗。而且,异质内核的并用将成为在移动领域引进虚拟化技术的基础。 智能手机及平板终端用CPU内核开发商英国ARM公司2011年秋季发布的内核“Cortex-A7”,配备了很多乍一看有些奇特的功能。 Cortex-A7是一款用于100美元以下低价位智能手机的CPU内核。在设计时最注重降低耗电量和成本,因此其电力效率与美国苹果公司“iPhone 4”中配备的ARM现有CPU内核“Cortex-A8”相比,提高至约5倍注1)。 注1)ARM公司Cortex系列产品名称中的数字,代表该CPU内核的相对性能。而不是像苹果公司的应用处理器“A4”和“A5”那样,代表发布顺序和产品工艺。 Cortex-A7内核彻底实现了“环保运行”,并配备了许多移动领域一般并不需要的先进技术和功能。包括虚拟化技术,用于主存储器的ECC功能,以及40bit的物理地址扩展(LPAE:Large Physical Address Extensions)等。 即使为了彻底提高电力效率、削减电路面积,也没有必要在用于低价位智能手机的Cortex-A7中配备虚拟化技术等。为什么ARM公司要在Cortex-A7内核中配备这些功能呢? 兼顾高性能和低功耗 之所以在Cortex-A7中大量配备先进功能,是为了实现一项称为“big.LITTLE”的技术,该技术可在未来的智能手机中兼顾高性能和低功耗这两个完全相反的特性。这项技术是ARM公司在发布Cortex-A7的同时推出的,将注重电力效率的内核Cortex-A7与ARM公司性能最高的CPU内核“Cortex-A15”组合使用(见图1)。正如字面意思一样,同时采用了性能不同的“大小”两种内核。 图1 :2013年以后智能手机也将采用虚拟化技术 图中是ARM公司的CPU内核“Cortex-A”系列,在用于智能手机等便携终端时的内核数量以及内核种类等。由本杂志根据ARM公司的资料制作而成。 big.LITTLE技术可根据电力和性能等情况,将Cortex-A15和Cortex-A7动态地分开使用。比如,像浏览器的屏幕渲染等需要高性能时,就会通过并行性较高、拥有较长管线的CPU内核——Cortex-A15来高速运行相关应用。反之当收发邮件等不需要太高性能时,则会切断Cortex-A15的电源,将整个系统转移到管线更短、电力效率较高的CPU内核——Cortex-A7中运行(图2)注2)。 图2:通过异构多核实现节能的big.LITTLE技术 ARM公司的big.LITTLE技术将注重性能的“A15”与注重耗电量的“A7”这两种CPU内核分开使用,由此可降低耗电量。CPU负荷较低时,将OS等整个系统转移到A7内核,并切断A15内核的电源(a、b)。由本杂志根据ARM公司的资料制作而成。 注2)在何时将某个应用和OS转移至其他内核的判断,与动态控制CPU内核工作频率与电源电压的“DVFS(Dynamic Voltage And Frequency Scaling)”以相同的原理进行。如果Cortex-A15F的电源电压和工作频率降至下限,就会启动Cortex-A7并转移系统。无法从软件看到内核的切换。另外,big.LITTLE技术可实现同时持续驱动异质内核的SMP利用方式。 在big.LITTLE技术中,两种内核间采用的SoC上的电源域(区域)和晶体管也不同。Cortex-A7的电路区域采用阈值电压较高的晶体管,通过降低电源电压来减少工作电流和漏电流。而Cortex-A15的电路区域则采用阈值电压较低的晶体管,通过提高电源电压来追求性能。 架构完全兼容 在big.LITTLE技术中,要想将在一个内核上运行的软件顺利转移到其他内核上,就需要大小两种CPU内核的架构和功能完全相同。 因此,ARM公司使Cortex-A7的架构与Cortex-A15完全兼容。除了Cortex-A7的指令集架构(ISA)与Cortex-A15完全相同外,还将Cortex-A15中首次向ARM架构引进的虚拟化技术、ECC功能和LPAE等先进功能,直接移植到了用于低价位智能手机的Cortex-A7中。注重电力效率的Cortex-A7之所以配备许多乍看并不需要的先进功能,是为了实现big.LITTLE技术。 异质架构成主流 big.LITTLE技术被定位为支撑今后智能手机和平板终端应用处理器的核心技术。ARM公司在2011年10月发布的64bit架构“ARMv8”,尚未发布支持的CPU内核,估计要在2014年以后才能配备在设备上。而big.LITTLE技术是已经可以使用的技术,不久的将来就可以实用化。 目前双核架构的智能手机用SoC,基本上都采用可多个排列相同CPU内核的同质架构。同质架构可采用通过多个内核运行单个OS的SMP(Symmetrical Multi Processing)架构,因此从软件来看易于使用。但从电力效率来看,即使在不需要高性能的情况下,同质架构也不得不采用配备高速架构(可发挥峰值性能)的内核,这点与异质架构相比处于不利地位。 big.LITTLE技术虽然在物理上采用异质架构,但就软件而言多个内核看起来就像一个。可以说是融合了异质架构与同质架构两者优点的技术。 实际上,ARM公司公开的未来应用处理器发展蓝图,从中端到高端的智能手机都并用了Cortex-A15和Cortex-A7,因此估计会采用big.LITTLE技术(见图1)。由此,智能手机在具备高性能的同时,还可延长电池寿命。作为实现这一点的王牌,big.LITTLE技术可以说是很有用的。 通过虚拟化技术掩盖微妙的不同 big.LITTLE技术在内部也采用了颇有意思的封装方法。这就是利用了虚拟化技术。 虽然Cortex-A7与Cortex-A15的ISA是相同的,但是两者在物理上是不同的内核。如果只统一ISA的话,那么内核间还是会存在无法掩盖的微妙不同。 例如,ARM架构中有名为“CP15”的寄存区,可存储CPU内核的ID以及缓存构成的拓扑等信息。ID中包括封装有相关CPU内核的企业ID,以及与CPU内核产品名称相对应的型号等。关于这些信息,Cortex-A7与Cortex-A15必然不同。 big.LITTLE技术通过应用虚拟化技术来掩盖这些不同。如前所述,Cortex-A7与Cortex-A15都采用了虚拟化技术。因此,在这些内核上运行的OS一旦访问CP15寄存器,根据虚拟化机构的原理,就会发生异常陷阱(Exception Trap)。于是,控制任务便会自动转移到OS以下模式运行的虚拟化软件(Hypervisor)上。在Hypervisor上向OS等提示与物理CP15寄存器等不同的信息,由此可以掩盖Cortex-A7与Cortex-A15之间在硬件上的不同。 利用虚拟化原理在软件上“欺骗”OS和应用,由此看起来就像在完全相同的内核上运行一样。ARM公司总裁Tudor Brown表示,“big.LITTLE技术的精髓在于虽然内核的物理性质不同,但从软件来看却完全相同”。 在Cortex-A7中封装虚拟化技术,不仅是为了与前面提到的Cortex-A15确保兼容性,还是为了最终通过Hypervisor消除两个内核间的微妙差异。 加速虚拟化技术在智能手机上的普及 ARM公司在2010年9月发布了该公司首款采用虚拟化技术的内核Cortex-A15,当时未必明确了在移动领域如何利用虚拟化技术。Cortex-A15不同于此前ARM公司的CPU内核产品,专门面向该公司近年着力发展的服务器领域。因此,估计是为了满足该领域的需求,才在Cortex-A15中采用了虚拟化技术。 然而,big.LITTLE技术公布后发现,虚拟化技术实际上可以广泛用于智能手机和平板终端上。ARM公司表示,“最初big.LITTLE项目是与虚拟化技术分别推进的,中途我们认识到可以利用虚拟化技术,于是将两者融合在了一起”。以big.LITTLE技术以及Cortex-A7的引进为契机,此前一直与移动领域无缘的虚拟化技术,将标配在几乎所有的智能手机和平板终端上(见图1)。 在集群间控制一致性 在big.LITTLE技术中,要想使某项任务顺利地从一个内核转移到另一个内核,需要在硬件方面进行改进。具体要求是在不同内核间确保缓存的一致性(Coherency)。 在缓存的一致性控制方面,ARM公司网已经有了“MPCore”多核技术,可以对CPU内核内一次缓存的一致性进行控制。不过,MPCore以最大四核的同质架构多核为前提,不支持big.LITTLE技术这种异质架构多核。 因此,ARM公司针对big.LITTLE技术这种异质架构,在SoC上新设立“集群”(Cluster)这个单位。通过MPCore技术构成的同质架构多核以集群为单位汇总,当在SoC上同时配备不同种类的CPU内核时,需要另外设置新的集群。比如,分别设置一个配备两个Cortex-A7的集群,以及配备两个Cortex-A15的集群(图2)。 集群间的缓存一致性,采用专用的IP内核“CCI(Cache Coherent Tnterconnect)-400”来确保。CCI-400在内部配备了交叉开关。CPU内核内一次缓存的一致性由MPCore技术控制,集群间二级缓存的一致性由CCI-400控制(表1)。 由于可以在Cortex-A15与Cortex-A7之间维持缓存的一致性,因此big.LITTLE技术可在约20μs内完成两个内核间的任务转移。20μs是将CPU内核内部多项寄存器信息转移到其他内核上所需要的时间(图2)。利用基于CCI-400的一致性控制,二级缓存数据可与CPU内核处理并行,从而自动转移到其他内核上。 英伟达也有类似技术 根据负荷情况将阈值电压更高的节电型CPU内核进行切换使用的方法,其实除了ARM公司的big.LITTLE技术外还有其他技术。比如,美国英伟达(NVIDIA)在2011年9月发布的“vSMP(variable Symmetric Multi Processing)”技术。vSMP技术已经用于该公司2011年11月发布的应用处理器“Tegra 3”上,台湾华硕电脑(ASUSTeK Computer)的“Eee Pad TransformerPrime”等平板终端产品已经配备了“Tegra 3”。 Tegra 3配备五个“Cortex-A9”,其中一个用作“协处理内核”,采用漏电流较小的低功耗制造技术形成。虽然不能像big.LITTLE技术那样同时采用微架构不同的内核,但在组合使用电力效率不同的内核这点上,双方是类似的(表1)。 不过,vSMP没有big.LITTLE技术中的集群这一概念,协处理内核以及其他内核直接共享二级缓存。内核间切换所需时间在2ms以内,远远高于big.LITTLE技术的20μs。估计将来会改换成配备更先进系统的big.LITTLE之类的技术。

    时间:2012-05-03 关键词: 智能手机 ARM 电池寿命 多核技术

  • LabVIEW、多核技术及FPGA技术如何改变自动测试

    关键字:LabVIEW、多核技术 FPGA技术 编辑笔记:Eric Starkloff,美国国家仪器的模块化仪器和仪器控制产品营销总监。他将和我们一起讨论影响仪器技术和自动测试的一些变化,以及NI的LabVIEW,多核处理器技术和现场可编程逻辑门阵列(FPGA)技术如何推动下一代测试技术的产生。 问题:在最近这几年里,仪器技术和自动化测试领域发生了什么样的变化? Starkloff回答:我们现在正将处于软件定义的世界里。我们每天使用的设备如智能手机,机顶盒,甚至汽车,这些都是建立在嵌入式软件系统发展的基础之上。对于测试工程师们来说,在开发时间和预算减少的情况下对这些复杂的设备进行测试给他们带来了挑战。现在,测试管理人员和工程师们利用模块化仪器,软件定义体系来应对这些挑战和趋势。 用户定义仪器或测试系统的概念已经不新了。实际上,用户定义仪器已经以虚拟仪器的形式存在了20多年的时间。推动这些趋势进一步发展的技术,已经发展成熟。正是这些技术可以将这种新式的软件定义的模式推向顶峰。参考Web2.0,软件定义的仪器技术和之前仪器技术的差异可以称之为仪器技术2.0了。推动这样的变化的关键技术包括高速PCI总线,多核处理器技术和FPGA技术。 问题:多核处理能够为工程师创建测试系统提供什么样的好处呢? Starkloff回答:处理器的制造商已经提出了将多个CPU集成到一个芯片上的多核处理器,这种多核处理器技术如今已经成基于PC机的应用程序提高执行性能的关键技术。超线程作为改善多线程代码的支持之一也被提出了,超线程也为更高效的利用CPU资源提供了可能。上述这两种技术的结合就会使工程师们开发高密度的处理和高吞吐量的应用程序称为可能,而这两种应用程序在并行的方式下执行时性能会得到提升。 由于多核处理能的执行性能直接取决于一个应用程序的源代码按照什么样的并行方式进行书写,所以,对于希望利用多核处理器进行开发的工程师们来说,软件开发就是他们所面临的一项挑战。双核和多核处理器为软件开发世界带来了很大的冲击,而这种冲击自十多年前面向对象的编程方式产生时就已经开始了。对于软件开发者们来说,这种冲击就像Herb Sutter(一名很有名的C++专家)写到的“免费的午餐时代已经结束!”。传统的顺序编程方法已经不再适用了,所以,软件开发者们需要新的编程模式,比如LabVIEW的图形化并行编程,来充分发挥并行硬件体系的潜在的性能。 问题:是什么使LabVIEW处于multicore-ready软件层的上层? Starkloff回答:工程师如果要在控制应用程序中寻找更快的测试方法或更好的循环频率,那么他们就需要考虑他们要如何执行并行应用程序以及如何利用多核处理器所带来的性能的提高。采用LabVIEW,工程师们就会有一个理想的软件环境来进行并行程序的编写,这都是因为LabVIEW是以数据流为基础的编程语言,以及由LabVIEW实时标准模块和向下渗透的多核支持的软件堆。LabVIEW8.5在1998年推出的LabVIEW5.0的基础上又增加了许多增强多线程性能的功能。 利用LabVIEW进行应用程序开发的时候,最大的优点就是LabVIEW是一种直观的,图形化的编程语言。LabVIEW的数据流的本质就意味着任何时候在框图上都会存在一个分支或者是并行顺序,潜在的LabVIEW的编译器试图创建一个用于并行执行代码的线程。LabVIEW的这种图形化的语言本身就考虑着某种并行化的程度。LabVIEW8.5扩展了能够在桌面系统中应用的自动多线程功能,这样就可以在SMP的支持下在多核实时硬件上开发实时系统。 问题:如果将多核并行处理和像PCI Express这样的总线结合起来的话,将会对测试系统产生怎样的影响呢? Starkloff回答:工程师经常会有一些特殊的测试需求,如执行高性能测量任务、信号处理和定制的信号分析。PCI Express使其成为可能。这种建立在PCI Express总线技术上的解决方案代替固定的,由卖方定义的解决方案。PC总线的带宽和潜在的规范自15年前开始,快速发展至今。从ISA到PCI再到现在的PCI Express,在使用仪器和处理器之间建立了一条快速的、专门的通道。这就使工程师们能够将他们的原始的测试数据重新装载到主PC处理器里进行实时处理和测试分析了。结合并行编程和多核处理器,工程师们还可以在他们的测试系统中增强系统性能和数据处理通道的数量。如果将PCI Express、LabVIEW8.5和多核处理器结合起来的话,不仅可以增加测试的吞吐量,而且还可以将虚拟仪器的应用扩展到新的应用领域中。比如,高速数字测试,中频数据流,多通道数据采集,以及全速图像采集等。利用这些现成的计算机技术,工程师们可以对包括大且贵的卖方定义和其他解决方案进行选择。比如,Eaton公司,这样一个工业产品生产商,通过将基于LabVIEW的系统移植到一个四核心的系统后,成功地使他们的测试系统的运行通道数量增加了4倍。 问题:仪器控制总线,比如GPIB,以太网和USB的发展前景如何? Starkloff回答:GPIB,以太网和USB都是基于计算机的仪器控制的可选方法。GPIB在一起控制中仍然是最常用到的总线,这主要是因为它已经被世人所证明的性能,良好的连通性以及大量的仪器和控制器的配置基础。USB越来越被那些便携式的,快速建立的台式应用所青睐,而以太网则被那些不要求准确的系统时间和同步的高分布式的仪器系统所青睐。 每种仪器控制总线都会依据你的应用类型以及你的仪器上可利用的功能来发挥它们各自的优势。在决定一个应用中要采用哪种总线比较理想之前,充分了解每种总线的相关技术,易用性和交易等是至关重要的。美国国家仪器在它的网站ni.com上,提供了能够帮助培养工程师们了解这些交易的详细信息。工程师们同样需要考虑到一种混合式的总线方式,这种总线方式包括了大量的仪器控制总线的选项,从而工程师们可以就可以最大限度发挥系统的执行性能和灵活性,并且对系统进行在利用。一个基于计算机的仪器平台,比如,PXI,被推荐运用到一个混合式测试的系统中来。通过抑制可能发生的低带宽,高潜在的总线比如以太网的总线瓶颈问题,可以全面的最大化系统的执行性能。 问题:您认为在未来的几年里,使用仪器和自动测试会有怎样的变化呢? Starkloff回答:在这个领域中,一个最被看好的技术就是FPGA。使用FPGA,工程师们可以在设备上定义硬件系统的行为,进行在线处理或分散处理。FPGA由于它内在的并行可靠地执行,同样可以使FPGA有了更快的执行速度。LabVIEW的图形数据流的并行的本质,非常适用于多核应用,这种本质同样对于FPGA技术的优势发挥也很理想。 当FPGA应用到独立的仪器中时,工程师们就不能对这些仪器进行在编程,这对自动测试来说是很关键的一个要求。当然,在一个主双核的处理器上进行不同的处理有很多好处。比如,FPGA非常适用于在点对点的I/O上进行像简单的采样这样的在线分析。但是,在一个主处理器上进行复杂的调制就会得到更好的结果。这是因为复杂的调制过程需要大量的浮点运算。另外,尽管FPGA在进行自动测试的时候具有编译功能和灵活性,但是,这些功能都是需要通过采用硬件描述语言,如Verilog或VHDL等来进行描述,这些语言都是用低级的语法来描述硬件行为的。而大部分测试工程师都不是很精通这些工具。 将FPGA的编程细节用系统水平的工具来抽象就会跨过这个不足。比如,LabVIEW FPGA,可以直接利用一个LabVIEW程序来实现便携式的FPGA以及综合必要的硬件。开发一个分散型的处理系统最理想的方法就是专门的开发环境,比如LabVIEW这种环境可以在主处理器或FPGA中选择一个较好的执行性能将处理过程进行快速的分割。 问题:图形化系统设计对测试来说意味着什么? Starkloff回答:这些年来,美国国家仪器一直在传播虚拟仪器,一个可以对工业发展产生革命性意义的概念。工程师们可以利用虚拟仪器创建能够满足特定需求的用户自定义的系统。图形化系统设计推动虚拟仪器向着更远的方向发展,它也为工程师们带来了利用LabVIEW图形化开发环境和标准FPGA硬件在单独的一个平台上开发他们常用的I/O,信号处理和分析算法的机会。这种方法可以帮助工程师在他们的系统中快速开发常用的测量功能,并且是他们能够尽快的成为仪器设计师。  

    时间:2011-12-21 关键词: FPGA 改变 LabVIEW 多核技术

  • Enea为最新的飞思卡尔多核技术提供支持计划

    Enea宣称,为最新的飞思卡尔多核技术提供Enea Multicore Edition和全面工具的支持计划瑞典斯德哥尔摩、2010年6月22日消息,Enea(NASDAQ OMX Nordic:ENEA)今天宣布,将向飞思卡尔半导体最新的64-bit e5500芯片,还有64-bit P5020产品和32-bit P3041设备提供整套的软件支持。Enea的提供物主要针对Enea OSE? Multicore Edition,其混合型实时操作系统可支持最大范围的对多核处理模式和多核系统开发、调试和优化进行了整合的Enea? Optima工具套件。此外,Enea提供全套的补充软件,其中包括高可用性、数据管理和网络协议。Enea软件与飞思卡尔最新多核通信处理器的结合,为电信设备制造商(TEMs)提供了一个高集成,强力的平台,以构建包括高性能路由器和交换机、长期演进技术(LTE)无线访问终端和无线网络控制器在内的下世代的通信设备。飞思卡尔在多核通信处理器处于领先地位,日前宣布称最新的其QorIQ?系列发布最新更新。其四核QorIQ P3041处理器利用了最先进的P4系列特点,为低端解决方案提供强大的最优化,以扩大产品设计功能范围。在P5020和P5010,飞思卡尔推出了e5500芯片-是其首个基于Power Architecture?嵌入式技术的,可在30W包络功率内最大扩张到2.2GHz的64-bit处理器。高集成P5020和P5010设备的设计,使对高性能要求极高的下世代嵌入式应用程序构建成为可能。“最新的QorIQ多核处理器对性能、电源管理、相互连接和加速引擎增加了强化的差异性,” Enea市场高级副总裁Mathias B?th称:“为了彻底地开发出这些新特性的各个方面,开发者需要一个对哪些新处理器最优化了的多核RTOS和支持工具来优化。”“下世代网络设备所要求的性能需要强大的多核处理器,和软件最优化以便开发出这些设备的能力,”飞思卡尔网络处理器部门副总裁兼部长Brett Butler称:“QorIQ系列通信处理器整合了Enea的OSE Multicore Edition和Enea Optima,提供了一个高性能、灵活的多核平台,以便构建范围更加广泛的通信和关键任务设备。”超过17亿的已配置设备量已经证明,EneaOSE是一个模块化、高性能,全能实时的操作系统,最适合于在可用性和可信度要求很高的复合型多核系统。为了利用最新的飞思卡尔QorIQ多核处理器,Enea OSE Multicore Edition配合使用了选择飞思卡尔软件技术,以实现与飞思卡尔数据路径加速架构(DPAA)更深层次的集成和最优化。使用这些设备于控制、数据包处理和其他应用程序的开发人员可从完全集成的软件平台的使用中,获得更高的性能、低电力消耗和缩短开发周期。整合了OSE的先发实时回应、记忆保护、监控、故障处理和运行程序负载的最优化,以及Enea的最先进平台软件的综合性,为基于要求最优化性能和99.999%乃至更高的真正确定性实时行为,或高可用性的多核架构纠错分布式系统的构建提供了理想的基础。

    时间:2010-07-01 关键词: 飞思卡尔 enea 提供支持 多核技术

  • 摩尔定律无关紧要 多核技术是发展关键

    英特尔创始人戈登-摩尔在1965年预测称,半导体行业将在每12个月内(后来他把这个时间修改为24个月)使芯片上的晶体管数量增加一倍。半个世纪以来,摩尔定律一直是正确的,使计算机价格更便宜,速度更快和更强大。然而,在同样长的时间里,一些专家一直警告称摩尔定律会遇到物理定律的障碍,结束芯片技术的高速增长。但是,专家们预测的情况一直没有发生。英特尔首席技术官Justin Rattner坚持说,英特尔在未来10年的今后几代处理器开发中能够保持晶体管数量翻番的速度。问题并不是容量,而是速度。几年前,微处理器速度达到了3GHz。你不能制作速度更快的微处理器,否则微处理器就会过热和融化。要解决这个问题,半导体行业开始制作多线程芯片,而不是以越来越快的速度做一件事情的芯片。现在,我们已经看到了双核和四核处理器。Rattner说,在未来10年内,我们可能会看到100个内核的处理器,或者内核数量更多的处理器。但是,这提出了一个新问题:如何把这些计算机引擎并排放在一起以便更好地利用它们?操作系统还不适合这种应用。编程语言和工具也不适合多核处理器的应用。事实上,程序员本身也不适合这种应用。程序员过去都是编写在一个处理器引擎上运行的软件,而不是并行运行的软件。微软首席研究与战略官Craig Mundie说,在过去的50年里,我们一直是一种方式做软件的,现在我们正在改变到一种完全不同的模式。并行计算已经出现一段时间了。但是,并行计算目前仅限于高端的超级计算机。为高端超级计算机编写程序是很困难的并且是非常耗费时间的。现在的挑战是让普通的程序员编写并行运行的软件,这是可能的和便宜的方法。Mundie预计微软将研究出这种方法。但是,他没有说是在什么时候。他说,人类的大脑就是并行计算的。编写能够并行计算的软件是让计算机更像人类和不像机器的关键。

    时间:2009-08-21 关键词: 发展 摩尔定律 多核技术

发布文章

技术子站

更多

项目外包