CN111552366B - 一种动态延迟唤醒电路及乱序指令发射架构 - Google Patents
一种动态延迟唤醒电路及乱序指令发射架构 Download PDFInfo
- Publication number
- CN111552366B CN111552366B CN202010264559.0A CN202010264559A CN111552366B CN 111552366 B CN111552366 B CN 111552366B CN 202010264559 A CN202010264559 A CN 202010264559A CN 111552366 B CN111552366 B CN 111552366B
- Authority
- CN
- China
- Prior art keywords
- instruction
- circuit
- wake
- idle
- transmitted
- 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
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 230000003111 delayed effect Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013481 data capture Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种动态延迟唤醒电路及乱序指令发射架构,属于处理器设计领域。所述动态延迟唤醒电路,包括比较器、指令执行辨别电路和寄存器,通过指令执行辨别电路识别待发射指令的执行周期,并输出待发射指令的周期数,寄存器通过待发射指令的周期数对将要送出的唤醒信号进行寄存,从而达到对唤醒信号顺序调整的目的,对执行周期短的指令延迟唤醒,对执行周期长的指令提前唤醒,从而保证了流水线上的指令能够背靠背执行,提高了流水线的效率。
Description
技术领域
本发明涉及一种动态延迟唤醒电路及乱序指令发射架构,属于处理器设计领域。
背景技术
处理器中发射电路的工作过程就是不断发射指令的过程,因此指令发射架构是实现处理器高性能的重要架构之一;为了获得高性能,指令发射架构必须在低延迟的情况下实现高 IPC(Instructions per clock,每周期执行指令数),而指令发射架构想要实现低延时,就要求其所包括的指令分配电路、指令请求电路以及唤醒电路能够尽可能的实现低延时。
唤醒电路作为指令发射架构的构成部分,用于唤醒即将被发射的指令;传统唤醒电路不经过延迟就对可以被唤醒的指令进行唤醒,或者延迟固定周期对可以被唤醒的指令进行唤醒。在现代超标量乱序发射处理器中,各个指令的执行周期差异很大,按照传统唤醒电路的逻辑来唤醒指令,会有前一个指令还没执行完成,下一个指令就被唤醒并发射的情况发生。
这种情况的发生就会造成流水线中产生延迟气泡,降低流水线的效率,影响处理器的 IPC。因此,针对上述需求和挑战,针对低延迟、高IPC等条件,提供一种动态延迟唤醒电路的设计是非常迫切的。
发明内容
为了解决在运用传统唤醒电路时,存在指令间存有气泡,流水线效率不高的问题,本发明提供了一种动态延迟唤醒电路及乱序指令发射架构,所述技术方案如下:
一种唤醒电路,所述唤醒电路包括比较器、指令执行辨别电路、寄存器;
所述比较器用于比较待发射指令的源寄存器编号和已发射指令的目的寄存器编号是否相等;若相等则送出唤醒信号;
所述指令执行辨别电路用于识别待发射指令的执行周期,并输出待发射指令的周期数;
所述寄存器用于根据所述指令执行辨别电路输出的待发射指令的周期数,对将要送出的唤醒信号进行寄存,从而确定待发射指令的唤醒信号顺序,根据唤醒信号顺序对待发射指令进行唤醒操作。
可选的,所述指令执行辨别电路通过只读RAM实现,只读RAM中预先写好不同指令对应的执行周期数,通过输入指令的类别码作为地址来读出RAM中预先存放的周期数,从而得到相应指令的操作周期。
可选的,若待发射指令的源寄存器编号和已发射指令的目的寄存器编号相等,则比较器输出高电平,作为唤醒信号,代表指令被唤醒;若不相等,则输出低电平,代表指令不被唤醒。
可选的,所述唤醒电路在唤醒指令时,当具有前后顺序的指令中在前指令被发射后,处理器等待在前指令执行完毕后再唤醒在后指令。
本发明还提供一种指令唤醒方法,所述方法应用于上述唤醒电路中,所述方法根据待发射指令的周期数确定待发射指令的唤醒顺序,对执行周期短的指令延迟唤醒,对执行周期长的指令提前唤醒,以此保证流水线上的指令能够背靠背执行。
可选的,所述方法包括:
获取待发射指令的源寄存器编号和已发射指令的目的寄存器编号,比较二者是否相等;
若相等则送出唤醒信号,同时获取待发射指令的执行周期,根据待发射指令的周期对将要送出的唤醒信号进行寄存,确定待发射指令的唤醒顺序。
本发明还提供一种乱序指令发射架构,所述乱序指令发射架构中包含上述唤醒电路
可选的,所述乱序指令发射架构还包括指令分配电路和指令请求电路;
所述指令分配电路用于将物理寄存器发送过来的多条指令分配给发射队列中空闲的表项;
所述指令请求电路用于统计发射队列中表项空闲信号总数,并用特殊编码对空闲信号的数量进行编码,若经过该编码的空闲信号总数小于同样经过该编码的指令发射宽度,则向物理寄存器堆发出指令请求信号。
可选的,所述指令请求电路由两部分构成:类加法层和后log2(n/2)层移位逻辑层,n 为乱序指令发射架构指令发射宽度;
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,其中表项的空闲信号序列为一串n位的二进制序列,n为发射队列中的表项数,空闲信号序列的每一位代表发射队列中每一个表项是否空闲,若空闲则为0,非空闲则为1;将类加法层的输出送入后log2(n/2)层移位逻辑层,移位逻辑层层层相连,且呈树状结构,最终输出统计结果。统计结果与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号。
可选的,所述类加法层由类加法计算单元构成;所述将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,包括:
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,每个类加法单元输入空闲信号序列中的两个二进制数并分别作与运算和异或运算,然后比较二者的计算结果:
若相等,且与运算结果为1,则输出代表1的编码:“01”,表示类加法单元的两个二级制数输入的和为1,并对其编码为“01”
若相等,且与运算结果位0,则输出代表0的编码:“10”,表示类加法单元的两个二级制数输入的和为0,并对其编码为“10”;
若不相等,则输出代表2的编码:“00”,表示类加法单元的两个二级制数输入的和为 2,并对其编码为“00”;
编码位数为n;
所述后log2(n/2)层移位逻辑层由右移移位器构成;所述将编码后的空闲信号总数类加法层的输出结果输入后log2(n/2)层移位逻辑层,与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号,包括:
右移移位器把一类加法单元器输出作为待移位数据输入,把另一类加法单元器输出作为移位位数输入,待移位数通过右移移位器右移n位,其中n为移位位数所对应的十进制数。
本发明有益效果是:
本发明通过提供一种动态延迟唤醒电路,包括比较器、指令执行辨别电路和寄存器,通过指令执行辨别电路识别待发射指令的执行周期,并输出待发射指令的周期数,寄存器通过待发射指令的周期数对将要送出的唤醒信号进行寄存,从而达到对唤醒信号顺序调整的目的,对执行周期短的指令延迟唤醒,对执行周期长的指令提前唤醒,从而保证了流水线上的指令能够背靠背执行,提高了流水线的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的唤醒电路的组成示意图。
图2为经过唤醒电路调整唤醒顺序的流水线示意图。
图3为多指令乱序发射架构总体组成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本实施例提供一种动态延迟唤醒电路,参见图1,所述唤醒电路由比较器、指令执行周期辨别电路、寄存器构成;比较器输入待发射指令的源寄存器编号和已发射指令的目的寄存器编号;指令执行周期辨别电路根据输入指令编码识别指令执行周期,寄存器输入比较器的输出和指令执行周期辨别电路的输出,根据指令执行周期决定对比较器输出延迟几个周期输出。
唤醒电路的输入为待发射指令的源寄存器编号和已发射指令的目的寄存器编号,通过比较器来比较待发射指令的源寄存器编号和已发射指令的目的寄存器编号是否相等,若相等则送出唤醒信号;同时唤醒电路通过指令执行辨别电路识别待发射指令的执行周期,并输出待发射指令的周期数,寄存器通过待发射指令的周期数对将要送出的唤醒信号进行寄存,从而达到对唤醒信号顺序调整的目的,对执行周期短的指令延迟唤醒,对执行周期长的指令提前唤醒,以此保证流水线上的指令能够背靠背执行,提高流水线的效率。
所述比较器用于比较待发射指令的源寄存器编号和已发射指令的目的寄存器编号是否相等,若相等则输出高电平,表示该指令被唤醒;若不相等则输出低电平,表示该指令不被唤醒。
所述指令辨别电路为一只读RAM,输入为不同指令的类别码,该RAM中预先写好不同指令对应的执行周期数,通过输入指令的类别码作为地址来读出RAM中预先存放的周期数,从而得到相应指令的操作周期。
所述唤醒信号寄存电路,输入待发射指令的周期数,寄存电路通过该周期数,对比较器输出的唤醒信号进行寄存,寄存周期为相应待发射指令的周期数。
唤醒方法步骤如下:
获取待发射指令的源寄存器编号和已发射指令的目的寄存器编号,比较二者是否相等;
若相等则送出唤醒信号,同时获取待发射指令的执行周期,根据待发射指令的周期对将要送出的唤醒信号进行寄存,确定待发射指令的唤醒顺序。
如图2所示为,经过指令唤醒调整的流水线示意图。指令A需3个执行周期,指令B、C、D各需一个执行周期,经过唤醒电路的唤醒顺序调整,使指令D延迟指令A两个周期唤醒,可使指令A、D之间插入两条背靠背执行的指令B、C,从而保证4条指令全部背靠背执行,不存在延迟气泡,提高流水线的执行效率。
而如果采用传统的唤醒电路,则指令与指令间会存在延迟气泡,造成处理器流水线的效率低下,本发明通过对指令的动态唤醒,使得各指令能够尽可能背靠背执行,消除指令间的延迟气泡,提高流水线效率。
实施例二
本实施例提供一种多指令乱序发射电路,所述多指令乱序指令发射架构中的唤醒电路采用实施例一所述的动态延迟唤醒电路。
该乱序指令发射电路包含指令分配电路、指令请求电路、仲裁电路与实施例一给出的动态延迟唤醒电路。
该乱序指令发射电路为非数据捕捉型结构,即存在于物理寄存器堆的指令在被发射前不会正真进入发射队列,取而代之的是该指令的寄存器编号,当该指令被发射以后,发射电路通过指令的寄存器编号在物理寄存器堆中寻求相对应的指令送入执行部件执行。指令的寄存器编号通过指令分配电路分配,进入发射队列的空闲表项,并进行暂存。
仲裁电路对各表项中代表指令的寄存器标号进行选择,选出适合发射的代表指令的寄存器标号。同时,唤醒电路输入指令编码、待发射指令的源寄存器编号和已发射指令的目的寄存器编号,唤醒电路通过比较被仲裁电路选中的待发射指令的源寄存器编号与已发射指令的目的寄存器编号,若相等,则输出高电平代表唤醒信号,并通过该指令的执行周期决定延迟输出该唤醒信号的周期数,延迟唤醒相对应的指令,指令被唤醒是指令能被仲裁发射的前提条件。
指令请求电路每个时钟周期会接收表项空闲信号序列,扫描发射队列中空闲表项并通过累加操作统计空闲表项数,若空闲表项数量大于指令发射宽度,则指令请求电路会向物理寄存器堆发送请求信号,请求新的指令送入发射电路。
实施例三
本实施例提供一种多指令乱序发射电路,所述多指令乱序指令发射架构中的唤醒电路采用实施例一所述的动态延迟唤醒电路,多指令乱序指令发射架构中的指令请求电路采用类加法逻辑和右移移位逻辑统计空闲表项数,若经过该编码的空闲信号总数小于同样经过该编码的指令发射宽度,则向物理寄存器堆发出指令请求信号。参见图3。
该乱序指令发射电路包含指令分配电路、指令请求电路、仲裁电路与唤醒电路。该乱序指令发射电路为非数据捕捉型结构,即存在于物理寄存器堆的指令在被发射前不会正真进入发射队列,取而代之的是该指令的寄存器编号,当该指令被发射以后,发射电路通过指令的寄存器编号在物理寄存器堆中寻求相对应的指令送入执行部件执行。指令的寄存器编号通过指令分配电路分配,进入发射队列的空闲表项,并进行暂存。
仲裁电路对各表项中代表指令的寄存器标号进行选择,选出适合发射的代表指令的寄存器标号。同时,唤醒电路输入指令编码、待发射指令的源寄存器编号和已发射指令的目的寄存器编号,唤醒电路通过比较被仲裁电路选中的待发射指令的源寄存器编号与已发射指令的目的寄存器编号,若相等,则输出高电平代表唤醒信号,并通过该指令的执行周期决定延迟输出该唤醒信号的周期数,延迟唤醒相对应的指令,指令被唤醒是指令能被仲裁发射的前提条件。
指令请求电路每个时钟周期会接收表项空闲信号序列,扫描发射队列中空闲表项并通过类加法逻辑和右移移位统计空闲表项数,若空闲表项数量大于指令发射宽度,则指令请求电路会向物理寄存器堆发送请求信号,请求新的指令送入发射电路。具体的,所述指令请求电路由两部分构成:类加法层和后log2(n/2)层移位逻辑层,n为处理器指令发射宽度;
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,其中表项的空闲信号序列为一串 n位的二进制序列,n为发射队列中的表项数,空闲信号序列的每一位代表发射队列中每一个表项是否空闲,若空闲则为0,非空闲则为1;将类加法层的输出送入后log2(n/2)层移位逻辑层,移位逻辑层层层相连,且呈树状结构,最终输出统计结果。统计结果与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号。
所述类加法层由类加法计算单元构成;所述将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,包括:
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,每个类加法单元输入空闲信号序列中的两个二进制数并分别作与运算和异或运算,然后比较二者的计算结果:
若相等,且与运算结果为1,则输出代表1的编码:“01”,表示类加法单元的两个二级制数输入的和为1,并对其编码为“01”
若相等,且与运算结果位0,则输出代表0的编码:“10”,表示类加法单元的两个二级制数输入的和为0,并对其编码为“10”;
若不相等,则输出代表2的编码:“00”,表示类加法单元的两个二级制数输入的和为 2,并对其编码为“00”;
编码位数为n;
所述后log2(n/2)层移位逻辑层由右移移位器构成;所述将编码后的空闲信号总数类加法层的输出结果输入后log2(n/2)层移位逻辑层,与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号,包括:
右移移位器把一类加法单元器输出作为待移位数据输入,把另一类加法单元器输出作为移位位数输入,待移位数通过右移移位器右移n位,其中n为移位位数所对应的十进制数。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种唤醒电路,其特征在于,所述唤醒电路包括比较器、指令执行辨别电路、寄存器;
所述比较器用于比较待发射指令的源寄存器编号和已发射指令的目的寄存器编号是否相等;若相等则送出唤醒信号;
所述指令执行辨别电路用于识别待发射指令的执行周期,并输出待发射指令的周期数;
所述寄存器用于根据所述指令执行辨别电路输出的待发射指令的周期数,对将要送出的唤醒信号进行寄存,从而确定待发射指令的唤醒信号顺序,根据唤醒信号顺序对待发射指令进行唤醒操作。
2.根据权利要求1所述的唤醒电路,其特征在于,所述指令执行辨别电路通过只读RAM实现,只读RAM中预先写好不同指令对应的执行周期数,通过输入指令的类别码作为地址来读出RAM中预先存放的周期数,从而得到相应指令的操作周期。
3.根据权利要求2所述的唤醒电路,其特征在于,若待发射指令的源寄存器编号和已发射指令的目的寄存器编号相等,则比较器输出高电平,作为唤醒信号,代表指令被唤醒;若不相等,则输出低电平,代表指令不被唤醒。
4.根据权利要求3所述的唤醒电路,其特征在于,所述唤醒电路在唤醒指令时,当具有前后顺序的指令中在前指令被发射后,乱序指令发射架构等待在前指令执行完毕后再唤醒在后指令。
5.一种指令唤醒方法,其特征在于,所述方法应用于权利要求1-4任一所述的唤醒电路中,所述方法根据待发射指令的周期数确定待发射指令的唤醒顺序,对执行周期短的指令延迟唤醒,对执行周期长的指令提前唤醒,以此保证流水线上的指令能够背靠背执行。
6.根据权利要求5所述的指令唤醒方法,其特征在于,所述方法包括:
获取待发射指令的源寄存器编号和已发射指令的目的寄存器编号,比较二者是否相等;
若相等则送出唤醒信号,同时获取待发射指令的执行周期,根据待发射指令的周期对将要送出的唤醒信号进行寄存,确定待发射指令的唤醒顺序。
7.一种乱序指令发射电路,其特征在于,所述乱序指令发射电路包括:唤醒电路、指令分配电路以及指令请求电路,其中的唤醒电路为权利要求1-4任一所述的唤醒电路。
8.根据权利要求7所述的乱序指令发射电路,其特征在于,
所述指令分配电路用于将物理寄存器发送过来的多条指令分配给发射队列中空闲的表项;
所述指令请求电路用于统计发射队列中表项空闲信号总数,并用特殊编码对空闲信号的数量进行编码,若经过该编码的空闲信号总数小于同样经过该编码的指令发射宽度,则向物理寄存器堆发出指令请求信号。
9.根据权利要求8所述的乱序指令发射电路,其特征在于,所述指令请求电路由两部分构成:类加法层和后log2(n/2)层移位逻辑层,n为处理器指令发射宽度;
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,其中表项的空闲信号序列为一串n位的二进制序列,n为发射队列中的表项数,空闲信号序列的每一位代表发射队列中每一个表项是否空闲,若空闲则为0,非空闲则为1;将类加法层的输出送入后log2(n/2)层移位逻辑层,移位逻辑层层层相连,且呈树状结构,最终输出统计结果;统计结果与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号。
10.根据权利要求9所述的乱序指令发射电路,其特征在于,所述类加法层由类加法计算单元构成;所述将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,包括:
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,每个类加法单元输入空闲信号序列中的两个二进制数并分别作与运算和异或运算,然后比较二者的计算结果:
若相等,且与运算结果为1,则输出代表1的编码:“01”,表示类加法单元的两个二级制数输入的和为1,并对其编码为“01”
若相等,且与运算结果位0,则输出代表0的编码:“10”,表示类加法单元的两个二级制数输入的和为0,并对其编码为“10”;
若不相等,则输出代表2的编码:“00”,表示类加法单元的两个二级制数输入的和为2,并对其编码为“00”;
编码位数为n;
所述后log2(n/2)层移位逻辑层由右移移位器构成;所述将编码后的空闲信号总数类加法层的输出结果输入后log2(n/2)层移位逻辑层,与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号,包括:
右移移位器把一类加法单元器输出作为待移位数据输入,把另一类加法单元器输出作为移位位数输入,待移位数通过右移移位器右移n位,其中n为移位位数所对应的十进制数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010264559.0A CN111552366B (zh) | 2020-04-07 | 2020-04-07 | 一种动态延迟唤醒电路及乱序指令发射架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010264559.0A CN111552366B (zh) | 2020-04-07 | 2020-04-07 | 一种动态延迟唤醒电路及乱序指令发射架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552366A CN111552366A (zh) | 2020-08-18 |
CN111552366B true CN111552366B (zh) | 2021-10-22 |
Family
ID=72007331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010264559.0A Active CN111552366B (zh) | 2020-04-07 | 2020-04-07 | 一种动态延迟唤醒电路及乱序指令发射架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552366B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778522B (zh) * | 2021-09-13 | 2023-10-27 | 中国电子科技集团公司第五十八研究所 | 一种发射单元中指令发射处理方法 |
CN117742796B (zh) * | 2023-12-11 | 2024-07-23 | 上海合芯数字科技有限公司 | 指令唤醒方法、装置以及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200933371A (en) * | 2007-12-12 | 2009-08-01 | Hewlett Packard Development Co | Variably delayed wakeup transition |
CN104932945A (zh) * | 2015-06-18 | 2015-09-23 | 合肥工业大学 | 一种任务级乱序多发射调度器及其调度方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526895B (zh) * | 2009-01-22 | 2011-01-05 | 杭州中天微系统有限公司 | 基于指令双发射的高性能低功耗嵌入式处理器 |
KR101730282B1 (ko) * | 2012-12-26 | 2017-04-25 | 인텔 코포레이션 | 지연된 재구성된 프로그램 순서를 이용한 선택 로직 |
US20140258697A1 (en) * | 2013-03-07 | 2014-09-11 | Mips Technologies, Inc. | Apparatus and Method for Transitive Instruction Scheduling |
US9983875B2 (en) * | 2016-03-04 | 2018-05-29 | International Business Machines Corporation | Operation of a multi-slice processor preventing early dependent instruction wakeup |
US11687345B2 (en) * | 2016-04-28 | 2023-06-27 | Microsoft Technology Licensing, Llc | Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers |
CN110502279A (zh) * | 2019-08-23 | 2019-11-26 | 中国人民解放军国防科技大学 | 一种基于可标记指令的发射队列智能调节方法 |
-
2020
- 2020-04-07 CN CN202010264559.0A patent/CN111552366B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200933371A (en) * | 2007-12-12 | 2009-08-01 | Hewlett Packard Development Co | Variably delayed wakeup transition |
CN104932945A (zh) * | 2015-06-18 | 2015-09-23 | 合肥工业大学 | 一种任务级乱序多发射调度器及其调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111552366A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538534B (zh) | 一种基于指令凋零的多指令乱序发射方法及处理器 | |
CN111552366B (zh) | 一种动态延迟唤醒电路及乱序指令发射架构 | |
TWI713637B (zh) | 用於資料解壓縮的硬體處理器、方法及系統 | |
US9529596B2 (en) | Method and apparatus for scheduling instructions in a multi-strand out of order processor with instruction synchronization bits and scoreboard bits | |
CN110163609B (zh) | 一种区块链中数据处理方法及装置 | |
CN111258535B (zh) | 一种用于fpga实现的排序方法 | |
CN113778522B (zh) | 一种发射单元中指令发射处理方法 | |
JP2008276783A (ja) | データ応答を順序変更するためのシステム | |
EP3398065A1 (en) | Data driven scheduler on multiple computing cores | |
WO2019019719A1 (zh) | 分支预测方法及装置 | |
CN112214241A (zh) | 一种分布式指令执行单元的方法及系统 | |
CN118012632B (zh) | 基于多级重分配机制的gpgpu分支指令调度方法 | |
CN111767081A (zh) | 用于加速存储处理的装置、方法和系统 | |
CN102035658A (zh) | 一种高速1553b光纤总线ip核 | |
CN106445472B (zh) | 一种字符操作加速方法、装置、芯片、处理器 | |
CN111538533B (zh) | 一种基于类加法器的指令请求电路及乱序指令发射架构 | |
US7840726B2 (en) | System and method for identifying and transferring serial data to a programmable logic device | |
WO2024146076A1 (zh) | 乱序处理器中队列的队列项选择方法及装置 | |
CN116049032B (zh) | 基于光线追踪的数据调度方法、装置及设备、存储介质 | |
WO2024093089A1 (zh) | 一种基于总线的编码方法、系统、存储介质及设备 | |
JPH1127153A (ja) | Ppm方式を採用する変調回路、復調回路及び変復調回路システム | |
CN111787325A (zh) | 一种熵编码器及其编码方法 | |
CN118312220B (zh) | 指令的发送方法、装置及设备 | |
CN111817728B (zh) | 一种基于硬件实现ldpc编译码的仿真系统及其工作方法 | |
CN115905038B (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 |