一种高性能协处理器接口

文档序号:1937210 发布日期:2021-12-07 浏览:6次 >En<

阅读说明:本技术 一种高性能协处理器接口 (High-performance coprocessor interface ) 是由 魏敬和 刘德 吴昊 于 2021-09-10 设计创作,主要内容包括:本发明公开一种高性能协处理器接口,属于协处理器接口领域。Shim模块将输入的微操作码按顺序储存到队列中,将状态信号、协处理指令和处理数据按顺序传输到指令路由模块,将返回仲裁模块返回的结果和队列中存储的微操作码按顺序传输回主处理器中;指令路由模块将协处理指令、处理数据和状态信号传输到相对应的协处理器中,再由协处理器根据状态信号,协处理指令对输入到协处理器的处理数据进行处理;返回队列模块将协处理器反馈回的处理结果和存储结果的地址在队列中等待,等待下一个返回仲裁模块的仲裁;返回仲裁模块对多个返回队列模块中的结果进行仲裁,决定队列中等待的返回结果和返回地址返回的顺序。(The invention discloses a high-performance coprocessor interface, and belongs to the field of coprocessor interfaces. The Shim module stores the input micro-operation codes into a queue in sequence, transmits the state signals, the co-processing instructions and the processing data to the instruction routing module in sequence, and transmits the results returned by the arbitration module and the micro-operation codes stored in the queue back to the main processor in sequence; the instruction routing module transmits the coprocessing instruction, the processing data and the state signal to the corresponding coprocessor, and the coprocessor processes the processing data input into the coprocessor according to the state signal and the coprocessing instruction; the return queue module waits for the arbitration of the next return arbitration module after waiting for the processing result fed back by the coprocessor and the address of the storage result in a queue; the return arbitration module arbitrates the results in the return queue modules and determines the order of return results and return addresses waiting in the queue to return.)

一种高性能协处理器接口

技术领域

本发明涉及协处理器接口技术领域,特别涉及一种高性能协处理器接口。

背景技术

传统的处理器大多是通用性处理器,其特点为通而不专,即通用性强可以兼顾多种应用,但在某些特定应用中计算效果较差。使用可针对特定应用加速的协处理器可以解决该问题。协处理器是一种与主处理器协同工作,辅助其完成特定计算任务的专用处理芯片或器件。协处理器作为一个处理单元,与主处理器一起并行使用并承担通常由主处理器单元执行的运算任务。协处理器是针对某些特定计算任务而设计的,设计时不必过多地考虑其通用性,因而往往会拥有很好的特定计算性能。采用主处理器+协处理器的模式,这种方法最大的优点是不受软件升级的影响,而且只需要根据需求改变加速器的实现方式就能适应不同的条件。既能具有通用芯片的通用性,能处理一般任务,同时能够对某些特定的问题与情景进行加速,是未来发展的趋势。

协处理器作为独立处理单元,如何与主处理器进行连接都是相对比较重要的问题,使用总线连接存在一些缺点。因此需要一个与主处理器直接进行交互的桥梁将扩展的协处理器与主处理器完美耦合。将协处理器连接到内核上,使处理器内核与协处理器紧耦合地并行工作,提供更高的计算能力。在处理器内核一侧数据带宽、时序行为、传输模式等已确定,协处理器一侧可根据具体情况自行配置协处理器接口参数,从而达到内核与协处理器之间数据宽度、时序和控制信号等的匹配。

协处理器接口部分承担了主处理器和协处理器之间数据的双向传递,是协处理器数据通路的瓶颈。考虑到未来应用场景对可配置性、可编程性的需求,协处理器接口需要与不同协处理器连接。为解决这个问题,需要设计具有可扩展性,传输性能更高的协处理器接口。

发明内容

本发明的目的在于提供一种高性能协处理器接口,以解决背景技术中的问题。

为解决上述技术问题,本发明提供了一种高性能协处理器接口,包括Shim模块、指令路由模块、返回队列模块和返回仲裁模块;

所述Shim模块获取微操作码、状态信号、协处理指令和处理数据,根据索引将输入的微操作码按顺序储存到队列中,将状态信号、协处理指令和处理数据按顺序传输到指令路由模块,以及将返回仲裁模块返回的结果和队列中存储的微操作码按顺序传输回主处理器中;

所述指令路由模块根据协处理指令中的opcode代码,将协处理指令、处理数据和状态信号传输到相对应的挂接在协处理器接口的协处理器中,再由协处理器根据状态信号、协处理指令对输入到协处理器的处理数据进行处理;

所述返回队列模块将协处理器反馈回的处理结果和存储结果的地址在队列中等待,等待下一个返回仲裁模块的仲裁;

所述返回仲裁模块对多个返回队列模块中的结果进行仲裁,决定队列中等待的返回结果和返回地址返回的顺序。

可选的,所述Shim模块对微操作码、状态信号、协处理指令和处理数据的处理,包括:

对输入的信号进行解码,根据输入信号判断包含有多条微操作码,协处理指令的控制信号,执行队列的空和满,以及索引;

每个周期输入的三条指令,根据每个周期输入的三条控制信号得到协处理指令的索引和队列输入的控制信号,再根据协处理指令的索引和队列的索引以及其他的索引确定每一个周期输出的微操作码、协处理指令和处理数据,微操作码传输到相对应的协处理器微操作码返回队列中,协处理指令和处理数据传输到所述指令路由模块中。

可选的,所述Shim模块对协处理指令的判断,将微操作码保存在相对应的队列中,包括:

根据协处理指令中的opcode代码,所述opcode代码分别对应一个协处理器,所述微操作码根据协处理指令的判断结果传输到四个协处理器微操作码返回队列中相对应的队列;

微操作码传输到队列中,在队列中等待协处理器结果返回时输出。

可选的,所述Shim模块对返回结果和地址,以及微操作码返回队列的处理,包括:

根据所述返回仲裁模块的返回结果,将存储在相对应协处理器微操作码返回队列中微操作码按顺序取出,将微操作码和返回的协处理器处理结果及需存储的目的地址一同返回到主处理器中。

可选的,所述命令路由模块将协处理指令和处理数据分配到相对应的协处理器中,包括:

根据协处理指令中的opcode代码,opcode代码共有四个,分别对应一个协处理器,判断该协处理指令所属的协处理器;

根据所述opcode代码判断结果,将协处理指令、处理数据和状态信号传输到相对应的协处理器接口中的指令队列中,当相应的协处理器空闲时从该指令对列中传输到相对应的协处理器中进行处理。

可选的,所述返回队列模块存储协处理器返回的处理结果,包括:

所述返回队列模块中包括四个协处理器处理结果返回队列,所述四个协处理器处理结果返回队列对应一个协处理器,由协处理器处理的结果和处理结果存储地址从所处理的协处理器传输到相对应的协处理器处理结果返回队列,在队列中等待输出。

可选的,所述返回仲裁模块对协处理器处理结果返回顺序进行处理,包括:

根据配置的顺序对四个协处理器处理结果返回队列中返回的结果进行处理,按照配置的顺序将协处理器处理结果和处理结果存储地址返回到所述Shim模块中,再由所述Shim模块返回到主处理器中。

在本发明提供的高性能协处理器接口中,最多可以挂接四个协处理器。在以较低代价即对处理器内核影响较小、使用硬件资源较少的前提下,实现两者间的高效数据传输,并可以快速完成不同协处理器的连接。协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能;一个或多个协处理器可以通过协处理器接口与内核相连。在程序执行的过程中,每个协处理器只执行自身的协处理指令,忽略处理器和其他协处理器的指令。

附图说明

图1是本发明提供的高性能协处理器接口连接四个协处理器接口的架构图;

图2是本发明提供的协处理接口对协处理器命令处理方法的方法流程图;

图3是本发明提供的连接向量协处理时协处理器接口的架构图。

具体实施方式

以下结合附图和具体实施例对本发明提出的一种高性能协处理器接口作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖 直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例一

本发明提供了一种高性能协处理器接口,其结构如图1所示,包括Shim模块(Shim)、指令路由模块(Command Router)、返回队列模块(Queue)和返回仲裁模块(RRArbiter);所述Shim模块获取微操作码、状态信号、协处理指令和处理数据,根据索引将输入的微操作码按顺序储存到队列中,将状态信号、协处理指令和处理数据按顺序传输到指令路由模块,以及将返回仲裁模块返回的结果和队列中存储的微操作码按顺序传输回主处理器中;所述指令路由模块根据协处理指令中的opcode代码,将协处理指令、处理数据和状态信号传输到相对应的协处理器接口的指令队列中,再由协处理器根据状态信号,协处理指令对输入到协处理器的处理数据进行处理;所述返回队列模块将协处理器反馈回的处理结果和存储结果的地址在队列中等待,等待下一个返回仲裁模块的仲裁;所述返回仲裁模块对多个返回队列模块中的结果进行仲裁,决定队列中等待的返回结果和返回地址返回的顺序。

所述高性能协处理器接口对协处理指令的处理方法如图2所示,所述Shim模块对微操作码、状态信号、协处理指令和处理数据的处理,包括:对输入的信号进行解码,根据输入信号判断包含有多条微操作码,协处理指令的控制信号,执行队列的空和满,以及索引;每个周期输入的三条指令,根据每个周期输入的三条控制信号得到协处理指令的索引和队列输入的控制信号,再根据协处理指令的索引和队列的索引以及其他的索引确定每一个周期输出的微操作码、协处理指令和处理数据,微操作码传输到相对应的协处理器微操作码返回队列,协处理指令和处理数据传输到所述指令路由模块中。

所述Shim模块对协处理指令的判断,将微操作码保存在相对应的队列中,包括:根据协处理指令中的opcode代码,所述opcode代码分别对应一个协处理器,所述微操作码根据协处理指令的判断结果传输到四个协处理器微操作码返回队列中相对应的队列;微操作码传输到队列中,在队列中等待协处理器结果返回时输出。所述Shim模块对返回结果和地址,以及微操作码返回队列的处理,包括:根据所述返回仲裁模块的返回结果,将存储在相对应协处理器微操作码返回队列中微操作码按顺序取出,将微操作码和返回的协处理器处理结果及需存储的目的地址一同返回到主处理器中。

所述命令路由模块将协处理指令和处理数据分配到相对应的协处理器中,包括:根据协处理指令中的opcode代码,opcode代码共有四个,分别对应一个协处理器,判断该协处理指令所属的协处理器;根据所述opcode代码判断结果,将协处理指令、处理数据和状态信号传输到相对应的协处理器接口的指令队列中,当相应的协处理器空闲时从该指令对列中传输到相对应的协处理器中进行处理。

所述返回队列模块存储协处理器返回的处理结果,包括:所述返回队列模块中包括四个协处理器处理结果返回队列,所述四个协处理器处理结果返回队列对应一个协处理器,由协处理器处理的结果和处理结果存储地址从所处理的协处理器传输到相对应的协处理器处理结果返回队列,在队列中等待输出。

所述返回仲裁模块对协处理器处理结果返回顺序进行处理,包括:根据配置的顺序对四个协处理器处理结果返回队列中返回的结果进行处理,按照配置的顺序将协处理器处理结果和处理结果存储地址返回到所述Shim模块中,再由所述Shim模块返回到主处理器中。

下面将一个向量协处理器挂接到协处理器接口上,如图3所示,进一步的结合上述过程来描述一条协处理指令的执行的过程,协处理指令执行的大致流程如下:

(1)主处理器的译码单元在执行阶段对协处理指令的opcode代码进行译码,根据uopc === 7’h6c判断其是否属于任意一种custom指令组,如果属于custom指令组,则将相关信号传输到协处理器接口内。

(2)主处理器主流水线上的多个模块都与协处理器接口模块有信号的交互,其中有控制信号,微操作码信号,重命名模块中的索引信号,异常信号,状态信号,数据信号等。向量协处理器涉及到的微操作码有是否为协处理指令微操作码,指令微操作码,分支预测掩码微操作码,重命名索引微操作码,物理目标寄存器地址微操作码,逻辑目标寄存器地址微操作码,是否为原子操作等微操作码。

(3)Shim模块对输入信号进行处理,每个周期最多可以输入三条协处理的指令,根据输入协处理指令的控制信号等可以得到协处理指令的索引,再结合重命名索引等。在相应的条件下,输入信号的值将赋值到四个指令中的一个,这个四个指令在多个索引的条件下每个周期只输出一条指令。

(4)Shim模块中每个周期的输出包括两个部分,其中一部分包括协处理指令信号、协处理器处理的数据信号和状态信号,这一部分将传输到命令路由模块中;另一部分是微操作代码,该组微操作代码信号传输到对应的协处理器微操作码返回队列,该组信号在队列中等待,当协处理器处理后的结果和返回地址返回时,与该组微操作码信号一同输出到主处理器中。

(5)Shim模块将协处理指令信号、协处理器处理的数据信号和状态信号,传输到命令路由模块中,先在队列中进行等待,根据指令信号中的opcode代码判断是否为向量协处理器相对的opcode代码,然后将上述信号传输到向量协处理器传输队列中,当向量协处理器空闲时,协处理指令信号、协处理器处理的数据信号和状态信号传输到协处理器中进行处理。

(6)向量协处理器处理完数据后,将处理完后的结果数据和结果将要存储的地址返回到结果返回队列模块中,在该队列中等待下一模块返回仲裁模块对结果顺序的仲裁。

(7)由于只挂接了一个向量协处理器,所以返回仲裁模块对向量协处理器的处理结果将按顺序传递会Shim模块中。

(8)返回仲裁模块返回结果数据和存储地址到Shim模块中,存储在对应的协处理器微操作码返回队列中的微操作代码信号,与结果数据和存储地址一同返回到主处理器中。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种高密度智能网卡、FPGA及其工作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!