CN113778522A - 一种发射单元中指令发射处理方法 - Google Patents
一种发射单元中指令发射处理方法 Download PDFInfo
- Publication number
- CN113778522A CN113778522A CN202111070519.3A CN202111070519A CN113778522A CN 113778522 A CN113778522 A CN 113778522A CN 202111070519 A CN202111070519 A CN 202111070519A CN 113778522 A CN113778522 A CN 113778522A
- Authority
- CN
- China
- Prior art keywords
- instruction
- issue
- slot
- instructions
- queue
- 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
Links
- 238000003672 processing method Methods 0.000 title description 3
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000002360 preparation method Methods 0.000 claims abstract description 12
- 230000002618 waking effect Effects 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
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/30098—Register arrangements
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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)
- Advance Control (AREA)
Abstract
本发明公开一种发射单元中指令发射处理方法,属于计算机体系架构领域。根据指令类型设置指令的状态和需要进行唤醒的源操作数的数量;将指令加入发射队列,每个周期根据发射队列的占用情况,计算每条指令能够向前移动的距离;唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较。根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号;所有发射槽请求信号输入发射选择逻辑,发射选择逻辑根据执行单元是否处于空闲状态决定要发射的指令数量,再根据指令先后顺序和发射队列中的位置选择相应数量的指令进行发射;被发射的指令从发射队列中清除。
Description
技术领域
本发明涉及计算机体系架构技术领域,特别涉及一种发射单元中指令发射处理方法。
背景技术
指令发射单元是通用处理器CPU的内核基本组成单元。处于流水线中连接译码/重命名和执行单元的位置。当处理器每周期送入执行单元进行执行的指令数量大于1时,就面临着怎样选择指令进行发射的问题。顺序处理器使用FIFO结构的发射单元,从FIFO的尾部加入指令,头部发射指令。由于有些指令可能与长周期的指令存在写后读的数据相关,因此位于头部的指令一旦有一条需要进行长时间的等待,会阻塞随后的指令发射,尽管有些指令已经具备发射条件。为了提升处理器的性能,使流水线每周期都有指令进行运算,乱序执行处理器多使用tomasulo算法在指令重命名之后和执行之前设置指令的保留站,通过回写总线唤醒保留站中的指令,避免执行周期较长的指令阻塞其他指令的执行,造成资源和时间的浪费。因为发射单元是处理器乱序执行的开始,如何高效的选择指令进行发射,缩短关键路径延时一直是发射单元结构研究的重点和热点。
目前,发射单元组织形式主要有三种:全局发射队列,分组发射队列和独立发射队列。全局发射队列不进行指令的分类,只使用一个队列存储所有类型的指令(定点,浮点,访存),因此队列使用率高,但一个发射队列所需要的输入输出端口非常多,一个执行单元就要对应一个输入输出端口,造成非常大的功耗,不适用于大规模的处理器中。独立发射队列专门服务于一个执行单元,只需要一个输入输出端口,但是针对不同程序中不同类型指令的数量会造成队列容量的浪费。例如在定点指令非常多的程序中,浮点队列就经常处于空闲状态。上述两种结构的发射队列各有优缺,但都因为功耗或者面积上的缺陷导致不能适配宽发射处理器,从而引起导致处理器每周期执行的指令数IPC下降,功耗和面积增加,使得处理器表现出性能与理论不符、性能下降的特性。
发明内容
本发明的目的在于提供一种发射单元中指令发射处理方法,以解决背景技术中的问题。
为解决上述技术问题,本发明提供了一种发射单元中指令发射处理方法,包括:
根据指令类型设置指令的状态和需要进行唤醒的源操作数的数量;
将指令加入发射队列,并且每个周期根据发射队列的占用情况,计算每条指令能够向前移动的距离;
唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较。
根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号;
所有发射槽请求信号输入发射选择逻辑,发射选择逻辑根据执行单元是否处于空闲状态决定要发射的指令数量,再根据指令先后顺序和发射队列中的位置选择相应数量的指令进行发射;
被发射的指令从发射队列中清除。
可选的,根据指令类型设置指令的状态和需要进行唤醒的源操作数数量包括:
若指令是访存指令,将指令在发射槽中的初始状态设置为s_valid_2,并且第二个源操作数不用进行唤醒;
若指令是定点指令或加载指令,将指令在发射槽中的初始状态设置为s_valid_1;
若指令是浮点指令,将指令在发射槽中的初始状态设置为s_valid_1,并且一共至多要等待三个源操作数。
可选的,将指令加入发射队列,并且每个周期根据发射队列的占用情况,计算每条指令可以向前移动的距离,包括:
根据发射单元的最大发射数量确定指令进行移动的最大距离;
依次遍历发射队列中所有的发射槽,如果其中存在有效的指令,则进行移动距离的计算;
对指令所在发射槽前面的所有发射槽的占用情况进行检测,如果前1个发射槽为空,则移动距离设置为1,再继续检测下一个发射槽,如果继续为空,则将移动距离左移一位,重复此步骤直到检测到一个不为空的发射槽或者移动距离达到最大移动距离为止。
可选的,唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较,包括:
当指令是单周期定点指令并且可以旁路时,直接将上个周期刚发射的指令用来唤醒,如果条件不满足,等待相关指令执行完成后通过执行单元回写总线进行唤醒;
唤醒单元被写入数据的物理寄存器号就是已被发射或已经完成的指令的目的寄存器号。
可选的,根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号,包括:
定点与访存指令至多有两个操作数需要准备,浮点指令至多有三个操作数要准备;
依次将每一个唤醒端口中的物理寄存器号与指令的所有源操作数物理寄存器号进行比较,当只有一个相等,就设置准备位;
所有准备位进行与运算产生请求信号。
可选的,全部操作数准备好的指令所在发射槽发出请求信号,所有发射槽请求信号确定要发射指令之前,还包括:
根据功能端口输入的执行单元能够使用的信息确定发射的端口,每个端口对应一个执行单元,将执行单元的功能信息与指令的类型进行与运算,若运算结果不为零表明指令能够从此端口发射。
可选的,根据指令在发射队列中的位置分布、请求信息和端口可分配信息确定要发射的指令,包括:
自上而下搜索发射队列的每一个发射槽,若此发射槽发出请求并且能够分配端口,则将指令发射,直到全部发射端口被使用或全部发射槽搜索完毕。
在本发明提供的发射单元中指令发射处理方法中,通过对不同类型的指令进行不同的设置来适应分组的发射单元,提高队列使用率;通过每周期进行指令移动的方式维持指令的先后时间顺序;通过推断唤醒机制提前一个周期发射与load指令具有相关性的指令;通过将store指令分成两部分进行发射减少了存储顺序失效的数量;本发明解决了现有技术中程序执行时间较长、IPC下降、性能较差的问题;达到了可以提高处理器性能的效果。
附图说明
图1是本发明提供的发射单元中指令发射处理方法的流程示意图;
图2是本发明提供的指令发射单元的架构示意图;
图3是作为发射单元最小单位的发射槽处理指令的状态转换图;
图4是发射槽中指令唤醒过程的架构图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种发射单元中指令发射处理方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例一
本发明提供了一种发射单元中指令发射处理方法,包括:
根据指令类型设置指令的状态和需要进行唤醒的源操作数的数量,可以将store指令设置成两部分进行发射,分别是STA(store address generate)和STD(store datagenerat)。STA的源操作数1代表地址,不需要等待操作数2,STD不需要等待源操作数1,源操作数2代表数据。
将指令加入发射队列,并且每个周期根据发射队列的占用情况,计算每条指令能够向前移动的距离。
唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较。load指令执行到内存之前,可以提前进行推测唤醒,推测唤醒的同时对被这种方式唤醒的指令设置一个污染标志位。发生load指令的cache失效时,清除具有污染标志位的发射了的指令,否则推测唤醒的指令执行正常的指令发射流程。
根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号;
所有发射槽请求信号输入发射选择逻辑,发射选择逻辑根据执行单元是否处于空闲状态决定要发射的指令数量,再根据指令先后顺序和发射队列中的位置选择相应数量的指令进行发射;
被发射的指令从发射队列中清除。
首先,为了便于论述,假设派遣来的指令是定点指令,并且指令的源操作数1和源操作数2都没有准备好。
请参考图1,示出了本发明提供的指令等待发射的处理方法,上述方法可以用于图2所示的指令发射单元中,图3是作为发射单元最小单位的发射槽处理指令的状态转换图,图4是发射槽中指令唤醒过程的架构图,结合图1-图4,所述方法包括:
步骤101,获取派遣指令,根据指令类型设置指令的状态和等待被唤醒的操作数数量;
在dis_uops进入set up模块后,即可将指令的初始状态设置为s_valid_1,并且由于两个操作数都没有准备好,所以发射槽中的p1和p2寄存器初始值都为0。
步骤102,计算发射队列,根据前方发射槽的占用情况计算向前移动的距离;
本步骤包括:
检测当前发射槽前方的一个发射槽的will_be_valid信号,如果为1,代表前一个发射槽被占用,检测结束;如果为0,代表没有被占用,可移动的距离加1,判断移动距离是否超过发射宽度,没有超过则继续检测下一个发射槽,超过或等于则检测结束。
所有的发射槽的移动距离都根据以上方法计算完毕后,进行指令的移动。根据计算出的移动距离给目标地点的发射槽一个in_valid信号,同时给原先的发射槽一个clear信号即能够完成指令的向前移动。下一个周期再重复本步骤。
步骤103,唤醒单元输入已经存储数据的物理寄存器号,与发射队列中的指令的源操作数物理寄存器号进行比较,设置p1和p2;
唤醒端口的每一个端口都有一个物理寄存器号pdst,将此物理寄存器号与两个源操作数寄存器号进行比较,相等则设置准备标志寄存器p1和p2的值。
步骤104,判断指令操作数是否全部准备好;
判断被发射槽是否处于合法状态,在处于合法状态的情况下,将所有准备标志寄存器的输出进行与运算,生成最后的request信号。如果产生request信号,则进入步骤105,否则进入步骤103。
步骤105,产生请求信号,送入选择逻辑。
每个发射槽的request信号汇总在一起形成一个一维N位的向量掩码,N为发射槽的数量;根据位置从小到大选择发射宽度数量的指令。
步骤106,检测是否有计算单元可用;
将产生request信号的发射槽中的指令类型与输入端口的执行单元类型进行比较。如果相同则代表有空闲的执行单元资源可以使用。如果在步骤105中发射槽已经被选择并且又有空闲执行单元可用,则给予符合这样的条件的指令授权信号grant,并进入步骤107,否则回到步骤105重新选择。
步骤107,发射指令,释放指令所占用的发射队列条目。
发射端口根据指令发射槽的被授权情况选择被授权的发射槽中的指令进行输出。在发射槽内部的状态控制中,得到授权的发射槽会跳转至s_invalid状态,表明其中的指令已经被清除,同时发射槽被释放,可以接收新的指令。
在上述实施例中,由于指令的类型可以是定点类型的指令,也可以是访存类型,还可能是浮点类型。不同类型指令的初始状态设置可能不同,并且需要等待被唤醒的操作数数量也不同,因此,下述将分开不同方式分别进行详细介绍。实际实现时,可以分成定点、浮点、访存三种情况,并且当是访存的store指令时,可以拆分成两部分指令进行发射。因此,下述将在不同实施例中分别对上述情况进行说明。
在一种可能的实施例中,若步骤101中的指令类型为浮点指令,则步骤103包括:
第一,准备标志寄存器的数量设置为与操作数数量匹配;
等待唤醒的操作数数量为3,所以准备标志寄存器的数量与操作数数量相同,也应该增加至3个。
第二,因为浮点指令多为多周期执行的指令,所以不能使用快速唤醒端口;
在第二种可能的实施例中,若步骤103中的唤醒端口包括推断唤醒端口,则步骤103和107中包括:
第一,在步骤103中,除了要设置p1和p2以外,还要增加污染位的寄存器p1_poisoned和p2_poisoned。当源操作数寄存器的值与推断唤醒端口的目的操作数寄存器值相等的时候,将p1和p2设置为1的同时,将p1_poisoned和p2_poisoned的值设为1;
第二,在步骤107中,将指令发射之后,指令发射槽不会立即跳转到s_invalid状态,还需要检查推断唤醒是否成功。根据访存单元传回的ld_miss信号决定是否将发射槽清空。若没有ld_miss信号,则推断唤醒成功,指令发射后按照正常流程结束。若有ld_miss信号,但是p1_poisoned和p2_poisoned的值都为0,说明指令不是通过推断唤醒产生的请求信号,按照正常流程结束;若有ld_miss信号的同时,p1_poisoned和p2_poisoned任何一个为1,则说明推断唤醒失败,指令不能清除,需要等待真正的唤醒信号,指令状态维持不变。同时将受到污染的准备标志寄存器置0;
在第三种可能的实施例中,若步骤101中的指令是store指令,则步骤101和104与107中包括:
第一,在步骤101中,指令的初始状态应该被设置为s_valid_2;
第二,在步骤104中,不需要检测所有的准备标志寄存器,只要有一个准备标志寄存器准备好,就可以产生request信号;
第三,在步骤107中,当store指令处于s_valid_2状态下得到授权后,不能立即清除发射槽中的指令,需要根据准备标志寄存器的值进行发射槽状态的跳转:
(1)p1和p2都为1,则发射store指令,两个源操作数寄存器都是有效的,并且状态跳转至s_invalid状态,发射槽清空;
(2)p1为1,p2为0。发射store指令的地址部分(STA),同时将这部分的第一个源操作数寄存器号设置为有效。发射槽的状态跳转至s_valid_1,同时,将剩余的部分设置为STD。回到步骤103;
(3)p1为0,p2为1。发射store指令的数据部分(STD),同时将这部分的第二个源操作数寄存器号设置为有效。发射槽的状态跳转至s_valid_1,同时,将剩余的部分设置为STA。回到步骤103;
综上所述,通过对不同类型的指令进行不同的设置来适应分组的发射单元,提高了队列使用率,通过每周期进行指令移动的方式维持了指令的先后时间顺序,减少了存储顺序失效;通过推断唤醒机制提前发射与load指令具有相关性的指令,减少了指令等待时间;将store指令分成两部分进行发射,快速判断load指令是否与store指令存在相关性,减少了存储顺序失效的数量。解决了现有技术中程序执行时间较长、IPC下降、性能较差的问题;达到了可以提高处理器性能的效果。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (7)
1.一种发射单元中指令发射处理方法,其特征在于,包括:
根据指令类型设置指令的状态和需要进行唤醒的源操作数的数量;
将指令加入发射队列,并且每个周期根据发射队列的占用情况,计算每条指令能够向前移动的距离;
唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较;
根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号;
所有发射槽请求信号输入发射选择逻辑,发射选择逻辑根据执行单元是否处于空闲状态决定要发射的指令数量,再根据指令先后顺序和发射队列中的位置选择相应数量的指令进行发射;
被发射的指令从发射队列中清除。
2.如权利要求1所述的发射单元中指令发射处理方法,其特征在于,根据指令类型设置指令的状态和需要进行唤醒的源操作数数量包括:
若指令是访存指令,将指令在发射槽中的初始状态设置为s_valid_2,并且第二个源操作数不用进行唤醒;
若指令是定点指令或加载指令,将指令在发射槽中的初始状态设置为s_valid_1;
若指令是浮点指令,将指令在发射槽中的初始状态设置为s_valid_1,并且一共至多要等待三个源操作数。
3.如权利要求2所述的发射单元中指令发射处理方法,其特征在于,将指令加入发射队列,并且每个周期根据发射队列的占用情况,计算每条指令可以向前移动的距离,包括:
根据发射单元的最大发射数量确定指令进行移动的最大距离;
依次遍历发射队列中所有的发射槽,如果其中存在有效的指令,则进行移动距离的计算;
对指令所在发射槽前面的所有发射槽的占用情况进行检测,如果前1个发射槽为空,则移动距离设置为1,再继续检测下一个发射槽,如果继续为空,则将移动距离左移一位,重复此步骤直到检测到一个不为空的发射槽或者移动距离达到最大移动距离为止。
4.如权利要求3所述的发射单元中指令发射处理方法,其特征在于,唤醒单元每周期输入已经被写入数据的物理寄存器号,自上而下与发射队列中所有的指令的源操作数寄存器号进行比较,包括:
当指令是单周期定点指令并且可以旁路时,直接将上个周期刚发射的指令用来唤醒,如果条件不满足,等待相关指令执行完成后通过执行单元回写总线进行唤醒;
唤醒单元被写入数据的物理寄存器号就是已被发射或已经完成的指令的目的寄存器号。
5.如权利要求4所述的发射单元中指令发射处理方法,其特征在于,根据比较结果设置指令的源操作数准备标志位,全部操作数准备好的指令所在的发射槽发出请求信号,包括:
定点与访存指令至多有两个操作数需要准备,浮点指令至多有三个操作数要准备;
依次将每一个唤醒端口中的物理寄存器号与指令的所有源操作数物理寄存器号进行比较,当只有一个相等,就设置准备位;
所有准备位进行与运算产生请求信号。
6.如权利要求5所述的发射单元中指令发射处理方法,其特征在于,全部操作数准备好的指令所在发射槽发出请求信号,所有发射槽请求信号确定要发射指令之前,还包括:
根据功能端口输入的执行单元能够使用的信息确定发射的端口,每个端口对应一个执行单元,将执行单元的功能信息与指令的类型进行与运算,若运算结果不为零表明指令能够从此端口发射。
7.如权利要求6所述的发射单元中指令发射处理方法,其特征在于,根据指令在发射队列中的位置分布、请求信息、端口可分配信息确定要发射的指令,包括:
自上而下搜索发射队列的每一个发射槽,若此发射槽发出请求并且能够分配端口,则将指令发射,直到全部发射端口被使用或全部发射槽搜索完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070519.3A CN113778522B (zh) | 2021-09-13 | 2021-09-13 | 一种发射单元中指令发射处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070519.3A CN113778522B (zh) | 2021-09-13 | 2021-09-13 | 一种发射单元中指令发射处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778522A true CN113778522A (zh) | 2021-12-10 |
CN113778522B CN113778522B (zh) | 2023-10-27 |
Family
ID=78843347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111070519.3A Active CN113778522B (zh) | 2021-09-13 | 2021-09-13 | 一种发射单元中指令发射处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778522B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327644A (zh) * | 2022-03-16 | 2022-04-12 | 广东省新一代通信与网络创新研究院 | 一种处理器预测访存相关性的实现方法 |
CN114489812A (zh) * | 2022-04-06 | 2022-05-13 | 海光信息技术股份有限公司 | 指令发射方法及装置、电子设备及存储介质 |
CN117008977A (zh) * | 2023-08-08 | 2023-11-07 | 上海合芯数字科技有限公司 | 一种可变执行周期的指令执行方法、系统和计算机设备 |
CN117785289A (zh) * | 2024-02-27 | 2024-03-29 | 苏州仰思坪半导体有限公司 | 保留站电路的控制方法、装置、保留站电路及存储介质 |
CN117971319A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 保留站指令处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
CN1521623A (zh) * | 2003-01-28 | 2004-08-18 | 松下电器产业株式会社 | 编译设备和编译方法 |
US20130275720A1 (en) * | 2012-04-16 | 2013-10-17 | James B. Keller | Zero cycle move |
CN110134438A (zh) * | 2019-05-14 | 2019-08-16 | Oppo广东移动通信有限公司 | 指令排序方法、装置、移动终端及存储介质 |
CN111290786A (zh) * | 2018-12-12 | 2020-06-16 | 展讯通信(上海)有限公司 | 一种信息处理方法、设备及存储介质 |
CN111552366A (zh) * | 2020-04-07 | 2020-08-18 | 江南大学 | 一种动态延迟唤醒电路及乱序指令发射架构 |
-
2021
- 2021-09-13 CN CN202111070519.3A patent/CN113778522B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
CN1521623A (zh) * | 2003-01-28 | 2004-08-18 | 松下电器产业株式会社 | 编译设备和编译方法 |
US20130275720A1 (en) * | 2012-04-16 | 2013-10-17 | James B. Keller | Zero cycle move |
CN111290786A (zh) * | 2018-12-12 | 2020-06-16 | 展讯通信(上海)有限公司 | 一种信息处理方法、设备及存储介质 |
CN110134438A (zh) * | 2019-05-14 | 2019-08-16 | Oppo广东移动通信有限公司 | 指令排序方法、装置、移动终端及存储介质 |
CN111552366A (zh) * | 2020-04-07 | 2020-08-18 | 江南大学 | 一种动态延迟唤醒电路及乱序指令发射架构 |
Non-Patent Citations (1)
Title |
---|
夏天一: ""处理器高性能发射队列设计与优化"", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》, no. 5, pages 20 - 32 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327644A (zh) * | 2022-03-16 | 2022-04-12 | 广东省新一代通信与网络创新研究院 | 一种处理器预测访存相关性的实现方法 |
CN114489812A (zh) * | 2022-04-06 | 2022-05-13 | 海光信息技术股份有限公司 | 指令发射方法及装置、电子设备及存储介质 |
CN117008977A (zh) * | 2023-08-08 | 2023-11-07 | 上海合芯数字科技有限公司 | 一种可变执行周期的指令执行方法、系统和计算机设备 |
CN117008977B (zh) * | 2023-08-08 | 2024-03-19 | 上海合芯数字科技有限公司 | 一种可变执行周期的指令执行方法、系统和计算机设备 |
CN117785289A (zh) * | 2024-02-27 | 2024-03-29 | 苏州仰思坪半导体有限公司 | 保留站电路的控制方法、装置、保留站电路及存储介质 |
CN117785289B (zh) * | 2024-02-27 | 2024-05-10 | 苏州仰思坪半导体有限公司 | 保留站电路的控制方法、装置、保留站电路及存储介质 |
CN117971319A (zh) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | 保留站指令处理方法、装置、电子设备及存储介质 |
CN117971319B (zh) * | 2024-03-28 | 2024-06-28 | 北京微核芯科技有限公司 | 保留站指令处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113778522B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113778522A (zh) | 一种发射单元中指令发射处理方法 | |
CN102103484B (zh) | 用于启用处理器等待状态的指令 | |
Michaud et al. | Data-flow prescheduling for large instruction windows in out-of-order processors | |
US7082601B2 (en) | Multi-thread execution method and parallel processor system | |
KR100636759B1 (ko) | 추월 기능을 갖춘 벡터 처리 장치 | |
WO2010147857A2 (en) | Dependence prediction in a memory system | |
CN100461110C (zh) | 预测处理器中的竞争 | |
US20080077928A1 (en) | Multiprocessor system | |
JP2008502083A (ja) | クラスタ化されたプロセッサ群における通信並列性のトレードオフを動的に管理する方法 | |
US7603543B2 (en) | Method, apparatus and program product for enhancing performance of an in-order processor with long stalls | |
US5737636A (en) | Method and system for detecting bypass errors in a load/store unit of a superscalar processor | |
CN101894013B (zh) | 处理器内指令级流水线控制方法及其系统 | |
US7600076B2 (en) | Method, system, apparatus, and article of manufacture for performing cacheline polling utilizing store with reserve and load when reservation lost instructions | |
US20040123078A1 (en) | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism | |
US7080209B2 (en) | Method and apparatus for processing a load-lock instruction using a relaxed lock protocol | |
JP2001209535A (ja) | プロセッサの命令スケジューリング装置 | |
KR19990072272A (ko) | 로드/로드검출및재정렬방법 | |
CN100590592C (zh) | 处理器及其指令发布方法 | |
US5751946A (en) | Method and system for detecting bypass error conditions in a load/store unit of a superscalar processor | |
US11194574B2 (en) | Merging memory ordering tracking information for issued load instructions | |
CN102193828A (zh) | 从处理器中的并发物理线程的数目中去耦合逻辑线程的数目 | |
JPH06236275A (ja) | スーパースカラ・プロセッサ・システムにおける非逐次命令ディスパッチおよび実行のための方法およびシステム | |
KR20000005685A (ko) | 분산인스트럭션완료로직 | |
CN101615132A (zh) | 事务存储系统及其控制方法 | |
US6311267B1 (en) | Just-in-time register renaming technique |
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 |