指令重排详解_cpu指令重排序

指令重排详解_cpu指令重排序指令重排:编译器指令重排,cpu指令重排,内存指令重排。编译器可能会调整顺序,如下图,左边是c++源码,右边是优化后顺序一条汇编指令的执行是可以分为很多步骤的,分为不同的硬件执行取指IF译码和取寄存器操作数ID执行或者有效地址计算EX(ALU逻辑计算单元)存储器访问MEM写回WB(寄存器)指令重排只可能发生在毫无关系的指令之间,如果指令之间存在依赖关系,则不会重排。单线程内程序的执行结果不能被改变。1原子性是指一个操作是不可中断的.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

指令重排: 编译器指令重排,cpu指令重排,内存指令重排。

编译器可能会调整顺序,如下图,左边是c++源码,右边是优化后顺序

指令重排详解_cpu指令重排序指令重排详解_cpu指令重排序

指令重排详解_cpu指令重排序

 

一条汇编指令的执行是可以分为很多步骤的, 分为不同的硬件执行

取指 IF

译码和取寄存器操作数 ID

执行或者有效地址计算 EX (ALU逻辑计算单元)

存储器访问 MEM

写回 WB (寄存器)

指令重排只可能发生在毫无关系的指令之间, 如果指令之间存在依赖关系, 则不会重排。单线程内程序的执行结果不能被改变。

1 原子性是指一个操作是不可中断的. 即使是在多个线程一起执行的时候。

2 有序性是指在单线程环境中, 程序是按序依次执行的,而在多线程环境中, 程序的执行可能因为指令重排而出现乱序。

3 可见性是指当一个线程修改了某一个共享变量的值,其他线程是否能够立即知道这个修改

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180906.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python连接远程服务器_windows收不到组播

    python连接远程服务器_windows收不到组播C/C++code//MulticastSocket.cpp:implementationfile//#include”stdafx.h”#include”MulticastSocket.h”#include”HuanRemoteServiceDlg.h”#include”atlconv.h”#ifdef_DEBUG#definenewDEBUG_NEW#undefTHI…

    2022年10月1日
  • 站长工具之在线检测网页错误

    站长工具之在线检测网页错误网页代码测试工具  没有站长可以保证自己的网页代码完全正确没有任何错误,特别是是否符合W3C标准,你可以通过以下测试来检查网站代码是否正确,无论你是asp的还是php的都可以哟。  1.http://www.htmlhelp.com/tools/validator一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。(强烈推荐)

    2022年7月22日
  • Adam优化算法「建议收藏」

    Adam优化算法「建议收藏」深度学习常常需要大量的时间和计算机资源进行训练,这也是困扰深度学习算法开发的重大原因。虽然我们可以采用分布式并行训练加速模型的学习,但需要的计算资源并没有丝毫减少。而唯有需要资源更少、令模型收敛更快的

    2022年8月1日
  • docker下载安装教程_安卓安装docker

    docker下载安装教程_安卓安装docker前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

    2022年7月30日
  • 空间矢量脉冲宽度调制(SVPWM)Simulink仿真教程

    空间矢量脉冲宽度调制(SVPWM)Simulink仿真教程目录SVPWM仿真主体结构扇区选择模块XYZ计算模块矢量作用模块切换时间判断模块三角波模块开关信号模块输出信号模块输出结果SVPWM参考文献​SVPWM仿真主体结构扇区选择模块原理基于原理搭建基于原理的s函数扇区输出结果XYZ计算模块原理基于原理搭建模块仿真结果矢量作用模块原理基于原理搭建模块仿真结果切换时间判断模块原理…

    2022年10月31日
  • python之路

    python之路

    2021年9月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号