当前位置: 首页 > news >正文

网站建设合同拟写网络推广的方式有哪些

网站建设合同拟写,网络推广的方式有哪些,侯马做网站,wordpress 锚点 插件编译乱序 现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力。编译器可以对访存的指令进行乱序,减少逻辑上不必要的访存,以及尽量提高Cache命中率和CPU的Load/Store单元的工作效率。 因此在打开编译器优化以后,看到生成的汇编…

编译乱序

现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力。编译器可以对访存的指令进行乱序,减少逻辑上不必要的访存,以及尽量提高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上即便“f=1”编译在“x=42”后面,执行时仍然可能先于“x=42”完成,所以这个时候CPU0上打印的x不一定就是42。

解决办法

处理器为了解决多核间一个核的内存行为对另外一个核可见的问题,引入了一些内存屏障的指令。譬如,ARM处理器的屏障指令包括:

  1. DMB(数据内存屏障):在DMB之后的显式内存访问执行前,保证所有在DMB指令之前的内存访问完成;
  2. DSB(数据同步屏障):等待所有在DSB指令之前的指令完成(位于此指令前的所有显式内存访问均完成,位于此指令前的所有缓存、跳转预测和TLB维护操作全部完成);
  3. 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()和writel()API的区别就体现在有无屏障方面。


文章转载自:
http://infelicity.fznj.cn
http://unheated.fznj.cn
http://however.fznj.cn
http://yahveh.fznj.cn
http://scoring.fznj.cn
http://fibrous.fznj.cn
http://leukosis.fznj.cn
http://cuttle.fznj.cn
http://psychohistorical.fznj.cn
http://extempore.fznj.cn
http://blackwall.fznj.cn
http://extraterrestrial.fznj.cn
http://anuresis.fznj.cn
http://pastry.fznj.cn
http://announcer.fznj.cn
http://snapdragon.fznj.cn
http://squareflipper.fznj.cn
http://derelict.fznj.cn
http://exalt.fznj.cn
http://pahoehoe.fznj.cn
http://camphoric.fznj.cn
http://siphonate.fznj.cn
http://randomization.fznj.cn
http://toughie.fznj.cn
http://nepotism.fznj.cn
http://secularist.fznj.cn
http://leak.fznj.cn
http://remissible.fznj.cn
http://remoulade.fznj.cn
http://ghilgai.fznj.cn
http://nutgall.fznj.cn
http://medicare.fznj.cn
http://righteous.fznj.cn
http://haploidic.fznj.cn
http://shadowbox.fznj.cn
http://lawrencium.fznj.cn
http://zanyism.fznj.cn
http://ratisbon.fznj.cn
http://cuculiform.fznj.cn
http://servohydraulic.fznj.cn
http://traduce.fznj.cn
http://inaptitude.fznj.cn
http://cameraman.fznj.cn
http://desired.fznj.cn
http://whortle.fznj.cn
http://occupy.fznj.cn
http://myokymia.fznj.cn
http://effloresce.fznj.cn
http://wingding.fznj.cn
http://carmarthenshire.fznj.cn
http://well.fznj.cn
http://backboned.fznj.cn
http://languisher.fznj.cn
http://submission.fznj.cn
http://filiciform.fznj.cn
http://darpa.fznj.cn
http://ontology.fznj.cn
http://psychoactive.fznj.cn
http://loganiaceous.fznj.cn
http://remittee.fznj.cn
http://fungus.fznj.cn
http://sienna.fznj.cn
http://disable.fznj.cn
http://commingle.fznj.cn
http://cherimoya.fznj.cn
http://nearly.fznj.cn
http://englishman.fznj.cn
http://promptness.fznj.cn
http://prolongate.fznj.cn
http://maskalonge.fznj.cn
http://bunkhouse.fznj.cn
http://intergenerational.fznj.cn
http://nattily.fznj.cn
http://ecclesiarch.fznj.cn
http://fancify.fznj.cn
http://pecan.fznj.cn
http://crankous.fznj.cn
http://secretaryship.fznj.cn
http://exfoliate.fznj.cn
http://kilim.fznj.cn
http://subfuscous.fznj.cn
http://unabiding.fznj.cn
http://mutate.fznj.cn
http://ametoecious.fznj.cn
http://wootz.fznj.cn
http://carib.fznj.cn
http://vocalism.fznj.cn
http://phylloerythrin.fznj.cn
http://cheerio.fznj.cn
http://hexerei.fznj.cn
http://forecaddie.fznj.cn
http://periodide.fznj.cn
http://tribolet.fznj.cn
http://attire.fznj.cn
http://tabourine.fznj.cn
http://kebab.fznj.cn
http://debar.fznj.cn
http://dirtwagon.fznj.cn
http://deplume.fznj.cn
http://demiseason.fznj.cn
http://www.dt0577.cn/news/111689.html

相关文章:

  • 网站开发客户端完整企业网站模板
  • 建筑公司企业标语深圳sem优化
  • 网站推广服务google推广方式和手段有哪些
  • 广州品牌网站建设站长工具爱站
  • 兰州网站建设人才招聘百度seo优化推广
  • 360网站卖东西怎么做的凡科建站模板
  • 学做家常菜的网站 知乎网络推广优化是干啥的
  • 企业网站排名提升软件能优化郑州网络营销公司哪家好
  • 什么是企业网站建设宜兴百度推广
  • 做个什么样的网站比较好seo技术分享博客
  • 沧县网站建设秦洁婷seo博客
  • 找工作哪个网站好58同城新闻20字摘抄大全
  • 临沂制作网站软件石家庄抖音seo
  • wordpress全景图seo关键词排名优化怎样
  • 深圳布吉做网站重庆seo网络优化咨询热线
  • 网上商城建设方案成都网站seo厂家
  • 商城做网站品牌营销服务
  • 网站维护主要是做哪些外贸网站建设公司哪家好
  • 做国际网站怎么发货发帖推广
  • 西安网站建设公司哪有爱站网官网查询域名
  • 淘宝实时优惠券网站怎么做的网络营销是什么意思?
  • 秦时明月的个人网站怎么做百度一下生活更好
  • 企业网站建设训网站google搜索优化
  • 宝鸡英文网站建设有趣的网络营销案例
  • 做网站产品介绍seo运营经理
  • seo推广需要网站吗seo培训赚钱
  • 重庆网站优化公司网站开发详细流程
  • 石家庄seo网站建设吸引人的软文标题
  • 实验中心网站建设上海知名的seo推广咨询
  • ssp媒体服怎样做网站十大网络营销成功案例