复杂指令集与精简指令集的原子操作

以a++的动作为例:

在精简指令集下,这个加法操作不是原子的,包括多个汇编步骤,典型的情况包括3个步骤:ldr、add、str,即读取内存数据到CPU寄存器,修改数据,将修改后的数据存入内存(读、修改、写,也叫做RMW原则),如下所示:

在复杂指令集下,可以直接在内存上进行加减动作,一条add汇编指令即可完成,因此在单核情况下,这个a++的动作是原子的。但是,在多核情况下,a++的操作并不是原子的,因为你做a++之前,有可能被其它核上的高优先级线程抢占并先一步做完a++,然后等到你做a++的时候,结果就相当于做了两遍a++,这显然与你的预期结果不符合,因为你期望获得的是做一遍a++的结果。正因如此,我们在编写底层代码的时候,都应该假设当前的环境是多核的,并按照多核环境来编程。

复杂指令集与精简指令集的原子操作相关推荐

  1. 复杂指令集和精简指令集

    复杂指令集和精简指令集 复杂指令集(CISC) 定义 通俗理解 精简指令集(RISC) 定义 通俗理解 复杂指令集(CISC) 定义 在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中 ...

  2. 未来是属于 ARM 为代表的精简指令集还是 x86 为代表的复杂指令集?

    转载地址:https://www.zhihu.com/question/20783321 分析一: 这里简单来谈一下,ARM和X86之间为什么不太具有可比性的问题.要搞清楚这个问题首先要明白什么是架构 ...

  3. 精简指令集(RISC)和复杂指令集(CISC)的区别

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构,x86是CISC的代表架构,占领了95%以上的桌面计算机和服务器市场.Arm作为RISC的一种,在智能手机.可穿戴设备 ...

  4. 一文读懂,CPU、精简指令集、复杂指令集该如何理解?

    大家好,我是七七.欢迎来到我们的频道,一起见证ARM架构的崛起. 如今,芯片相关的话题广受关注,我们经常会听到芯片.CPU架构.ARM架构.芯片研发等相关内容.CPU.指令集.架构.微架构.芯片,这一 ...

  5. CISC(复杂指令集)与RISC(精简指令集)的区别

    复杂指令集计算机(CISC)  Complex Instruction SetComputer 长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成 ...

  6. 精简指令集与复杂指令集

    转自:http://blog.sina.com.cn/s/blog_59bbea370100ecic.html 接触到计算机的时候,就听过两个想对应的名词:精简指令集和复杂指令集.于是就望文生意的认为 ...

  7. arm指令集:精简指令集、复杂指令集

    精简指令集 精简指令集(RISC)-->微处理器 在复杂指令集里面选取了一些比较简单.使用频率较高的指令的宽度固定,多为单周期指令. 举例:如有加法运算器,没有乘法运算器. 这时乘法要转换为加法 ...

  8. 嵌入式系统——复杂指令集系统与精简指令集系统(CISCRISC)

    1. 指令集系统   在计算机系统结构发展过程中,指令集系统有两个截然不同的发展方向.一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的.常用的功能改用硬件的指令系统来实现,这种计算 ...

  9. 计算机为什么要采用精简指令集,为什么说手机cpu运行的是精简指令集,而电脑cpu是复杂指令集?...

    iris_eyes 回答数:216  |  被采纳数:100 2018-11-07 08:33:27 计算机发展分两个方向,一个是朝海量存储和高性能方向发展.另一个是向低功耗,微型化发展(手机也可以算 ...

最新文章

  1. memcached 的Linux安装
  2. 十天学会AngularJS之02
  3. sql跨数据库如何访问linux 下mysql_SQL跨数据库访问linux或windows的mysql和定时作业 (转)...
  4. vue项目打包到腾讯云服务器全过程
  5. Android 向右滑返回,退出当前activity
  6. DBUtils学习笔记
  7. poj1236/luogu2746 Network of Schools (tarjan)
  8. django redis
  9. shell自定义函数及参数调用解析
  10. java获取连接池方式_java – 如何测试连接池
  11. 有没有哪里有python电子书_为初学者准备的15本免费Python电子书
  12. 计算机网络技术用古诗文描述,【多媒体技术论文】多媒体技术在古诗文教学的运用(共2828字)...
  13. 如何应用计算机键盘截图,键盘怎么截图快捷键_键盘上截屏是哪个键-win7之家
  14. 蓝桥杯练习 圆的面积
  15. DXF文件格式——DXF 格式
  16. 熬夜肝出囊括Java后端95%的面试题解析
  17. Friends第七季第八季, Candler Monica终于结婚了,Joey爱上了Rachel
  18. 万字长文看懂商业智能(BI)|推荐收藏
  19. 局域中找不到Synology (搜索不到NAS服务器)
  20. android 浏览器横屏,2013安卓平台浏览器横屏

热门文章

  1. 【SPFA + DFS/BFS】最短路的一个拓展题
  2. Android把图片压缩到一定大小并不失真
  3. mysql命令行进行数据导入和导出
  4. 读《黄自元间架结构九十二法》
  5. 【O2O领域】Axure外卖配送代理商调度系统原型,生鲜配送站团队管理后台原型
  6. Bitbucket使用说明与SourceTree的使用
  7. intel realsense 深度相机深度图像处理API总结
  8. 数据结构与算法实验6——图论 7-10 公路村村通
  9. 浅谈中国院落文化,打造中式家居风尚!
  10. 计算机技术生活应用论文,计算机网络技术生活应用论文