Yunyin's blog
  • Home
  • Archive
  • Tags
  • Categories

    { 内存模型与memory_order }

  • 01 顺序存储模型

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    顺序存储模型

    顺序模型(sequential consistency model)又被简称为SC,常对应的硬件结构图如下。

    Read On »
  • 02 完全存储定序模型(x86)

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    完全存储定序模型

    1. 模型(store buffer)

    Read On »
  • 03 部分存储定序模型

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    部分存储定序模型

    TSO在store buffer的情况下已经带来了不小的性能提升,但是芯片设计人员并不满足于这一点,于是他们在TSO模型的基础上继续放宽内存访问限制,允许CPU以非FIFO来处理store buffer缓冲区中的指令。

    Read On »
  • 04 宽松存储模型

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    宽松存储模型

    为了获取更多的性能,在PSO的模型的基础上不仅允许store-load、store-store乱序,还进一步允许load-load乱序和load-store乱序。

    Read On »
  • 05 memory_order_release & memory_order_acquire

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    memory_order_release & memory_order_acquire

    1. memory_order_release保证写不后

    Read On »
  • 06 memory_order_consume

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    memory_order_consume

    std::memory_order_consume的语义是,所有后续对本原子类型的操作,必须在本操作完成之后才可以执行。简单点就是不得前。但是这个操作只能用来对读进行优化。也就是说release线程是不能使用这个的。也就是说,只能对读依赖的一方进行优化.

    Read On »
  • 07 memory_order_seq_cst

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    memory_order_seq_cst

    std::memory_order_seq_cst表示最强约束。

    Read On »
  • 08 memory order与下层的联系

    2024-09-17 /
    • { C++ }
    • { 内存模型与memory_order }

    与下层的联系

    分层协议模型

    Read On »
© 2024 - Yunyin
Powered by Hexo , Theme - Icalm