[其他]通过双色布石进行寄存器分配和指定无效
申请号: | 86107764 | 申请日: | 1986-11-14 |
公开(公告)号: | CN86107764A | 公开(公告)日: | 1987-07-01 |
发明(设计)人: | 阿施法·阿布杜里曼·穆施;卡尔·马克斯·施姆普福 | 申请(专利权)人: | 国际商用机器公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 中国国际贸易促进委员会专利代理部 | 代理人: | 余刚 |
地址: | 美国纽约州*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 双色布石 进行 寄存器 分配 指定 | ||
1、一种用于分配寄存器并优化所述分配的方法,是在一个无向量或向量处理器中将源代码编译成可执行代码的优化阶段里,对不含“基本程序块”的分支的代码区域进行优化,每个基本程序块具有定义计算的语句,
每个处理器包括用于存贮可执行代码序列和数据的存贮器,以及用于访问所述存贮器并执行任何被访问代码的装置;存贮器被设计为两级模式,包括有限数量P的寄存器和一个相对无限的内存贮器,所述寄存器的访问时间快于内存贮器,
这些步骤的特征在于:
(a)确定一个基本程序块的数据相关图特性;
(b)根据该基本程序块中的全部计算产生对p个寄存器中的q个的分配和指定,其步骤为
(b1)沿叶-根节点方向,选择具有最大后继节点数(支配者)的图的节点集合;
(b2)确定上述所选集合的每个紧随后继点的覆盖费用,为该集合中覆盖费用最小的紧随后继点指定一个寄存器;以及
(b3)在缺少任何可用可分配寄存器的情况下,将由计算在该节点产生的中间或最后结果写到内存贮器,以后根据需要将其装回可用寄存器。
2、一种在无向量或向量处理器中将源代码编译成可执行代码期间分配并优化寄存器分配的方法,
源代码包括不具分支的称为“基本程序块”的代码区域,每个基本程序块具有定义计算的语句,
每个处理器包括用于存贮可执行代码序列和数据的存贮器,以及用于访问所述存贮器并执行任何被访问代码的装置;存贮器被设计为两级模式,包括有限数量P的寄存器和一个相对无限的内存贮器,所述寄存器的访问时间快于对内存贮器的访问。
其步骤的特征在于:
(a)确定每个基本程序块的数据相关图特性;
(b)根据每个基本程序块中的全部计算,对P个寄存器中的q个产生局部寄存器分配和指定,其步骤为
(b1)沿叶-根的节点方向,选择具有最大后继节点数(支配者)的图的节点集合;
(b2)确定上述所选集合的每个紧随后继节点的覆盖费用,并为该集合中覆盖费用最小的紧随后继点指定一寄存器;以及
(b3)在缺少任何可用可分配寄存器的情况下,将由计算在该节点产生的中间或最后结果写到内存贮器,以后根据需要将其装回一可用寄存器。
(c)在基本程序块的流程图式表示上进行活变量分析,并在(p-q)个剩余寄存器中相应产生全程寄存器分配和指定,假定在基本程序块的流程图中所表示的循环是最有意义的优化实体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商用机器公司,未经国际商用机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/86107764/1.html,转载请声明来源钻瓜专利网。