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

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

Info

Publication number
CN113138801B
CN113138801B CN202110476240.9A CN202110476240A CN113138801B CN 113138801 B CN113138801 B CN 113138801B CN 202110476240 A CN202110476240 A CN 202110476240A CN 113138801 B CN113138801 B CN 113138801B
Authority
CN
China
Prior art keywords
command
circuit
sent
line
current
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110476240.9A
Other languages
English (en)
Other versions
CN113138801A (zh
Inventor
周琳
冷祥纶
孙海涛
张国栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology Co Ltd
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 Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202110476240.9A priority Critical patent/CN113138801B/zh
Publication of CN113138801A publication Critical patent/CN113138801A/zh
Priority to PCT/CN2021/138676 priority patent/WO2022227614A1/zh
Application granted granted Critical
Publication of CN113138801B publication Critical patent/CN113138801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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,以及仲裁电路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中所示,命令行缓存器102在接收到判断电路104发送的暂停指令的情况下,暂停向仲裁电路20发送仲裁请求信号。
判断电路104在确定最近已发送命令未被第二运算单元处理完毕的情况下,监测命令计数器105中的第二计数数值是否变化为预设数值;并在监测到命令计数器105的第二计数数值变化为预设数值的情况下,向命令行缓存器102发送启动指令如图2中命令行缓存器102在接收到启动指令后,向仲裁电路20发送仲裁请求信号。
仲裁电路20在接收到各个命令行缓存器102发送的仲裁请求信号后,对各命令行缓存器102进行权限仲裁,并基于权限仲裁的结果,向获得发送权限的命令行缓存器102返回权限许可信号(例如高电平)如图2中所示。
接收到仲裁电路20发送的权限许可信号的命令行缓存器102,在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后,向与当前待发送命令对应的第一运算单元发送当前命令行。
在一种可能的实施方式中,命令行缓存器102在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后向仲裁电路20发送当前命令行、以及第一运算单元的第一标识如图2中所示;仲裁电路20在接收到当前命令行、以及第一标识后,向命令分发接口30发送当前命令行、以及第一标识如图2中/>所示;命令分发接口30在接收到当前命令行、以及第一标识后,向总线接口发送当前命令行、以及第一标识如图2中/>所示;总线接口在接收到当前命令行、以及第一标识后,基于第一标识向第一运算单元发送当前命令行。
其中,总线与每一运算单元连接,总线通过每一运算单元的标识选择出需要进行通信的运算单元。
在另一种可能的实施方式中,命令行缓存器102与命令分发接口30连接;命令行缓存器102在接收到仲裁电路20基于仲裁请求信号返回的权限许可信号后向命令分发接口30发送当前命令行、以及第一标识;命令分发接口30在接收到当前命令行、以及第一标识后,向总线接口发送当前命令行、以及第一标识;总线接口在接收到当前命令行、以及第一标识后,基于第一标识向第一运算单元发送当前命令行。
参见图2所示,本公开另一实施例中,命令分发装置还包括:运算单元信息缓存器40;运算单元信息缓存器与多个命令队列分别对应的命令计数器连接,且运算单元信息缓存器与对应的运算单元连接;
命令行缓存器102与运算单元信息缓存器40连接;解析电路101在确定当前命令行为当前待发送命令中的首行命令行的情况下向命令行缓存器102发送命令队列的命令队列标识;命令行缓存器102在向与当前待发送命令对应的第一运算单元发送当前命令行时,向第一运算单元信息缓存器发送命令队列标识;其中,第一运算单元信息缓存器为与第一运算单元连接的运算单元信息缓存器40。
本公开另一实施例中,仲裁电路20与运算单元信息缓存器40连接;命令行缓存器102向仲裁电路20发送当前命令行、第一标识、以及发送命令队列的命令队列标识;仲裁电路20向命令分发接口30发送当前命令行、第一标识时,向第一运算单元信息缓存器发送命令队列的命令队列标识如图2中所示。
第一运算单元信息缓存器接收命令队列标识;并在接收到第一运算单元将当前待发送命令处理完毕后反馈的确认信息后如图2中所示,基于命令队列标识、以及确认信息,向命令计数器105发送第二计数指令如图2中/>所示;命令计数器105在接收到第一运算单元信息缓存器发送的第二计数指令后,将命令计数器105的当前第二计数数值减少第二数值。
确认信息为运算单元在将命令处理完毕之后,向运算单元信息缓存器40反馈的,确认信息例如为确认字符(Acknowledge character,ACK)。
这样,命令计数器105能够实现对与命令队列对应的当前已发送但未被处理完毕的命令进行计数。
需要说明的是,图2中的不代表具体的处理顺序,只是为了说明分发电路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-OnlyMemory,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所述的命令分发方法的步骤。
CN202110476240.9A 2021-04-29 2021-04-29 命令分发装置、方法、芯片、计算机设备及存储介质 Active CN113138801B (zh)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN113138801A CN113138801A (zh) 2021-07-20
CN113138801B true CN113138801B (zh) 2023-08-04

Family

ID=76816430

Family Applications (1)

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

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 (4)

* 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 西安微电子技术研究所 一种基于硬件仲裁的边带管理电路及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138801B (zh) * 2021-04-29 2023-08-04 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质
CN113138802B (zh) * 2021-04-29 2024-03-05 上海阵量智能科技有限公司 命令分发装置、方法、芯片、计算机设备及存储介质

Patent Citations (4)

* 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 西安微电子技术研究所 一种基于硬件仲裁的边带管理电路及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"共享总线多微处理器系统中分布式仲裁方案的研究及实现";刘峰 等;《浙江大学学报( 工学版)》;第37卷(第2期);全文 *

Also Published As

Publication number Publication date
CN113138801A (zh) 2021-07-20
WO2022227614A1 (zh) 2022-11-03

Similar Documents

Publication Publication Date Title
CN113138801B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN113138802B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
EP3706010B1 (en) Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect
CN111045810B (zh) 一种任务调度处理方法及装置
JP7194730B2 (ja) バッファ状態報告方法、端末及びコンピュータ記憶媒体
CN110167050B (zh) 一种信道状态信息报告的传输方法及终端
CN108023829B (zh) 报文处理方法及装置、存储介质、电子设备
US9489328B2 (en) System on chip and method for accessing device on bus
US10614006B2 (en) Low latency interrupt with existence of interrupt moderation
CN109582521B (zh) 测试存储系统读写性能的方法、装置、设备及介质
US11671678B2 (en) Method and device, equipment, and storage medium for data processing
US20090182798A1 (en) Method and apparatus to improve the effectiveness of system logging
CN104965798A (zh) 一种数据处理方法、相关设备以及系统
CN112181887B (zh) 数据传输方法及装置
CN113138949A (zh) 中断控制器、中断控制方法、芯片、计算机设备以及介质
US20080162974A1 (en) Universal serial bus host controller
CN116737083B (zh) 存储器访问电路及存储器访问方法、集成电路和电子设备
CN117389766A (zh) 消息的发送方法及装置、存储介质及电子装置
JP2023500917A (ja) 制御情報指示方法、通信ノード、およびコンピュータ可読記憶媒体
CN111949470A (zh) 一种芯片验证方法、装置、电子设备及存储介质
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN109067864B (zh) 通知消息推送方法、装置及电子设备
CN106776393B (zh) 一种无中断的串口数据接收方法和装置
CN106940684B (zh) 一种按比特写数据的方法及装置
CN108259381B (zh) 数据帧处理方法、装置及车载单元

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40049349

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant