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

网站加ico图标做网站一年要多少钱

网站加ico图标,做网站一年要多少钱,花都有做网站,wordpress生活插件文章目录 cpu缓存一致性缓存的出现#xff1a;多核之后带来的缓存一致性问题#xff0c;如何解决LOCK 指令#xff08;刚好可以实现上述的目标#xff09;LOCK 指令特性内存屏障特性编译器屏障的作用MESI协议为什么有了 MESI协议 还需要 内存屏障问题#xff1a;总结… 文章目录 cpu缓存一致性缓存的出现多核之后带来的缓存一致性问题如何解决LOCK 指令刚好可以实现上述的目标LOCK 指令特性内存屏障特性编译器屏障的作用MESI协议为什么有了 MESI协议 还需要 内存屏障问题总结附带 参考 cpu缓存一致性 缓存的出现 提高内存的访问速度时间、空间局部性指令、数据的预取 多核之后带来的缓存一致性问题如何解决 锁总线 MESI 协议总线嗅探机制 内存屏障 LOCK 指令刚好可以实现上述的目标 早期锁总线实现性能差 后期锁缓存实现Ringbus MESI协议硬件支持无需软件实现内存屏障 LOCK 指令特性 硬件层面提供 lfence、sfence、mfence 三个内存屏障以及一个可以实现相同效果的 lock 指令前缀一般lock都会加入读屏障保证后续代码可以读到别的cpu核心上的未回写的缓存数据而unlock都会加入写屏障将所有的未回写的缓存进行回写。 内存屏障特性 所有的CPU内存屏障封装都隐世包含了编译器屏障。只有内存屏障是无法保证缓存的同步的还需要MESI一致性协议的支持 编译器屏障的作用 防止编译乱序数据重新load缓存 MESI协议 保证了单条指令的在缓存上的读写的一致性MESI协议可以通过提供加入缓存带来的数据一致性问题但是会带来一些性能的消耗比如说缓存的伪共MESI是强一致性强一致性必定会带来性能的损害 为什么有了 MESI协议 还需要 内存屏障 MESI是强一致性 是强一致的比如需要等待写失效才能写入内存所以硬件又引入了store buffer还有invalid queue导致了有可能cpu 的乱序执行为了禁止这种乱序执行需要加入内存屏障但是这种乱序执行的前提是数据之间没有依赖性 问题 那如果当前访问的数据在寄存器上面呢 需要 用到 volatile指令强制从缓存中读取一次数据间接通过MESI协议能够访问到内存中的数据 那如果是多条指令的顺序性呢内存数据还在store buffer、invalid queue上面呢 需要用到 内存屏障的指令比如 x86 fence 总结 volatile指令的作用 cpp的volatile和java的特性不一致c volatile 的特性 禁止编译器的优化禁止编译器的代码的重排序强制从缓存中读取失效寄存器 java volatile 的特性是基于 LOCK 指令 实现的 在cpp的特性的基础之上1、实现了一个全屏障越过cpu的乱序执行、指令重排序等保证了数据的顺序一致性 缓存的一致性保证是通过 MESI 协议总线嗅探机制 内存屏障 实现的因此为什么说 尽管有了 CPU有缓存一致性协议MESI为什么JMM还需要volatile关键字主要是增加屏障的目的单靠MESI协议无法保证 整体顺序的一致性 附带 // (java 9) hotspot/src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp // java实现的内存屏障 inline void OrderAccess::loadload() { compiler_barrier(); } inline void OrderAccess::storestore() { compiler_barrier(); } inline void OrderAccess::loadstore() { compiler_barrier(); } inline void OrderAccess::storeload() { fence(); } inline void OrderAccess::acquire() { compiler_barrier(); } inline void OrderAccess::release() { compiler_barrier(); } inline void OrderAccess::fence() {if (os::is_MP()) {// always use locked addl since mfence is sometimes expensive #ifdef AMD64__asm__ volatile (lock; addl 0,0(%%rsp) : : : cc, memory); #else__asm__ volatile (lock; addl0,0(%%esp) : : : cc, memory); #endif}compiler_barrier(); }参考 volatile也不过如此 http://northsea.top/?p185 C/C Volatile关键词深度剖析 既然CPU有缓存一致性协议MESI为什么JMM还需要volatile关键字https://www.zhihu.com/question/296949412
http://www.pierceye.com/news/85542/

相关文章:

  • 网站结构形式2015做那些网站致富
  • 宜昌网站seo公司wordpress 自己做主页
  • 门户网站建设方案哪家购物网站建设好
  • 什么做婚车网站最大wordpress如何绑定多个域名
  • 网站开发维护公司经营范围广州企业网站推广
  • 关于网站建设费用漳浦网页定制
  • 网站运维合同兰州seo技术优化排名公司
  • 营销型网站制作费用抚州临川网站建设
  • 做碳循环的网站深圳建筑工程公司招聘
  • 如和建立网站安徽省住房和建设厅网站
  • 企业内部网站打不开专门做h5的网站
  • 广州住房保障城市建设局网站四川最新情况最新消息今天
  • 合肥电子商务网站建设国外域名的网站
  • 怎样创建网站域名平台室内装饰设计师国家职业标准
  • 网站建设与管理专业人才调研产品设计公司有哪些
  • 网站改版什么意思只有一个页面的网站
  • 网站背景色html网页设计介绍
  • 网站设计制作培训阜宁网站制作哪家好
  • 海南省住房建设厅网站企业crm软件
  • 繁体版 企业网站网站开发环境实验报告
  • 个人网站模板怎么做网站排名要怎么做
  • 做视频网站 服务器配置163k地方门户网站系统
  • 网站建设英语怎么说营销型电子商务网站
  • 江苏省建设网站一号通小学校园网站建设简介
  • 图片优化网站临淄信息网最新招聘小时工
  • 个人网站备案名称大全免费html网页模板
  • 网站导航漂浮代码wordpress网站打包app
  • 海南建设官方信息网站做网站需要哪些人
  • 安徽外经建设集团有限公司网站做网页的软件哪个好
  • 博罗中山网站建设专业的企业进销存软件比较好