[发明专利]用于在堆栈机器中分配虚拟寄存器堆栈的方法有效
申请号: | 201780013704.4 | 申请日: | 2017-02-27 |
公开(公告)号: | CN108701024B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | K·金辛格 | 申请(专利权)人: | 金辛格自动化有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/34;G06F9/35 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 郭毅 |
地址: | 德国拉*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 堆栈 机器 分配 虚拟 寄存器 方法 | ||
1.一种用于在堆栈机器中分配处理单元的虚拟寄存器堆栈(10)的方法,其包括:
在所述堆栈机器的物理寄存器文件(17)中分配所述虚拟寄存器堆栈(10)的给定数目的最顶层元素(11),并且在所述堆栈机器的分层寄存器缓存(13)中分配所述虚拟寄存器堆栈(10)的附加元素。
2.根据权利要求1所述的方法,其中,
所述寄存器文件(17)包括多个寄存器,每个寄存器能够由从零开始的寄存器号(14)唯一寻址,
所述虚拟寄存器堆栈(10)的每个元素能够通过从零开始的索引(15)唯一寻址,以及
为了分配所述最顶层的元素(11)中的一个元素,将能够用于对所述元素寻址的索引(15)映射到所述寄存器号(14)中的一个寄存器号(14)。
3.根据权利要求2所述的方法,其中,
通过和与所述寄存器文件(17)内的处理单元的寄存器的给定容量对应的位掩码(RB)进行逐位逻辑与、然后与所述寄存器在所述寄存器文件(17)中的偏移(RO)进行逐位逻辑或来映射所述索引(15)。
4.根据权利要求3所述的方法,其中,
如果寄存器的容量耗尽,则所述虚拟寄存器堆栈(10)的任何剩余元素溢出到所述分层寄存器缓存(13)。
5.根据权利要求3或4所述的方法,其中,所述处理单元是虚拟处理单元,并且所述寄存器包含在所述寄存器文件(17)的由所述虚拟处理单元的专用寄存器(21)定义的段(12)中,所述专用寄存器(21)包括所述位掩码(RB)和所述偏移(RO)。
6.根据权利要求5所述的方法,其包括:
通过引用所述虚拟处理单元的进程指针(PP)管理所述专用寄存器(21),所述专用寄存器(21)优选地包括唯一任务标识符(TID)、进程标识符(PID)、指令指针(IP)、虚拟寄存器堆栈指针(SP)、数据堆栈指针(DP)和返回堆栈指针(BP)。
7.根据权利要求5所述的方法,其包括,
在激活时,分配所述寄存器文件(17)中的所述段(12)并加载所述虚拟处理单元,
在停用时,卸载所述虚拟处理单元并释放所述段(12)。
8.根据权利要求1至4中任一项所述的方法,其中,将所述最顶层的元素(11)进一步备份到所述分层寄存器缓存(13)中。
9.根据权利要求8所述的方法,其中,
所述分层寄存器缓存(13)包括多个寄存器,每个寄存器能够由从零开始的地址(22)唯一寻址,并且为了分配后续元素中的一个元素,将能够用于对所述元素寻址的索引(15)映射到相应的地址(22)。
10.根据权利要求9所述的方法,其中,
通过与所述分层寄存器缓存(13)的容量对应的位掩码(RB)进行逐位逻辑与、然后与所述分层寄存器缓存(13)内的偏移(RO)进行逐位逻辑或来映射所述索引(15)。
11.根据权利要求10所述的方法,其中,
如果所述分层寄存器缓存(13)的容量耗尽,则所述虚拟寄存器堆栈(10)的任何剩余的最底部的元素(16)溢出到随机存取存储器。
12.一种堆栈机器,其适于执行根据权利要求1至11中任一项所述的方法的步骤。
13.一种计算机程序,其包括使根据权利要求12所述的堆栈机器执行根据权利要求1至11中任一项所述的方法的步骤的指令。
14.一种计算机可读的数据载体,在其上存储有根据权利要求13所述的计算机程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金辛格自动化有限责任公司,未经金辛格自动化有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780013704.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:带内重定时器寄存器访问
- 下一篇:安全的存储器寻址方法