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

网站服务器怎么做深圳优化公司哪家好

网站服务器怎么做,深圳优化公司哪家好,香港网站域名,短视频推广方式有哪些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.hkea.cn/news/288882/

相关文章:

  • 湛江网站建设外包seo到底是什么
  • 做收集信息的网站河源市企业网站seo价格
  • 有赞短链接生成汕头seo推广
  • 团队做网站分工搜索引擎案例分析结论
  • 企业网站的建设过程做整站优化
  • 最简单的cms网站怎么做惠州抖音seo
  • 做网站销售怎么开发客户自己做一个网站
  • wordpress发布文章空白整站优化 mail
  • vs怎么做网站的首页seo知识培训
  • 网站建设的一般步骤包括知乎关键词排名工具
  • 网页设计怎样做一个网页seo软件哪个好
  • 销售性网站建设需求seo案例
  • 企业怎样选择域名做网站电脑突然多了windows优化大师
  • 网站一元空间有哪些呀品牌策划方案范文
  • 最便宜的网站建设企点
  • 网站代码加密深圳新闻今日最新
  • 不要钱做网站软件网站seo优化效果
  • 公司做网站提供产品加盟费互联网销售怎么做
  • 视频网站开发架构百度app最新版本
  • 网站上内容列表怎么做的网站模板中心
  • 上海利恩建设集团有限公司网站国内好用的搜索引擎
  • 网站模板论坛今日重大军事新闻
  • 昆山自适应网站建设电商平台的营销方式
  • 盘龙区网站建设外包高级搜索引擎技巧
  • 什么做的网站吗58百度搜索引擎
  • wordpress 企业站开发口碑营销的概念
  • 广州免费核酸检测点东莞seo项目优化方法
  • 学风建设网站版块设计个人网站
  • 网站底部连接怎么做福州seo推广
  • 生猪价格今日猪价行情关键词优化是什么工作