硬件内存模型和C/C++内存模型

硬件内存模型和C/C++内存模型
下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
VIP开通会员,本资源免费下载立即开通
硬件内存模型和C/C++内存模型

├── {1}–课程内容及相关说明 硬件内存模型和CC++内存模型_文件目录.txtTXT
│ └── [1.1]–课程内容及相关说明
├── {2}–进程和线程
│ ├── [2.1]–认识进程和线程
│ ├── [2.2]–C语言对线程的支持
│ ├── [2.3]–C语言编译器的选择
│ ├── [2.4]–用C标准库函数创建线程
│ └── [2.5]–并行和并发
├── {3}–数据竞争
│ ├── [3.1]–多线程数据竞争的例子
│ └── [3.2]–数据竞争是如何产生的
├── {4}–原子操作和锁
│ ├── [4.1]–原子操作和原子变量
│ ├── [4.2]–互斥锁
│ ├── [4.3]–执行原子操作的机器指令
│ ├── [4.4]–用机器指令实现原子操作的例子
│ └── [4.5]–用机器指令实现互斥锁的例子
├── {5}–线程通信及相关问题
│ ├── [5.1]–一个线程间通信的例子
│ ├── [5.2]–编译优化和指令重排
│ └── [5.3]–原子操作的神奇效应
├── {6}–流水线、乱序执行和缓存
│ ├── [6.1]–什么是编排顺序
│ ├── [6.2]–流水线
│ ├── [6.3]–乱序执行
│ ├── [6.4]–指令的执行和引退
│ ├── [6.5]–存写缓冲器
│ └── [6.6]–缓存
├── {7}–硬件内存模型
│ ├── [7.1]–多处理器系统和顺序一致性
│ ├── [7.2]–顺序一致的执行
│ ├── …
│ ├── [7.4]–顺序一致性模型的访存次序
│ ├── [7.5]–偏序和全序
│ ├── [7.6]–顺序一致性存在单一全序
│ ├── [7.7]–x86处理器的指令重排
│ ├── [7.8]–x86处理器上的存全序TSO
│ ├── [7.9]–x86的内存屏障指令MFENCE
│ ├── [7.10]–x86-tso的访存次序(一)
│ ├── …
│ ├── [7.16]–x86访存次序的总结
│ ├── [7.17]–多处理器和缓存一致性
│ ├── [7.18]–MESI协议
│ ├── [7.19]–MESI协议的状态转化
│ ├── [7.20]–arm/power的访存次序(一)
│ ├── …
│ ├── [7.24]–如何阻止指令重排
│ ├── [7.25]–避免数据竞争的顺序一致性
│ ├── [7.26]–x86平台上的同步操作指令
│ ├── [7.27]–SC-DRF的实例
│ └── [7.28]–特别练习7-2
└── {8}–C/C++内存模型
├── [8.1]–C/C++内存模型简介
├── [8.2]–C语言的表达式
├── …
├── [8.5]–求值、值计算和副作用
├── [8.6]–前序、后序和序列点
├── …
├── [8.9]–冲突和数据竞争
├── [8.10]–原子操作库
├── [8.11]–一个多线程数据竞争的例子
├── [8.12]–用原子操作解决数据竞争的例子
├── [8.13]–C/C++内存模型的核心思想
├── [8.14]–原子操作的附加属性(同步和访存次序)
├── [8.15]–通过原子操作施加指定的访存次序
├── [8.16]–通过原子操作施加内存同步
├── [8.17]–前发
├── [8.18]–同步操作及其分类
├── [8.19]–原子操作的线程间同步
├── …
├── [8.24]–松散的原子操作
├── [8.25]–原子变量的修改次序
├── [8.26]–原子操作的一致性规则
├── [8.27]–顺序一致性的原子操作
├── [8.28]–实例解析一
├── …
├── [8.34]–对原子操作函数的附加说明
├── [8.35]–C语言对原子类型的支持:存取的顺序一致性语义
├── …
└── [8.38]–C语言对原子类型的支持:不使用标准库函数的线程同步

个人中心
今日签到
有新私信 发送私信
搜索