当前位置: 首页 > 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.zqtcl.cn/news/85542/

相关文章:

  • 网站首页布局设计原理响应式网站的设计趋势
  • 口碑好的黄石网站建设分类id wordpress
  • 网站推广优化排名公司宣传片制作公司价格
  • php建站系统想做一个部门的网站怎么做
  • 个人网站可以直接做微信登陆吗智能建设网站
  • 南昌企业网站设计建设制作慈溪市建设局网站
  • 厦门 网站建设公司沈阳市于洪区建设局网站
  • 网站设计好不好wordpress word粘贴
  • pc做网站wordpress 不用模版
  • 漳州建设银行网站首页重庆电子工程职业学院智慧校园网
  • “一个”网站哪个公司的app软件定制
  • 网站500兆空间多少钱织梦cms可以做外贸网站吗
  • 汕头市通信建设管理办公室网站怎么查看网站打开速度
  • 禁止同ip网站查询wordpress侧栏
  • 做网站推广大概需要多少钱炫酷网站代码
  • 相册网站怎么做的wordpress自动发布
  • 网站备案要拍照大家怎么做的啊建网站公司浩森宇特
  • 做老师一些好的网站打电话来说做网站_然后答应了
  • 拱墅区哪里有网站建设网站建设视频教程集
  • 涿州做网站的wordpress 五分钟
  • 大理市住房和城乡建设局网站简答题网站建设的主要内容
  • 做婚礼请柬的网站有哪些郴州企业网站建设
  • 企业网站建设中图片优化的方法长沙网站快速优化排名
  • frontpage做网站如何保存wordpress主题设置
  • 青岛自助建站软件网站跳转链接生成
  • net网站开发学什么网站网络推广企业
  • 给新公司做网站要多少钱队徽logo在线设计
  • 杭州企业网站制作公司wordpress添加形式
  • 如何做网站数据分析有哪些营销型网站
  • 移动网站建站视频广东省建筑工程信息网