具有级联SIMD结构的数字信号处理器及其信号处理方法技术

技术编号:2860270 阅读:195 留言:0更新日期:2012-04-11 18:40
数字信号处理器(DSP)包含以级联方式连接的双SIMD单元,并且其中级联的第一SIMD级段的结果可以存储在级联中第二SIMD级段的寄存器堆中。每个SIMD级段包含用于存储操作数和中间结果的自身资源(例如,其自身寄存器堆),以及用于解码可在该级段执行的操作的自身资源。在每个级段内,组织硬件资源以SIMD方式操作,使得独立的SIMD操作可以被同时执行,其中级联的每个级段均执行一个操作。流过级联的中间操作数和结果被存储在级段的寄存器堆中,并且可以从那些寄存器堆访问。数据也可以从存储器直接进入级联中各级段的寄存器堆。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数字信号处理系统,尤其涉及改进数字信号处理器体系结构。
技术介绍
数字信号处理的特征在于操作随时间连续演变的数据元素集合。这些数据集合对应于模拟域中信号的数字表示,并且被称为向量。数字信号处理算法的特征在于频繁对向量中每个元素进行相同的计算。例如,过滤算法可以把向量中的各个元素乘以不同的系数,并且把各部分结果累积成单个最终结果。基本信号处理算法(称为信号处理内核)的特征在于对向量元素执行操作序列。如上所述,一个例子是乘法的执行后跟累加的执行。关于这种操作序列的执行,实现数字信号处理器的现有技术包含使用相同算术/逻辑单元以与序列中操作数量一样多的次数执行操作序列(例如,在一个周期的乘法操作后跟下一个周期的累加操作),或者把硬件构造为流水线,其中操作数从一端进入,随着数据流过流水线而执行操作,并且在流水线的另一端获得结果(例如,乘加流水线)。现有技术,尤其是上述流水线方案的显著限制是,由于传统流水线结构,执行组成信号处理内核的各操作的灵活性受到约束。现有技术的模式不允许收集中间结果以用于流水线中进一步的处理(或许按照与产生中间结果的顺序不同的顺序),或用于在任意时间点改变流水线中的操作序列。这些限制需要更复杂的指令序列,并且通常需要更多处理周期,从而约束了可从功能单元获得的最大性能。为在可编程处理器上执行数字信号处理算法,数据元素的向量可以组合成较小子集,例如,每个子集有四个元素,并且可以对子集的所有元素同时(并行)执行计算。两个可选模式同时被用于组合数据元素和指定这样的操作。在第一方案中,向量的一个子集中的数据元素位于分立的寄存器中,并且一不同指令指定对每个元素执行的操作。尽管多个指令被用于指定对数据元素同时执行的操作,但是所有这些指令均对应于单个程序流,并且因而被看作单个实体。这种方法被称作超长指令字(VLIW),指的是单个超长指令字包含多个基本指令的情况。在对向量的子集进行计算的情况下,由于对所有数据元素执行相同操作,所有基本指令相同;这些基本指令间的唯一差异是操作数和结果的位置。这种方法用于不同的数字信号处理器,诸如德州仪器公司的C64,StarCore的SC140,以及模拟器件公司的ADSP 2116x。在第二方案中,向量的一个子集中的所有数据元素位于相同寄存器(“宽寄存器”)中,并且单指令指定对所有这种单元执行的操作。这种方法被称作具有子字并发的单指令多数据(SIMD)。术语SIMD是指对所有操作只使用一个指令,而术语子字并发是指在相同寄存器中多个数据元素的级联。这种方法被用于各种面向多媒体和信号处理的微处理器扩展,诸如Intel公司的MMX以及摩托罗拉公司的ALTIVEC。这些方案存在各种限制。具体地,具有子字并发的SIMD的使用需要把数据元素按正确的顺序放置在宽寄存器内,并且还需要根据需要到处移动数据元素的机构。这些需要转化成附加硬件资源和执行周期。另一方面,VLIW方案的使用需要编码多个执行相同操作的指令,因而导致较长指令(所谓VLIW),其往往需要指令存储器中的更多空间。
技术实现思路
本专利技术涉及改进的数字信号处理器结构。在本专利技术各种实施例中,一种用于处理数字信号信息的方法使用具有与第二数据路径级联连接的第一数据路径的处理器。这个新颖配置允许第一SIMD指令在第一数据路径中与第二数据路径中的第二SIMD指令并行地执行。第一数据路径和第二数据路径均可以包含其自身的寄存器堆。此外,在第一数据路径中执行的指令可以使向量信息被载入第一数据路径的寄存器堆以对其进行操作。在第一数据路径中执行的操作的结果被传送到第二数据路径的寄存器堆。在第二数据路径中操作被传送到第二数据路径的寄存器堆的结果。此外,传送到第二数据路径的寄存器堆的结果可以被零扩展或符号扩展以具有等于第二数据路径宽度的位长。在第二数据路径中执行的操作的结果可以被传送回第二数据路径的寄存器堆,存储器,或第一数据路径的寄存器堆。传送到存储器或第一数据路径的寄存器堆的数据可以被降低尺寸。尺寸降低操作可以包含例如饱和,舍入,截断,位提取,或其组合。已知或以后开发的寄存器堆结构的任何组合均可用于实现本专利技术。例如,寄存器堆可以被组织成多个寄存器组,宽寄存器或其单元能任意寻址的寄存器堆。使用具有多个指针的指针寄存器可以实现这种任意寻址,其中每个指针指向寄存器堆的一个单元。如果使用任意寻址,则SIMD指令的操作数可以使用指针寄存器指定,并且/或者指针寄存器可以用于存储结果数据。此外,专用硬件可以用于把多个数值合并并且把单个结果放入专用寄存器。第一数据路径的宽度可以不同于第二数据路径的宽度。在这里讨论的不同示例性实施例中,第一数据路径的宽度是16位并且第二数据路径的宽度是40位。然而,其它宽度(例如分别24和50位)可以根据应用而使用。本专利技术的这些和其它方面,特性和优势将通过以下优选实施例的详细描述变得清楚,该详细描述将结合附图进行阅读。附图说明下面将参照附图通过优选实施例详细描述本专利技术,其中图1是说明使用本专利技术的单指令多数据(SIMD)数字信号处理器(DSP)或媒体处理器的示意图;图2的示意图根据本专利技术示出了16位元素向量的向量数据文件的一个实施例,该实施例包含8项指针地址文件,512项向量数据文件,以及对一个任意4元素子向量的访问;图3根据本专利技术示出了包含三个向量的数据寄存器分区的说明性例子;图4根据本专利技术示出了针对一个向量的数据寄存器分区的另一个说明性例子;图5是地址递增器的可选实施例的示意图,用于根据本专利技术说明新地址复用器,以及步进(stride)和模运算寻址能力;图6是具有级联SIMD结构的示例性数字信号处理器的框图;图7是使用宽寄存器的具有级联SIMD结构的示例性数字信号处理器的框图;图8是使用任意向量寻址的具有级联SIMD结构的示例性数字信号处理器的框图;以及图9是仅在第一数据路径使用任意向量寻址的具有级联SIMD结构的示例性数字信号处理器的框图。具体实施例方式本专利技术提供向量寄存器堆以包含向量数据,最好用于单指令多数据(SIMD)处理。本专利技术还提供寄存器堆,用于访问包含在其中的向量的任意子向量。下面将根据处理器电路描述本专利技术,其中处理器电路具有带预定数量单元的部件,地址线路或指定规模的部件。这些部件或向量的规模,地址,输入数量,输出数量,单元数量等等仅仅是说明性的,并且不得解释为对本专利技术的限制。在本专利技术的一个说明性实施例中,公开了一个向量寄存器堆,它被构造成用于存放总尺寸等于或小于512元素的一或多个向量,其中每次访问读或写4个16位元素。向量是由表示数量的元素的线性数组组成的数据结构。用于访问向量寄存器堆的地址由包含在整体但分别访问的指针阵列中的地址指针指定。每个指针指定四个元素之一的地址,其中可在每个访问端口处在每个存取周期读或写所述4个元素。指针文件包含多个指针。根据包含在控制SIMD处理程序的指令中的信息选择每次访问所需要的指针数量,例如,四个。因此,寄存器堆具有间接寻址类型。在用于确定文件的向量数据阵列部分的访问地址之后,指针阵列部分的内容可以被更新(在指令控制下),例如用递增值更新(以允许向量的顺序访问),或用读取的向量的内容更新(以允许表查找访问或数据收集访问)。本专利技术的其它实施例还提供用于步进访问,模本文档来自技高网
...

【技术保护点】
一种使用处理器处理数字信号信息的方法,其中处理器具有级联连接到第二数据路径的第一数据路径,所述方法包括步骤:在第一数据路径中执行第一SIMD指令;以及与第一SIMD指令并行地在第二数据路径中执行第二SIMD指令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:克莱尔约翰格劳斯纳三世厄戴姆霍克内科截维美尔特泽玛延摩德吉尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1