1.一种用于基于应用的需求动态地配置多个处理器的方法,该方法包括:
从应用接收包括要被加速的任务的加速请求消息;
确定所述任务的类型;
搜索可用加速器数据库以基于所述任务的所述类型动态地选择第一加速器;
将所述加速请求消息发送至位于可配置处理电路处的第一加速接口,其中:
所述第一加速接口将所述加速请求消息发送至第一加速器,并且
所述第一加速器一旦接收到所述加速请求消息就加速所述任务。
2.如权利要求1所述的方法,其中,所述加速请求消息在队列管理单元处被接收以基于所述任务的所述类型进入队列。
3.如权利要求2所述的方法,其中,所述队列管理单元将所述加速请求消息发送至调度器,所述调度器将所述加速请求消息与所述第一加速接口进行匹配。
4.如权利要求1所述的方法,其中:
所述可配置处理电路主管所述第一加速接口和第二加速接口;
所述第一加速接口基于所述第一加速器的第一类型通信地耦接至所述第一加速器;并且
所述第二加速接口基于所述第二加速器的第二类型通信地耦接至所述第二加速器。
5.如权利要求4所述的方法,其中,所述第一加速接口通信地耦接至具有所述第一类型的第三加速器。
6.如权利要求4所述的方法,其中,所述第一加速器和所述第二加速器形成并行处理结构。
7.如权利要求1所述的方法,其中,所述第一加速器包括以下各项中的任意一项:通用处理器、专用嵌入式处理器、开放运算语言处理器即OpenCL处理器、专用指令集处理器即ASIP处理器、固定功能处理器即FF处理器或数字信号处理器即DSP。
8.如权利要求1所述的方法,其中,在没有所述应用和所述第一加速器之间的固定的或预定的映射的情况下,基于所述应用的加速需求从所述可用加速器数据库中动态地选择所述第一加速器。
9.如权利要求1所述的方法,其进一步包括:
当所述第一加速器不可用时,在不中断所述可配置处理电路的其他部分的操作的情况下在所述可配置处理电路的现有硬件上经由逻辑合成动态地构建第二加速器。
10.如权利要求1所述的方法,其进一步包括:
当所述任务由所述第一加速器完成时,在不中断所述可配置处理电路的其他部分的操作的情况下经由来自所述可配置处理电路的逻辑配置移除所述第一加速器。
11.一种用于基于应用的需求动态地配置多个核的异构多核加速系统即HMA系统,所述系统包括:
处理器子系统,所述处理器子系统包括队列管理单元和调度器,其中:
所述队列管理单元从应用中接收包括要被加速的任务的加速请求消息并且确定所述任务的类型,并且
所述调度器基于所述任务的所述类型搜索可用加速器数据库以基于所述任务的所述类型动态地选择第一加速器;
可配置处理电路,所述可配置处理电路包括:
第一加速接口,所述第一加速接口从所述调度器接收所述加速请求消息并且当所述第一加速器可用时将所述加速请求消息发送至所述第一加速器,以及
第一加速器,所述第一加速器一旦接收到所述加速请求消息就加速所述任务。
12.如权利要求11所述的系统,其进一步包括多个硬件元件,其中:
所述多个硬件元件中的每个均包括以下各项中的任一项:总线接口、解析器、直接存储器存取引擎即DMA引擎或调度器。
13.如权利要求12所述的系统,其中,由基于列的结构中的所述多个硬件元件中的一个硬件元件结合来自所述可配置处理电路的逻辑元件动态地建立所述第一加速器。
14.如权利要求12所述的系统,其进一步包括:
存储器映射系统总线,所述存储器映射系统总线通信地耦接至所述多个硬件元件中的一个硬件元件。
15.如权利要求14所述的系统,其进一步包括:
系统存储器管理单元即SMMU,所述SMMU重新映射在所述SMMU内的存储器映射以在不物理地移动所述数据的情况下虚拟地移动所述HMA中的数据。
16.如权利要求15所述的系统,其进一步包括:
系统存储器,所述系统存储器存储用于动态地配置所述可配置处理电路的指令,
其中,当在不中断所述可配置处理电路的其他部分的操作的情况下部分地重新配置所述可配置处理电路时,所述SMMU虚拟化对所述系统存储器的选择性访问。
17.如权利要求11所述的系统,其中,所述可配置处理电路包括第二加速器,并且所述第一加速器和所述第二加速器形成一组并行处理核。
18.如权利要求11所述的系统,其中,所述第一加速器在不中断所述可配置处理电路的其他部分的操作的情况下在所述可配置处理电路上经由逻辑合成构建。
19.如权利要求11所述的系统,其中,在没有所述应用和所述第一加速器之间的固定的或预定的映射的情况下,基于所述应用的加速需求从所述可用加速器数据库中动态地选择所述第一加速器。
20.如权利要求11所述的系统,其中,当所述任务由所述第一加速器完成时,在不中断所述可配置处理电路的其他部分的操作的情况下使用来自所述可配置处理电路的逻辑配置移除所述第一加速器。
21.如权利要求11所述的系统,其中,所述第一加速器响应于所述加速请求消息将加速结果通过存储器映射共享存储器返回至所述应用。
22.如权利要求11所述的系统,其中,所述可配置处理电路进一步包括通信地耦接至所述第一加速接口的第二加速器。
23.一种处理器可读非瞬态介质,所述处理器可读非瞬态介质存储用于基于应用的需求动态地配置多个核的处理器可执行指令,所述处理器可执行指令包括:
可由处理器执行以从应用接收包括要被加速的任务的加速请求消息的指令;
可由处理器执行以确定所述任务的类型的指令;
可由处理器执行以搜索可用加速器数据库从而基于所述任务的所述类型动态地选择第一加速器的指令;
可由处理器执行以将所述加速请求消息发送至位于可配置处理电路处的第一加速接口的指令,其中:
所述第一加速接口将所述加速请求消息发送至第一加速器,并且
所述第一加速器一旦接收到所述加速请求消息就加速所述任务。
24.如权利要求23所述的介质,其中,在没有所述应用和所述第一加速器之间的固定的或预定的映射的情况下,基于所述应用的加速需求从所述可用加速器数据库中动态地选择所述第一加速器。
25.如权利要求23所述的介质,其进一步包括:
可由处理器执行以当所述第一加速器不可用时在不中断所述可配置处理电路的其他部分的操作的情况下在所述可配置处理电路的现有硬件上经由逻辑合成构建第二加速器的指令。
26.如权利要求23所述的介质,其进一步包括:
可由处理器执行以当所述任务由所述第一加速器完成时在不中断所述可配置处理电路的其他部分的操作的情况下经由在所述可配置处理电路上的逻辑配置移除所述第一加速器的指令。