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

文档序号:6579404阅读:189来源:国知局
专利名称:控制移位分组数据的位校正的装置的制作方法
技术领域
本发明具体涉及计算机系统领域。更具体地,本发明涉及分组数据操作领域。
背景技术
在典型的计算机系统中,将处理器实现为利用产生一种结果的指令在由大量的位(如64)表示的值上操作。例如,执行加法指令将第一个64位值与第二个64位值相加并作为第三个64位值存储该结果。然而,多媒体应用(诸如以计算机支持的协作为目的的应用(CSC-电话会议与混合媒体数据处理的集成)、2D/3D图形、图象处理、视频压缩/解压、识别算法与音频处理)要求处理可以用少量的位表示的大量数据。例如,图形数据通常需要8或16位,声音数据通常需要8或16位。这些多媒体应用的各个需要一种或多种算法,各需要若干操作。例如,算法可能需要加法、比较及移位操作。为了改进多媒体应用(以及具有相同特征的其它应用),先有技术处理器提供分组数据格式。分组数据格式中通常用来表示单个值的位被分成若干固定长度的数据元素,各元素表示单独的值。例如,可将一个64位寄存器分成两个32位元素,各元素表示一个单独的32位值。此外,这些先有技术处理器提供并行分开处理这些分组数据类型中各元素的指令。例如,分组的加法指令将来自第一分组数据与第二分组数据的对应数据元素相加。从而,如果多媒体算法需要包含必须在大量数据元素上执行的五种操作的循环,总是希望组装该数据并利用分组数据指令并行执行这些操作。以这一方式,这些处理器便能更高效地处理多媒体应用。然而,如果该操作循环中包含处理器不能在分组数据上执行的操作(即处理器缺少适当的指令),则必须分解该数据来执行该操作。例如,如果多媒体算法要求加法运算而不能获得上述分组加法指令,则`程序员必须分解第一分组数据与第二分组数据(即分开包含第一分组数据与第二分组数据的元素),将各个分开的单独的元素相加,然后将结果组装成分组的结果供进一步分组处理。执行这种组装与分解所需的处理时间通常抵消了提供分组数据格式的性能优点。因此,希望在通用处理器上包含提供典型多媒体算法所需的所有操作的分组数据指令集。然而,由于当今微处理器上的有限芯片面积,可以增加的指令数目是有限的。包含分组数据指令的一种通用处理器便是加州Santa Clara的Intel公司制造的i860XP 处理器。i860XP处理器包含具有不同元素大小的若干分组数据类型。此外, 860ΧΡ处理器包含分组加法与分组比较指令。然而,分组加法指令并不断开进位链,因此程序员必须保证软件正在执行的运算不会导致溢出,即运算不会导致来自分组数据中一个元素的位溢出到该分组数据的下一元素中。例如,如果将值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.一种处理装置,包括 高速缓冲存储器(206); 解码器(165),用于解码分组指令集(140); 一组寄存器(209),用于存储包括第一多个数据元素的第一分组数据和包括第二多个数据元素的第二分组数据; 执行单元(130),耦合至所述高速缓冲存储器和所述一组寄存器,所述执行单元用于执行所述分组指令集的解码的指令,包括指定下列操作的指令 组装操作,用于组装来自至少两个分组数据中的数据元素的一部分位以形成第三分组数据; 分解操作,用于生成包含来自所述第一分组数据的至少一个数据元素和来自所述第二分组数据的至少一个相对应的数据元素的第四分组数据。
2.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 分组加法操作,用于将来自至少两个分组数据的相对应的数据元素并行地加在一起。
3.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 分组减法操作,用于将来自至少两个分组数据的相对应的数据元素并行地相减。
4.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 分组乘法操作,用于将来自至少两个分组数据的相对应的数据元素相乘。
5.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 分组移位操作,用于将分组数据操作数中的各数据元素移位所指示的计数。
6.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 分组比较操作,用于根据指示的关系将来自至少两个分组数据的相对应的数据元素进行比较并且作为结果将分组掩码存储在第一寄存器中,其中所述分组掩码至少包含第一掩码元素和第二掩码元素,所述第一掩码元素中的各位表示比较一组相对应的数据元素的结果,而所述第二掩码元素中的各位表示比较第二组数据元素的结果。
7.如权利要求1所述的处理装置,其中所述分组指令集还包括指定下列操作的指令 乘-加操作,用于将来自两个分组数据的相对应的数据元素相乘以生成中间结果数据元素,并且对所述中间结果数据元素求和。
8.一种系统,包括 显示器(121),支持触摸界面; 高速缓冲存储器(206); 解码器(165),用于解码分组指令集(140); 一组寄存器(209),用于存储包括第一多个数据元素的第一分组数据和包括第二多个数据元素的第二分组数据;以及 执行单元(130),耦合至所述高速缓冲存储器、所述解码器和所述一组寄存器,所述执行单元用于执行所述分组指令集的解码的指令,包括指定下列操作的指令 组装操作,用于组装来自至少两个分组数据中的数据元素的一部分位以形成第三分组数据; 分解操作,用于生成包含来自所述第一分组数据的至少一个数据元素和来自所述第二分组数据的至少一个相对应的数据元素的第四分组数据;分组加法操作,用于将来自至少两个分组数据的相对应的数据元素并行地相加; 分组减法操作,用于将来自至少两个分组数据的相对应的数据元素并行地相减; 分组乘法操作,用于将来自至少两个分组数据的相对应的数据元素相乘; 分组移位操作,用于将分组数据操作数中的各数据元素移位所指示的计数; 分组·比较操作,用于根据指示的关系将来自至少两个分组数据的相对应的数据元素进行比较并且作为结果将分组掩码存储在第一寄存器中,其中所述分组掩码至少包含第一掩码元素和第二掩码元素,所述第一掩码元素中的各位表示比较一组相对应的数据元素的结果,而所述第二掩码元素中的各位表示比较第二组数据元素的结果;以及 乘-加操作,用于将来自两个分组数据的相对应的数据元素相乘以生成中间结果数据元素,并且对所述中间结果数据元素求和。
全文摘要
一种在处理器中加入支持典型的多媒体应用所要求的分组数据上的操作的指令集的装置。在一个实施例中,本发明包括具有存储区(150)、解码器(165)及多个电路(130)的处理器。该多个电路提供若干指令的执行来操作分组数据。在这一实施例中,这些指令包含组装、分解、分组乘法、分组加法、分组减法、分组比较及分组移位。
文档编号G06F5/00GK103064650SQ201210574820
公开日2013年4月24日 申请日期1996年7月17日 优先权日1995年8月31日
发明者A.D.佩勒格, Y.雅里, M.米塔尔, L.M.门内梅尔, B.艾坦, A.F.格卢, C.杜龙, E.科瓦施, W.维特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1