【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统领域。具体地,本专利技术涉及支持多个指令集的数据处理系统以及可提供由该多个指令集使用的寄存器的方式。
技术介绍
提供支持多个指令集的数据处理系统是已知的。这种数据处理系统的一些实例为设立于英国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 instructionmultiple data; SIMD)及浮点指令。希望在提供处理器时减少所需要的电路资源量。对形成寄存器的电路组件的提供表不一种这样的电路资源。
技术实现思路
从本专利技术的一个方面来看,其提供一种用于处理数据的装置,其包括:多个寄存器,其被配置为存储待处理的数据值;处理电路,其耦合至所述多个寄存器,并且,被配置为对存储于所述多个寄存器中的数据值执行数据处理操作;指令译码器,其耦合至所述处理电路,并且,响应于程序指令流来控制所述处理电路,以执行所述数据处理操作;其中,所述指令译码器响应于第一指令集的程序指令来控制所述处理电路,以使用由所述多个寄存器所 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】2010.03.15 GB 1004293.51.一种用于处理数据的装置,所述装置包括: 多个寄存器,该多个寄存器被配置为存储待处理的数据值; 处理电路,该处理电路耦合至所述多个寄存器,并且,被配置为对存储于所述多个寄存器中的数据值执行数据处理操作; 指令译码器,该指令译码器耦合至所述处理电路,并且,响应于程序指令流来控制所述处理电路,以执行所述数据处理操作;其中, 所述指令译码器响应于第一指令集的程序指令来控制所述处理电路,以使用由所述多个寄存器所提供的N位架构寄存器来执行所述数据处理操作,其中,N为正整数值; 所述指令译码器响应于第二指令集的程序指令来控制所述处理电路,以使用由所述多个寄存器所提供的M位架构寄存器来执行所述数据处理操作,其中,M为正整数值,并且,所述多个寄存器中的至少一些寄存器由所述第一指令集的程序指令及所述第二指令集的程序指令共孚; 所述指令译码器被配置为当判定要访问所述多个寄存器中的哪一寄存器,以作为呈现给所述第一指令集的程序指令使用的第一组N位架构寄存器的部分时,译码在所述第一指令集的程序指令内的寄存器指定字段; 所述指令译码器被配置为当判定要访问所述多个寄存器中的哪一寄存器,以作为呈现给所述第二指令集的程序指令使用的第二组M位架构寄存器的部分时,译码在所述第二指令集的程序指令内的寄存器指定字段;并且 所述指令译码器被配置为提供在所述第一指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第一映射,以及在所述第二指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第二映射,所述第一映射不同于所述第二映射,并且,所述第一映射及 所述第二映射使得所述第一组的每个寄存器具有到所述第二组的寄存器的预定一对一映射,并且,与所述第二组的所述寄存器共享在所述多个寄存器内的共用寄存器的共享部分,所述共用寄存器的非共享部分是无法使用所述第一指令集的指令来访问的,并且,存储可使用所述第二组的寄存器访问的值。2.按权利要求1所述的装置,其中,M=2N。3.按权利要求1和2中的任一项所述的装置,其中,所述第一组及所述第二组包括相同数量的寄存器。4.按权利要求1、2和3中的任一项所述的装置,其中,所述多个寄存器包括多个M位寄存器,并且,所述第一指令集的程序指令访问所述M位寄存器的最低有效N位。5.根据前述权利要求中的任一项所述的装置,其中,N=32。6.根据前述权利要求中的任一项所述的装置,其中,当执行所述第一指令集的程序指令时,所述装置被配置为在多个异常状态中操作,并且,所述指令译码器被配置为当判定要访问所述多个寄存器中的哪一寄存器时,将在所述第一指令集的程序指令内的所述寄存器指定字段及所述多个异常状态的当前异常状态一起译码,并且,一群在所述第一组内的寄存器为成组寄存器群,该群寄存器对应于在所述第一指令集的所述程序指令内的所述寄存器指定字段的共用值和不同的异常状态。7.按权利要求6所述的装置,其中,在所述成组寄存器群内,所述第一指令集的所述程序指令内的所述寄存器指定字段的最低有效位的值与所述第二指令集的所述程序指令内的所述寄存器指定字段的最低有效位的值共用。8.按权利要求7所述的装置,其中,所述指令译码器被配置为提供所述映射,使得对于所述第二组的所述寄存器中与在所述第二指令集的所述程序指令内的所述寄存器指定字段的递增值序列相对应的部分而言,在所述第一指令集的所述程序指令内的所述寄存器指定字段的对应值在两个值之间交替。9.根据前述权利要求中的任一项所述的装置,其中,当用所述第二指令集的程序指令来访问时,所述多个寄存器包括空值寄存器,所述空值寄存器存储预定空值。10.按权利要求9所述的装置,其中,所述第一组寄存器不具有映射到所述空值寄存器的架构寄存器。11.根据前述权利要求中的任一项所述的装置,其中,当执行所述第一指令集的程序指令时,程序计数器寄存器存储值,所述值指示正执行的程序指令的存储器地址,并且,所述程序计数器寄存器在映射到所述第二组寄存器的所述第一组之外。12.根据前述权利要求中的任一项所述的装置,其中,当所述共用寄存器被所述第一指令集的程序指令访问时,所述非共享部分为调至零、不变及设定为未定义值中的一者。13.一种用于处理数据的装置,所述装置包括: 多个寄存器部件,用于存储待处理的数据值; 处理部件,用于对存储于所述多个寄存器部件中的数据值执行数据处理操作; 指令译码部件,用于响应于程序指令流而控制所述处理电路,以执行所述数据处理操作;其中, 所述指令译码部件响应于第一指令集的程序指令来控制所述处理部件,以使用由所述多个寄存器部件所提供的N位架构寄存器部件来执行所述数据处理操作,其中,N为正整数值; 所述指令译码部件响应于第二指令集的程序指令来控制所述处理部件,以使用由所述多个寄存器部件所提供的M位架构寄存器部件来执行所述数据处理操作,其中,M为正整数值,并且,所述多个寄存器部件中的至少一些寄存器由所述第一指令集的程序指令及所述第二指令集的程序指令共享; 所述指令译码器部件被配置为当判定要访问所述多个寄存器部件中的哪一寄存器,以作为呈现给所述第一指令集的程序指令使用的第一组N位架构寄存器部件的部分时,译码在所述第一指令集的程序指令内的寄存器指定字段; 所述指令译码器部件被配置为当判定要访问所述多个寄存器部件中的哪一寄存器,以作为呈现给所述第二指令集的程序指令使用的第二组M位架构寄存器部件的部分时,译码在所述第二指令集的程序指令内的寄存器指定字段;并且 所述指令译码部件被配置为提供在所述第一指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器部件之间的第一映射,以及在所述第二指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器部件之间的第二映射,所述第一映射不同于所述第二映射,并且,所述第一映射及所述第二映射使得所述第一组的每个寄存器部件具有至所述第二组的寄存器部件的预定一对一映射,并且,与所述第二组的所述寄存器部件共享在所述多个寄存器部件内的共用寄存器部件的共享部分,无法使用所述第一指令集的指令访问的所述共用寄存器部件的非共享部分,以及存储可使用所述第二组的寄存器部件可访问的值。14.一种处理数据的方法,所述方法包括以下步骤: 在多个寄存器中存储待处理的数据值; 对存储于所述多个寄存器中的数据值执行数据处理操作; 译码程序指令流,以控制所述数据处理操作的所述执行;其中, 所述译码响应于第一指令集的程序指令来控制所述数据处理操作的所述执行,该执行使用由所述多个寄存器所提供的N位架构寄存器,其中,N为正整数值; 所述译码响应于第二指令集的程序指令来控制所述数据处理操作的所述执行,所述执行使用由所述多个寄存器所提供的M位架构寄存器,其中,M为正整数值,并且,所述多个寄存器中的至少一些寄存器由所述第一指令集的程序指令及所述第二指令集的程序指令共 当判定要访问所述多个寄存器中的哪一寄存器,以作为呈现给所述第一指令集的程序指令使用的第一组N位架构寄存器的部分时,所述译码对在所述第一指令集的程序指令内的寄存器指定字段进行译码; 当判定要访问所述多个寄存器中的哪一寄存器,以作为呈现给所述第二指令集的程序指令使用的第二组M位架构寄存器的部分时,所述译码对在所述第二指令集的程序指令内的寄存器指定字段进行译码;并且 所述译码提供在所述第一指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第一映射,以及在所述第二指令集的程序指令内的所述寄存器指定字段的值与所述多个寄存器之间的第二映射,所述第一映射不同于所述第二映射,并且,所述第一映射及所述第二映射使得所述第一组的每个寄存器具有到所述第二组的寄存器的预定一对一映射,并且,与 所述第二组的所述寄存器共享在所述多个寄存器内的共用寄存器的共享部分,所述共用寄存器的非共享部分无法使用所述第一指令集的指令访问,以及存储可使用所述第二组的寄存器访问的值。15.按权利要求14所述的方法,其中,M=2N。16.按权利要求14和15中的任一项所述的方法,其中,所述第一组及所述第二组包括相同数量的寄存器。17.按权利要求14、15和16中的任一项所述的方法,其中,所述多个寄存器包括多个M位寄存器,并且,所述第一指令集的程序指令访问所述M位寄存器的最低有效N位。18.按权利要求14至17中的任一项所述的方法,其中,N=32。19.按权利要求14至18中的任一项所述的方法,其中,当执行所述第一指令集的程序指令时,在多个异常状态中的一者中操作,并且,当判定要访问所述多个寄存器中的哪一寄存器时,所述译码步骤将在所...
【专利技术属性】
技术研发人员:理查德·罗伊·格里森思怀特,戴维·詹姆斯·西尔,
申请(专利权)人:ARM有限公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。