WO2022227614A1 - 用于命令分发的装置、方法、芯片、计算机设备及存储介质 - Google Patents

用于命令分发的装置、方法、芯片、计算机设备及存储介质 Download PDF

Info

Publication number
WO2022227614A1
WO2022227614A1 PCT/CN2021/138676 CN2021138676W WO2022227614A1 WO 2022227614 A1 WO2022227614 A1 WO 2022227614A1 CN 2021138676 W CN2021138676 W CN 2021138676W WO 2022227614 A1 WO2022227614 A1 WO 2022227614A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
circuit
line
distribution
command line
Prior art date
Application number
PCT/CN2021/138676
Other languages
English (en)
French (fr)
Inventor
周琳
冷祥纶
孙海涛
张国栋
Original Assignee
上海阵量智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海阵量智能科技有限公司 filed Critical 上海阵量智能科技有限公司
Publication of WO2022227614A1 publication Critical patent/WO2022227614A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/36Arbitration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the distribution circuit includes a parsing circuit and a command line buffer; the parsing circuit is connected to the command line buffer.
  • the parsing circuit is configured to read the current command line from the command queue, and send the current command line to the command line buffer.
  • the command line buffer is configured to send the arbitration request signal to the arbitration circuit after receiving the current command line sent by the parsing circuit; and after receiving the arbitration request signal returned by the arbitration circuit based on the arbitration request signal After the permission permission signal is received, the current command line is sent to the first operation unit corresponding to the first command.
  • the first operation unit information buffer is used to receive the command queue identifier; and after receiving the confirmation information fed back after the first operation unit has processed the first command, based on the command queue identifier , and the confirmation information, and send a second counting instruction to the command counter corresponding to the command queue identifier.
  • the command counter is configured to decrease the current second count value of the command counter by a second value after receiving the second count instruction sent by the first operation unit information buffer.
  • Command line counter and command counter are electronic components with counting function.
  • the distribution circuit 10 further includes a command line counter 103 ; the command line counter 103 is connected to the parsing circuit 101 .
  • the current count threshold is related to the original value of the command line buffer 102 .
  • the current count threshold can be m+n; the original value can be set according to the actual situation, for example, the original value can be set It is 0, or 1, etc., which can be set according to actual needs.
  • the parsing circuit 101 determines that the current command line is the first command line in the first command, and sends it to the first command line.
  • the command line counter 103 sends a reset instruction, as shown in 6 in Figure 2; after the command line counter 103 receives the reset instruction sent by the parsing circuit 101, it resets the first count value corresponding to the current command line counter 103 to the original The first value is incremented after the value.
  • the distribution circuit reads the first command currently to be sent from the command queue corresponding to the distribution circuit, including: reading multiple numbers of the first command from the command queue corresponding to the distribution circuit The current command line in a command line.
  • sending the first command to the first operation unit corresponding to the first command by the distribution circuit includes: sending the current command line to the first operation unit corresponding to the first command.
  • Step 7 After receiving the permission permission signal sent by the arbitration circuit 20, the command line buffer 102 sends the current command line and the first identifier of the first arithmetic unit corresponding to the first command to the command distribution interface 30, and jumps to step 7. 9.
  • the command line buffer 102 is connected to the command distribution interface 30 through an arbitration circuit.
  • Step 23 After receiving the pause command sent by the judgment circuit 104, the command line buffer 102 stops sending the arbitration request signal to the arbitration circuit 20, until after receiving the start command sent by the judgment circuit 104, sends the arbitration request signal to the arbitration circuit, and skips Go to step 15.
  • the functions, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a processor-executable non-volatile computer-readable storage medium.
  • the computer software products are stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present disclosure.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了用于命令分发的装置、方法、芯片、计算机设备及存储介质,其中,该装置包括至少一个分发电路、以及仲裁电路。所述至少一个分发电路中的每个分发电路,用于从与该分发电路对应的命令队列中读取当前待发送的第一命令,并向所述仲裁电路发送仲裁请求信号。所述仲裁电路,用于在接收到所述至少一个分发电路中各分发电路发送的仲裁请求信号后,对各所述分发电路进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路返回所述权限许可信号。所述至少一个分发电路中的每个分发电路,在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述第一命令。

Description

用于命令分发的装置、方法、芯片、计算机设备及存储介质 技术领域
本公开涉及计算机技术领域,具体而言,涉及用于命令分发的装置、方法、芯片、计算机设备及存储介质。
背景技术
随着人工智能的广泛使用,深度学习的模型大小急剧增加,模型结构也越来越复杂。这使得微控制单元(Microcontroller Unit,MCU)需要调度大量的软件资源才能完成命令分发任务,效率低且软件开销大。
发明内容
本公开实施例至少提供一种命令分发装置、方法、芯片、计算机设备及存储介质。
第一方面,本公开实施例提供了一种命令分发装置,包括至少一个分发电路、以及仲裁电路。其中,所述至少一个分发电路分别与所述仲裁电路连接。所述至少一个分发电路中的每个分发电路,用于:从与该分发电路对应的命令队列中读取当前待发送的第一命令,并向所述仲裁电路发送仲裁请求信号;在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述第一命令。所述仲裁电路,用于在接收到所述至少一个分发电路中各分发电路发送的仲裁请求信号后,对各所述分发电路进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路返回所述权限许可信号。
这样,通过与每个命令队列对应的分发电路读取当前待发送的第一命令,仲裁电路对各个分发电路进行仲裁确定具有发送权限的分发电路,并向获得发送权限的分发电路发送权限许可信号,接收到权限许可信号的分发电路向与第一命令对应的第一运算单元发送第一命令,实现了通过硬件电路对命令的分发,能够有效提高命令分发的效率,减少软件开销。
在一种可能的实施方式中,所述至少一个分发电路中的每个分发电路,在从与该分发电路对应的命令队列中读取当前待发送的第一命令时,用于:从与该分发电路对应的命令队列中读取所述第一命令的多个命令行中的当前命令行。相应地,所述至少一个分发电路中的每个分发电路,向与所述第一命令对应的第一运算单元发送所述第一命令时,用于:向与所述第一命令对应的第一运算单元发送所述当前命令行。
在一种可能的实施方式中,所述分发电路,在向所述仲裁电路发送仲裁请求信号时,用于:确定所述当前命令行是否为就绪状态;若是,则向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述当前命令行为就绪状态包括:所述当前命令行为所述第一命令中的非首行命令行;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述命令队列最近已发送的第二命令对应的第二运算单元相同;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述第二命令对应的第二运算单元不同,但所述第二命令被所述第二运算单元处理完毕。
这样,可保证同一个命令队列中的各个命令即使在不同的运算单元进行处理时,可以按照在该命令队列中的存储顺序对每一命令进行顺序处理,从而有效保证同一个命令队列中的命令被按照顺序处理。
在一种可能的实施方式中,所述分发电路包括解析电路、以及命令行缓存器;所述解析电路和所述命令行缓存器连接。其中,所述解析电路,用于从所述命令队列中读取所述当前命令行,向所述命令行缓存器发送所述当前命令行。所述命令行缓存器,用于在接收所述解析电路发送的当前命令行后,向所述仲裁电路发送所述仲裁请求信号;并在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述当前命令行。
这样,当解析电路读取的当前命令行为第一命令的非首行命令行的情况下,可以直接向仲裁电路发送仲裁请求信号,参与仲裁电路的仲裁,提高分发效率。
在一种可能的实施方式中,所述分发电路还包括命令行计数器;所述命令行计数器与所述解析电路连接。相应地,所述解析电路,用于从所述命令队列中读取所述当前命令行后,从所述命令行计数器读取第一计数数值;在所述第一计数数值小于当前计数阈值且大于原始数值的情况下,确定所述当前命令行为所述第一命令中的非首行命令行。其中,所述当前计数阈值,是基于所述第一命令的命令行行数确定的。
这样,解析电路通过读取命令行计数器的第一计数数值,并将第一计数数值与当前计数阈值做比较就可判断读取的当前命令行是否为第一命令的首行命令行,通过低成本的方式实现对同一队列中不同命令的识别。
在一种可能的实施方式中,所述解析电路,还用于在确定所述当前命令行为所述第一命令中的非首行命令行后,向所述命令行计数器发送第一计数指令;所述命令行计数器,用于接收到所述解析电路发送的第一计数指令后,将所述第一计数数值增加第一数值。
解析电路在读取当前命令行后向命令行计数器发送第一计数指令,命令行计数器在接收到第一计数指令后,将当前的第一计数数值增加第一数值。这样,就可以记录解析电路已经读取了第一命令的命令行的行数。
在一种可能的实施方式中,所述分发电路还包括:判断电路;所述判断电路分别与所述解析电路、和所述命令缓存器相连;所述解析电路,还用于在确定所述当前命令行为所述第一命令中的首行命令行的情况下,从所述首行命令行中解析所述第一命令对应所述第一运算单元的第一标识,并向所述判断电路发送所述第一标识,以及向所述命令行缓存器发送所述当前命令行;所述判断电路,用于接收所述解析电路发送的所述第一标识,并在判断所述第一标识和所述命令队列最近已发送的第二命令对应的第二运算单元的第二标识不一致、且所述第二命令未被所述第二运算单元处理完毕的情况下,向所述命令行缓存器发送暂停指令;所述命令行缓存器,还用于在接收到所述判断电路发送的所述暂停指令的情况下,暂停向所述仲裁电路发送所述仲裁请求信号。
这样,同一个命令队列中的两个相邻的命令发往不同的运算单元时,不会因为运算单元的处理效率影响该相邻的两个命令的处理顺序,在最近发送的第二命令没有处理完毕的情况下,命令行缓存器不参与仲裁电路的仲裁,保证当前待发送的第一命令不下发,保证同一命令队列中的命令的处理顺序。
在一种可能的实施方式中,所述解析电路,还用于在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向命令行计数器发送重置指令;所述命令行计数器,用于接收到所述解析电路发送的重置指令后,将所述命令行计数器对应的第一计数数值重置为原始数值后,增加第一数值。
这样,能保证解析电路在读取新的待发送命令时,命令行计数器重新开始对解析电路读取的新的待发送命令的命令行的行数进行计数。
在一种可能的实施方式中,所述分发电路还包括命令计数器,用于对与所述命令队列对应的当前已发送但未被处理完毕的命令进行计数;所述命令计数器与所述判断电路 连接。相应地,所述判断电路,还用于在接收到所述解析电路发送的所述第一标识后,从所述命令计数器中读取第二计数数值,并在所述第二计数数值大于预设数值的情况下,确定所述第二命令未被所述第二运算单元处理完毕。
这样,判断电路将从命令计数器读取的第二计数数值与预设数值进行比较,便可以知道与该判断电路对应的命令队列最近已发送的第二命令有没有被处理完毕。
在一种可能的实施方式中,所述命令分发装置中还包括与所述第一运算单元连接的第一运算单元信息缓存器;所述第一运算单元信息缓存器与多个命令队列分别对应的命令计数器连接。相应地,所述解析电路,还用于在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向所述命令行缓存器发送所述命令队列的命令队列标识。所述命令行缓存器,还用于在向与所述第一命令对应的第一运算单元发送所述当前命令行时,向所述第一运算单元信息缓存器发送所述命令队列标识。所述第一运算单元信息缓存器,用于接收所述命令队列标识;并在接收到所述第一运算单元将所述第一命令处理完毕后反馈的确认信息后,基于所述命令队列标识、以及所述确认信息,向所述命令队列标识对应的命令计数器发送第二计数指令。所述命令计数器,用于在接收到所述第一运算单元信息缓存器发送的第二计数指令后,将所述命令计数器的当前第二计数数值减少第二数值。
这样,运算单元信息缓存器可以在对应的运算单元将某一命令队列中已发送的命令处理完毕之后,向该命令队列对应的命令计数器发送第二计数指令,命令计数器接收到第二计数指令后,将当前的第二计数数值减少第二数值,表征该命令队列已发送的一个命令被处理完毕。
在一种可能的实施方式中,所述解析电路还与所述命令计数器连接;所述解析电路,还用于在监测到所述命令行缓存器将所述当前命令行向所述第一运算单元发送后,向所述命令计数器发送第三计数指令;所述命令计数器,还用于在接收到所述第三计数指令后,将所述第二计数数值增加第二数值。
这样,命令计数器可以记录对应的命令队列已经发送的命令的数量。
在一种可能的实施方式中,所述判断电路,还用于在确定所述第二命令未被所述第二运算单元处理完毕的情况下,监测所述命令计数器中的第二计数数值是否变化为预设数值;并在监测到所述命令计数器的第二计数数值变化为预设数值的情况下,向所述命令行缓存器发送启动指令。所述命令行缓存器,还用于在接收到所述启动指令后,向所述仲裁电路发送所述仲裁请求信号。
这样,判断电路可以实时在对应的命令队列最近已发送的第二命令被处理完毕后,通知命令行缓存器参与仲裁电路的仲裁,发送第一命令的首个命令行。
第二方面,本公开实施例还提供一种命令分发方法,应用于命令分发装置,所述命令分发装置包括至少一个分发电路、以及仲裁电路。其中,所述至少一个分发电路分别与所述仲裁电路连接。所述命令分发方法包括:所述至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取当前待发送的第一命令,并向所述仲裁电路发送仲裁请求信号;所述仲裁电路在接收到至少一个分发电路中各分发电路发送的仲裁请求信号后,对个所述分发电路进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路返回所述权限许可信号;所述至少一个分发电路中的每个分发电路,在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述第一命令。
在一种可能的实施方式中,所述至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取当前待发送的第一命令,包括:所述至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取所述第一命令的多个命令行中的 当前命令行。相应地,所述至少一个分发电路中的每个分发电路,向与所述第一命令对应的第一运算单元发送所述第一命令,包括:所述至少一个分发电路中的每个分发电路,向与所述第一命令对应的第一运算单元发送所述当前命令行。
在一种可能的实施方式中,所述至少一个分发电路中的每个分发电路向所述仲裁电路发送仲裁请求信号,包括:确定所述当前命令行是否为就绪状态;若是,则向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述当前命令行为就绪状态包括:所述当前命令行为所述第一命令中的非首行命令行;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述命令队列最近已发送的第二命令对应的第二运算单元相同;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述第二命令对应的第二运算单元不同,但所述第二命令被所述第二运算单元处理完毕。
在一种可能的实施方式中,所述分发电路包括解析电路、以及命令行缓存器;所述解析电路和所述命令行缓存器连接。所述至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取第一命令的多个命令行中的当前命令行,并向所述仲裁电路发送仲裁请求信号,包括:所述解析电路从所述命令队列中读取所述当前命令行,并向所述命令行缓存器发送所述当前命令行;所述命令行缓存器在接收所述解析电路发送的当前命令行后,向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述至少一个分发电路中的每个分发电路,在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述当前命令行,包括:所述命令行缓存器在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述当前命令行。
在一种可能的实施方式中,所述分发电路还包括命令行计数器;所述命令行计数器与所述解析电路连接;在从所述命令队列中读取所述当前命令行后,所述解析电路从所述命令行计数器读取第一计数数值,并在所述第一计数数值小于当前计数阈值且大于原始数值的情况下,确定所述当前命令行为所述第一命令中的非首行命令行。其中,所述当前计数阈值,是基于所述第一命令的命令行行数确定的。
在一种可能的实施方式中,在确定所述当前命令行为所述第一命令中的非首行命令行后,所述解析电路向所述命令行计数器发送第一计数指令;所述命令行计数器接收所述解析电路发送的第一计数指令,将所述第一计数数值增加第一数值。
在一种可能的实施方式中,所述分发电路还包括判断电路;所述判断电路分别与所述解析电路、和所述命令缓存器相连;确定所述当前命令行为所述第一命令中的首行命令行后,所述解析电路从所述首行命令行中解析所述第一命令对应所述第一运算单元的第一标识,并向所述判断电路发送所述第一标识;所述判断电路接收所述解析电路发送的所述第一标识,并在判断所述第一标识和所述命令队列最近已发送的第二命令对应的第二运算单元的第二标识不一致、且所述第二命令未被所述第二运算单元处理完毕的情况下,向所述命令行缓存器发送暂停指令;所述命令行缓存器在接收到所述判断电路发送的所述暂停指令的情况下,暂停向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述命令分发方法还包括:所述解析电路在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向命令行计数器发送重置指令;所述命令行计数器接收所述解析电路发送的重置指令,将所述命令行计数器对应的第一计数数值重置为原始数值后,增加第一数值。
在一种可能的实施方式中,所述分发电路还包括命令计数器,用于对与所述命令队 列对应的当前已发送但未被处理完毕的命令进行计数;所述命令计数器与所述判断电路连接;在接收所述解析电路发送的所述第一标识后,所述判断电路从所述命令计数器中读取第二计数数值,并在所述第二计数数值大于预设数值的情况下,确定所述第二命令未被所述第二运算单元处理完毕。
在一种可能的实施方式中,所述命令分发装置中还包括与所述第一运算单元连接的第一运算单元信息缓存器;所述第一运算单元信息缓存器与多个命令队列分别对应的命令计数器连接。所述命令分发方法还包括:所述解析电路在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向所述命令行缓存器发送所述命令队列的命令队列标识;所述行缓存器在向与所述第一命令对应的第一运算单元发送所述当前命令行时,向所述第一运算单元信息缓存器发送所述命令队列标识;所述第一运算单元信息缓存器接收所述命令队列标识,并在接收到所述第一运算单元将所述第一命令处理完毕后反馈的确认信息后,基于所述命令队列标识、以及所述确认信息,向所述命令队列标识对应的命令计数器发送第二计数指令;所述命令计数器在接收到所述第一运算单元信息缓存器发送的第二计数指令后,将所述命令计数器的当前第二计数数值减少第二数值。
在一种可能的实施方式中,所述解析电路还与所述命令计数器连接。所述命令分发方法还包括:所述解析电路在监测到所述命令行缓存器将所述当前命令行向所述第一运算单元发送后,向所述命令计数器发送第三计数指令;所述命令计数器在接收到所述第三计数指令后,将所述第二计数数值增加第二数值。
在一种可能的实施方式中,所述命令分发方法还包括:所述判断电路在确定所述第二命令未被所述第二运算单元处理完毕的情况下,监测所述命令计数器中的第二计数数值是否变化为预设数值,并在监测到所述命令计数器的第二计数数值变化为预设数值的情况下,向所述命令行缓存器发送启动指令;所述命令行缓存器在接收到所述启动指令后,向所述仲裁电路发送所述仲裁请求信号。
第三方面,本公开可选实现方式还提供一种芯片,包括:如上述第一方面、或第一方面任一项所述的命令分发装置。
第四方面,本公开可选实现方式还提供一种计算机设备,包括:指令存储器和如上述第三方面所述的芯片。
第五方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第二方面、或第二方面任一项所述的命令分发方法的步骤。
关于上述命令分发方法、芯片、计算机设备及存储介质的效果描述参见上述命令分发装置的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定。本领域普通技术人员在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的命令分发装置的示意图;
图2示出了本公开实施例提供的一种分发电路的结构示意图;
图3示出了本公开实施例所提供的一种命令分发方法的流程图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述。所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,微控制单元进行命令分发时,将命令发送给命令分发单元,命令分发单元接收到命令后,利用部署在命令分发单元中的软件程序,将命令分发给各个运算单元。但是随着深度学习的模型大小急剧增加、以及模型结构越来越复杂,命令的数量也变得庞大,命令分发软件对大数量的命令进行分发时需要大量的资源开销,分发效率低。
基于上述研究,本公开提供了一种硬件构成的命令分发装置,通过硬件电路对命令进行分发,减少资源开销,同时提高命令分发的效率。
以上均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本公开实施例所述的连接是指硬件电路之间的连接。例如通过线路将不同的电路模块(例如分发电路、仲裁电路)接通,以使得不同的电路模块可以通过线路传递电平信号(例如高电平、低电平)。不同的电平信号的组合按照约定可以表征不同的含义。例如数字1代表高电平,数字0代表低电平。两个电路模块之间可以通过设置多路电信号传递线路,在传递不同的信号时,控制不同线路传递不同的电平信号,不同电平信号的组合形成不同的二进制数。例如三个线路,在某个处理周期发送的电平信号分别为高电平、低电平、高电平,则形成的二进制数为101。不同的二进制数根据定义代表不同的含义。
下面对本公开实施例所述的一些名词进行解释说明:
本公开实施例所述的命令队列、命令行缓存器、运算单元信息缓存器,为具有存储功能的电子元件。
本公开实施例所述的运算单元,为可以实现不同的运算的硬件电路,例如包括进行乘加运算的卷积运算单元、进行视屏编码解码的编解码运算单元等。每一运算单元都与总线连接。
本公开实施例所述的命令,例如为一个命令包,每一命令中包含多个命令行。其中,首行命令行又称为包头行,在包头行中携带了命令要发往的运算单元的标识。命令分发装置基于该标识,将命令分发至对应的运算单元。另外,首行命令行中还包括了该命令所包括的命令行的行数。示例性的,首行命令行的前三个比特位代表该命令要被发送到的运算单元的标识、第四个比特位和第五个比特位表示该命令包含的命令行的行数。在除包头行外的其他命令行中,携带了该命令的具体信息,如命令要执行的操作、操作数的地址、命令状态等。命令的具体信息,根据不同的命令可能会有所不同,本公开实施例不做限定。
命令行计数器、命令计数器为具有计数功能的电子元件。
解析电路、仲裁电路为通过电子元件的连接、以及电平信号(例如高电平、低电平)的传递实现对应功能的硬件电路。
参见图1所示,为本公开实施例提供的命令分发装置的示意图,所述命令分发装置包括至少一个分发电路10-0~10-n(以下统称为分发电路10)以及仲裁电路20。
其中,至少一个分发电路10中的每个分发电路10,用于从与该分发电路10对应的命令队列中读取当前待发送的命令,并向仲裁电路20发送仲裁请求信号;在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后,向与第一命令对应的第一运算单元发送第一命令。
仲裁电路20,用于在接收到至少一个分发电路中各分发电路10发送的仲裁请求信号后,对各分发电路10进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路10返回权限许可信号。
其中,每一分发电路10都与仲裁电路20连接,且每一分发电路10分别与对应的命令队列连接;分发电路10在整个分发装置中的数量例如是固定的,每个分发电路10都连接一个命令队列;在一些情况下,某些分发电路10不会被启用,如当前需要执行的命令流的数量少于命令队列的数量时,仅有部分命令队列中存储有待发送命令。
本公开实施例中每个分发电路从与该分发电路连接的命令队列中读取当前待发送的第一命令,并向仲裁电路发送仲裁请求信号;仲裁电路在接收到各个分发电路发送的仲裁请求信号后,对各分发电路进行权限仲裁,并基于权限仲裁的结果向获得发送权限的分发电路返回权限许可信号;接收到仲裁电路发送的权限许可信号的分发电路,向与第一命令对应的第一运算单元发送第一命令。这样,通过由硬件电路构成的命令分发装置实现对命令的分发,可有效减少资源的开销,提高了分发效率。
下面对本公开实施例所述的命令分发装置进行详细介绍。
针对分发电路10,从与该分发电路对应的命令队列中读取当前待发送的第一命令时,例如从与该分发电路对应的命令队列中读取第一命令的多个命令行中的当前命令行,在向与第一命令对应的第一运算单元发送第一命令时,例如向与第一命令对应的第一运算单元发送当前命令行。
分发电路10在向仲裁电路20发送仲裁请求信号时,例如可以采用下述方式A1或者A2中任一种:
方式A1:分发电路10在从对应的命令队列中读取当前命令行后,即向仲裁电路20发送仲裁请求信号。
方式A2:分发电路10在从对应的命令队列中读取当前命令行后,确定当前命令行是否为就绪状态。如果是就绪状态,则向仲裁电路20发送仲裁请求信号;如果不是就绪状态,则不向仲裁电路20发送仲裁请求信号,直到其变化至就绪状态为止。
此处,当前命令行为就绪状态,表示可以将当前命令行向对应的第一运算单元发送。该就绪状态例如包括下述状态(1)~(3)中任一种:
状态(1)当前命令行为第一命令中的非首行命令行。
对于某个命令而言,其所有命令行被全部发送至对应的运算单元后,运算单元才会基于该命令处理对应的任务,因此,若当前命令行为非首行命令行,可以继续将非首行命令行向对应的运算单元发送。因而,在当前命令行为非首行命令行的情况下,认为其处于就绪状态。
状态(2)当前命令行为第一命令中的首行命令行,且第一命令对应的第一运算单元、 与命令队列最近已发送的第二命令对应的第二运算单元相同。
状态(3)当前命令行为第一命令中的首行命令行,且第一命令对应的第一运算单元、与命令队列最近已发送的第二命令对应的第二运算单元不同,但第二命令被第二运算单元处理完毕。
此处,对于属于同一命令队列的不同命令,其是具有先后处理顺序的;在很多情况下,后一命令的处理,需要在前一命令被处理完毕后才可以处理;因此,为了保证属于同一命令队列的不同命令之间的处理顺序,若不同命令被发送至不同的运算单元,就需要前一命令对应的运单元将该前一命令处理完毕后,再将后一命令向该后一命令对应的运算单元发送。
若不同命令被发送至相同的运算单元,由于运算单元在处理完一个命令后才会处理另一命令,因此在前一命令未被处理完毕的情况下,就可以将后一命令中的各命令行向同一运算单元发送,这样,也能够保证同一命令队列的不同命令之间的处理顺序。
因此,在上述状态(2)中,在第一运算单元与第二运算单元相同的情况下,将当前命令行确定为就绪状态;在上述状态(3)中,在第一运算单元和第二运算单元不同,且第二命令被第二运算单元处理完毕的情况下,将当前命令行确定为就绪状态。
分发电路10,在向第一运算单元发送当前命令行时,例如可以判断当前命令行是否为首行命令行;在当前命令行为首行命令行的情况下,从首行命令行中解析携带的第一标识。然后利用该第一标识,向与第一标识对应的第一运算单元发送该首行命令行。另外,分发电路10还会在从首行命令行中解析得到第一标识后,还可以记录该第一标识;在当前命令行为非首行命令行时,利用记录的第一标识,向第一标识对应的第一运算单元发送该当前命令行。
具体判断当前命令行是否为首行命令行的方式参见下述实施例所示,在此不再赘述。
在命令分发装置中,还可以包括命令分发接口30;分发电路10可以与该命令分发接口30连接,其在向第一运算单元发送当前命令行时,可以将当前命令行和第一标识一起发送给命令分发接口30。相应地,命令分发接口30与总线连接,可基于第一标识,通过总线,将当前命令行发送给与总线连接的第一运算单元。
另外,命令分发接口30还可以与仲裁电路20连接;分发电路10在获得接收到权限许可信号后,将当前命令行和第一标识一起发送给仲裁电路20;仲裁电路20将当前命令行和第一标识一起发送给命令分发接口30,然后由命令分发接口30基于第一标识,通过总线将当前命令行发送给与总线连接的第一运算单元。
命令分发接口30可例如和总线的总线接口连接。命令分发接口30将当前命令行和第一标识一起发送给总线接口,由总线接口通过总线、以及第一标识,将当前命令行发送给第一运算单元。
图2为公开实施例提供一种分发电路10的结构示意图,在该实施例中,分发电路10包括解析电路101、以及命令行缓存器102。解析电路101和命令行缓存器102连接。
解析电路101,用于从命令队列中读取当前命令行,并向命令行缓存器102发送当前命令行。
命令行缓存器102,用于在接收解析电路101发送的当前命令行后,向仲裁电路20发送仲裁请求信号;在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后,向与第一命令对应的第一运算单元发送当前命令行。
针对解析电路101,参见图2所示,每一解析电路101与对应的命令队列连接,如图2中的解析电路0与命令队列0连接,解析电路1与命令队列1连接;解析电路101与对应的命令行缓存器102连接,例如图2中解析电路0与命令行缓存器0连接,解析 电路1与命令行缓存器1连接。
解析电路101读取命令队列的过程例如包括:解析电路101监测其与命令队列之间电平状态,并监测其与命令行缓存器102之间的电平状态;当检测到与命令队列之间的电平状态表征命令队列中存在待发送命令,且与命令行缓存器102之间的电平状态表征命令行缓存器102为空,则从命令队列中读取当前命令行。
另外,解析电路101读取命令队列的过程还可以包括:命令队列在存储有待发送命令时,向解析电路101发送第一电平信号,该第一电平信号表征在命令队列中存储有待发送命令;解析电路101在接收到该第一电平信号后,向命令行缓存器102发送第二电平信号,命令行缓存器102接收到第二电平信号后,在命令行缓存器102中没有存储任何命令行的情况下,向解析电路101发送第三电平信号,解析电路101在接收到第三电平信号后,向命令队列反馈第四电平信号,命令队列接收到第四电平信号后,向解析电路101发送待发送命令的多个命令行中的当前命令行。
命令行缓存器102存储有命令行的情况下,则向解析电路101反馈第五电平信号,解析电路101在接收到该第五电平信号后向命令队列反馈第六电平信号,命令队列接收到第六电平信号后,继续向解析电路101发送第一电平信号,直至收到解析电路101反馈的第四电平信号。
需要说明的是,上述发送第一电平信号、第二电平信号、第三电平信号、第四电平信号、第五电平信号、第六电平信号可以是一个传输状态,也可以是对应的电路模块保持该电平信号对应的状态。例如,命令队列向解析电路101发送的第一电平信号是高电平,则可以是命令队列在每个时钟周期向解析电路101发送一次高电平,也可以是命令队列一直保持高电平状态。
分发电路10读取到当前命令行之后,可以在确定当前命令行为就绪状态的情况下,向仲裁电路20发送仲裁请求信号。当前命令行对应的就绪状态,可以参见上述状态(1)~(3)任一项,在此不再赘述。
在本公开另一实施例中,分发电路10还包括命令行计数器103;命令行计数器103与解析电路101连接。
解析电路101,用于从命令队列中读取当前命令行后,从命令行计数器103读取第一计数数值;在第一计数数值小于当前计数阈值,且大于原始数值的情况下,确定当前命令行为第一命令中的非首行命令行。
其中,当前计数阈值,是基于第一命令的命令行行数确定的。
且当前计数阈值与命令行缓存器102的原始数值有关。具言之,对于同一命令,例如原始数值为m,且该命令的命令行数量为n时,则该当前计数阈值可以为m+n;原始数值可以根据实际情况设定,例如原始数值可以设置为0,或者1等,具体可以根据实际的需要进行设定。
解析电路101从命令队列中读取当前命令行,并在确定当前命令行为第一命令中的非首行命令行的情况下,向命令行缓存器102发送当前命令行,如图2中④所示;命令行缓存器102,在接收解析电路101发送的当前命令行后,向仲裁电路20发送仲裁请求信号如图2中⑤所示。
另外,解析电路101从命令队列中读取当前命令行后,从命令行计数器103读取第一计数数值,如图2中①、③所示;解析电路101在读取第一计数数值后,在确定了当前命令行为第一命令中的非首行命令行后,向命令行计数器103发送第一计数指令,如图2中②所示;命令行计数器103接收到解析电路101发送的第一计数指令后将第一计数数值增加第一数值。
其中,第一数值根据具体应用情况设定,例如针对记录解析电路101读取的命令行的行数,第一数值例如为1。
解析电路101读取的第一计数数值小于当前计数阈值的情况下,确定当前命令行为第一命令中的非首行命令行,此时为上述状态(1)对应的就绪状态。
本公开另一实施例中,解析电路101读取的第一计数数值等于当前计数阈值,或等于原始数值的情况下,解析电路101确定当前命令行为第一命令中的首行命令行,并向命令行计数器103发送重置指令,如图2中的⑥所示;命令行计数器103接收到解析电路101发送的重置指令后,将当前命令行计数器103对应的第一计数数值重置为原始数值后增加第一数值。
参见图2所示,本公开另一实施例中,分发电路10还包括了判断电路104。
解析电路101与判断电路104连接。
解析电路101,还用于在确定当前命令行为第一命令中的首行命令行的情况下,从首行命令行中解析第一命令对应第一运算单元的第一标识,并向判断电路104发送第一标识,以及向命令行缓存器102发送当前命令行;
判断电路104,用于接收解析电路101发送的第一标识,并在判断第一标识和命令队列最近已发送的第二命令对应的第二运算单元的第二标识不一致、且第二命令未被第二运算单元处理完毕的情况下,向命令行缓存器102发送暂停指令;
命令行缓存器102,还用于在接收到判断电路104发送的暂停指令的情况下,暂停向仲裁电路20发送仲裁请求信号。
另一实施例中,在分发电路10中还包括命令计数器105。命令计数器105与判断电路连接104;
判断电路104,还用于在接收到解析电路101发送的第一标识后,从命令计数器105中读取第二计数数值,并在第二计数数值大于预设数值的情况下,确定第二命令未被第二运算单元处理完毕;
其中,命令计数器105,用于对与命令队列对应的当前已发送但未被处理完毕的命令进行计数。
示例性的,如图2所示,解析电路101与判断电路104、以及命令计数器105连接,命令计数器105与判断电路104连接;在当前命令行为第一命令中的首行命令行的情况下,解析电路101从首行命令行中解析第一命令对应第一运算单元的第一标识,并向判断电路104发送第一标识,如图2中的⑦所示,以及向命令行缓存器102发送当前命令行、第一标识,如图2中的⑧所示;其中,第一标识例如为一个二进制数组,用于表征第一运算单元的地址。
判断电路104在接收到解析电路101发送的第一标识后,在确定第一标识和该命令队列最近已发送的第二命令对应的第二运算单元的第二标识一致的情况下即为上述状态(2)所述的就绪状态,判断电路104保持在一个固定的电平信号例如高电平。当判断电路104保持在高电平时,命令行缓存器102在接收到解析电路101发送的当前命令行、第一标识后,向仲裁电路20发送仲裁请求信号如图2中⑨所示。其中,第二标识例如为一个二进制数组,用于表征第二运算单元的地址。
本公开另一实施例中,判断电路104在接收到解析电路101发送的第一标识后,从命令计数器105中读取第二计数数值,在第二计数数值等于预设数值的情况下,确定第二命令已经被第二运算单元处理完毕,且在第一标识和该第二命令对应的第二运算单元的第二标识不一致的情况下即为上述状态(3)所述的就绪状态,判断电路104保持在一个固定的电平信号例如高电平。当判断电路104保持在高电平时,命令行缓存器102 在接收到解析电路101发送的当前命令行、第一标识后,向仲裁电路20发送仲裁请求信号如图2中⑨所示。
本公开另一实施例中,判断电路104在接收到解析电路101发送的第一标识后,从所述命令计数器105中读取第二计数数值,在第二计数数值大于预设数值的情况下,确定第二命令未被第二运算单元处理完毕,且当第一标识和该第二命令对应的第二运算单元的第二标识不一致的情况下,判断电路104向命令行缓存器102发送暂停指令如图2中
Figure PCTCN2021138676-appb-000001
所示,命令行缓存器102在接收到判断电路104发送的暂停指令的情况下,暂停向仲裁电路20发送仲裁请求信号。
判断电路104在确定第二命令未被第二运算单元处理完毕的情况下,监测命令计数器105中的第二计数数值是否变化为预设数值;并在监测到命令计数器105的第二计数数值变化为预设数值的情况下,向命令行缓存器102发送启动指令如图2中
Figure PCTCN2021138676-appb-000002
所示;命令行缓存器102在接收到启动指令后,向仲裁电路20发送仲裁请求信号。
仲裁电路20在接收到各个命令行缓存器102发送的仲裁请求信号后,对各命令行缓存器102进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的命令行缓存器102返回权限许可信号(例如高电平)如图2中
Figure PCTCN2021138676-appb-000003
所示。
命令行缓存器102在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后,向与第一命令对应的第一运算单元发送当前命令行。
在一种可能的实施方式中,命令行缓存器102在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后向仲裁电路20发送当前命令行、以及第一运算单元的第一标识如图2中
Figure PCTCN2021138676-appb-000004
所示;仲裁电路20在接收到当前命令行、以及第一标识后,向命令分发接口30发送当前命令行、以及第一标识如图2中
Figure PCTCN2021138676-appb-000005
所示;命令分发接口30在接收到当前命令行、以及第一标识后,向总线接口发送当前命令行、以及第一标识如图2中
Figure PCTCN2021138676-appb-000006
所示;总线接口在接收到当前命令行、以及第一标识后,基于第一标识向第一运算单元发送当前命令行。
其中,总线与每一运算单元连接,总线通过每一运算单元的标识选择出需要进行通信的运算单元。
在另一种可能的实施方式中,命令行缓存器102与命令分发接口30连接;命令行缓存器102在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后,向命令分发接口30发送当前命令行、以及第一标识;命令分发接口30在接收到当前命令行、以及第一标识后,向总线接口发送当前命令行、以及第一标识;总线接口在接收到当前命令行、以及第一标识后,基于第一标识向第一运算单元发送当前命令行。
参见图2所示,本公开另一实施例中,命令分发装置还包括运算单元信息缓存器40;运算单元信息缓存器与多个命令队列分别对应的命令计数器连接,且运算单元信息缓存器与对应的运算单元连接;
命令行缓存器102与运算单元信息缓存器40连接;解析电路101在确定当前命令行为第一命令中的首行命令行的情况下向命令行缓存器102发送命令队列的命令队列标识;命令行缓存器102在向与第一命令对应的第一运算单元发送当前命令行时,向第一运算单元信息缓存器发送命令队列标识;其中,第一运算单元信息缓存器为与第一运算单元连接的运算单元信息缓存器40。
本公开另一实施例中,仲裁电路20与运算单元信息缓存器40连接;命令行缓存器102向仲裁电路20发送当前命令行、第一标识、以及命令队列标识;仲裁电路20向命令分发接口30发送当前命令行、第一标识时,向第一运算单元信息缓存器发送命令队列标识如图2中
Figure PCTCN2021138676-appb-000007
所示。
第一运算单元信息缓存器接收命令队列标识;并在接收到第一运算单元将第一命 令处理完毕后反馈的确认信息如图2中
Figure PCTCN2021138676-appb-000008
所示后,基于命令队列标识、以及确认信息,向命令计数器105发送第二计数指令如图2中
Figure PCTCN2021138676-appb-000009
所示;命令计数器105在接收到第一运算单元信息缓存器发送的第二计数指令后,将命令计数器105的当前第二计数数值减少第二数值。
运算单元在将命令处理完毕之后,向运算单元信息缓存器40反馈的确认信息,可例如为确认字符(Acknowledge character,ACK)。
这样,命令计数器105能够实现对与命令队列对应的当前已发送但未被处理完毕的命令进行计数。
需要说明的是,图2中的
Figure PCTCN2021138676-appb-000010
不代表具体的处理顺序,只是为了说明分发电路10获取的当前命令行是当前待发送的第一命令中的首行命令行或非首行命令行这两种情况下的处理逻辑。
另外,仲裁电路20每次仲裁后,只会给一个命令行缓存器102返回权限许可信号,也即总线的使用权只能同时给一个命令行缓存器102。仲裁电路20的仲裁逻辑可以基于与仲裁电路20连接的寄存器去定义,例如通过对命令队列的等级划分来仲裁,或者基于轮询的方式仲裁,这里不做限定。
本领域技术人员可以理解,在具体实施方式的上述装置中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与命令分发装置对应的命令分发方法,由于本公开实施例中的装置解决问题的原理与本公开实施例上述命令分发装置相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
本公开实施例所提供的命令分发方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:命令分发装置、终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该命令分发方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参照图3所示,为本公开实施例提供的一种命令分发方法的流程图,包括:
S301:至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取当前待发送的第一命令;向仲裁电路发送仲裁请求信号;
S302:仲裁电路在接收到至少一个分发电路中各分发电路发送的仲裁请求信号后,对各分发电路进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路返回权限许可信号;
S303:至少一个分发电路中的每个分发电路,在接收到仲裁电路基于仲裁请求信号返回的权限许可信号后,向与第一命令对应的第一运算单元发送第一命令。
在一种可能的实施方式中,分发电路从与该分发电路对应的命令队列中读取当前待发送的第一命令,包括:从与该分发电路对应的命令队列中读取第一命令的多个命令行中的当前命令行。另外,分发电路向与所述第一命令对应的第一运算单元发送所述第一命令,包括:向与所述第一命令对应的第一运算单元发送所述当前命令行。
在一种可能的实施方式中,分发电路向所述仲裁电路发送仲裁请求信号,包括:确定所述当前命令行是否为就绪状态;若是,则向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述当前命令行为就绪状态包括:所述当前命令行为 所述第一命令中的非首行命令行;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述命令队列最近已发送的第二命令对应的第二运算单元相同;或者,所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述第二命令对应的第二运算单元不同,但所述第二命令被所述第二运算单元处理完毕。
在一种可能的实施方式中,所述分发电路包括解析电路、以及命令行缓存器;所述解析电路和所述命令行缓存器连接。相应地,分发电路从与该分发电路对应的命令队列中读取第一命令的多个命令行中的当前命令行,并向所述仲裁电路发送仲裁请求信号,包括:所述解析电路从所述命令队列中读取所述当前命令行,并向所述命令行缓存器发送所述当前命令行;所述命令行缓存器在接收所述解析电路发送的当前命令行后,向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,分发电路在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述当前命令行,包括:所述命令行缓存器在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述当前命令行。
在一种可能的实施方式中,所述分发电路还包括命令行计数器;所述命令行计数器与所述解析电路连接。相应地,所述解析电路从所述命令队列中读取所述当前命令行后,还从所述命令行计数器读取第一计数数值;在所述第一计数数值小于当前计数阈值且大于原始数值的情况下,所述解析电路确定所述当前命令行为所述第一命令中的非首行命令行;其中,所述当前计数阈值,是基于所述第一命令的命令行行数确定的。
在一种可能的实施方式中,在确定所述当前命令行为所述第一命令中的非首行命令行后,所述解析电路向所述命令行计数器发送第一计数指令;所述命令行计数器接收所述解析电路发送的第一计数指令,将所述第一计数数值增加第一数值。
在一种可能的实施方式中,所述分发电路还包括判断电路;所述判断电路分别与所述解析电路、和所述命令缓存器相连;在确定所述当前命令行为所述第一命令中的首行命令行后,所述解析电路从所述首行命令行中解析所述第一命令对应所述第一运算单元的第一标识,并向所述判断电路发送所述第一标识;所述判断电路接收所述解析电路发送的所述第一标识,并在判断所述第一标识和所述命令队列最近已发送的第二命令对应的第二运算单元的第二标识不一致、且所述第二命令未被所述第二运算单元处理完毕的情况下,向所述命令行缓存器发送暂停指令;所述命令行缓存器在接收到所述判断电路发送的所述暂停指令的情况下,暂停向所述仲裁电路发送所述仲裁请求信号。
在一种可能的实施方式中,所述命令分发方法还包括:所述解析电路在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向命令行计数器发送重置指令;所述命令行计数器接收所述解析电路发送的重置指令,将所述命令行计数器对应的第一计数数值重置为原始数值后,增加第一数值。
在一种可能的实施方式中,所述分发电路还包括命令计数器;所述命令计数器与所述判断电路连接;在接收所述解析电路发送的所述第一标识后,所述判断电路从所述命令计数器中读取第二计数数值,并在所述第二计数数值大于预设数值的情况下,确定所述第二命令未被所述第二运算单元处理完毕;其中,所述命令计数器对与所述命令队列对应的当前已发送但未被执行完毕的命令进行计数。
在一种可能的实施方式中,所述命令分发装置中还包括与所述第一运算单元连接的第一运算单元信息缓存器;所述第一运算单元信息缓存器与多个命令队列分别对应的命令计数器连接;在确定所述当前命令行为所述第一命令中的首行命令行的情况下,所述解析电路向所述命令行缓存器发送所述命令队列的命令队列标识;所述命令行缓存器在向与所述第一命令对应的第一运算单元发送所述当前命令行时,向所述第一运算单元 信息缓存器发送所述命令队列标识;所述第一运算单元信息缓存器接收所述命令队列标识,并在接收到所述第一运算单元将所述第一命令执行完毕后反馈的确认信息后,基于所述命令队列标识、以及所述确认信息,向所述命令队列标识对应的命令计数器发送第二计数指令;所述命令计数器在接收到所述第一运算单元信息缓存器发送的第二计数指令后,将所述命令计数器的当前第二计数数值减少第二数值。
在一种可能的实施方式中,所述解析电路还与所述命令计数器连接;所述命令分发方法还包括:所述解析电路在监测到所述命令行缓存器将所述当前命令行向所述第一运算单元发送后,向所述命令计数器发送第三计数指令;所述命令计数器在接收到所述第三计数指令后,将所述第二计数数值增加第二数值。
在一种可能的实施方式中,所述命令分发方法还包括:所述判断电路在确定所述第二命令未被所述第二运算单元处理完毕的情况下,监测所述命令计数器中的第二计数数值是否变化为预设数值;并在监测到所述命令计数器的第二计数数值变化为预设数值的情况下,向所述命令行缓存器发送启动指令;所述命令行缓存器在接收到所述启动指令后,向所述仲裁电路发送所述仲裁请求信号。
关于方法的处理流程可以参照上述装置实施例中的相关说明,这里不再详述。
本公开实施例提供一种命令分发过程的具体示例,包括:
步骤1:解析电路101从命令队列中读取当前待发送的第一命令中的当前命令行,并在读取了当前命令行后,从命令行计数器103中读取第一计数数值。
步骤2:解析电路101将第一计数数值和当前计数阈值进行比对。如果第一计数数值小于当前计数阈值,且大于原始数值,则跳转到步骤3;如果第一计数数值等于当前计数阈值或者等于原始数值,则跳转至步骤11。
步骤3:解析电路101将当前命令行、以及第一命令对应的第一运算单元的第一标识发送给命令行缓存器102。并向命令行计数器103发送第一计数指令。
步骤4:命令行计数器103根据第一计数指令将当前第一计数数值增加第一数值。
步骤5:命令行缓存器102在接收到解析电路发送的当前命令行、以及第一命令对应的第一运算单元的第一标识后,向仲裁电路发送仲裁请求信号。
步骤6:承接上述步骤5,仲裁电路20接收到各个命令行缓存器104发送的仲裁请求信号后,对各命令行缓存器102进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的命令行缓存器102返回权限许可信号,跳转至步骤7或者跳转至步骤8。
步骤7:命令行缓存器102在接收到仲裁电路20发送的权限许可信号后,向命令分发接口30发送当前命令行、以及第一命令对应的第一运算单元的第一标识,跳转至步骤9。在该种情况下,命令行缓存器102通过仲裁电路,和命令分发接口30连接。
步骤8:命令行缓存器102在接收到仲裁电路20发送的权限许可信号后,向仲裁电路20发送当前命令行、以及第一命令对应的第一运算单元的第一标识,仲裁电路接收到当前命令行、以及第一命令对应的第一运算单元的第一标识后,向命令分发接口30发送当前命令行、以及第一命令对应的第一运算单元的第一标识。在该种情况下,命令行缓存器102直接和命令分发接口30连接。
其中,步骤7和步骤8为两种互斥的可能的实施方式。
步骤9:承接上述步骤7或者步骤8,命令分发接口30在接收到当前命令行、以及第一命令对应的第一运算单元的第一标识后,向总线接口发送当前命令行、第一命令对应的第一运算单元的第一标识。
步骤10:总线接口在接收到命令分发接口30发送的当前命令行、以及第一命令对 应的第一运算单元的第一标识后,基于第一标识,向第一运算单元发送当前命令行,跳转至步骤24。
步骤11:承接上述步骤2,解析电路101解析当前命令行得到第一命令对应的第一运算单元的第一标识,向命令行缓存器102发送当前命令行、以及第一标识;向判断电路104发送第一标识。
步骤12:命令行计数器103接收到解析电路101发送的重置指令后,将当前命令行计数器103对应的第一计数数值重置为原始数值后增加第一数值。
步骤13:判断电路104接收到解析电路101发送的第一标识后,读取命令计数器105的第二计数数值,将第二计数数值与预设数值进行比较,在第二计数数值等于预设数值的情况下,跳转至步骤14,在第二计数数值不等于预设数值的情况下,跳转至步骤21。
步骤14:命令行缓存器102在接收到解析电路发送的当前命令行、以及第一命令对应的第一运算单元的第一标识后,向仲裁电路发送仲裁请求信号。
步骤15:仲裁电路20接收到各个命令行缓存器104发送的仲裁请求信号后,对各命令行缓存器102进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的命令行缓存器102返回权限许可信号,跳转至步骤16或者跳转至步骤17。
步骤16:命令行缓存器102在接收到仲裁电路20发送的权限许可信号后,向命令分发接口30发送当前命令行、以及第一命令对应的第一运算单元的第一标识,向第一运算单元信息缓存器发送当前命令行所在命令队列的命令队列标识,跳转至步骤18。
步骤17:命令行缓存器102在接收到仲裁电路20发送的权限许可信号后,向仲裁电路20发送当前命令行、第一命令对应的第一运算单元的第一标识,以及当前命令行所在命令队列的命令队列标识;仲裁电路接收到当前命令行、第一命令对应的第一运算单元的第一标识、以及当前命令行所在命令队列的命令队列标识后,向命令分发接口30发送当前命令行、第一命令对应的第一运算单元的第一标识,并向第一运算单元信息缓存器发送当前命令行所在命令队列的命令队列标识。
其中,步骤16和步骤17为两种互斥的可能的实施方式。
步骤18:命令行缓存器102在发送当前命令行之后,向解析电路101反馈已发送的反馈信息。
步骤19:解析电路101在接收到命令行缓存器102反馈已发送的反馈信息后,向命令计数器105发送第三计数指令。
步骤20:命令计数器105接收到解析电路101发送的第三计数指令后,控制命令计数器105当前的第二计数数值增加第二数值,跳转至步骤9。
步骤21:判断电路104将第一标识与最近已发送的第二命令对应的第二运算单元的第二标识比较,判断第一标识与第二标识是否一致,是,跳转至步骤14,否,跳转至步骤22。
步骤22:判断电路104向命令行缓存器102发送暂停指令,并实时监测命令计数器105的第二计数数值,直至第二计数数值等于预设数值后,向命令行缓存器102发送启动指令。
步骤23:命令行缓存器102接收到判断电路104发送的暂停指令后,停止向仲裁电路20发送仲裁请求信号,直至接收到判断电路104发送的启动指令后,向仲裁电路发送仲裁请求信号,跳转至步骤15。
步骤24:第一运算单元在接收到第一命令并处理完毕后,向第一运算单元信息缓 存器反馈处理完毕的确认信息。
步骤25:第一运算单元信息缓存器接收到第一运算单元反馈的确认信息后,基于该被处理完毕的命令所在的命令队列标识向对应的命令计数器105发送第二计数指令。
步骤26:命令计数器105接收到第二计数指令后,控制命令计数器105当前的第二计数数值减少第二数值。
本公开实施例还提供了一种芯片,包括:如本公开任一实施例所述的命令分发装置。
上述命令分发装置的具体执行命令的具体过程可以参考本公开实施例中所述的命令分发方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机设备,包括本公开任一实施例提供的芯片。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的命令分发方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和方法的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (17)

  1. 一种命令分发装置,其特征在于,包括至少一个分发电路、以及仲裁电路;其中,所述至少一个分发电路分别与所述仲裁电路连接;
    所述至少一个分发电路中的每个分发电路,用于
    从与该分发电路对应的命令队列中读取当前待发送的第一命令,
    向所述仲裁电路发送仲裁请求信号;
    在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述第一命令;
    所述仲裁电路,用于
    在接收到所述至少一个分发电路中各分发电路发送的仲裁请求信号后,对各所述分发电路进行权限仲裁,并
    基于所述权限仲裁的结果,向获得发送权限的分发电路返回所述权限许可信号。
  2. 根据权利要求1所述的命令分发装置,其特征在于,
    所述至少一个分发电路中的每个分发电路,在从与该分发电路对应的命令队列中读取当前待发送的第一命令时,用于:从与该分发电路对应的命令队列中读取所述第一命令的多个命令行中的当前命令行;
    所述至少一个分发电路中的每个分发电路,在向与所述第一命令对应的第一运算单元发送所述第一命令时,用于:向与所述第一命令对应的第一运算单元发送所述当前命令行。
  3. 根据权利要求2所述的命令分发装置,其特征在于,所述分发电路,在向所述仲裁电路发送仲裁请求信号时,用于:
    确定所述第一命令中的当前命令行是否为就绪状态;
    若是,则向所述仲裁电路发送所述仲裁请求信号。
  4. 根据权利要求3所述的命令分发装置,其特征在于,所述当前命令行为就绪状态包括以下任一:
    所述当前命令行为所述第一命令中的非首行命令行;
    所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述命令队列最近已发送的第二命令对应的第二运算单元相同;
    所述当前命令行为所述第一命令中的首行命令行,且所述第一命令对应的所述第一运算单元、与所述第二命令对应的第二运算单元不同,但所述第二命令被所述第二运算单元处理完毕。
  5. 根据权利要求2-4任一项所述的命令分发装置,其特征在于,所述分发电路包括:解析电路、以及命令行缓存器;所述解析电路和所述命令行缓存器连接;
    所述解析电路,用于从所述命令队列中读取所述当前命令行,并向所述命令行缓存器发送所述当前命令行;
    所述命令行缓存器,用于
    在接收到所述解析电路发送的当前命令行后,向所述仲裁电路发送所述仲裁请求信号;
    在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所 述第一命令对应的第一运算单元发送所述当前命令行。
  6. 根据权利要求5所述的命令分发装置,其特征在于,所述分发电路还包括命令行计数器;所述命令行计数器与所述解析电路连接;所述解析电路,用于
    从所述命令队列中读取所述当前命令行后,从所述命令行计数器读取第一计数数值;
    在所述第一计数数值小于当前计数阈值且大于原始数值的情况下,确定所述当前命令行为所述第一命令中的非首行命令行;
    其中,所述当前计数阈值,是基于所述第一命令的命令行行数确定的。
  7. 根据权利要求6所述的命令分发装置,其特征在于,
    所述解析电路,还用于在确定所述当前命令行为所述第一命令中的非首行命令行后,向所述命令行计数器发送第一计数指令;
    所述命令行计数器,用于接收到所述解析电路发送的第一计数指令后,将所述第一计数数值增加第一数值。
  8. 根据权利要求5-7任一项所述的命令分发装置,其特征在于,所述分发电路还包括判断电路;所述判断电路分别与所述解析电路、和所述命令缓存器相连;
    所述解析电路,还用于:
    在确定所述当前命令行为所述第一命令中的首行命令行的情况下,从所述首行命令行中解析所述第一命令对应所述第一运算单元的第一标识,并
    向所述判断电路发送所述第一标识,以及
    向所述命令行缓存器发送所述当前命令行;
    所述判断电路,用于:
    接收所述解析电路发送的所述第一标识,并
    在判断所述第一标识和所述命令队列最近已发送的第二命令对应的第二运算单元的第二标识不一致、且所述第二命令未被所述第二运算单元处理完毕的情况下,向所述命令行缓存器发送暂停指令;
    所述命令行缓存器,还用于在接收到所述判断电路发送的所述暂停指令的情况下,暂停向所述仲裁电路发送所述仲裁请求信号。
  9. 根据权利要求8所述的命令分发装置,其特征在于,
    所述解析电路,还用于在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向所述命令行计数器发送重置指令;
    所述命令行计数器,用于接收到所述解析电路发送的重置指令后,将所述命令行计数器对应的第一计数数值重置为原始数值后,增加第一数值。
  10. 根据权利要求8或9所述的命令分发装置,其特征在于,所述分发电路还包括命令计数器,用于对与所述命令队列对应的当前已发送但未被处理完毕的命令进行计数;所述命令计数器与所述判断电路连接;
    所述判断电路,还用于
    在接收到所述解析电路发送的所述第一标识后,从所述命令计数器中读取第二计数数值,并
    在所述第二计数数值大于预设数值的情况下,确定所述第二命令未被所述第二运算单元处理完毕。
  11. 根据权利要求10所述的命令分发装置,其特征在于,所述命令分发装置还包括与所述第一运算单元连接的第一运算单元信息缓存器;所述第一运算单元信息缓存器与多个命令队列分别对应的命令计数器连接;
    所述解析电路,还用于在确定所述当前命令行为所述第一命令中的首行命令行的情况下,向所述命令行缓存器发送所述命令队列的命令队列标识;
    所述命令行缓存器,还用于在向与所述第一命令对应的第一运算单元发送所述当前命令行时,向所述第一运算单元信息缓存器发送所述命令队列标识;
    所述第一运算单元信息缓存器,用于:
    接收所述命令队列标识;并
    在接收到所述第一运算单元将所述第一命令处理完毕后反馈的确认信息后,基于所述命令队列标识、以及所述确认信息,向所述命令队列标识对应的命令计数器发送第二计数指令;
    所述命令计数器,用于在接收到所述第一运算单元信息缓存器发送的第二计数指令后,将所述命令计数器的当前第二计数数值减少第二数值。
  12. 根据权利要求10或11所述的命令分发装置,其特征在于,所述解析电路还与所述命令计数器连接;
    所述解析电路,还用于在监测到所述命令行缓存器将所述当前命令行向所述第一运算单元发送后,向所述命令计数器发送第三计数指令;
    所述命令计数器,还用于在接收到所述第三计数指令后,将所述第二计数数值增加第二数值。
  13. 根据权利要求8-12任一项所述的命令分发装置,其特征在于,
    所述判断电路,还用于
    在确定所述第二命令未被所述第二运算单元处理完毕的情况下,监测所述命令计数器中的第二计数数值是否变化为预设数值;并
    在监测到所述命令计数器的第二计数数值变化为预设数值的情况下,向所述命令行缓存器发送启动指令;
    所述命令行缓存器,还用于在接收到所述启动指令后,向所述仲裁电路发送所述仲裁请求信号。
  14. 一种命令分发方法,其特征在于,应用于命令分发装置,所述命令分发装置包括至少一个分发电路、以及仲裁电路;其中,所述至少一个分发电路分别与所述仲裁电路连接;所述命令分发方法包括:
    所述至少一个分发电路中的每个分发电路,从与该分发电路对应的命令队列中读取当前待发送的第一命令;向所述仲裁电路发送仲裁请求信号;
    所述仲裁电路在接收到至少一个分发电路中各分发电路发送的仲裁请求信号后,对个所述分发电路进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的分发电路返回所述权限许可信号;
    所述至少一个分发电路中的每个分发电路,在接收到所述仲裁电路基于所述仲裁请求信号返回的权限许可信号后,向与所述第一命令对应的第一运算单元发送所述第一命令。
  15. 一种芯片,其特征在于,包括:如权利要求1-13任一项所述的命令分发装置。
  16. 一种计算机设备,其特征在于,包括:
    指令存储器;和
    如权利要求15所述的芯片。
  17. 一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求14所述的命令分发方法的步骤。
PCT/CN2021/138676 2021-04-29 2021-12-16 用于命令分发的装置、方法、芯片、计算机设备及存储介质 WO2022227614A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110476240.9A CN113138801B (zh) 2021-04-29 2021-04-29 命令分发装置、方法、芯片、计算机设备及存储介质
CN202110476240.9 2021-04-29

Publications (1)

Publication Number Publication Date
WO2022227614A1 true WO2022227614A1 (zh) 2022-11-03

Family

ID=76816430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/138676 WO2022227614A1 (zh) 2021-04-29 2021-12-16 用于命令分发的装置、方法、芯片、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN113138801B (zh)
WO (1) WO2022227614A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816652A (zh) * 2021-01-29 2022-07-29 上海阵量智能科技有限公司 命令处理装置以及方法、电子设备、以及计算机存储介质
CN113138801B (zh) * 2021-04-29 2023-08-04 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质
CN114265717A (zh) * 2021-12-30 2022-04-01 上海阵量智能科技有限公司 指令同步装置、芯片和计算机设备,数据处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084255A1 (en) * 2001-10-29 2003-05-01 Yoshito Suzuki Memory control circuit and method for arbitrating memory bus
US6829689B1 (en) * 2002-02-12 2004-12-07 Nvidia Corporation Method and system for memory access arbitration for minimizing read/write turnaround penalties
CN105243033A (zh) * 2015-09-28 2016-01-13 联想(北京)有限公司 数据处理方法及电子设备
CN111800226A (zh) * 2020-06-30 2020-10-20 西安微电子技术研究所 一种基于硬件仲裁的边带管理电路及方法
CN113138802A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质
CN113138801A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084255A1 (en) * 2001-10-29 2003-05-01 Yoshito Suzuki Memory control circuit and method for arbitrating memory bus
US6829689B1 (en) * 2002-02-12 2004-12-07 Nvidia Corporation Method and system for memory access arbitration for minimizing read/write turnaround penalties
CN105243033A (zh) * 2015-09-28 2016-01-13 联想(北京)有限公司 数据处理方法及电子设备
CN111800226A (zh) * 2020-06-30 2020-10-20 西安微电子技术研究所 一种基于硬件仲裁的边带管理电路及方法
CN113138802A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质
CN113138801A (zh) * 2021-04-29 2021-07-20 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113138801A (zh) 2021-07-20
CN113138801B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
WO2022227614A1 (zh) 用于命令分发的装置、方法、芯片、计算机设备及存储介质
WO2022227693A1 (zh) 用于命令分发的装置、方法、芯片、计算机设备及介质
CN110750341B (zh) 任务调度方法、装置、系统、终端设备及存储介质
US20140068134A1 (en) Data transmission apparatus, system, and method
US9965412B2 (en) Method for application-aware interrupts management
CN113918101B (zh) 一种写数据高速缓存的方法、系统、设备和存储介质
JP2012521042A (ja) ウェブフロントエンドスロットリング
CN1926525A (zh) 多突发协议设备控制器
US20170351557A1 (en) Method, Apparatus, and Chip for Implementing Mutually-Exclusive Operation of Multiple Threads
EP1899827B1 (en) Device and method for executing a dma task
US9377966B2 (en) Method and apparatus for efficiently processing storage commands
CN115168256A (zh) 中断控制方法、中断控制器、电子设备、介质和芯片
US11061840B2 (en) Managing network interface controller-generated interrupts
CN103176941B (zh) 核间通信方法和代理装置
WO2021061514A1 (en) Processor and interrupt controller therein
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
WO2018106392A1 (en) Technologies for multi-core wireless network data transmission
US11552892B2 (en) Dynamic control of latency tolerance reporting values
US10078604B1 (en) Interrupt coalescing
US9563494B2 (en) Systems and methods for managing task watchdog status register entries
CN116136790A (zh) 任务处理方法和装置
CN116185649A (zh) 存储控制方法、存储控制器、存储芯片、网卡、可读介质
US10803007B1 (en) Reconfigurable instruction
CN113076138B (zh) 一种NVMe命令处理方法、设备及介质
CN115794446B (zh) 一种消息处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21939073

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21939073

Country of ref document: EP

Kind code of ref document: A1