一种基于MIPS32指令系统的三级流水线CPU设计方法技术方案

技术编号:26971243 阅读:12 留言:0更新日期:2021-01-06 00:01
本发明专利技术涉及一种基于MIPS32指令系统的三级流水线CPU设计方法,其中在三级流水线实现的过程中,提出了一个新颖的逻辑结构使得三级流水线正常工作与运行,其通过取值、移码与执行三个阶段,并使用插入其中的流水线寄存器控制与记录每一级产生的新的信息,相比于五级流水线来说,其逻辑结构更为简单,使得其具有更快的时钟频率。同时,由于只需要对极少的指令冒险和数据冒险,所以旁路设计逻辑简单,可以一定程度上提升指令的处理器的时钟频率和运行速度。

【技术实现步骤摘要】
一种基于MIPS32指令系统的三级流水线CPU设计方法
本专利技术属于集成电路设计领域,具体涉及一种基于MIPS32指令系统的三级流水线CPU设计方法。
技术介绍
目前在寄存器传输级的CPU设计领域的主流为五级流水线CPU由于其结构为取值,移码,执行,存储器写入和写回PC寄存器五个部分,由于指令中存在复杂的数据冒险和结构冒险,导致CPU在指令运行时需要采用复杂的逻辑关系和电路设计解决,并且由于程序指令的复杂运行过程,导致CPU中为处理冒险所耗费较多资源,由于逻辑增加,使得时钟频率不可避免的降低,一定程度上影响了CPU的运算的速度。同时,由于具有较复杂的逻辑结构,而FPGA上的资源有限限制了CPU逻辑的结构不能太复杂,这一点在部分具有较少资源芯片时显得尤为重要,所以在设计中如果采取较为复杂的逻辑,很可能造成芯片的资源不足,无法成功进行综合。本专利技术所设计的三级流水线CPU能使用较少的CPU资源使CPU的各条指令得以正常运行,并且由于逻辑数量减少,一定程度上提升了CPU的时钟频率。
技术实现思路
要解决的技术问题针对目前专利技术中存在的问题,本专利技术通过设计一个基于MIPS32指令系统的三级流水线CPU设计,主要解决以下几个方面问题:减少由于五级流水线CPU的逻辑复杂性产生的更多的资源消耗。由于FPGA上电路的资源有限,三级流水线因为其特有的逻辑特点,在电路中消耗的资源会大大减少,可以在CPU资源有限的情况下拥有更好的兼容性。提升CPU的时钟频率,从而提升CPU的运行速度。由于三级流水线的结构简单,每一级所使用的逻辑会减少,可以在同步时序逻辑电路中,提升CPU在的时钟频率,从而使得CPU在处理每一个逻辑时的速度提升。技术方案一种基于MIPS32指令系统的三级流水线CPU设计方法,其特征在于:三级流水线由两个流水线寄存器和在其三个流水级中插入的模块构成;三级流水线CPU的运行过程由取指令、译码和执行三级组成;其流水情况为:CLK12345INS1IFDECODEEXEINS2IFDECODEEXEINS3IFDECODEEXE其中:IF——取指令;DECODE——译码;EXE——执行;CLK——时钟节拍数;INS——指令所述的取指令过程:首先由多路选择器模块MUX1选择适合的PC值,将其PC值发送给对应的PC模块,PC模块再将对应的地址转送给指令存储器,进行取地址操作,除此之外,再将地址存入下一级流水线寄存器中;当指令存储器收到指令对应的地址时,进行取指令操作,将这一拍取出的指令存入下一级流水线寄存器中;所述的译码过程:指令被送译码器中,根据所拥有的指令不同生成不同的控制信号,这些控制信号将帮助执行指令时保证指令正常运行,构成了指令的控制通路,将这些信号存入下一级流水线寄存器中;同时,指令信号被分段传输入寄存器文件中,这些信号是寄存器的索引,通过索引读出数据,将数据存入下一级流水线寄存器中;同时,还有部分信号和数据是直接在指令中包含的,通过前一级的流水线寄存器将其取出,然后导入下一级流水线寄存器中;所述的执行过程:流水线寄存器发出所有的数据信号和控制信号,他们将完成指令最终的操作,并将结果传回PC模块中;在直接跳转单元中,指令完成的是跳转地址的计算与选择操作,将最终地址传回多路选择器MUX1后,通过控制信号选择接下来的地址传入PC中;在算数逻辑运算单元模块ALU中,完成的是算数计算指令和逻辑运算指令,根据信号,将结果写回寄存器文件中;指令运行时可能发生异常,当异常发生时,异常处理模块将会改写指令的控制信号,使指令按照异常发生的控制信号进行运作,ALU或流水线寄存器将遇到的异常提交到协处理器单元CP0中,然后CPU会将这些进行处理;在Branch模块中,判断指令是否为分支跳转指令,视情况将不同的指令地址送入;流水线最后的多路选择器MUX2将选择何种数据写入寄存器文件;而多路选择器MUX3作用是判断是写入哪个寄存器文件中的寄存器。有益效果本专利技术提出的一种基于MIPS32指令系统的三级流水线CPU设计方法,其中在三级流水线实现的过程中,提出了一个新颖的逻辑结构使得三级流水线正常工作与运行,其主要通过取值、移码与执行三个阶段,并使用插入其中的流水线寄存器控制与记录每一级产生的新的信息,相比于五级流水线来说,其逻辑结构更为简单,使得其具有更快的时钟频率。同时,由于只需要对极少的指令冒险和数据冒险,所以旁路设计逻辑简单,可以一定程度上提升指令的处理器的时钟频率和运行速度。在流水线的运行过程中,逻辑较为简单,在综合时利用的板上资源减少,这对于在很多时候条件限制时却要使得CPU完成多种功能时尤为重要。设计一个逻辑简单但可以完成几乎全部功能的CPU,可以大大减缓CPU芯片上的空间。附图说明:图1五级流水线结构示意图;图2三级流水线总体结构图;图3(a)指令存储器;(b)数据存储器;(c)寄存器文件;图4译码器和控制单元图;图5(a)算数逻辑单元(ALU)及控制单元;(b)直接跳转单元;(c)IF/ID;图6(a)ID/EX;(b)MUX1;(c)MUX2;图7(a)MUX3;(b)Branch模块;图8异常处理单元;图9三级流水线总体结构图的部分图。具体实施方式指令存储器如图3(a),功能为通过输入的指令地址,读取出对应的指令。指令存储器中存储的为所有指令,只需要输入其地址既可以读出。数据存储器如图3(b),功能为实现片内外数据的读取和存储。实现存取值(load和store)。寄存器文件如图3(c)所示。寄存器文件定义了32个寄存器,用于片内存储和数据交换,是片内实现各种指令的重要模块。译码器和控制单元如图4所示。译码器主要用于指令的译码操作,将指令送入译码器,并将其翻译成对应的信号,存入ID/EX流水线寄存器中。译码信号表:算数逻辑单元(ALU)及控制单元如图5(a)所示,此模块是CPU核心的运算单元,可以使CPU完成算数运算和逻辑运算操作。控制单元将需要的信号发送给ALU,ALU通过对应的控制信号进行相应计算。以下是控制信号与指令对应图:直接跳转单元如图5(b)所示,主要功能为计算直接跳转的地址,并将地址发送到PC,进行CPU的直接跳转指令的运行。IF/ID流水线寄存器如图5(c)所示,主要功能为存储指令的指令码,存储本条指令的地址,以及存储是否本条指令发生错误的信号。ID/EX流水线寄存器如图6(a)所示,主要功能为存储译码时产生的信号,寄存器文件中读取的数据,以及直接从指令中产生的数据和信号。以下是存储的信息:多路选择器MUX1如图6(b)所示,主要功能为选择出下一条指令需要的本文档来自技高网...

【技术保护点】
1.一种基于MIPS32指令系统的三级流水线CPU设计方法,其特征在于:三级流水线由两个流水线寄存器和在其三个流水级中插入的模块构成;三级流水线CPU的运行过程由取指令、译码和执行三级组成;其流水情况为:/n

【技术特征摘要】
1.一种基于MIPS32指令系统的三级流水线CPU设计方法,其特征在于:三级流水线由两个流水线寄存器和在其三个流水级中插入的模块构成;三级流水线CPU的运行过程由取指令、译码和执行三级组成;其流水情况为:












CLK
1
2
3
4
5


INS1
IF
DECODE
EXE




INS2

IF
DECODE
EXE



INS3


IF
DECODE
EXE






其中:
IF——取指令
DECODE——译码
EXE——执行
CLK——时钟节拍数
INS——指令
所述的取指令过程:首先由多路选择器模块MUX1选择适合的PC值,将其PC值发送给对应的PC模块,PC模块再将对应的地址转送给指令存储器,进行取地址操作,除此之外,再将地址存入下一级流水线寄存器中;当指令存储器收到指令对应的地址时,进行取指令操作,将这一拍取出的指令存入下一级流水线寄存器中;
所述的译...

【专利技术属性】
技术研发人员:唐家祺画佳恒王硕马可刘耀坤王澍王喜平何成骋姚远
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1