片上系统

2024-06-03

片上系统(精选8篇)

片上系统 篇1

日前, 德州仪器 (TI) 宣布推出一款基于TI多核数字信号处理器 (DSP) 的新型片上系统 (SoC) 架构, 该架构在业界性能最高的CPU中同时集成了定点和浮点功能, 可为厂商加速无线基站、媒体网关以及视频基础架构设备等基础局端产品的开发提供通用平台。

主要特性与优势:

·创新型SoC架构中的多个高性能DSP可实现高达1.2 GHz的工作频率;

·每个DSP内核均集成定点与浮点处理功能, 完美地结合了易用性和无与伦比的信号处理性能;

·性能稳健的工具套件、专用软件库和平台软件有助于缩短开发周期, 提高调试与分析的效率;

·与其他SoC相比, 每个内核的DMA能力增强5倍、存储器容量提高2倍, 能够确保为客户提供高度稳定的应用性能;

·丰富的产品系列包括了各种器件, 如适用于无线基站的4核器件, 以及适用于媒体网关与网络应用的8核器件;

·TI多核导航器支持内核与存储器存取之间的直接通信, 从而解放外设存取, 充分释放多核性能;

·片上交换架构可为所有SoC组成部分提供高带宽和低时延互连;

·多核共享存储器控制器可加快片上及外接存储器存取速度;

·高性能1层、2层与网络协处理器。

供货情况

新型的多内核产品系列预计将于2010年下半年开始提供样片。

片上网络技术发展现状及趋势浅析 篇2

摘要:半导体制造工艺的快速发展使得片上可以集成更大规模的硬件资源,片上网络的研究试图解决芯片中全局通信问题,使得从基于计算的设计转变为基于通信的设计,并实现可扩展的通信架构。本文回顾和总结了现有NoC研究工作,指出NoC是当前片上通信发展的主流趋势,并分析了当前NoC关键技术瓶颈,最后预测了多核的技术和产业发展趋势。

关键词:片上网络(NoC);存储结构;并行软件;功耗管理

引言

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

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

NOC概述

基本概念

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

NoO技术优势分析

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

·有利于提高通信带宽

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

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

·有利于提升重用设计

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

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

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

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

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

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

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

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

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

NoC实现方案。

NoC关键技术难点

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

存储结构问题

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

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

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

软件并行化问题

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

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

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

功耗管理问题

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

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

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

NOC发展趋势

技术发展趋势

·向层次化众核方向发展

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

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

·向三维NoC方向发展

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

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

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

产业发展趋势

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

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

结语

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

片上系统 篇3

众核系统中, 核之间的通信能力对其可靠性至关重要。目前No C是主流的通信方式之一。No C (Network on Chip) 的概念是在本世纪初以瑞典皇家理工学院为代表的研究机构首次提出。No C架构将许多核集成在一块芯片上, 核之间通过路由节点进行数据交换。根据不同的交换模式又可以分为电路交换和包交换[2]。图1所示是典型的3乘以3的2D-Mesh结构No C架构图, 该架构主要由核节点、路由节点和通信链路组成。Mesh结构是最广泛、最易于实现的一种结构, 也是通常用于可靠性研究的结构。本文分析主要针对这种架构。

众核No C架构系统和单核系统一样, 面对临时性错误 (软错误) 和永久性错误 (硬错误) 两种类型错误的严峻挑战。同时作为不同于单核系统的多核架构, 又存在着错误表现上的特殊性。可以粗略的将众核架构系统发生的错误分为三类:核错误, 在这种情况下, 错误核无法正常完成分配的任务, 传输给本地路由的数据包含大量错误数据, 经过不断的累积可能导致系统崩溃;路由错误, 在路由节点上发生的错误, 这种错误可能导致本地核节点被隔绝, 也有可能导致所有经过错误路由节点的信息失效;链路错误, 这种错误只会导致两个路由节点或者路由和本地核节点之间的通信失效, 是影响较小的一种错误。在极端情况下, 如图1中, 路由节点R3、R4和R5都已经失效, 这三个路由器将整个系统分割为上下两个孤立的子系统。这两个子系统完全无法通信, 直接导致系统崩溃。

相对于单核系统, 众核系统拥有更加强大的容错潜力。在Noc架构中, 可能存在多个冗余的连接线, 路由器和处理器核, 为提升可靠性提供了可能性。通过充分利用这部分冗余的资源, 众核系统拥有更加丰富的容错技术, 从而获得更加高的可靠性。对于基于片上网络众核系统容错技术的研究, 国内外的研究者做了大量的工作, 本文针对几种现有的众核系统容错技术进行介绍和分析。

1 众核系统容错技术

容错技术是以冗余为基本思想, 通过添加超过系统性能需求的资源, 提高系统的复杂度来提高系统的容错能力[3]。在这样的冗余设计上, 一个部分出现了错误, 不会影响整个系统的工作。有的系统具有重构功能, 错误的冗余部分可以得到恢复从而恢复系统的容错能力。

冗余设计可以分为硬件冗余、时间冗余以及信息冗余[1]。硬件冗余通过增加硬件设备, 构成自检电路、多模冗余或者备份部件。自检电路可以在没有外部器件的辅助下检测系统是否发生错误。在局部发生错误的时候, 多模冗余可以通过表决器产生正确的结果, 备份部件可以替换错误部件, 维持系统的正常运行。时间冗余是通过多次重复运算达到容错的目的。一方面可以通过对一个运算进行多次运行, 对比结果获得正确结果;一方面可以在检测到错误的情况下进行程序卷回, 卷回到检查点进行重新运算。信息冗余主要是指通过添加额外的信息位来提高数据的可靠性。通常使用检错码发现数据中的错误, 或者使用纠错码来纠正数据中的错误。另外还有一些冗余设计, 通过特殊的软件或者硬件, 屏蔽错误部分, 重新组合等方式减少错误对系统的影响。

针对故障产生原因可以把故障分为两类, 软错误和硬错误。软错误是指由高能射线、环境噪声等引起的信号或者存储信息的瞬间改变, 导致系统产生的错误。软错误可以修复。硬错误则是硬件上由于老化、氧化物击穿、电迁移等因素造成的物理性损坏。硬错误无法修复。

针对两类故障类型, 可以把应用的容错技术分为两大类, 软错误容错技术和硬错误容错技术。下面将分别介绍。

1.1 软错误容错技术

众核系统架构为硬件冗余提供了大量的资源。不同于单核系统, 冗余部分可以配置在其它运算核上, 通过不同运算核进行运算, 再由表决核输出最终结果。通常情况下, 由于软错误的可恢复性, 在通过冗余过滤掉错误的信息之后, 可以通过重构同步等策略恢复系统的容错能力。下面介绍两种较独特的冗余方案。

(1) Christopher Zimmer提出了一种基于多模冗余和不同复杂度构成的影子任务的提高系统电路可靠性的方法[4]。在这种方法中, 同样任务的多种版本在不同的运算单元里面运行。区别在于运算的复杂程度不同以及输入输出的复杂程度不同。系统的运算流程如图2所示。

系统的输入分为复杂输入和简单输入等几种不同的输入信号, 分别进入不同任务版本中进行运算, 图2中, 实线表示复杂信号流, 虚线表示简单信号流。不同的输出信号在数据检查器中进行比较。并且数据检查器输出不同影子任务所需要的输入信号。当数据检查器发现某一部分信号错误的时候, 若是简单信号出错, 可以根据复杂信号分离出简单信号传输给简单版本任务。若是复杂信号出错, 复杂任务需要暂停等待系统修复, 简单任务可以继续进行。

(2) Katsuyoshi Matsumoto提出了一种新的三模冗余结构———状态三模冗余[5]。模冗余通常只依靠投票器来产生最终结果, 一旦有两个模块发生错误便会导致输出错误的结果。状态三模冗余如图3所示。

状态三模冗余的输出不仅取决于投票器产生的结果, 还会依靠状态分析单元存储的历史信息。状态分析单元中, As, Bs和Cs为三个模块的状态分析寄存器, 每当发现某一个模块发生错误的时候, 相对应的寄存器就会记录下这个错误, 并根据一定的算法来决定最终的输出。相比于通常使用的三模冗余, 状态三模冗余拥有更加强的容错能力。

1.2 硬错误容错技术

针对无法修复的硬错误, 众核系统由于其冗余资源分配方便, 具有与生俱来的优越性。国内外研究者在针对硬错误方面提供了独特的方案:利用多种传输路径可以绕过损坏的路由和链路, 利用空余的核可以配置损坏核的工作, 恢复系统功能, 也可以利用邻近资源来替代已损坏的部件。下面将分别介绍几种典型的容错技术方案。

(1) Holm Rauchfuss提出了一种基于运算核重布局的可靠性提升策略[6]。部分运算核在工作的时候, 会出现失效或者性能无法满足设计要求的情况。在设计的时候, 留出冗余运算核作为工作运算核重布局的预留位置, 当检测器发现工作运算核性能或者可靠性下降的时候, 表明该系统已经受到了威胁。控制器接收到威胁信号并通过重新布局运算核, 完成相关连线配置, 运行备份运算核来恢复系统的性能和可靠性。

重布局方案分为冷重布局, 温重布局和热重布局三种, 如图4所示。在冷重布局方案中, 系统开始并不需要配置工作核的一个备份位置和相应的链路连接, 但是当激活了重布局。控制器先选取一个冗余的空闲核作为重新布局的位置, 然后重新配置该核与损坏核相同的工作。然后配置好链路连接并同步核的状态。之后, 备份的核正式接替原核开始工作, 并标记原核已经失效。同时可以关闭原核的电源以减小功耗。在温重布局方案中, 一个备份核在系统开始工作时已配置好, 但没有运行。系统运行时需要将原核的工作的状态及时传递给该备份。因此, 连线也是配置完成的。这种布局策略较前一种冷重布局需要占用更多的资源。热重布局方案和温重布局方案基本上相同, 区别在于运行时。原核和备份核均在正常运行。在重新布局的时候只需要切换一次即可。这种重布局方式延时最低, 但是占用的资源和功耗最高。

(2) Yung-Chang Chang提出了利用空余路由绕过链路以及路由永久性错误的方案[7]。针对于由于链路或者路由失效引起的运算核隔离, 空余路由策略能够通过改变核到路由的连接来绕过失效的路由器或者链路。该方案在No C架构上, 每一列都添加一个冗余路由。每一个运算核都连接在一列相邻的两个路由器上, 如图5所示。图5中只给出了三个核的连接状态。当运算核与路由之间链路发生错误或者路由节点发生错误, 错误点及以北的核连接到北方路由, 同时冗余路由开始使用, 消除错误链路和路由带来的影响。

同时, 为了防止极端情况下整个阵列被分隔成几个独立的部分, 通过添加多路选择器, 给数据添加绕行通路。当有路由出现错误的时候, 可以通过选择器绕过出错的路由以防止系统产生隔断。图6给出了南北方向绕行链路的示意图, 东西方向与南北方向类似。

(3) David Fick提出了一种自适应路由的方案[8]。在包交换的No C传输策略过程中, 每一个路由器都拥有一个路由表, 信息通过查找路由表得到传输路径, 如图7所示。

非自适应路由的路由表是固定的, 如图7 (a) 所示, 一旦制定好就无法改变。当到达下游的路径失效, 该包信息便不能正常到达目的节点。自适应路由与非自适应路由的区别在于, 自适应路由拥有一个重新配置路由表的机制。在检测到下游链路不通的时候, 可以通过重新配置路由表使得信息能够正常到达目的节点的路径。在该方案中, 路由表如图7 (b) 所示, 较通常路由表多了一位标志位。

重新配置路由表的示意图如图8所示, 图中给出了前面三步。重行配置路由表时, 初始状态为除目的地路由表本地位置标记为有效, 其余路由的路由表相应位置均标记为无效。重复执行以下两步:①所有到达目的地连接置为有效的路由向所有相邻的路由发送一个标记信息。②所有到达目的地连接为无效的路由一旦接收到标记信息, 首先将连接置为有效并且根据一定的规则选取最佳路径写入到路由表之中。

(4) Caroline Concatto提出了一种可重构的先进先出队列[9]。给出了一种新的路由器队列的设计。图9给出了路由器南面队列的示意图。

在检测到队列中某一个触发器发生硬错误的时候, 并不会导致整个队列的无法使用。仅仅是一个缓存单元被隔离出来, 其他部分正常工作。当该队列通道全部被占用时, 则需要使用相邻链路中队列的缓存单元来替代出错的缓存单元。南面队列可以通过东西两面的队列代替错误的缓存单元存储数据, 也可以代替东西两面队列错误的缓存单元, 存储从东和西面输入的数据。

(5) 冗余传输策略。目前比较成熟的传输策略为泛洪算法 (flooding algorithm) 和随机游走算法 (random walk algorithm) [10]。泛洪算法可以概括为:每当有一个信息需要传输, 该信息会以概率P发送给相邻的节点, 以概率1-P不发送给某一相邻节点。接收到信息节点重复以上步骤直到目的节点, 如图10所示, 图中灰色路由节点为目的节点位置。

随机游走算法概括为:每一个接收到信息的节点, 需要以一定的概率传输给相邻的某一个节点, 如图11所示, 图中灰色路由节点为目的节点位置。

在随机游走算法中, 为了保证有信息到达目的节点, 通常第一二歩会采取泛洪算法或者必定向相邻节点发送信息。图中第一步采用了泛洪算法, 之后进行随机游走, 按一定概率随机发送给相邻节点。

冗余传输策略会出现大量冗余信息, 有可能造成通信堵塞。

1.3 技术总结

前文介绍的方案, 从不同的设计中提高了系统的容错能力, 但又同时存在自身的缺点。不同复杂度构成影子任务的方法, 不仅需要大量冗余资源, 还需要设计者设计多种不同版本的硬件, 造成研发时间延长。状态三模冗余相对于三模冗余资源需求和时间延迟均有所提高。运算重布局方案需要在设计时预留大量硬件资源, 并且功耗会大大增加。空余路由策略需要增加一排空余路由, 并且需要添加大量多路选择器, 面积代价较大。自适应路由在重新配置路由表时, 需要大量的时间代价。可重构的先进先出队列策略相对来说功能比较局限于队列本身。冗余传输策略会在阵列中发布大量冗余信息, 有可能造成通信堵塞。

虽然现有的方案有着不同的局限性, 众核系统可靠性研究经历多年, 仍然取得了令人瞩目的研究成果, 大大提高了众核系统的平均使用时间。然而随着人们对系统可靠性越来越重视, 对系统稳定工作时间要求越来越高, 众核系统可靠性研究仍然会有很多挑战等待着被研究和解决。

(1) 针对众核系统大量冗余资源, 冗余方式需要进一步多样化。对于重要的任务可以通过多个运算核同时进行运算, 并且可以使用不同版本方案来进行同一个任务。另外, 不仅可以考虑运算核整个的冗余, 也可以同时细节到运算核内部的某一个模块, 特别是关键计算和数据部分。

(2) 采取合适的通信结构。目前No C普遍采取2D-Mesh结构。这些结构在布线等方面有着一定优势。研究者通常在研究No C结构时着重于性能、功耗和延时这几个方面。在以后的研究中, No C结构的研究将着重于可靠性方面, 通过优化后的结构提高众核系统的可靠性。

(3) 研究更加优化的通信策略。将已有的通信策略进行优化。目前的通信策略在提升可靠性的同时, 付出了太高的信息冗余代价, 非常容易造成数据传输堵塞。将来的研究中需要探索代价低, 通信效率高, 可靠性提高程度高的通信策略。

2 结束语

随着半导体工艺水平不断提高, 芯片集成度越来越高, 从事芯片设计的研究者越来越认识到系统的容错能力对于一个系统的必要性和重要性。尤其在一些高精尖的领域, 一个微小的错误甚至可以带来无法挽回的损失。在一些人无法到达的地方, 比如外太空, 高温以及高辐射的环境下, 需要系统具有相当强的容错能力和自修复能力, 已完成长时间的工作。对于一个系统, 仅仅拥有高效的运行效率是远远不够的。众核系统因为拥有大量冗余资源, 不仅可以通过并行运算提高整个系统的运行效率, 还可以利用冗余资源采用更加丰富的容错策略提高自身的容错能力。众核系统会在将来因为高效和高可靠性成为电子信息世界的主导者。众核系统必然会在将来对电子信息产业产生更加深远的影响和发挥更大的作用。

参考文献

[1]高唯天.片上路由器及其可靠性的研究与容错设计[D].华中科技大学, 2010.

[2]董文箫.片上网络低功耗设计研究[D].浙江大学信息与电子工程学系, 2010.

[3]李海泉, 李刚.系统可靠性分析与设计[M].北京:科学出版社, 2003:229-231.

[4]Zimmer C, Mueller F.Fault Resilient Real-Time Design for NoC Architectures[C].IEEE/ACM Third International Conference on Cyber-Physical Systems, 2012:75-84.

[5]Matsumoto K, Uehara M, Mori H.Evaluating the Fault Tolerance of Stateful TMR[C].13th International Conference on Network-Based Information Systems, 2010:332-336.

[6]Rauchfuss H, Wild T, Herkersdorf A.Enhanced reliability in tiled many core architectures through transparent task relocation[C].ARCS Workshops, 2012:1-6.

[7]Yung-Chang Chang, Ching-Te Chiu, Shih-Yin Lin, et al.On the design and analysis of fault tolerant NoC architecture using spare routers[C].16th Asia and South Pacific Design Automation Conference, 2011:431-436.

[8]Fick D, DeOrio A, Chen G, et al.A highly resilient routing algorithm for fault-tolerant NoCs[C].Design, Automation&Test in Europe Conference&Exhibition, 2009:21-26.

[9]Concatto C, Matos D, Carro L, et al.Fault Tolerant Mechanism to Improve Yield in NoCs Using a Reconfigurable Router[C].SBCCI 09Proceedings of the 22nd Annual Symposium on Integrated Circuits and System Design:Chip on the Dunes, 2009:Article No.26.

片上系统 篇4

1958年德州仪器公司研究人员基尔比发现, 可以将原先由各种分立元件构成的电路, 以晶体管的归一化方式集成在半导体基体上。这样一来, 原先由电子工程师担负的电路设计和制造任务, 便转移到IC设计部门, 电子工程师可以“傻瓜化”地使用集成电路。当集成电路进入So C或成套芯片的IT产品平台时, IT产品的最终生产领域便进入山寨化产业时代。

1 集成电路与嵌入式片上系统 (System On Chip)

集成电路诞生前, 电子工程师在形形色色的分立电子元器件基础上设计与制作电路, 来实现电路技术成果的创新与应用。集成电路诞生后, 集成电路设计者将许多成熟的电路技术成果转化成集成电路。电子工程师使用这些集成电路进行更高层次的应用时, 不再需要了解集成电路中的知识。

当基本的数字逻辑集成电路出现后, 电子工程师用“与”、“或”、“非”等逻辑集成电路创造出脉冲计数器电路时, 并不需要了解数字逻辑集成电路的工作原理。当脉冲计数器、定时器、振荡器集成电路出现后, 电子工程师只要了解这些集成电路的外部特性与使用方法, 就可以构成一个日历时钟。

集成电路中不仅集成了电路的知识, 还集成了电路的行为。而所谓So C, 是一种高度集成化、固件化的系统集成技术。使用So C设计的核心思想, 就是要把整个应用电子系统全部集成在一个芯片中。在使用So C设计应用, 除了那些无法集成的外部电路或机械部分以外, 其他所有的电路全部集成在一起。So C追求产品系统最大包容的集成电路器件, 是目前嵌入式应用领域发展的一定时期的必然结果。能够有机的把电路的行为控制在电路的内部存储, 最大化的实现了软硬件无缝结合, 直接在集成电路或处理器芯片内嵌入系统的操作代码模块。So C还具有极高的综合性, 在一个芯片内部运用VHDL等硬件描述语言, 实现一个复杂的系统, 用户不需要再像传统的系统设计一样, 绘制庞大复杂的电路板, 一点点的连接焊制, 只需要使用精确的语言, 综合时序设计直接在器件库中调用各种通用处理器的标准, 然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部, 整个系统就特别简洁, 不仅减小了系统的体积和功耗, 而且提高了系统的可靠性, 提高了设计生产效率。

目前一些大的芯片公司已经推出了成熟的、能够占领多数市场的So C芯片, 一举击退竞了许多的竞争者。So C芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。

2 So C在早期山寨产业中的应用

半导体厂家推出的VCD/DVD软硬件套件 (VCD/DVD机So C方式构建成的平台) 给VCD/DVD机生产厂家的同时, 不断将VCD/DVD的最新技术以So C方式集成到VCD/DVD软硬件套件中, 准备给VCD/DVD机生产厂家提供下一代VCD/DVD机的平台商品。

VCD/DVD机制造商想要生产这一产品时, 只需向半导体商购买VCD/DVD套件 (VCD/DVD机So C方式构建成的平台) , 在半导体商售后的技术支持下, 实现VCD/DVD机的傻瓜化生产。这就是为什么我国一些乡镇企业可以在没有一个专业工程师的状况下, 迅速实现VCD/DVD机的大规模生产的原因。这就是由VCD/DVD引发的早期山寨产业现象。

3 So C在中期山寨产业中的应用

说起山寨手机, 就必须提到它们共用的MTK芯片。MTK是一家台湾的芯片厂商, 中文名字叫联发科技股份有限公司, 英文全称叫MediaTek。就是这家创立于1997年的公司, 一度被美国《福布斯》杂志评为“亚洲企业50强”, 而他们研制出的MTK手机芯片则震动了整个手机产业链条。MTK芯片中就恰恰运用了So C技术, 所以说山寨手机的出现, 不是一个孤立事件, 是So C技术集成电路发展的一个客观规律。是山寨产业的中篇代表。

MTK芯片运用So C技术把手机主板、软件集成到, 只要加个外壳和电池, 就能用MTK提供的手机“半成品”生产出一台手机, 所以一些小的乡镇企业都堂而皇之地做起了手机制造。这就像你去市场买一台电脑兼容机一样, CPU、内存、硬盘、显卡都给你配好, 你只要用螺丝把它们拧紧, 你唯一能选的硬件是机箱, 对应到手机就是一个外壳的不同而已。这也就是为什么市场上有那么多功能一样, 只是外壳稍有不同的“山寨手机”的原因。

随着信息时代的到来及普遍的数字化生活方式, 由So C直接构成了能独立实现某些行为能力的应用系统, 如数值计算用计算器、各种类型的快译通、PDA、多媒体领域中的MP3、MP4等。这些都是由So C直接构成的嵌入式应用系统商品, 弱化了So C的嵌入性, 强化了So C的山寨性。

4 So C在未来山寨产业中的应用

山寨产业是IT产业的必然趋势, 2008年10月28日, 威盛电子在深圳发起“开放式超移动产业策略联盟” (简称GMB) , 威盛凭借其在低功耗领域的多年优势, 在CPU、芯片组、显示芯片、音频解决方案、网络解决方案等一系列产品领域, 无论是性能的提升, 功耗的控制, 高度集成化上都颇有建树, 不仅在越来越小的芯片中运用So C技术集成了更多的规格, 更丰富的功能, 更能让设备的外观小巧轻薄、产品多样, 很好实现了超移动的“平衡核心”架构。威盛的GMB联盟已经来势汹汹的步入超移动市场的大门。

过去传统的PC生产设计中, 组装一台设备, 都需要联合不同的零部件厂商的产品, 决定产品成败最关键的因素就是兼容性, 要实现一台终端产品所有部件间的兼容, 要多家厂商之间进行协商, 最终达成兼容协议, 但每家厂商对自家的产品还有所保护, 不会绝对公开, 这就很容易形成了兼容性壁垒。但现在威盛运用So C技术提供的超移动平台, 就已经在平台内部将所有涉及到的部件进行了高度整合, 并能有效保证兼容的品质, 也能大大缩短下游厂商的产品市场导入时间, 这就将形成未来的山寨笔记本产业。

当集成电路距离产品系统较远时, 山寨化现象局限于科研领域, 不被人们注意。当集成电路进入So C时代, 向产品平台发展时, 就必然导致IT产业的山寨化。

随着科技的不断进步和发展, So C技术必将在各行各业发挥更大的作用, 在山寨产业中的应用已经让我们对这项技术有了一定的了解, 但我们更希望看到它辉煌的未来。

参考文献

[1]何立民.集成电路知识平台与山寨产业现象[J].单片机与嵌入式系统应用, 2009 (1) .

片上系统 篇5

现在的片上系统的复杂程度远远超出了现代设计工具和核查方法所能检测的效果, 导致片上系统的设计周期和设计成本也大幅度的上升。

而快速原型系统的使用就够让这项工作变得轻松。快速原型环境大都建立在一个标准的微处理器上, 且拥有众多的接口。在添加了硬件后能够成为现场可编程装置。由于处理器核心和接口并不会自动的提高, 虽然它能够满足很多的应用, 但还是不得不将处理器核心从设计空间中去除。

本文介绍了一种设计空间中包含可设置微处理器核心的新方法。在第一部分, 将介绍快速原型的环境和应用的接口。在第二部分, 介绍如何将一个以太网控制器整合到原型环境中。最后一部分, 将根据实际使用情况得出一些结论。

一、快速原型环境

1. 快速原型环境包含了三个主要部分。

一个FPGA板、一个支持软件的微处理器核心和一个为核心提供符合Amba规范的系统总线接口。和其他的原型环境的主要区别在于它并入的是一个可编程的微处理器核心。核心使用硬件描述语言VHDL编写, 可以被当成黑盒子或者作为设计空间的一个部分, 因而只需改变设计布局、用法设置或根据当前系统要求的接口就能组建一个新的快速A型环境。

2. FPGA的连接。

本系统包含了两个Xilinx XC4085可编程FPGA板、256K的SRAM、128K的EPROM、一个LCD显示器、一个小键盘和一个用于扩充插卡的外板连接器。整个FPGA板有6层, 面积为130×350mm2。这两个FPGA通过一个196线相连, 196线的信号80%能够被逻辑分析器检测到。微处理器核心和Amba接口连接到一个FPGA上。

另一个FPGA来完成来自以太网控制器的申请。该FPGA直接与96个插脚相连。这个连接器可以用来作为扩充板, 这样可以在FPGA板上为系统提供额外的硬件。

3. M-Core处理器的特点。

没有经过修改的微处理器核心能够完全兼容Motorola的M-Core处理器, 并且能够在很多C/C++环境下编辑。M-Core内核是一个32位总线的RISC机, 它包含了一个存取/读取布局。每一个工作码都为一个固定长度为16比特的数据, 除了存储和读取外的其他指令都只能在登入状态下执行。40%的工作码空间是空闲的, 且能够支持硬件加速器接口。M-Core内核的简单总线接口有一些缺点导致不能应用于高级的应用程序。其主要的缺点在于简单总线接口不支持多总线主机, 例如由多路DMA组件构成的高级网络交换器等。

4. 接口总线的选择。

在一个标准的快速原型环境中, 高效地单微处理器或单总线交换器的共同协作成为可能。在这个环境中, 也合并了一个VHDL编写的微处理器内核和总线接口。新的总线接口能够不通过胶合逻辑可直接连接到微处理器内核上。在我们的应用中, 我们选择了高性能的Amba总线。Amba总线支持像处理器内核还有DMA单元这类的任意数量的主机。

二、以太网控制器的整合

随着以太网应用的不断普及, 从太网作为计算机系统的通讯方式也变得越来越重要。因此, 在这里介绍嵌入式系统中以太网MAC层的设计以及它在快速原型环境中的整合。

1. 以太网控制器的构成。

以太网近控制器主要包括有:总线接口、接收组件, 传输组件以及他们在快速原型环境中的整合。

以太网控制器的传输接收单元需要在总线接口和物理层间传输数据包, 以调整以太网的协议栈。为了控制通讯, 在总线接口和接收和传输单元之间分别使用了一个SRAM内存。

2. SRAM内存。

SRAM内存是一种FIFO内存, 具有和FIFO相似的工作原理可使用它的在内存一个单元中压入数据包, 在另一个单元中将数据包读出。总线接口通过AmbaAHB总线和以太网控制器传输接收单元一起连接到微处理器内核上。在实际工作中, 仅仅用一个以太网控制器就可以实现。

3. 以太网控制器的测试。

以太网控制器的微处理器内核能够完全响应FIFO内存的传输任务。传输任务能够被中断或在处理器调用内存状态事件时被触发。控制器被连接到寄存器组的内存上编程。并且合并了一个MII管理寄存器组的接口。原型板本身并不包含必须的以太网物理层和控制器的缓存。在测试以太网的实际环境中, 我们拓展一个包含以太网物理层的扩充板。这个扩展板通过外板连接器连接到原型板上。整个系统以100MB/s的传输速度在工作站和个人电脑的综合环境下测试。其中Ping、ARP、RARP操作都能够成功完成。以太网控制器和物理层都能够支持100MB/s的速率传输。

三、结束语

VHDL语言编写的内核让设计者能够根据自己当前项目的需要设置内核。在我们的实例中, 可将标准的总线接口换成一个允许多主机的AmbaAHB总线来连接M-Core处理器和以太网控制器, 再加上扩展板, 原型环境就可以模仿出一个片上系统。

片上系统 篇6

Arteris公司正是No C领域的领跑者。成立于2003年的Arteris公司总部位于美国加利福尼亚, 并在巴黎设有技术中心, 受理全球业务。Arteris是一家私企, 由ARM、Qualcomm、Synopsys、Ventech等国际投资团队提供资金支持。Arteris在No C研发上始终处于技术领先位置, 并于2006年提出世界上第一个No C商业解决方案。Ateris公司使用高通、三星、TI等公司的半导体连接IP组件, 通过提升系统功能, 降低系统消耗, 有效减小芯片尺寸, 取代了超过50%的片上系统设备。

传统So C的局限性

传统的So C互联通常采用共享总线的方式进行通信, 其实现简单、发展成熟, 并可以使用IP核来简化设计。然而, 随着微电子技术的发展, 共享总线结构面临着以下几个问题, 成为了制约So C性能的主要瓶颈:

誗系统不易重用:在So C设计中, 可重用性是极其重要的。在基于共享总线的So C设计中, 单个IP组件是可重用的, 但更改或增添组件时却需要重新设计通信结构, 从而制约了系统进一步的扩展。当So C的设计者需要更改已有系统的IP组件时, 使用传统的共享总线方式将导致通信变得异常艰难, 通信效率大大降低, 给结构工程师、电子设计师们带来了诸多问题。

誗带宽、延时限制:总线是一种共享介质的互连结构, 具有排他性, 同一时刻只允许单一设备访问, 高优先级的设备将获得总线的优先访问权。当总线被某一设备占用时, 所有其它的通信请求将被阻塞, 直到总线释放。如果过多设备同时连接访问同一总线, 将直接导致总线长时间堵塞、通信瘫痪、传输效率降低, 从而导致通信延时, 带宽需求进一步增大。另外, 当全局的线延迟大于时钟周期时, 总线的全局连线将使时钟偏移难以管理。

基于上述的原因, 共享总线已无法满足大型So C系统的设计需要。针对IP核互联中存在的问题, 一种全新的集成网络互联体系--片上网络 (No C) 被提出, 即多处理器核之间采用分组路由的方式进行片内通信, 从而克服了由总线互连所带来的各种瓶颈问题。

No C技术以其支持同时访问、可靠性高、可重用性高等特点被认为是更加理想的大型So C互连技术。No C克服了总线结构可扩展性差的缺点, 为10亿晶体管时代提供了一种可行的片上系统通信机制。片上网络除了可以连接更多的IP组件, 与总线结构相比, 还有高可重用性等特点。

Arteris:将互联网概念应用于SoC

互联网是计算机领域极其有效的在异构系统之间组织通信的方式。伴随着各种IP组件的日益增多, So C需要支持多样化的需求, IP间的通信组织变得至关重要。传统的资源共享只有一种解决方案:使用共享总线结构连接所有处理器。为了应对复杂So C设计中面临的种种挑战, No C技术必须整合先进技术以满足系统高性能和方便快速设计的要求。

Arteris的与众不同正是因为它将互联网连接原理应用于解决片上系统设计问题, 倡导了第一个No C商业应用, 引导大众市场采用No C解决方案。Arteris首创的No C解决方案可以帮助So C设计者有效减少设计周期, 增加利润并且方便地进行系统扩展。该解决方案将互联网中竞争、适应的概念运用于片上系统通信, 最大程度地优化了片上系统性能、布线面积、功耗等指标。No C技术在设计质量和效率上取得了巨大的突破, 它摆脱了传统连接方案的内在架构限制, 允许So C设计师更快、更便捷、更低成本地完成他们的具体设计。另外, Arteris灵活、有效的即插即用技术, 允许设计者自主选择吞吐量、耗能、延时和布线层数等技术指标。

不同于宏观上盲目地采用网络实现, Arteris技术引入了最能适用与片上系统设计的网络概念, 并将其与半导体设计的特定约束条件有机组合。特别是Arteris技术考虑了所有深亚微米半导体技术内部隐藏的技术限制。这种创新技术包含了以下网络概念:

·将硬件实现和通信协议分层设计, 使每一层可以更自由、独立地进行最优化设计和参数分配

·汇总的信息在No C体系中进行分组处理

·无国籍、无限制的网络

·对所有信息流 (包括数据流和控制流) 进行标准化包处理

·Qo S驱动每个包路由的选择和仲裁

·灵活的No C拓扑结构可以匹配整个系统的性能要求

Arteris公司营销副总裁PhilippeMartin称, “与网络计算机的互联方式类似, No C解决方案将多个分布式系统 (例如IP块及功能集等) 连在一起, 从而有效地减少迹线数量, 进而减少通信信号的延时。在过去的几年里, 业内针对No C的研究取得了很多成果, 但大部分仅限于学术研究, 而现在Arteris能针对市场提供商用No C产品。”

Ar t er i s No C:主要结构功能设计

Arteris No C中, IP核采用三层互联策略, 分别为:事务层 (Transaction) 、传输层 (Transport) 、物理层 (Physical) 。这种分层结构被命名为NTTP协议, 提供绝佳的片上通信性能。

事务层

在事务层中, NIU (网络接口单元) 管理IP核之间的通信, 提供事务层互联服务。NIU将传统的通信负荷转化为适合网络传输的包, 然后通过一个内部标准接口连接网络, 以匹配网络中的不同包参数。NIU将IP核与外部通信协议分割开, 并在两者之间进行事务内容转换。在网络边缘, NIU通过一些标准IP套接字与外部IP核通信或者通过Arteris为客户定制的套接字与外部通信。一个标准的No C事物处理过程通常是:一个主NIU向对应从NIU发送请求, 从NIU向主NIU发送应答信号。事务层中所需的信息互换细节主要由传输层和物理层实现。

传输层

传输层在处理包的过程中, 从数据包的头部提取所需信息, 用于引导数据包的传输过程。传输层不要求统一的数据包格式, 在不影响其工作的前提下, 传输层可以很好地适应事务层的变更。这种独特的包处理技术不需要改变通信的传输规则和物理实现, 保证了服务质量和带宽的需求。

物理层

物理层具体定义了数据包如何在No C单元之间传播, 在不影响事务层和传输层的前提下实现结构间的互联, 优化了带宽、数据完整性等。在物理层, 一般传输连接、远距离的GALS连接、芯片之间的对接等不同性能的连接类型都可以被很好地处理。同时, 某一事务层和传输层可以方便地改变他们的连接和特性, 而不影响其它事务层和运输层的工作。物理层严格禁止高输出的网络, 所有连接都是点对点的, 从而保证了更高的性能和更方便的路由选择。对比其它互联方式, Arteris技术要求更少的节点, 提供简洁的时序收敛。

Arteris解决方案依靠No C网络中每一条路径的分组传输技术, 配合支持所有主流标准的NIU, 它帮助设计者方便地设置So C连接参数, 从系统层面到物理执行层面最大限度地匹配相应设计要求。

Arteris公司的主打产品

Arteris公司片上网络的专利产品为每个设计者提供灵活、可扩展性的解决方案, 允许设计师以最高性能完成具体的设计目标。使用Arteris产品可以保证更简洁的布线、更短的传输延时、更小的布线面积、更低的设计成本以及更便捷的产品升级。Arteris公司的产品主要包括FlexNoC、FlexWay以及辅助的FlexArtrist工具。

FlexNoC:高性能SoC的首选

FlexNoC是Arteris公司首推的片上系统IP互联方案。它独特的架构和对No C技术的完美应用, 保证了设计者对于低延时、高吞吐量的需求, 同时它可以通过一系列直观、强大的设计工具提高生产率和设计质量。尤其是对于要求高性能、低耗能的大型的So C设计 (这些产品通常包括大量IP组件、多核DSP/CPU) , FlexNoC无疑是最佳的选择。FlexNoC支持AMBA (APB, AHB, AXI) (高级微控制器总线架构) 协议、OCP协议, 同时可以方便地扩展支持其它所有协议。使用Arteris的FlexNoC, 设计者可以全面体验Arteris的No C专利技术, 真实感受片上“互联网”给So C带来的便捷设计与性能提升。另外, FlexNoC还为现代So C设计提供了大量实用的附加功能, 例如时区转换、带宽转换、多协议支持等, 帮助设计师实现完美的细节控制。

Fl exWay:满足小型So C设计的需求

对于那些正在使用对称AHB (高级高性能总线) 协议同时又寻求更能满足他们未来需求和自动化连线的可扩展性解决方案的设计团队, FlexWay就是Arteris推出的主打。

FlexWay使用面积最优化连接组件以满足小型So C设计中更细节性的具体需求, 比如:FlexWay可以使用公共资源连接特定几个发起者或目标方。同时, FlexWay架构被设计成100%完全兼容AHB标准。

FlexArtrist:辅助SoC设计

另外, FlexArtrist工具可以用于完成互联配置、无缝IP重用和整合。协议互用性测试被认为是So C系统设计中的一大问题, 设计师可能只需一周时间就可以完成大部分设计工作, 但却通常需要花费数月才能完成全部的测试工作。作为FlexArtist工具的一部分, Arteris公司提供了一个强大的自动测试平台———FlexVerifier。FlexVerifier在连接配置上提供一整套完整系统设置和IP测试, 配合所有系统接口的功能覆盖性测试, 确保100%的协议互用性测试顺利进行。

No C解决方案为片上通信提供了一种全新的互联手段, 据实验证明:在片上数据通信中, No C技术是共享总线技术性能的三倍。在No C领域, Arteris公司提供的解决方案可与专用片上总线架构及商用片上总线相媲美。随着半导体技术的不断发展, So C设计的不断复杂化, No C作为一种新型的、优越的通信互联方式必将得到更进一步的发展。Arteris公司也将会迎来其更加辉煌的片上“互联网”时代!

摘要:随着半导体技术的不断发展, SoC的设计遭遇性能瓶颈, NoC作为一种新型的、优越的通信互联方式必将得到更进一步的发展。先进的NoC结构可以通过集成现有的百兆频率核形成高性能多核处理器。在当前NoC仍处于理论研究为主的阶段, Ateris公司率先提出了首个NoC商业解决方案, 提供可用于连接IP组件的NoC技术, 能够快速提升系统功能、降低系统耗能、有效减小芯片尺寸, 使这家新兴企业在多核领域崭露头角。

参考文献

http://www.arteris.com/

片上网络容错路由算法研究 篇7

1.1 No C基本概念

一个No C由路由节点、网络接口和处理单元这三种基本要素组成。No C像计算机网络一样可以分为通信子网和资源子网。通信子网由网络接口一边的所有路由节点及其间的物理链路构成,专门负责No C各个节点间数据的传递以及路由。资源子网由网络接口另一边的所有处理单元构成,负责处理数据,完成目标任务。

1.2 No C死锁问题

互联网络的节点通过网络接口发送、接收消息或报文,消息和报文都携带了目的节点的信息。在直接网络中,报文到达目的节点之前通常要经过多个中间节点。而在开关网络中,报文到达目的节点之前通常要经过多个开关。但是,即使每个报文都存在连续源与目的的节点的无故障路径,有的报文仍可能不会到达目的地。假设路由算法可以使用那些路径,但在有的情况下报文仍不能发送。例如中间节点或开关需要一定的缓冲器来存储部分报文或整个报文。但是缓冲器的容量是有限的。对于那些报文头还没有到达目的节点的报文,一方面要请求缓冲器,另一方面又要占用当前缓冲报文的缓冲器,这就可能产生死锁。当某些报文因为请求的缓冲器满而不能朝着他们的目的地前进时,将会产生死锁。包含在死锁配置内的所有报文将永远被阻塞。一个报文由于目的节点不能吸收它,也可能永久性的被死锁在网络中。这种死锁是在应用中产生的,在死锁状态下,一组报文将永久被阻塞,每个报文总在请求其他报文占用资源,而自己又占用着其他报文所请求的资源。

2 No C多播通信及容错算法设计

2.1多播通信概念

多播是一种一点对多点的通信技术,即允许一台或多台主机发送单一数据包(一次的,同时的)到多台主机。多播通信方式能有效的节约网络带宽,而片上网络亦采用网络设计的思想,因此将两者有机的结合能提高通信效率,改善片上网络性能。在片上网络多播通信中,多播通信方式分为三种方式,一种是基于路径的(path_based)多播通信,该通信方式限定多播数据包拷贝的数量和位置,为了能正确传送到目的地,多播数据包得在包头中带上各个目的地的地址,遵循特定的路径和方式将数据包传送到目的地,这种方式虽然能避免死锁,但是增加了数据包的长度以及网络延迟。另外一种方式就是基于树(tree_based)的多播通信,这种通信方式是通过建立多播树来实现的,这种方法可以减少延迟,但是如果不干预注入队列,容易产生死锁,因此需要合适的方式来控制死锁,最后一种为适应性(adaptive)多播通信方式,该方式从某种意义上结合了基于路径和基于树的两种方式的优点,但是实现这种方法需要特殊路由的支持,如多播旋转路由MRR(Multicast Rotar Router)就提供了对适应性多播通信的支持。

2.2基于路径的多播路由算法

为了支持无死锁的多播和广播虫孔路由。除非消息非常短,否则基于树的通信模式性能不会很好,因为如果任何一条分支被阻塞。整个树都会被阻塞。一种解决方法是阻止在中间节点的分支,从而形成多播路径模式。为了减小多播路径的长度,目的节点集可以分成几个不相交的子集,源消息的副本可以在不相交的几条多播路径上传送,每条路径对应一个目的节点子集。这种多目的路由策略称为基于路径的路由。

2.3基于路径的多播容错路由算法

本文采用矩形故障模型,并对每个矩形故障域增加了扩展的边界线,并且要求故障区不存在共享边界.例如在2维mesh网络中,任意2个属于不同故障区的路由器的水平和垂直距离至少为3。一般来说,构造凸故障区的过程即声明某些非失效路由器为不安全路由器的过程:

(1)若路由器有2个及2个以上的邻居是失效路由器或不安全路由器,那么该路由器也是不安全路由器。

(2)若路由器有一个水平(垂直)方向的邻居是失效或不安全路由器,并且有一个垂直(水平)方向的距离为2的邻居是失效或不安全路由器,那么该路由器为不安全路由器。

因为包含在故障区内的不安全路由器不允许参与网络通信,因此与其相连的处理器以及存储器单元(即使没有故障)也不能对系统做出贡献。为了减少系统在网络有故障情况下的性能损失,故障模型应该尽可能少地声明不安全路由器。

3实验结果与分析

本文在结合C和C++语言的基础上,开发了片上网络多播模拟器。模拟器中采用虫孔交换机制,仿真数据的最小单元是微片,其中每个消息都固定为32个微片大小,每个通道的缓存固定为32,本算法的最大特点是不使用任何虚拟通道,本模拟器执行步骤如下:

1初始化MESH网络,设置包的状态为NONE,并清空所有通道的缓冲。

2读取输入的包生成间隔时间并初始化工作计数器。

3对于每一个节点,在每一个周期内都更新数据和包的状态标识。

4当所有任务运行结束后,将结果参数写入到指定的文件中。

3.1单播路由算法性能比较

本次模拟实验中,对于本文中提出的路由算法单播方面和传统的XY路由算法进行了对比,目的地址是随机产生的,MESH大小分别为4×4和8×8,运行周期为500,微片和缓冲大小均为32,分别采集了不同注入率下两种算法的平均消息延迟。

3.2多播容错路由算法性能比较

本次模拟实验中,对于本文中提出的多播容错路由算法进行了仿真,目的地址是随机产生的,MESH大小为8×8,运行周期为500,微片和缓冲大小均为32,分别采集了在单个故障域、多个故障域和不同注入率下容错算法和不容错算法的平均消息延迟。

本文提出的多播容错路由算法,相对于原来的不容错路由算法,平均消息延迟有了一定程度上的降低,而且这种降低比率在高注入率(注入率大于0.5)更加明显。8×8MESH中单故障域情况下,随着消息注入率的提升,两个算法的丢包率都在上升,但是本文的容错算法显然具有更低的丢包率,容错算法的丢包率降低了大约0.03,说明本文的算法具有较好的单故障域容错性能。

摘要:随着集成电路制造工艺的不断发展,集成在芯片上晶体管的数量也随之增多,已超过几十亿晶体管的规模,因此芯片上可以集成越来越多的IP核。随着芯片中IP核数量的增多,基于总线结构的片上系统(System-on-Chip,So C)已不能满足数据的通信要求,为了解决这个问题,片上网络(Network-on-Chip,No C)作为一种全新的互联结构被提出来。其核心是把网络设计的思想移植到芯片设计中,将片上资源互连起来,并将计算与通信分离。片上网络具有很好的空间可扩展性,采用的全局异步一局部同步的通信机制使并行通信效率更高。NOC带来了一种全新的片上通信方式,它的引入有利于提升可重用设计、解决通信瓶颈和全局同步等难题。本文在研究片上网络结构的基础上,针对片上网络多播通信的特点提出了一种多播容错路由算法。

片上网络容错路由算法分析和评价 篇8

关键词:片上网络,容错算法,永久性故障,瞬时性故障,路由算法

0 引言

根据ITRS(International Technology Roadmap for Semi-conductors,国际半导体技术路线图)中的预测[1],到2018年,单个芯片上集成的晶体管数目将达到2560亿个。传统以总线互连的片上系统无法满足用户对可展性、能耗、面积、可重用性、服务质量等方面需求。

2000年,片上网络(Network on Chip,以下简称NoC)的概念被提出[2]。图1显示了一个二维4×4 mesh NoC结构,由图可知:NoC主要由交换单元、网络接口和链路组成。在4×4mesh中,一个晶体被分割成16个对称的功能独立的子模块。IP核被映射到这些块上并同NoC进行通信,每个IP核都与一个网络接口和交换单元相连。每个交换单元都与4个邻居交换单元相连。每个网络结点由路由器、IP核、网络接口组成,各个网络结点又由链路相连接构成一个片上网络。

片上网络的研究内容包括拓扑结构、交换机制、服务质量、应用映射、路由器结构、路由算法等6个方面。在研究近年来国内外研究成果的基础上,本文将片上网络故障分为硬故障和软故障两种,并对解决硬故障的容错路由算法进行分析和评价,最后指出片上网络路由容错算法的研究方向。

1 片上网络故障分析

在片上网络研究领域,NoC故障主要分两种:一种是永久性故障(permanent faults),主要由电转移、制作工艺和测试挑战等引起的加速老化效应导致的,又称为硬故障[3];另一种是瞬时性故障(transient faults),主要由于片上网络路由器及之间的链路受到串扰、电磁干扰和电源噪声的影响,而引起信号、逻辑值和数据位出错等故障,又称为软故障。目前针对软故障主要是包括校正、重传、混合纠错在内的三种解决方法。永久性故障是路由器资源模块故障,一旦发生,就会永远存在,不可逆转;包括路由器节点失效和链路失效(图2所示)[4]。硬故障是突发性的,又是永久性的,一旦发生,除了更换硬件外是无法修复的。所以在实际NoC设计中,往往采用一定的容错路由算法或者添加冗余硬件来实现对硬故障区域的绕道,从而解决问题。

2 NoC容错路由算法

在NoC中,路由算法主要确定数据包的转发端口,从而确定数据包从源节点到目的节点的转发路径。容错路由算法就是在路由算法的基础上增加容错功能。容错路由算法的优劣,直接决定了网络时延和吞吐,影响NoC物理设计。总体来说,Noc容错路由算法可以分为基于自适应思想容错路由算法、基于洪泛思想的容错路由算法和混合类型容错路由算法。

2.1 基于自适应思想的容错路由算法

适应性路由算法的特点是分组数据包从源节点到目的节点不只是存在唯一的一条路径,而是多条路径[5]。因此,适应性路由算法具有一定的容错功能,好的适应性路由算法应能很好地解决网络拥塞状况,从而达到均衡网络中各节点的负载,提高网络整体性能的目的。根据路由适应性程度的不同,适应性路由又可以分为完全适应性路由和部分适应性容错路由算法两大类。

部分适应性容错路由算法,主要通过限制一些方向的转向来避免环路的形成,从而避免死锁的产生。该类型的容错路由算法主要有先西优先路由(West-first Routing),北最后路由(North-last Routing),负优先路由(negative-first Routing)以及奇偶转向路由(Odd-Even Routing)[6]。

完全适应性容错路由进一步提高了路由的适应性程度,因而获得更好的网络性能,但算法的实现比较复杂,研究的相对较少。以Dyxy路由算法[7]为例,主要思想是比较分组的当前节点和目的节点的各维坐标,当某维相同,则避开该维转向其他维路由,否则,选择向拥塞程度最小的相邻节点路由,Dyxy是在维序路由的基础上改进的一种路由算法,且充分考虑了网络的拥塞情况。

2.2 基于洪泛思想的容错路由算法

基于此思想的容错路由算法主要包括:直接洪泛(direct flooding)、概率洪泛(probability flooding)、N-冗余随机走动(N-rodom walk)路由容错算法[3]。

概率洪泛路由算法是最简单的随机路由算法。

图3是概率洪泛路由算法的实例,洪泛过程描述如下:S表示源节点,D表示目的节点。A、B、C、E、F、G、H分别为中间节点。如果S要发送报文到D,需要查找由S到D的路径。这时S需要将路由请求以概率p发送给所有的邻节点A、B、C和F。当C和F收到路由请求后,同样将报文转发给所有的邻节点。依此类推下去,G会收到分别来自于节点C和F发送过来的同一报文,在此过程中,G将转发先到的报文给其所有的邻节点,后到的报文内容如果相同,则将相同报文丢弃。

直接洪泛容错路由算法将目的节点的位置考虑到扩散过程中,降低了概率扩散算法中盲目的扩散数据所引起的较大的功耗。在直接扩散算法中,源节点以不同概率向其邻居节点发送数据包,离目的节点近的节点以较高的概率发送,离目的节点较远的节点以较低的概率发送数据包副本,如此重复,直到数据包路由到目的节点。

文献[3]还提出了一种新的考虑目的节点位置的容错算法:N-冗余随机走动算法。算法在由发送端开始的第一跳采用泛洪机制,但数据包的拷贝数量事先预订好,即N。从第二跳开始,所有收到数据包的节点都在N/S/W/E四端口中选择一个最优端口,将数据发送出去。这种算法中的一个关键点在于第一跳中数据包拷贝份数N的确定,文献指出利用Markov链与随机走动理论推算[8]。

2.3 混合类型容错路由算法

混合类型的容错路由算法可以分以下三种情况:一是可以分为无故障和有故障两个阶段,数据包在从源节点路由到目的节点的过程中,可以在这两个阶段多次转换。二是确定性路由和自适应路由结合的容错路由算法。三是洪泛路由和奇偶转向相结合的容错路由算法。

3 评价和分析

本文是基于三种容错思想进行容错路由算法的分析。表1对以上三种思想的容错路由算法的特点进行了总结。

延迟、吞吐量、功耗是片上网络容错路由算法的评价标准。时延由发送时延、传输时延和接收时延三部分组成。如公式(1)所示:

而电路设计中主要用平均时延进行线路延迟分析。所谓平均时延,就是指在给定周期内发送数据包从源节点到目的节点所需时间的平均值。假设N为在给定周期内所接收到包的数目,Li为第i个包的时延,如公式(2)。

片上网络中,消息吞吐量是指接收到的数据包长度占整个发送数据包长度的比值,公式(3)为消息吞吐量T的具体形式。

对直接洪泛、概率洪泛、N-冗余容错路由算法的在网络中有一个错误的情况下的成功传输百分比如表2所示。由此表中可以看出,概率洪泛和直接洪泛容错路由算法有相近的成功传输百分比,而N-冗余随机走动算法则有更高的可靠性和容错能力。

4 结束语

片上网络(NoC)是未来芯片技术的发展趋势,解决片上网络故障是影响片上网络性能的关键因素。本文对片上网络故障分为硬故障和软故障,并总结了解决硬故障的容错路由算法。基于自适应思想、洪泛思想、混合思想三个方面对容错路由算法进行讨论和分析。今后研究工作的重点是在现有的容错路由算法的基础上,设计、研究出在功耗、容错能力、延迟等各个性能上达到平衡的容错路由算法。

参考文献

[1]BENINI L,DE MICHELI G.Networks on chips:a new SoC Par-adigm[J].IEEE Computer,2002:70-78.

[2]高明伦,杜高明.NoC:下一代集成电路主流设计技术[J].微电子学,2006,36(4).

[3]SEYRAFI M,ASAD A.A new low cost fault tolerant sdolutionfor mesh based NoCs[J].International Conference on Electroni-cs and Information Engineering,2010,V2-207-V2-213.

[4]PIRRETTI M,LINK G M,BROOKS R R,et al.Fault tolerantalgorithms for network-on-chip interconnect[C]//Proc.Of IEE-EE International Annual Symposium on VLSI.Tampa USA:I-EEE Press,2004:46-51.

[5]NI C G.The turn model for adaptive routing[J].ACMvol5,1994,5:874-902.

[6]CHIU M.The odd-even turn model for adaptive routing[J].IEEETrans.On parallel and Distributed Systems,2000:729-738.

[7]LI Ming,ZENG Qingan,JONE Wenben.DyXY-A proximity c-ongestion-aware deadlock-rree dynamic routing method for net-work on chip[J].DAC,2006:849-852.

上一篇:癌症患者的止痛护理下一篇:专家教师