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

网站开发 企业宣传册骨干校 建设网站

网站开发 企业宣传册,骨干校 建设网站,网站自适应布局,湖北省住房与城乡建设厅网站文章目录 概述LL/SC机制独占内存访问指令多字节独占内存访问指令 独占监视器经典自旋锁实现 LSE机制原子内存操作指令CAS指令交换指令 相关参考 概述 在编程中#xff0c;当多个处理器或线程访问共享数据#xff0c;并且至少有一个正在写入时#xff0c;操作必须是原子的当多个处理器或线程访问共享数据并且至少有一个正在写入时操作必须是原子的这意味着数据访问必须被视为相对于其他处理器的单个操作以避免数据竞争条件。 原子操作的实现依赖处理器硬件提供支持在不同的处理器体系结构上原子操作会有不同的实现例如在x86体系结构下通常使用锁缓存/总线的方式实现原子操作。目前在ARMv8体系结构下支持两种方式来实现原子操作 一种是经典的独占内存访问机制也叫做LL/SCLoad-Link/Store-Conditional早期ARM体系结构下的原子操作都是基于这种方式实现另一种是ARMv8.1体系结构上新增的LSELarge System Extension扩展LSE提供了多种原子内存访问操作指令。 LL/SC机制 LL/SC机制使用多个指令并且每个处理器都需要实现一个专有监视器LL/SC机制利用独占内存访问指令和独占监视器共同实现原子操作。首先看下ARMv8体系结构提供的独占内存访问指令。 独占内存访问指令 ARMv8体系结构实现的独占内存访问指令为LDXR/STXR LDXR内存独占加载指令它从内存中以独占方式加载内存地址的值到寄存器中STXR内存独占存储指令它以独占的方式把数据存储到内存中。 LDXR/STXR的指令格式如下 ldxr xt, [xn | sp] stxr ws, xt, [xn | sp]多字节独占内存访问指令 LDXP和STXP指令是多字节独占内存访问指令一条指令可以独占地加载和存储16字节。 ldxp xt1, xt2, [xn | sp] stxp ws, xt1, xt2, [xn | sp]独占监视器 独占监视器是一个硬件状态机用于跟踪读-修改-写序列并支持Load和Store操作。当CPU执行LDXR指令时独占监视器会把对应内存地址标记为独占访问模式保证以独占的方式来访问这个内存地址而STXR是有条件的存储指令当CPU执行STRX指令将新数据写入到LDXR指令标记的独占访问内存地址时会根据独占监视器的状态来进行处理 若独占监视器为独占访问状态那么STRX指令执行成功并且独占监视器会切换状态到开放访问状态若独占监视器为开放访问状态则STRX指令执行失败数据无法存储。 ARMv8体系提供了三类独占监视器 本地独占监视器内部缓存一致性全局独占监视器外部全局独占监视器 这些独占监视器分别位于系统存储结构的不同层次如下 经典自旋锁实现 如下是一个经典的基于独占访问机制的自旋锁实现 LSE机制 LL/SC操作本质上是多个CPU核竞争某个内存变量的独占访问当系统处理器的数量很少时这可以正常工作当增加处理器的数量时处理器之间的竞争冲突会加剧这会严重影响系统系统再加上Cache的影响先前访问到内存变量的处理器会更容易再次获得变量的访问权这使得多核间访问变量的公平性也难以保证。 Armv8.1-A架构引入了新的原子操作指令即LSELSE机制用于替代原来的LL/SC机制。LSE提升了多处理器系统中原子操作的性能使用LSE可以在单个指令中提供不可中断的读-修改-写序列。原子指令可以在指定的内存位置上执行简单的算术或逻辑操作并将更新的值返回给处理器。LSE新增了三类指令 原子内存操作指令包含LDop和STop其中op可以是ADD、CLR、EOR、SET、SMAX、SMIN、UMAX和UMIN比较并交换指令包括CAS和CASP交换指令SWP 原子内存操作指令 原子内存操作指令分成两类原子加载指令和原子存储指令。原子内存访问指令的格式如下 ldop xs, xt, [xn|sp] stop xs, [xn|sp]支持的原子操作后缀 CAS指令 CAS指令的格式如下 cas Ws, Wt, [Xn|SP{,#0}] cas Xs, Xt, [Xn|SP{,#0}]casp Ws, W(s1), Wt, W(t1), [Xn|SP{,#0}] casp Xs, X(s1), Xt, X(t1), [Xn|SP{,#0}] 交换指令 交换指令的指令格式如下 swp Ws, Wt, [Xn|SP] swp Xs, Xt, [Xn|SP]相关参考 《ARM64体系结构编程与实践》《奔跑吧Linux内核》ARMv8.1平台下新添加原子操作指令Introduction to Large System Extensions
http://www.w-s-a.com/news/89659/

相关文章:

  • 怎么做虚拟的网站东莞常平邮编是多少
  • 电子商务网站和普通网站的区别正规网站建设多少费用
  • 郴州免费招聘网站前端好还是后端好
  • 织梦网站怎样做子域名20个中国风网站设计欣赏
  • wordpress网站搬简约创意logo图片大全
  • 叙述网站制作的流程石家庄58同城最新招聘信息
  • 南昌微信网站建设东莞网站优化软件
  • 爱站数据官网纯静态网站挂马
  • 网站建设公司未来方向3d设计网站
  • 建设部网站 干部学院 一级注册建筑师培训 2014年做网站开发的提成多少钱
  • 网上请人做软件的网站铝合金型材外发加工网
  • 手机网站建设万网山东省作风建设网站
  • 网站策划专员招聘50万县城做地方网站
  • 网站开发公司+重庆wordpress自定义搜索界面
  • 梅州南站学校官网
  • 网站变灰代码 所有浏览器企业邮箱域名怎么填写
  • 网站建设哪好旅行社网站模板
  • 网站开发发展存在的问题交换链接营销的经典案例
  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的