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

文档序号:6579420阅读:278来源:国知局
专利名称:控制移位分组数据的位校正的装置的制作方法
技术领域
本发明具体涉及计算机系统领域。更具体地,本发明涉及分组数据操作领域。
背景技术
在典型的计算机系统中,将处理器实现为利用产生一种结果的指令在由大量的位(如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位源操作数的第二寄存器的第二字段,所述第一 64位源操作数包括第一 2个带符号的32位数据元素,所述第一 2个带符号的32位数据元素包括在位[31:0]上的第一带符号的32位数据元素和在位[63:32]上的第二带符号的32位数据元素,所述第二 64位源操作数包括第二 2个带符号的32位数据元素,所述第二 2个带符号的32位数据元素包括在位[31:0]上的第三带符号的32位数据元素和在位[63:32]上的第四带符号的32位数据元素;以及 执行单元,所述执行单元与所述解码器和所述多个寄存器耦合,所述执行单元响应于所述组装指令将64位目的地操作数存储在所述多个寄存器中的通过所述组装指令的第三字段指示的第三寄存器中,所述64位目的地操作数包括4个带符号的16位数据元素,所述4个带符号的16位数据元素包括与所述第一 64位源操作数的位[31:0]上的第一数据元素相对应的位[15:0]上的第一带符号的16位数据元素、与所述第一 64位源操作数的位[63:32]上的第二数据元素相对应的位[31:16]上的第二带符号的16位数据元素、与所述第二 64位源操作数的位[31:0]上的第三数据元素相对应的位[47:32]上的第三带符号的16位数据元素、与所述第二 64位源操作数的位[63:32]上的第四数据元素相对应的位[63:48]上的第四带符号的16位数据元素, 其中针对小于-32768的带符号的32位数据元素,所述执行单元使相应的带符号的16位数据元素饱和达到-32768的饱和值,而针对大于32767的带符号的32位数据元素,所述执行单元使相应的带符号的16位数据元素饱和达到32767的饱和值, 其中所述处理器包括通用中央处理单元CPU,并且 其中所述处理器具有RISC体系结构。
2.如权利要求1所述的处理器,还包括允许所述处理器在以栈定位方式在所述多个寄存器的寄存器上操作和以非栈定位方式在所述多个寄存器的寄存器上操作之间切换的机构。
3.如权利要求1所述的处理器,其中所述处理器以栈定位方式和非栈定位方式在所述多个寄存器上同时操作。
4.如权利要求1所述的处理器,其中所述处理器能够处理80位浮点数。
5.如权利要求1所述的处理器,其中所述处理器包括64位处理器。
6.一种系统,包括 平板显示器; 触摸屏光标控制装置,用于控制所述平板显示器上光标移动; 捕获视频图像的装置;以及 处理器,所述处理器与所述平板显示器、所述触摸屏光标控制装置、所述捕获视频图像的装置耦合,所述处理器包括 多个寄存器,用于存储64位分组数据操作数; 解码器,用于解码组装指令,所述组装指令具有32位指令格式,所述组装指令具有用于指示所述多个寄存器中的用来存储第一 64位源操作数的第一寄存器的第一字段,并且所述组装指令具有用于指示所述多个寄存器中的用来存储第二 64位源操作数的第二寄存器的第二字段,所述第一 64位源操作数包括第一 2个带符号的32位数据元素,所述第一 2个带符号的32位数据元素包括在位[31:0]上的第一带符号的32位数据元素和在位[63:32]上的第二带符号的32位数据元素,所述第二 64位源操作数包括第二 2个带符号的32位数据元素,所述第二 2个带符号的32位数据元素包括在位[31:0]上的第三带符号的32位数据元素和在位[63:32]上的第四带符号的32位数据元素;以及 执行单元,所述执行单元与所述解码器和所述多个寄存器耦合,所述执行单元响应于所述组装指令将64位目的地操作数存储在所述多个寄存器中的通过所述组装指令的第三字段指示的第三寄存器中,所述64位目的地操作数包括4个带符号的16位数据元素,所述4个带符号的16位数据元素包括与所述第一 64位源操作数的位[31:0]上的第一数据元素相对应的位[15:0]上的第一带符号的16位数据元素、与所述第一 64位源操作数的位[63:32]上的第二数据元素相对应的位[31:16]上的第二带符号的16位数据元素、与所述第二 64位源操作数的位[31:0]上的第三数据元素相对应的位[47:32]上的第三带符号的16位数据元素、与所述第二 64位源操作数的位[63:32]上的第四数据元素相对应的位[63:48]上的第四带符号的16位数据元素, 其中针对小于-32768的带符号的32位数据元素,所述执行单元使相应的带符号的16位数据元素饱和达到-32768的饱和值,而针对大于32767的带符号的32位数据元素,所述执行单元使相应的带符号的16位数据元素饱和达到32767的饱和值。
7.如权利要求6所述的系统,其中所述处理器包括具有RISC体系结构的通用中央处理单元CPU。
全文摘要
一种在处理器中加入支持典型的多媒体应用所要求的分组数据上的操作的指令集的装置。在一个实施例中,本发明包括具有存储区(150)、解码器(165)及多个电路(130)的处理器。该多个电路提供若干指令的执行来操作分组数据。在这一实施例中,这些指令包含组装、分解、分组乘法、分组加法、分组减法、分组比较及分组移位。
文档编号G06F9/38GK103064653SQ20121057660
公开日2013年4月24日 申请日期1996年7月17日 优先权日1995年8月31日
发明者A.D.佩勒格, Y.雅里, M.米塔尔, L.M.门内梅尔, B.艾坦, A.F.格卢, C.杜龙, E.科瓦施, W.维特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1