Nick199711 2018-10-20 11:45 采纳率: 0%
浏览 401

内存一致性模型问题。不同核心赋值可以同时进行吗。

图一

    对于图一说明如下:为什么要约束到程序顺序?以下图程序为例,开发者原本期望通过 Flag1 和 Flag2 来控制两段程序中的临界代码最多只有一个可以执行,但是,如果处理器 / 编译器对执行的执行顺序进行了调度,使得 Flag1 和 Flag2 的执行被挪到了临界代码之后,那这样一来两段临界代码都会执行,从而违背了开发者的期望。

请问为什么在此代码中可以通过 Flag1 和 Flag2 来控制两段程序中的临界代码最多只有一个可以执行?

图二

    对图二问题如下:这个流程图应该如何理解,为什么在t1先进行Flag2的读取?

    我是计算机架构新手,在研究储存一致性模型的时候对于这个点理解不到位。

    文章和图片来自:https://blog.csdn.net/maokelong95/article/details/80727952#2__57
  • 写回答

1条回答

  • threenewbee 2018-10-20 15:57
    关注

    你看的那个图早就过时了,现在的计算机cpu采用numa架构,每个cpu连自己的内存控制器然后再连自己的内存。
    像这种共享总线的架构是10年前的了。

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题