欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    5级流水无cache-CPU实验计算机组成原理-课程设计报告.docx

    • 资源ID:1426123       资源大小:55.98KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    5级流水无cache-CPU实验计算机组成原理-课程设计报告.docx

    3.中母*2条指令饰指令故揖组关戮钥:NCRONCRlINCR2IXCRO京1第旗S条指令数据相关,有两冲处理方法方法1:在第4条指令的语码制收作0筋田5朽第I条保台的回写於握作为运Uj三B用入法人下一级,如下图所示方法2:为费到读写寄存3的酎回收运,因««写寄存通?时机改在时静下PIg这修1、,指令会营处掘相关了。由25三¾:*S4Kft!8三x*->w11msax.uk(nft三sM三-7.主要用到的关键信号是m_WRCgEn和w.wRegEn,主要运用是在数据相关检测模块foruardingenti(y.vhd中,在ideniity.vhd、exentity.vhd>memaccessentity.vhd中均有运用。具体的运用方法如下。相关的检测都置F”执行阶段二信号WRcgEn是寄存器写使能.SA.SB是寄存静组A.B选择信号.伯号前极去示信号所处的阶段-如JSA衣示处于执行阶段的SA1.相邻指令数据相关的检祗若InjReREn='1',则表示前一指令要回写寄才器,此时,若eSA或eSB等于1.SA,则必定数据相关,这是因为我们规定,若回写寄存器,则寄存器A口选算信号所指定的即有目的寄存器.否则无关,2.中间隔1条指令的两指令数据相关的检测若URegErHJ,则表示第一条指令要回写寄存器。此时,若JSR或JSB等于_SA,则必定数据相关。否则无关.当然,上述两种状况可能会一同出现.这时,我们就按状况1处理.因为状况2可以理解为接连出现状况1。dJRI指令舟右:器输出4.1.3功能实现逻辑通过分析限制信号我们可以也许了解到取指模块的功能实现逻辑是如何的.广义上来说收指模块包括结构相关冲突检测模块,因为PCStall信号(用来实现IF段对PC的更新)和IFnUSh(fi(XjIR写入空指令就来自结构相关冲突检测模块,结构相关检溺模块叫HUZamDClEEnIg其模块图如"HazardDetectEntityBDUnitm_wrMem1.0w_w(Mem(1.0dR(150IFFlushPCStallm_wrMemwrMen在访存阶段的值w_rwMemWrMem在写回阶段的侑d_lR指令寄存器其中输入信号的含义是:通过检测访存阶段的WrMem信号即可确定是否发生了结构冲突.班次取指后,若有冲突,则往IR中写入空指令(NOP),并保持PC不变使得取指延后一个节拍。除此之外.selFlag信号在此处的作用是,确定用状态寄存器输出FIag还是A1.U计算出的临时状态位IHag来推断跳转.4.2W(ID)4.2.1实现功能列表洋码模块实现的功能是:读取指令寄疗器中的指令对指令进行译码,发送限制信号MemACeeSSEnMy1.IemAccessUnitCftw.rr*ToRem_“ReeEnA'resetw-atMm(1.0:EJMVefn1.OOEDen5.包EJMlKMl5.0)w>1.UOrt|l5.Oe.RB4M>".QJ11KMHEgI30*_3130:pC15.6的f115OTFSAl3.01.sApmm-MtQeg3.0Jw.d*iR30:4.4.2输入、输出信号分析主要购入信号:njwrMem内存读写限制信号m_A1.UOut来自A1.U的输出结果m-RBdata要写回的数据PC程序计数器的伯主要输出信号:w-wMen传送到写回模块的内存读写限制信号wr读写限制信号addr要读取的内存地址OuterDB既可作为输入又可作为输出,用于传输数据4.4.3功能实现逻辑访存和取指在功能上是独立的,但是因为CPU对外只有一条地址规和数据线,因此访存和取指在事实上是有联系和冲突的。当执行1.OadNIoB指令时,地址线由A1.U送入访存段的值供应;取指时.则由PC供应.当写内存时,CPU内部数据送往数据线.当须要读内存时,CPU往数据线送高阻.5系统改造5.1 新的指令系统汇编语句操作码功能描述指令类型DDDR.SR0000DRSR->DR算术逻辑指令SUBDR,SR0001DR-SR+DRCMPDR,SR0010DR-SR比较ANDDR.SROOllDRandSR÷DR逻辑与ORDR.SR0100DRorSR->R逻辑或XORDR.SROlOlDRxorSR÷DR异或SH1.DROllO龙辑左移,最低位补0,最高位移入CSHRDROlli龙料右移,最高位补0,以低位移入CMOYIDR.IMM1000IMM(马上数)今DR.存马上数进寄存器数据传送指令MOVDR,SR100lSR÷DR1.OADDR,SRIOlOSR÷DRSTOREDR.SR1011SR-÷(PR)JRADRUOO无条件跳转到ADR,ADR=原K值-OFFSET限制转移指令JRCADRHOl当C-I时,跳转到ADR.ADR=原PC(ft*0ISETJRZADRIllO当Z=I时.跳转到ADR,ADR-原PC值eFFSBTNOPHll空操作其他5.1.1 选择改动说明包括NOP空操作指令在内指令系统共包括16条指令,在原有的25条指令的基础I册除f10条.JI条.具体地.捌除了DEC,INC.TEST,SAR.PUSH.POP.JRNCJRNZ,I.OADH.I.OADI.,新增了,条数据传送指令MOV1.5.2 修改的代码及说明I代码段1,新增内存模块memory.vhd-内存-2015-l(>-30librarj'iccc;useieee.stdjogic_l164.al);useiece.stdjogic_unsigned.all;usework.unitPack.ail:ENTITYmemoryISPORT(databus:inulSTD_1.OGIC.VECTOR(7DOWNTOO);addr:INSID_1.(XilC_VECIOR(7DOWNII)0):wr:INSTDJ)GIC;resecINSTD.1.OGIC):ENDmemory;ARCHITECTUREillOFmemoryISSIGNA1.ramzramJypc:-ramtypeunitpack.vhdUI,ZBEGINPROCESS(addr.wr.ramxla(abus.reset)BEGINIFresct=X)'THENram(O)<=MOVJ&R0&"I,;此处将程序写迸内存中,省略ram(l5)V=JR&”1110”:ENDIE:读写功能的实现IFwr=O1THENdatabus<=Z8:ram(conv_intcgcr(;iddr)<=databus;ENDIF;IFwr=TTHENdatabus<=ram(convJntcgcr(addr)KENDIF;ENDPROCESS;ENDrtI:内存模块运用Vhdl端写,内存由mm组成,读出数据线和写入数据线为同一条数据总线,因此不能同时进行读写.因为这样所以会产生结构相关,即在取指的时帔不行以访存,否则会产生冲突.内存读写功能由Wr信号进行限制,当何为0时执行写功能,当Wr为I时执行读功能,2)代码段2,取指模块ifentity.vhdop<=IR(7dow11o4);,曰<.'i.:j:4一限制相关信号JylFkg用选择当状态寄存据的值来源withJjiClHagselectZZV=Zwhenflag_hold,IemPZwhenoihers;withe-,selHagselectCC<=Cwhentlag_hold,“由于跳转佰号中只保留了JR、JRaJRZ,因此此处只推断该3个OPs-selZ<=,WHEN(op=JRZANDZZ=Ir)ORop=JRelse”;s.selCV:TWHEN(Op=JRCANDCC=)else,a:PCIrScl<='I'WHEN-SdZ二TOrs.sclC=,E1.SEV:此处修改rpc位数当育跳转时pc=pc÷offset.否则PC=PC1WHENO.SePCIncI<=PC+x01m:WITHPCIncScISE1.ECTPCneXl<=s.PCInclPCP)usOffselWHEN.s_PClnclwhenothers;cess(,eset.clk.PCStaIl)beginifreset=UthenPC<=xW;止处修改PC位故elsifF1.1.ING.EDGE(clk)and(PCS(all=,O,)(henPC<=PCnext:endif:endIXoCeSs:取指模块主要修改了与pc相关的地址信号的位数和跳转推断,由于修改指令系统时只保用了JR.JRCJRZ3条跳转指令.因此在跳转推断时只考虑该3条跳转指令,依据跳转推断来选择如何更新PC的值,1)代码段1,执行模块CXCntityAluicaseC-A1.UOpris-选择A1.U的运算,此处主要惨改了位数,逻辑功能不变whenaludd=>A1.UResuIl-OPR*opS;tempV:=(notopR(7)and(no<opS(7)andA1.UResull(7)or(opR(7)andopS(7>and(notA1.URcsult(J);whenaluSub=>Al.URcsuIi:=CPR-opS;(emV:=(opS(7)and(notopR(7)and(not1.UResuh(7)or(NOTopS(7)andopR(7)andA1.UResul(7):whenaluAnd=>A1.lJRcsuh:=opRandopS:whenalur=>A1.URcsuIt:。PRorOPS;whenalXor=>A1.UResuIi:=OPRXOrOpS:whenalShl=>A1.UResuh(7dwnk>I):=opR(6downto0>:A1.URcsuIt(O):=,(;ex:=opR(7);whenaluShr=>Al.URcsuli(OdounloO)opR(7downtoI);A1.UResult(7):='O"ex:=opR<0);-增加了alM0VI的alu功能选择信号及其处理实现whenaluMOVl=>A1.UResult:=,(MXXX),opS(3downto0);whenothers=>null;endease;修改了Hu选择信号以及alu功能信号的推断龙辑,以及状态寄存器的推断龙耨,之所以脩曲是因为位数的修改,除此以外还增加faluM()Vl的alu功能信号及其对应的逻辑功能实现.

    注意事项

    本文(5级流水无cache-CPU实验计算机组成原理-课程设计报告.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开