数字系统设计实验--流水线mips微处理器设计

数字系统设计实验--流水线mips微处理器设计

ID:33129888

大小:3.09 MB

页数:29页

时间:2019-02-21

数字系统设计实验--流水线mips微处理器设计_第1页
数字系统设计实验--流水线mips微处理器设计_第2页
数字系统设计实验--流水线mips微处理器设计_第3页
数字系统设计实验--流水线mips微处理器设计_第4页
数字系统设计实验--流水线mips微处理器设计_第5页
资源描述:

《数字系统设计实验--流水线mips微处理器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数字系统设计实验Ⅱ流水线MIPS微处理器设计一、实验目的(1)了解提高CPU性能的方法。(2)理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。(3)掌握流水线MIPS微处理器的工作原理。(4)掌握流水线MIPS微处理器的测试方法。二、实验任务设计一个32位流水线MIPS微处理器,具体要求如下设计要求:(1)至少执行下列MIPS32指令。① 算数运算指令:ADDADDUSUBSUBUADDIADDU② 逻辑运算指令:ANDORNORXORANDIORIXORISLTSLTISLTUSLTIU③ 移位指令:SLLSLLVSRLSRLVSRA④ 条件分支指令:BEQBNEBGEZBGT

2、ZBLEZBLTZ⑤ 无条件跳转指令:JJR⑥ 数据传输指令:LWSW⑦ 空指令:NOP(2)在用5级流水线技术,对数据冒险实现转发或阻塞功能。(3)在XUPVietex-IIPro开发系统中实现MIPS微处理器,要求CPU的运行速度大于25MHz.三、实验原理1.流水线MIPSCPU总体设计流水线是数字系统中一种提高系统稳定性和工作速度的方法,广泛应用在高档CPU的构建中。根据MIPS处理器指令的特点,将整体的处理过程分为取指令(IF)、指令译码、执行、存储器访问和寄存器写回五级,对应多周期CPU的五个处理阶段。如图1所示,一个指令的执行需要五个时钟周期,每个时钟周期上升沿来临时,此

3、指令所代表的一系列数据和控制信息转移到下一级处理。28数字系统设计实验Ⅱ流水线MIPS微处理器设计图1流水线流水作业示意图一条MIPS指令分为五个处理步骤,即五级流水线,的具体执行过程如图2所示。图2五级流水线MIPSCPU初步原理框图流水线寄存器:为了在其它四级流水线中各条指令保持各自的值,从指令存储器中读出的指令必须保存在寄存器中。同样的方法应用到每个流水线步骤中,需要在上图中各级之间加入寄存器,如图3所示。图3.在各级分割线添加寄存器后的框图28数字系统设计实验Ⅱ流水线MIPS微处理器设计由于在流水线中,数据和控制信息将在时钟上升沿转移到下一级,所以规定流水线转移的变量命名遵守如

4、下格式:名称_流水线级名称。例如,在ID级指令译码电路(DECODE)产生的寄存器写允许信号RegWrite在ID级、EX级、MEM级和WB级上的命名分别为RegWrite_id、RegWrite_ex、RegWrite_men和RegWrite_wb。在顶层文件中,类似的变量名称有近百个,这样的命名方式起到了很好的识别作用。1.MIPS指令格式:①R型指令格式本实验需要实现的R型指令有:I)算术逻辑运算指令:ADD、ADDU、SUB、SUBU、AND、OR、NOR、XOR、SLT、SLTUII)移位指令:SLLV、SRLV、SRAV、SLL、SRL、SRAIII)寄存器跳转指令:JR

5、②I型指令格式本实验需要实现的I型指令有:I)存储器访问指令:LW、SWII)立即数算术逻辑运算指令:ADDI、ADDIU、ANDI、ORI、XORI、SLTI、SLTIUIII)分支指令:BEQ、BNE、BGEZ、BGTZ、BLEZ、BLTZ分支地址为:PC+4+(sign-extend(Imm)<<2)③J型指令格式本实验需要实现的J型指令只有:无条件跳转指令:J跳转地址为:{PC[31:28],IR[25:0],2’b00}特别注意:1、寄存器跳转指令JR不是J型指令,而是R型指令,其指令格式为:跳转地址为:$ra,寄存器号为rs2、移位指令SLL、SRL、SRA只有rt一个源操

6、作数:3、取字指令的操作过程:rt<=Mem[rs+sign_extend(imm)]28数字系统设计实验Ⅱ流水线MIPS微处理器设计存字指令的操作过程:Mem[rs+sign_extend(imm)]<=rt4、I型指令中立即数算术逻辑运算指令对立即数(Imm)的处理应分为两类情况考虑:① 当指令为ADDI、ADDIU、SLTI、SLTIU时,指令中的16位立即数(Imm)应做符号扩展为32位。此符号扩展电路在ID级完成。② 当指令为ANDI、ORI、XORI时,Imm应做“0”扩展为32位。考虑到资源的限制,在执行ANDI、ORI、XORI指令时,“0”扩展功能放在ALU内部(即E

7、X级)完成。2、流水线中的控制信号为保证CPU按照指令正常运行,分别设置各个级的控制信号:(1)IF级:取指令级。从ROM中读取指令,并在下一个时钟沿到来时把指令送到ID级的指令缓冲器中。该级控制信号决定下一个指令指针的PCSource信号、阻塞流水线的PC_IFwrite信号、清空流水线的IF_flush信号。(2)ID级:指令译码器。对IF级来的指令进行译码,并产生相应的控制信号。整个CPU的控制信号基本都是在这级上产生。该级自身不需任何控

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。