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

ckplayer 视频网站游戏推广渠道

ckplayer 视频网站,游戏推广渠道,网站推广总结,温州市鹿城区建设小学网站SC 只定义 semantic-level 的含义 如我在前一个回答中提到的,SC 是一个语义模型,由 Lamport 定义,主要描述程序执行的逻辑行为: 内存操作按程序顺序执行。所有处理器对内存操作的顺序有一致的全局视图。 SC 不直接规定硬件如何…

SC 只定义 semantic-level 的含义

如我在前一个回答中提到的,SC 是一个语义模型,由 Lamport 定义,主要描述程序执行的逻辑行为:

  • 内存操作按程序顺序执行。
  • 所有处理器对内存操作的顺序有一致的全局视图。

SC 不直接规定硬件如何实现这些语义(例如,是否使用缓存、写缓冲区或指令重排序)。实现层面由硬件设计者决定,只要最终的程序行为符合 SC 的语义即可。因此,SC 的定义是抽象的,关注结果等价性,而不是具体的实现机制。

PC一致性模型的案例

Recall that in SC, each load/store is ordered with regard to the following load/store. In other words,
the ordering of the following pairs is enforced: load → load, load → store, store → load, and
store → store. In the processor consistency (PC) model, the ordering between an older store and a
younger load (store → load) is relaxed. When a store has not performed, a younger load is allowed
to issue to the cache and even complete.
1.  When a store has not performed, a younger load is allowed to issue to the cache.没有破坏 atomicity of memory accesses(这里指的是store的两个不可分割操作被分别看到,比store atomicity 概念更大) , 因为 	load 还没拿到值,只是发出了请求(可取消、可延迟),对可见性没有实质影响load 没有在store前完成,在全局内存顺序中,load 出现在 store 之后2.  When a store has not performed, a younger load is allowed to  complete.可能破坏 store的原子性 , 如果 load 提前完成(即读到值),而 store 还没 perform,就可能读到了错误的旧值,破坏了 atomicity of memory accessesload 已经完成, load → store 出现在全局顺序.情况1 没破坏 SC 中的第一个约束, 情况2 破坏了 SC 中的第一个约束
尽管这样,但是这都是  relax.但是如果实现中只存在 情况1 这一种relax , 那么 实现还是符合 SC
那么他是基于什么的relax 呢 ? 
需要肯定的是, 他是实现层面的 relax
因此此时我们就需要 一个 符合 SC 的 implementation-level 定义  // 书中没有这个概念,这里提出这个概念是为了好理解他们不完全相等
违背了 SC 的 implementation-level , 并不一定违背 SC 的 Semantic-level // 参考情况1

SC 的 implementation-level 定义

由于 SC 本身是一个语义模型,不直接指定实现细节,但其严格的语义要求对硬件实现施加了隐式的约束。为了满足 SC 的语义,硬件在实现层面必须做到以下几点(这是 SC 的 implementation-level 定义):

  1. 严格的程序顺序执行
    • 硬件必须确保每个处理器的内存操作(读/写)按照程序顺序发出和完成。
    • 禁止指令重排序,包括:
      • read-read 重排序
      • read-write 重排序
      • write-read 重排序
      • write-write 重排序
  2. 立即的写操作可见性
    • 写操作必须立即对所有处理器可见(即写操作的结果立即传播到全局内存)。
    • 禁止使用写缓冲区(write buffer)延迟写操作的传播,除非通过同步机制(如总线锁)确保立即可见。
  3. 全局一致的内存视图
    • 所有处理器必须对内存操作的顺序有一致的观察,相当于硬件维护一个全局的内存操作序列。
    • 缓存一致性协议(如 MESI)必须保证写操作的传播是全序的(total order),例如通过总线序列化或全局广播。
  4. 同步机制
    • 硬件可能需要使用内存屏障(fence 指令)或总线锁来强制顺序。
    • 推测执行(如分支预测或乱序执行)必须在提交时确保符合 SC 语义。

实现层面的例子

  • 在一个多核系统中,SC 的实现可能需要:
    • 禁用写缓冲区,或者每次写操作后立即刷新(flush)写缓冲区。
    • 使用全序广播协议(如 snoopy 协议),确保所有处理器看到相同的写操作顺序。
    • 禁止乱序执行引擎(如现代 CPU 的乱序执行单元)对内存操作进行重排序。
  • 例如,x86 架构的严格实现可能通过锁定总线或插入内存屏障(如 LOCK 前缀或 MFENCE 指令)来实现 SC。
  • 通常不会使用 store buffer(写缓冲区),或者如果存在 store buffer,其行为必须受到严格限制,以确保符合 SC 的语义要求。
- **SC 实现中是否会存在 store buffer?**-**严格的 SC 实现**中,通常**不存在 store buffer**,或者 store buffer 的行为被严格限制(如立即刷新),以确保写操作立即对所有处理器可见。-**优化的 SC 实现**中,可能有限制地使用 store buffer,但必须通过内存屏障或全序广播等机制确保写操作的立即可见性,符合 SC 语义。
- **原因**:Store buffer 的延迟传播可能导致写操作的可见顺序与程序顺序不一致,违反 SC 的全局顺序要求。
- **实际影响**:禁用或限制 store buffer 会增加写操作的延迟,降低性能,但这是 SC 严格语义的必要代价。

性能代价

  • SC 的实现通常效率较低,因为禁用重排序、写缓冲区和推测执行会增加延迟和降低吞吐量。
  • 例如,写操作需要等待全局广播完成,可能会导致处理器停顿。
http://www.wangmingla.cn/news/4355.html

相关文章:

  • 动态网站开发实训报告1百度seo流量
  • 局域网内做网站温州网站建设开发
  • 做视频网站如何赚钱seo顾问张智伟
  • 手机做公司网站站长平台
  • 邯郸去哪做网站改版杭州搜索引擎排名
  • 中企动力网站开发汕头seo建站
  • 做网站什么是解析什么是跳转游戏代理免费加盟
  • 目前主流的网站开发语言百度客服转人工
  • wordpress英文企业主题爱站网seo培训
  • 公司网站定位建议高端营销型网站建设
  • 呼和浩特做网站电商运营工资一般多少钱一个月
  • 崇州企业网站建设app搜索优化
  • 网上建立网站百度信息流广告位置
  • 专做韩国代购的网站seo网站排名的软件
  • wordpress 变成垃圾邮件seo超级外链工具
  • 2003建立虚拟网站南京今日新闻头条
  • 个人网站建设软件宁德市
  • 中国广告设计网seo收录查询
  • 南宁网站建设设计制作永久免费制作网页
  • 网站制作软件都是什么网站运营及推广方案
  • 公司网站建设的方案市场推广方案怎么做
  • 如何电话推销客户做网站江门网站优化公司
  • 莫邻在线客服系统网店seo排名优化
  • DW做网站下拉列表怎么做网站策划方案书
  • 北京做网站的公司排行郑州网络seo
  • 做网站设计怎么进企业济南网站制作
  • 没有有知道钓鱼网站在哪儿做网站网页的优化方法
  • 网站推广网络推广金华网站推广
  • 表述网站建设流程正规赚佣金的平台
  • 免费自动建站nba最新排行