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

在通用处理器中有效多输入累加的最优化乘法器结构制造技术

技术编号:2877532 阅读:191 留言:0更新日期:2012-04-11 18:40
在一个实施例中,描述了用于通用数字信号处理器(DSP)的双模式执行单元。执行单元可以起到在一个模式中的16×16乘法器和在另一个模式中的8-位加法树的作用。在乘法器结构的乘法器阵列中通过再使用预存算术逻辑单元(ALUs)来构造加法树结构。8-位加法树模式对执行用在数字视频处理中的各种密集计算算法,诸如运动搜索和空间插值算法特别有用。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
数字信号处理器(DSPs)常常用于各种多媒体应用,诸如数字视频,图象,和音频。DSPs能够操作数字信号创造和打开这样的多媒体文件。MPEG-1,MPEG-2,MPEG-4和H.263是数字视频压缩标准和文件格式。这些标准通过存储一个图象画面到另一个的主要变化情况而不是存储每个完整画面,得到数字视频信号的高压缩比率。一些不同的技术可以用来进一步压缩视频信号。在压缩中,DSP执行视频信号的各种操作。这些操作包括运动(motion)搜索和空间插值算法。其主要目的是测量相邻画面中图块(block)间的失真。这些操作需要密集计算和高的数据吞吐量。标准的MPEG系列与多媒体应用和文件增长的带宽需求同步发展。每个标准的新版本提供改进得更好的算法,这些算法也对在MPEG顺从的视频处理设备中使用的DSPs安置了更多的处理需求。视频处理设备制造商常常依赖于为在MPEG和H.263标准下的视频编码而定制的专用集成电路(ASIC)。但是,ASIC设计复杂,造价昂贵,并且在它们的应用中,比通用DSPs灵活性差。附图说明图1是根据本专利技术的一个实施例的包括双模式通用数字信号处理器(DSP)的视频处理器。图2是如图1所示的执行单元示意图。图3是示出图1中接着在执行单元中实施加法树模式的序列发生器总体步骤的流程示意图。图4是示出图1中接着执行单元中实施乘法器模式的序列发生器总体步骤的流程示意图。图5是在图1的执行单元中另一个加法树结构的示意图。图6是根据本专利技术的另一个实施例的在执行单元中加法树结构的示意图。在各个附图中相同的参考记号代表了相同的元件。详细描述依照一个实施例,用于通用数字信号处理器(DSP)的处理单元10可以至少在两个模式工作。在“标准”的乘法模式,处理单元可以起16×16乘法器的作用。在加法树模式,执行单元可以起用于累加多个被运算数的8-位加法树。加法树适于执行在相对低的诸如8-位的位宽度数据流上的密集计算操作,于是可以用于在视频压缩格式的H.263和MPEG系列的视频信号处理。根据本实施例,通用DSP12是视频处理器5的一部分,它包括中央处理单元(CPU)7和用于存储视频处理算法和视频数据的存储装置9。根据这个实施例,可以在通过和常规的通用DSPs共同的16×16乘法器结构中再使用预存算术逻辑单元(ALUs)来构造加法树模式的加法树结构。这提供了用较少的额外硬件在执行单元中的双模式操作。图2更详细地示出双模式执行单元10。执行单元10可以包括两个主要输入乘法器(MUXs)14,两个次要输入MUXs 16,部分乘积发生器18,乘法器阵列20,两个中间寄存器22,两个中间MUXs 24,向量合并ALU 26,累加器28,累加器MUX30,输出寄存器32,和把由执行单元产生的总和输出到结果总线36的输出MUX 34。但是,本专利技术的范围不仅限于具有如图2示出所有元件的实施例。执行单元10元件间的相互作用将通过结合在各种工作模式中的执行元件操作来描述。可以由序列发生器100完成执行单元10的逻辑控制(图1)。序列发生器100从指令超高速缓冲存储器102中取指令并且发出控制信号来起动工作在各自模式中的必要元件。指令超高速缓冲存储器可以是编程的或是硬件化的。在乘法器和加法树两个模式中,执行单元10从总线控制器106控制下的运算数总线104中接收两对16-位字。每对16-位字输入到主要MUXs 14中的一个。主要MUXs 14由序列发生器100控制来选择并且输出一个单一的16-位字。图3示出实施加法树模式以后的序列发生器100总体步骤。序列发生器100控制开关50输出16-位字,从主要MUXs 14输出到在方框200中的次要MUXs 16。在方框202和204中,控制每个次要MUX分别选择两个8-位字,被运算数A和B,以及C和D,并且被加到乘法器阵列20。乘法器阵列20包括许多互相连接的布置在几个等级的ALUs 60。在典型的16×16乘法器中,乘法器阵列有7个等级的ALUs。在二进制加法中,把两个n-位数字相加产生最大的(n+1)-位数字,附加位代表了新的二进制位置2(n+1)。例如,把两个8-位数字相加产生一个9-位和,如下面方程所示11111112=25510+111111112=255101111111102=510108-位被运算数A和B可以直接输入到在方框206中的ALU 62并且在方框208中相加产生9-位部分和E。同样,被运算数C和D可以直接输入到在方框210中的ALU 64中并且在方框212中相加产生9-位部分和F。9-位部分和E和F可以输出到在方框214和216中的ALU66,中并且在方框218中相加产生10-位和G。从在方框220中的乘法器阵列20中输出和G。根据一个实施例,序列发生器100控制执行单元10绕过乘法器阵列20的乘法结构下游(例如ALU26和累加器28),并且输出和G直接送到输出MUX34。这个实施例有利于诸如使用简单和的空间插值算法的视频编码操作根据另一实施例,总和G通过中间寄存器22,中间MUX24,和向量合并ALU26送到存储总和的累加器28。然后把总和G送回累加器MUX30,并且从后面的加法操作中把10位总和G’输入向量合并ALU26。总和G和G’可以输出并且储存到累加器28。后面的10-位总和被加到累加器中的值中并且这个循环可以重复无数次。这个实施例有利于诸如使用累加操作的运动搜索算法的视频编码操作。图4是示出在实施乘法器模式以后的序列发生器100总体指令的流程图。在方框300中,序列发生器100控制开关50来绕过次要MUXs,并且把作为被乘数I和J的16-位字输出到部分乘积发生器。部分乘积发生器18可以包括“与”逻辑门矩阵,各个逻辑门工作在16-位被乘数I的一位和16位被乘数J的一位。16-位被乘数的部分乘积16被送到在方框302中乘法器阵列20。在方框304中,把它们还原成两个32-位字,总和X与进位Y,其和等于部分乘积的和。通过中间MUXs24可以把X和Y送到中间寄存器22,并且加到向量合并ALU26来产生乘积Z。通过输出寄存器32和输出MUX34输出Z到总线36,或通过累加器28进行如上所述的涉及加法树模式的累加操作。较佳的是,向量合并ALU26是40-位ALU,它接纳在乘法和累加操作中的溢出。使用在乘法器阵列中备有的ALUs可以实现其它的加法树结构。根据另一个实施例,如图5所示的有相同结构的执行单元可以实现双2-运算数加法树。根据这个具体实施例,执行单元10被控制在旁路ALU66。为了进行如上所述的累加操作,各个9-位和E和F从乘法器阵列直接输出到输出MUX34或中间寄存器22。除了在步骤208和212后输出总和S和F,序列发生器100执行图3所示的相同总体步骤。图6示出又一个实施例,其中在乘法器阵列中使用了更复杂的加法树结构。次要MUX16用于各个16-位输入。上面描述了图6中的左加法树结构1。可以理解右加法树结构2有相同的结构和操作。序列发生器100对各个加法树结构执行图3中的相同总体步骤。各个次要MUX16从运算数总线102中输入的16-位字中选择两个8-位被运算数(图1)来产生被运算数A1,B1,C1,和D1。A1和B1在ALU中相加来产生9-本文档来自技高网...

【技术保护点】
一种装置,其特征在于,包括:解码器,解码一条指示一项加法树操作的指令;耦合到解码器的电路,且包括:包括多个算术逻辑单元的乘法器阵列;以及一个选择电路,从2n-位字中选择第一和第二被运算数,其中所述第一和第二被运算数有小于2n 的位,并且所述选择电路适于在乘法器阵列中,在所选的所述ALUs中的一个,相加第一和第二被运算数来产生第一总和。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:R科拉哥特拉BC阿尔德里奇WC安德森
申请(专利权)人:英特尔公司模拟设备股份有限公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利