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

教育类电商网站如何网站全部结构

教育类电商网站,如何网站全部结构,软件推广是什么工作,安居客网站应该如何做文章目录 atomicity of memory accesses✅ 正确认识原子性的边界对于 **Load**#xff1a;✅ 正确的原子性边界是#xff1a;对于 **Store**#xff1a;✅ 正确的原子性边界是#xff1a; #x1f504; 修正原文中的说法#xff08;对照分析#xff09;✅ 原子性边界最终… 文章目录 atomicity of memory accesses✅ 正确认识原子性的边界对于 **Load**✅ 正确的原子性边界是对于 **Store**✅ 正确的原子性边界是 修正原文中的说法对照分析✅ 原子性边界最终澄清总结 为什么 Sequential Consistency的两个核心约束 不提 read atomicity ? 问题本质✅ 回答因为 Read Atomicity 本身在 SC 中是隐含成立的不需要单独强调 思考路径如下1. **Read 是不可观察的副作用**2. **读的行为完全依赖于写是否可见**3. **读操作在 SC 中没有并发可见性问题** 举个例子说明✅ 总结 从实现角度讲并不需要额外引入“read atomicity”机制只要确保读不会从“未完成的写”中读到值即可。 atomicity of memory accesses 原子性边界的界定—是理解 memory model 的核心之一。 SC 要求 atomicity of memory accesses , 下面将 memory accesses 进行拆解, 以 更深刻理解 SC 对 atomicity 的要求。 ✅ 正确认识原子性的边界 对于 Load 步骤回顾 地址计算EA发起访问向 cache 发 load 请求 ← Issue从 cache/mem 返回值 ← Perform point写入目标寄存器 ✅ 正确的原子性边界是 第 2 步issue 到 第 3 步fetch 到值 是 必须原子的部分。原因这是 load 真正与 memory hierarchy 交互的部分如果其他 store 在这之间插入会导致读取到错误值破坏 SC。 ❗注意写入寄存器不是 memory model 的可见性关键因此不是原子性边界的一部分。 对于 Store 步骤回顾 地址计算指令 commit进入 store buffer从 store buffer 发起写 cachestore buffer flush写入缓存并完成 coherence 动作例如 invalidate 或 update ← Perform point ✅ 正确的原子性边界是 第 3 步issue to cache 到 第 4 步完成全局可见性 是 必须原子的部分。原因这决定了其他 core 能否读到这个 store 的值如果这个过程可被插入或拆分就会打破 memory consistency。 ❗所以你说的 store 的 perform 阶段是必须原子的 —— 是完全正确的。 修正原文中的说法对照分析 我之前说 “Load 的两个阶段issue, completion构成其原子性边界。” → ✅ 正确但需要明确 “completion” 是指 从 cache 得到值不是写入寄存器。 我之前说 “Store 的边界是从 issue 到 perform全局可见。” → ✅ 正确但更精确地讲是从 store buffer flush 到 coherence 完成 是关键部分。 ✅ 原子性边界最终澄清总结 操作类型开始点结束点Load发起 cache read数据拿到为止Store发起 cache write数据在所有核心可见为止 为什么 Sequential Consistency的两个核心约束 不提 read atomicity ? 你问得非常到位。这关系到 Sequential Consistency (SC) 模型中的核心假设和设计目标。 问题本质 你提到的两个约束其实是 程序顺序对所有处理器都一致可见每个处理器的指令load/store必须以程序写的顺序在系统中对所有处理器保持一致的顺序。写操作必须具有原子性write atomicity一旦某个处理器看到一个写store发生了那么所有处理器必须同时看到这个写。 于是问题来了 为什么只强调了 Write Atomicity而没有强调 Read Atomicity ✅ 回答因为 “Read Atomicity” 本身在 SC 中是隐含成立的不需要单独强调 思考路径如下 1. Read 是不可观察的副作用 读load操作不会对其他核心产生直接可观察的副作用它只是读取某个内存位置的当前值并不会改变共享状态。而写操作会改变共享状态是全局可观察事件。 所以SC 中只需要定义写什么时候被别人看到读自然是基于可见的写结果。 2. 读的行为完全依赖于写是否可见 在 SC 中读到的值必须是某个已经完成的写也就是说 如果一个 core 看到 x 1那么在它看来 x 1 这个写已经 globally visible 了write atomicity 确保的。 读到这个值是合法的前提是这个值是来自某个已经发生且所有人都同意的写。这一点正是 write atomicity 保证的。 所以 SC 中不需要额外声明 “read atomicity”——读只是在一组可见写中选一个。 3. 读操作在 SC 中没有并发可见性问题 写的非原子性会导致 不同 core 看到不同写入值所以必须强调 atomicity。但读不会被“别人看到”所以不会产生一致性问题。 因此“read atomicity”没有意义它不是一个互斥事件也不需要所有 core 看到某个读行为——它只是个本地动作。 举个例子说明 // P0 x 1; y 1;// P1 if (y 1)assert(x 1);SC 要求 P0 的 store 顺序是 x1 → y1如果 P1 看到 y1那么由于 store 顺序一致性它也必须看到 x1因为 x1 写在前 关键是 写操作x1, y1必须在所有 core 看起来顺序一致读操作y1, x1只是根据这些写的“时间点”来决定自己的返回值不存在“可见性”问题 ✅ 总结 类型是否强调原子性原因Write✅ 强调写影响全局状态需要保证对所有核心同时可见Read❌ 不强调读只是查询当前状态不会影响其他核心不存在多核心“看到”问题 所以SC 模型中只需要定义 Write AtomicityRead Atomicity 不是一个有意义的概念。 如果你在考虑更弱的 memory model如 TSO, RCsc, ARM, RISC-V 等那时读操作就可能变得“更复杂”因为 load-store reordering 和缓存的本地视图都会造成读操作行为更微妙。在那种模型下load 有时也需要 fence 或 acquire-semantics 来保证语义但那是更进一步的问题了。你也可以继续问这方面的内容。 从实现角度讲并不需要额外引入“read atomicity”机制只要确保读不会从“未完成的写”中读到值即可。
http://www.zqtcl.cn/news/10073/

相关文章:

  • 广西桂林网站在线优化工具
  • 网站没有icp备案怎么访问24小时学会网站建设 pdf下载
  • 网站除了wordpress外安徽省建设工程质量管理办法
  • 网站admin密码北京网站建设 案例
  • 洛阳网站建设lyland互联网营销的方法有哪些
  • 学做淘宝网站是骗子吗黄金网站大全免费2023
  • 水友做的yyf网站那个网站做的系统最好
  • 郑州手机网站制作公司哪家好wordpress 积分下载
  • 烘焙食品网站建设需求分析网络搭建投标文件
  • 欧美网站模板下载网站建设及安全管理
  • 聊城网站优化网络推广肇庆做网站的公司
  • 帮人做非法网站公司企业网络宣传设计方案
  • 厦门专业网站建设平台做网站找俊义 合优
  • 学做网站论坛自定义网站主页设计
  • 建设服装网站响应式网站的尺寸
  • 为什么要进行网站备案 天堂资源地址在线
  • mvc 网站路径标书制作教程
  • 网站建设实例分析wordpress更改主机
  • 网站开发和运行模式的搭建如何加强旅游电子商务网站的建设
  • wordpress调用tag合肥seo招聘
  • 网站后台任务东莞网站建设行业翘楚
  • html5网站尺寸买手表去哪个网站买是正品的
  • 淄博周村网站建设方案安卓市场下载app
  • 用html做的游戏网站wordpress 电影解析
  • 做外语网站的公司西宁网站优化
  • 网站项目计划书模板范文做特卖的网站
  • 江门网站建设外包做国学类网站合法吗
  • 企业官网推广方案网站设计O2O平台优化
  • 网站域名怎么写ie浏览器在线使用
  • 东莞市人才招聘网官网宁波seo关键词