CN116225538A - 处理器及其流水线结构、指令执行方法 - Google Patents
处理器及其流水线结构、指令执行方法 Download PDFInfo
- Publication number
- CN116225538A CN116225538A CN202310501970.9A CN202310501970A CN116225538A CN 116225538 A CN116225538 A CN 116225538A CN 202310501970 A CN202310501970 A CN 202310501970A CN 116225538 A CN116225538 A CN 116225538A
- Authority
- CN
- China
- Prior art keywords
- instruction
- instructions
- execution
- unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000006835 compression Effects 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 18
- 230000008054 signal transmission Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 239000013307 optical fiber Substances 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种处理器及其流水线结构、指令执行方法,其中,处理器的流水线结构包括:取指单元,被配置为获取多条指令,并对多条指令进行压缩操作,生成压缩指令;解码单元,被配置为对压缩指令进行解码操作,生成解码指令;执行单元,被配置为根据解码指令,同时执行解码指令对应的多条指令;写回单元,被配置为获取每条指令对应的执行结果,并将执行结果写回寄存器。该流水线结构的取指单元将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元同时执行解码指令对应的多条指令,提升了处理器的执行效率。
Description
技术领域
本申请涉及处理器技术领域,特别涉及一种处理器及其流水线结构、指令执行方法。
背景技术
CPU(Central Processing Unit,中央处理器)是计算机中最重要的处理器,CPU通过电子电路执行计算机程序的指令,例如算术、逻辑、控制、输入和输出指令。CPU在操作时遵循获取、解码、执行和写回步骤,这些步骤统称为指令周期。一条指令执行后,程序计数器的计数值增加,下一个指令周期会获取下一条指令;如果执行的是跳转指令,程序计数器将被修改为包含跳转到的指令的地址,程序继续正常执行。在更复杂的CPU中,可以同时获取、解码和执行指令,例如RISC(Reduced Instruction Set Computer,精简指令集计算机)流水线,但是CPU的执行单元在一个周期只能执行一条指令。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种处理器的流水线结构,取指单元将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元同时执行解码指令对应的多条指令,提升了处理器的执行效率。
本发明的第二个目的在于提出一种处理器。
本发明的第三个目的在于提出一种处理器的指令执行方法。
为达上述目的,根据本发明第一方面实施例提出了一种处理器的流水线结构,包括:取指单元,被配置为获取多条指令,并对多条指令进行压缩操作,生成压缩指令;解码单元,被配置为对压缩指令进行解码操作,生成解码指令;执行单元,被配置为根据解码指令,同时执行解码指令对应的多条指令;写回单元,被配置为获取每条指令对应的执行结果,并将执行结果写回寄存器。
根据本发明实施例的处理器的流水线结构,包括取指单元、解码单元、执行单元和写回单元,其中,取指单元为获取多条指令,并对多条指令进行压缩操作,将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元根据解码指令,同时执行解码指令对应的多条指令,执行单元在一个周期内可以执行多条指令,写回单元获取每条指令对应的执行结果,并将执行结果写回寄存器,从而提升了处理器的执行效率,进而降低了处理器的运行功耗。
根据本发明的一个实施例,执行单元包括:多个计算模块,多个计算模块通过总线互连。
根据本发明的一个实施例,在同时执行解码指令对应的多条指令时,多个计算模块串联连接。
根据本发明的一个实施例,执行单元还包括:多个连接盒,每个连接盒设置在总线中,且与相应的计算模块相连,以将相应的计算模块接入总线中,每个连接盒被配置为将解码指令对应的多条指令分配给多个计算模块;多个信号传输装置,每个信号传输装置设置在两条总线的交汇位置,以对总线上的指令和计算模块的执行结果进行传输。
根据本发明的一个实施例,连接盒包括:可编程连线,设置在总线和计算模块之间。
根据本发明的一个实施例,信号传输装置包括:可编程开关矩阵,设置在两条总线的交汇位置,可编程开关矩阵的导通方向可控,以将总线上的指令和计算模块的执行结果传输至不同方向的总线。
根据本发明的一个实施例,计算模块包括以下至少之一:乘法器、加法器、减法器和三角运算器。
根据本发明的一个实施例,取指单元包括:指令获取模块,被配置为获取同时输入的多条指令;指令压缩模块,被配置为对多条指令进行压缩操作,生成压缩指令。
为达上述目的,根据本发明第二方面实施例提出了一种处理器,包括前述任一实施例的处理器的流水线结构。
根据本发明实施例的处理器,通过采用上述的流水线结构,取指单元将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元同时执行解码指令对应的多条指令,提升了处理器的执行效率。
为达上述目的,根据本发明第三方面实施例提出了一种处理器的指令执行方法,包括:获取多条指令,并对多条指令进行压缩操作,生成压缩指令;对压缩指令进行解码操作,生成解码指令;根据解码指令,同时执行解码指令对应的多条指令;获取每条指令对应的执行结果,并将执行结果写回寄存器。
根据本发明实施例的处理器的指令执行方法,获取多条指令,并对多条指令进行压缩操作,生成压缩指令,将多条指令压缩成一条指令,对压缩指令进行解码操作,生成执行单元可以识别的解码指令,根据解码指令,同时执行解码指令对应的多条指令,执行单元在一个周期内可以执行多条指令,获取每条指令对应的执行结果,并将执行结果写回寄存器,从而提升了处理器的执行效率,进而降低了处理器的运行功耗。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是相关技术中的四级流水线的执行示意图;
图2是根据本发明一个实施例的处理器的流水线结构的结构示意图;
图3是根据本发明一个实施例的四级流水线的执行示意图;
图4是根据本发明一个实施例的执行单元的结构示意图;
图5是相关技术中的减法运算的示意图;
图6是根据本发明一个实施例的减法后异或运算的示意图;
图7是根据本发明一个实施例的可编程开关矩阵的结构示意图;
图8是根据本发明另一个实施例的处理器的流水线结构的结构示意图;
图9是根据本发明一个实施例的处理器的系统示意图;
图10是根据本发明一个实施例的处理器的指令执行方法的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
经典的RISC CPU四级流水线一般包括获取、解码、执行和写回,如图1所示,顶部区域为等待执行的指令列表,中间区域为流水线,底部区域为已执行完成的指令列表。由于执行单元在一个周期内只能执行一条指令,需要花费7个周期时间(即图中的第1周期至第7周期)执行完成四条指令,执行占用的周期数较多,执行时间较长,因此,CPU的功耗较高。
基于此,本发明的实施例提供了一种处理器及其流水线结构、指令执行方法,取指单元将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元同时执行解码指令对应的多条指令,提升了处理器的执行效率。
下面参考附图描述本发明实施例的处理器及其流水线结构、指令执行方法。
图2是根据本发明一个实施例的处理器的流水线结构的结构示意图。如图2所示,处理器的流水线结构包括:取指单元10、解码单元20、执行单元30和写回单元40。
其中,取指单元10被配置为获取多条指令,并对多条指令进行压缩操作,生成压缩指令;解码单元20被配置为对压缩指令进行解码操作,生成解码指令;执行单元30被配置为根据解码指令,同时执行解码指令对应的多条指令;写回单元40被配置为获取每条指令对应的执行结果,并将执行结果写回寄存器。
具体地,取指单元10同时获取多条指令,并对多条指令进行压缩操作,得到一条压缩指令,解码单元20对一条压缩指令进行解码操作,生成执行单元30可以执行的解码指令,然后执行单元30根据解码指令,在一个周期内同时执行解码指令对应的多条指令,写回单元40获取每条指令对应的执行结果,并将执行结果写回寄存器。
举例来说,以图3所示为例,在第0周期取指单元10同时获取2条指令,然后将两条指令压缩成1条压缩指令;在第1周期,取指单元10同时获取2条新的指令,然后将两条新的指令压缩成1条新的压缩指令,解码单元20对第0周期的压缩指令进行解码,生成解码指令;在第2周期,取指单元10同时获取2条新的指令,然后将两条新的指令压缩成1条新的压缩指令,解码单元20对第1周期的压缩指令进行解码,生成解码指令,执行单元30执行第0周期的解码指令对应的2条指令;在第3周期,取指单元10同时获取2条新的指令,然后将两条新的指令压缩成1条新的压缩指令,解码单元20对第2周期的压缩指令进行解码,生成解码指令,执行单元30执行第1周期的解码指令对应的2条指令,写回单元40获取第0周期的每条指令的执行结果,并将执行结果写回寄存器。依次类推,在第6周期,写回单元40获取第3周期的每条指令的执行结果,并将执行结果写回寄存器,在7个周期时间完成了8条指令的执行,是相关技术中的流水线执行效率的2倍。在指令的数量相同时,可以比相关计数中的频率慢一倍,由于处理器的功耗和频率成线性关系,处理器的功耗可以降低。
需要说明的是,取指单元10同时获取的指令数量并不限于2条,还可以为其他数量,具体这里不做限制。
在上述实施例中,取指单元同时获取多条指令,并将多条指令压缩成一条压缩指令,执行单元在一个周期可以同时执行多条指令,从而提升了处理器的执行效率,进而降低了处理器的运行功耗。
在一些实施例中,如图4所示,执行单元30包括:多个计算模块11,多个计算模块11通过总线12互连。
可以理解的是,计算模块11的输出端可以连接到任意一个或多个计算模块11的输入端,因为多个计算模块11互联,所以解码指令对应的多条指令给以同时分配给不同的计算模块11。以取指单元10同时获取2条指令为例,解码指令对应2条指令,同时分配给2个计算模块11分别执行2条指令,从而提升了执行单元30的执行效率。
在一些实施例中,计算模块11包括以下至少之一:乘法器、加法器、减法器和三角运算器。
需要说明的是,计算模块11并不限于上述提到运算器,还可以包括其他运算器,例如除法器、移位寄存器、与门、或门、非门和异或门,具体这里不做限制。
在一些实施例中,在同时执行解码指令对应的多条指令时,多个计算模块11串联连接。
也就是说,多个计算模块11在同时执行解码指令对应的多条指令时,串联连接,增加了数据在执行单元30内的流动时间,减少了内存访问,从而提高了执行效率。
以图5和图6所示为例,处理器需要执行减法后异或的指令。相关技术中的计算模块11没有互连,执行单元30一个周期只能执行一个指令,因此,如图4所示,在一个周期先执行减法指令,在下一个周期执行异或指令。在本实施例中,如图5所示,因为多个计算模块11通过总线12互联,在一个周期内一个计算模块11先执行减法指令,然后减法指令的执行结果通过总线12传输给另一个计算模块11,以使得另一个计算模块11执行异或指令,这两个计算模块11在执行多条指令时为串联关系。因为减法指令的执行结果直接传输给了另一个计算模块11,所以另一个计算模块11不用从内存中获取执行结果,从而缩短了执行单元30的执行时间,提高了执行效率。
在一些实施例中,如图4所示,执行单元30还包括:多个连接盒13和多个信号传输装置14,其中,每个连接盒13设置在总线12中,且与相应的计算模块11相连,以将相应的计算模块11接入总线12中,每个连接盒13被配置为将解码指令对应的多条指令分配给多个计算模块11;每个信号传输装置14设置在两条总线12的交汇位置,以对总线12上的指令和计算模块11的执行结果进行传输。
具体地,每个连接盒13设置在总线12中,且与相应的计算模块11的输入端或输出端相连,以将相应的计算模块11接入总线12中。解码单元20将解码指令传输给任意一个连接盒13,连接盒13将将解码指令对应的多条指令分配给多个计算模块11,如果解码指令对应2条指令,则将2条指令分配给2个计算模块11。通过信号传输装置14,总线12上的指令和执行结果可以传输到任意一个计算模块11,计算模块11根据接收到的指令和执行结果可以执行相应的运算。
进一步的,每个连接盒13还被配置为输出每条指令对应的执行结果。
在上述实施例中,通过连接盒将计算模块接入总线中,实现了多个计算模块互连,并且通过连接盒和信号传输装置实现了指令和执行结果的传输,可以将指令和指令结果传输至任意一个计算模块。
在一些实施例中,如图4所示,连接盒13包括:可编程连线131,设置在总线12和计算模块11之间。
具体地,可编程连线131与总线12相连,且具有连接点,计算模块11的输入端或输出端连接至连接点,通过编程可以改变连接点的连接状态,以将计算模块11接入总线12中。
在一些实施例中,如图4和图7所示,信号传输装置14包括:可编程开关矩阵141,设置在两条总线12的交汇位置,可编程开关矩阵141的导通方向可控,以将总线12上的指令和计算模块11的执行结果传输至不同方向的总线12。
可以理解的是,通过编程可以控制可编程开关矩阵141的导通方向,从而可以将总线12上的指令和执行结果传输至不同方向的总线12。
举例来说,如图7所示,如果要将总线121上的指令传输至总线122上,需要通过编程控制总线121和总线122之间的开关闭合,以进行信号的传输;如果将总线121上的指令传输至总线123上,可以将总线121和总线123之间的开关闭合;如果将总线122上的指令传输至总线124上,可以将总线122和总线124之间的开关闭合。
在一些实施例中,如图8所示,取指单元10包括:指令获取模块11和指令压缩模块12,其中,指令获取模块11被配置为获取同时输入的多条指令;指令压缩模块12被配置为对多条指令进行压缩操作,生成压缩指令。
具体地,为了对多条指令进行压缩,取指单元10内还增加了指令压缩模块12,以对指令获取模块11获取的多条指令进行压缩,举例来说,如果第一条指令是乘法指令,第二条指令是加法指令,压缩指令是乘加指令,如果第一条指令是减法指令,第二条指令是乘法指令,压缩指令是减乘指令。
下面结合具体的实施方式进一步详述本申请的技术方案:
以电机算法中的Park变换为例,Park变换如以下公式所示:
如果相关技术中的执行单元和本实施例的执行单元均包括三个计算模块,其中,一个计算模块包括加法器,一个计算模块包括减法器,还有一个计算模块包括乘法器,且同时获取的指令数量为2条,相关技术中处理器的执行顺序和本实施例的执行顺序如表一所示。
表一
由表一可知,相关技术中如果要完成电机算法中的Park变换需要6个周期,而本实施例只需要4个周期,因此,本实施例的执行效率较快。
如果相关技术中的执行单元和本实施例的执行单元均包括四个计算模块,其中,一个计算模块包括加法器,一个计算模块包括减法器,一个计算模块包括乘法器,还有一个计算模块包括乘法器,且同时获取的指令数量为2条,相关技术中处理器的执行顺序和本实施例的执行顺序如表二所示。
表二
由表二可知,相关技术中如果要完成电机算法中的Park变换需要6个周期,而本实施例只需要3个周期,由于本实施例中的乘法器为2个,因此,本实施例的执行效率更快。
如果相关技术中的执行单元和本实施例的执行单元均包括四个计算模块,其中,一个计算模块包括加法器,一个计算模块包括减法器,一个计算模块包括乘法器,还有一个计算模块包括乘法器,且同时获取的指令数量为3条,相关技术中处理器的执行顺序和本实施例的执行顺序如表三所示。
表三
由表三可知,相关技术中如果要完成电机算法中的Park变换需要6个周期,而本实施例只需要2个周期,由于本实施例中同时获取3条指令,因此,本实施例的执行效率更快。
在实际的应用中,相关技术中的处理器为了完成电机算法中的Park变换需要最高48Mhz的主频,执行时间需要3.2us,而本实施例中的处理器为了完成电机算法中的Park变换需要最高40Mhz的主频,执行时间需要1.8us,处理器的性能提升接近一倍,同时功耗降低。
综上所述,根据本发明实施例的处理器的流水线结构,包括取指单元、解码单元、执行单元和写回单元,其中,取指单元为获取多条指令,并对多条指令进行压缩操作,将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元根据解码指令,同时执行解码指令对应的多条指令,执行单元在一个周期内可以执行多条指令,写回单元获取每条指令对应的执行结果,并将执行结果写回寄存器,从而提升了处理器的执行效率,进而降低了处理器的运行功耗。
对应上述实施例,本发明的实施例还提供了一种处理器。如图9所示,处理器200包括前述任一实施例的处理器的流水线结构100。
根据本发明实施例的处理器,通过采用上述的流水线结构,取指单元将多条指令压缩成一条指令,解码单元对压缩指令进行解码操作,生成执行单元可以识别的解码指令,执行单元同时执行解码指令对应的多条指令,提升了处理器的执行效率。
对应上述实施例,本发明的实施例还提供了一种处理器的指令执行方法,如图10所示,指令执行方法包括以下步骤:
S101,获取多条指令,并对多条指令进行压缩操作,生成压缩指令。
具体地,取指单元同时获取多条指令,并对多条指令进行压缩操作,得到一条压缩指令,以便后续解码单元进行解码操作。
S102,对压缩指令进行解码操作,生成解码指令。
具体地,取指单元获取的指令执行单元并不可以识别,因此,需要解码单元对压缩指令进行解码操作,生成执行单元可以执行的解码指令。
S103,根据解码指令,同时执行解码指令对应的多条指令。
具体地,执行单元根据解码指令,在一个周期内同时执行解码指令对应的多条指令。
S104,获取每条指令对应的执行结果,并将执行结果写回寄存器。
根据本发明实施例的处理器的指令执行方法,获取多条指令,并对多条指令进行压缩操作,生成压缩指令,将多条指令压缩成一条指令,对压缩指令进行解码操作,生成执行单元可以识别的解码指令,根据解码指令,同时执行解码指令对应的多条指令,执行单元在一个周期内可以执行多条指令,获取每条指令对应的执行结果,并将执行结果写回寄存器,从而提升了处理器的执行效率,进而降低了处理器的运行功耗。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,本发明实施例中所使用的“第一”、“第二”等术语,仅用于描述目的,而不可以理解为指示或者暗示相对重要性,或者隐含指明本实施例中所指示的技术特征数量。由此,本发明实施例中限定有“第一”、“第二”等术语的特征,可以明确或者隐含地表示该实施例中包括至少一个该特征。在本发明的描述中,词语“多个”的含义是至少两个或者两个及以上,例如两个、三个、四个等,除非实施例中另有明确具体的限定。
在本发明中,除非实施例中另有明确的相关规定或者限定,否则实施例中出现的术语“安装”、“相连”、“连接”和“固定”等应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或成一体,可以理解的,也可以是机械连接、电连接等;当然,还可以是直接相连,或者通过中间媒介进行间接连接,或者可以是两个元件内部的连通,或者两个元件的相互作用关系。对于本领域的普通技术人员而言,能够根据具体的实施情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种处理器的流水线结构,其特征在于,包括:
取指单元,被配置为获取多条指令,并对所述多条指令进行压缩操作,生成压缩指令;
解码单元,被配置为对所述压缩指令进行解码操作,生成解码指令;
执行单元,被配置为根据所述解码指令,同时执行所述解码指令对应的多条指令;
写回单元,被配置为获取每条指令对应的执行结果,并将所述执行结果写回寄存器。
2.根据权利要求1所述的流水线结构,其特征在于,所述执行单元包括:多个计算模块,所述多个计算模块通过总线互连。
3.根据权利要求2所述的流水线结构,其特征在于,在同时执行所述解码指令对应的多条指令时,所述多个计算模块串联连接。
4.根据权利要求2所述的流水线结构,其特征在于,所述执行单元还包括:
多个连接盒,每个所述连接盒设置在所述总线中,且与相应的计算模块相连,以将相应的计算模块接入所述总线中,每个所述连接盒被配置为将所述解码指令对应的多条指令分配给所述多个计算模块;
多个信号传输装置,每个所述信号传输装置设置在两条总线的交汇位置,以对所述总线上的指令和所述计算模块的执行结果进行传输。
5.根据权利要求4所述的流水线结构,其特征在于,所述连接盒包括:可编程连线,设置在所述总线和所述计算模块之间。
6.根据权利要求4所述的流水线结构,其特征在于,所述信号传输装置包括:可编程开关矩阵,设置在两条总线的交汇位置,所述可编程开关矩阵的导通方向可控,以将所述总线上的指令和所述计算模块的执行结果传输至不同方向的总线。
7.根据权利要求2所述的流水线结构,其特征在于,所述计算模块包括以下至少之一:乘法器、加法器、减法器和三角运算器。
8.根据权利要求1-7中任一项所述的流水线结构,其特征在于,所述取指单元包括:
指令获取模块,被配置为获取同时输入的所述多条指令;
指令压缩模块,被配置为对所述多条指令进行压缩操作,生成所述压缩指令。
9.一种处理器,其特征在于,包括根据权利要求1-8中任一项所述的处理器的流水线结构。
10.一种处理器的指令执行方法,其特征在于,包括:
获取多条指令,并对所述多条指令进行压缩操作,生成压缩指令;
对所述压缩指令进行解码操作,生成解码指令;
根据所述解码指令,同时执行所述解码指令对应的多条指令;
获取每条指令对应的执行结果,并将所述执行结果写回寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501970.9A CN116225538A (zh) | 2023-05-06 | 2023-05-06 | 处理器及其流水线结构、指令执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501970.9A CN116225538A (zh) | 2023-05-06 | 2023-05-06 | 处理器及其流水线结构、指令执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225538A true CN116225538A (zh) | 2023-06-06 |
Family
ID=86587628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310501970.9A Pending CN116225538A (zh) | 2023-05-06 | 2023-05-06 | 处理器及其流水线结构、指令执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225538A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287730A (zh) * | 2018-03-14 | 2018-07-17 | 武汉市聚芯微电子有限责任公司 | 一种处理器流水线结构 |
CN109918130A (zh) * | 2019-01-24 | 2019-06-21 | 中山大学 | 一种具有快速数据旁路结构的四级流水线risc-v处理器 |
CN111124495A (zh) * | 2019-12-16 | 2020-05-08 | 海光信息技术有限公司 | 一种数据处理方法、解码电路及处理器 |
CN111209044A (zh) * | 2018-11-21 | 2020-05-29 | 展讯通信(上海)有限公司 | 指令压缩方法及装置 |
-
2023
- 2023-05-06 CN CN202310501970.9A patent/CN116225538A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287730A (zh) * | 2018-03-14 | 2018-07-17 | 武汉市聚芯微电子有限责任公司 | 一种处理器流水线结构 |
CN111209044A (zh) * | 2018-11-21 | 2020-05-29 | 展讯通信(上海)有限公司 | 指令压缩方法及装置 |
CN109918130A (zh) * | 2019-01-24 | 2019-06-21 | 中山大学 | 一种具有快速数据旁路结构的四级流水线risc-v处理器 |
CN111124495A (zh) * | 2019-12-16 | 2020-05-08 | 海光信息技术有限公司 | 一种数据处理方法、解码电路及处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720353B2 (en) | Processing apparatus and processing method | |
US10620951B2 (en) | Matrix multiplication acceleration of sparse matrices using column folding and squeezing | |
US10514912B2 (en) | Vector multiplication with accumulation in large register space | |
KR101748538B1 (ko) | 벡터 인덱싱 메모리 액세스 플러스 산술 및/또는 논리 연산 프로세서들, 방법들, 시스템들 및 명령어들 | |
RU2656730C2 (ru) | Процессоры, способы, системы и команды для сложения трех операндов-источников с плавающей запятой | |
CN111177647A (zh) | 实行16位浮点矩阵点积指令的系统和方法 | |
CN112099852A (zh) | 可变格式、可变稀疏矩阵乘法指令 | |
JPH10187438A (ja) | 乗算器の入力に対する遷移を減少させる方法 | |
JPH10134036A (ja) | マルチメディア信号プロセッサの単一命令多重データ処理 | |
TW201717037A (zh) | 用於緊耦合異質計算的硬體處理器及方法 | |
US9965276B2 (en) | Vector operations with operand base system conversion and re-conversion | |
JP2012174016A (ja) | データ処理装置およびそのデータ処理方法 | |
EP3451153B1 (en) | Apparatus and method for executing transcendental function operation of vectors | |
US10037210B2 (en) | Apparatus and method for vector instructions for large integer arithmetic | |
KR19980018072A (ko) | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리 | |
TW201344565A (zh) | 用以對緊縮資料執行差異解碼之系統,設備,及方法 | |
CN116225538A (zh) | 处理器及其流水线结构、指令执行方法 | |
JPH10143494A (ja) | スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理 | |
KR100267092B1 (ko) | 멀티미디어신호프로세서의단일명령다중데이터처리 | |
EP3929732A1 (en) | Matrix data scatter and gather by row | |
CN117472322A (zh) | 基于串行处理器的单比特8点fft计算系统及其方法 | |
CN117055962A (zh) | 数字信号处理器、电子设备以及数据处理方法 | |
CN113867686A (zh) | 运算方法、装置及相关产品 | |
CN117093263A (zh) | 处理器、芯片、板卡及方法 | |
JP2862969B2 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230606 |