硬件加速器及方法、中央处理单元、计算设备技术

技术编号:8271306 阅读:334 留言:0更新日期:2013-01-31 03:30
本发明专利技术提供了硬件加速器及方法、中央处理单元、计算设备。一种硬件加速器,包括:任务加速单元,被配置为响应于硬件线程的关于新任务的请求,加速处理该新任务并产生任务处理结果;任务时间预测单元,被配置为预测该新任务等待总时间以便返回到与该硬件线程关联的特定地址。本发明专利技术的一方面使得硬件线程知道其得到处理结果需要等待的时间,因而有利于其任务规划。

【技术实现步骤摘要】
本专利技术总体上涉及计算机技术,特别地,本专利技术涉及硬件加速器及方法、中央处理单元、计算设备
技术介绍
在现代的计算设备的中央处理单元(CPU)中,往往采用多线程架构以提高处理效率。在多线程架构中,为了进一步提高任务的处理速度,往往又采用加速器,其被用于从线程上卸载任务并执行,并将执行结果返回线程。由于加速器是一个处理速度远高于线程的硬件,这样就进一步提高了处理效率。 在大多数的多线程架构中,由于线程数量远多于加速器数量,导致多个硬件线程共用一个加速器。图I示出了一种常见的硬件加速器103和多个硬件线程101组成的架构。硬件加速器103包括总线接口 1031以及任务加速单元1032。硬件线程101以如图3所示的请求的形式将任务发布到硬件加速器103。在任务加速单元1032对该任务加速完毕后,结果被返回到与硬件线程关联的目标数据缓存1011中。图2示出了硬件加速器103的具体结构。任务加载器10321响应于新任务,将该任务加载到任务队列单元10322中排队。加速器引擎10323按排队的顺序,依次从任务队列单元10322中取出任务来处理。结果输出单元10324将处理的结果返回到发出请求的硬件线程中的目标数据缓存1011。图3是硬件线程1011向硬件加速器103发请求的帧格式。操作码301识别本次操作。加速器ID 302识别请求哪一个硬件加速器103用于加速。请求地址303识别发出请求的硬件线程101的地址。由于当前有任务在硬件加速器中执行的线程不知道由其他线程发布的任务的相关信息,也不知道硬件加速器中任务队列的状态,因此在硬件线程中引入同步机制或者异步机制以便等待任务执行完毕。同步机制一般是由轮询语句不断查询目标数据缓存1011的状态,或者是由总线102上的监测机制来检测目标数据缓存1011,一旦发现有更新的数据则通知硬件线程101。硬件线程101在向硬件加速器103发出请求和从目标数据缓存1011取得结果之间不执行其它任务,因此降低了资源利用率且提高了处理开销,但易于控制对时间敏感的应用的处理延时。在异步机制中,硬件线程101在向硬件加速器103发出请求和从目标数据缓存1011取得结果之间执行其它任务。在以后的某个时间点,硬件线程101被中断等唤醒,从目标数据缓存1011取回结果。这样,提高了资源利用率且降低了处理开销,但不易于控制对时间敏感的应用的处理延时。无论是同步机制还是异步机制,都需要监控目标数据缓存的开销(该开销是指监控目标数据缓存需要占用的资源、以及需要额外执行的动作)。另外,硬件线程不知道其得到处理结果需要等待的时间,因而不利于其任务规划。
技术实现思路
本专利技术的一方面解决的一个问题是,使硬件线程知道其得到处理结果需要等待的时间,因而有利于其任务规划。根据本专利技术的一方面,提供了一种硬件加速器,包括任务加速单元,被配置为响应于硬件线程的关于新任务的请求,加速处理该新任务并产生任务处理结果;任务时间预测单元,被配置为预测该新任务等待总时间以便返回到与该硬件线程关联的特定地址。根据本专利技术的一方面,提供了一种中央处理单元,包括上述硬件加速器;硬件线程,其针对特定任务,请求该硬件加速器加速执行该特定任务。根据本专利技术的一方面,提供了一种计算设备,包括上述中央处理单元。 根据本专利技术的一方面,提供了一种硬件加速方法,包括响应于硬件线程的关于新任务的请求,加速处理该新任务并产生任务处理结果;预测该新任务等待总时间以便返回到与该硬件线程关联的特定地址。本专利技术的一方面带来的一个有益效果是,使硬件线程知道其得到处理结果需要等待的时间,因而有利于其任务规划。附图说明本申请中所参考的附图只用于示例本专利技术的典型实施例,不应该认为是对本专利技术范围的限制。图I示出了现有技术的硬件加速器的工作原理;图2示出了图I中任务加速单元的一种具体结构;图3为现有技术中硬件线程向硬件加速器发送的请求帧格式;图4示出了适于用来实现本专利技术实施方式的示例性计算系统的框图。图5为根据本公开的一个实施例的硬件加速器的工作原理示意图;图6示出了图4中任务时间预测单元的一种具体实施方式;图7为根据本公开的一个实施例的硬件线程向硬件加速器发送的请求帧格式;图8示出了图4中任务时间预测单元的另一种具体实施方式;图9为根据本公开的一个实施例的排队任务帧格式;图10示出了图4中任务时间预测单元的另一种具体实施方式;以及图11是根据本公开的一个实施例的方法的流程图。具体实施例方式下列讨论中,提供大量具体的细节以帮助彻底了解本专利技术。然而,很显然对于本领域技术人员来说,即使没有这些具体细节,并不影响对本专利技术的理解。并且应该认识到,使用如下的任何具体术语仅仅是为了方便描述,因此,本专利技术不应当局限于只用在这样的术语所表示和/或暗示的任何特定应用中。图4示出了适于用来实现本专利技术实施方式的示例性计算系统400的框图。如所示,计算机系统400可以包括CPU(中央处理单元)401、RAM(随机存取存储器)402、R0M(只读存储器)403、系统总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些设备中,与系统总线404耦合的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行控制器407、并行控制器408和显示控制器409。硬盘410与硬盘控制器405耦合,键盘411与键盘控制器406耦合,串行外部设备412与串行接口控制器407耦合,并行外部设备413与并行接口控制器408耦合,以及显示器414与显示控制器409耦合。应当理解,图4所述的结构框图仅仅为了示例的目的而示出的,而不是对本专利技术范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。图5的硬件加速器103和硬件线程101包含在图4的CPU中。如图5所示,相比于图1,本公开的一个实施例在硬件加速器103中增加了任务时间预测单元1035。硬件线程101以如图7所示的帧格式通过总线102向硬件加速器103发送请求。图7与图3的区别在于增加了定时器地址字段304,其指定预测时间返回到的定时器地址。任务时间预测单元1035响应于接收到新任务,预测该新任务等待总时间。新任务等待总时间即从硬件加速器接收到新任务请求到该新任务被执行完需要的时间,其等于该新任务本身的执行所需的 时间以及在接收到该新任务时在硬件加速器中还未执行完的那些任务执行完所需的时间。例如,硬件加速器新接收到任务E,此时硬件加速器尚未执行完的任务是A、B、C、D。执行完任务E需要2分钟,执行完A、B、C、D需要10分钟,因此新任务E的等待总时间是10分钟+2分钟=12分钟。对于硬件线程的决策来说,最有意义的是新任务等待总时间,新任务本身的执行所需的时间对硬件线程来说并不重要。因此,本专利技术的一个实施例向硬件线程返回的是新任务等待总时间。预测完该新任务等待总时间后,任务时间预测单元1035将该时间返回到与硬件线程关联的特定地址。在一个实施方式中,该特定地址是请求帧中指定的硬件线程内部的定时器地址。该定时器是硬件线程内部的一个寄存器。硬件线程查看该定时器,就可以知道得到处理结果需要等本文档来自技高网
...

【技术保护点】
一种硬件加速器,包括:任务加速单元,被配置为响应于硬件线程的关于新任务的请求,加速处理该新任务并产生任务处理结果;任务时间预测单元,被配置为预测该新任务等待总时间以便返回到与该硬件线程关联的特定地址。

【技术特征摘要】
1.一种硬件加速器,包括 任务加速单元,被配置为响应于硬件线程的关于新任务的请求,加速处理该新任务并产生任务处理结果; 任务时间预测单元,被配置为预测该新任务等待总时间以便返回到与该硬件线程关联的特定地址。2.根据权利要求I的硬件加速器,其中该任务时间预测单元包括 任务模型引擎,被配置为响应于接收到该新任务,基于任务模型计算该新任务的任务执行时间; 累加器,存储有目前在该任务加速单元中尚未执行完的任务全部执行完需要的时间作为累加结果,其将该任务模型引擎计算出的该任务执行时间累加到该累加结果上以便将累加结果作为该新任务等待总时间通知给该硬件线程,并在任务执行完后将相应任务执行时间从该累加器中存储的累加结果中扣除。3.根据权利要求I的硬件加速器,其中该任务时间预测单元包括 任务模型引擎,被配置为基于任务模型计算该新任务的任务执行时间; 任务成帧器,存储着目前在该任务加速单元中尚未执行完的任务全部执行完需要的时间作为累加结果,其响应于接收到该新任务,在该新任务在该任务加速单元的队列中排队之前,为该新任务增加由该任务模块引擎计算出的该新任务的任务执行时间字段,并将所述任务执行时间字段中的任务执行时间累加到该任务成帧器存储的所述累加结果上以便将将累加结果作为该新任务等待总时间通知给该硬件线程,并在任务执行完后将相应任务执行时间字段中的任务执行时间从该任务成帧器中存储的累加结果中扣除。4.根据权利要求I的硬件加速器,其中该任务时间预测单元包括 进入感测器,被配置为感测进入该任务加速单元的队列中的该新任务; 任务模型引擎,被配置为响应于该进入感测器感测到该新任务,基于任务模型计算该新任务的任务执行时间; 运算写入器,存储着目前在该任务加速单元中尚未执行完的任务全部执行完需要的时间作为累加结果,其基于该任务模型引擎计算出的该任务执行时间,为该新任务增加该新任务的任务执行时间字段,并将该任务执行时间字段中的任务执行时间累加到该运算写入器存储的该累加结果上以便将累加结果作为该新任务等待总时间通知给该硬件线程,并在任务执行完后将相应任务执行时间字段中的任务执行时间从运算写入器中存储的累加结果中扣除。5.根据权利要求1-4中任一个的硬件加速器,其中所述与硬件线程关联的特定地址是该硬件线程内部的,并且是预先定义的。6.根据权利要求1-4中任一个的硬件加速器,其中在该硬件线程发给该硬件加速器的请求中含有该硬件线程内部的寄存器地址,用于指定该硬件加速器将该新任务等待总时间返回到的与该硬件线程关联的特定地址。7.根据权利要求1-4中任一个的硬件加速器,其中与该硬件线程关联的特定地址是该硬件线程外部的存储器。8.根据权利要求1-4中任一个的硬件加速器,其中该任务模型引擎基于以下各项中的一项或多项计算该新任务的该任务执行时间处理频率、输入数据大小、平均高...

【专利技术属性】
技术研发人员:朱振博戈弋王鲲侯锐
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1