当前位置: 首页 > news >正文

郴州网站建设培训增加网站产品

郴州网站建设培训,增加网站产品,中小企业查询系统网,江西省城乡住房建设厅网站对于向存储器中保存数据的store指令来说,它在顺利离开流水线之前是不允许改变处理器状态的#xff0c;只有等到它退休(retire)的时候#xff0c;才允许将它携带的数据写到D-Cache中在此之前#xff0c;store指令即使计算完毕#xff0c;也会将结果暂存在一个缓存中#xf…对于向存储器中保存数据的store指令来说,它在顺利离开流水线之前是不允许改变处理器状态的只有等到它退休(retire)的时候才允许将它携带的数据写到D-Cache中在此之前store指令即使计算完毕也会将结果暂存在一个缓存中这个缓存就是之前讲过的Store Buffer直到 store 指令退休的时候才会将它在 Store Buffer 中对应的内容写到 DCache中。使用Store Buffer这个缓存之后,所有的load指令不仅要访问D-Cache,也需要在这个缓存中进行查找如果在这个缓存中发现有store指令携带的地址和它相等,并且在它之前进入到流水线,则这条store指令携带的数据直接送给load指令使用。一般来说,store 指令在退休的时候,只有将数据真正地写入到D-Cache中,才可以保证后面的load指令可以从D-Cache中得到正确的数据,此时store指令才算是执行完毕了,可以离开ROB,这种方法虽然最安全但是一旦 store 指令在写 D-Cache的时候发生了缺失则需要等待很长的时间才能够使它离开ROB,这样就造成了ROB的堵塞,即使store指令后面有很多指令已经执行完毕,处于complete的状态,但是它们由于store指令挡在前面而不能退休,造成了处理器性能的降低。 要解决上面的问题需要在store buffer中增加一个状态位标记store指令是否已经具备退休的条件此时store buffer中的entry就存在3个状态 un-complete, 还没有执行完毕 当一条store指令在流水线的分发(Dispatch)阶段时,会按照程序中指定的顺序占据StoreBuffer的空间,并标记为un-complete的状态;complete, 已经执行完毕 当这条store指令已经得到地址和数据,但是还没有变为流水线中最旧的指令时,就处于complete状态;retire, 顺利离开流水线 当这条store指令成为流水线中最旧的指令并退休的时候也将这个状态在Store Buffer中进行标记此时这条store指令就可以离开ROB,这样就不会阻碍后面的指令继续离开流水线,而硬件会自动将StoreBuffer中处于retire状态的store指令写到D-Cache中需要注意的是标记成retired之后此时retire状态的内容其实也成为了achitecture state 只有一条 store 指令真正完成了写 D-Cache 的过程它才可以离开 Store Buffer对于大多数处理器来说store指令都是按照程序中指定的顺序来执行的当然更需要按照这个顺序对处理器的状态进行更新所以Store Buffer 是按照 FIFO的方式进行管理的。由于那些已 经退休但是还没有完成写 D-Cache 操作的 store 指令仍旧会占据 Store Buffer 的空间所以这些空间是没有办法被新的 store 指令使用的一旦 Store Buffer 再也找不到可用的空间进行写入,此时就不能够接收新的store指令,分发(Dispatch)阶段之前的流水线就需要暂停。只有真正完成写 D-Cache 操作的 store 指令才可以离开 Store Buffer这样造成了它实际可用容量的降低。这样的缺点限制了处理器性能的提高但是相比于其他的方法这种方法实现起来比较简单因此综合看起来是一种可以接受的折中方法。 如果不想造成 Store Buffer 实际可用容量的降低可以将那些已经退休的 store 指令存储在一个不同于Store Buffer的地方,这个地方可以称为Write Back Buffer,硬件会自动将Write Back Buffer 中的 store 指令写到 D-Cache 中如图 10. 18 所示。 每条store指令一旦退休的时候,就将其从Store Buffer写到Write Back Buffer中,也就是说,此时这条store指令可以离开ROB和Store Buffer两个部件,硬件会根据D-Cache的端口使用情况将 Write Back Buffer 中的 store 指令写到其中。write back Buffer 已经成为了处理器状态Architecture state)的一部分load 指令需要在 Store Buffer和Write Back Buffer这两个缓存中都进行查找,这样增加了设计的复杂度。还需要注意的是,一旦Write Back Buffer没有空间了,那么就不能够再将store指令退休,而是要等到Write Back Buffer出现空闲的空间为止。由于指令需要按照程序中指定的顺序进行退休,所以Store指令也是按照程序中指定的顺序进入Write Back Buffer的不过在进入的同时需要在其中查找有没有写到相同地址的store指令如果存在那么就需要将其置为无效这样才能够保证后面的load指令在查找 Write Back Buffer 的时候使用到最新的数据。
http://www.dnsts.com.cn/news/9950.html

相关文章:

  • 怎么建立一个网站放图片全国证书统一查询证书
  • 网站怎么做音乐外链ios+wordpress
  • 企业中英文网站建设珠海网站建设熊掌号
  • 宁安网站建设华为荣耀官网手机旗舰店
  • 马尼拉做网站营销网站首页设计
  • 提交网站入口网页制作对联
  • 南京网站开发询南京乐识wordpress添加广告联盟
  • 网站建站怎么报价东莞横沥理工学校
  • 做电脑系统网站如何进行企业营销型网站建设规划
  • 网站后台是怎么做的网站功能组件
  • 免费的网站登录模板网站怎么做移动的窗口
  • 郴州网站建设网站Wix网站开发 工作室
  • 网站建设公司-信科网络seo培训网的优点是
  • 网站基建建设一个人可以做几个网站负责人
  • 网站设计一般是什么专业网站开发合同甲方的权利
  • 做网站域名的好处是什么校友网站 建设
  • 网站推广找客户静态网站注入
  • 做网站的项目职责怎么写海丰县建设局网站
  • 设计网站公司搜索y湖南岚鸿知名网页qq登录保护怎么关
  • 烟台建设企业网站北京网站策划服务
  • 新加坡二手手机网站大全做网站要不要签合同
  • 吴江住宅城乡建设局网站微信怎么注册公众号
  • 手机如何做微商城网站设计做网站的需要什么资质证明
  • 建网站要学哪些软件上海最新新闻发布
  • 大连网站制作培训百度怎么优化排名
  • 石家庄站规模中国建设门户网站纪念币
  • 做网站搞什么流量wordpress主题绑定域名
  • 电商网站开发的功能拉新工作室在哪里接项目
  • 做网站怎么打不开localhostip网站查询服务器
  • 北京做网站源代码的网站空间大小查询