网站大量收购独家精品文档,联系QQ:2885784924

基于TCPXP的流水CPU—中断处理扩展.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于TCPXP的流水CPU—中断处理扩展

基于TCP-XP的流水CPU-——中断处理扩展;方案选择;2.方案论证 EDA技术设计流水CPU FPGA(现场可编程门列阵),它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它除了使用简单、速度快等特点外,还具有成本低廉、可靠性高、易于维护等优点。如采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片;内部有丰富的触发器和I/O引脚;采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容;FPGA能够反复使用等。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 由于EDA技术设计出来的流水CPU更具社会进步意义,更加灵活,大大地节省了成本,因此选择EDA技术设计。;基于TEC-XP设计流水CPU TEC-XP计算机系统由中小规模集成电路组成,硬件子系统的组成相对完整,支持在同一块主板上组装成8位或16位两种字长的不同机型,支持微程序和组合逻辑两种控制器;软件子系统的组成精简实用,实现了监控程序、交叉汇编程序、PC机仿真终端程序,保证了教学计算机系统硬软件组合的完整性、配置的合理性、更好的实用性。 ;总体设计;流水CPU的5级结构图;详细设计;流水CPU逻辑结构图;内存模拟模块;2.流水线的冲突问题 流水线极大的提高了CPU的效率,但是也带来了很多问题,其中最严重的就是冲突问题了。 结构冲突和控制冲突的解决方法分别是让流水线停止一个周期以及增加延迟槽。对于数据冲突,实验计算机系统目前的解决方案是在流水线中加入空操作。这种方法虽然简单,但效率很低。实际上,绝大部分的数据冲突都可以通过增加Forwarding结构来解决。 虽然新的寄存器的值要等到最后的WB阶段才写入到Register File中,但实际上,它的值在EXE阶段或者MEM阶段执行后就已经计算好了。因此,可以在ALU单元、MEM单元中适当引入反馈,使得这些单元的输出信号能够作为流水线下一个周期该单元的输入,因此流水线就不需要停止,按照这种思路,就可以为实验计算机系统增加Forwarding结构。 ;3.冲突处理 引入指令流水所带来的最大的问题就是冲突,冲突按照产生的原因又分为三种类型。 1.???构冲突 2.控制冲突 3.数据冲突;结构冲突 结构冲突是由于硬件资源不足导致的冲突。在流水线的5个流水段中,IF和MEM两个阶段都涉及到访问内存的操作。其中IF段从指令内存中读取指令,MEM段从数据内存中读取数据。 在一般情况下不会产生结构冲突。但在特殊情况下,指令也有可能保存在数据内存中,因此IF阶段也有可能访问数据内存;同理,指令内存也可能保存了一些MEM阶段需要访问的数据,因此流水线CPU有可能发生结构冲突。 解决方法是首先让IF阶段读取指令,并暂存在一个专用寄存器中,流水线停止一个周期,在下一个周期IF段不执行访存操作,而是从专用寄存器中读取保存的指令,而让MEM阶段访问内存。这样,通过牺牲一个流水周期,解决了结构冲突问题。;控制冲突 控制冲突是由分支和跳转等改变PC的指令等引起的冲突。由于无法在IF阶段判断出进入流水线的指令是否为分支跳转指令,因此可能导致流水线停止或者某些已经进入流水线的指令作废。 我们采用延迟槽技术解决控制冲突。在跳转指令后面设置一个延迟槽,在其中填充一条无论是否跳转都会被执行的指令。为了简化实验设计,实验计算机上运行的程序在延迟槽中统一填充指令move r0,r0。即在任何分支跳转指令后面,都要额外增加一个空操作。 jal、jalr两条用于函数调用的指令,在保存返回地址时要保存RPC而不是NPC,就是因为NPC是延迟槽,而RPC才是实际的函数返回地址。;数据冲突 数据冲突是所有冲突中最复杂的一种,产生原因是流水线的引入导致了寄存器读写顺序的改变。 解决数据冲突的最常用方法是采用Forwarding技术和塞气泡技术的结合。Forwarding技术通过在流水段间加入适当的反馈结构很大程度上解决了数据冲突问题。在少数情况下,引入Forwarding结构仍然会产生数据冲突,这时候可以在流水线中塞入气泡,即空操作,这样前面一条引起冲突的指令继续执行,后面一条引起冲突的指令停止执行,这中间就是一系列气泡,当发现数据冲突解决后,流水线恢复正常执行。 塞气泡技术简便易行,但影响流水线的效率。; 仿真及结果分析;;寄存器堆模块;;测试结果及分析;加法指令运算结果;谢谢

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档