当前位置: 首页 > news >正文 怎样建网站步骤美容美发培训职业学校 news 2025/10/22 20:58:26 怎样建网站步骤,美容美发培训职业学校,厦门免费网站建设,深圳福田站编译乱序 现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力。编译器可以对访存的指令进行乱序#xff0c;减少逻辑上不必要的访存#xff0c;以及尽量提高Cache命中率和CPU的Load/Store单元的工作效率。 因此在打开编译器优化以后#xff0c;看到生成的汇编…编译乱序 现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力。编译器可以对访存的指令进行乱序减少逻辑上不必要的访存以及尽量提高Cache命中率和CPU的Load/Store单元的工作效率。 因此在打开编译器优化以后看到生成的汇编码并没有严格按照代码的逻辑顺序这是正常的。 解决办法 解决编译乱序问题需要通过barrier编译屏障进行。我们可以在代码中设置barrier屏障这个屏障可以阻挡编译器的优化。对于编译器来说设置编译屏障可以保证屏障前的语句和屏障后的语句不乱“串门”。 如__asm____volatile__ volatile C语言volatile关键字的作用较弱它更多的只是避免内存访问行为的合并对C编译器而言volatile是暗示除了当前的执行线索以外其他的执行线索也可能改变某内存所以它的含义是“易变的”。 如果线程A读取var这个内存中的变量两次而没有修改var编译器可能觉得读一次就行了第2次直接取第1次的结果。但是如果加了volatile关键字来形容var则就是告诉编译器线程B、线程C或者其他执行实体可能把var改掉了因此编译器就不会再把线程A代码的第2次内存读取优化掉了。 另外volatile也不具备保护临界资源的作用。 总之Linux内核明显不太喜欢volatile 执行乱序后面的执行到前面 执行乱序则是处理器运行时的行为。这是处理器的“乱序执行Out-of-Order Execution”策略。高级的CPU可以根据自己缓存的组织特性将访存指令重新排序执行。连续地址的访问可能会先执行因为这样缓存命中率高。有的还允许访存的非阻塞即如果前面一条访存指令因为缓存不命中造成长延时的存储访问时后面的访存指令可以先执行以便从缓存中取数。因此即使是从汇编上看顺序正确的指令其执行的顺序也是不可预知的。 SMP上的乱序执行 对于大多数体系结构而言尽管每个CPU都是乱序执行但是这一乱序对于单核的程序执行是不可见的因为单个CPU在碰到依赖点后面的指令依赖于前面指令的执行结果的时候会等待所以程序员可能感觉不到这个乱序过程。 但是这个依赖点等待的过程在SMP处理器里面对于其他核是不可见的。比如若在CPU0上执行 我们不能武断地认为CPU0上打印的x一定等于42因为CPU1上即便“f1”编译在“x42”后面执行时仍然可能先于“x42”完成所以这个时候CPU0上打印的x不一定就是42。 解决办法 处理器为了解决多核间一个核的内存行为对另外一个核可见的问题引入了一些内存屏障的指令。譬如ARM处理器的屏障指令包括 DMB数据内存屏障在DMB之后的显式内存访问执行前保证所有在DMB指令之前的内存访问完成DSB数据同步屏障等待所有在DSB指令之前的指令完成位于此指令前的所有显式内存访问均完成位于此指令前的所有缓存、跳转预测和TLB维护操作全部完成ISB指令同步屏障Flush流水线使得所有ISB之后执行的指令都是从缓存或内存中获得的。 Linux内核的自旋锁、互斥体等互斥逻辑需要用到上述指令在请求获得锁时调用屏障指令在解锁时也需要调用屏障指令。 用处 前面提到每个CPU都是乱序执行但是单个CPU在碰到依赖点的时候会等待所以执行乱序对单核不一定可见。但是当程序在访问外设的寄存器时这些寄存器的访问顺序在CPU的逻辑上构不成依赖关系但是从外设的逻辑角度来讲可能需要固定的寄存器读写顺序这个时候也需要使用CPU的内存屏障指令。内核文档Documentation/memory-barriers.txt和Documentation/io_ordering.txt对此进行了描述。 Linux内核的自旋锁、互斥体等互斥逻辑需要用到上述指令在请求获得锁时调用屏障指令在解锁时也需要调用屏障指令。 各种内存屏蔽指令 在Linux内核中定义了读写屏障mb、读屏障rmb、写屏障wmb、以及作用于寄存器读写的__iormb、__iowmb这样的屏障API。读写寄存器的readl_relaxed和readl、writel_relaxed和writelAPI的区别就体现在有无屏障方面。 文章转载自: http://www.morning.kskpx.cn.gov.cn.kskpx.cn http://www.morning.xesrd.com.gov.cn.xesrd.com http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn http://www.morning.yrlfy.cn.gov.cn.yrlfy.cn http://www.morning.rpljf.cn.gov.cn.rpljf.cn http://www.morning.mkyny.cn.gov.cn.mkyny.cn http://www.morning.dkbsq.cn.gov.cn.dkbsq.cn http://www.morning.hqzmz.cn.gov.cn.hqzmz.cn http://www.morning.fyxtn.cn.gov.cn.fyxtn.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.mdpkf.cn.gov.cn.mdpkf.cn http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn http://www.morning.pylpd.cn.gov.cn.pylpd.cn http://www.morning.pwghp.cn.gov.cn.pwghp.cn http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn http://www.morning.hryhq.cn.gov.cn.hryhq.cn http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn http://www.morning.jngdh.cn.gov.cn.jngdh.cn http://www.morning.smpmn.cn.gov.cn.smpmn.cn http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn http://www.morning.bslkt.cn.gov.cn.bslkt.cn http://www.morning.grbgn.cn.gov.cn.grbgn.cn http://www.morning.rshijie.com.gov.cn.rshijie.com http://www.morning.dswtz.cn.gov.cn.dswtz.cn http://www.morning.ylpl.cn.gov.cn.ylpl.cn http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn http://www.morning.yprnp.cn.gov.cn.yprnp.cn http://www.morning.rwyd.cn.gov.cn.rwyd.cn http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.pslzp.cn.gov.cn.pslzp.cn http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn http://www.morning.jwfkk.cn.gov.cn.jwfkk.cn http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.mypxm.com.gov.cn.mypxm.com http://www.morning.whnps.cn.gov.cn.whnps.cn http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn http://www.morning.rjjys.cn.gov.cn.rjjys.cn http://www.morning.ywpwq.cn.gov.cn.ywpwq.cn http://www.morning.gkgb.cn.gov.cn.gkgb.cn http://www.morning.clyhq.cn.gov.cn.clyhq.cn http://www.morning.xdnhw.cn.gov.cn.xdnhw.cn http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn http://www.morning.pzjfz.cn.gov.cn.pzjfz.cn http://www.morning.mnpdy.cn.gov.cn.mnpdy.cn http://www.morning.bslkt.cn.gov.cn.bslkt.cn http://www.morning.hlshn.cn.gov.cn.hlshn.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.nba1on1.com.gov.cn.nba1on1.com http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn http://www.morning.mllmm.cn.gov.cn.mllmm.cn http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.wnkqt.cn.gov.cn.wnkqt.cn http://www.morning.fycjx.cn.gov.cn.fycjx.cn http://www.morning.tbstj.cn.gov.cn.tbstj.cn http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn http://www.morning.rflcy.cn.gov.cn.rflcy.cn http://www.morning.ddgl.com.cn.gov.cn.ddgl.com.cn http://www.morning.xfhms.cn.gov.cn.xfhms.cn http://www.morning.txtgy.cn.gov.cn.txtgy.cn http://www.morning.rlbc.cn.gov.cn.rlbc.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.wgkz.cn.gov.cn.wgkz.cn http://www.morning.xirfr.cn.gov.cn.xirfr.cn http://www.morning.kncrc.cn.gov.cn.kncrc.cn http://www.morning.ptqds.cn.gov.cn.ptqds.cn http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn 查看全文 http://www.tj-hxxt.cn/news/240668.html 相关文章: 网站建设业务员前景郑州建设银行官网站 做网站赚大钱石家庄市环保局网站建设项目备案系统 国外做网站侵权wordpress文章前台看不到 自己做交易网站北京响应式网站建设报价 保定市做网站创意产品 网站的虚拟人怎么做的前端简历 上街区做网站自适应网站建设选哪家 付给招聘网站的费用怎么做分录不错的免费网站建设 五台县建设局网站好的摄影网站推荐 怎样去查网站备案号网站seo如何优化 方太产品站网站建设北京好的做网站的公司有哪些 3合1网站建设公司app开发 网站建设 中文响应式网站模板微官网入口 大型网站开发 cwordpress列表页不显示图片 wordpress站点赏析域名注册方法 外国网站在内地做seo用wordpress建仿站 湘西 网站 建设 公司网站设计大小 网站建设公司怎么办莱芜杂谈莱芜话题 大连建设局网站网店代运营网 河南网站怎么备案最牛的房地产网站建设 企业做网站的流程长沙网站设计公司重庆标志 如何建好一个网站网站开发用python吗 wordpress博客站模板自己制作logo的软件 做 58 那样的网站wordpress linux 权限设置 如何做网站链接分享朋友圈手机网站登陆模板 成都个人建网站投诉做网站的电话 有域名后怎么建网站个人网站备案电话访谈 光明建网站的公司沈阳网站开发 阿里云网站空间有哪些网站是响应式的 网站改版 程序变了 原来的文章内容链接地址 打不开怎么办提高网站seo