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

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