控制移位分组数据的位校正的装置的制作方法

文档序号:6578263阅读:197来源:国知局
专利名称:控制移位分组数据的位校正的装置的制作方法
技术领域
本发明具体涉及计算机系统领域。更具体地,本发明涉及分组数据操作领域。
背景技术
在典型的计算机系统中,将处理器实现为利用产生一种结果的指令在由大量的位(如64)表示的值上操作。例如,执行加法指令将第一个64位值与第二个64位值相加并作为第三个64位值存储该结果。然而,多媒体应用(诸如以计算机支持的协作为目的的应用(CSC-电话会议与混合媒体数据处理的集成)、2D/3D图形、图象处理、视频压缩/解压、识别算法与音频处理)要求处理可以用少量的位表示的大量数据。例如,图形数据通常需要8或16位,声音数据通常需要8或16位。这些多媒体应用的各个需要一种或多种算法,各需要若干操作。例如,算法可能需要加法、比较及移位操作。为了改进多媒体应用(以及具有相同特征的其它应用),先有技术处理器提供分组数据格式。分组数据格式中通常用来表示单个值的位被分成若干固定长度的数据元素,各元素表示单独的值。例如,可将一个64位寄存器分成两个32位元素,各元素表示一个单独的32位值。此外,这些先有技术处理器提供并行分开处理这些分组数据类型中各元素的指令。例如,分组的加法指令将来自第一分组数据与第二分组数据的对应数据元素相加。从而,如果多媒体算法需要包含必须在大量数据元素上执行的五种操作的循环,总是希望组装该数据并利用分组数据指令并行执行这些操作。以这一方式,这些处理器便能更高效地处理多媒体应用。然而,如果该操作循环中包含处理器不能在分组数据上执行的操作(即处理器缺少适当的指令),则必须分解该数据来执行该操作。例如,如果多媒体算法要求加法运算而不能获得上述分组加法指令,则程序员必须分解第一分组数据与第二分组数据(即分开包含第一分组数据与第二分组数据的元素),将各个分开的单独的元素相加,然后将结果组装成分组的结果供进一步分组处理。执行这种组装与分解所需的处理时间通常抵消了提供分组数据格式的性能优点。因此,希望在通用处理器上包含提供典型多媒体算法所需的所有操作的分组数据指令集。然而,由于当今微处理器上的有限芯片面积,可以增加的指令数目是有限的。包含分组数据指令的一种通用处理器便是加州Santa Clara的Intel公司制造的i860XP 处理器。i860XP处理器包含具有不同元素大小的若干分组数据类型。此外,i860XP处理器包含分组加法与分组比较指令。然而,分组加法指令并不断开进位链,因此程序员必须保证软件正在执行的运算不会导致溢出,即运算不会导致来自分组数据中一个元素的位溢出到该分组数据的下一元素中。例如,如果将值I加到存储“11111111”的8位分组数据元素上,便出现溢出而结果为“100000000”。此外,i860XP所支持的分组数据类型中的小数点位置是固定的(即i860XP处理器支持数8. 8,6. 10与8. 24,其中数1. j包含i个最高位及小数点后的j位)。从而限制了程序员可以表示的值。由于i860XP处理器只支持这两条指令,它不能执行采用分组数据的多媒体算法所要求的许多运算。另一种支持分组数据的通用处理器便是Motorala公司制造的MC88110 处理器。MC88110处理器支持具有不同长度元素的若干种不同的分组数据格式。此外,MC88110处理器所支持的分组指令集中包括组装、分解、分组加法、分组减法、分组乘法、分组比较与分组旋转。MC88110处理器分组命令通过连接第一寄存器对中的各元素的(t*r)/64(其中t为该分组数据的元素中的位数)个最高有效位进行操作来生成宽度为r的一个字段。该字段取代存储在第二寄存器对中的分组数据的最高有效位。然后将这一分组数据存储在第三寄存器对中并左旋r位。下面在表I与2中示出所支持的t与r值,以及这一指令的运算实例。
权利要求
1.一种处理器,包括 多个寄存器,用于存储64位分组数据操作数; 解码器,用于解码分组移位指令,所述分组移位指令具有32位指令格式,所述分组移位指令具有第一字段,以指示多个寄存器中用于存储第一 64位源操作数的第一寄存器,并且,所述分组移位指令具有第二字段,以指示多个寄存器中用于存储第二源操作数的第二寄存器,所述第一 64位源操作数包括第一四个16位数据元素,这些数据元素包括在位[15 0]中的第一 16位数据元素、在位[31 16]中的第二 16位数据元素、在位[47 32]中的第三16位数据元素、以及在位[63 48]中的第四16位数据元素,并且,第二源操作数包括位的计数数目;以及 执行单元,与解码器和多个寄存器耦合,所述执行单元响应于所述分组移位指令,在所述多个寄存器中要由所述分组移位指令的第三字段指示的第三寄存器中存储64位目的地操作数,64位目的地操作数的位[15 0]存储按照位的计数数目进行的第一 16位数据元素的算术右移的结果,其中高阶位具有第一 16位数据元素的符号位的值,64位目的地操作数的位[31 16]存储按照位的计数数目进行的第二 16位数据元素的算术右移的结果,其中高阶位具有第二 16位数据元素的符号位的值,64位目的地操作数的位[47 32]存储按照位的计数数目进行的第三16位数据元素的算术右移的结果,其中高阶位具有第三16位数据元素的符号位的值,以及64位目的地操作数的位[63 48]存储按照位的计数数目进行的第四16位数据元素的算术右移的结果,其中高阶位具有第四16位数据元素的符号位的值, 其中,所述执行单元包括用于以相应符号位的值填充每个算术右移的结果的高阶位的电路, 其中所述处理器还用于对分组32位数据元素执行算术右移, 其中所述处理器包括通用中央处理单元(CPU),以及 其中所述处理器具有RISC体系结构。
2.权利要求1的处理器,其中,如果位的计数数目大于15,64位目的地操作教的位[15 0]全都具有第一 16位数据元素的符号位的值,64位目的地操作数的位[31 16]全都具有第二 16位数据元素的符号位的值,64位目的地操作数的位[47 32]全都具有第三16位数据元素的符号位的值,以及64位目的地操作数的位[63 48]全都具有第四16位数据元素的符号位的值。
3.权利要求1的处理器,还包括一种机制允许处理器在处于栈定位方式及非栈定位方式的所述多个寄存器的寄存器上的操作之间切换。
4.权利要求1的处理器,其中所述处理器能够处理80位浮点数。
5.权利要求1的处理器,其中所述处理器包括64位处理器。
6.权利要求1的处理器,其中所述处理器还能够执行分组右移逻辑指令。
7.权利要求1的处理器,其中给定电路被用于对16位数据元素以及32位数据元素进行算术右移。
8.一种系统,包括 平板显示设备; 触摸屏光标控制设备,用来控制在平板显示设备上的光标移动;用来捕捉视频图象的设备; 处理器,与平板显示设备、触摸屏光标控制设备以及用来捕捉视频图象的设备耦合,所述处理器包括 用来存储64位分组数据操作数的多个寄存器; 解码器,用于解码分组移位指令,所述分组移位指令具有32位指令格式,所述分组移位指令具有第一字段,以指示多个寄存器中用于存储第一 64位源操作数的第一寄存器,并且,所述分组移位指令具有第二字段,以指示多个寄存器中用于存储第二源操作数的第二寄存器,所述第一 64位源操作数包括第一四个16位数据元素,这些数据元素包括在位[15 0]中的第一 16位数据元素、在位[31 16]中的第二 16位数据元素、在位[47 32]中的第三16位数据元素、在位[63 48]中的第四16位数据元素,并且,第二源操作数包括位的计数数目;以及 执行单元,与解码器和多个寄存器耦合,所述执行单元响应于所述分组移位指令,在所述多个寄存器中要由所述分组移位指令的第三字段指示的第三寄存器中存储64位目的地操作数,64位目的地操作数的位[15 0]存储按照位的计数数目进行的第一 16位数据元素的算术右移的结果,其中高阶位具有第一 16位数据元素的符号位的值,64位目的地操作数的位[31 16]存储按照位的计数数目进行的第二 16位数据元素的算术右移的结果,其中高阶位具有第二 16位数据元素的符号位的值,64位目的地操作数的位[47 32]存储按照位的计数数目进行的第三16位数据元素的算术右移的结果,其中高阶位具有第三16位数据元素的符号位的值,以及64位目的地操作数的位[63 48]存储按照位的计数数目进行的第四16位数据元素的算术右移的结果,其中高阶位具有第四16位数据元素的符号位的值, 其中,所述执行单元包括用于以相应符号位的值填充每个算术右移的结果的高阶位的电路,以及 其中所述处理器还用于对分组32位数据元素执行算术右移。
9.权利要求8的系统,其中,如果位的计数数目大于15,64位目的地操作数的位[15 0]全都具有第一 16位数据元素的符号位的值,64位目的地操作数的位[31 16]全都具有第二 16位数据元素的符号位的值,64位目的地操作数的位[47 32]全都具有第三16位数据元素的符号位的值,以及64位目的地操作数的位[63 48]全都具有第四16位数据元素的符号位的值。
10.权利要求8的系统,其中所述处理器还包括一种机制允许所述处理器在处于栈定位方式及非栈定位方式的所述多个寄存器的寄存器上的操作之间切换。
11.权利要求8的系统,其中所述处理器能够处理80位浮点数。
12.权利要求8的系统,其中所述处理器包括64位处理器。
13.权利要求8的系统,其中所述处理器还能够执行分组右移逻辑指令。
14.权利要求8的系统,其中所述处理器中的给定电路被用于对16位数据元素以及32位数据元素进行算术右移。
15.权利要求8的系统, 其中所述处理器包括通用中央处理单元(CPU),以及 其中所述处理器具有RISC体系结构。
全文摘要
本发明的名称是“控制移位分组数据的位校正的装置”。本发明涉及控制移位分组数据的位校正的装置,提供一种在处理器中加入支持典型的多媒体应用所要求的分组数据上的操作的指令集的装置。在一个实施例中,本发明包括具有存储区(150)、解码器(165)及多个电路(130)的处理器。该多个电路提供若干指令的执行来操作分组数据。在这一实施例中,这些指令包含组装、分解、分组乘法、分组加法、分组减法、分组比较及分组移位。
文档编号G06F5/00GK103064649SQ20121054854
公开日2013年4月24日 申请日期1996年7月17日 优先权日1995年8月31日
发明者A.D.佩勒格, Y.雅里, M.米塔尔, L.M.门内梅尔, B.艾坦, A.F.格卢, C.杜龙, E.科瓦施, W.维特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1