数字系统设计实验--流水线MIPS微处理器设计(完整版)资料.doc
《数字系统设计实验--流水线MIPS微处理器设计(完整版)资料.doc》由会员分享,可在线阅读,更多相关《数字系统设计实验--流水线MIPS微处理器设计(完整版)资料.doc(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字系统设计实验-流水线MIPS微处理器设计(完整版)资料(可以直接使用,可编辑 优秀版资料,欢迎下载)一、实验目的(1)了解提高CPU性能的方法。(2)理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。(3)掌握流水线MIPS微处理器的工作原理。(4)掌握流水线MIPS微处理器的测试方法。二、实验任务设计一个32位流水线MIPS微处理器,具体要求如下设计要求:(1)至少执行下列MIPS32指令。 算数运算指令:ADD ADDU SUB SUBU ADDI ADDU 逻辑运算指令:AND OR NOR XOR ANDI ORI XORI SLT SLTI SLTU SLTIU 移位指令:S
2、LL SLLV SRL SRLV SRA 条件分支指令:BEQ BNE BGEZ BGTZ BLEZ BLTZ 无条件跳转指令:J JR 数据传输指令:LW SW 空指令:NOP(2)在用5级流水线技术,对数据冒险实现转发或阻塞功能。(3)在XUP Vietex-II Pro开发系统中实现MIPS微处理器,要求CPU的运行速度大于25MHz.三、实验原理1.流水线MIPS CPU总体设计流水线是数字系统中一种提高系统稳定性和工作速度的方法,广泛应用在高档CPU的构建中。根据MIPS处理器指令的特点,将整体的处理过程分为取指令(IF)、指令译码、执行、存储器访问和寄存器写回五级,对应多周期CPU
3、的五个处理阶段。如图1所示,一个指令的执行需要五个时钟周期,每个时钟周期上升沿来临时,此指令所代表的一系列数据和控制信息转移到下一级处理。图1 流水线流水作业示意图一条MIPS指令分为五个处理步骤,即五级流水线,的具体执行过程如图2所示。图2 五级流水线MIPS CPU初步原理框图流水线寄存器:为了在其它四级流水线中各条指令保持各自的值,从指令存储器中读出的指令必须保存在寄存器中。同样的方法应用到每个流水线步骤中,需要在上图中各级之间加入寄存器,如图3所示。图3.在各级分割线添加寄存器后的框图由于在流水线中,数据和控制信息将在时钟上升沿转移到下一级,所以规定流水线转移的变量命名遵守如下格式:名
4、称_流水线级名称。例如,在ID级指令译码电路(DECODE)产生的寄存器写允许信号RegWrite在ID级、EX级、MEM级和WB级上的命名分别为RegWrite_id、RegWrite_ex、RegWrite_men和RegWrite_wb。在顶层文件中,类似的变量名称有近百个,这样的命名方式起到了很好的识别作用。1MIPS指令格式:R型指令格式 本实验需要实现的R型指令有:I)算术逻辑运算指令: ADD、ADDU、SUB、SUBU、AND、OR、NOR、 XOR 、SLT、SLTUII)移位指令:SLLV、SRLV、SRAV、SLL、SRL、SRAIII)寄存器跳转指令:JRI型指令格式本
5、实验需要实现的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跳转地址为:PC31:28,IR25:0,2b00特别注意:1、 寄存器跳转指令JR不是J型指令,而是R型指令,其指令格式为:跳转地址为:$ra,寄存器号为rs2、 移位指令SLL、SRL、SRA只有rt一个源操作数:3、取字指令的操作过程:rt =
6、Memrs+sign_extend(imm) 存字指令的操作过程: Memrs+sign_extend(imm) =0)5d12BGTZ_opxxxxx5d0Z=(A0)5d13BLEZ_opxxxxx5d0Z=(A=1)5d14BLTZ_opxxxxx5d0Z=(A0)5d15R_type_opADD_functxxxxx加5d0ADDU_functxxxxxAND_functxxxxx与5d1XOR_functxxxxx异或5d2OR_functxxxxx或5d3NOR_functxxxxx或非5d4SUB_functxxxxx减5d5SUBU_functxxxxxSLT_OP_funct
7、xxxxxAB? 1:05d19SLTU_OP_functxxxxxAA5d16SLLV_funct5、TCP/IP协议参考模型共分了_4_层,其中3、4层是_传输层_、_运用层_。xxxxx6、电子邮件系统提供的是一种_存储转发式_服务,WWW服务模式为_B/S_。SRL_functxxxxxBA主程序的输出结果:5d18ARAV_funct32、SMTPxxxxxADDI_opxxxxxxxxxx加5d0ADDIU_opxxxxxxxxxxANDI_opxxxxxxxxxx与5d1XORI_opxxxxxxxxxx异或5d2ORI_opxxxxxxxxxx或5d3SLTI_opxxxxxx
8、xxxxAB? 1:05d19SLTIU_opxxxxxxxxxxAB? 1:0(无符号数)5d20SW_opxxxxxxxxxx加(计算地址)5d0LW_opxxxxxxxxxx(2) 分支检测(Branch Test)电路的设计Zero检测电路主要用于判断Branch指令的分支条件是否成立,其中BEQ、BNE两个操作数为RsData与RtData,而BGEZ、BGTZ、BLEZ和BLTZ指令则为RsData与常数0比较,所以输出信号Z的表达式为:RsData31 | (| RsData31: 0) ; ALUCode=alu _blezRsData31 ; ALUCode=alu _blt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计 实验 流水线 MIPS 微处理器 完整版 资料
限制150内