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

个人站长做什么类型的网站前端网站默认登录怎么做

个人站长做什么类型的网站,前端网站默认登录怎么做,建筑网片报价公式,中国工厂网网址单核处理器系统中 store buffer 的可见性 这里说了 单核情况下 一个示例程序 因为 两点的存在导致的 内存一致性问题 store 指令 从 store buffer “出队” 的顺序 不能保证先入先出Store Buffer Forwarding 有限制条件,在部分情况下不能Forwarding 即 在 X86 下 ,单核不存在内…

单核处理器系统中 store buffer 的可见性 这里说了 单核情况下 一个示例程序 因为 两点的存在导致的 内存一致性问题

  1. store 指令 从 store buffer “出队” 的顺序 不能保证先入先出
  2. Store Buffer Forwarding 有限制条件,在部分情况下不能Forwarding
  • 即 在 X86 下 ,单核不存在内存一致性问题 ,但在ARM/riscv 下,单核存在内存一致性问题
  • 那么 我们将其 扩展为多核 ,如果 单核 存在内存一致性问题, 那么 多核照样存在内存一致性问题

不过我们 提出一个新的 场景 , 即多核场景下的 因为一个新的原因导致的 内存一致性问题,原因为

  1. 不保证写的顺序可见性
多核场景下,有cache,有store buffer  
一开始内存中 ready 为 0 , data 为 0// 用户函数     运行在 core 0 
data  = 123;  // S1
ready = 1  ; // S2// 用户函数     运行在 core 1 
if (ready == 1) {assert(data == 123);
}此时我们假设 store 指令 按照 程序编码顺序 "出队", // 虽然在 弱一致性模型中,这个不能保证
那么 assert 会失败吗?
虽然 在core 0 而言指令 S1 和 S2 按照程序顺序提交,在core1看来其顺序未必相同
例如对 ready 的写可能会较快的传播到处理器1(可能因为缓存命中)而对 data 的写 可能会比较慢地传播到处理器1(可能因为缓存缺失)

🧠 反方观点1 : 我认为 不管快慢, 都是会读到的, 只会导致 流水线 stall 而已 , 所以 assert 不会失败

你说的“流水线 stall,等到读到再继续”,这种理解适用于单核或强一致模型(如 x86),但在 多核弱一致模型中,读取操作不会 stall 去等待一致性,而是读取当前可见的值

✅ 在弱一致模型中(如 ARM/RISC-V):

  • Core 0data=123 写入其 store buffer → cache
  • 紧接着 ready=1 也写入其 cache;

这两次写入虽然在 Core 0 看是顺序的,但:

  • Core 1 在访问 ready 时,如果它的 cache 失效,会向系统请求 ready 的缓存行,可能很快被刷新到了内存并响应;
  • data 对应的缓存行可能还没刷新或系统没有通知 Core 1 其缓存无效(Invalidate Miss);
  • 所以 Core 1 在这时看到了 ready==1,却还没看到 data==123

这就出现了你说的那个令人惊讶的情况:

if (ready == 1) {assert(data == 123); // 这里失败
}

✅ 为什么会这样?根本原因是内存模型

架构是否允许这种乱序可见性(S2可见但S1不可见)
x86❌ 不允许:Store 被强制顺序可见(TSO)
ARM✅ 允许:Weak Ordering
RISC-V✅ 允许:Weak Ordering

所以在 ARM/RISC-V 上,除非你加上 memory barrier(内存屏障),否则确实可能出现:

  • data 还没传播出去,
  • ready 已经传播到其他核,
  • 导致其他核看到不一致状态。

✅ 为什么不“stall”等待写都可见呢?

因为:

  • 读取操作不是同步操作,不会等待写入同步完毕。
  • 多核系统设计目标是并发性和性能,不会为了“等待另一个核心的数据刷新”而主动阻塞读取。
  • 如果需要保证顺序,需要**人为添加屏障(memory barrier)**或用同步机制(如锁、原子操作)。

✅ 如果你希望 assert 不失败,该怎么做?

在 Core 0 上:

data = 123;
dmb();         // 数据内存屏障,确保 data 的写对其他核心可见
ready = 1;

或用 C11 原子写:

atomic_store_explicit(&data, 123, memory_order_relaxed);
atomic_store_explicit(&ready, 1, memory_order_release);

在 Core 1 上:

if (atomic_load_explicit(&ready, memory_order_acquire)) {assert(atomic_load_explicit(&data, memory_order_relaxed) == 123);
}

这种用法利用了 release-acquire 同步语义,能确保 Core1 在看到 ready==1 后,也看到之前的 data 写。


✅ 总结

问题是否成立说明
多核系统会 stall 直到看到一致的数据不会,读取会看到“当前可见的值”,不等于等待一致
store buffer 是 FIFO,所以写顺序一致✅/❌顺序进入 store buffer,但何时对其他核心可见不一定顺序
传播快慢是否只是影响延迟在弱一致模型下,传播差异导致可见顺序乱序,进而出现 assert 失败
assert(data == 123) 会失败吗✅ 可能在 ARM/RISCV 等架构上,确实可能,如果没有内存屏障

文章转载自:

http://PwiQ1mk5.xdnhw.cn
http://IGC44LUy.xdnhw.cn
http://eiQHAu8c.xdnhw.cn
http://VczQnXGE.xdnhw.cn
http://1KvGLcoX.xdnhw.cn
http://TrdeGIAH.xdnhw.cn
http://7j08QyA2.xdnhw.cn
http://F6TAReZt.xdnhw.cn
http://0tBfupXf.xdnhw.cn
http://NxKOCt5c.xdnhw.cn
http://OUMrGcGZ.xdnhw.cn
http://6VuAO9vH.xdnhw.cn
http://gQapv9Nu.xdnhw.cn
http://YnqyREKP.xdnhw.cn
http://coJiUDa6.xdnhw.cn
http://68ONEhXc.xdnhw.cn
http://L1wuFEDU.xdnhw.cn
http://YTlIOVs4.xdnhw.cn
http://VDScu6d1.xdnhw.cn
http://PDRxEfA0.xdnhw.cn
http://4N5sYdRb.xdnhw.cn
http://9D45dBXz.xdnhw.cn
http://ijbnK8Bw.xdnhw.cn
http://xRYi8a82.xdnhw.cn
http://eMuu6aBB.xdnhw.cn
http://5jGLqqCH.xdnhw.cn
http://0O0G6wyX.xdnhw.cn
http://iTAjRxEx.xdnhw.cn
http://fwwyMbZJ.xdnhw.cn
http://s9f9FDFD.xdnhw.cn
http://www.dtcms.com/wzjs/720848.html

相关文章:

  • 网站建设的销售好做吗网站页面设计效果图
  • 深圳官方网站产品展示型网站建设
  • 阳江招聘网站大全域名查询官网
  • 上海外贸公司注册黄冈网站seo
  • 商场网站开发的项目分析网页制作三剑客工具
  • 网站推广四个阶段论文写作网站5000字怎么写
  • 萝岗微网站建设国家域名注册服务网
  • 国外专门做旅行社的网站洛阳做网站价格
  • 北京网站制作与营销培训现在那个网站做视频最赚钱
  • 关于建设集团公司网站的报告视频网站X站H站搭建建设
  • 做视频网站服务器配置中山网页建站模板
  • 百度推广建设网站是干什么了在盐城做网站的网络公司电话
  • 贵州中航建设集团网站二级域名是什么
  • extjs做网站首页海口网站建设方案推广
  • 网站管理设置音乐盒的网站怎么做
  • 蒙牛企业网站建设规划书东莞注册营业执照
  • 网站开发开账务处理正方教务系统管理系统入口
  • 网站正在建设中...为什么护卫神青州网站搭建
  • 阳谷网站建设网络推广在北京哪家公司建网站合适
  • 仓库网站开发建设一个网站预算
  • 商城类网站功能列表响应式手机网站制作
  • 电子购物网站经典网站代码
  • 做恒生指数看什么网站wordpress 预订插件
  • 制作网站要多少费用网站建设横幅
  • 网站建设项目设计书上海网络推广需要多少钱
  • godaddy 建网站cpa广告联盟
  • 如何让做的网站自动适应浏览器天津门户网站开发
  • 中小企业建站宏基陆通工程建设有限公司网站
  • 苏州网站设计公司排名重庆网站推广网络推广
  • 延庆手机网站建设wordpress去版权 合法