当前位置: 首页 > 专利查询>ARM有限公司专利>正文

具有位域操纵指令的数据处理装置及方法制造方法及图纸

技术编号:12063274 阅读:84 留言:0更新日期:2015-09-17 14:21
本申请涉及一种具有位域操纵指令的数据处理装置及方法,该数据处理装置(2)包含一处理电路(4)及指令译码器(6)。位域操纵指令控制该处理装置(2)从相应第一源数据元素src1及第二源数据元素src2产生至少一个结果数据元素。每一个结果数据元素包括对应于该相应第一源数据元素src1的位域bf的部分。比所插入的位域bf更有效的结果数据元素的位具有前缀值p,基于由该指令所指定的控制值选择该前缀值p,作为第一前缀值、第二前缀值及第三前缀值中的一个前缀值,该第一前缀值具有零值,该第二前缀值具有该相应第二源数据元素src2的一部分的值,该第三前缀值对应于该第一源数据元素src1的该位域bf的符号扩展。

【技术实现步骤摘要】
【专利说明】 本申请是基于申请号为201180056035. 1、申请日为2011年9月29日、申请人为 ARM有限公司、专利技术名称为""的专利技术提出的分案 申请。
本专利技术关于数据处理的领域。
技术介绍
在数据处理系统中,数据值有时可含有若干相邻位,这些位的值独立于数据值的 其余位而受关注。这样一组相邻位可被认为是位域(bitfield),且该组中的相邻位的数目 可被认为是位域的宽度。例如,表示RGB色值的数据值可包括分别表示红色成分、绿色成分 及蓝色成分的位域。有时,可能希望操纵含有位域的数据值以便将位域与该位域的周围隔 离。例如,有人可能希望仅提取或替换RGB色值中的绿色成分。本技术试图提供位域操纵 指令的有效编码,该位域操纵指令可控制处理装置执行各式各样不同种类的位域操纵。 在本申请案中,记法〈X :Y>指示从位位置X处的最高有效位延伸至位位置Y处的 最低有效位的一组相邻位。由<Χ:Υ>所描述的组宽度为Χ-Υ+1位。例如,表述〈4:0>指示 位位置4至0处的5位宽度,其中位〈4>比位〈0>更有效。应注意,记法〈X :Υ>并非暗示储 存位置内的位的任何特定储存次序,因为储存次序不必与有效性的次序相同(例如,可使 用大端或小端储存格式)。 在本申请案中,跟随有一系列1及0的前缀Ob表示二进制记数法中的数值。例如, ObllO表示十进制记数法中的值6。
技术实现思路
从一个方面来看,本专利技术提供一种数据处理装置,该数据处理装置包含: 处理电路,该处理电路被配置为执行处理操作; 指令译码器,该指令译码器响应于程序指令产生用于控制该处理电路执行所述处 理操作的控制信号;其中: 所述程序指令包括位域操纵指令,该位域操纵指令至少识别第一源数据值、第二 源数据值及控制值,该第第一源数据值包含各自具有N位〈Ν-1 :0>的至少一个第一源数据 元素,该第二源数据值包含各自具有N位〈Ν-1 :0>的至少一个第二源数据元素; 该控制值包括用于指示位域宽度W、源位位置A及结果位位置B的信息,其中 1彡W彡Ν,0彡A彡(N-W)及0彡B彡(N-W);以及 该指令译码器响应于该位域操纵指令以产生用于控制该处理电路产生结果数据 值的控制信号,该结果数据值包含至少一个结果数据元素,每个结果数据元素对应于相应 第一源数据元素及相应第二源数据元素,每个结果数据元素具有N位〈Ν-1 :0>,这些位包 含: (a)具有与该相应第一源数据元素的位〈A+W-l :A>相对应的位值的位〈B+W-l : B> ; (b)若B+W < N,则为具有与前缀值相对应的位值的位〈N-1 :B+W>,根据该控制值 选择该前缀值为以下中的一者:(i)第一前缀值,该第一前缀值包含各自具有零值的位, (ii) 第二前缀值,该第二前缀值具有该相应第二源数据元素的位〈N-1 :B+W>的位值,以及 (iii) 第三前缀值,该第三前缀值具有与该相应第一源数据元素的位〈A+W-l :A>的符号扩 展相对应的位值;以及 (C)若B > 0,则为具有与后缀值相对应的位值的位〈B-1 :0>,根据该控制值选择 该后缀值为以下中的一者:(i)第一后缀值,该第一后缀值包含各自具有零值的位,以及 (ii)第二后缀值,该第二后缀值具有该相应第二源数据元素的位〈B-1 :0>的位值; 其中,该位域操纵指令具有位域插入形式,其中该源位位置A = 0而该结果位位 置B > 0,并且具有位域提取形式,其中该源位位置A多0而该结果位位置B = 0 ;以及 该控制值指定用于确定该位域宽度W、该源位位置A及该结果位位置B的最高有效 位位置S和旋转参数R ; 若S彡R,则该源位位置A = R且该结果位位置B = 0,该位域宽度W = (S+l) -R, 且该位域操纵指令具有该位域提取形式;以及 若S < R,则该源位位置A = 0且该结果位位置B = N-R,该位域宽度W = S+1,且 该位域操纵指令具有该位域插入形式。 处理装置被提供有处理电路及指令译码器,该指令译码器响应于位域操纵指令以 控制处理电路执行位域操纵操作。位域操纵指令至少识别第一源数据值及第二源数据值, 该第一源数据值包含至少一个第一源数据元素,该第二源数据值包含至少一个第二源数据 元素。响应于位域操纵指令,处理电路被控制来产生结果数据值,该结果数据值包含至少一 个结果数据元素。每一个第一源数据元素、第二源数据元素及结果数据元素具有N位〈N-1 : 0>〇 每一个N位结果数据元素包括W位〈B+W-l :B>,所述W位〈B+W-l :B>具有与第一 源数据值的相应第一源数据元素的位〈A+W-l :A>相对应的位值。因此,每一个结果数据元 素包括自相应第一源数据元素提取的W位位域。源位位置A指示第一源数据元素内位域的 最低有效位的位置,结果位位置B指示结果数据元素内位域的最低有效位,且位域宽度W指 示位域所包含的位数目。量A、量B及量W位于1彡W彡N,0彡A彡N-W及0彡B彡N-W的 范围内,且由位域操纵指令内的控制值识别。控制值可直接识别A、B及W,或使用可用于推 导A、B及W的任何参数组间接识别A、B及W。应注意,控制值不必为位域操纵指令编码内 的一组连续的位,但亦可包含分布于指令编码中各处的两组或更多组的位。 若控制值指示B+W < N,则每一个结果数据元素将包括前缀部分,该前缀部分包含 位比结果数据元素内位域的最高有效位〈B+W-1〉更有效的〈N-1 :B+W>。本技术为设定前缀 部分的位值提供了不同的选择。位域操纵指令的控制值包括指示何种类型的前缀部分将用 于特定位域操纵的信息。根据控制值,前缀值被选择为第一前缀值、第二前缀值及第三前 缀值中的一个。 第一前缀值包含各自具有零值的位。当选定第一前缀值时,每一个结果数据元素 含有从该相应源数据元素提取的位域,其中比该位域更有效的任何位被设定为〇。此举可 用于隔离源数据元素的位域,以便可以与源数据元素的其他部分相分离地来处理该位域的 值。 第二前缀值具有该相应第二源数据元素的位〈N-1 :B+W>的位值。因此,当选定第 二前缀值时,则位域操纵产生这样的结果,该结果等效于将第一源数据元素的位域插入第 二源数据元素内,其中第二源数据元素的任何更有效的位保持无变化。此举可用于将两个 或两个以上数据值的各部分组合成为单个数据值。例如,通过使用第二前缀形式的位域操 纵指令将与另外两种成分相对应的位域插入含有RGB成分中的一种成分的数据值内,可从 分离的RGB成分值组装成组合RGB色值。 第三前缀值具有与相应第一源数据元素的位〈A+W-l :A>的符号扩展相对应的位 值。此举适用于表示带符号值的位域,因为当符号扩展被包括于结果数据元素内时符号扩 展保存第一源数据元素的位域的符号。例如,若自第一源数据元素提取的位域〈A+W-l :A> 表示负数,则由第三前缀值提供的符号扩展维持结果数据元素内的位域的负号。 通过选择第一前缀值、第二前缀值及第三前缀值中的合适的一个前缀值,可通过 相同的位域操纵指令来本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104915182.html" title="具有位域操纵指令的数据处理装置及方法原文来自X技术">具有位域操纵指令的数据处理装置及方法</a>

【技术保护点】
一种数据处理装置,包含:处理电路,该处理电路被配置为执行处理操作;指令译码器,该指令译码器响应于程序指令产生用于控制该处理电路执行所述处理操作的控制信号;其中:所述程序指令包括至少一个指令,该至少一个指令指定一控制值,该控制值具有第一部分及第二部分,该第一部分用于指示选自复数个数据大小的选定数据大小,该第二部分用于指示至少一个控制参数,该至少一个控制参数具有根据该选定数据大小而变化的位数目,该第一部分及该第二部分各自具有可变数目的位;以及该指令译码器响应于该至少一个指令产生用于控制该处理电路根据该选定数据大小及该至少一个控制参数执行相应处理操作的控制信号;其中当处理该至少一个指令时,该指令译码器及该处理电路中的至少一者被配置为识别由该控制值的该第一部分包含的位数目,且根据由该第一部分包含的该位数目来识别:(a)该选定数据大小,以及(b)该控制值中的哪些位形成用于指示该至少一个控制参数的该第二部分。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:戴维·詹姆斯·西尔理查德·罗伊·格里森思怀特奈杰尔·约翰·斯蒂芬斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1