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

企业网站设计html重庆招聘网官方网站

企业网站设计html,重庆招聘网官方网站,做一个个人网站,怎么做企业网站推广的方法这一文#xff0c;让我们分析一下#xff0c;《浅谈 Cache》 一文中的奇怪现象#xff0c;事实上如今来看也并不奇怪了。在什么情况下 r1 和 r2 都为 0 呢#xff1f;细致看代码#xff0c;你会发现#xff0c;两个线程分别被执行在不同的 CPU 核上#xff0c;而且在线程…这一文让我们分析一下《浅谈 Cache》 一文中的奇怪现象事实上如今来看也并不奇怪了。         在什么情况下 r1 和 r2 都为 0 呢         细致看代码你会发现两个线程分别被执行在不同的 CPU 核上而且在线程開始的阶段还使用了一个随机数是为了让两个线程能尽量同一时候执行。         如果 CPU0 执行         x 1;         r1 y;         CPU1 执行:         y 1;         r2 x;         假设以下的情况发生         x 在 CPU1 的 Cache 中。 y 在 CPU0 的 Cache 中。         1. CPU0 运行 x 1, cache miss, 发送 read invalidate 消息并把 x 的值 1 存入 Store Buffer 開始运行 r1 y, Cache 命中r1 为 0;         2. CPU1 运行 y 1cache miss, 发送 read invalidate 消息并把 y 的值 1 存入 Store Buffer, 開始运行 r2 xCache 命中r2 为 0;         3. CPU0 和 CPU1 各自收到了对方的消息并作出回应x 和 y 的值均应用到 Cache 中且都为 1;         主函数收到信号比較 r1 和 r2 的值奇迹发生了。         假设你知道我讲的这些细节就会发现事实上这并非奇怪了。那么假设解决问题呢         事实上答案就非常easy了要么让两个线程执行在同一个核心上要么在两个语句之间加上内存屏障经验证问题攻克了。         题外篇         在不同 CPU 架构下对内存的乱序訪问事实上是不同的一般的内存乱序分为下面四种:         LoadStore, LoadLoad, StoreStore, StoreLoad。而且 X86 下仅仅会出现 StoreLoad 乱序也就是上面的样例我的 CPU 是 X86 的所以出现了这样的情况由此可知事实上 X86 内存乱序訪问的还不算太厉害。         简单解释一下x 1为 Store, 读取 y 的过程为 Load所以 Load 指令在 X86 下同意在 Store 还未更新到 Cache 中之前被运行。         走出一个误区内存乱序訪问与 CPU 乱序运行Out of Order即 OOO不同。早期的处理器为有序处理器In-order processors有序处理器处理指令通常有下面几步         1. 指令获取        2. 假设指令的输入操作对象input operands可用比如已经在寄存器中了则将此指令分发到适当的功能单元中。假设一个或者多个操作对象不可用一般是因为须要从内存中获取则处理器会等待直到它们可用         3. 指令被适当的功能单元运行         4. 功能单元将结果写回寄存器堆Register file一个 CPU 中的一组寄存器           相比之下乱序处理器Out-of-order processors处理指令通常有下面几步         1. 指令获取         2. 指令被分发到指令队列         3. 指令在指令队列中等待直到输入操作对象可用一旦输入操作对象可用指令就能够离开队列即便更早的指令未被运行         4. 指令被分配到适当的功能单元并运行         5. 运行结果被放入队列而不马上写入寄存器堆         仅仅有全部更早请求运行的指令的运行结果被写入寄存器堆后指令运行的结果才被写入寄存器堆运行结果重排序让运行看起来是有序的         从上面的运行过程能够看出乱序运行相比有序运行能够避免等待不可用的操作对象有序运行的第二步从而提高了效率。现代的机器上处理器运行的速度比内存快非常多有序处理器花在等待可用数据的时间里已经能够处理大量指令了。         如今思考一下乱序处理器处理指令的过程我们能得到几个结论         对于单个 CPU 指令获取是有序的通过队列实现         对于单个 CPU 指令运行结果也是有序返回寄存器堆的通过队列实现         由此可知在单 CPU 上不考虑编译器优化导致乱序的前提下多线程运行不存在内存乱序訪问的问题         CPU 尽管是乱序运行可是是顺序流出结果在我们看来乱序运行对我们来讲是透明的我们看到的结果和指令顺序是一样的。 转载于:https://www.cnblogs.com/gcczhongduan/p/4065365.html
http://www.pierceye.com/news/140769/

相关文章:

  • 潍坊市高新区建设局网站hdsyscms企业建站系统
  • 网站运营做产品需要哪些知识开启wordpress多站点
  • flash网站源码 免费怎么可以自己制作网站
  • wordpress文章站主题如何删除自己建的网站
  • 徐州网站建设哪家好薇深圳找工作的网站
  • 局域网站点建设方案东莞企业营销型网站
  • 中国光大国际建设工程公司网站自己开店
  • 手机建站程序昆山设计公司
  • 网站泛解析中国新闻社是国企还是私企
  • dw做静态网站手机app制作视频教程
  • 惠州做网站公司网页游戏排行榜前十名歌
  • 会ps的如何做网站高等教材建筑电气久久建筑网
  • 甘肃住房城乡建设厅网站wordpress风格化页面
  • 起名网站建设免费找素材软件
  • 网站基本信息设置链接搜索
  • 广州海珠网站开发营销策划
  • 医院网站制作公司专门做spa的网站
  • 企业网页制作与网站设计网站必须天天更新吗
  • 乌苏市城乡建设局网站外贸网网站建设
  • html5网站开发实例书籍凡科建站代理
  • 与建设部网站网站注册登录页面设计
  • 企业网站推广计划免费最新如何建设网站教程视频
  • 17一起做网站普宁站好看个人网页模板
  • 民治营销网站专业网站建设价格最优
  • 免费的html网站做柜子喜欢上哪些网站看
  • 网站没备案怎么做加速现代装修风格三室两厅效果图
  • 互助平台网站建设网上商城怎么购物
  • 百度知道山东网站建设建设网站成本预算
  • 人人做免费网站网站建站是 什么
  • 以背景做网站视频为单位网站建设实施方案