CN115220789A - 一种用于多寄存器的操作命令触发调度方法及单元 - Google Patents

一种用于多寄存器的操作命令触发调度方法及单元 Download PDF

Info

Publication number
CN115220789A
CN115220789A CN202210728573.0A CN202210728573A CN115220789A CN 115220789 A CN115220789 A CN 115220789A CN 202210728573 A CN202210728573 A CN 202210728573A CN 115220789 A CN115220789 A CN 115220789A
Authority
CN
China
Prior art keywords
node
operation command
current operation
target
register
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.)
Granted
Application number
CN202210728573.0A
Other languages
English (en)
Other versions
CN115220789B (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.)
Beijing Winner Microeletronics Co ltd
Original Assignee
Beijing Winner Microeletronics 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 Beijing Winner Microeletronics Co ltd filed Critical Beijing Winner Microeletronics Co ltd
Priority to CN202210728573.0A priority Critical patent/CN115220789B/zh
Publication of CN115220789A publication Critical patent/CN115220789A/zh
Application granted granted Critical
Publication of CN115220789B publication Critical patent/CN115220789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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/30098Register arrangements
    • G06F9/30105Register structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的一种用于多寄存器的操作命令触发调度方法及单元,将多个寄存器作为局域网中的一个节点;获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度作为节点属性,将执行当前操作命令且起始的第一目标寄存器作为根节点,按照与根节点执行当前操作命令的关联关系形成树形网络;确定可以执行当前操作命令的第二目标寄存器以执行。由于本发明根据当前操作命令将所需寄存器形成相互关联的树形网络,这样寄存器在执行操作命令时存在关联关系,提高寄存器执行当前操作命令的效率;同时本发明将二进制长度以及存储数据长度作为节点属性以确认节点是否可以执行当前操作命令,以降低中断执行的可能性,降低重新部署的时间。

Description

一种用于多寄存器的操作命令触发调度方法及单元
技术领域
本发明属于处理器技术领域,具体涉及一种用于多寄存器的操作命令触发调度方法及单元。
背景技术
寄存器是集成系统中不可或缺的执行器件,其相比于存储器具有快速读取、写入等优点。寄存器按照其功能不同存储不同的对象,对于多执行操作命令通常按照先入先出FIFO的方式的读出或写入,而对于FIFO引入导致的亚稳态亚问题,技术人员通过引入格雷码从而降低亚稳态问题出现的概率,但是如此导致延时增加。
随着系统集成度不断增加,系统中寄存器数量也随之提高,较多寄存器的引入导致时延增加,同时多个寄存器在接收操作命令,有时需要联合处理才能完成。各个寄存器需要相互合作根据操作命令中执行的优先级以及操作命令发送时间去从队列中读取或者写入数据,
然而一个操作命令可能需要多个寄存器按照时序不同执行,然而多寄存器在接受操作命令后有可能并行执行,然而在实际上一个存储寄存器可能需要指令寄存器、累加寄存器、存储寄存器相互配合完成,因此现有技术多个寄存器的引入按照现有方案去执行操作命令,而一旦一个寄存器出现错误,可能导致其他寄存器的执行,可能导致集成系统统筹部署时间增加,这与用户对数据处理速度的要求形成矛盾。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种用于多寄存器的操作命令触发调度方法及单元。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明提供的一种用于多寄存器的操作命令触发调度方法包括:
获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度;
将每个寄存器作为局域网中的一个节点,获取多个寄存器的系统标号,并按照系统标号将节点的二进制长度以及队列存储数据长度作为节点属性;
接收发送的至少一个当前操作命令以及当前操作命令的生成时间;
判断执行任一当前操作命令是否需要多个第一目标寄存器,如果是则将起始执行的第一目标寄存器作为根节点,不为第一目标寄存器且在局域网中的其他寄存器作为掉线寄存器,其他第一目标寄存器按照与根节点执行当前操作命令的关联关系形成树形网络;
其中,并行处理操作命令的第一目标寄存器之间在树形网路中不连通;
向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器;
向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成;
将当前操作命令所需的第一目标寄存器在所形成的树形网络中离线,以使所有寄存器重新形成局域网。
可选的,在形成树形网络之后,操作命令触发调度方法还包括:
向根节点下发执行当前操作命令的数据统一时间标准,以使根节点在树形网路中下发一个起始执行时间;
以起始执行时间作为树形网络执行当前操作命令的起始时间;
对于树形网络中的任一节点,确定自身在树形网络中的级别;
对于任一节点,计算自身级别与根节点级别的级别差;
根据级别差与传递距离之间的关系,确定任一节点执行当前操作命令的执行时间。
可选的,在接收发送的至少一个当前操作命令以及当前操作命令的生成时间之后,操作命令触发调度方法还包括:
当接收的当前操作命令为多个时,判断不同的当前操作命令是否存在同一对应的第一目标寄存器;
如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令;
如果当前操作命令为读命令,则确定同一对应的第一目标寄存器是否可以满足执行读命令读取所有数据;
如果当前操作命令为写命令,则确定同一对应的第一目标寄存器是否可以满足执行写命令写入所有数据;
如果同一对应的第一目标寄存器满足读命令或写命令,则将下一时刻指向同一对应的第一目标寄存器中队列数据的指针地址更新为读命令或写命令执行后的指针地址;
如果同一对应的第一目标寄存器不满足读命令或写命令,则将第一目标寄存器的读标志位或写标志位设置为无效。
可选的,向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器包括:
向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使根节点按照级别依次获取第一目标节点的节点属性;
根据第一目标节点的进制长度以及队列存储数据长度,确定第一目标节点是否满足执行任一当前操作命令,如果是则再次确认该第一目标节点对应的寄存器的标志位是否有效;
当第一目标节点的标志位有效,则确认该第一目标节点对应的寄存器为可以执行当前操作命令中所有数据的第二目标寄存器;
如果第一目标节点可以满足执行任一当前操作命令,但是该第一目标节点的寄存器的标志位为无效,则将该第一目标节点的队列存储数据长度作为该节点可执行当前操作命令中部分数据的第二目标寄存器。
可选的,在如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令之后,操作命令触发调度方法还包括:
如果对应第一目标寄存器的多个当前操作命令存在读命令与写命令共存的情况,则根据标志位进一步判断第一目标寄存器是否可以满足写入和读出所有数据;
如果同一对应的第一目标寄存器满足写入和读出所有数据,则将该第一目标寄存器的读入标志位设置为有效,以执行读命令;
在执行读命令完成之后,将读入标志位设置为无效,将写入标志位设置为有效,以执行写命令。
可选的,在向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成之后,操作命令触发调度方法还包括:
针对任一节点,如果当前操作命令为读命令,则将自身从队列中读取到的数据添加执行时间标记;
将该执行时间标记与根节点发送的起始时间一一对应,添加至节点属性中。
可选的,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成包括:
通过将第二目标寄存器读写标识位与通用寄存器不同类型值进行比较,确定第二目标寄存器是否为数据寄存器;
如果第二目标寄存器不为数据寄存器,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令中非读写和非写入的部分,并将执行结果存储至与该第二目标寄存器直连,且低一等级的第二目标寄存器;
如果第二目标寄存器为数据寄存器,向第二目标寄存器发送当前操作命令直至完成。
可选的,对于任一节点,计算自身级别与根节点级别的级别差包括:
将根节点的级别确定为最高;
针对任一节点,当将该节点与级别最高的节点在树结构中的距离,确定为该节点的级别;
计算级别最高节点与任一节点之间的级别差。
可选的,在向根节点下发确认节点是否可以执行当前操作命令的确认命令之前,操作命令触发调度方法还包括:
判断第一目标寄存器是否存在读写错误,如果是则将该第一目标寄存器在树形网络对应节点的节点属性更改为离线;
将与节点属性为离线的节点间接连接的其他节点,连接至与该节点级别相同的同级节点;
更新树形网络中的各个节点及节点属性。
第二方面,本发明提供的一种用于多寄存器的操作命令触发调度单元位于中央处理器中,调度单元用于执行第一方面的一种用于多寄存器的操作命令触发调度方法。
本发明提供的一种用于多寄存器的操作命令触发调度方法及单元,将多个寄存器作为局域网中的一个节点;获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度作为节点属性,接收发送的至少一个当前操作命令以及当前操作命令的生成时间;判断执行任一当前操作命令是否需要多个第一目标寄存器,如果是则将起始执行的第一目标寄存器作为根节点,不为第一目标寄存器且在局域网中的其他寄存器作为掉线寄存器,其他第一目标寄存器按照与根节点执行当前操作命令的关联关系形成树形网络;向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器;向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成;将当前操作命令所需的第一目标寄存器在所形成的树形网络中离线,以使所有寄存器重新形成局域网。由于本发明根据当前操作命令将所需寄存器形成相互关联的树形网络,这样寄存器在执行操作命令时存在关联关系,提高寄存器执行当前操作命令的效率;同时本发明将二进制长度以及存储数据长度作为节点属性以确认节点是否可以执行当前操作命令,以降低中断执行的可能性,降低重新部署的时间。
附图说明
图1是本发明实施例提供的一种用于多寄存器的操作命令触发调度方法的流程示意图;
图2是本发明实施例提供的每个寄存器确认自身执行当前操作命令的执行时间的流程图;
图3是本发明实施例提供的确认同一对应的第一目标寄存器并确认是否能读取所有数据的流程示意图;
图4是本发明实施例提供的确定可以执行当前操作命令的第二目标寄存器流程示意图;
图5是本发明实施例提供设置寄存器标志位的流程示意图;
图6是本发明实施例提供确认第二目标寄存器的流程示意图;
图7是本发明实施例提供更新属树形网络的流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,本发明提供的一种用于多寄存器的操作命令触发调度方法,包括:
S11,获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度;
值得说明的是:每个寄存器存在一个队列,而每个寄存器自身的队列可以存储的数据量并不相同,因此在执行操作命令过程中需要考虑队列的二进制长度以及队列存储数据长度,这样方便为后续判断一个操作命令是否能完全执行提供基础。
S12,将每个寄存器作为局域网中的一个节点,获取多个寄存器的系统标号,并按照系统标号将节点的二进制长度以及队列存储数据长度作为节点属性;
值得说明的是:在系统中存在多种类型的寄存器,比如计算寄存器、通用寄存器,这些寄存器在执行任务过程中会涉及到一个操作命令需要多个寄存器执行顺序或并行执行,而完成一个操作命令可能需要多个寄存器相互配合才能完成;将每个寄存器作为一个节点,这样可以找到其他寄存器的执行位置。在一个系统中存在内部寄存器以及外部寄存器,而寄存器的类型不同其系统标号不同。获得系统标号并按照系统标号将寄存器的二进制长度以及队列存储数据长度作为节点属性可以快速的完成节点属性与寄存器一一对应的过程。
S13,接收发送的至少一个当前操作命令以及当前操作命令的生成时间;
值得说明的是:在一个时刻可能存在多个操作命令,并且多个操作命令并行执行。当然不同时刻下的操作命令在时序上可能存在前后关系,根据每个操作命令的生成时间可以区分每个时刻的操作命令与下一时刻操作命令,降低误判执行当前操作命令的概率。
S14,判断执行任一当前操作命令是否需要多个第一目标寄存器,如果是则将起始执行的第一目标寄存器作为根节点,不为第一目标寄存器且在局域网中的其他寄存器作为掉线寄存器,其他第一目标寄存器按照与根节点执行当前操作命令的关联关系形成树形网络;
其中,并行处理操作命令的第一目标寄存器之间在树形网路中不连通;
值得说明的是:将起始执行的目标寄存器作为根节点是因为后续的寄存器的执行过程以前一个目标寄存器为根据,前一个寄存器的结果可能为后一个寄存器的输入或者存储的对象,因此当前操作命令中的每个第一目标寄存器与根节点之间存在一种关联关系。而并行执行的第一目标寄存器之间不存在关系,因此需要在树形网络不连通,两个节点之间连接表示存在前后执行的关联关系,如果节点掉线则表示这个寄存器在执行当前操作命令过程中不起作用。
S15,向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器;
值得说明的是:向根节点发送确认命令目的在于:确认第一目标寄存器中是否存在存储长度不足不能完全执行的寄存器。这样发送确认命令可以使得执行当前操作命令的第二目标寄存器无需再次查询自身的存储状况而快速的去执行当前操作命令,同时如果第一目标寄存器掉线,这样就可以防止当前操作命令中断执行。
S16,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成;
S17,将当前操作命令所需的第一目标寄存器在所形成的树形网络中离线,以使所有寄存器重新形成局域网。
本发明提供的一种用于多寄存器的操作命令触发调度方法,将多个寄存器作为局域网中的一个节点;获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度作为节点属性,接收发送的至少一个当前操作命令以及当前操作命令的生成时间;判断执行任一当前操作命令是否需要多个第一目标寄存器,如果是则将起始执行的第一目标寄存器作为根节点,不为第一目标寄存器且在局域网中的其他寄存器作为掉线寄存器,其他第一目标寄存器按照与根节点执行当前操作命令的关联关系形成树形网络;向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器;向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成;将当前操作命令所需的第一目标寄存器在所形成的树形网络中离线,以使所有寄存器重新形成局域网。由于本发明根据当前操作命令将所需寄存器形成相互关联的树形网络,这样寄存器在执行操作命令时存在关联关系,提高寄存器执行当前操作命令的效率;同时本发明将二进制长度以及存储数据长度作为节点属性以确认节点是否可以执行当前操作命令,以降低中断执行的可能性,降低重新部署的时间。
作为本发明一种可选的实施方式,如图2所示,在形成树形网络之后,本发明提供的操作命令触发调度方法还包括:
S21,向根节点下发执行当前操作命令的数据统一时间标准,以使根节点在树形网路中下发一个起始执行时间;
值得说明的是:每个寄存器可能因为执行命令的完成时间不同,在寄存器内部存在不同的时间标准。如果由根节点向下发送数据统一时间标准,这样每个节点就可以执行数据统一时间标准,在执行当前操作命令时就可以防止时序发生错乱。
S22,以起始执行时间作为树形网络执行当前操作命令的起始时间;
S23,对于树形网络中的任一节点,确定自身在树形网络中的级别;
S24,对于任一节点,计算自身级别与根节点级别的级别差;
S25,根据级别差与传递距离之间的关系,确定任一节点执行当前操作命令的执行时间。
值得说明的是:每个节点因为执行当前操作命令的次序不同,会与根节点存在不同距离,这样每个节点会根据自己在树形网络中的级别,就可以在根节点的起始执行时间上,自己叠加与传递距离对应的时间,这样就能确定自身什么时间执行当前操作命令。
作为本发明一种可选的实施方式,如图3所示,在接收发送的至少一个当前操作命令以及当前操作命令的生成时间之后,本发明提供的操作命令触发调度方法还包括:
S31,当接收的当前操作命令为多个时,判断不同的当前操作命令是否存在同一对应的第一目标寄存器;
值得说明的是:如果当前时刻是多个当前操作命令同时到来,这样并行的多个当前操作命令可能在执行过程有同一个寄存器需要执行多个操作命令,这样需要确定该寄存器到底该执行哪个操作命令以及执行操作命令的顺序。
S32,如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令;
S33,如果当前操作命令为读命令,则确定同一对应的第一目标寄存器是否可以满足执行读命令读取所有数据;
S34,如果当前操作命令为写命令,则确定同一对应的第一目标寄存器是否可以满足执行写命令写入所有数据;
S35,如果同一对应的第一目标寄存器满足读命令或写命令,则将下一时刻指向同一对应的第一目标寄存器中队列数据的指针地址更新为读命令或写命令执行后的指针地址;
值得说明的是:需要对同一对应的第一目标寄存器进行判断,确定其是否能执行完多个当前操作命令,这样为了保证后续其他的第一目标寄存器可以顺利的完成当前操作命令的执行。而无论是写命令和读命令都需要进行判断,确定是否可以执行完读命令或写命令。
S36,如果同一对应的第一目标寄存器不满足读命令或写命令,则将第一目标寄存器的读标志位或写标志位设置为无效。
值得说明的是:如果同一对应的第一目标寄存器满足读命令或写命令,这样执行完当前操作命令后指针地址就需要进行变更,保证下一时刻操作命令到来时,寄存器可以准确的找到指针地址快速执行。而如果不满足读命令或写命令,这样更改目标寄存器的标志位,下次执行时就越过该寄存器,以节省反复确定可以执行操作命令的寄存器的时间。
作为本发明一种可选的实施方式,如图4所示,向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器包括:
S41,向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使根节点按照级别依次获取第一目标节点的节点属性;
S42,根据第一目标节点的进制长度以及队列存储数据长度,确定第一目标节点是否满足执行任一当前操作命令,如果是则再次确认该第一目标节点对应的寄存器的标志位是否有效;
S43,当第一目标节点的标志位有效,则确认该第一目标节点对应的寄存器为可以执行当前操作命令中所有数据的第二目标寄存器;
S44,如果第一目标节点可以满足执行任一当前操作命令,但是该第一目标节点的寄存器的标志位为无效,则将该第一目标节点的队列存储数据长度作为该节点可执行当前操作命令中部分数据的第二目标寄存器。
值得说明的是:当前操作命令可能需要执行多个数据,而第一目标寄存器并不一定满足可以执行多个数据,因此需要再次根据节点属性,确定可以执行所有数据的第二目标寄存器,这样可以对寄存器进行排序保证所有数据可以顺序执行。
作为本发明一种可选的实施方式,如图5所示,在如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令之后,操作命令触发调度方法还包括:
S51,如果对应第一目标寄存器的多个当前操作命令存在读命令与写命令共存的情况,则根据标志位进一步判断第一目标寄存器是否可以满足写入和读出所有数据;
S52,如果同一对应的第一目标寄存器满足写入和读出所有数据,则将该第一目标寄存器的读入标志位设置为有效,以执行读命令;
S53,在执行读命令完成之后,将读入标志位设置为无效,将写入标志位设置为有效,以执行写命令。
值得说明的是:每个寄存器都有标志位,而寄存器不可能在读出的同时执行写入,因此需要先执行读命令再执行写命令。如果写命令先执行可能寄存器就不能写入所有数据,而先读出再写入可以保证所有数据可以执行。
作为本发明一种可选的实施方式,在向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成之后,操作命令触发调度方法还包括:
针对任一节点,如果当前操作命令为读命令,则将自身从队列中读取到的数据添加执行时间标记;
将该执行时间标记与根节点发送的起始时间一一对应,添加至节点属性中。
值得说明的是:将执行完后的每个数据添加执行时间标记,这样与根节点发送的起始时间对应,可以获知具体是哪个时刻的操作命令所执行的数据,后续方便系统按照时序拿取数据。
作为本发明一种可选的实施方式,如图6所示,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成包括:
S61,通过将第二目标寄存器读写标识位与通用寄存器不同类型值进行比较,确定第二目标寄存器是否为数据寄存器;
S62,如果第二目标寄存器不为数据寄存器,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令中非读写和非写入的部分,并将执行结果存储至与该第二目标寄存器直连,且低一等级的第二目标寄存器;
S63,如果第二目标寄存器为数据寄存器,向第二目标寄存器发送当前操作命令直至完成。
值得说明的是:如果第二目标寄存器为数据寄存器,这样就可以直接执行读写操作,而如果不为数据寄存器可能为计算或者其他寄存器,这样需要执行非读写操作,保证读写操作的顺序完成。
作为本发明一种可选的实施方式,对于任一节点,计算自身级别与根节点级别的级别差包括:
将根节点的级别确定为最高;
针对任一节点,当将该节点与级别最高的节点在树结构中的距离,确定为该节点的级别;
计算级别最高节点与任一节点之间的级别差。
作为本发明一种可选的实施方式,如图7所示,在向根节点下发确认节点是否可以执行当前操作命令的确认命令之前,操作命令触发调度方法还包括:
S71,判断第一目标寄存器是否存在读写错误,如果是则将该第一目标寄存器在树形网络对应节点的节点属性更改为离线;
S72,将与节点属性为离线的节点间接连接的其他节点,连接至与该节点级别相同的同级节点;
S73,更新树形网络中的各个节点及节点属性。
值得说明的是:如果第一目标寄存器存在读写错误,说明该寄存器不可能再执行后续或者当前操作命令中的其他部分操作,因此在树形网路中将其节点属性更改为离线,这样在执行过程中就可以避开该节点,不用重复确认。
本发明提供的一种用于多寄存器的操作命令调度单元,位于中央处理器中,调度单元用于执行一种用于多寄存器的操作命令触发调度方法。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种用于多寄存器的操作命令触发调度方法,其特征在于,所述操作命令触发调度方法包括:
获取当前时刻每个寄存器自身队列的二进制长度以及队列存储数据长度;
将每个寄存器作为局域网中的一个节点,获取多个寄存器的系统标号,并按照系统标号将节点的二进制长度以及队列存储数据长度作为节点属性;
接收发送的至少一个当前操作命令以及当前操作命令的生成时间;
判断执行任一当前操作命令是否需要多个第一目标寄存器,如果是则将起始执行的第一目标寄存器作为根节点,不为第一目标寄存器且在局域网中的其他寄存器作为掉线寄存器,其他第一目标寄存器按照与根节点执行当前操作命令的关联关系形成树形网络;
其中,并行处理操作命令的第一目标寄存器之间在树形网路中不连通;
向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器;
向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成;
将当前操作命令所需的第一目标寄存器在所形成的树形网络中离线,以使所有寄存器重新形成局域网。
2.根据权利要求1所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,在形成树形网络之后,所述操作命令触发调度方法还包括:
向根节点下发执行当前操作命令的数据统一时间标准,以使所述根节点在树形网路中下发一个起始执行时间;
以所述起始执行时间作为树形网络执行当前操作命令的起始时间;
对于所述树形网络中的任一节点,确定自身在树形网络中的级别;
对于任一节点,计算自身级别与根节点级别的级别差;
根据级别差与传递距离之间的关系,确定任一节点执行当前操作命令的执行时间。
3.根据权利要求1所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,在接收发送的至少一个当前操作命令以及当前操作命令的生成时间之后,所述操作命令触发调度方法还包括:
当接收的当前操作命令为多个时,判断不同的当前操作命令是否存在同一对应的第一目标寄存器;
如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令;
如果当前操作命令为读命令,则确定同一对应的第一目标寄存器是否可以满足执行读命令读取所有数据;
如果当前操作命令为写命令,则确定同一对应的第一目标寄存器是否可以满足执行写命令写入所有数据;
如果同一对应的第一目标寄存器满足读命令或写命令,则将下一时刻指向同一对应的第一目标寄存器中队列数据的指针地址更新为读命令或写命令执行后的指针地址;
如果同一对应的第一目标寄存器不满足读命令或写命令,则将第一目标寄存器的读标志位或写标志位设置为无效。
4.根据权利要求3所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,所述向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使其他第一目标节点依次上报自身节点属性,确定可以执行当前操作命令的第二目标寄存器包括:
向根节点下发确认节点是否可以执行当前操作命令的确认命令,以使根节点按照级别依次获取第一目标节点的节点属性;
根据第一目标节点的进制长度以及队列存储数据长度,确定第一目标节点是否满足执行任一当前操作命令,如果是则再次确认该第一目标节点对应的寄存器的标志位是否有效;
当所述第一目标节点的标志位有效,则确认该第一目标节点对应的寄存器为可以执行当前操作命令中所有数据的第二目标寄存器;
如果第一目标节点可以满足执行任一当前操作命令,但是该第一目标节点的寄存器的标志位为无效,则将该第一目标节点的队列存储数据长度作为该节点可执行当前操作命令中部分数据的第二目标寄存器。
5.根据权利要求3所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,在如果存在同一对应的第一目标寄存器,则判断对应该第一目标寄存器的多个当前操作命令为读命令还是写命令之后,所述操作命令触发调度方法还包括:
如果对应第一目标寄存器的多个当前操作命令存在读命令与写命令共存的情况,则根据标志位进一步判断第一目标寄存器是否可以满足写入和读出所有数据;
如果同一对应的第一目标寄存器满足写入和读出所有数据,则将该第一目标寄存器的读入标志位设置为有效,以执行读命令;
在执行读命令完成之后,将读入标志位设置为无效,将写入标志位设置为有效,以执行写命令。
6.根据权利要求2所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,在向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成之后,所述操作命令触发调度方法还包括:
针对任一节点,如果当前操作命令为读命令,则将自身从队列中读取到的数据添加执行时间标记;
将该执行时间标记与根节点发送的起始时间一一对应,添加至节点属性中。
7.根据权利要求2所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,所述向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行当前操作命令直至完成包括:
通过将第二目标寄存器读写标识位与通用寄存器不同类型值进行比较,确定第二目标寄存器是否为数据寄存器;
如果所述第二目标寄存器不为数据寄存器,向第二目标寄存器发送当前操作命令,以使第二目标寄存器执行所述当前操作命令中非读写和非写入的部分,并将执行结果存储至与该第二目标寄存器直连,且低一等级的第二目标寄存器;
如果所述第二目标寄存器为数据寄存器,向第二目标寄存器发送当前操作命令直至完成。
8.根据权利要求2所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,所述对于任一节点,计算自身级别与根节点级别的级别差包括:
将根节点的级别确定为最高;
针对任一节点,当将该节点与级别最高的节点在树结构中的距离,确定为该节点的级别;
计算级别最高节点与任一节点之间的级别差。
9.根据权利要求1所述的一种用于多寄存器的操作命令触发调度方法,其特征在于,在向根节点下发确认节点是否可以执行当前操作命令的确认命令之前,所述操作命令触发调度方法还包括:
判断第一目标寄存器是否存在读写错误,如果是则将该第一目标寄存器在树形网络对应节点的节点属性更改为离线;
将与节点属性为离线的节点间接连接的其他节点,连接至与该节点级别相同的同级节点;
更新所述树形网络中的各个节点及节点属性。
10.一种用于多寄存器的操作命令触发调度单元,其特征在于,所述调度单元位于中央处理器中,所述调度单元用于执行权利要求1至9任一项所述的一种用于多寄存器的操作命令触发调度方法。
CN202210728573.0A 2022-06-24 2022-06-24 一种用于多寄存器的操作命令触发调度方法及单元 Active CN115220789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210728573.0A CN115220789B (zh) 2022-06-24 2022-06-24 一种用于多寄存器的操作命令触发调度方法及单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210728573.0A CN115220789B (zh) 2022-06-24 2022-06-24 一种用于多寄存器的操作命令触发调度方法及单元

Publications (2)

Publication Number Publication Date
CN115220789A true CN115220789A (zh) 2022-10-21
CN115220789B CN115220789B (zh) 2023-02-07

Family

ID=83610258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210728573.0A Active CN115220789B (zh) 2022-06-24 2022-06-24 一种用于多寄存器的操作命令触发调度方法及单元

Country Status (1)

Country Link
CN (1) CN115220789B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117714711A (zh) * 2024-02-05 2024-03-15 北京象帝先计算技术有限公司 解码方法、解码系统、电子设备及可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030137940A1 (en) * 1998-11-24 2003-07-24 Schwartz Steven J. Pass/drop apparatus and method for network switching node
US20060200810A1 (en) * 2005-03-07 2006-09-07 International Business Machines Corporation Method and apparatus for choosing register classes and/or instruction categories
CN101303884A (zh) * 2008-06-13 2008-11-12 炬力集成电路设计有限公司 与非型闪存控制器和读写控制系统及方法
US20110161916A1 (en) * 2009-12-29 2011-06-30 Microgen Plc Transformation of data between hierarchical data formats
CN102231118A (zh) * 2011-07-25 2011-11-02 中国科学技术大学 一种基于龙芯3a向量访存的编译优化方法
CN103324463A (zh) * 2013-05-10 2013-09-25 中国人民解放军信息工程大学 基于区域优先级的寄存器分配方法
CN107003843A (zh) * 2014-12-23 2017-08-01 英特尔公司 用于对向量元素集合执行约减操作的方法和设备
CN107798117A (zh) * 2017-11-08 2018-03-13 杭州迪普科技股份有限公司 一种数据存储与读取的方法和装置
CN110799939A (zh) * 2017-07-04 2020-02-14 Arm有限公司 用于控制指令的执行的设备与方法
CN111381879A (zh) * 2018-12-31 2020-07-07 华为技术有限公司 一种数据处理方法及装置
CN113703834A (zh) * 2015-09-19 2021-11-26 微软技术许可有限责任公司 基于块的处理器核复合寄存器

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030137940A1 (en) * 1998-11-24 2003-07-24 Schwartz Steven J. Pass/drop apparatus and method for network switching node
US20060200810A1 (en) * 2005-03-07 2006-09-07 International Business Machines Corporation Method and apparatus for choosing register classes and/or instruction categories
CN101303884A (zh) * 2008-06-13 2008-11-12 炬力集成电路设计有限公司 与非型闪存控制器和读写控制系统及方法
US20110161916A1 (en) * 2009-12-29 2011-06-30 Microgen Plc Transformation of data between hierarchical data formats
CN102231118A (zh) * 2011-07-25 2011-11-02 中国科学技术大学 一种基于龙芯3a向量访存的编译优化方法
CN103324463A (zh) * 2013-05-10 2013-09-25 中国人民解放军信息工程大学 基于区域优先级的寄存器分配方法
CN107003843A (zh) * 2014-12-23 2017-08-01 英特尔公司 用于对向量元素集合执行约减操作的方法和设备
CN113703834A (zh) * 2015-09-19 2021-11-26 微软技术许可有限责任公司 基于块的处理器核复合寄存器
CN110799939A (zh) * 2017-07-04 2020-02-14 Arm有限公司 用于控制指令的执行的设备与方法
CN107798117A (zh) * 2017-11-08 2018-03-13 杭州迪普科技股份有限公司 一种数据存储与读取的方法和装置
CN111381879A (zh) * 2018-12-31 2020-07-07 华为技术有限公司 一种数据处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARQUIMEDES CANEDO等: "Queue Register File Optimization Algorithm for QueueCore Processor", 《IEEE》 *
王迪: "SIMD编译优化技术研究", 《中国优秀硕士论文电子期刊网 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117714711A (zh) * 2024-02-05 2024-03-15 北京象帝先计算技术有限公司 解码方法、解码系统、电子设备及可读存储介质
CN117714711B (zh) * 2024-02-05 2024-04-30 北京象帝先计算技术有限公司 解码方法、解码系统、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN115220789B (zh) 2023-02-07

Similar Documents

Publication Publication Date Title
CN100517294C (zh) 一种基于共享存储器的双cpu通信方法
US5428781A (en) Distributed mechanism for the fast scheduling of shared objects and apparatus
US6411857B1 (en) Redundant, multitasking industrial controllers with synchronized data tables
CN115220789B (zh) 一种用于多寄存器的操作命令触发调度方法及单元
CN112272243B (zh) 地址分配方法
JPH0824320B2 (ja) 通信制御装置における緩衝域連鎖の方法およびその装置
CN113141288B (zh) 一种can总线控制器的邮箱报文收发方法和装置
CN113342721A (zh) 存储控制器dma设计方法
US8385203B2 (en) Resending control circuit, sending device, resending control method and resending control program
EP0639016A2 (en) Multi-nodal data processing system
JP4001511B2 (ja) Icカード及びその制御方法
JP4122574B2 (ja) デイジーチェイン接続機器およびデイジーチェイン接続機器のアドレス設定方法
US8156260B2 (en) Data transfer device and method for selecting instructions retained in channel unit based on determined priorities due to the number of waiting commands/instructions
JPWO2007099584A1 (ja) エラー検出装置
US20070280224A1 (en) System and method for an output independent crossbar
US20190250593A1 (en) Slave device, control system, communication method for response data and storage medium
JPH10271138A (ja) 伝送システム
CN106919487B (zh) NVMe门铃处理方法及其装置
CN110688357B (zh) 一种日志型数据的读取方法和装置
CN118312127B (zh) 存储装置管理方法及先入先出存储装置
CN111930582A (zh) 系统管理总线检测平台、处理器及系统管理总线检测方法
US6625678B1 (en) Livelock avoidance method
CN1234550B (zh) 一种输入/输出总线系统
CN110673554A (zh) 一种应用于工业控制系统的数据缓存处理机制
CN112052074B (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
GR01 Patent grant
GR01 Patent grant