用于实现脉动阵列的处理方法和设备技术

技术编号:2861417 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于实现脉动阵列类结构的处理方法和设备。输入数据以预定顺序被存储在深度可配置寄存器装置(DCF)中,并被提供给处理装置(FU),该处理装置用于根据从指令数据5中生成的控制信号来处理所述输入数据,其中根据指令数据来控制寄存器装置(DCF)的深度。因而,脉动阵列可以被映射到可编程处理器例如VLIW处理器,而不需要明确地流出操作来实现寄存器移动,其中寄存器移动构成阵列的延迟线。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种处理方法和设备,特别涉及可缩放VLIW(VeryLarge Instruction Word(超大型指令字))处理器或粗粒度可再配置处理器,用于实现脉动阵列类结构。
技术介绍
可编程或者可配置处理器是可在制造之后定制的预制造装置,以便根据分别发给它的指令或者配置来执行特定功能。这些指令或配置在处理器中被执行时控制处理器资源(例如算术逻辑单元(ALU),寄存器堆,互连,存储器等),以便在时间(即,顺序地)或空间(即,并行)执行某些操作。通常,可配置处理器将在空间上比可编程处理器执行更多的操作,而可编程处理器将在时间上比可配置处理器执行更多的操作。目前已经开发了一种用于数字信号处理器(DSP)的硅算法(algorithm-to-silicon)设计方法论,允许DSP设计者的生产率的巨大增加以及所得到芯片的更佳设计。该方法论最初包含以实施独立方式捕获一种算法。随后,借助一组鉴别器和分析器,可以为一个固定点实施而调整和最佳化该算法。一旦达到满意特性,就可以应用一组交互合成引擎来将固定点规范映射到目标VLIW类结构。该映射处理是非常灵活和快速的,使之有可能在非常短时间内试验许多替换。通常,这种VLIW类处理器结构的超大型实例可以被视为粗粒度可再配置处理器,其中其微代码存储器中的每个控制字是一配置。该解释是可能的,这归因于相应的VLIW指令的长度,其允许许多并行操作被执行,因此主要在空间上计算。VLIW处理器用于利用应用中可用的Instruction LevelParallelism(指令级并行性)(ILP)。为了利用ILP,在VLIW指令中同时安排数据独立操作。图1是表示处理应用和应用的相应可编程处理器结构的示意图,其中代表循环体的数据流程图被显示在左侧。在图1中,圆圈20代表操作,而箭头代表操作之间的数据相关性。虚箭头代表在循环迭代中分别消耗或产生的输入或输出值。在右侧,示出了4-流出槽(issueslot)VLIW处理器10,包括四个ALU A1至A4以及用于控制ALU A1至A4操作的四个流出槽I1至I4。在此情况下,VLIW处理器10可以计算五个周期中的所示循环处理应用的一个迭代,在每个周期分别执行两个、四个、两个、一个和一个操作的序列。每个周期的操作数量取决于可以同时或者并行处理(即,显示在处理应用的一个水平线内)的操作的数量。处理应用的部分区域30示出了第二周期中的情况,其中在VLIW处理器10的一个周期中并行执行四个操作。需要注意,在用于循环的单迭代的循环体内利用LIP。软件流水线技术可以用来利用ILP交叉循环迭代,但是那些通常是难于实现的,并且主要仅对非常简单和小的循环(例如,单一基本块)是有效的。然而,定制硬件可以重叠循环的每个迭代的执行,使大多数计算资源在所有周期上是忙碌的。此类实施将数据局部性以及流水线利用到极至,这被称为脉动阵列。图2表示出显示数字滤波器应用(例如,即可以在每个周期生成输出样值的FIR(有限脉冲响应)滤波器)的最后两个抽头的脉动阵列实施的示意图。灰色块是定时控制的寄存器R。所有功能单元FU在每个周期上也都是忙碌的。当输入数据i沿“管道”向下到达右端以生成输出数据o时,如同在“脉动”装配线中那样,该输入数据i被本地处理。线acc包含部分累加。寄存器c包含乘法器的系数。因此,该结构被称为“脉动”阵列。脉动阵列允许非常高的并行性利用,从而获得高通过量。在Zapata等人的“A VLSI constant geometry architecture forthe fast Hartley and Fourier transforms(用于快速哈特利和傅立叶变换的VLSI恒定几何结构)”,IEEE Transactions on Paralleland Distributed Systems,Vol.3,No.1,pp 58-70,1992年1月中,处理器存储器的结构基于先进先出(FIFO)队列,以有助于脉动数据流并允许以复合数据移动和变换的地址序列的直接方式实施。这利用硬件控制、借助于简单的复用操作予以实现。因此,原则上,有可能把脉动阵列映射到VLIW处理器上。随后,脉动阵列中的每个功能单元FU将对应于VLIW处理器中的等效单元(例如,ALU,乘法器,MAC等)并且将被分配一个流出槽。对于图2的脉动阵列,在VLIW处理器中将需要四个流出槽用于四个功能单元FU。此外,对于每个寄存器移动,在VLIW处理器中将需要一个寄存器移动单元,每个寄存器移动对应于脉动阵列中的延迟线,具有其对应的流出槽。在图2的脉动阵列中,提供了对应于延迟线的七个寄存器移动。因此,在VLIW处理器中将需要七个寄存器移动单元,这些移动单元具有其附加的七个流出槽。这样,与实际操作相比,将存在更多的流出槽,并因而存在更多的控制信号和相关电路,对应于寄存器移动。此外,对访问相同寄存器(这些寄存器需要由其它功能单元访问)的移动单元的需要在VLIW设计中引入结构复杂性。所有这一切使脉动阵列的VLIW实施不实际。在此方面,注意,在原始脉动阵列中,借助于可以实施延迟线而没有任何显式控制的寄存器的FIFO线,可以在空间上对寄存器移动进行编码。
技术实现思路
本专利技术的一个目的是利用可编程处理器能够实现脉动阵列结构。上述目的利用权利要求1中所要求保护的处理设备和权利要求8中所要求保护的处理方法予以实现。因此,通过在处理单元的输入上提供深度可配置寄存器装置,可以实现用于实施脉动阵列的可编程处理器模板。由于能够利用可编程处理器例如VLIW处理器实现脉动阵列结构,因此可以为类似于视频流的媒体强化应用,提供主要是通过量的硬件类性能,同时保持已知处理器范例的灵活性和可编程性。甚至有可能得到编译器,以自动生成“脉动阵列类”指令调度而不需要显式硬件设计。编译技术可以在该方向被扩展。因此,可以为脉动结构的映射提供经济合算的VLIW模板。该模板显著地减少了由于显式控制对应于延迟线的所有寄存器移动操作的当前需要所造成的开销。寄存器装置最好包括在处理装置的多个功能单元的每个输入端上提供的分布式寄存器堆。特别地,分布式寄存器堆可以包括对于各个寄存器是可寻址的深度可配置FIFO寄存器堆。可利用的物理寄存器的数量利用硬件来固定。随后,寄存器控制装置可以被安排成根据从指令数据中导出的控制信号来确定FIFO寄存器堆的最后逻辑寄存器。此外,可以提供至少一个流出槽,用于存储指令数据。寄存器控制装置可以被安排成使用被存储在至少一个流出槽中的指令数据的一部分位模式,以控制寄存器装置的深度。在从属权利要求中定义了其它的有益的进一步发展。附图说明在下面,将参考附图根据优选实施例来描述本专利技术,其中图1表示处理应用和相应的可编程处理器结构的示意图;图2表示脉动阵列结构的示意图;图3表示根据本专利技术的在可编程处理器中实现图2的脉动阵列结构的原理示意图;和图4表示用于实现脉动阵列的根据优选实施例的可编程处理器结构。具体实施例方式在图3中,重构了图2的脉动阵列,以使其能够在VLIW结构中实施。使流出槽I1至I4显式,并且在功能单元(例如ALU)的输入端上保持包括寄存器R的先入先出(FIFO)延迟线。虚线框代表硬件中可用的但在所示的脉动配置中未使用的物理寄存器。这本文档来自技高网
...

【技术保护点】
一种用于实现脉动阵列类结构的处理设备,所述设备包括:a)输入装置,用于输入数据;b)寄存器装置,用于以预定顺序存储所述输入数据;c)处理装置,用于根据从指令数据生成的控制信号来处理从所述寄存器装置接收的数据;和   d)寄存器控制装置,用于根据所述指令数据控制所述寄存器装置的深度。

【技术特征摘要】
【国外来华专利技术】EP 2002-4-25 02076649.91.一种用于实现脉动阵列类结构的处理设备,所述设备包括a)输入装置,用于输入数据;b)寄存器装置,用于以预定顺序存储所述输入数据;c)处理装置,用于根据从指令数据生成的控制信号来处理从所述寄存器装置接收的数据;和d)寄存器控制装置,用于根据所述指令数据控制所述寄存器装置的深度。2.根据权利要求1所述的设备,其中所述寄存器装置包括在所述处理装置的多个功能单元的输入端上提供的分布式寄存器堆。3.根据权利要求2所述的设备,其中所述分布式寄存器堆包括对于各自寄存器是可寻址的深度可配置FIFO寄存器堆。4.根据权利要求3所述的设备,其中所述寄存器控制装置被安排为根据从所述指令数据导出的控制信号来确定所述FIFO寄存器堆的最后逻辑寄存器。5.根据任何一项前面权利要求所述的设...

【专利技术属性】
技术研发人员:B德奥里维拉卡斯特鲁普佩
申请(专利权)人:皇家飞利浦电子股份有限公司
类型:发明
国别省市:NL[荷兰]

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

1