硬件加速器模块及其设置方法技术

技术编号:7323477 阅读:771 留言:0更新日期:2012-05-09 21:43
本发明专利技术提供了一种硬件加速器模块,其由系统处理器经由系统总线驱动,从而根据由所述处理器限定的参数集来顺序地处理数据流的数据块,所述硬件加速器模块包括:寄存器接口块,用来从所述系统处理器接收参数集;和加速器核心,用来接收流数据,从而按照由所述参数集限定的方式处理所述流数据的数据块,并且输出处理后的流数据;和参数缓存块,用来连续地存储多个参数集并且根据所述硬件加速器核心的忙状态将所述参数集顺序地提供给所述硬件加速器核心。本发明专利技术的参数缓存块使得能够减少硬件加速器的停机时间,从而增加数据吞吐量,并且在驱动数个硬件加速器的处理器中减少处理器过载的风险。

【技术实现步骤摘要】

本专利技术涉及一种硬件加速器模块,并且进一步涉及一种用于设置加速器模块的方法。
技术介绍
经常通过使用被已知为硬件加速器的专用硬件模块来加速数据处理。这些硬件模块由在处理器上运行的系统软件经由通常是寄存器的编程接口访问和设置。在硬件加速器能够处理数据流之前,它必须由软件进行设置。图1示出结合在图2中所示的传统硬件加速器模块的方框图而描述的硬件加速器的传统操作的时序图。硬件加速器模块2由未示出的系统处理器通过专用总线访问,从而对用于硬件加速器核心22的一个处理任务的参数集进行编程。在(a)对若干参数寄存器进行写操作之后,在(b),处理器触发硬件加速器启动。硬件加速器核心必须等待来自寄存器接口 21的启动信号(c),以在时间、开始处理数据,如在图1中在(d)所示。目前,在处理器能够对用于处理数据流的下一个数据块的新的参数集进行编程之前,处理器必须等待直到在时间t2通过由加速器核心22返回的忙信号的下降沿检测到硬件加速器核心已经结束它的任务。明显的是,加速器核心的这些停机时间显著地限制了加速器模块的吞吐量。目前,用于硬件加速器的参数由系统软件直接编程或者被存储在单独的RAM中。 第一种情况要求硬件加速器在每一个处理周期之后进行编程。使用单独的参数RAM意在减小在不同的重复进行的处理状态下的总线负载。当使用诸如在US 6,842,844中描述的单独的参数RAM时,软件能够预先对用于不同的处理状态的参数进行编程,并且硬件加速器可以之后数次地使用这些参数集。然而,硬件加速器仍然必须在每一个处理周期之后进行编程。而且,采用单独的参数RAM对于系统软件而言是不透明的,这意味着,处理器还必须告诉硬件加速器将使用哪一个参数集。本专利技术的目的是减少停机时间并且增加硬件加速器的数据吞吐量。本专利技术的另一目的是减少在驱动若干硬件加速器的处理器中的处理器过载的风险。
技术实现思路
根据本专利技术,提供了一种在权利要求1中阐述的硬件加速器模块和在权利要求3 中阐述的用于设置硬件加速器模块的方法。本专利技术的硬件加速器模块由系统处理器经由系统总线驱动,从而根据由所述处理器定义的参数集顺序地处理数据流的数据块,并且硬件加速器模块包括寄存器接口块,用来从所述系统处理器接收参数集;和加速器核心,用来接收流数据,从而按照由所述参数集限定的方式处理流数据的数据块,并且输出处理后的流数据。根据本专利技术,所述硬件加速器模块进一步包括参数缓存块,用来连续地存储多个参数集并且根据从所述硬件加速器核心接收的忙状态将所述参数集顺序地提供给硬件加速器核心。参数缓存块可以包括第一有限状态机,用来从寄存器接口块接收第一启动脉冲,并且响应于此,一旦确认了加速器核心的非忙状态,将另一启动脉冲传递到加速器核心;第二有限状态机,用来接收和评估来自加速器核心的第一忙信号,以确定其非忙状态,并且将第二忙信号传递到系统处理器;具有深度N的FIFO缓存器,用于存储N个参数集;和参数输出寄存器,用来与另一启动脉冲同时地将当前参数集提供到加速器核心,其中如果所述第一忙信号指示非忙状态并且参数FIFO为空,则所述第二忙信号只向处理器反映非忙状态。根据本专利技术的另一方面,提供了一种用于设置硬件加速器模块的方法,包括下述步骤通过系统处理器将第一参数集写到硬件加速器模块中,第一参数集限定硬件加速器核心的第一处理任务,并且发射第一启动脉冲;通过所述系统处理器连续地将第二参数集写到所述硬件加速器模块中,所述第二参数集限定所述硬件加速器核心的第二处理任务, 其中所述写步骤独立于所述硬件加速器核心的忙状态地进行,并且发射第二启动脉冲;顺序地将参数集缓存在参数缓存器中;通过所述参数缓存器监视来自硬件加速器模块的硬件加速器核心的第一忙信号;在所述硬件加速器核心不忙的情形中,响应于第一启动脉冲,立即将启动脉冲传递到硬件加速器核心,并且将第一参数集提供给硬件加速器核心;在硬件加速器核心忙的情形中,缓存启动信号,直到从硬件加速器核心检测到非忙指示,以及响应于所述非忙指示,将启动脉冲发送到所述硬件加速器核心,并且将所述第一参数集提供给所述硬件加速器核心;以及将第二忙信号返回到所述处理器,其中如果所述第一忙信号指示所述硬件加速器核心的非忙状态并且没有另外的参数集被缓存在所述参数缓存器中,则所述第二忙信号只指示所述硬件加速器模块的非忙状态,否则指示忙状态。在优选实施例中,用于设置硬件加速器模块的方法进一步包括下述步骤记录状态指示组中指示参数缓存器的至少一个状态的状态信号,所述状态指示组包括当前使用的参数集、在所述参数缓存器中可用的空间和缓存器溢出状态。本专利技术的参数缓存块有利地实现了硬件加速器的吞吐量和利用的增加,因为参数集在硬件加速器核心处可用于执行连续的流数据包的无缝处理。配置数据可以被预先计算并且提供给硬件,使得在硬件加速器完成处理任务时处理器的立即反应是不必要的,因此, 减少了由于硬件中断引起的处理器负载高峰。此外,减少了能耗,因为通过本专利技术的参数缓存块,处理器能够进入休眠更长的时间,这是更有效率的。附图说明从具体实施例的下面的详细描述,本专利技术的另外的特征和优点将是明显的,具体实施例的描述仅通过实例的方式给出并且其中将会参考附图,在附图中图1示出硬件加速器模块的传统操作的时序图;图2示出传统硬件加速器模块的示意性方框图;图3示出根据本专利技术的硬件加速器模块的操作的时序图;图4示出根据本专利技术的硬件加速器模块的示意性方框图;图5示出图4的硬件加速器模块的寄存器接口和参数缓存器的详细方框图;以及图6示出其中能够使用本专利技术的电路布置的功能单元的总体构造。具体实施方式图3示出根据本专利技术的硬件加速器模块的操作的时序图。应该结合附图4来阅读其描述,图4示出根据本专利技术的硬件加速器模块4的示意性方框图。硬件加速器模块4经由总线30从在未示出的系统处理器上运行的软件接收参数和驱动信号。硬件加速器模块4包括寄存器接口块40、参数缓存块50、和加速器核心60。 加速器核心60接收数据流,根据由处理器软件限定的参数集来处理流数据的块,并且输出处理后的流数据,如在图4中由粗的垂直箭头示出的。在(A),处理器将第一参数集写入寄存器接口 40,并且在(B),触发寄存器,以在时间T1启动。然后,处理器写入第二参数集并且再次触发寄存器以在时间T3启动,并且写入第三参数集并且再次触发寄存器以在时间T5启动,等等。通过根据本专利技术的加速器模块, 处理器不必等待直到硬件加速器核心已经结束任务,以对随后的参数集进行编程,如将从下面的描述理解的。响应于每一个触发事件⑶,寄存器接口块40将启动脉冲(C)输出到参数缓存器 50。参数缓存器50从硬件加速器核心60接收忙信号(B)。如果信号(E)为低,即,加速器核心60不忙,这是图3中在时间T2的情形,则启动脉冲(C)例如在时间T2立即将启动脉冲(D)从参数缓存器50带到加速器核心60。如果加速器核心忙,这是图3中在时间T4和T6的情形,则参数缓存器50等待直到它在时间1~7检测到从硬件加速器核心60返回的忙信号(E)的下降沿。此时,参数缓存器50 输出用于加速器核心60将在第二处理任务中使用的第二参数集,即,已经在时间T3编程的参数集的第二启动脉冲(D)。然后,参数缓存器50再次等待直到它在时间T8检测到忙信号 (E本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:乌韦·普罗斯托比亚斯·韦伯冈纳·尼切托马斯·弗利斯
申请(专利权)人:英特尔移动通信技术德累斯顿有限公司
类型:发明
国别省市:

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

1
相关领域技术