Methods and devices related to transfer operation are described. In one embodiment, the hardware processor includes: a core for executing threads and transferring operations; and a first hardware accelerator and a second hardware accelerator for executing the operation, where the first hardware accelerator and the second hardware accelerator are coupled to multiple shared buffers and an input buffer description of a second hardware accelerator with entries for each corresponding shared buffer. Descriptor array, input buffer response descriptor array with corresponding response entry for each corresponding shared buffer, output buffer descriptor array with first hardware accelerator for each corresponding shared buffer entry, and output of first hardware accelerator with corresponding response entry for each corresponding shared buffer An array of buffer response descriptors, in which multiple shared buffers are used to store output data from the first hardware accelerator and provide the output data as input data to the second hardware accelerator.
【技术实现步骤摘要】
【国外来华专利技术】用于转移操作的硬件加速器和方法
本公开总体上关于电子学,更具体地,本公开的实施例关于用于执行转移(offload)操作的硬件加速器。
技术介绍
处理器或处理器集合执行来自指令集(例如,指令集架构(ISA))的指令。指令集是计算机架构的关于编程的部分,并且一般包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中可以指宏指令或指微指令,该宏指令例如,提供给处理器供执行的指令,该微指令例如,由处理器的解码器对宏指令解码所产生的指令。附图说明在所附附图中以示例方式而非限制方式图示本公开,在附图中,类似的附图标记指示类似的要素,其中:图1图示根据本公开的实施例的硬件处理设备和硬件加速器。图2A-图2B图示根据本公开的实施例的硬件处理设备和硬件加速器。图3图示根据本公开的实施例的硬件处理器,该硬件处理器包括多个核和硬件加速器。图4图示根据本公开的实施例的硬件处理设备和硬件加速器。图5图示根据本公开的实施例的流程图。图6图示根据本公开的实施例的加速操作流程图。图7A是图示根据本公开的实施例的通用向量友好指令格式及其A类指令模板的框图。图7B是图示根据本公开的实施例的通用向量友好指令格式及其B类指令模板的框图。图8A是图示根据本公开的实施例的用于图7A和图7B中的通用向量友好指令格式的字段的框图。图8B是图示根据本公开的一个实施例的构成完整操作码字段的图8A中的专用向量友好指令格式的字段的框图。图8C是图示根据本公开的一个实施例的构成寄存器索引字段的图8A中的专用向量友好指令格式的字段的框图。 ...
【技术保护点】
1.一种硬件处理器,包括:核,用于执行线程并转移操作;以及第一硬件加速器和第二硬件加速器,用于执行所述操作,以生成输出数据并消耗输入数据,其中,所述第一硬件加速器和所述第二硬件加速器耦合至多个共享缓冲器、具有用于每个相应共享缓冲器的条目的所述第二硬件加速器的输入缓冲器描述符数组、具有用于每个相应共享缓冲器的对应响应条目的所述第二硬件加速器的输入缓冲器响应描述符数组、具有用于每个相应共享缓冲器的条目的所述第一硬件加速器的输出缓冲器描述符数组、以及具有用于每个相应共享缓冲器的对应响应条目的所述第一硬件加速器的输出缓冲器响应描述符数组,所述多个共享缓冲器用于存储来自所述第一硬件加速器的所述输出数据并将所述输出数据作为所述输入数据提供给所述第二硬件加速器。
【技术特征摘要】
【国外来华专利技术】2016.09.30 US 15/282,3721.一种硬件处理器,包括:核,用于执行线程并转移操作;以及第一硬件加速器和第二硬件加速器,用于执行所述操作,以生成输出数据并消耗输入数据,其中,所述第一硬件加速器和所述第二硬件加速器耦合至多个共享缓冲器、具有用于每个相应共享缓冲器的条目的所述第二硬件加速器的输入缓冲器描述符数组、具有用于每个相应共享缓冲器的对应响应条目的所述第二硬件加速器的输入缓冲器响应描述符数组、具有用于每个相应共享缓冲器的条目的所述第一硬件加速器的输出缓冲器描述符数组、以及具有用于每个相应共享缓冲器的对应响应条目的所述第一硬件加速器的输出缓冲器响应描述符数组,所述多个共享缓冲器用于存储来自所述第一硬件加速器的所述输出数据并将所述输出数据作为所述输入数据提供给所述第二硬件加速器。2.如权利要求1所述的硬件处理器,其中,所述第二硬件加速器用于将用于所述输入缓冲器描述符数组的最后有效输入条目的索引与用于所述输入缓冲器响应描述符数组的最后消耗输入响应条目的索引进行比较以确定所述第二硬件加速器何时将执行以消耗来自所述多个共享缓冲器的输入数据,并且所述第一硬件加速器用于将用于所述输出缓冲器描述符数组的最后有效输出条目的索引与用于所述输出缓冲器响应描述符数组的最后消耗输出响应条目的索引进行比较以确定所述第一硬件加速器何时将执行以生成进入所述多个共享缓冲器的输出数据。3.如权利要求1所述的硬件处理器,其中,在没有来自所述核的参与的情况下,所述第二硬件加速器用于执行比较且所述第一硬件加速器用于执行比较。4.如权利要求1所述的硬件处理器,其中,所述核用于:分配所述多个共享缓冲器;以及加载所述输入缓冲器描述符数组中用于每个相应共享缓冲器的条目。5.如权利要求4所述的硬件处理器,其中,所述核用于:加载所述输出缓冲器描述符数组中用于每个相应共享缓冲器的条目。6.如权利要求1所述的硬件处理器,其中,所述第一硬件加速器用于:用所述输出数据加载所述多个共享缓冲器;以及加载所述输出缓冲器响应描述符数组中用于每个相应的被消耗的共享缓冲器的对应响应条目。7.如权利要求6所述的硬件处理器,其中,所述第二硬件加速器用于:加载所述输入缓冲器响应描述符数组中用于每个相应的被消耗的共享缓冲器的对应响应条目。8.如权利要求1-7中的任一项所述的硬件处理器,其中,所述输入缓冲器描述符数组中的条目各自都包括存储在相应共享缓冲器中的输入数据的尺寸,所述输入缓冲器响应描述符数组中的对应响应条目各自都包括相应共享缓冲器中剩余的输入数据的尺寸,所述输出缓冲器描述符数组中的条目各自都包括能用于存储输出数据的相应共享缓冲器的尺寸,并且所述输出缓冲器响应描述符数组中的对应响应条目各自都包括存储在相应共享缓冲器中的输出数据的尺寸。9.一种方法,包括:将操作从硬件处理器转移到第一硬件加速器;以及在所述第一硬件加速器和第二硬件加速器上执行所述操作,以生成输出数据并消耗输入数据,其中,所述第一硬件加速器和所述第二硬件加速器耦合至多个共享缓冲器、具有用于每个相应共享缓冲器的条目的所述第二硬件加速器的输入缓冲器描述符数组、具有用于每个相应共享缓冲器的对应响应条目的所述第二硬件加速器的输入缓冲器响应描述符数组、具有用于每个相应共享缓冲器的条目的所述第一硬件加速器的输出缓冲器描述符数组、以及具有用于每个相应共享缓冲器的对应响应条目的所述第一硬件加速器的输出缓冲器响应描述符数组,所述多个共享缓冲器用于存储来自所述第一硬件加速器的所述输出数据并将所述输出数据作为所述输入数据提供给所述第二硬件加速器。10.如权利要求9所述的方法,进一步包括:所述第二硬件加速器将用于所述输入缓冲器描述符数组的最后有效输入条目的索引与用于所述输入缓冲器响应描述符数组的最后消耗输入响应条目的索引进行比较以确定所述第二硬件加速器何时将执行以消耗来自所述多个共享缓冲器的输入数据;以及所述第一硬件加速器将用于所述输出缓冲器描述符数组的最后有效输出条目的索引与用于所述输出缓冲器响应描述符数组的最后消耗输出响应条目的索引进行比较以确定所述第一硬件加速器何时将执行以生成进入所述多个共享缓冲器的输出数据。11.如权利要求10所述的方法,其中,在没有来自所述硬件处理器的参与的情况下,所述第二硬件加速器执行比较且所述第一硬件加速器执行比较。12.如权利要求9所述的方法,进一步包括:分配所述多个共享缓冲器;以及加载所述输入缓冲器描述符...
【专利技术属性】
技术研发人员:T·G·德赖斯代尔,V·戈帕尔,J·D·吉尔福德,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。