下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5段流水线CPU设计实掌握流水方式下,通过I/O端口与外部设备进行信息交互的方采用Verilog在quartusⅡ中实现基本的具有20条MIPS指令的5段流水CPU采用I/O统一编址方式,即将输入输出的I/O地址空间,作为数据存取空间的一部分,实现CPU与外部设备利用设计的I/O端口,通过lw指令,输入DE2实验板上的按键等输入设备信息。即将外部设备状态CPU内部寄存利用设计的I/O端口,通过sw指令,输出对DE2实验板上的LED灯等输出设备的控制信号(息)。即将对外部设备的控制数据,从CPU内部的寄存器,写入到外部设备的相应控制寄存器(或可直接连利用自己编写的程序代码,在自己设计的CPU上,实现对板载输入开关或按键的状态输入,并将判别或处理结果,利用板载LED灯或7段LED数码管显示出来。例如,将一路4bit二进制输入与另一路4bit二进制输入相加,利用两组分别2个LED数码管以10进制形式显示“被加数”和“加数”,另外一组LED数码管以10进制形式显示“和”等。(具体任务形式不做严格规定,同在实现MIPS基本20条指令的基础上,掌握新指令的扩展方在实验报告中,汇报自己的设计思想和方法;并以汇编语言的形式,提供以上两种指令集(MIPS和Y86)DE1-SOC实验板1示波器1数字万用表1开发板功能布将六位数码管作为数据器的结果显示。数码管对应的端口与相应地址对应,通过sw指令存入与数码管相连的地址中。实验原理实验关键步骤与代 puter作为top-leveldesignentity,负责定义top-leveldesignentity中定义流水线的基本结构,包含五个阶段的部件及其之间的流水线寄存器。通过输入pipeifpipeifif_stage( ,pc4,ins,mem_clockpipeirinst_reg(pc4,ins,wpcir,clock,resetn,dpc4,instea,eb,eimm,ern0,eshift,ejal,epc4);//ID/EXE流水线寄存eshift,ern0,epc4,ejal,ern,ealu);//EXEstagepipememmem_stage(mwmem,malu,mb,clock,mem_clock,mmo,in_port0,in_port1,out_port0,out_port1,out_port2);//pipemwregmw_reg(wwreg,wm2reg,wmo,walu,wrnMEM/WB流水线寄存器mux2x32wb_stage(walu,wmo,wm2reg,wdi);//WBstage针对于每个部件,根据实验原理图进行布线。使用多选器对信号来源进行管理。(程序是对实验原理图的文本语言描述,同时与上次单周期CPU相似,故不列出代码)与上次实验相似,增加7段数码管模块用来对sw指令的数据器结果进行显示。(之后列出的代码主要为在原有代码中新增的代码)对于数据,使用内部前推的方法解决。数据主要的原因在于运算需要一个数据,但是该数据在上一条或上两条指令尚未计算出来,所以当前指令使用的数据将是之前步骤的寄存器数。因此需要设置转发机制,当流水线在D阶段时数据时,对X阶段和ME阶段所产生的数据(即前两条指令运行状态)检查。如果发现数据,则将X阶段和MEM阶段的数据转发至D阶段。使用多选器管理操作数是否可能存在。if(MEM/WB.regWriteand(MEM/WB.RegisterRd!=0)and(EX/MEM.RegisterRd!=ID/EX.RegisterRs)and(MEM/WB.RegisterRd==ID/EX.RegisterRs)ForwardA=if(MEM/WB.regWriteand(MEM/WB.RegisterRd!=0)and(EX/MEM.RegisterRd!=ID/EX.RegisterRs)and(MEM/WB.RegisterRd==ID/EX.RegisterRt)ForwardB=456if(ewreg&(ern!=0)&(ern==rs)&789if(mwreg&(mrn!=0)&(mrn==if(ewreg&(ern!=0)&(ern==rt)&if(mwreg&(mrn!=0)&(mrn==另一种数据无法使用内部前推的方式解决。当指令的上一条指令是lw指令同时Rt寄存器是当前指令所需要的寄存器时,由于lw指令直到MEM阶段才能够读出结果,而当前指令在阶段已经需要该结果,因此内部前推无法解决该问题。对于这种类型的数据,不得不使用停顿。if(ID/EX.MemRead((ID/EX.RegisterRt=IF/ID.RegisterRs)or(ID/EX.RegisterRt=IF/ID.RegisterRt)))stallthepipeline使流水线暂停一个周期的方法是不往PC和IR中写入新的数据,因此需要一个wpir信号进行管理。当wpir为0时,不对PC和I写入数据,由于指令没有更新,相当于插入一条NOP指令。wpci信号参照上方的进行设计。对于控制,由于跳转指令的执行导致指令流(P)发生变化,原来已进入流水线的指令可能作废,从而导致流水线性能损失。针对控制,使用最简单的冻结流水线的方法。利用wir信号加入延迟来做到这一点。(这样设计可能会对于某些控制存在疏漏)前步为寄存器先赋值,其中前三个寄存器各对应一个区域的数码管,而后两个寄存器各对应5lw和sw操作,实现数据与使用者的交互。本次实验,让我对流水线C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度汽车销售人员劳动合同工伤认定2篇
- 2024年度二手厂房购买合同
- 2024年度企业质量管理提升项目合同3篇
- 二零二四年度室内照明设计及实施方案合同
- 造价咨询合同协议书
- 房地产项目咨询顾问合同
- 户外广告牌制作安装合同
- 广告植入合同
- 二零二四年度许可使用合同标的与合同属性
- 陶匠用电动旋轮产业深度调研及未来发展现状趋势
- 连续刚构桥挂篮悬浇施工技术管理
- 幼儿如厕睡眠行为的观察记录与分析
- 老年人口腔保健知识PPT课件
- 主动脉内球囊反搏泵(IABP)详解
- 荒芜土地恢复与重建的生态工程汇总
- 新版《义务教育英语课程标准(2022年版)》PPT课件
- (完整版)食堂检查表
- 教育研究方法知识点重点实用
- 近视防控主题班会PPT课件
- 三通道视景及三维态势仿真系统中端方案
- 内镜中心进修护士培训计划
评论
0/150
提交评论