论文部分内容阅读
SoC(System on Chip)内部以总线结构为基础的核间通信方式在传输速率、延时、规模扩展、全局时钟同步等方面面临愈发严峻的挑战,急需一种新的片上核间通信方式来解决这些问题,片上网络(NoC,Network on Chip)随之被提出。片上网络将片上总线的通信方式转变成基于网络分层和数据包交换的方式,将任务执行(运算、存储)和数据传输通信进行了有效分离,有利于降低系统设计复杂度;同时,较总线结构,片上网络还在扩展性、复用性、预测性、定制性等方面都有明显的优势,其必然代替片上总线成为新一代SoC片内通信的基础设施,因此有必要对片上网络中的关键技术进行分类研究。另外,SoC的集成度越来越高,其内部任何模块故障都会对系统的性能产生影响,甚至导致整个SoC芯片失效,进而使整个系统停止工作,因此,系统设计时必须考虑必要的容错措施,以提高整个系统的可靠性。本文结合片上网络的组成及研究现状,就系统任务调度映射、网络拓扑、路由算法等问题进行了详细研究,以提高片上网络系统在功耗、吞吐率和平均延时方面的性能。同时,分别在应用层和网络层进行了容错设计研究。论文的主要研究内容及成果如下:任务调度映射方面,结合片上网络系统任务调度特点,设计了任务模型、通信核图模型。通过模型能够准确计算出任务在不同分配方案下的运行成本、通信成本以及迁移成本,为调度算法提供详细准确的对比数据;同时,根据任务规模与可调用处理单元数目的相对关系,将任务调度问题划分为两种情况分类解决:对于任务规模相对可调用处理单元数较小,任务执行只调用部分处理单元的情况,分任务划分调度与任务映射两大步骤分别执行;对于任务需要调用片上全部处理单元的情况则通过调度算法一步完成。将粒子群算法进行了适应性设计,使其适用于处理异构多核上的任务调度问题,同时解决了粒子群算法在任务调度前期收敛速度过快易出现早熟、后期局部搜索能力弱的问题。拓扑方面,针对不同类型任务的通信需求差异,分析了蜂窝网络在数据通信方面的优势,设计了一种类蜂窝状的片上网络拓扑,整个拓扑结构规则,占用资源少,易于扩展。拓扑单元的中心位置可设置备有路由节点,为通信密集型任务提供更多链路选择,降低拥塞概率;同时对可靠性要求高的处理单元,设计了双端口结构的网络接口(NI,Network Interface),使得任何一个处理单元至少有两条路径与网络进行数据收发,当部分路由节点出现故障时能够快速切换到其他通信路径,而不至于使整个系统的性能降低太多,提高了系统的可靠性。路由方面,引入了缓存占用率和数据包跳转次数等参数,结合传统的维序路由和禁止拐弯模型各自优势,针对类蜂窝片上网络拓扑设计了一种自适应容错路由算法,算法保证了在数据传输过程中能够很好的避开故障节点或区域,同时能够实时的感知传输路径上的拥塞情况并动态调整传输路线。NoC实现方面,在分析硬件仿真优势的基础上,基于SoCKit平台搭建了一个NoC系统,并在其上对半色调算法进行了并行优化实现,验证了系统功能。通过对以上关键问题的研究,有效的提高了片上网络多核系统在应用层、网络层和物理层上任务执行效率,多种容错措施的设计增强了系统的可靠性,对基于片上网络多核系统的设计和应用具有实际指导意义。