- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 流水线CPU设计+r1addrlwimmdataImm*1)IF:程序计数器PC的值为100;从指令存储器取出的是lw指令;2)ID:从寄存器r1读出数据;立即数符号扩展;3)EXE计算存储器地址:ALU做加法(ALU的b输人端选择扩展后的立即数);4)MEM:使用计算好的地址访问存储器,从中读出一个32位的数据;5)WB:最后把该数据写人寄存器堆中的r2寄存器(时钟上升沿写入)。流水线各级的分解流水线CPU的相关问题以及解决对策流水线CPU的设计有三大著名的问题需要解决。这三大问题是: 1、结构相关 2、数据相关 3、控制相关引起这些问题的根源:对硬件资源的竞争(结构相关)数据在数据流通路上“越级”(数据相关)无效数据混入流水线(控制相关)结构相关结构相关是指流水线CPU在同时执行多条指令时争用硬件资源而引起的冲突。lw和sw在mem级访问寄存器与IF冲突最简单的解决方法:指令和数据memory分开数据相关的例子此时r3还没有在wb阶段写入此时正要写入,同时读取,会读出什么?依然没有写入EXE阶段内部前推:保证sub指令得到正确r3MEM阶段内部前推,保证or指令得到正确r3Wb阶段改为下降沿写入,保证xor的exe阶段上升沿来临前r3更新ALU的计算结果可以从EXE级和MEM级前推到ID级,而lw指令从数据存储器读出的数据只能从MEM级前推到ID级。这意味着,与lw指令有数据相关的后续紧随的指令需要多留在原来的ID级一个周期,也就是说,流水线得暂停一个周期。此时r3无法得出结果流水线必须暂停,等待结果需要注意的是:原来停在ID级的信号会流入EXE级,不采取措施的话,就等于原来ID级的指令被执行了两次。应该取消流入到该级的信号,不能让它对程序产生影响。方法:更改流入EXE级的所有写信号,使其无效。(wpcir = 0 时,代表流水线暂停)控制相关问题及解决 流水线CPU在执行转移或跳转指令时会出现控制相关的问题,即在实际转向目标地址之前,转移或跳转指令的后续指令已经取到流水线中来了,如图8.14所示。 图8.14(a)所示的是转移目标地址及条件在指令beq的EXE级确定,因而跟在beq后续的两条指令已进入流水线。如果转移目标地址及条件能够在ID级确定,则仅有一条后续指令进入流水线,如图8.14(b)所示。为了流水线统一性,需要在bne及beq的ID阶段判断出是否需要跳转,添加用于比较的XOR和NOR门实现在现在的结构中,ID可以确定转移地址,但是bne及beq指令需要在EXE阶段才能判断是否跳转因为没有设计废除指令,必须通过编译器优化,将延迟槽内的指令填为对后续指令无数据影响的指令不需要的结果怎么处理?比如:beq r5, r6, JUMP1add r7, r8, r9JUMP1: sub r8, r9, r7或者beq r5, r6, JUMP1j r7,r8, JUMP2两条指令均会转移不加处理,应该跳过的add指令会更新r7,并在EXE阶段前推,令转移后的sub错误。对使用延迟转移技术的CPU,延迟槽内严格禁止存在转移指令8.3流水线CPU的整体电路Beq等指令在ID阶段需要的加法器,避免与ALU产生结构竞争8.4 异常与中断的流水线设计根据规则,中断时需要保存返回地址异常时需要保存当前地址如果引起异常的指令处于延迟槽中,需要保存延迟转移指令的地址在Cause寄存器增加一位BD,代表异常事件的指令是否在转移延迟槽中。其他位代表意思不变。增加一个标志位,代表I2是否处于延迟槽中延迟槽中,异常产生,BD信号标记,从ID级可判断是SYS及Unimpl,生成cancel信号,封锁I3与I4指令(如需要)的ID及以后阶段中断出现时刻的分类中断出现时,处在ID阶段的是转移指令中断出现时,处在ID阶段的是延迟槽中的指令中断出现时,处在ID阶段的是一般指令转移指令的地址存入EPC处理程序地址送入PC延迟槽指令取消States左移4位屏蔽中断Cause寄存器更新Excode当前延迟槽指令执行完跳转地址写入EPC写BD与上种情况类似当前指令执行完下一条指令写入EPC并废除不写BD通过编译器,syscall不会出现在延迟槽中指令地址存入EPC,调用中要修改EPC时多路选择器选择DATAEPC保存转移指令的地址BD置1与syscall类似溢出需要封锁两级指令EPC保存转移指令的地址,BD置1封锁两级指令EPC保存溢出指令的地址流水线CPU和单周期的CPU相比,无非就是建立在单周期CPU的基础上,在数据流通路上插入寄存器,用统一的时钟信号来控制数据流的流动,并且对经过组合逻辑电路处理过的数据结果进行暂存。插入流水线后,会使程序的执行在时间上出现交叠,从而引起三大问题:结构相关、数据相关、控制相关。解决这三大问题的方法分别有:增加硬件资
您可能关注的文档
- 2015年高中数学 1.3.1第1课时 函数的单调性课件 新人教A版必修1.ppt
- 2015年高中数学 2.1.2第1课时 指数函数的图像及其性质课件 新人教A版必修1.ppt
- 2015年高中数学 3.1.2用二分法求方程的近似解课件 新人教A版必修1.ppt
- 2015年高中数学 1.2.1第1课时 函数的概念课件 新人教A版必修1.ppt
- 2015年高中数学 2.3幂函数课件 新人教A版必修1.ppt
- 2015年高中数学 1.3.1第2课时 函数的最大值、最小值课件 新人教A版必修1.ppt
- 2015年高中数学 1.1.1第1课时 集合的含义课件 新人教A版必修1.ppt
- 第38章 蛋白质合成及转运.ppt
- VMD360快速操作指南.doc
- 2015年高中数学 3.1.1方程的根与函数的零点课件 新人教A版必修1.ppt
最近下载
- 津津有味·读经典Level3《金银岛》译文和答案.docx
- SHT3503-2017石油化工建设工程项目交工技术文件规定.pdf VIP
- 九年级下学期班主任工作总结_九年级下学期的班主任工作总结范文.docx VIP
- 九年级下学期班主任工作计划--班主任工作计划.docx VIP
- 九年级班主任上学期工作计划 九年级上学期班主任学期工作计划(通用6篇).docx VIP
- 九年级上学期班主任工作总结.docx VIP
- 八年级下学期班主任工作总结-班主任工作总结.doc VIP
- 七年级上《第2章整式的加减》测试题及答案(数学试卷新课标人教版七年级上单元试题).doc VIP
- 八年级下学期班主任工作计划-班主任工作计划.doc VIP
- 班主任上学期工作计划:八年级上学期班主任工作计划.doc VIP
有哪些信誉好的足球投注网站
文档评论(0)