[发明专利]由多个指令集使用的寄存器间映射有效
申请号: | 201180014383.2 | 申请日: | 2011-02-16 |
公开(公告)号: | CN103098020A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 理查德·罗伊·格里森思怀特;戴维·詹姆斯·西尔 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/318;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 宋鹤 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 使用 寄存器 映射 | ||
技术领域
本发明涉及数据处理系统领域。具体地,本发明涉及支持多个指令集的数据处理系统以及可提供由该多个指令集使用的寄存器的方式。
背景技术
提供支持多个指令集的数据处理系统是已知的。这种数据处理系统的一些实例为设立于英国Cambridge的ARM有限公司所制造的处理器设计,所述处理器设计支持ARM指令集(ARM instruction set)及Thumb指令集(Thumb instruction set)。ARM指令系以32位编码,并且,指定对保存于32位寄存器内的数据值所执行的32位数据处理操作(例如,ADD、SUB、LDR、STR等)。Thumb指令以16位编码,并且,指定对存储于32位寄存器内的32位数据值所执行的32位数据处理操作。
由ARM有限公司所设计的Neon及VFP延伸架构,分别提供对存储于具有在程控下所指定的大小的寄存器内的数据值操作的单一指令多重数据(single instruction multiple data;SIMD)及浮点指令。
希望在提供处理器时减少所需要的电路资源量。对形成寄存器的电路组件的提供表示一种这样的电路资源。
发明内容
从本发明的一个方面来看,其提供一种用于处理数据的装置,其包括:
多个寄存器,其被配置为存储待处理的数据值;处理电路,其耦合至所述多个寄存器,并且,被配置为对存储于所述多个寄存器中的数据值执行数据处理操作;
指令译码器,其耦合至所述处理电路,并且,响应于程序指令流来控制所述处理电路,以执行所述数据处理操作;其中,
所述指令译码器响应于第一指令集的程序指令来控制所述处理电路,以使用由所述多个寄存器所提供的N位架构寄存器来执行所述数据处理操作,其中,N为正整数值;
所述指令译码器响应于第二指令集的程序指令来控制所述处理电路,以使用由所述多个寄存器所提供的M位架构寄存器来执行所述数据处理操作,其中,M为正整数值,并且,所述多个寄存器中的至少一些寄存器被所述第一指令集的程序指令及所述第二指令集的程序指令共享;
所述指令译码器被配置为当判定要访问所述多个寄存器中的哪一个寄存器,以作为呈现给所述第一指令集的程序指令以使用的第一组N位架构寄存器的部分时,译码在所述第一指令集的程序指令内的寄存器指定字段;
所述指令译码器被配置为当判定要访问所述多个寄存器中的哪一个寄存器,以作为呈现给所述第二指令集的程序指令使用的第二组M位架构寄存器的部分时,译码在所述第二指令集的程序指令内的寄存器指定字段;并且,
所述指令译码器被配置为提供在所述第一指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第一映射,以及在所述第二指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第二映射,所述第一映射不同于所述第二映射,并且,所述第一映射及所述第二映射使得所述第一组的每个寄存器具有到所述第二组的寄存器的预定一对一映射,并且,与所述第二组的所述寄存器共享在所述多个寄存器内的共用寄存器的共享部分,所述共用寄存器的非共享部分系无法使用所述第一指令集的指令访问;以及存储可使用所述第二组的寄存器访问的值。
本发明技术认知到,即使不同指令集对不同宽度的架构寄存器操作,对于不同指令集而言,共享多个寄存器的资源也是可能的。此外,通过在由两个指令集所使用的寄存器指定符之间安排预定一对一映射,对于所述指令集中的至少一者而言,访问由另一指令集存储于寄存器内的所有值为可能的。此举有益于以两个指令集撰写的程序的可互操作性,例如,在使用两个指令集中的不同者所撰写的程序之间共享数据值。将理解,指令通常可含有一个以上的寄存器指定字段。一些指令亦可由隐含方式来指定特定寄存器的使用,例如,PUSH指令及POP指令以隐含方式指定了堆栈指针寄存器的使用。
虽然如呈现给第一指令集的第一组寄存器与如呈现给第二指令集的第二组寄存器在数量上可能不同,但是至少在优选实施例中,第一组及第二组包括相同数量的寄存器。此有助于达成所提供的寄存器资源的高水平的再利用性,并且促进两个指令集之间有效率的互操作。
M位架构寄存器可为2N位架构寄存器。
多个寄存器可为2N位寄存器,以促进通过第二指令集来操纵2N位数据值。在此状况下,第一指令集可经安排以访问2N位寄存器的最低有效N位。
寄存器大小及数据宽度可变化,但是在至少一些优选实施例中,N=32。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180014383.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多价糖肽构建体及其用途
- 下一篇:一种海岛、礁岸线快速提取方法