




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5段流水CPU实验目理解计算机指令流水线的协调工作原理 初步掌握流水线的设计原理深刻理解流水线寄存器在流水线实现中所起的重要作理解和掌握流水段的划分、设计原理及其实现方法原掌握运算器、寄存器堆、器、控制器在流水工作方式下 有别于实验一的设计方法掌握流水方式下,通过I/O实验内容和任采用Verilog在QuartusII中实现基本的具有20条MIPS指令的5段流水CPU完成5段流水CPU采用I/O统一编址方式,即将输入输出的I/O地址空间,作为数据存取空间的一部分,实现与外部设备的输入输出端口设计。实验中可采用高端利用设计的I/O端口,通过lw指令,输入DE2实验板上的按键等输入设备信息。即将外部设备状态,读到CPU内部寄存器。I/OswDE2LED灯等输出设备的控制信号(或数据信息。即将对外部设备的控制数据,从CPU内部的寄存器,写入到外部设备的相应控制寄利用自己编写的程序代码CPU上,实现对板载输入开关或按键的状态输入,并将判别或处理结果利用板载LED灯或7段LED数码管显示出来。例如,将一路4bit二进制输入与另一路4bit二进制输入相加,利用两组分别2个LED10LED10(具体任务形式不做严格规定,同学可自由创意。在实现MIPS基本20在实验报告中,汇报自己的设计思想和方法;并提 汇编程序设计代码实验过5CPUCPU十个模块的设计实现。实验二基本单周期CPU中的部分组件代码可以在这次实验中复用。顶层文首先我们需要实现流水线CPU的顶层文件 间的信号线。一共需要实现10个模块,分别是PC寄存器,5个流水线级模块以及4个流水线寄存器Figure1:流水线CPU的具体实现见附录A.1PC寄存PC寄存器pipe_pc.v是要实现的第一个模块。这个模块接受复位reset、时钟clock信号、32位pc值以及w_pc信号。当它接受到reset信号时,它将自身32位寄存器的值置为0。当它在时钟沿上,并且w_pc有效时,它会将pc值写入寄存器内。@@=gg具体实现见附录A.2IF第二个需要实现的模块为流水线IF级模块pipe_if.v。这个模块主要复用了单周期的指令sc_instmempcsourcepcoo具体实现见附录A.3IF/ID下一个需要实现的模块是流水线IF/ID寄存器模块pipe_if_id.v。这个模块在w_pc有效时,保存了指令字inst以及自增后的pc值pc_plus4。gg具体实现见附录A.4ID级模ID级模块是本次实验中最关键的内容。IDpipe_id.v下,主要有控制单元、控制单元在文 下。包含三个部分:指令译码单元、直通单元与风险检测单元指令译码单元指令译码单元在文件cu_decode.v下。其中大部分内容复用了单周期cpusc_cu.valuc上做了一些修改。具体实现见附录A.5.2直通单元直通单元在文件cu_fwu.v下,它接受EX/MEM流水线寄存器、MEM/WB流水线寄存器中保存的控制信号,产生选择信号forward,在寄存器堆、EX级、MEM级和WB级的结果中进行选择。由于ALU拥有两个输入,因此我们需要两个直通单元对每个输入做直通。@@x 具体实现见附录A.5.3风险检测单元由于直通不能解决所有的数据,所欲我们需要实现风险检测单元,在发生无法解决的数据时停顿流水线,即使w_pc信号无效。@@g具体实现见附录A.5.4g 将之前所述的指令译码单元、直通单元和风险检测单元整合起来,形成完整的控制单元g__ wregwreg==w_pcwmem=====ueaa完整实现见附录A.5.1rsrtequ将直通后的结果相减,如果为0,那么设置rsrtequ有效,并传入控制单元@q2@q2具体实现见附录A.5.5ID首先为了直通和风险检测,ID级需要输入EX/MEM流水线寄存器、MEM/WB流水线寄存器中保存的控制信号,以及流水线的EX级、MEM级和WB级的结果。随后已经实现好的单元连接起nn uu完整实现见附录A.5xqID/EX流水线寄xq与IF/ID流水线寄存器类似,但是的是ID级产生的控制信号、寄存器输出和立即数。EX级模复用单周期CPU中ALU模块和jal模块的代码。完整实现见附录A.7 与IF/ID流水线寄存器类似,但是的是从EX级流入的控制信号、寄存器输出和ALU输出。MEMCPUsc_datamemI/O实现。 与IF/ID流水线寄存器类似,但是的是从MEM级流入的控制信号、ALU输出、器输出。WB级模仅有一个mux选择ALU输出和器输出,并将数据写回寄存器堆。uu实验总设计实现了基本的5段流水线CPU使用进行仿真并解决设计中出现的问题熟悉了QuartusII和的使用和Verilog硬件描述语言的编写Veriloguuuuuuuud de;e[;eemee,;e[;eewreeewreeebaues,;e[;e,;e ;e[; ppe_csan(s,cc,next_pc, pip_ff_sage(e_c,pc,pc_1,a,pc_3, cps,next_pc, pie_if_idf_dpe(reset,c,pus,inst, id_c_ps4,t ed_(reset,cock, id_c_ps4,, ex_d,e2e,, e,e_,, au_es,emaus,, nw,fin_d, pcsource,pc, weg,me,we,jal,au,am,shift,id_exc_pls4,a,b,i,d,exdex_pe(reset,,weg,me,we,jal,au,am,id_exc_pls4,a,b,i, exshft,e_c_ps,ex_a,ex_b,em,ex_d exegeew,e_m2r,ewe,xja,exalu,eaumm,exshft,e_c_ps,ex_a,ex_b,em,ex_d, ex_em_weg,memm2,e_emwe,u_s,e_em_, eexmemxem(e,, ex_em_weg,memm2,e_emwe,u_s,e_em_,, ewe,m,,eal_es,e, ememes(emcc, ewe,m,,eal_es,e,, ewg,ewm2e,mmwa,mu,, i_0,i,i,t_,o_, ppe_mem_wbw(e,, ewg,ewm2e,mmwa,mu,, wbwr,w_m2reg,wb_l_es,w_emot, ewbw_sagew_wreg,w_2eg,w_au_es,memo,, n,fin_d,n 95e dueecse,clock,next_pc,, 4 ntreset,; nut[:] nut; outputreg[:]9 awas@(posedgeckornegedge n if(reset==0) pc= endelsen if(wc==1) pc= knnknnuug@g
_2unnn2ued nnn2ued
_ xq_ xqn 1oduecu(op,func,2ex_d,e2e,,3e,e_,,45we,2g,,6jal,aluc,m,,7regrt,8w,9,put:]op,input[4:0]rs,put[:]nutxm2rg,;nut[:]; u_ _wreg=w_pc =w_pc wmem=w_pc=== =nn1nn1d=r_type&&~func[4]~func[3]&~func[1];b=r_type&&~func[4]~func[3]&func[1];d=r_type&&~func[4]~func[3]&~func[1]&; wiexor=r_type func[5]&~func[4]&~func[3] func[2]&func[1]&; wiei_sll=r_type&~func[5]&~func[4]&~func[3] ~func[2]&~func[1]&; wiei_srl=r_type&~func[5]&~func[4]&~func[3] ~func[2]&func[1]&;i_sra=r_type&~func[5]&~func[4]&~func[3]~func[2]func[1]&; =r_type&~func[5]&~func[4]&func[3]~func[2]&&;i=&~op[4]&~op[2]&i=&~op[4]&op[2]&i=&~op[4]&op[2]&;i=&~op[4]&op[2]&w=&~op[4]&~op[2]&;=&~op[4]&~op[2]&;q=&~op[4]&op[2]&e=&~op[4]&op[2]&;=&~op[4]&op[2]&;=&~op[4]&~op[2]&=&~op[4]&~op[2]&; assignpcsource[1]=i_jr|i_j| sgnpcsource[0]=(eq&rsrtequ)|i_be&~rsrtequ)|i_j|i_jalassgnwreg=ad|b |d| |r i_sll| |i_sra|addi|i|_ori|_xoi|w |i |sgnc]=sgnuc]=sub||i_srl|i_sra| | |i_bnen]=||i_sra|i|;n]=d||i_slli_srl||_ai|;nt=||i_sranm=i|i|i|i|i_w|sw|;nt=i|w|||n=ng=;n=i|i|i|i|i_w|sw|;n=enn @g ==g= &&==&&g &&==&&
22@gg g@gq2dd 5 treset,; tweg,me,we,jal,aum,; t:] t[3:]dex_c_pls,q1,q2, t:]
,ex_alc,eaum,t,expcpus,ex_q1,ex_q2,,ex_d outputregexweg,_m2g,ex_we,eja,eauim,; outputreg[:]; ; outputreg[:] aas@(posedgeclckornegedge n if(reset==0)egn//needre ex_wreg<= g<= ex_wmem<= al<= exalumm<= st<= xac<=endlsenex_wreg<=e2g<=;ex_wmem<=;exjal<=eimm<=;ex_hft<=;xac<=s4<=;ex_q1<=ex_q2<=mm<=ex_d<=ngnguuuuxsx==1ex_mem_wmem1 asa xx outputreg[:]ea,; outputreg[:]; aas@(posedgeclckornegedge if(reset==0)n eweg<= e_2g<= m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 月亮的故事与自然景物有关的写景作文5篇
- 考点解析-人教版八年级物理上册第4章光现象-光的色散章节测评试题(含详解)
- 考点解析人教版八年级物理上册第6章质量与密度-质量同步练习试题(含答案解析)
- 动力电池针刺测试材料安全性考核试卷
- 考点解析人教版八年级上册物理光现象《光的反射》必考点解析试题(含答案及解析)
- 小学数学课堂练习行为优化的研究
- 解析卷-人教版八年级上册物理光现象《光的直线传播》章节练习试卷(含答案解析)
- 知母皂苷BII治疗II型糖尿病的网络药理学机制研究
- 2025年建筑工地混凝土搅拌服务合同协议
- 2025年建设项目临时用地合同协议
- 护理酒精性肝病课件
- 纪委委员工作职责
- 口腔执业医师助理资格考试模拟试卷带答案
- 关于成立公司双重预防体系领导小组的通知
- 中小学教师职称评审讲课答辩英语学科全英答辩题目汇编(带汉语翻译)
- 【公开课课件】二年级下册写话《彩虹色的花》绘本写话
- 12345职能部门培训
- 房屋招租招标文件
- 北师大版五年级数学上册《第二单元》测试卷及答案
- 2024年网络安全知识竞赛考试题库500题(含答案)
- 短视频与直播电商(全彩微课版) 教学大纲
评论
0/150
提交评论