数字系统设计实验流水线MIPS微处理器设计
下载文档
当前位置:
首页> 数字系统设计实验流水线MIPS微处理器设计
数字系统设计实验流水线MIPS微处理器设计
时间:2024-01-02 03:47:11 下载该word文档
如有你有帮助,请购买下载,谢谢!
一、实验目的
(1)了解提高CPU性能的方法。
(2)理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。(3)掌握流水线MIPS微处理器的工作原理。(4)掌握流水线MIPS微处理器的测试方法。
二、实验任务
设计一个32位流水线MIPS微处理器,具体要求如下设计要求:(1)至少执行下列MIPS32指令。
①算数运算指令:ADDADDUSUBSUBUADDI
ADDU②逻辑运算指令:ANDORNORXORANDIORIXORISLTSLTI
SLTU
SLTIU③移位指令:SLLSLLVSRLSRLV
SRA④条件分支指令:BEQBNEBGEZBGTZBLEZBLTZ⑤无条件跳转指令:JJR⑥数据传输指令:LWSW⑦空指令:NOP(2)在用5级流水线技术,对数据冒险实现转发或阻塞功能。
(3)在XUPVietex-IIPro开发系统中实现MIPS微处理器,要求CPU的运行速度大于25MHz.三、实验原理
1.流水线MIPSCPU总体设计
流水线是数字系统中一种提高系统稳定性和工作速度的方法,广泛应用在高档CPU的构建中。根据MIPS处理器指令的特点,将整体的处理过程分为取指令(IF)、指令译码、执行、存储器访问和寄存器写回五级,对应多周期CPU的五个处理阶段。如图1所示,一个指令的执行需要五个时钟周期,每个时钟周期上升沿来临时,此指令所代表的一系列数据和控制信息转移到下一级处理。
图1流水线流水作业示意图
一条MIPS指令分为五个处理步骤,即五级流水线,的具体执行过程如图2所示。
图2五级流水线MIPSCPU初步原理框图
流水线寄存器:为了在其它四级流水线中各条指令保持各自的值,从指令存储器中读出的指令必须保存在寄存器中。同样的方法应用到每个流水线步骤中,需要在上图中各级之间加入寄存器,如图3所示。
图3.在各级分割线添加寄存器后的框图
由于在流水线中,数据和控制信息将在时钟上升沿转移到下一级,所以规定流水线转移的变量命名遵守如下格式:名称_流水线级名称。
例如,在ID级指令译码电路(DECODE)产生的寄存器写允许信号RegWrite在ID级、EX级、MEM级和WB级上的命名分别为RegWrite_id、RegWrite_ex、RegWrite_men和RegWrite_wb。在顶层文件中,类似的变量名称有近百个,这样的命名方式起到了很好的识别作用。
1.MIPS指令格式:
0页
如有你有帮助,请购买下载,谢谢!
①R型指令格式
本实验需要实现的R型指令有:I算术逻辑运算指令:ADD、ADDU、SUB、SUBU、AND、OR、NOR、XOR、SLT、SLTUII移位指令:SLLV