流水线MIPS CPU的设计—张玲松.pdf

流水线MIPS CPU的设计—张玲松.pdf

ID:56484394

大小:5.28 MB

页数:56页

时间:2020-06-24

流水线MIPS CPU的设计—张玲松.pdf_第1页
流水线MIPS CPU的设计—张玲松.pdf_第2页
流水线MIPS CPU的设计—张玲松.pdf_第3页
流水线MIPS CPU的设计—张玲松.pdf_第4页
流水线MIPS CPU的设计—张玲松.pdf_第5页
资源描述:

《流水线MIPS CPU的设计—张玲松.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程名称数字系统设计实验II姓名张玲松学号3110100976专业信息与通信工程班级信通1105班专业:信息与通信工程___姓名:___张玲松___学号:___3110100976__实验报告日期:2014年1月4日地点:___东1B-415(A)__课程名称:数字系统设计实验II指导老师:屈民军、唐奕、马洪庆成绩:__________________实验名称:_流水线MIPSCPU的设计__实验类型:____设计型___同组学生姓名:__________________一、实验目的和要求(必填)二、实验内容和原理(必

2、填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和结果分析(必填)六、实验心得一、实验目的和要求(1)了解提高CPU性能的方法。(2)掌握流水线MIPS微处理器的工作原理。(3)理解数据冒险、控制冒险的概念以及流水线冲突的解决方法。(4)掌握流水线MIPS微处理器的测试方法。二、实验内容和原理(一)实验内容实验原理框图如下设计一个32位流水线MIPS微处理器。设计要求:(1)至少执行下列MIPS32指令。①算数运算指令:ADDADDUSUBSUBUADDIADDU②逻辑运算指令:ANDORNORXOR

3、ANDIORIXORISLTSLTISLTUSLTIU③移位指令:SLLSLLVSRLSRLVSRA④条件分支指令:BEQBNEBGEZBGTZBLEZBLTZ⑤无条件跳转指令:JJR⑥数据传输指令:LWSW⑦空指令:NOP(2)在用5级流水线技术,对数据冒险实现转发或阻塞功能。(3)在XUPVietex-IIPro开发系统中实现MIPS微处理器,要求CPU的运行速度大于25MHz.(二)实验内容1)总体设计流水线是数字系统中一种提高系统稳定性和工作速度的方法,广泛应用于高档CPU的架构中。根据MIPS处理器的特点,将

4、整体的处理过程分为取指令(IF)、指令译码(ID)、执行(EX)、存储器访问(MEM)和寄存器会写(WB)五级,对应多周期的五个处理阶段。如图3.1所示,一个指令的执行需要5个时钟周期,每个时钟周期的上升沿来临时,此指令所代表的一系列数据和控制信息将转移到下一级处理。123456789I1IFIDCXMEMWBI2IFIDCXMEMWBI3IFIDCXMEMWBI4IFIDCXMEMWBI5IFIDCXMEMWB图3.1流水线流水作业示意图由于在流水线中,数据和控制信息将在时钟周期的上升沿转移到下一级,所以规定流水线转

5、移变量命名遵守如下格式:名称_流水线级名称例如:在ID级指令译码电路(Decode)产生的寄存器写允许信号RegWrite在ID级、EX级、MEM级和WB级上的命名分别为RegWrite_id、RegWrite_ex、RegWrite_mem和RegWrite_wb。在顶层文件中,类似的变量名称有近百个,这样的命名方式起到了很好的识别作用。1、流水线中的控制信号IF级:取指令级。从ROM中读取指令,并在下一个时钟沿到来时把指令送到ID级的指令缓冲器中。该级控制信号决定下一个指令指针的PCSource信号、阻塞流水线的P

6、C_IFwrite信号、清空流水线的IF_flush信号。ID级:指令译码器。对IF级来的指令进行译码,并产生相应的控制信号。整个CPU的控制信号基本都是在这级上产生。该级自身不需任何控制信号。流水线冒险检测也在该级进行,冒险检测电路需要上一条指令的MemRead,即在检测到冒险条件成立时,冒险检测电路产生stall信号清空ID/EX寄存器,插入一个流水线气泡。EX级:执行级。该级进行算术或逻辑操作。此外LW、SW指令所用的RAM访问地址也是在本级上实现。控制信号有ALUCode、ALUSrcA、ALUScrB和Reg

7、Dst,根据这些信号确定ALU操作、选择两个ALU操作数A、B,并确定目标寄存器。另外,数据转发也在该级完成。数据转发控制电路产生ForwardA和ForwardB两组控制信号。MEM级:存储器访问级。只有在执行LW、SW指令时才对存储器进行读写,对其他指令只起到一个周期的作用。该级只需存储器写操作允许信号MemWrite。WB级:写回级。该级把指令执行的结果回写到寄存器文件中。该级设置信号MemtoReg和寄存器写操作允许信号RegWrite,其中MemtoReg决定写入寄存器的数据来自于MEM级上的缓冲值或来自于M

8、EM级上的存储器。2、流水线冒险在流水线CPU中,多条指令通知执行,由于各种各样的原因,在下一个时钟周期中下一条指令不能执行,这种情况称为冒险。冒险分为三类:①结构冒险:硬件不支持多条指令在同一个时钟周期内执行。MIPS指令集专为流水线设计,因此在MIPSCPU中不存在此类冒险。②数据冒险:在一个操作必须等待另一操作完成后才能进行

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

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

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