片上网络(NoC)技术发展现状及趋势浅析

发布者:Jinyu2022最新更新时间:2009-02-05 来源: 电子产品世界关键字:片上网络(noc)  存储结构  并行软件  功耗管理 手机看文章 扫描二维码
随时随地手机看文章

引言

  随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实,据ITRS(International Technology Roadmap for Semiconductors,国际半导体技术路线图)预测(见表1),到2010年,单个芯片上的晶体管数目将达到22亿个。如何有效地利用数目众多的晶体管是芯片体系结构必须回答的新问题。倘若因循单核的发展思路,芯片设计将面临互连延迟、存储带宽、功耗极限等性能提升的瓶颈问题。因此,业内普遍认识到,有必要研究新型的芯片体系架构以适应性能增长和功耗下降同时发生这样看似矛盾的需求。多核技术是一条可行之路。多核能够用多个低频率核单元产生超过高频率单核的处理效能,获得较佳的性价比。围绕着多核的一系列技术问题业已成为近期芯片业研究的重点和未来的主要发展方向。

表1  ITRS预测表
 

   按照不同的片上互连方式,多核SoC可分为两大类:传统的基于总线的互连和基于网络的互连。前者是现有SoC的扩展,通过多总线及层次化总线等技术使得片上集成更多的处理器核,从而实现高复杂度和高性能;而后者是近些年提出的崭新的概念,即多处理器核之间采用分组路由的方式进行片内通信,从而克服了由总线互连所带来的各种瓶颈问题,这种片内通信方式称为片上网络(Network on a Chip,NoC)。

NoC概述

  基本概念

  NoC是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络,如图1所示。NoC包括计算和通信两个子系统,计算子系统(图中由PE,Processing Element构成的子系统)完成广义的“计算”任务,PE既可以是现有意义上的CPU、SoC,也可以是各种专用功能的IP核或存储器阵列、可重构硬件等;通信子系统(图中由Switch组成的子系统)负责连接PE,实现计算资源之间的高速通信。通信节点及其间的互连线所构成的网络被称为片上通信网络(On-Chip Network, OCN)[1-3],它借鉴了分布式计算系统的通信方式,用路由和分组交换技术替代传统的片上总线来完成通信任务。

图1 典型的NoC结构示意图

  NoC技术优势分析

  基于分组路由方式进行片上通信的NoC在片上通信方式、功耗、基于重用的设计方法学、解决单一时钟全局同步等方面都具有优越性。

  ·有利于提高通讯带宽

  总线结构是现有芯片架构的通信脉络,随着电路规模越来越大,总线结构将成为芯片设计的瓶颈:虽然总线可以有效地连接多个通信方,但总线地址资源并不能随着计算单元的增加而无限扩展;虽然总线可由多用户共享,但一条总线无法支持一对以上的用户同时通信,即串行访问机制导致了通信的瓶颈。此外,片上通信是功耗的主要来源,庞大的时钟网络与总线的功耗将占据芯片总功耗的绝大部分。

  NoC的网络拓扑结构提供了良好的可扩展性;NoC连线网络提供了良好的并行通信能力,从而使得通信带宽增加几个数量级;此外,NoC将长的互连线变成交换开关之间互相连接的短连线,这对功耗控制变得极为有利;另一方面,NoC借鉴了通讯协议中的分层思想,这就为从物理级到应用级的全面功耗控制提供了可能。

  ·有利于提升重用设计

  总线架构可扩展性和可重用性差,为此在芯片计算能力演变时,必须跟随着处理能力的需求而变更设计(如更高的内存宽度、更高的频率、更灵活的同步或异步设计等等),每一代芯片的推出都伴随着程度不等的设计变更,这对于开发人员而言是相当大的负担。若是将通信架构独立设计,并且运用更具弹性的技术,对于缩短设计周期、减少开发成本都有不小的帮助。

  由于NoC所使用的通信协议层本身属于独立的资源,因此提供了支持高效率可重用设计方法学的体系结构:现有规模的SoC可以基于片上通信协议作为计算节点“即插即用”于NoC的网络节点;给定的互连拓扑结构使得芯片集成可以采用基于片上通信的设计方法(Communication-based Design,CBD)来完成。通信和计算完全分离的技术(也就是通信与计算的正交设计)将重用范围从计算单元可重用扩展到计算与通信单元皆可重用的层次,从而大大提升了重用设计的水平。

  ·有利于解决全局同步的难题

  纳米工艺所带来的各种物理效应使得片上全局同步越来越困难。当采用50nm工艺,时钟频率为10GHz时,全局线延迟将达6~10个时钟周期,时钟偏斜(Skew)变得难以控制,而时钟树又是影响芯片功耗和成本的一个主要因素。这些问题,随着集成器件尺寸越来越小,时钟频率越来越高,将变得越来越突出。

  NoC的片内网络通信方式,资源之间的短线互连和天然的全局异步局部同步(GALS)时钟策略等特性是解决这些问题有效途径。

  总而言之,研究NoC设计方法和设计技术是满足纳米工艺条件下高集成度芯片发展的必然需求。

NoC设计空间

  完整的NoC设计方法学包括很多方面的问题,它们对NoC的发展都是至关重要的,且已经引起了学术界的广泛研究。Carnegie Mellon大学的U.Y. Ogras等人在文献[4]中提出了NoC设计空间的概念并将NoC研究归纳为三大类关键问题:基础架构、通讯机制和映射优化,如图2所示。

图2  NoC设计空间示意图

  图中,“Hard NoC”(网格部分)指基本架构确定,各PE节点的内容也固定的一类NoC结构,其设计空间只是图中一矩形部分,设计余度最小;“Firm NoC”(灰色阴影空间)指其基本架构已确定,网络通道宽度与通讯节点缓存大小不确定,其他维度对设计者完全自由的一类NoC结构,设计者可以根据确定的应用实现最优的布图规划、通讯调度与任务分配算法、IP映射算法和路由交换解决方案,设计空间比较灵活;“Soft NoC”(白色立方体部分)指设计者需要根据应用来优化NoC设计空间的所有问题,设计灵活性最高,但设计难度和工作量也相应最大。

  设计者根据给定的具体应用,依据应用特征图(Application Characterization Graph,APCG),在时间、成本、技术储备等约束条件下,首先按应用选择基于哪类NoC开展设计;其次在该类NoC的设计空间范围内解决相应关键问题,以探索最优的NoC实现方案。

NoC关键技术难点

  NoC关键技术主要包括系统建模、拓扑结构、路由方法、交换方法、缓存策略、服务质量和映射优化等,近年来都不同程度地取得研究进展,而阻碍NoC走向大规模应用的瓶颈在于以下几方面:

  存储结构问题

  Memory是NoC中十分重要的组件,在现有的片上多处理器系统中,存储器占到70%的芯片面积,并且在不久的将来会上升到90%[5];而从能耗的角度来看,存储器所引入的功耗也可达系统功耗的90%[6],这对芯片的散热、封装和可靠性等都带来了严重的问题;NoC系统需要大量的存储元件,并被组织成复杂的存储子系统(memory subsystem),这个存储子系统将支持NoC的并行数据存储、传输及交换。NoC中大量的存储资源必将占用多个路由节点,且由于处理单元与存储资源之间的数据交换非常频繁,若在数据包传输路径上路由节点数目过多,会带来很大的通信延时。如何有效缩短源节点到目的节点间的距离对提高整个NoC系统性能十分关键。

[page]

  再者,从通信带宽的角度,随着工艺的进步,计算访存比进一步增大,意味着基于该结构获得接近峰值性能的应用算法越少。这就引入了一系列问题,如何让众多处理器核有足够的数据可算?如何更充分地利用片上有限存储空间实现核间共享,以避免片外访存?如何充分利用有限访存带宽,尽量让访存通道优先满足处于关键路径处理器核的访问请求?最近美国Sandia国家实验室提出在多核处理器芯片上堆叠存储芯片,来解决带宽增长不足的问题,这或许是一种可行的方案。

  总而言之,片上存储结构已经成为影响NoC性能的关键因素之一。

  软件并行化问题

  未来的基于多核的高性能处理芯片可能会遇到很多传统的串行程序自动并行化方法较难实施的应用。如果不能有效地利用NoC片上并行处理资源,则并行计算的实际性能将会很低,因此如何通过有效的方法和模型,充分地利用NoC的众多处理单元,并极大地降低应用的开发难度,便成为迫切需要解决的问题。

  与并行计算机发展过程中遇到的问题相类似,NoC并行处理体系结构所面临的主要问题是如何将应用中蕴含的不同层次、不同粒度的并行性有效地提取出来并映射到多核的并行硬件结构上去。这一问题的解决涉及包括程序设计模型、程序设计语言、编译系统及硬件支撑等在内的多个方面。

  总体来说,开发并行程序可以有三种途径,一是串行程序自动并行化。这条路目前尚未走通,更为实际的目标应为人机交互的自动并行化;二是设计全新的并行程序设计语言。这种方法的缺点是需要全部改写原有程序,对用户来说成本和风险也很高,且效率不能保证。但是,随着多核的出现,若面向大众推广并行计算环境,就必须有一种新的容易被接受的程序设计语言。目前国际上正在研究的新兴并行程序设计语言如IBM的X10、UPC(统一并行 C语言,C语言的扩展)和Titanmin(Java的扩展)等;第三条途径就是串行语言加并行库或伪注释制导语句的扩展,也即增加一个库或一些新的制导语句来帮助进行消息传递和并行。这正是MPI和OpenMP所采取的途径,也是目前比较容易被接受且性能较高的途径。但其程序开发效率很低,难度也比较大[7]。

  功耗管理问题

  虽然NoC有助于提高芯片的能效(Energy-Efficiency),但不能忽视,由于多核系统片上集成规模的大幅度增加,功耗问题依然突出。如何在NoC设计中提高能效,对众多计算资源进行调度管理以最大限度降低功耗依然是NoC设计所面临的重要问题之一。

  从体系结构角度看,NoC主要包括处理器核、核间互连以及片上存储三个主要部分。NoC的低功耗研究可以围绕功耗评估,处理器核功耗优化,片上网络功耗优化以及片上存储功耗优化这四个方面对各部分展开,其中功耗评估是NoC低功耗设计的基础。

  功耗是导致包括NoC在内的多核技术出现的重要诱因,也是片上多处理器设计的重要制约因素。对于NoC的不同设计模块和设计层次,都存在行之有效的降低功耗的方法,而这些方法又可能是互相牵制,互相影响的。因此需要贯穿NoC体系结构到电路工艺的各方面的丰富知识,才能在设计早期做出正确的多核架构的选择[8]。一般而言,从越高的设计抽象层次入手考虑低功耗设计问题,则可获得的降低功耗的效率就越大。

NoC发展趋势

  技术发展趋势

  ·向层次化众核方向发展

  微软公司2007年6月在美国西雅图召开了第一个以ManyCore(众核)为主题的研讨会(Workshop),标志着众核设计已经成为技术发展的趋势和学术研究的热点。

  集成电路设计总是想方设法把现有的各种电子电路乃至计算系统集成到单一芯片上,因此计算机体系结构历来是集成电路片上系统架构的参考体系。超级计算机是最强大的计算机,充分参考超级计算机的体系结构是设计多核处理器的基本思路。超级计算机体系架构的基本特征就是小核大阵列和层次化管理。无论是世界排名第一的Roadrunner(122400个核),还是排名第二的BlueGene/L(212992个核),如图3所示,都是采用高性能、层次化、可扩展的巨大阵列,连接数目众多的普通微处理器(小核)来保障最优的性能。超级计算机告诉我们,小核大阵列和层次化管理必将成为众核处理器的主流技术发展方向。

图3  BlueGene/L的层次化阵列结构

  ·向三维NoC方向发展

  ITRS 2007年版阐述了More Moore(延伸摩尔定律)和More than Moore(超越摩尔定律)两个概念,如图4所示,其中延伸摩尔定律是按照等比例缩小继续走微细化的道路,而超越摩尔定律追求的是功能多样化,并指出下一代SoC(NoC)与SiP技术融合的发展趋势。

图4  ITRS 2007年版摩尔定律诠释图

  正如ITRS所预测,在工艺技术发展和设计技术需求的双重驱动下,三维集成(又称为系统级封装,SiP)技术愈来愈受到学术界和工业界的关注和重视。NoC虽然克服了全局延迟过长带来的信号完整性及全局同步等一系列问题,但并没有在根本上解决缩短物理连线,减小信号时延的问题。由于二维 NoC布局条件的限制,难以保证关键部件相邻以缩短关键路径长度,而三维集成技术可把不同的器件层堆叠起来,不仅在真正意义上缩短了连线的长度,并克服这种布局的限制。因此把NoC和三维集成这两种设计技术融合起来的三维 NoC就显得自然且引人。

  三维NoC是在单个芯片上将资源节点(Resource)分布在不同的物理层上,并用三维立体架构实现资源间的互连,以构建高带宽、低延时、低功耗的NoC系统。典型的三维Mesh结构NoC如图5所示。三维 NoC是一个崭新的研究话题,近两年才在国际上被提出(最早一篇相关研究论文于2005年公开发表[9])。目前从事该领域研究的学术机构包括美国斯坦福大学、加州理工大学、宾州州立大学、华盛顿州立大学,瑞典皇家工学院、日本的Keio University,加拿大的不列颠哥伦比亚大学,以及Intel、Toshiba等大公司的研究中心。可见,三维NoC已经引起了国际上学术界和产业界的注意,很可能在未来几年内发展成为一个重要的研究领域,并得到广泛的关注。

图5  三维NoC示意图

  产业发展趋势

  多核技术在产业界已有广泛应用。从Intel、AMD、SUN、CISCO等国际老牌企业,到PicoChip(2000年成立)、Ambric(2003年成立)、Tilera(2004年成立)等新兴公司,多核产品层出不穷;从超级计算机到PC机,从路由器等宽带应用到多媒体等嵌入式市场,多核产品逐渐广为人知。

图6  多核技术市场容量图(来自VDC Research)


  VDC Research于2007年发表了《多核计算的嵌入式应用:全球市场机会与需求分析》。报告分析了多核技术从2006年到2011年的市场需求走势,如图6所示。图中的纵轴是以2006年总值为单位1,其他年份与2006年相比多核产品市场总额的倍数关系。研究表明,多核技术到2011年,嵌入式应用领域的市场总额将超过2007年的6倍,超过2006的44倍。如此快速的增长速度决定了我国不应该介入太晚,否则就只能再次走“产品跟踪”的老路。

结语

  包括NoC在内的多核技术是通用处理器技术升级的大方向已成为业内共识。多核技术是当代集成电路设计的战略性技术,它以很低的功率消耗、较强的并行处理以及优异的计算性能,征服了人们对集成电路性能的追求,“成为业界的重要里程碑”(Intel总裁语)。

  先进的NoC结构可以通过集成现有的百兆频率核形成高性能多核处理器,大大降低了技术门槛,为中等设计公司带来了机会,目前已有一批中等公司和新兴公司在多核领域崭露头角,“国际寡头”垄断高性能处理器的格局正在发生变化。对我国现有设计能力而言,即使不能“一步登天”,但完全可以做到“所想即所得”,这亦为我国发展自主产权的高性能处理器产业提供了宝贵的契机。

关键字:片上网络(noc)  存储结构  并行软件  功耗管理 引用地址:片上网络(NoC)技术发展现状及趋势浅析

上一篇:基于多任务嵌入式应用的MP3实时解码系统
下一篇:飞思卡尔32位工业连接解决方案简化嵌入式开发

推荐阅读最新更新时间:2024-03-16 12:24

数字电源系统管理降低数据中心的功耗
好几年以来,许多公司都对数字电源进行了大肆的宣传,有的公司认为:数字电源包括数字功能和一个带电源的通信链路。另有一些公司则表示:数字电源是一种具有一颗采用数字脉宽调制(PWM)内置芯片的状态机。还有一些厂家指出:数字电源包括一个运行某种算法(该算法用于补偿控制环路)的通用型数字信号处理器(DSP),而且仅仅依靠一根串行总线并不能提供数字电源解决方案。甚至有其他公司认为:数字电源具有一个带状态机或DSP的数字PWM环路。所有这些描述都可以说是令人大惑不解、无所适从,而且部分此类方法并不能产生优良的性能。但是,在数字电源设计正确的情况下,它就能够降低数据中心的功耗、缩短产品的面市时间、拥有卓越的稳定性和瞬态响应性能、并提高总体系统的可
[电源管理]
MCS-51单片机的存储器组织结构
特点:哈佛结构,程序存储器与数据存储器分开,两者各有一个相互独立的64K(0x0000 ~ 0xFFFF)的寻址空间(准确地说,内部数据存储器与外部数据存储器不是一回事)。 程序存储器: ① 用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。 ② 为只读存储器。注意,这里的“只读”,是指单片机(CPU)在正常工作时对其的访问方式是只读的;而现在大多数单片机的程序存储器(不管是内部还是外部)都采用了FLASH ROM,来取代以前所用的ROM、E2PROM等,可方便地进行在线编程(ISP)。 ③ 标准8051的内部程序存储器大小为4KB(0x0000 ~ 0x0FFF);而具体的
[单片机]
STM8 低功耗时钟管理
  第一次做低功耗设备,单片机 STM8s003 ,起初只设置了进入 Halt模式,IO配置是使用之前的状态。客户测试结果,9v的电池,10天电压损失比率为 13.5%。   自己做了下测试,运行状态电流 -- 7.2mA,待机电流 1.6mA.   首次改进,由于使用的是外部上拉,在进入 Halt模式前将单片机 IO全部配置为浮空输入状态,按键使用的 IO加上下降沿触发中。测试结果:运行状态电流 6.7mA;待机电流 133uA.   第二次改进,将 12M的内部时钟 4分频,CPU时钟 4分频,外设时钟只保留两个定时器和一个看门狗;测试结果:运行状态电流 2.36mA;待机电流 127uA. 经理说还是太大,至少要降到两位数,
[单片机]
51单片机教程:单片机存储结构
单片机内部存储结构分析 我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。 数的本质和物理现象:
[单片机]
51单片机教程:单片机<font color='red'>存储</font>器<font color='red'>结构</font>
寻找一种CMOS替代显得至关重要
  由于光刻的线宽接近10nm,寻找一种CMOS的替代就显得至关重要。互补金属氧化物半导体的结构将不再那么顺利调整这样的几何尺寸。   在追求一种新的制造电路和系统的方式,在将这种革命性物质应用到前所未有密度和功能的设备和系统时,研究人员不得不操纵精确到原子或原子的新兴材料,即使是在超低功耗和材料消耗的情况下。对于从CMOS无缝过度到其他基于这个新材料和新合成技术的逻辑和存储设备的需求有三个方向:纳米线和点、份子存储器和自旋装置。不管芯片制造变出什么样的大事件,它将引导计算领域数十年。
[模拟电子]
动态时钟配置下的SoC低功耗管理
摘要:随着芯片集成度的提高,对一些功能复杂的系统芯片功耗的管理,已经引起大家越来越多的重视,如何控制好SoC的功耗将成为芯片能否成功的重要因素。本文提出一种通过动态管理时钟的策略,达到降低整个SoC芯片功耗的目的;同时,分析动态管理时钟方案中可能会出现的一些问题,并给出解决方案。 关键词:系统芯片 毛刺 AMBA 总线 时滞 引 言 随着集成电路技术的飞速发展和对消费类电子产品——特别是便携式(移动)面向客户的电子产品的需求,推动了SoC(System on Chip)的飞速发展,也给人们提出了许多新的课题 。对于电池驱动的SoC芯片,已不能再只考虑它优化空间的两个方面——速度(performance)和面积(cost),而必须
[电源管理]
SHARC并行系统软件设计方法
  随着数字信号处理(Digital Signal ProcESSor,DSP)技术的发展,DSP已被广泛应用于雷达、通信等领域。虽然DSP经历了几代的发展,运算速度和能力都有了很大的提高,但在很多情况下,单片DSP已经不能满足实时处理的要求,必须寻求多片DSP并行处理的方案。   从系统结构出发可以将并行系统分为共享存储器并行系统和分布存储器并行系统。AD公司推出的SHARC系列DSP芯片同时支持这二种并行处理器结构。通常,将AD公司的一系列双位高性能浮点DSP称为SHARC(Super Harvard Architecture)。对于共享存储器系统,通过SHARC间的外部共享总线实现。对于分布存储器系统,通过2个SHARC间的
[嵌入式]
SHARC<font color='red'>并行</font>系统<font color='red'>软件</font>设计方法
降低功耗与性能并举的电源管理技术SmartReflex
引言:尽管芯片级集成、亚微米制造工艺都有助于减小手机的尺寸并实现更多的功能,但是更小的亚微米工艺会加剧静态漏电流问题。于是便携式移动设备制造商面临既要降低功耗又要增强系统性能的艰巨挑战。本文讨论的SmartReflex技术可在SoC芯片级实现具有智能、自适应功能的电源和性能管理解决方案。 图1:SmartReflex技术框架。 今天的无线移动设备功率预算面临着空前的挑战,只有功能强大的完整 电源管理 方法才能解决这些挑战。这种方法开始于工艺技术,并逐步向硬件、系统级芯片(SoC)架构和软件方面发展。 无线运营商强烈呼吁在手机中增加更多的功能,以使他们能开发出增加每用户平均收入(ARPU)的新业务。而用户也希望获得新的功
[电源管理]
降低<font color='red'>功耗</font>与性能并举的电源<font color='red'>管理</font>技术SmartReflex
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved