一种硬件加速器(4)包括直接存储器存取(DMA)系统(7、8)和处理元件(PE)的阵列(20)。每个PE(20a)包括两个数据输入端(40、41)和两个数据输出端(42、43)并且可以执行可选择的逻辑或算术运算。阵列(20)包括用于选择性地将PE的输出端连接到PE的输入端的可配置互连部(23)。第一数据缓冲器(21)包括:两个或更多个第一边缘循环寄存器(21a),用于将DMA系统(7、8)连接到PE阵列(20)的第一边缘处的选定数据输入端。第二数据缓冲器(22)包括:两个或更多个第二边缘线性或循环移位寄存器,用于将PE阵列(20)的第二边缘的选定数据输出端连接到DMA系统。第二边缘的选定数据输出端连接到DMA系统。第二边缘的选定数据输出端连接到DMA系统。
【技术实现步骤摘要】
【国外来华专利技术】硬件加速器
技术介绍
[0001]本专利技术涉及具有处理元件的阵列的硬件加速器。
[0002]通用处理器用途极为广泛,但是在执行某些信号处理任务诸如计算快速傅立叶变换(FFT)时可能是缓慢的并且能源效率低下。数字信号处理器(DSP)可以更快但是仍然消耗相当多的能量;它们还占用相对较大的硅面积,使得它们成本高昂。固定数字逻辑(例如专用集成电路)可能是快速、高效和紧凑的,但不灵活,仅能提供一个固定任务。
[0003]为了缓解这些问题,已知提供了包括可重配置的相对简单的硬件处理元件(PE)的阵列的硬件加速器。例如,阵列可以具有64个PE,逻辑上排列成4
×
16的矩形阵列。每个PE可以具有多个数据输入端(例如两个输入端)和多个数据输出端(例如两个输出端),并且可以动态配置以对其输入数据执行选定的逻辑或算术运算。可配置互连部使一个PE的输出端可选择性地连接到另一个PE的输入端。数据可以沿着阵列的第一(例如顶部)边缘输入到PE,在多个时钟周期中按时钟从一个PE到下一个PE地经过PE阵列,并且沿着阵列的第二(例如底部)边缘输出。专用本地存储体可以位于这两个边缘附近,用于通过阵列快速输入和输出数据。
[0004]在PE运算和互连部已被适当配置(例如通过从配置文件加载配置数据)之后,硬件加速器则可以对一个本地存储体中存储的数据执行一系列复杂的运算,诸如FFT或复数互相关,将结果输出到另一本地存储体。
[0005]硬件加速器可以被设置为片上系统(SoC)上的协处理器,与一个或更多个通用处理器集成。硬件加速器可以包括直接存储器存取(DMA)单元,用于在硬件加速器的本地存储器和通用处理器可访问的系统存储器之间传输输入及输出数据。DMA单元还可用于将新的配置数据读入加速器。
[0006]这种硬件加速器可以为某些重复性处理任务提供显著的性能优势。然而,本专利技术人已确认了具有提供明显更好性能的潜力的改进。
技术实现思路
[0007]从第一方面,本专利技术提供了一种硬件加速器,包括:
[0008]直接存储器存取系统,用于在硬件加速器和系统存储器之间传输数据;
[0009]处理元件的阵列,每个处理元件包括两个数据输入端和两个数据输出端,并且被配置成对在一个或更多个数据输入端处接收到的输入数据执行可选择的逻辑或算术运算以在一个或更多个数据输出端处生成输出数据,其中,阵列包括沿着阵列的第一边缘的两个或更多个第一边缘处理元件的集合和沿着阵列的第二边缘的两个或更多个第二边缘处理元件的集合,第二边缘处理元件不同于第一边缘处理元件;
[0010]可配置互连部,用于选择性地将相应的处理元件的输出端连接到相应的处理元件的输入端;
[0011]第一数据缓冲器,包括两个或更多个第一边缘循环寄存器,每个第一边缘循环寄存器包括多个链式触发器,其包括近端触发器和远端触发器,其中,每个第一边缘循环寄存
器的远端触发器被布置成从直接存储器存取系统接收数据,以及其中,每个第一边缘循环寄存器的近端触发器可选择性地连接到第一边缘处理元件中的相应的一个的数据输入端;以及
[0012]第二数据缓冲器,包括两个或更多个第二边缘移位寄存器,每个第二边缘移位寄存器包括多个链式触发器,其包括近端触发器和远端触发器,其中,每个第二边缘移位寄存器的近端触发器可选择性地连接到第二边缘处理元件中的相应的一个的数据输出端,以及其中,每个第二边缘移位寄存器的远端触发器被布置成将数据输出到直接存储器存取系统。
[0013]从第二方面,本专利技术提供了一种包括这种硬件加速器的集成电路芯片。
[0014]集成电路芯片可以包括所述系统存储器。它可以包括将系统存储器连接到硬件加速器的直接存储器存取(DMA)系统的总线系统。它还可以包括不同于硬件加速器的通用处理器。它可以是片上系统装置。
[0015]因此,将看到,根据本专利技术,基于阵列的硬件加速器使用沿着阵列的第一边缘(例如顶部边缘)的、用于按时钟将数据输入到处理元件的阵列中的循环寄存器的数据缓冲器。输出数据可以使用沿着第二边缘(例如底部边缘)布置的移位寄存器的集合按时钟输出。使至少一些输入数据转圈循环以使相同的输入数据多次进入阵列的能力能够高效实现一系列处理任务。
[0016]例如,在至少一些实施方式中,硬件加速器可以被配置成执行模板信号模式(例如,表示无线电通信系统中的固定前导码)和更长的传入数据流(例如,接收到的无线电信号)之间的高效互相关运算。在该示例中,表示模板信号模式的固定系数的集合可以一次加载到一个或更多个循环寄存器中,然后随着阵列计算固定系数和传入数据流之间的一连串点积运算而反复转圈循环。
[0017]更一般地,每当要多次处理相同的输入数据时,通过减少对通过硬件加速器的DMA重复加载相同数据的需要,循环寄存器能够潜在地提供比没有反馈路径的移位寄存器更高的效率。
[0018]使用循环寄存器还允许比使用本地存储体(例如行和列寻址的寄存器文件)更紧凑的实现,以保存要加载到阵列中的数据,因为循环寄存器不需要复杂的寻址逻辑来将数据移动到处理阵列中。相反,近端触发器的输出端可以直接耦接到选定的处理元件的输入端。这特别适合数字信号处理(DSP)应用,其中通常不需要随机数据读取和写入能力。
[0019]在一些次优选的实施方式中,第二边缘移位寄存器可以是线性(即非循环)移位寄存器,但在优选实施方式中它们也是循环寄存器。
[0020]每个第一边缘循环寄存器优选地包括相应的第一反馈路径,使得使数据在每个第一边缘循环寄存器轮回循环包括:沿着多个链式触发器中的连续触发器将数据从远端触发器移动到近端触发器,并且沿着第一反馈路径将数据从近端触发器移动到远端触发器。在一些实施方式中,可以(例如,使用在运行时设置的配置数据)控制第一边缘循环寄存器,以使数据在寄存器轮回循环或不使数据循环。在一些实施方式中,每个循环寄存器可被独立地(即,与其他循环寄存器分离地)控制,以进行循环或不进行循环。在一些实施方式中,硬件加速器可以被布置成,使得第一和/或第二数据缓冲器的一个或更多个寄存器的可配置子集(优选地都是循环寄存器)可以被使能以进行移位,而剩余的第一和/或第二数据缓冲
器的一些或所有寄存器(即不在所述子集中的那些)不进行移位(即,当使能的寄存器进行移位时它们的内容保持不动(static))。可配置子集可以由配置数据指定,并且甚至可以在运算中动态改变。这样的布置可以支持诸如互相关的运算的性能,其中一个寄存器中包含的值在运算的连续阶段之间针对同一数据缓冲器的另一个寄存器中的值进行移位。
[0021]第一边缘循环寄存器可以是单向的,但是在优选实施方式中,它们是双向的。每个第一边缘循环寄存器的近端触发器可以(例如,通过可被配置成断开或闭合的可配置开关)选择性地连接到第一边缘处理元件中的相应的一个第一边缘处理元件的数据输出端,并且每个第一边缘循环寄存器的远端触发器可以被布置成将数据输出到直接存储器存取系统。除了包括第一反馈路径之外,为了将数据从近端触发器直接传递到远端触发器,每本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种硬件加速器,包括:直接存储器存取系统,用于在所述硬件加速器和系统存储器之间传输数据;处理元件的阵列,每个处理元件包括两个数据输入端和两个数据输出端,并且被配置成对在一个或更多个数据输入端处接收到的输入数据执行可选择的逻辑或算术运算以在一个或更多个数据输出端处生成输出数据,其中,所述阵列包括沿着所述阵列的第一边缘的两个或更多个第一边缘处理元件的集合和沿着所述阵列的第二边缘的两个或更多个第二边缘处理元件的集合,所述第二边缘处理元件不同于所述第一边缘处理元件;可配置互连部,用于选择性地将相应的处理元件的输出端连接到相应的处理元件的输入端;第一数据缓冲器,包括两个或更多个第一边缘循环寄存器,每个第一边缘循环寄存器包括包含近端触发器和远端触发器的多个链式触发器,其中,每个第一边缘循环寄存器的远端触发器被布置成接收来自所述直接存储器存取系统的数据,以及其中,每个第一边缘循环寄存器的近端触发器可选择性地连接到所述第一边缘处理元件中的相应的一个第一边缘处理元件的数据输入端;以及第二数据缓冲器,包括两个或更多个第二边缘移位寄存器,每个第二边缘移位寄存器包括包含近端触发器和远端触发器的多个链式触发器,其中,每个第二边缘移位寄存器的近端触发器可选择性地连接到所述第二边缘处理元件中的相应的一个第二边缘处理元件的数据输出端,以及其中,每个第二边缘移位寄存器的远端触发器被布置成将数据输出到所述直接存储器存取系统。2.根据权利要求1所述的硬件加速器,其中,每个第一边缘循环寄存器是双向的,包括用于将数据从该循环寄存器的近端触发器直接传递到远端触发器的第一反馈路径,并且还包括用于将数据直接从该循环寄存器的远端触发器传递到近端触发器的第二反馈路径。3.根据权利要求1或2所述的硬件加速器,其中,每个第一边缘循环寄存器能够被独立地配置成使数据沿着从近端触发器到远端触发器的直接反馈路径在该循环寄存器轮回循环,或者不使数据在该循环寄存器轮回循环。4.根据前述权利要求中任一项所述的硬件加速器,被布置成使得所述第一数据缓冲器和第二数据缓冲器的一个或更多个寄存器的可配置子集能够被使能以进行移位,而所述第一数据缓冲器和第二数据缓冲器的剩余寄存器不进行移位。5.根据前述权利要求中任一项所述的硬件加速器,其中:所述第一边缘循环寄存器和第二边缘移位寄存器是双向的;每个第二边缘移位寄存器的远端触发器被布置成接收来自所述直接存储器存取系统的数据;每个第二边缘移位寄存器的近端触发器可选择性地连接到所述第二边缘处理元件中的相应的一个第二边缘处理元件的数据输入端;每个第一边缘循环寄存器的近端触发器可选择性地连接到所述第一边缘处理元件中的相应的一个第一边缘处理元件的数据输出端;以及每个第一边缘循环寄存器的远端触发器被布置成将数据输出到所述直接存储器存取系统。6.根据前述权利要求中任一项所述的硬件加速器,其中,所述可配置互连部和处理阵
列能够在第一配置中被配置成处理从所述第一边缘开始经过所述处理阵列而流到所述第二边缘的数据,并且能够在第二配置中被配置成处理从所述第二边缘开始经过所述处理阵列而流到所述第一边缘的数据。7.根据前述权利要求中任一项所述的硬件加速器,其中,所述第二边缘移位寄存器是循环寄存器。8.根据权利要求7所述的硬件加速器,其中,所述第一边缘循环寄存器和第二边缘循环寄存器均是双向的,并且能够被独立控制以进行移位或不进行移位。9.根据前述权利要求中任一项所述的硬件加速器,其中,每个第一边缘循环寄存器的近端触发器可选择性地配置成接收来自所述直接存储器存取系统的数据。10.根据前述权利要求中任一项所述的硬件加速器,其中,所述第一边缘循环寄存器和所述第二边缘移位寄存器都具有相同数目的寄存器。11.根据前...
【专利技术属性】
技术研发人员:瓦卡尔,
申请(专利权)人:北欧半导体公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。