[发明专利]用于对流水线中的块进行调度的编译方法和设备有效
申请号: | 201410014235.6 | 申请日: | 2014-01-13 |
公开(公告)号: | CN103970510B | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 金泰松 | 申请(专利权)人: | 三星电子株式会社 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 韩明星;王兆赓 |
地址: | 韩国京畿*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调度 流水线 编译 存取 方法和设备 程序代码 寄存器 控制流 处理器 回写 响应 配置 冲突 | ||
提供一种用于对流水线中的块进行调度的编译方法和设备。所述用于对流水线中的块进行调度的编译方法可包括:使用处理器对程序代码的控制流中的块的存取计数进行配置;响应于进入块的边缘的边缘计数大于或等于预定值,确定块为重要块,边缘计数包括在块的存取计数中;基于存取计数对重要块进行调度以防止寄存器回写冲突。
本申请要求于2013年1月28日提交到韩国知识产权局的第10-2013-0009058号韩国专利申请的优先权,该申请的公开通过引用全部包含于此。
技术领域
与示例性实施例一致的方法和设备涉及用于对程序代码的流水线(pipeline)中的块进行调度的编译方法和设备。
背景技术
在具有多流水线的计算机结构中,回写(writeback)表示暂存寄存器根据操作存储将被记录在磁盘中的数据。由于包括物理操作的记录慢于电处理,因此可通过回写将数据记录在寄存器中来减少总的系统时延(latency)。
在操作操作时延针对每个操作而不同的情况下,从不同周期开始的操作可能同时将数据写入到寄存器。这被称为寄存器回写冲突。
因此,需要可避免寄存器回写冲突并可使时延最小化的编译器技术。
发明内容
根据示例性实施例的一方面,可提供一种用于对流水线中的块进行调度的编译方法,所述编译方法包括:对程序代码的控制流程中的块的存取计数进行配置;将进入块的边缘的边缘计数大于或等于预定值的块确定为重要块,边缘计数包括在块的存取计数中;基于存取计数对重要块进行调度以防止寄存器回写冲突。
将进入块的边缘的边缘计数大于或等于预定值的块确定为重要块,边缘计数包括在块的存取计数中的步骤可包括:将具有大于或等于预定重要限制的边缘计数的边缘标记为重要边缘,并将重要边缘进入的块确定为重要块。
将具有大于或等于预定重要限制的边缘计数的边缘标记为重要边缘的步骤可包括:将从未调度块进入的重要边缘标记为普通边缘。
基于存取计数对重要块进行调度以防止寄存器回写冲突的步骤可包括:根据基于存取计数确定的优先级对块进行分类,并按基于优先级对块进行分类的次序顺序地对块进行调度。
将进入块的边缘的边缘计数大于或等于预定值的块确定为重要块,边缘计数包括在块的存取计数中的步骤可包括:基于存取计数从块形成超块。
基于存取计数对重要块进行调度以防止寄存器回写冲突的步骤可包括:将不执行回写的操作调度到重要块的预料到寄存器回写冲突的周期中。
将不执行回写的操作调度到重要块的预料到寄存器回写冲突的周期中的步骤可包括:将空操作(NOP)调度到预料到寄存器回写冲突的周期中。
基于存取计数对重要块进行调度以防止寄存器回写冲突的步骤可包括:将存储操作调度到预料到寄存器回写冲突的周期中。
基于存取计数对重要块进行调度以防止寄存器回写冲突的步骤可包括:对重要块的操作进行调度以在重要块内或以边缘连接到重要块的块中执行回写。
所述编译方法还可包括:在不重要块中不考虑回写而进行调度。
在不重要块中不考虑回写而进行调度的步骤可包括:按物理方法将停顿周期应用于不重要块的预料到寄存器回写冲突的周期中。
所述编译方法还可包括:当存在从不重要块离开并进入到至已调度块的边缘时,进行调度以在不重要块中执行操作的回写。
根据另一示例性实施例的一方面,可提供一种用于对流水线中的块进行调度的编译设备,所述编译设备包括:块编译单元,在程序代码的控制流中对块的存取计数进行配置;块确定单元,将进入块的边缘的边缘计数大于或等于预定值的块确定为重要块,边缘计数包括在存取计数中;块调度单元,基于存取计数对重要块进行调度以防止寄存器回写冲突。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410014235.6/2.html,转载请声明来源钻瓜专利网。