CN116841614A - 乱序访存机制下的顺序向量调度方法 - Google Patents

乱序访存机制下的顺序向量调度方法 Download PDF

Info

Publication number
CN116841614A
CN116841614A CN202310619395.2A CN202310619395A CN116841614A CN 116841614 A CN116841614 A CN 116841614A CN 202310619395 A CN202310619395 A CN 202310619395A CN 116841614 A CN116841614 A CN 116841614A
Authority
CN
China
Prior art keywords
vector
memory access
instruction
redo
execution
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
CN202310619395.2A
Other languages
English (en)
Other versions
CN116841614B (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.)
Jindi Space Time Hangzhou Technology Co ltd
Original Assignee
Jindi Space Time Hangzhou 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 Jindi Space Time Hangzhou Technology Co ltd filed Critical Jindi Space Time Hangzhou Technology Co ltd
Priority to CN202310619395.2A priority Critical patent/CN116841614B/zh
Publication of CN116841614A publication Critical patent/CN116841614A/zh
Application granted granted Critical
Publication of CN116841614B publication Critical patent/CN116841614B/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
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了乱序访存机制下的顺序向量调度方法,设置了重做队列,当向量指令执行发生中断的时候将最近的几笔拆分暂存至重做队列内,访存流水线优先执行就绪的标量访存指令或者向量访存指令,执行完毕后,访存流水线读取重做队列的信息,从中断点继续执行,提高执行效率。

Description

乱序访存机制下的顺序向量调度方法
技术领域
本发明属于芯片领域,具体涉及乱序访存机制下的顺序向量调度方法。
背景技术
CPU中运行的指令按照其功能分为以下几类:运算类指令、程序流控制类指令、数据传送类指令和输入输出类指令,其中数据传送类指令包括寄存器-寄存器、寄存器-存储器之间的数据传送,其中寄存器-存储器之间的数据传送称之为访存指令。
为了提高性能,目前处理器都采用了乱序执行的技术,即后续指令在发射队列中就绪后可以先于前序指令执行,以提高指令的执行效率,对于访存指令同样采用了乱序的方法,但是由于地址依赖和寄存器依赖的缘故,因为存在依赖关系的指令序列不能乱序执行,所以需要额外的检测逻辑来保证,对于标量访存指令,一条指令只会访问一个数据,涉及一个寄存器和一个地址,检测逻辑相对比较简单,而对于向量访存指令,每条指令需要访问多笔数据,就会涉及到多个寄存器和多个地址,检测逻辑就会非常复杂,由此可见向量访存指令不适合乱序执行。所以对于标量-标量、标量-向量之间是采用了乱序执行的方法,但是向量访存指令还是顺序执行,由于一条向量访存指令可能需要执行多笔,如果此时有更老的标量访存指令就绪了,向量访存指令会阻挡标量访存指令比较长时间,所以当向量访存指令执行期间若发现有更老的标量访存指令就绪了,会优先执行标量访存指令。
如上所述,当向量访存指令执行期间有在先的标量访存指令准备就绪,会优先执行标量访存指令,但是向量访存指令会拆分出多笔操作,假如已经拆分到最后一笔发现有在先的指令已就绪,如果整个向量访存指令都清除掉去执行标量,则前面向量的执行都浪费了。
发明内容
本发明的目的在于提供一种方法将向量的执行状态保存起来以供指令重新开始执行时从发生重做的地方开始执行,而不是从头开始执行,提高处理效率。
为了达到上述目的,本发明采用如下技术方案:
乱序访存机制下的顺序向量调度方法,包括如下步骤:
(1)访存指令存放在访存指令发射队列中,当访存指令为向量访存指令时,向量访存指令的操作数就绪后同时发射到访存流水线和向量译码单元;
(2)向量访存指令经过向量译码单元译码后存放至向量写回缓存中等待数据的拼接和写回;
(3)访存流水线包括若干个执行阶段和写回阶段,向量访存指令在访存流水线中按顺序执行,在写回阶段将数据写至向量写回缓存,然后写回至向量寄存器;
(4)执行阶段1的向量访存指令发射至地址拆分单元,地址拆分单元将向量访存指令进行拆分后送至执行阶段1,同时地址拆分单元将拆分信息暂存入重做队列并标记;
(5)当任何一个执行阶段接收到重做信号时,先将信息记录在发射队列,然后待重新发射至访存流水线的执行阶段1时读取重做队列信息,从被标记的向量访存指令拆分开始重做,当重做队列为空时,重做完成。
当向量指令执行过程发生中断的时候最近的几笔拆分暂存在重做队列内,访存流水线优先执行就绪的标量访存指令或者向量访存指令,执行完毕后,访存流水线读取重做队列的信息,从中断点继续执行。
优选的,步骤(2)中,向量译码单元用于对输入的向量访存指令进行译码,获得必要的指令信息,包括指令类型、向量源操作数寄存器号和向量目的寄存器号。
优选的,步骤(3)中,执行阶段有三个,执行阶段1进行地址计算,执行阶段2进行存储器访问,执行阶段3进行数据获取,写回阶段进行数据的写回。执行阶段的数量没有要求,一般为三个。
优选的,步骤(3)中,执行阶段1从访存指令发射队列获得访存指令的基地址和偏移量,得到第一笔拆分地址。
优选的,步骤(4)中,地址拆分单元根据向量访存指令的信息进行剩余的拆分,得到余下的拆分地址。向量访存指令的部分信息如第几笔从向量译码单元获取。
优选的,步骤(4)中,重做队列的深度为执行阶段最多重做笔数。
优选的,步骤(5)中,触发重做信号的情况包括但不限于
a.在后的向量访存指令已经进入访存流水线执行,但是在先的标量访存指令就绪;
b.访存流水线中缓存已满。
优选的,步骤(5)中,地址拆分单元内设有状态机控制重做机制,初始时状态机为空闲状态,当向量访存指令开始拆分后进入拆分状态,当向量访存指令发出需要重做的信号后,状态机从拆分状态进入停顿状态,等向量访存指令再次下发下来时,读取重做队列的信息,当重做队列为空时,重做完成,若该笔拆分为最后一笔,则状态机进入空闲状态,若不是最后一笔,则进入拆分状态继续拆分。
优选的,步骤(5)中,访存流水线每个执行阶段均设有计数器,在发生重做的时候更新该计数器,然后在每次成功再次执行后对计数器进行递减,直至计数器为0后重做完成。
优选的,步骤(1)中,当访存指令为标量时,标量访存指令的操作数就绪后发射到访存流水线,标量访存指令在访存流水线的写回阶段进行数据写回至标量寄存器。
由于采用上述技术方案,本发明具有以下有益效果:
1、向量指令执行被中断后再次执行时不需要完全从头开始执行,可以从被打断的那笔拆分开始执行,这样即保证了在先标量指令可以优先执行,又不会浪费前面已经执行完成的向量拆分。
2、当向量指令执行发生中断的时候将发生中断的该笔拆分暂存至重做队列内,访存流水线优先执行就绪的标量访存指令或者向量访存指令,执行完毕后,访存流水线读取重做队列的信息,从中断点继续执行,提高执行效率。
3、不影响原有标量访存指令执行过程,且更大程度复用了原有访存单元执行过程,减少了硬件资源开销。
附图说明
下面通过附图对本发明作进一步说明。
图1为本发明中乱序访存机制下的顺序向量调度方法的流程图。
图2为本发明中状态机三种状态的示意图。
具体实施方式
如图1所示的乱序访存机制下的顺序向量调度方法,包括如下步骤:
(1)访存指令存放在访存指令发射队列中,当访存指令为向量访存指令时,向量访存指令的操作数就绪后同时发射到访存流水线和向量译码单元。
(2)向量访存指令经过向量译码单元译码后存放至向量写回缓存中等待数据的拼接和写回,向量译码单元用于对输入的向量访存指令进行译码,获得必要的指令信息,包括指令类型、向量源操作数寄存器号和向量目的寄存器号。
(3)访存流水线包括若三个执行阶段和写回阶段,执行阶段1进行地址计算,执行阶段2进行存储器访问,执行阶段3进行数据获取,写回阶段进行数据的写回,向量访存指令在访存流水线中按顺序执行,在写回阶段将数据写至向量写回缓存,然后写回至向量寄存器,执行阶段1从访存指令发射队列获得访存指令的基地址和偏移量,得到第一笔拆分地址。
(4)执行阶段1的向量访存指令发射至地址拆分单元地址拆分单元根据向量访存指令的信息进行剩余的拆分,得到余下的拆分地址后送至执行阶段1,同时地址拆分单元将拆分信息暂存入重做队列并标记。
(5)当任何一个执行阶段接收到重做信号时,先将信息记录在发射队列,然后重新发射至访存流水线的执行阶段1时读取重做队列信息,从被标记的向量访存指令开始重做,当重做队列为空时,重做完成。
对于同一条指令,在不同的执行阶段需要重做的笔数不同。如果在执行阶段1的指令需要重做,只需要重做一笔,而如果在执行阶段2的指令需要重做则需要重做两笔,例如下面指令序列,S1表示执行阶段1,S2表示执行阶段2,S3表示执行阶段3,S4表示写回阶段:
inst0_0表示inst0的第一笔拆分,如果inst0_0在T0时刻需要重做,则只需要重做这一笔,如果在T1时刻inst0发生了重做信号,那么第二笔拆分即inst0_1已经进入了执行阶段1,所以就需要重做这两笔,而如果在T2时刻inst0需要重做,这时候第二笔拆分inst0_1进入了执行阶段2,而第三笔拆分即inst0_2也进入了执行阶段1,所以就需要重做三笔。
但是若执行阶段3和执行阶段2不是同一条指令,执行阶段3的指令需要重做,那么执行阶段3的指令和执行阶段2的指令重做的数目就不同,例如下面指令序列:
inst0_7表示inst0的第8笔拆分,inst1_0表示inst1的第1笔拆分,若在T1时刻inst0的第8笔需要重做,则在执行阶段1的inst0_7需要重做一笔,在执行阶段2的inst1_0也需要重做一笔,这就需要在重做的时候告诉指令队列需要重做的指令编号及需要重做的次数。
最极端的情况是执行阶段3发生重做信号,而执行阶段3、执行阶段2和执行阶段1都是不同指令,比如上述的inst1只需要拆分一笔,上述序列会变成如下情况:
若在T2时刻inst0需要重做,在执行阶段3的inst0、执行阶段2的inst1和执行阶段1的inst2都只需要重做一笔,如下所示:
执行阶段2发生重做的情况如下:
1、执行阶段1和执行阶段2是同一条指令,重做两笔。
2、执行阶段1和执行阶段2是不同指令,两条指令各重做一笔。
执行阶段3发生重做情况如下:
1、执行阶段1、执行阶段2和执行阶段3是同一条指令,重做三笔。
2、执行阶段2和执行阶段3是同一条指令,执行阶段1是不同指令,执行阶段3的指令重做两笔,执行阶段1的指令重做一笔。
3、执行阶段1、执行阶段2和执行阶段3均是不同指令,三条指令各重做一笔。
重做队列的深度为执行阶段最多重做笔数。重做队列的深度取决于最多会重做几笔,当向量指令每一笔拆分完成后,该笔拆分的地址、元素索引等信息就会更新为下一笔拆分所需要的信息,因此需要这几笔重做,每一笔重做的信息都需要保存,本实施例的情况是最多需要重做三笔,所以重做队列的深度是3。
当向量指令执行发生中断的时候将发生中断的该笔拆分保存起来,以用于再次执行时可以从中断点开始执行,由于发生中断的时间未知,不能等中断后再保存,因为前面执行完成的拆分信息已经更新,所以每笔拆分都需要将该笔信息保存到队列中,过程如下:
1、第一笔拆分保存至队列1中。
2、第二笔拆分保存至队列2中。
3、第三笔拆分保存至队列3中。
4、第四笔拆分保存至队列1中,依次循环,重做队列保存着最近的3笔拆分。
步骤(5)中,触发重做信号的情况包括但不限于
a.在后的向量访存指令已经进入访存流水线执行,但是在先的标量访存指令就绪;
b.访存流水线中缓存已满。
如图1和图2所示,地址拆分单元内设有状态机控制重做机制,初始时状态机为空闲状态,当向量访存指令开始拆分后进入拆分状态,当向量访存指令发出需要重做的信号后,状态机从拆分状态进入停顿状态,等向量访存指令再次下发下来时,读取重做队列的信息,当重做队列为空时,重做完成,若该笔拆分为最后一笔,则状态机进入空闲状态,若不是最后一笔,则进入拆分状态继续拆分。
如图1所示,步骤(5)中,由于会出现重做次数不同的情况,发生重做的时候就需要知道重做的次数,因此访存流水线每个执行阶段均设有计数器,在发生重做的时候更新该计数器,然后在每次成功再次执行后对计数器进行递减,直至计数器为0后重做完成。
当访存指令为标量访存指令时,标量访存指令的操作数就绪后发射到访存流水线,标量访存指令在访存流水线的写回阶段进行数据写回至标量寄存器。
以上仅为本发明的具体实施例,但本发明的技术特征并不局限于此。任何以本发明为基础,为解决基本相同的技术问题,实现基本相同的技术效果,所作出地简单变化、等同替换或者修饰等,皆涵盖于本发明的保护范围之中。

Claims (10)

1.乱序访存机制下的顺序向量调度方法,其特征在于,包括如下步骤:
(1)访存指令存放在访存指令发射队列中,当访存指令为向量访存指令时,向量访存指令的操作数就绪后同时发射到访存流水线和向量译码单元;
(2)向量访存指令经过向量译码单元译码后存放至向量写回缓存中等待数据的拼接和写回;
(3)访存流水线包括若干个执行阶段和写回阶段,向量访存指令在访存流水线中按顺序执行,在写回阶段将数据写至向量写回缓存,然后写回至向量寄存器;
(4)执行阶段1的向量访存指令发射至地址拆分单元,地址拆分单元将向量访存指令进行拆分后送至执行阶段1,同时地址拆分单元将拆分信息暂存入重做队列并标记;
(5)当任何一个执行阶段接收到重做信号时,先将信息记录在发射队列,然后重新发射至访存流水线的执行阶段1时读取重做队列信息,从被标记的向量访存指令拆分开始重做,当重做队列为空时,重做完成。
2.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(2)中,向量译码单元用于对输入的向量访存指令进行译码,获得必要的指令信息,包括指令类型、向量源操作数寄存器号和向量目的寄存器号。
3.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(3)中,执行阶段有三个,执行阶段1进行地址计算,执行阶段2进行存储器访问,执行阶段3进行数据获取,写回阶段进行数据的写回。
4.根据权利要求3所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(3)中,执行阶段1从访存指令发射队列获得访存指令的基地址和偏移量,得到第一笔拆分地址。
5.根据权利要求4所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(4)中,地址拆分单元根据向量访存指令的信息进行剩余的拆分,得到余下的拆分地址。
6.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(4)中,重做队列的深度为执行阶段最多重做笔数。
7.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(5)中,触发重做信号的情况包括但不限于
a.在后的向量访存指令已经进入访存流水线执行,但是在先的标量访存指令就绪;
b.访存流水线中缓存已满。
8.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(5)中,地址拆分单元内设有状态机控制重做机制,初始时状态机为空闲状态,当向量访存指令开始拆分后进入拆分状态,当向量访存指令发出需要重做的信号后,状态机从拆分状态进入停顿状态,等向量访存指令再次下发下来时,读取重做队列的信息,当重做队列为空时,重做完成,若该笔拆分为最后一笔,则状态机进入空闲状态,若不是最后一笔,则进入拆分状态继续拆分。
9.根据权利要求8所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(5)中,访存流水线每个执行阶段均设有计数器,在发生重做的时候更新该计数器,然后在每次成功再次执行后对计数器进行递减,直至计数器为0后重做完成。
10.根据权利要求1所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(1)中,当访存指令为标量时,标量访存指令的操作数就绪后发射到访存流水线,标量访存指令在访存流水线的写回阶段进行数据写回至标量寄存器。
CN202310619395.2A 2023-05-29 2023-05-29 乱序访存机制下的顺序向量调度方法 Active CN116841614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310619395.2A CN116841614B (zh) 2023-05-29 2023-05-29 乱序访存机制下的顺序向量调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310619395.2A CN116841614B (zh) 2023-05-29 2023-05-29 乱序访存机制下的顺序向量调度方法

Publications (2)

Publication Number Publication Date
CN116841614A true CN116841614A (zh) 2023-10-03
CN116841614B CN116841614B (zh) 2024-03-15

Family

ID=88158936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310619395.2A Active CN116841614B (zh) 2023-05-29 2023-05-29 乱序访存机制下的顺序向量调度方法

Country Status (1)

Country Link
CN (1) CN116841614B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721018A (ja) * 1993-07-05 1995-01-24 Sanyo Electric Co Ltd マイクロプログラム制御方式の中央処理装置
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
CN101211257A (zh) * 2006-12-30 2008-07-02 中国科学院计算技术研究所 基于局部相联查找的解决访存相关的方法和处理器
US20150095615A1 (en) * 2012-06-15 2015-04-02 Soft Machines, Inc. Instruction definition to implement load store reordering and optimization
US20170060579A1 (en) * 2015-08-26 2017-03-02 Huawei Technologies Co., Ltd. Device and processing architecture for instruction memory efficiency
CN106933533A (zh) * 2015-12-31 2017-07-07 北京国睿中数科技股份有限公司 访存部件及访存部件中访存指令读取数据的方法
WO2017185418A1 (zh) * 2016-04-29 2017-11-02 北京中科寒武纪科技有限公司 一种用于执行神经网络运算以及矩阵/向量运算的装置和方法
CN108845830A (zh) * 2018-07-03 2018-11-20 中国人民解放军国防科技大学 一种一对数装载指令的执行方法
CN110908716A (zh) * 2019-11-14 2020-03-24 中国人民解放军国防科技大学 一种向量聚合装载指令的实现方法
CN111198715A (zh) * 2019-12-26 2020-05-26 核芯互联科技(青岛)有限公司 一种面向乱序高性能核的内存控制器命令调度方法及装置
CN114780149A (zh) * 2022-04-07 2022-07-22 中国人民解放军国防科技大学 用于乱序超标量处理器的操作依赖性调度方法、部件及处理器
US20220382546A1 (en) * 2021-05-31 2022-12-01 Andes Technology Corporation Apparatus and method for implementing vector mask in vector processing unit
CN115576610A (zh) * 2022-11-18 2023-01-06 北京数渡信息科技有限公司 一种适用于通用顺序发射处理器的指令分发处理方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
JPH0721018A (ja) * 1993-07-05 1995-01-24 Sanyo Electric Co Ltd マイクロプログラム制御方式の中央処理装置
CN101211257A (zh) * 2006-12-30 2008-07-02 中国科学院计算技术研究所 基于局部相联查找的解决访存相关的方法和处理器
US20150095615A1 (en) * 2012-06-15 2015-04-02 Soft Machines, Inc. Instruction definition to implement load store reordering and optimization
US20170060579A1 (en) * 2015-08-26 2017-03-02 Huawei Technologies Co., Ltd. Device and processing architecture for instruction memory efficiency
CN106933533A (zh) * 2015-12-31 2017-07-07 北京国睿中数科技股份有限公司 访存部件及访存部件中访存指令读取数据的方法
WO2017185418A1 (zh) * 2016-04-29 2017-11-02 北京中科寒武纪科技有限公司 一种用于执行神经网络运算以及矩阵/向量运算的装置和方法
CN108845830A (zh) * 2018-07-03 2018-11-20 中国人民解放军国防科技大学 一种一对数装载指令的执行方法
CN110908716A (zh) * 2019-11-14 2020-03-24 中国人民解放军国防科技大学 一种向量聚合装载指令的实现方法
CN111198715A (zh) * 2019-12-26 2020-05-26 核芯互联科技(青岛)有限公司 一种面向乱序高性能核的内存控制器命令调度方法及装置
US20220382546A1 (en) * 2021-05-31 2022-12-01 Andes Technology Corporation Apparatus and method for implementing vector mask in vector processing unit
CN114780149A (zh) * 2022-04-07 2022-07-22 中国人民解放军国防科技大学 用于乱序超标量处理器的操作依赖性调度方法、部件及处理器
CN115576610A (zh) * 2022-11-18 2023-01-06 北京数渡信息科技有限公司 一种适用于通用顺序发射处理器的指令分发处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘博;张盛兵;黄嵩人;: "静态超标量MCU-DSP内核的Load先行访存调度", 计算机应用研究, no. 02, 15 February 2013 (2013-02-15) *
张昆;郑方;谢向辉;: "以访存为中心的阵列众核处理器核心流水线设计", 计算机工程与科学, no. 12, 15 December 2017 (2017-12-15) *
田杭沛;高德远;樊晓桠;朱怡安;: "面向实时流处理的多核多线程处理器访存队列", 计算机研究与发展, no. 10, 15 October 2009 (2009-10-15) *

Also Published As

Publication number Publication date
CN116841614B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US8074060B2 (en) Out-of-order execution microprocessor that selectively initiates instruction retirement early
JP2786574B2 (ja) コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
CN100590655C (zh) 指令解析器以及图形处理单元及其方法
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US6301655B1 (en) Exception processing in asynchronous processor
JP5209933B2 (ja) データ処理装置
JP5837033B2 (ja) 効率的な割込み復帰アドレス保存メカニズム
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
US9213547B2 (en) Processor and method for processing instructions using at least one processing pipeline
JPH1196006A (ja) 情報処理装置
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
US9983932B2 (en) Pipeline processor and an equal model compensator method and apparatus to store the processing result
US7130988B2 (en) Status register update logic optimization
JP5185478B2 (ja) パイプライン処理方法並びにその方法を利用するパイプライン処理装置
RU2820021C1 (ru) Способ конвейерной обработки команд для компьютера с vliw-процессором и оптимизирующим компилятором и компьютер для осуществления способа
JP2009054032A (ja) 並列プロセッサ
JP3743155B2 (ja) パイプライン制御型計算機
KR100765867B1 (ko) 계산기와 그 제어 방법
US7490226B2 (en) Method using vector component comprising first and second bits to regulate movement of dependent instructions in a microprocessor
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP5013966B2 (ja) 演算処理装置
JPS5829051A (ja) 演算処理装置
CN113407240A (zh) 一种C64x+ DSP软件流水循环缓冲机制的模拟方法
JP3668643B2 (ja) 情報処理装置

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