CN111552366A - 一种动态延迟唤醒电路及乱序指令发射架构 - Google Patents

一种动态延迟唤醒电路及乱序指令发射架构 Download PDF

Info

Publication number
CN111552366A
CN111552366A CN202010264559.0A CN202010264559A CN111552366A CN 111552366 A CN111552366 A CN 111552366A CN 202010264559 A CN202010264559 A CN 202010264559A CN 111552366 A CN111552366 A CN 111552366A
Authority
CN
China
Prior art keywords
instruction
wake
circuit
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.)
Granted
Application number
CN202010264559.0A
Other languages
English (en)
Other versions
CN111552366B (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.)
Jiangnan University
Original Assignee
Jiangnan University
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 Jiangnan University filed Critical Jiangnan University
Priority to CN202010264559.0A priority Critical patent/CN111552366B/zh
Publication of CN111552366A publication Critical patent/CN111552366A/zh
Application granted granted Critical
Publication of CN111552366B publication Critical patent/CN111552366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (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.根据权利要求8所述的乱序指令发射架构,其特征在于,所述类加法层由类加法计算单元构成;所述将表项的空闲信号序列输入类加法层,对表示空闲信号的数量进行特殊编码,得出经过特殊编码后的空闲信号总数,包括:
在统计表项空闲信号总数时,将表项的空闲信号序列输入类加法层,每个类加法单元输入空闲信号序列中的两个二进制数并分别作与运算和异或运算,然后比较二者的计算结果:
若相等,且与运算结果为1,则输出代表1的编码:“01”,表示类加法单元的两个二级制数输入的和为1,并对其编码为“01”
若相等,且与运算结果位0,则输出代表0的编码:“10”,表示类加法单元的两个二级制数输入的和为0,并对其编码为“10”;
若不相等,则输出代表2的编码:“00”,表示类加法单元的两个二级制数输入的和为2,并对其编码为“00”;
编码位数为n;
所述后log2(n/2)层移位逻辑层由右移移位器构成;所述将编码后的空闲信号总数类加法层的输出结果输入后log2(n/2)层移位逻辑层,与同样经过特殊编码的指令发射宽度进行比较,以确定是否需要发送指令请求信号,包括:
右移移位器把一类加法单元器输出作为待移位数据输入,把另一类加法单元器输出作为移位位数输入,待移位数通过右移移位器右移n位,其中n为移位位数所对应的十进制数。
CN202010264559.0A 2020-04-07 2020-04-07 一种动态延迟唤醒电路及乱序指令发射架构 Active CN111552366B (zh)

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 true CN111552366A (zh) 2020-08-18
CN111552366B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778522A (zh) * 2021-09-13 2021-12-10 中国电子科技集团公司第五十八研究所 一种发射单元中指令发射处理方法
CN117742796A (zh) * 2023-12-11 2024-03-22 上海合芯数字科技有限公司 指令唤醒方法、装置以及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200933371A (en) * 2007-12-12 2009-08-01 Hewlett Packard Development Co Variably delayed wakeup transition
CN101526895A (zh) * 2009-01-22 2009-09-09 杭州中天微系统有限公司 基于指令双发射的高性能低功耗嵌入式处理器
US20140258697A1 (en) * 2013-03-07 2014-09-11 Mips Technologies, Inc. Apparatus and Method for Transitive Instruction Scheduling
CN104781786A (zh) * 2012-12-26 2015-07-15 英特尔公司 使用延迟重构程序顺序的选择逻辑
CN104932945A (zh) * 2015-06-18 2015-09-23 合肥工业大学 一种任务级乱序多发射调度器及其调度方法
US20170255465A1 (en) * 2016-03-04 2017-09-07 International Business Machines Corporation Operation of a multi-slice processor preventing early dependent instruction wakeup
CN109074259A (zh) * 2016-04-28 2018-12-21 微软技术许可有限责任公司 用于块isa处理器的并行指令调度器
CN110502279A (zh) * 2019-08-23 2019-11-26 中国人民解放军国防科技大学 一种基于可标记指令的发射队列智能调节方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200933371A (en) * 2007-12-12 2009-08-01 Hewlett Packard Development Co Variably delayed wakeup transition
CN101526895A (zh) * 2009-01-22 2009-09-09 杭州中天微系统有限公司 基于指令双发射的高性能低功耗嵌入式处理器
CN104781786A (zh) * 2012-12-26 2015-07-15 英特尔公司 使用延迟重构程序顺序的选择逻辑
US20140258697A1 (en) * 2013-03-07 2014-09-11 Mips Technologies, Inc. Apparatus and Method for Transitive Instruction Scheduling
CN104932945A (zh) * 2015-06-18 2015-09-23 合肥工业大学 一种任务级乱序多发射调度器及其调度方法
US20170255465A1 (en) * 2016-03-04 2017-09-07 International Business Machines Corporation Operation of a multi-slice processor preventing early dependent instruction wakeup
CN109074259A (zh) * 2016-04-28 2018-12-21 微软技术许可有限责任公司 用于块isa处理器的并行指令调度器
CN110502279A (zh) * 2019-08-23 2019-11-26 中国人民解放军国防科技大学 一种基于可标记指令的发射队列智能调节方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李云照等: "一种动态VLIW调度机制的研究和实现", 《计算机工程与科学》 *
过锋等: "IBOI:一种复杂性有效的基于指令块的乱序发射策略", 《小型微型计算机系统》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778522A (zh) * 2021-09-13 2021-12-10 中国电子科技集团公司第五十八研究所 一种发射单元中指令发射处理方法
CN113778522B (zh) * 2021-09-13 2023-10-27 中国电子科技集团公司第五十八研究所 一种发射单元中指令发射处理方法
CN117742796A (zh) * 2023-12-11 2024-03-22 上海合芯数字科技有限公司 指令唤醒方法、装置以及设备

Also Published As

Publication number Publication date
CN111552366B (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN111538534B (zh) 一种基于指令凋零的多指令乱序发射方法及处理器
CN111552366B (zh) 一种动态延迟唤醒电路及乱序指令发射架构
CN108292222B (zh) 用于数据解压缩的硬件装置和方法
US20170235578A1 (en) Method and Apparatus for Scheduling of Instructions in a Multi-Strand Out-Of-Order Processor
CN110163609B (zh) 一种区块链中数据处理方法及装置
TW201202938A (en) Reducing simultaneous switching outputs using data bus inversion signaling
CN111258535B (zh) 一种用于fpga实现的排序方法
CN113778522B (zh) 一种发射单元中指令发射处理方法
EP3398065A1 (en) Data driven scheduler on multiple computing cores
CN112214241A (zh) 一种分布式指令执行单元的方法及系统
CN106445472B (zh) 一种字符操作加速方法、装置、芯片、处理器
CN113672030B (zh) 数据传输速率发生器和相关装置及方法
CN111538533B (zh) 一种基于类加法器的指令请求电路及乱序指令发射架构
US7346737B2 (en) Cache system having branch target address cache
CN111787325B (zh) 一种熵编码器及其编码方法
US7840726B2 (en) System and method for identifying and transferring serial data to a programmable logic device
JPH1127153A (ja) Ppm方式を採用する変調回路、復調回路及び変復調回路システム
Behnam et al. STFL: Energy-efficient data movement with slow transition fast level signaling
US20120144393A1 (en) Multi-issue unified integer scheduler
CN115878190B (zh) 一种应用于发射队列间指令调度填充的方法
CN109960486B (zh) 二进制数据处理方法及其装置、介质和系统
CN111817728B (zh) 一种基于硬件实现ldpc编译码的仿真系统及其工作方法
CN115905038B (zh) 缓存数据读取方法、装置、计算机设备和存储介质
CN107483362A (zh) 一种基于移位寄存器的报文调度方法
US20220206973A1 (en) Interrupt and exception clustering in a processor using timing groups

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