当前位置: 首页 > 专利查询>英特尔公司专利>正文

控制移位分组数据的位校正的装置制造方法及图纸

技术编号:8625869 阅读:166 留言:0更新日期:2013-04-25 22:54
一种在处理器中加入支持典型的多媒体应用所要求的分组数据上的操作的指令集的装置。在一个实施例中,本发明专利技术包括具有存储区(150)、解码器(165)及多个电路(130)的处理器。该多个电路提供若干指令的执行来操作分组数据。在这一实施例中,这些指令包含组装、分解、分组乘法、分组加法、分组减法、分组比较及分组移位。(*该技术在2016年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术具体涉及计算机系统领域。更具体地,本专利技术涉及分组数据操作领域。
技术介绍
在典型的计算机系统中,将处理器实现为利用产生一种结果的指令在由大量的位(如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值,以及这一指令的运算实例。本文档来自技高网...

【技术保护点】
一种处理器,包括:通用中央处理单元,所述通用中央处理单元包括:  多个寄存器,用于保存64位分组数据操作数;  解码器,用于解码分组乘法指令,所述分组乘法指令包括:    32位指令格式,    第一字段,用于指示所述多个寄存器中的用来包括第一64位分组数据操作数的第一寄存器,所述第一64位分组数据操作数具有4个16位整数数据元素,    第二字段,用于指示所述多个寄存器中的用来包括第二64位分组数据操作数的第二寄存器,所述第二64位分组数据操作数具有4个16位整数数据元素,以及    第三字段,用于指示所述多个寄存器中的第三寄存器;以及  执行单元,与所述解码器和所述多个寄存器耦合,所述执行单元响应于执行所述分组乘法指令来    实施所述第一64位分组数据操作数和所述第二64位分组数据操作数的相对应的位置上的16位整数数据元素的分组乘法,并且    将64位目的地操作数存储在所述第三寄存器中,所述64位目的地操作数包括4个16位数据元素,所述64位目的地操作数的所述4个16位数据元素的每一个包括所述第一64位分组数据操作数和所述第二64位分组数据操作数的相对应的16位整数数据元素相乘的乘积的16位低阶部分。...

【技术特征摘要】
1995.08.31 US 08/521,3601.一种处理器,包括 通用中央处理单元,所述通用中央处理单元包括 多个寄存器,用于保存64位分组数据操作数; 解码器,用于解码分组乘法指令,所述分组乘法指令包括 32位指令格式, 第一字段,用于指示所述多个寄存器中的用来包括第一 64位分组数据操作数的第一寄存器,所述第一 64位分组数据操作数具有4个16位整数数据元素, 第二字段,用于指示所述多个寄存器中的用来包括第二 64位分组数据操作数的第二寄存器,所述第二 64位分组数据操作数具有4个16位整数数据元素,以及第三字段,用于指示所述多个寄存器中的第三寄存器;以及 执行单元,与所述解码器和所述多个寄存器耦合,所述执行单元响应于执行所述分组乘法指令来 实施所述第一 64位分组数据操作数和所述第二 64位分组数据操作数的相对应的位置上的16位整数数据元素的分组乘法,并且 将64位目的地操作数存储在所述第三寄存器中,所述64位目的地操作数包括4个16位数据元素,所述64位目的地操作数的所述4个16位数据元素的每一个包括所述第一 64位分组数据操作数和所述第二 64位分组数据操作数的相对应的16位整数数据元素相乘的乘积的16位低阶部分。2.如权利要求1所述的处理器, 其中所述解码器还解码第二分组乘法指令,所述第二分组乘法指令具有用于指示所述多个寄存器中的用来包括第四64位分组数据操作数的第四寄存器的第四字段,所述第四64位分组数据操作数包括4个16位整数数据元素,所述第二分组乘法指令具有用于指示所述多个寄存器中的用来包括第五64位分组数据操作数的第五寄存器的第五字段,所述第五64位分组数据操作数包括4个16位整数数据元素;并且 其中所述执行单元响应于所述第二分组乘法指令来实施所述第四64位分组数据操作数和所述第五64位分组数据操作数的相对应的位置上的16位整数数据元素的分组乘法,并且将第二 64位目的地操作数存储在所述多个寄存器中的通过所述第二分组乘法指令的第六字段指示的第六寄存器中,所述第二 64位目的地操作数包括第二 4个16位数据元素,所述第二 64位目的地操作数的所述第二 4个16位数据元素的每一个包括所述第四64位分组数据操作数和所述第五64位分组数据操作数的相对应的16位整数数据元素相乘的乘积的16位高阶部分。3.如权利要求1所述的处理器,其中所述处理器具有RISC体系结构,其中所述处理器响应于所述分组乘法指令以非栈定位方式在所述第一寄存器上操作,并且所述处理器还包括...

【专利技术属性】
技术研发人员:AD佩勒格Y雅里M米塔尔LM门内梅尔B艾坦AF格卢C杜龙E科瓦施W维特
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1