[发明专利]一种寄存器分配方法、系统及处理器有效
申请号: | 201210410331.3 | 申请日: | 2012-10-24 |
公开(公告)号: | CN102968379A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | 姜军;顾龙;钱宏;马晓东;肖谦 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 寄存器 分配 方法 系统 处理器 | ||
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种寄存器分配方法、系统及处理器。
背景技术
寄存器是处理器内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果(即变量),为随后的指令快速提供操作数,从而避免把中间结果直接存入内存,再读取内存的操作。然而由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度,由此寄存器分配技术应运而生。
目前,寄存器分配大都是针对传统处理器,遵循寄存器(显式)→高速缓冲存储器cache(隐式)→内存(显式)的基本存储结构,变量优先分配至寄存器,此处的变量包括向量变量和标量变量,当寄存器的可用存储空间用完,寄存器存在变量溢出时,变量将溢出到寄存器外部,保存到内存中;这使得内存中所保存的变量的数量较多,极易产生大量的访存操作,增加了程序的运行时间,进而使得处理器的运行效率降低。
发明内容
有鉴于此,本发明实施例提供一种寄存器分配方法、系统及处理器,以解决现有的寄存器分配方式使得内存中所保存的变量的数量较多,极易产生大量的访存操作,增加了程序的运行时间,进而使得处理器的运行效率降低的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种寄存器分配方法,基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:
判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;
若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;
若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;
若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;
若否,将当前变量保存入内存中。
其中,所述判断向量寄存器中是否存在能够存储当前变量的可用存储空间包括:
判断当前变量的类型;
若当前变量为向量变量、且所述向量寄存器中不存在可用存储空间,则所述向量寄存器中不存在能够存储当前变量的可用存储空间;
若当前变量为向量变量、且所述向量寄存器中存在可用存储空间,则所述向量寄存器中存在能够存储当前变量的可用存储空间;
若当前变量为标量变量、且所述向量寄存器中的低位存储空间及高位存储空间不存在可用存储空间,则所述向量寄存器中不存在能够存储当前变量的可用存储空间;
若当前变量为标量变量、且所述向量寄存器中的低位存储空间或高位存储空间存在可用存储空间,则所述向量寄存器中存在能够存储当前变量的可用存储空间。
其中,当前变量为标量变量、且所述向量寄存器中的高位存储空间存在可用存储空间时,所述为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中包括:
在所述向量寄存器中的高位存储空间中,为当前变量分配对应的空闲的存储空间,将所述当前变量保存入所分配的所述向量寄存器中的空闲的高位存储空间中。
其中,所述存储器组包括:第一存储器和第二存储器,所述第一存储器的读取速度快于所述第二存储器的读取速度;当第一存储器及第二存储器均存在能够存储当前变量的可用存储空间时,所述依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中包括:
依据第一存储器和第二存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的第一存储器中;
当第一存储器不存在能够存储当前变量的可用存储空间,且第二存储器存在能够存储当前变量的可用存储空间时,所述依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中包括:
将当前变量保存入存在可用存储空间的第二存储器中。
其中,所述存储器组包括:局部存储器;所述判断所述存储器组中是否存在能够存储当前变量的可用存储空间包括:
判断所述局部存储器内是否存在能够重用的已分配存储空间;
若是,则所述局部存储器内存在能够存储当前变量的可用存储空间;
若否,判断所述局部存储器内是否存在未分配的存储空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210410331.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种玻璃角度可调采光顶系统
- 下一篇:一种大型预制构件芯模