首页 > 其他分享 >note

note

时间:2022-10-17 10:13:59浏览次数:39  
标签:缓存 变量 总线 note 加锁 一致性 CPU

1.缓存一致性协议

缓存一致性问题

计算机在CPU与主存之间引入CPU缓存,以防止因为主存访问速度远低于CPU处理速度而导致的处理性能下降,但由此引出缓存一致性问题:并发环境下同一个变量在cpu缓存中会存在多份(每个cpu有一份缓存数据),写回主存时就会互相覆盖(如i++操作)。

为了解决缓存一致性问题,主流的解决方法有如下两种方式:

  • 通过总线加锁的方式
  • 通过缓存一致性协议

总线加锁解决方案:

第一种方式是一种悲观的实现方式,CPU 和其他组件的通信都是通过总线进行的,如果采用总线加锁的方式,则会阻塞其他 CPU 对其他组件的访问,从而使得只有一个 CPU(抢到总线锁) 能够访问这个变量的内存(CPU性能浪费

缓存一致性协议解决方案:

当 CPU 从缓存中读取数据时,如果发现该变量是一个共享变量,也就是说在其他的 CPU缓存中也存在一个副本,那么就进行如下操作:

  1. 读取操作,不做任何处理,只是将 缓存中的数据读取到寄存器。
  2. 写入操作,发出信号通知其他 CPU 将该变量的缓存行置为无效状态,其他 CPU 在进行该变量读取的时候不得不到主内存中再次获取。 

 

标签:缓存,变量,总线,note,加锁,一致性,CPU
From: https://www.cnblogs.com/sen-2017/p/16798149.html

相关文章

  • OneNote 2019 右键菜单卡顿
    1.在Windows10中的右下角,右键点击`输入法`(即点击`中`或`英`的图标)2.选择`设置`3.选择`常规`4.界面滑到最下面,开启`使用以前的微软拼音输入法` 问题解决,On......
  • IsNotEmpty和isNotBlank的区别
    isNotEmpty和isNotBlank都是判断字符串非空首先查看isNotEmpty()isNotEmpty判断是否为空(null或size=0),不为空就返回trueStringUtils.isNotEmpty(null)=falseString......
  • Note / Solution Set -「Binomial Sum」两道例题
      删本地文件的时候瞟了一眼内容...这篇好像忘记发布了?  给定\(n,k\),求出\[\textit{ans}=\sum_{i=0}^n\binom{n}{i}i^k\bmod(10^9+7).\]  \(k\le5\times10......
  • 如何将我的文档从GoodNotes 4迁移到GoodNotes 5?
    GoodNotesMac版是Mac平台上的一款非常好用和实用的笔记软件。如果你在生活中有比较多的场景是需要做笔记和整理资料的话,GoodNotesMac版会是一个不错的编辑工具。为大家......
  • Review-python-note2
    Note2-bodyandstructure标签(空格分隔):pythonLearningtechniquesAssumingyouareplaying<<callofduty>>andneedgothroughonedifficultscenewhere......
  • Jupyter Notebook
    1、简介 JupyterNotebook(http://jupyter.org/)是一种Web应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。简而言之,JupyterNote......
  • 在Jupyter Notebook 中输出 HTML
    在刚开始使用JupyterNotebook时,我总想使输出结果更使人满意,而不是只把结果打印出来。在我知道可以用HTML输出之前,我是这样输出一个表格的(数据来源:软科中国大学排名)。......
  • java中,如何解决@NotBlank不生效的问题 @NotBlank @NotEmpty不生效,以及对象嵌套问题
    这篇文章主要介绍了如何解决@NotBlank不生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。1.解决@NotBlank不生效最近做一个新......
  • jupyter notebook导入conda环境
    创建conda环境condacreate--namefirstEnv激活环境并安装软件包condaactivatefirstEnvcondainstallscikit-learn安装和配置ipykernelcondainstall-cconda......
  • Review-python-Note1
    Note1标签:python目录Note1learningtechniques1.format1.1comment1.2lineandindence2.number2.1howmanytypesofnumberdoesamethematicalcalculatormayh......