[发明专利]针对具有多个功能单元的处理器调度循环的方法有效
| 申请号: | 201410678024.2 | 申请日: | 2014-11-21 |
| 公开(公告)号: | CN104657210B | 公开(公告)日: | 2020-02-28 |
| 发明(设计)人: | 李莲福;梁镐;朴永焕;凯沙瓦·普拉萨德 | 申请(专利权)人: | 三星电子株式会社 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 张云珠;韩明星 |
| 地址: | 韩国京畿*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 针对 具有 功能 单元 处理器 调度 循环 方法 | ||
一种针对具有多个功能单元的处理器调度循环的方法。提供一种循环调度方法,所述方法包括:使用执行单元调度第一循环;使用作为调度第一循环的结果而可用的执行单元来调度第二循环。与第(n‑1)循环类似,可使用调度第(n‑1)循环的结果来调度第n循环(n>2)。第一循环可以是高于第二循环的较高优先级循环。
技术领域
以下描述涉及一种循环调度方法。
背景技术
超长指令字(VLIW)处理器或粗粒度可重构阵列(CGRA)处理器使用多个功能单元(FU)。为了使FU相互通信,FU可通过数据路径相互连接。
在处理器中选择数据路径和FU的配置中,若干组合是可能的。
发明内容
提供本发明内容以按简化形式介绍对构思的选择,其中,所述构思在以下的具体实施方式中被进一步描述。本发明内容不意图确定被要求权利的主题的关键特征或显著特征,也不意图用作对确定被要求保护的主题的范围的帮助。
在一个总的方面,一种循环调度方法包括:使用执行单元调度较高优先级循环;使用作为调度较高优先级循环的结果而可用的执行单元来调度较低优先级循环。
调度较高优先级循环的步骤可包括:使用执行单元调度最高优先级循环。
调度较低优先级循环的步骤可包括:使用在较高优先级循环被调度的周期中未被分配给较高优先级循环的执行单元来调度较低优先级循环的至少一部分。
调度较高优先级循环的步骤可包括:从在源代码中包括的循环中选择独立的多个循环;确定被选择的多个循环的优先级。
较高优先级循环的优先级可高于较低优先级循环的优先级,并且循环的优先级可基于以下项中的至少一个被计算:循环的迭代计数和用于循环的单次迭代的周期数。
调度较低优先级循环的步骤可包括:基于在较低优先级循环中包括的指令之间的数据依赖性,将所述指令分配给在较高优先级循环被调度的周期中的可用执行单元。
调度较低优先级循环的步骤可包括:确定将被用于调度较低优先级循环的执行单元;验证被确定的执行单元是否可用于较低优先级循环被调度的周期中。
调度较高优先级循环的步骤可包括:基于在最高优先级循环中包括的指令之间的数据依赖性,将所述指令分配给在周期中的执行单元。
所述方法还可包括:响应于较低优先级循环未使用可用执行单元被调度,展开调度较高优先级循环的结果;使用作为被展开的调度结果而可用的执行单元来调度较低优先级循环。
所述展开步骤可包括:基于用于展开计数的阈值和用于被展开的调度结果的周期数的阈值中的至少一个,确定是否将展开调度较高优先级循环的结果。
调度较低优先级循环的步骤可包括:响应于较高优先级循环的迭代计数大于较低优先级循环的迭代计数,在较低优先级循环被迭代之后,使用声明防护来限制较低优先级循环的执行。
所述方法还可包括:响应于较高优先级循环的迭代计数小于较低优先级循环的迭代计数,在较高优先级循环被迭代之后,调度较低优先级循环以迭代较低优先级循环的剩余部分。
所述方法还可包括:在较高优先权循环被迭代之后,调度用于存储较低优先级循环的中间数据的指令。
执行单元可包括在粗粒度可重构阵列(CGRA)处理器或超长指令字(VLIW)处理器中。
执行单元可包括标量功能单元(FU)、打包/解包FU、矢量加载/存储FU和矢量FU,其中,标量FU被配置为处理标量数据操作,打包/解包FU被配置为处理标量数据和矢量数据之间的转换,矢量加载/存储FU被配置为处理对矢量数据的加载和存储,矢量FU被配置为处理对矢量数据的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410678024.2/2.html,转载请声明来源钻瓜专利网。





