《通用互联网络实现多核嵌入式系统级设计的方法》由会员分享,可在线阅读,更多相关《通用互联网络实现多核嵌入式系统级设计的方法(7页珍藏版)》请在金锄头文库上搜索。
1、第22卷第5期 2010年5月 计算机辅助设计与图形学学报 Journal of ComputerAided Design&Computer Graphics Vol_22 No5 May 2010 通用互联网络实现多核嵌入式系统级设计的方法 李源深,潘 赞 ,丁 勇,严晓浪 (浙江大学超大规模集成电路设计研究所杭州 310027) (yuanshenligmailCOIn) 摘 要:由于嵌入式系统的规模和功能越来越庞大,传统的设计方法的局限性愈加明显,为此提出一种基于通用互 联网络的多核嵌入式系统设计方法,通用互联网络由单元库、探测点、优化收敛算法和内核单元4部分组成其中,单 元库用于帮助设
2、计者便捷地搭建各种拓扑结构的嵌入式系统,并将复杂的算法映射在系统上;探测点嵌入在搭建的 系统内,能在系统执行算法时对延时、功耗、吞吐率等系统性能进行评估;优化收敛算法依靠探测点获得的信息找到 使系统性能最佳的拓扑结构和算法映射;内核单元的任务是对配置好的系统进行仿真,并得到相应的数据和优化结 果文中方法可以在设计早期对复杂嵌入式系统进行分析和寻优,缩短了开发周期、提高了设计性能最后以环形总 线和粒子滤波算法为实验系统,说明了该方法的有效性 关键词:通用互联网络;多核嵌入式系统;系统级设计 中图法分类号:TN402 MPSoC System Level Design Method Based o
3、n Universal Interconnect Network Li Yuanshen,Pan Yun ,Ding Yong,and Yan Xiaolang (Institute of VLSI Design,Zejiang University,Hangzhou 310027) Abstract:The scale and function of embedded system is becoming more complex and larger,which limits the traditional design methodologySo,a novel embedded sys
4、tem level design method based on universal interconnect network(UIN)is proposed in this paperUniversal interconnect network is composed of unit library,detect points,optimization algorithm and kernel unitThe unit library provides the designer an easy way to build embedded system of different topolog
5、y and map complex algorithm onto it;the detect points are implanted in the system,and they can evaluate system performance such as delay,power consumption and throughput;The optimization algorithm uses the detected information to optimize the system topology and algorithm mapping;the kernel runs the
6、 built up system,getting data and informationThe methodology proposed in this paper can be used to analyze and optimize the system in the early developing step,shortening the development cycle and increasing the system performanceThe effectiveness of the novel method has been verified by experimenta
7、l results on ring bus architecture and particle filter application Key words:universal interconnect network;MPSoC;system level design 收稿日期:20090513;修回日期:2009 09 10基金项目:国家自然科学基金(6O7201O6o03)李源深(1984),男,硕士,主要研究方向为 数字集成电路设计、异构SoC平台设计、数字图像处理;潘1(1980-),男,博士后研究人员,讲师,论文通讯作者,主要研究方向为多核片上体系 结构与互连通信机制、异构SoC平台设
8、计、数字射频技术、数模混合电路仿真与建模等(panyunv1siziueducn);丁 勇(1974),男,高级工程 师,主要研究方向为数字集成电路设计、数字图像处理;严晓浪(1947),男,教授,博士生导师,主要研究方向为高性能嵌人式处理器、超大规模 专用集成电路和系统芯片设计、集成电路物理设计、9065 nm极大规模集成电路可制造性(DFM)设计、集成电路设计自动化(EDA)等 第5期 李源深,等:通用互联网络实现多核嵌入式系统级设计的方法 859 随着多核嵌入式系统的应用越来越广泛,如何 将一个复杂的应用映射到某种拓扑结构的多核嵌入 式系统上并满足相应的性能和开销要求,成为了嵌 入式系统
9、研究中的重要课题之一由于系统的规模 和复杂度越来越庞大,诸如软硬件划分、任务分配、 片上互联网络建立等问题必须在设计早期被很好地 评估,以实现整体性能的优化系统级设计方法则能 在设计早期对这些问题进行描述和分析,作出性能 评估并以此提出性能优化策略 优秀的系统级设计方法应该满足以下设计要 求:1)通用能力能适应不同类型的应用及不同拓扑 结构的系统;2)评估能力能对特定应用和系统所产 生的功耗、延时、吞吐率等性能进行评估;3)优化能 力能针对特定应用进行设计空间探索,从而找出较 优的任务分配方式和拓扑结构,以提升系统性能基 于以上考虑,本文提出了一种基于通用互联网络的 多核嵌入式系统级设计方法该
10、方法利用系统级建 模语言灵活地对各种类型的应用和不同拓扑结构的 系统进行建模;通过引入探测点的概念,可以针对功 耗、延时、吞吐率等系统性能参数进行评估最重要 的是,本文方法改进了梯度求条件极值的算法,并将 其运用到所提出的方法中,能针对功耗、延时、吞吐 率等系统性能指标进行优化收敛,以实现设计空间 探索与传统的基于穷举的优化收敛算法相比,本文 方法大大降低了算法复杂度 1 相关工作 系统级设计被认为是一种可以很好地解决嵌入 式系统日益加剧的复杂性及异构性的方法 一些 系统级设计架构针对不同形式的计算模型(model of calculate,MOC)进行任务划分,并将其映射到相 应的处理单元,
11、从而实现设计空问探索、应用实现和 验证 Chakraborty_5基于事件概念提出了一种全新 的建模架构,这种架构可以对多媒体数据流的时序 进行很好的描述,并对数据流经过不同处理单元所 产生的延时、功耗、吞吐率等性能进行评估;Posadas 等 基于SystemC对系统和任务进行描述,通过对 任务流程图的分析将任务划分信息标注在SystemC 代码中,同时对C语言运算符进行延时估计,从而 评估整个应用的时序信息:但它们都不具备设计空 间探索来实现优化设计的能力 早期IBM提出的SLATE是一款针对多处理 器系统的系统级分析工具 ,其将系统分为计算单 元和延时单元分别进行建模其中,计算单元将复杂
12、 计算封装在内部,可以作为微处理器的基本建造模 块,如指令、数据缓存、执行单元、发送队列等,在计 算单元间的数据传输和延时均由延时单元模拟 SLATE的延时单元又分为流水线、延时队列和异 步FIFO 3种,其最大的特点是灵活;它既能对复杂 SoC系统进行建模,也可以对单个处理器内部流水 线进行建模SLATE虽然将设计空间探索融人系 统建模中,但只局限于系统的拓扑结构,无法对特定 应用的任务划分做优化设计 CoWare提出的基于虚拟处理单元(virtual processing unit,VPU)的性能模型运用了硬件多线 程(HwMT)概念 ,在实现任务并行的同时隐藏 了频繁访问存储器所带来的延
13、时多个任务可以同 时映射在一个VPu上,VPU借用了类似操作系统 的方式来实现多线程在单处理器上的资源分配与调 度但是,这种方法仅局限于多任务在处理器上的不 同映射,无法对整个嵌入式系统进行建模和评估 本文提出的基于通用互联网络的多核嵌人式系 统级设计方法弥补了以上方法的不足之处,并且本 文方法也不局限于早期系统级设计,可以运用于有 实时性动态任务划分要求的场合 2 基于通用互联网络的多核嵌入式系统级 设计方法 21整体描述 针对嵌入式系统级设计,Kienhuis首次提出了 Y图设计方法l9,其将系统设计分为体系结构和应 用功能2个独立的方面基于映射方法,将计算与通 信、行为与结构有机地结合起
14、来,得到可执行的系统 性能描述 在Y图设计方法的基础上,本文提出了基于通 用互联网络的多核嵌人式系统级设计方法通过在 设计中融人了单元库、探测点和优化收敛算法,分别 满足通用能力,评估能力和优化能力这3个系统级 设计的要求 1)单元库单元库由处理器单元库、互联网络 单元库、时序单元库和任务划分库组成其中,处理 器单元库中存放不同处理器的高级行为模型;互联 网络单元库中存放连接各处理器及外围设备的总线 或片上互联网络的高级行为模型;时序单元库中存 放应用所包含各个任务的处理延时及任务间的依赖 860 计算机辅助设计与图形学学报 第22卷 关系;任务划分单元库中存放各个任务是如何分配 到系统上的具
15、体信息 处理器单元库和互联网络单元库从属于体系结 构模块,通过它们能实现系统体系结构的高层建模 时序单元库和任务划分单元库从属于应用功能模 块,通过它们实现对任务的时序关系及分配方式的 描述 由于单元库涵盖了嵌入式系统的各个组成部 分,所以能很好地对各种不同的应用和拓扑结构进 行建模,满足了通用能力的要求 2)探测点探测点被同时嵌入在体系结构模块 和应用功能模块中,通过它们采集系统的功耗、延时 和吞吐率等信息,并对相应的系统性能进行计算和 评估,满足了评估能力的要求 3)优化收敛算法优化收敛算法为系统提供设 计空间探索本文将梯度求条件极值的思想引入设 计空间探索中,通过迭代配置单元库使得探测点
16、提 供的系统性能指标达到极值点,满足了优化能力的 要求 22 内核说明 系统级设计的关键之一就是如何以高层语言描 述应用在系统上的分布、执行和传输本文方法中, 这部分工作由通用互联网络的内核来管理、调度和 执行通用互联网络的内核包括请求队列、传输队列 和总线交通3种主要的数据结构,其具体的工作原 理如图1所示 由 请求队列满(寺何) 线忙l 新的传输 I总线信 g l 图1通用互联网络内核 首先,请求队列接受各处理器的数据装载和存 储请求如果该处理器的请求队列未满,则将此请求 加入对应的请求队列中;否则,该处理器进入等待状 态,直到请求队列能接收新的数据传输请求 接着,传输队列存放由各请求队列发出的传输 请求,并通过内嵌在传输队列中的仲裁策略决定传 输请求是否可以获得总线资源当总线忙时,传输队 列等待在那里,不再接受从请求队列发出传输请求 最后,总线交通根据总线资源的占用情况判断 传输队列中的各个请求是