[发明专利]一种实现对循环任务进行软硬件划分的方法和装置有效
申请号: | 200910090401.X | 申请日: | 2009-07-31 |
公开(公告)号: | CN101630274A | 公开(公告)日: | 2010-01-20 |
发明(设计)人: | 刘雷波;王延升;尹首一;于苏东;魏少军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 循环 任务 进行 软硬件 划分 方法 装置 | ||
技术领域
本发明涉及嵌入式系统领域,特别涉及一种实现对循环任务进行软硬件划 分的方法和装置。
背景技术
芯片集成度的日益提高,使得一个芯片内可以集成大量的功能模块,形成 片上系统芯片。在集成的功能模块中往往包含了处理器模块和硬件加速模块, 如何让处理器与硬件加速模块能够协同工作,是片上系统芯片的软硬件协同设 计需要解决的一个问题。而软硬件划分是软硬件协同设计的基础,将一个应用 程序划分给处理器和硬件加速模块分别执行。其中,处理器执行的部分称为“软 件”部分,硬件加速模块执行的部分称为“硬件”部分。软硬件划分的好坏将 直接影响到最终软硬件协同设计的结果,并对系统的性能、功耗、面积等关键 指标产生重要的影响。
其中,可重构处理器由主处理器和可重构阵列构成。如图1所示,可重构 处理器的软硬件划分是指将应用程序划分为在主处理器上执行的软件部分和在 可重构阵列上执行的硬件部分。通常情况下,主处理器运行应用程序的控制部 分和计算量相对较小的部分,而可重构阵列运行应用中的计算量相对较大的部 分。可重构阵列善于执行循环任务,但对循环体的规模有一定的限制,一般需 要循环体的规模小于等于可重构阵列的物理规模。当循环体的规模满足该要求, 且循环的执行次数较多时,可重构阵列可以对循环任务进行加速,从而减少整 个应用的执行时间。所以,将一个应用程序在可重构处理器上进行软硬件划分 时,会将循环体规模较小的循环任务划分给可重构阵列,在其上进行映射和执 行。
发明人在实现本发明的过程中发现,现有技术至少存在以下缺点:限制了 循环体的规模,当循环体规模大于可重构阵列的物理规模时,循环体便不能一 次全部映射到可重构阵列上,无法发挥可重构阵列善于执行循环任务的特点, 增加了整个应用程序执行的时间。
发明内容
为了使大规模的循环体能映射到可重构阵列上,加快循环任务执行的速度, 减少应用程序执行的时间,提高用户的使用体验,本发明实施例提供了一种实 现对循环任务进行软硬件划分的方法和装置,所述技术方案如下:
一种实现对循环任务进行软硬件划分的方法,当可重构阵列当前执行数据 流的节点个数大于可重构阵列的规模时,所述方法包括:
步骤C1:对所述可重构阵列当前执行数据流的节点进行算子调度;
步骤C2:根据算子调度结果,获得输入节点的自由度;
步骤C3:获得所述输入节点的输出个数;
步骤C4:根据步骤C2获得的所述输入节点的自由度、步骤C3获得的所述输 入节点的输出个数,获取自由度最高且输出个数最少的输入节点;
步骤C5:将步骤C4获取的输入节点划分到主处理器。
所述步骤C5还包括:更新所述主处理器和所述可重构阵列,重复执行步骤 C1至C5,直到所述可重构阵列当前执行数据流的节点个数小于等于可重构阵列 的规模为止。
所述步骤C2包括:
步骤C21:对所述当前执行数据流的节点进行第一算子调度;
步骤C22:对所述当前执行数据流的节点进行第二算子调度;
相应地,所述步骤C2具体包括:根据步骤C22获得的调度中的节点所在的 时钟周期和步骤C21获得的调度中的节点所在的时钟周期,获得输入节点的自 由度。
根据步骤C22获得的调度中的节点所在的时钟周期和步骤C21获得的调度 中的节点所在的时钟周期,获得输入节点的自由度具体为:
输入节点的自由度=“第二算子调度中节点的时钟周期-第一算子调度中节 点的时钟周期+1”,
其中,所述第一算子调度为“尽可能早”算子调度,所述第二算子调度为 “尽可能晚”算子调度。
当所述步骤C4获取的输入节点为多个时;所述步骤C5包括:将编号最小 的一个输入节点划分到主处理器。
一种实现对循环任务进行软硬件划分的装置,当可重构阵列当前执行数据 流的节点个数大于可重构阵列的规模时,所述装置包括:
调度模块,用于对所述可重构阵列当前执行数据流的节点进行算子调度;
第一获得模块,用于根据所述调度模块的调度结果,获得输入节点的自由 度;
第二获得模块,用于获得输入节点的输出个数;
获取模块,用于根据所述第一获得模块获得的输入节点的自由度、所述第 二获得模块获得的输入节点的输出个数,获取自由度最高且输出最少的输入节 点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910090401.X/2.html,转载请声明来源钻瓜专利网。