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

wordpress 电影解析佛山网站优化怎么做

wordpress 电影解析,佛山网站优化怎么做,网络培训思想汇报,专业的网站优化公司排名谈起内存屏障,大家感觉这个玩意儿很虚,不太实际,但是内核代码中又广泛地可以看到起身影。内存屏障,英文barrier,这个玩意儿它还不太好去定义它。barrier,中文翻译为栅栏#xff0c;栅栏大家都见过,现实生活中就是防止他人或者动物非法闯入而用来进行隔…谈起内存屏障,大家感觉这个玩意儿很虚,不太实际,但是内核代码中又广泛地可以看到起身影。内存屏障,英文barrier,这个玩意儿它还不太好去定义它。barrier,中文翻译为栅栏栅栏大家都见过,现实生活中就是防止他人或者动物非法闯入而用来进行隔离用的工具。再进一步既然是防止闯入,那就是要保护栅栏内的东西。所以在linux 内核中,内存屏障用于保护内存的访问。 1、什么需要保护 下面来谈谈内存屏障到底保护什么。 比如cpu0执行 a 1 这条指令时,假设a所在cache line已经在cpu1的 L1 cache中cpu0 先要获取a所在的cache line到cpu0的L1cache中由于是写操作,需要改写a的值,需要再总线上发送invalid消息让其他cpu使无效其cache中a的值等待其他cpu应答后cpu0才能改写a的值这样才能保证cache一致性。 等待其他cpu上使无效消息的应答期间造成了cpu0的无效等待,浪费时间。于是cpu设计者开始修改CPU设计出现了使无效队列以及write buffer这些内部部件用来加速cpu的执行。具体内容读者可以查阅其他文章。 提升CPU执行效率(硬件层面)和编译器的优化使得指令重排序(软件层面)给程序员带来了负担需要程序去进行进行内存访问顺序的维护及保序。 2、ARM提供的指令 ARM提供了如下指令来进行内存屏障的处理: DMB:Data Memory Barrier数据存储屏障 DSB:Date Synchronization Barrier数据同步屏障 ISB:Instruction Synchronization Barrier指令同步屏障 DMB和DSB的一个本质区别DMB针对的是memory的load/store之间DSB强调的是同类或不同类事物的先后完成。 Data Memory Barrier (DMB) ensures that all explicit memory accesses that appear in program order before the DMB instruction are observed before any explicit memory accesses that appear in program order after the DMB instruction. 数据内存屏障(DMB)确保DMB指令之前的所有显式内存访问在DMB指令开始之后的任何显式内存访问之前被观察到。且DMB指令不影响处理上执行的任何其他指令的顺序。 Data Synchronization Barrier (DSB),No instruction in program order after this instruction executes until this instruction completes. 数据同步屏障(DSB)完成后,其后面的指令才可执行。可见DSB影响了其他指令的执行。 Instruction Synchronization Barrier (ISB) flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory, after the instruction has been completed. 指令同步屏障(ISB)冲刷处理器中的流水线以便在ISB完成后从缓存或内存中提取ISB之后的所有指令。可见ISB严重影响后续指令的执行。 3、linux内核实现 arch/arm/include/asm/barrier.h/*isb,dsb,dmb汇编指令*/ #define isb(option) __asm__ __volatile__ (isb #option : : : memory) #define dsb(option) __asm__ __volatile__ (dsb #option : : : memory) #define dmb(option) __asm__ __volatile__ (dmb #option : : : memory)/*barrier:编译优化屏障,阻止编译器为了性能优化而进行指令重排*/ #define barrier() __asm__ __volatile__(: : :memory)/*内存屏障(包括读和写),用于SMP和UP*/ #define mb() do { dsb(); outer_sync(); } while (0) /*读内存屏障,用于SMP和UP*/ #define rmb() dsb() /*写内存屏障,用于SMP和UP*/ #define wmb() do { dsb(st); outer_sync(); } while (0)/*oshouter shareable domain*/ #define dma_rmb() dmb(osh) #define dma_wmb() dmb(oshst)/*用于SMP场合的内存屏障。*/ /*ish:inner shareable domain在ish范围内客观测到结果*/ #define smp_mb() dmb(ish) /*用于SMP场合的读内存屏障*/ #define smp_rmb() smp_mb() /*用于SMP场合的写内存屏障*/ /*waits only for stores to complete, and only to the inner shareable domain.*/ #define smp_wmb() dmb(ishst)
http://www.hkea.cn/news/14560160/

相关文章:

  • 柳州企业网站开发公司网站开发要什么基础
  • 建设银行官网首页网站招聘企业网站添加栏目
  • 做网站怎么跑业务做详情页的网站
  • 广州好的做网站公司仿牌网站 域名注册
  • 外贸网站源码php如何做视频网站旗下账号
  • 电子商务网站建设与维护试题深圳市seo上词点击软件
  • 电子商务企业网站策划设计找版面网站
  • 网站的建设目标文档深圳软件培训机构名单
  • 锐酷网站建设教程网页设计教程免费下载
  • 长沙教育网站开发网站建设为大学生服务
  • 做网站一般长宽多少钱开发小程序需要哪些技术
  • 德州网站制作建设网站经验
  • 企业展示网站模板免费下载.net微信网站开发
  • 海淀区企业网站建设域名备案好了怎么建设网站
  • 百色建设网站网站建设资金管理办法
  • 网站审核备案 几天什么平台可以发网推广
  • php网站开发实例教程第七章房地产网站建设策划书
  • 制作网站注册页面wordpress怎么做采集
  • 建设一个网站的费用四川成都装修公司排名
  • 建德建设局官方网站王烨张开
  • 重庆建筑行业认证培训网山东网站建设优化
  • 网站服务器端口如何做防护做健身类小程序的网站
  • 在线建站平台做家装的网站
  • 四川西充县建设局网站点击排名软件哪个好
  • 网站开发必用代码vs网站开发入门
  • 网站排名优化技巧温州seo团队
  • 做导航网站电脑设备小程序代理推广
  • 衡水做网站推广找谁网页如何制作出来的
  • 外贸企业建网站自己做网站多少钱
  • 图书馆网站建设汇报中国移动璧山网站建设