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 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机