CN116483441A - 基于移位缓冲的输出时序优化系统、方法及相关设备 - Google Patents
基于移位缓冲的输出时序优化系统、方法及相关设备 Download PDFInfo
- Publication number
- CN116483441A CN116483441A CN202310740608.7A CN202310740608A CN116483441A CN 116483441 A CN116483441 A CN 116483441A CN 202310740608 A CN202310740608 A CN 202310740608A CN 116483441 A CN116483441 A CN 116483441A
- Authority
- CN
- China
- Prior art keywords
- instruction
- buffer
- shift
- space
- processor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000003139 buffering effect Effects 0.000 title claims abstract description 18
- 238000005457 optimization Methods 0.000 claims abstract description 30
- 239000011159 matrix material Substances 0.000 claims abstract description 20
- 238000013461 design Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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
Abstract
本发明适用于处理器技术领域,尤其涉及一种基于移位缓冲的输出时序优化系统、方法及相关设备。本发明提出了一种用于指令缓冲单元的移位缓冲器设计,当处理器前级的取指单元取回指令后,在将指令送入指令缓冲单元的主缓冲器进行保存的同时,也会将对应处理器超标量发射数量的指令保存在移位缓冲器中;在指令缓冲单元的输出端输出指令至译码单元时,不再需要通过深度交叉开关矩阵在主缓冲器中选择出所需要传给译码单元的指令,而是可以从移位缓冲器中固定的位置取出所需的指令,从而避免了深度交叉开关矩阵引入的时序压力,有利于处理器实现更高的工作频率,达到更好的性能。
Description
技术领域
本发明适用于处理器技术领域,尤其涉及一种基于移位缓冲的输出时序优化系统、方法及相关设备。
背景技术
处理器是计算机系统中的主要计算组件。它负责执行指令并进行算术和逻辑运算。随着计算机技术的不断发展,处理器的性能和功能也得到了极大的提升。目前,市场上的处理器主要分为两种类型:RISC(Reduced Instruction Set Computer,精简指令集计算机)处理器和CISC(Complex Instruction Set Computer,复杂指令集计算机)处理器。RISC处理器使用简单的指令集,可以实现高效的指令处理,而CISC处理器则支持更复杂的指令和更高级的操作。随着人工智能和机器学习等技术的发展,对处理器性能的要求变得越来越高。
一个简化后的典型的超标量处理器流水线结构如图1所示,处理器流水线分为四个模块:取指单元、指令缓冲单元、译码单元、执行单元。其中,取指单元负责每个周期从内存中取出处理器需要执行的指令;指令缓冲单元负责保存取指单元取出的指令,并平衡取指单元和译码单元间的指令吞吐量差距;译码单元负责对取出来的指令进行译码得到操作数,并将相关信息送入执行单元中执行并得到结果。指令缓冲单元是处理器中的一个关键组成部分,起到存储和调度指令的作用,高性能超标量处理器系统中,出于系统性能均衡性的考虑,取指单元每个周期取出的指令数通常多于后级译码每个单元可以同时解码的指令数,因此取指单元取出的指令一般会先保存在指令缓冲单元中,再从其中发给后级的译码单元,从而平衡两侧不同的负载需求,因此指令缓冲单元性能直接影响了处理器的性能和效率。
如图2所示,传统的指令缓冲单元主要由两个交叉开关矩阵和主缓冲器组成。其中,主缓冲器由一个固定大小的先进先出(First In First Out,FIFO)队列构成,在处理器运行时,前级的取指单元将取回的多条指令信息按顺序保存在指令缓冲器的主缓冲器中;同时,在指令缓冲单元的出口处,每个周期将根据当前指令缓冲单元剩余指令数量,传给后级处理单元一定数量的指令。假定主缓冲器深度为n,取指单元传来的指令包含m条指令,每周期最多输出至译码单元的指令数量为k条,那么处理器工作时:
一、当上级传来一个指令包信息后,如果当前指令缓冲器的主缓冲器剩余空间不足,则会反压前端请求;如果剩余空间充足,则根据当前主缓冲器的写指针将输入指令包选择其对应的主缓冲器位置,按序存入主缓冲器的先进先出队列中,并更新先进先出队列的写指针位置;
二、在指令缓冲器输出指令至下级时,将根据先进先出队列的读指针位置通过交叉开关矩阵从主缓冲器选择需要输出的指令,并送至后级译码单元中。
由于在指令缓冲单元的出口处可能从指令缓冲单元的主缓冲器中的任意位置读出指令送入后级进行处理,因此现有技术引入了复杂的深度交叉开关矩阵,加重了系统时序负担,影响了处理器系统的性能;同时,交叉开关矩阵的逻辑深度与指令缓冲单元的主缓冲器大小有关,对于高性能、高吞吐率的系统,时序负担影响回更大,在一些计算密集型应用中可能会造成性能瓶颈,导致处理器无法充分发挥处理能力。
发明内容
本发明提供一种基于移位缓冲的输出时序优化系统、方法及相关设备,旨在解决现有技术的指令缓冲器在读出指令时受限于交叉开关矩阵导致的性能瓶颈问题。
第一方面,本发明提供一种基于移位缓冲的输出时序优化系统,所述输出时序优化系统包括:
主缓冲模块,用于保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
交叉开关矩阵模块,用于在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
移位缓冲模块,用于读取所述取指单元传输的、或所述主缓冲指令空间中保存的所述指令并将其保存至移位缓冲指令空间,并根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元;
多路选择模块,用于根据预设判断条件确定所述指令的输入来源,将所述指令从输入来源中读取并输出至所述移位缓冲指令空间。
更进一步地,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
更进一步地,所述移位缓冲指令空间能够保存所述指令的数量最大值与所述移位缓冲模块在处理器指令周期内输出至所述译码单元的所述指令的数量相同。
更进一步地,所述移位缓冲模块还用于:
将所述指令输出至所述译码单元后,根据输出的所述指令更新所述主缓冲读指针。
更进一步地,所述主缓冲指令空间为先进先出队列,所述多路选择模块以所述主缓冲指令空间中保存的所述指令作为输入来源时,所述多路选择模块根据所述先进先出队列从所述主缓冲模块中读取所述指令。
更进一步地,所述主缓冲模块还用于:
当所述交叉开关矩阵模块根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间时,若所述主缓冲指令空间的空置空间数量不足以保存所述指令,则所述主缓冲模块对所述取指单元进行前端请求反压。
第二方面,本发明还提供一种基于移位缓冲的输出时序优化方法,所述输出时序优化方法包括以下步骤:
保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
根据预设判断条件确定所述指令的输入来源,以读取所述取指单元传输的、或所述主缓冲指令空间中的所述指令并将其保存至移位缓冲指令空间;
根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元。
更进一步地,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
第三方面,本发明还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于移位缓冲的输出时序优化程序,所述处理器执行所述基于移位缓冲的输出时序优化程序时实现如上述实施例中任意一项所述的基于移位缓冲的输出时序优化方法中的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于移位缓冲的输出时序优化程序,所述基于移位缓冲的输出时序优化程序被处理器执行时实现如上述实施例中任意一项所述的基于移位缓冲的输出时序优化方法中的步骤。
本发明所达到的有益效果,在于提出了一种用于指令缓冲单元的移位缓冲器设计,当处理器前级的取指单元取回指令后,在将指令送入指令缓冲单元的主缓冲器进行保存的同时,也会将对应处理器超标量发射数量的指令保存在移位缓冲器中;在指令缓冲单元的输出端输出指令至译码单元时,不再需要通过深度交叉开关矩阵在主缓冲器中选择出所需要传给译码单元的指令,而是可以从移位缓冲器中固定的位置取出所需的指令,从而避免了深度交叉开关矩阵引入的时序压力,有利于处理器实现更高的工作频率,达到更好的性能。
附图说明
图1是现有技术的超标量处理器流水线结构示意图;
图2是现有技术的指令缓冲单元结构示意图;
图3是本发明实施例提供的基于移位缓冲的输出时序优化系统的结构示意图;
图4是本发明实施例提供的基于移位缓冲的输出时序优化方法的步骤流程框图;
图5是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图3,图3是本发明实施例提供的基于移位缓冲的输出时序优化系统的结构示意图,本发明实施例中的所述输出时序优化系统设置于处理器流水线的指令缓冲单元中,在实施过程中,可以直接基于本发明实施例提供的所述输出时序优化系统实现原本的指令缓冲单元的功能。具体的,所述输出时序优化系统100包括:
主缓冲模块101,用于保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
交叉开关矩阵模块102,用于在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
移位缓冲模块103,用于读取所述取指单元传输的、或所述主缓冲指令空间中保存的所述指令并将其保存至移位缓冲指令空间,并根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元;
多路选择模块104,用于根据预设判断条件确定所述指令的输入来源,将所述指令从输入来源中读取并输出至所述移位缓冲指令空间。
对于所述多路选择模块104,更进一步地,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
本发明实施例中的所述交叉开关矩阵模块102是设置在指令输入端的,因此,其并不影响本发明实施例提供的所述输出时序优化系统100在读出指令时的性能问题,其中,当所述多路选择模块104以所述取指单元传输的所述指令作为输入来源时,实际上是以所述交叉开关矩阵模块102的多路输出作为输入源,这是因为所述交叉开关矩阵模块102实际上仅用于多路转发,不涉及所述指令的保存;并且,在所述多路选择模块104以所述取指单元传输的所述指令作为输入来源时,所述交叉开关矩阵模块102仍按照原本的设计,将所述指令写入所述主缓冲指令空间,以保持所述主缓冲指令空间和所述移位缓冲指令空间在当前处理器指令周期内的数据一致性。
更进一步地,所述移位缓冲指令空间能够保存所述指令的数量最大值与所述移位缓冲模块在处理器指令周期内输出至所述译码单元的所述指令的数量相同。
请具体参照图3,示例性的,假定所述主缓冲指令空间的深度为n,取指单元传来的指令包含m条指令,每个处理器指令周期时,所述输出时序优化系统100最多输出至译码单元的指令数量为k条,本发明实施例中将所述移位缓冲指令空间的深度设计为k(能够保存的所述指令的数量为k),使得指令读出位置与输出的指令数量一致,并保证每个周期读出的指令处于所述移位缓冲指令空间固定的位置,而不是从所述主缓冲指令空间中进行选择。相较于现有技术,由于指令是从固定位置中选择而来,因此不需在指令输出端引入交叉开关矩阵的结构,减少了指令输出的逻辑复杂度。
更进一步地,所述移位缓冲模块103还用于:
将所述指令输出至所述译码单元后,根据输出的所述指令更新所述主缓冲读指针。这样的设计是为了保持所述主缓冲指令空间中保存的所述指令的读写情况与实际一致。
更进一步地,所述主缓冲指令空间为先进先出队列,所述多路选择模块104以所述主缓冲指令空间中保存的所述指令作为输入来源时,所述多路选择模块104根据所述先进先出队列从所述主缓冲模块101中读取所述指令。本发明实施例中的所述移位缓冲模块103实际上是作为所述主缓冲模块101的一个子集,因此其需要保存所述主缓冲指令空间中有效的、顺序最靠前的几条需要输出的指令,在所述主缓冲指令空间基于先进先出队列实现的基础上,在所述移位缓冲模块103从所述主缓冲模块101中读取指令时,同样需要遵循先进先出队列,以确保指令的有效性一致。需要指出的是,先进先出队列的设计是一种常用的队列设计,在基于其他类型的队列设计实现的基础上,只需确保所述主缓冲指令空间的逻辑与所述移位缓冲模块103进行读取的逻辑一致即可。
更进一步地,所述主缓冲模块还用于:
当所述交叉开关矩阵模块根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间时,若所述主缓冲指令空间的空置空间数量不足以保存所述指令,则所述主缓冲模块对所述取指单元进行前端请求反压。
本发明所达到的有益效果,在于提出了一种用于指令缓冲单元的移位缓冲器设计,当处理器前级的取指单元取回指令后,在将指令送入指令缓冲单元的主缓冲器进行保存的同时,也会将对应处理器超标量发射数量的指令保存在移位缓冲器中;在指令缓冲单元的输出端输出指令至译码单元时,不再需要通过深度交叉开关矩阵在主缓冲器中选择出所需要传给译码单元的指令,而是可以从移位缓冲器中固定的位置取出所需的指令,从而避免了深度交叉开关矩阵引入的时序压力,有利于处理器实现更高的工作频率,达到更好的性能。
本发明实施例还提供一种基于移位缓冲的输出时序优化方法,请参照图4,图4是本发明实施例提供的基于移位缓冲的输出时序优化方法的步骤流程框图,所述输出时序优化方法包括以下步骤:
S201、保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
S202、在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
S203、根据预设判断条件确定所述指令的输入来源,以读取所述取指单元传输的、或所述主缓冲指令空间中的所述指令并将其保存至移位缓冲指令空间;
S204、根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元。
更进一步地,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量,若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
所述基于移位缓冲的输出时序优化方法能够基于上述实施例中的基于移位缓冲的输出时序优化系统100实现,并基于其中各个模块的逻辑功能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
本发明实施例还提供一种计算机设备,请参照图5,图5是本发明实施例提供的计算机设备的结构示意图,所述计算机设备300包括:存储器302、处理器301及存储在所述存储器302上并可在所述处理器301上运行的基于移位缓冲的输出时序优化程序。
所述处理器301调用所述存储器302存储的基于移位缓冲的输出时序优化程序,执行本发明实施例提供的基于移位缓冲的输出时序优化方法中的步骤,请结合图4,具体包括以下步骤:
S201、保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
S202、在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
S203、根据预设判断条件确定所述指令的输入来源,以读取所述取指单元传输的、或所述主缓冲指令空间中的所述指令并将其保存至移位缓冲指令空间;
S204、根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元。
更进一步地,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
更进一步地,所述移位缓冲指令空间能够保存所述指令的数量最大值与所述移位缓冲模块在处理器指令周期内输出至所述译码单元的所述指令的数量相同。
本发明实施例提供的计算机设备300能够实现如上述实施例中的基于移位缓冲的输出时序优化方法中的步骤,且能实现同样的技术效果,参上述实施例中的描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于移位缓冲的输出时序优化程序,该基于移位缓冲的输出时序优化程序被处理器执行时实现本发明实施例提供的基于移位缓冲的输出时序优化方法中的各个过程及步骤,且能实现相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过基于移位缓冲的输出时序优化程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,所揭露的仅为本发明较佳实施例而已,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式用等同变化,均属于本发明的保护之内。
Claims (10)
1.一种基于移位缓冲的输出时序优化系统,其特征在于,所述输出时序优化系统包括:
主缓冲模块,用于保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
交叉开关矩阵模块,用于在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
移位缓冲模块,用于读取所述取指单元传输的、或所述主缓冲指令空间中保存的所述指令并将其保存至移位缓冲指令空间,并根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元;
多路选择模块,用于根据预设判断条件确定所述指令的输入来源,将所述指令从输入来源中读取并输出至所述移位缓冲指令空间。
2.如权利要求1所述的基于移位缓冲的输出时序优化系统,其特征在于,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
3.如权利要求1所述的基于移位缓冲的输出时序优化系统,其特征在于,所述移位缓冲指令空间能够保存所述指令的数量最大值与所述移位缓冲模块在处理器指令周期内输出至所述译码单元的所述指令的数量相同。
4.如权利要求1所述的基于移位缓冲的输出时序优化系统,其特征在于,所述移位缓冲模块还用于:
将所述指令输出至所述译码单元后,根据输出的所述指令更新所述主缓冲读指针。
5.如权利要求2所述的基于移位缓冲的输出时序优化系统,其特征在于,所述主缓冲指令空间为先进先出队列,所述多路选择模块以所述主缓冲指令空间中保存的所述指令作为输入来源时,所述多路选择模块根据所述先进先出队列从所述主缓冲模块中读取所述指令。
6.如权利要求1所述的基于移位缓冲的输出时序优化系统,其特征在于,所述主缓冲模块还用于:
当所述交叉开关矩阵模块根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间时,若所述主缓冲指令空间的空置空间数量不足以保存所述指令,则所述主缓冲模块对所述取指单元进行前端请求反压。
7.一种基于移位缓冲的输出时序优化方法,其特征在于,所述输出时序优化方法包括以下步骤:
保存指令至主缓冲指令空间中,并记录所述指令的主缓冲写指针和主缓冲读指针;
在处理器指令周期中接收处理器取指单元传输的所述指令,并根据所述主缓冲写指针将所述指令写入所述主缓冲指令空间;
根据预设判断条件确定所述指令的输入来源,以读取所述取指单元传输的、或所述主缓冲指令空间中的所述指令并将其保存至移位缓冲指令空间;
根据处理器指令周期从所述移位缓冲指令空间输出所述指令至处理器的译码单元。
8.如权利要求7所述的基于移位缓冲的输出时序优化方法,其特征在于,所述预设判断条件为:
判断所述主缓冲指令空间中保存的所述指令的数量是否小于所述移位缓冲指令空间的空置空间数量:若是,则以所述主缓冲指令空间中保存的所述指令作为输入来源;若否,则以所述取指单元传输的所述指令作为输入来源。
9.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于移位缓冲的输出时序优化程序,所述处理器执行所述基于移位缓冲的输出时序优化程序时实现如权利要求7-8中任意一项所述的基于移位缓冲的输出时序优化方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于移位缓冲的输出时序优化程序,所述基于移位缓冲的输出时序优化程序被处理器执行时实现如权利要求7-8中任意一项所述的基于移位缓冲的输出时序优化方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740608.7A CN116483441B (zh) | 2023-06-21 | 2023-06-21 | 基于移位缓冲的输出时序优化系统、方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740608.7A CN116483441B (zh) | 2023-06-21 | 2023-06-21 | 基于移位缓冲的输出时序优化系统、方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116483441A true CN116483441A (zh) | 2023-07-25 |
CN116483441B CN116483441B (zh) | 2023-09-12 |
Family
ID=87212240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310740608.7A Active CN116483441B (zh) | 2023-06-21 | 2023-06-21 | 基于移位缓冲的输出时序优化系统、方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483441B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348933A (zh) * | 2023-12-05 | 2024-01-05 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机系统 |
CN117667222A (zh) * | 2024-01-31 | 2024-03-08 | 睿思芯科(深圳)技术有限公司 | 时序优化的两级分支预测系统、方法及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257359A (en) * | 1989-02-08 | 1993-10-26 | Hitachi Microsystems, Inc. | Instruction cache buffer with program-flow control |
US5887185A (en) * | 1997-03-19 | 1999-03-23 | Advanced Micro Devices, Inc. | Interface for coupling a floating point unit to a reorder buffer |
US20060004989A1 (en) * | 2004-06-30 | 2006-01-05 | Sun Microsystems, Inc. | Mechanism for selecting instructions for execution in a multithreaded processor |
US20110093629A1 (en) * | 2009-10-21 | 2011-04-21 | Texas Instruments Incorporated | Control Function for Memory Based Buffers |
CN102053816A (zh) * | 2010-11-25 | 2011-05-11 | 中国人民解放军国防科学技术大学 | 具有开关矩阵存储器的数据混洗单元及其混洗方法 |
US20110161593A1 (en) * | 2009-12-25 | 2011-06-30 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
CN102156637A (zh) * | 2011-05-04 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
US8225034B1 (en) * | 2004-06-30 | 2012-07-17 | Oracle America, Inc. | Hybrid instruction buffer |
US20140095745A1 (en) * | 2011-06-09 | 2014-04-03 | Fujitsu Limited | Buffer device, buffer control device, and buffer control method |
CN105094752A (zh) * | 2015-09-21 | 2015-11-25 | 中国科学院自动化研究所 | 指令缓冲与对齐缓冲装置及其操作方法 |
CN109074259A (zh) * | 2016-04-28 | 2018-12-21 | 微软技术许可有限责任公司 | 用于块isa处理器的并行指令调度器 |
CN109101275A (zh) * | 2018-06-26 | 2018-12-28 | 天津飞腾信息技术有限公司 | 一种基于移位的指令提取与缓冲方法及超标量微处理器 |
-
2023
- 2023-06-21 CN CN202310740608.7A patent/CN116483441B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257359A (en) * | 1989-02-08 | 1993-10-26 | Hitachi Microsystems, Inc. | Instruction cache buffer with program-flow control |
US5887185A (en) * | 1997-03-19 | 1999-03-23 | Advanced Micro Devices, Inc. | Interface for coupling a floating point unit to a reorder buffer |
US20060004989A1 (en) * | 2004-06-30 | 2006-01-05 | Sun Microsystems, Inc. | Mechanism for selecting instructions for execution in a multithreaded processor |
US8225034B1 (en) * | 2004-06-30 | 2012-07-17 | Oracle America, Inc. | Hybrid instruction buffer |
US20110093629A1 (en) * | 2009-10-21 | 2011-04-21 | Texas Instruments Incorporated | Control Function for Memory Based Buffers |
US20110161593A1 (en) * | 2009-12-25 | 2011-06-30 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
CN102053816A (zh) * | 2010-11-25 | 2011-05-11 | 中国人民解放军国防科学技术大学 | 具有开关矩阵存储器的数据混洗单元及其混洗方法 |
CN102156637A (zh) * | 2011-05-04 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
US20140095745A1 (en) * | 2011-06-09 | 2014-04-03 | Fujitsu Limited | Buffer device, buffer control device, and buffer control method |
CN105094752A (zh) * | 2015-09-21 | 2015-11-25 | 中国科学院自动化研究所 | 指令缓冲与对齐缓冲装置及其操作方法 |
CN109074259A (zh) * | 2016-04-28 | 2018-12-21 | 微软技术许可有限责任公司 | 用于块isa处理器的并行指令调度器 |
CN109101275A (zh) * | 2018-06-26 | 2018-12-28 | 天津飞腾信息技术有限公司 | 一种基于移位的指令提取与缓冲方法及超标量微处理器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348933A (zh) * | 2023-12-05 | 2024-01-05 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机系统 |
CN117348933B (zh) * | 2023-12-05 | 2024-02-06 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机系统 |
CN117667222A (zh) * | 2024-01-31 | 2024-03-08 | 睿思芯科(深圳)技术有限公司 | 时序优化的两级分支预测系统、方法及相关设备 |
CN117667222B (zh) * | 2024-01-31 | 2024-04-30 | 睿思芯科(深圳)技术有限公司 | 时序优化的两级分支预测系统、方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116483441B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116483441B (zh) | 基于移位缓冲的输出时序优化系统、方法及相关设备 | |
US20150309846A1 (en) | Parallel priority queue utilizing parallel heap on many-core processors for accelerating priority-queue-based applications | |
CN102222071A (zh) | 数据同步处理方法、设备及系统 | |
US20190073221A1 (en) | Data read-write scheduler and reservation station for vector operations | |
CN113467964A (zh) | 接入用户态协议栈的实现方法、系统、装置及存储介质 | |
JP2010262542A (ja) | プロセッサ | |
CN116521096B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
JP5171211B2 (ja) | データ形式変換装置 | |
CN116578245B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
CN112559403B (zh) | 一种处理器及其中的中断控制器 | |
WO2022134426A1 (zh) | 可重构处理器中的指令分发方法、系统以及存储介质 | |
US6671690B2 (en) | Deletions on circular singly linked lists | |
CN115237349A (zh) | 数据读写控制方法、控制装置、计算机存储介质和电子设备 | |
CN114489518A (zh) | 测序数据质量控制方法及系统 | |
US10366049B2 (en) | Processor and method of controlling the same | |
KR20150051083A (ko) | 재구성 가능 프로세서, 재구성 가능 프로세서의 구성 메모리의 사용을 최적화하는 방법 및 장치 | |
CN114518841A (zh) | 存储器中处理器和使用存储器中处理器输出指令的方法 | |
CN117348933B (zh) | 一种处理器及计算机系统 | |
US20040034858A1 (en) | Programming a multi-threaded processor | |
CN108733625B (zh) | 运算装置及方法 | |
CN116804915B (zh) | 基于存储器的数据交互方法、处理器、设备以及介质 | |
US20220014705A1 (en) | Data processing method and related product | |
CN117827284A (zh) | 向量处理器访存指令处理方法、系统、设备及存储介质 | |
KR100639146B1 (ko) | 카테시안 제어기를 갖는 데이터 처리 시스템 | |
CN113703841B (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 |