CN116841614B - 乱序访存机制下的顺序向量调度方法 - Google Patents
乱序访存机制下的顺序向量调度方法 Download PDFInfo
- Publication number
- CN116841614B CN116841614B CN202310619395.2A CN202310619395A CN116841614B CN 116841614 B CN116841614 B CN 116841614B CN 202310619395 A CN202310619395 A CN 202310619395A CN 116841614 B CN116841614 B CN 116841614B
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000001514 detection method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 (8)
1.乱序访存机制下的顺序向量调度方法,其特征在于,包括如下步骤:
(1)访存指令存放在访存指令发射队列中,当访存指令为向量访存指令时,向量访存指令的操作数就绪后同时发射到访存流水线和向量译码单元;
(2)向量访存指令经过向量译码单元译码后存放至向量写回缓存中等待数据的拼接和写回;
(3)访存流水线包括若干个执行阶段和写回阶段,向量访存指令在访存流水线中按顺序执行,在写回阶段将数据写至向量写回缓存,然后写回至向量寄存器;
(4)执行阶段1的向量访存指令发射至地址拆分单元,地址拆分单元将向量访存指令进行拆分后送至执行阶段1,同时地址拆分单元将拆分信息暂存入重做队列并标记;
(5)当任何一个执行阶段接收到重做信号时,先将信息记录在发射队列,然后重新发射至访存流水线的执行阶段1时读取重做队列信息,地址拆分单元内设有状态机控制重做机制,初始时状态机为空闲状态,当向量访存指令开始拆分后进入拆分状态,当向量访存指令发出需要重做的信号后,状态机从拆分状态进入停顿状态,等向量访存指令再次下发下来时,读取重做队列的信息,当重做队列为空时,重做完成,若该笔拆分为最后一笔,则状态机进入空闲状态,若不是最后一笔,则进入拆分状态继续拆分,访存流水线每个执行阶段均设有计数器,在发生重做的时候更新该计数器,然后在每次成功再次执行后对计数器进行递减,直至计数器为0后重做完成。
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所述乱序访存机制下的顺序向量调度方法,其特征在于:步骤(1)中,当访存指令为标量时,标量访存指令的操作数就绪后发射到访存流水线,标量访存指令在访存流水线的写回阶段进行数据写回至标量寄存器。
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 CN116841614A (zh) | 2023-10-03 |
CN116841614B true 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 (10)
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 | 中国科学院计算技术研究所 | 基于局部相联查找的解决访存相关的方法和处理器 |
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 | 中国人民解放军国防科技大学 | 用于乱序超标量处理器的操作依赖性调度方法、部件及处理器 |
CN115576610A (zh) * | 2022-11-18 | 2023-01-06 | 北京数渡信息科技有限公司 | 一种适用于通用顺序发射处理器的指令分发处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101826399B1 (ko) * | 2012-06-15 | 2018-02-06 | 인텔 코포레이션 | Load store 재정렬 및 최적화를 구현하는 명령어 정의 |
US11275590B2 (en) * | 2015-08-26 | 2022-03-15 | Huawei Technologies Co., Ltd. | Device and processing architecture for resolving execution pipeline dependencies without requiring no operation instructions in the instruction memory |
US20220382546A1 (en) * | 2021-05-31 | 2022-12-01 | Andes Technology Corporation | Apparatus and method for implementing vector mask in vector processing unit |
-
2023
- 2023-05-29 CN CN202310619395.2A patent/CN116841614B/zh active Active
Patent Citations (10)
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 | 中国科学院计算技术研究所 | 基于局部相联查找的解决访存相关的方法和处理器 |
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 | 中国人民解放军国防科技大学 | 用于乱序超标量处理器的操作依赖性调度方法、部件及处理器 |
CN115576610A (zh) * | 2022-11-18 | 2023-01-06 | 北京数渡信息科技有限公司 | 一种适用于通用顺序发射处理器的指令分发处理方法及装置 |
Non-Patent Citations (3)
Title |
---|
刘博 ; 张盛兵 ; 黄嵩人 ; .静态超标量MCU-DSP内核的Load先行访存调度.计算机应用研究.2013,(02),全文. * |
张昆 ; 郑方 ; 谢向辉 ; .以访存为中心的阵列众核处理器核心流水线设计.计算机工程与科学.2017,(12),全文. * |
面向实时流处理的多核多线程处理器访存队列;田杭沛;高德远;樊晓桠;朱怡安;;计算机研究与发展;20091015(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116841614A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5003462A (en) | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means | |
US8074060B2 (en) | Out-of-order execution microprocessor that selectively initiates instruction retirement early | |
US6301655B1 (en) | Exception processing in asynchronous processor | |
JP5209933B2 (ja) | データ処理装置 | |
JP2560988B2 (ja) | 情報処理装置および処理方法 | |
JP5837033B2 (ja) | 効率的な割込み復帰アドレス保存メカニズム | |
CN116841614B (zh) | 乱序访存机制下的顺序向量调度方法 | |
JPH1196006A (ja) | 情報処理装置 | |
EP0212132A1 (en) | Method and digital computer for recovering from errors | |
JP2006048661A (ja) | プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置 | |
US9983932B2 (en) | Pipeline processor and an equal model compensator method and apparatus to store the processing result | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
US7130988B2 (en) | Status register update logic optimization | |
JP5185478B2 (ja) | パイプライン処理方法並びにその方法を利用するパイプライン処理装置 | |
US7490226B2 (en) | Method using vector component comprising first and second bits to regulate movement of dependent instructions in a microprocessor | |
JP3766772B2 (ja) | 情報処理装置、例外回復処理方法および記録媒体 | |
KR100765867B1 (ko) | 계산기와 그 제어 방법 | |
JP2793386B2 (ja) | 電子計算機の演算エラー情報保持装置 | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JP3668643B2 (ja) | 情報処理装置 | |
WO2023129236A1 (en) | Issuing instructions on a vector processor | |
JP5013966B2 (ja) | 演算処理装置 | |
CN117520038A (zh) | 一种超标量的低功耗处理器中处理异常和中断的方法及装置 | |
JP2002351658A (ja) | 演算処理装置 | |
JPH0269825A (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 |