-
公开(公告)号:CN117234589A
公开(公告)日:2023-12-15
申请号:CN202310813074.6
申请日:2023-07-04
Applicant: 湖南科技大学
IPC: G06F9/30
Abstract: 本发明涉及一种基于函数抽象指令序列的最内层循环全展开方法,包括以下步骤:分析函数中各基本块内指令间的依赖关系;通过变量的活跃性分析来构造DU链和UD链;识别最内层循环的归纳变量;通过UD链找出循环边界常量;根据各寄存器类型对应的归纳变量来计算循环展开因子;进行循环全展开。本发明基于具有多类寄存器资源的体系结构,在最内层循环展开基础上进行循环全展开,并将循环完全线性化。该方法提高了指令执行的并行度,消除原循环中各次循环之间的跳转以及循环判断指令片段,另外还省去了条件判断中的归纳变量在循环展开中的迭代,因此,它在一定程度上减少了指令数目,提升了后续指令调度的自由度。
-
公开(公告)号:CN117472442A
公开(公告)日:2024-01-30
申请号:CN202310813831.X
申请日:2023-07-04
Applicant: 湖南科技大学
IPC: G06F9/38
Abstract: 本发明涉及一种符合取指包字节数要求的基本块执行包序列生成方法,包括以下步骤:遍历每个基本块,循环以下所有步骤;判断当前基本块是否以跳转指令结尾;若以跳转指令结尾,优先针对跳转指令构建取指包;从后往前构建当前基本块的所有取指包,依次向取指包中填入执行包,将每个取指包填满;将最后一个取指包填满,此步骤按需插入特殊指令。本发明采用拆分跨相邻两个取指包边界执行包的方法,并在必要部分插入特殊指令来填满取指包。具有可靠性高、准确性强等优点。能适用于取指包字节数不小于执行包字节数的情况。
-
公开(公告)号:CN117055891A
公开(公告)日:2023-11-14
申请号:CN202310813811.2
申请日:2023-07-04
Applicant: 湖南科技大学
IPC: G06F8/41
Abstract: 本发明涉及基于模板函数指令序列的目标函数多数据块操作框架代码自动生成方法,包括以下步骤:步骤1:获取模板函数中可能为函数输入、结果数据相关的变量名;步骤2:获取模板函数中所有函数调用的代码片段指令序列且把模板函数的参数按输入、结果用途分类,并存储到输入、结果的集合中,并从两个集合中找出所有变量名的定值或使用的行号;步骤3:分析模板函数本身的参数,用户输入期望转化后目标函数的参数信息描述;步骤4:根据用户输入的期望参数描述从输入、结果集合中得到一个输入或结果变量名的所有行号,在该行号后生成新指令并插入。本发明具有易实现、可实现以输入的函数为模板函数自动生成新函数的代码框架的优点。
-
-