游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

汇编指令学习总结

  MRC:协处理器寄存器到ARM处理器寄存器的数据传送指令(读出协处理器寄存器)。
  MCR:ARM处理器寄存器到协处理器寄存器的数据传送指令(写入协处理器寄存器)。
  在基于ARM的嵌入式应用系统中,存储系统的操作通常是由协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。
  访问CP15寄存器的指令主要是MCR和MRC这两个指令。
  协处理器15(CP15),ARM处理器使用协处理器15的寄存器来控制cache、TCM和存储器管理。
  MRC{cond}p15,,,,,
  MCR{cond}p15,,,,,
  cond:为指令执行的条件码。当cond忽略时指令为无条件执行。
  Opcode1:协处理器的特定操作码。对于CP15寄存器来说,opcode10
  Rd:作为源寄存器的ARM寄存器,其值将被传送到协处理器寄存器中,或者将协处理器寄存器的值传送到该寄存器里面,通常为R0
  CRn:作为目标寄存器的协处理器寄存器,其编号是CC15。
  CRm:协处理器中附加的目标寄存器或源操作数寄存器。如果不需要设置附加信息,将CRm设置为c0,否则结果未知
  Opcode2:可选的协处理器特定操作码。(用来区分同一个编号的不同物理寄存器,当不需要提供附加信息时,指定为0)
  1。1示例:mrcp15,0,r0,c1,c0,0将CP15的寄存器C1的值读到r0中
  mcrp15,0,r0,c7,c7,0关闭ICaches和DCaches
  mcrp15,0,r0,c8,c7,0使无效整个数据TLB和指令TLB
  1。2在C函数中使用汇编示例:
  asm(mrcp15,0,r1,c1,c0,0使用asm可以在C函数中执行汇编语句
  orrr1,r1,0xc0000000
  mcrp15,0,r1,c1,c0,0
  :::r1:::r1向GCC声明:我对r1作了改动
  );
  2。CP15中的寄存器介绍
  CP15的寄存器列表如表所示:
  寄存器编号
  基本作用
  在MMU中的作用
  在PU中的作用
  0hrID编码(只读)
  ID编码和cache类型
  1hr控制位(可读写)
  各种控制位
  2hr存储保护和控制
  地址转换表基地址
  Cachability的控制位
  3hr存储保护和控制
  域访问控制位
  Bufferablity控制位
  4hr存储保护和控制
  保留
  保留
  5hr存储保护和控制
  内存失效状态
  访问权限控制位
  6hr存储保护和控制
  内存失效地址
  保护区域控制
  7hr高速缓存和写缓存
  高速缓存和写缓存控制
  8hr存储保护和控制
  TLB控制
  保留
  9hr高速缓存和写缓存
  高速缓存锁定
  10hr存储保护和控制
  TLB锁定
  保留
  11hr保留
  12hr保留
  13hr进程标识符
  进程标识符
  14hr保留
  15hr因不同设计而异
  因不同设计而异因不同设计而异
  2。1CP15的寄存器C0
  CP15中寄存器C0对应两个标识符寄存器,由访问CP15的寄存器指令指定要访问哪个具体物理寄存器,与两个标识符寄存器的对应关系如下所示:
  opcode2编码
  对应的标识符号寄存器
  0b000
  主标识符寄存器
  0b001
  cache类型标识符寄存器
  其他
  保留
  1、主标识符寄存器
  指令格式:MRCP15,0,R0,C0,C0,0将主标示符寄存器的内容读到AMR寄存器R0中
  主标示符的编码格式对于不同的ARM处理器版本有所不同。对于AMR7之后的处理器,其主标示符编码格式如下:
  30~24
  23~20
  19~16
  15~4
  3~0
  由生产商确定
  产品子编号
  ARM体系版本号
  产品主编号
  处理器版本号
  各部分的编码详细含义如下表所示:
  2、cache类型标识符寄存器
  指令格式:MRCP15,0,R0,C0,C0,1将cache类型标识符寄存器的内容读到AMR寄存器R0中
  ARM处理器中cache类型标识符寄存器的编码格式如下所示:
  3129
  2825
  24hr2312
  110
  000hr属性字段
  S
  数据cache相关属性
  指令cache相关属性
  各部分的编码详细含义如下表所示:
  位
  含义
  位〔28:25〕
  主要用于定义对于写回类型的cache的一些属性
  位〔24〕
  定义系统中的数据cache和指令cache是分开的还是统一的:
  0:系统的数据cache和指令cache是统一的
  1:系统的数据cache和指令cache是分开的
  位〔23:12〕
  定义数据cache的相关属性,如果位〔24〕为0,本字段定义整个cache的属性
  位〔31:24〕
  定义指令cache的相关属性,如果位〔24〕为0,本字段定义整个cache的属性
  控制字段位〔28:25〕的含义
  主要用于定义对于写回类型的cache的一些属性,cache类型标识符寄存器的控制字段位〔28:25〕:
  编码
  cache类型
  cache内容清除方法
  cache内容锁定方法
  0b0000
  写通类型
  不需要内容清除
  不支持内容锁定
  0b0001
  写回类型
  数据块读取
  不支持内容锁定
  0b0010
  写回类型
  由寄存器C7定义
  不支持内容锁定
  0b0110
  写回类型
  由寄存器C7定义
  支持格式A
  0b0111
  写回类型
  由寄存器C7定义
  支持格式B
  控制字段位〔23:12〕及控制字段位〔11:0〕含义
  〔23:12〕用于定义数据cache的属性,〔11:0〕用于定义指令cache的属性。编码格式如下:
  119
  86
  53
  2hr10
  000hrcache容量
  cache相联特性
  M
  块大小
  其中bits〔1:0〕含义如下:
  编码
  cache块大小
  0b00
  2个字(8字节)
  0b01
  4个字(16字节)
  0b10
  8个字(32字节)
  0b11
  16个字(64字节)
  其中bits〔5:3〕含义如下:
  编码
  M0时含义
  M1时含义
  0b000
  1路相联(直接映射)
  没有cache
  0b001
  2路相联
  3路相联
  0b010
  4路相联
  6路相联
  0b011
  8路相联
  12路相联
  0b100
  16路相联
  24路相联
  0b101
  32路相联
  48路相联
  0b110
  64路相联
  96路相联
  0b111
  128路相联
  192路相联
  其中bits〔8:6〕含义如下:
  编码
  M0时含义
  M1时含义
  0b000
  0。5KB
  0。75KB
  0b001
  1KB
  1。5KB
  0b010
  2KB
  3KB
  0b011
  4KB
  6KB
  0b100
  8KB
  12KB
  0b101
  16KB
  24KB
  0b110
  32KB
  48KB
  0b111
  64KB
  96KB
  2。2CP15的寄存器C1
  CP15中的寄存器C1是一个控制寄存器,它包括以下控制功能:禁止或使能MMU以及其他与存储系统相关的功能配置存储系统以及ARM处理器中的相关部分的工作
  指令如下:
  mrcp15,0,r0,c1,c0{,0};将CP15的寄存器C1的值读到r0中
  mcrp15,0,r0,c1,c0{,0};将r0的值写到CP15的寄存器C1中
  CP15中的寄存器C1的编码格式及含义说明如下:
  C1中的控制位
  含义
  M(bit〔0〕)
  0:禁止MMU或者PU
  1:使能MMU或者PU
  如果系统中没有MMU及PU,读取时该位返回0,写入时忽略该位。
  A(bit〔1〕)
  0:禁止地址对齐检查
  1:使能地址对齐检查
  C(bit〔2〕)
  当数据cache和指令cache分开时,本控制位禁止使能数据cache。当数据cache和指令cache统一时,该控制位禁止使能整个cache。
  0:禁止数据整个cache
  1:使能数据整个cache
  如果系统中不含cache,读取时该位返回0。写入时忽略
  当系统中不能禁止cache时,读取时返回1。写入时忽略
  W(bit〔3〕)
  0:禁止写缓冲
  1:使能写缓冲
  如果系统中不含写缓冲时,读取时该位返回0。写入时忽略
  当系统中不能禁止写缓冲时,读取时返回1。写入时忽略
  P(bit〔4〕)
  对于向前兼容26位地址的ARM处理器,本控制位控制PROG32控制信号
  0:异常中断处理程序进入32位地址模式
  1:异常中断处理程序进入26位地址模式
  如果本系统中不支持向前兼容26位地址,读取该位时返回1,写入时忽略
  D(bit〔5〕)
  对于向前兼容26位地址的ARM处理器,本控制位控制DATA32控制信号
  0:禁止26位地址异常检查
  1:使能26位地址异常检查
  如果本系统中不支持向前兼容26位地址,读取该位时返回1,写入时忽略
  L(bit〔6〕)
  对于ARMv3及以前的版本,本控制位可以控制处理器的中止模型
  0:选择早期中止模型
  1:选择后期中止模型
  B(bit〔7〕)
  对于存储系统同时支持bigendian和littleendian的ARM系统,本控制位配置系统的存储模式
  0:littleendian
  1:bigendian
  对于只支持littleendian的系统,读取时该位返回0,写入时忽略
  对于只支持bigendian的系统,读取时该位返回1,写入时忽略
  S(bit〔8〕)
  在基于MMU的存储系统中,本位用作系统保护
  R(bit〔9〕)
  在基于MMU的存储系统中,本位用作ROM保护
  F(bit〔10〕)
  由生产商定义
  Z(bit〔11〕)
  对于支持跳转预测的ARM系统,本控制位禁止使能跳转预测功能
  0:禁止跳转预测功能
  1:使能跳转预测功能
  对于不支持跳转预测的ARM系统,读取该位时返回0,写入时忽略
  I(bit〔12〕)
  当数据cache和指令cache是分开的,本控制位禁止使能指令cache
  0:禁止指令cache
  1:使能指令cache
  如果系统中使用统一的指令cache和数据cache或者系统中不含cache,读取该位时返回0,写入时忽略。当系统中的指令cache不能禁止时,读取时该位返回1,写入时忽略
  V(bit〔13〕)
  对于支持高端异常向量表的系统,本控制位控制向量表的位置
  0:选择低端异常中断向量0x00x1c
  1:选择高端异常中断向量0xffff00000xffff001c
  对于不支持高端异常向量表的系统,读取时该位返回0,写入时忽略
  PR(bit〔14〕)
  如果系统中的cache的淘汰算法可以选择的话,本控制位选择淘汰算法
  0:常规的cache淘汰算法,如随机淘汰
  1:预测性淘汰算法,如roundrobin淘汰算法
  如果系统中cache的淘汰算法不可选择,写入该位时忽略。读取该位时,根据其淘汰算法是否可以比较简单地预测最坏情况返回0或者1
  L4(bit〔15〕)
  对于ARM版本5及以上的版本,本控制位可以提供兼容以前的ARM版本的功能
  0:保持ARMv5以上版本的正常功能
  1:将ARMv5以上版本与以前版本处理器兼容,不根据跳转地址的bit〔0〕进行ARM指令和Thumb状态切换:bit〔0〕等于0表示ARM指令,等于1表示Thumb指令
  Bits〔31:16〕)
  这些位保留将来使用,应为UNPSBZP
  2。3CP15的寄存器C2
  C2寄存器的别名:Translationtablebase(TTB)register
  C2寄存器用来保存页表的基地址,即一级映射描述符表的基地址。其编码格如下所示:
  310
  一级映射描述符表的基地址(物理地址)
  2。4CP15的寄存器C3
  CP15中的寄存器C3定义了ARM处理器的16个域的访问权限。
  在CP15的C3寄存器中,划分了16个域,每个区域由两位构成,这两位说明了当前内存的检查权限:
  00:当前级别下,该内存区域不允许被访问,任何的访问都会引起一个domainfault,这时AP位无效
  01:当前级别下,该内存区域的访问必须配合该内存区域的段描述符中AP位进行权检查
  10:保留状态(我们最好不要填写该值,以免引起不能确定的问题)
  11:当前级别下,对该内存区域的访问都不进行权限检查。这时AP位无效
  所以只有当相应域的编码为01时,才会根据AP位和协处理器CP15中的C1寄存器的R,S位进行权限检查
  2。5CP15的寄存器C5
  CP15中的寄存器C5是失效状态寄存器,分为指令状态失效和数据状态失效。
  MRCp15,0,,c5,c0,0访问数据失效状态寄存器
  MRCp15,0,,c5,c0,1访问指令状态失效寄存器
  编码格式如下所示:
  319
  8hr74
  30
  UNPSBZP
  0hr域标识
  状态标识
  其中,域标识bit〔7:4〕表示存放引起存储访问失效的存储访问所属的域。状态标识bit〔3:0〕表示放引起存储访问失效的存储访问类型,该字段含义如下表所示(优先级由上到下递减)。
  2。4CP15的寄存器C6
  CP15中的寄存器C6是失效地址寄存器,其中保存了引起存储访问失效的地址,分为数据失效地址寄存器和指令失效地址寄存器。
  MRCp15,0,,c6,c0,0访问数据失效地址寄存器
  MRCp15,0,,c6,c0,2访问指令失效地址寄存器
  编码格式如下所示:
  310
  失效地址(虚拟地址)
  2。5CP15的寄存器C7
  CP15的C7寄存器用来控制cache和写缓存,它是一个只写寄存器,读操作将产生不可预知的后果。访问CP15的C7寄存器的指令格式为:mcrp15,0,Rd,CRn,CRm,opcode2。具体含义如下表所示(表中的数据是指Rd中的数据)
  2。6CP15的寄存器C8
  系统协处理器CP15的寄存器C8就是清除TLB内容的相关操作。它是一个只写的寄存器。
  MCRp15,0,Rd,c8,CRm,opcode2
  Rd中为要写入C8寄存器的内容,CRm和opcode2的不同组合决定指令执行的不同操作。
  2。7CP15的寄存器C12
  CP15寄存器C12用来设置异常向量基地址,其编码格式如下所示:
  MCRp15,0,,c12,c0,0;Rd中存放要修改的异常向量基地址
  315
  40
  异常向量基地址
  Reserve
  注:只有ARM11和cortexa可以任意修改异常向量基地址。arm7,ARM9,ARM10只可以在0地址或0xffff0000中
  2。8CP15的寄存器C13
  CP15中的寄存器C13用于快速上下文切换。其编码格式如下所示
  3125
  240
  PID
  其中,在读操作时,结果中位〔31::25〕返回PID,其他位的数值是不可以预知的。写操作将设置PID的值。当PID的值为0时,MVAVA(0(PID)25),MVAVA,相当于禁止了FCSE。系统复位后PID即为0。当PID的值不为0时,相当于使能了FCSE。

模块化掌上电脑Pocket3更多细节曝光,满满的干货!下周内Pocket3内置10000mAh(7。7V5000mAh2,串联)大容量电池,实测可播放本地视频8。5小时,更强劲的电池续航。搭配45WPD快充,直接向主板供电,电池更……经开区实验小学文明交通学雷锋志愿服务队在行动为大力弘扬雷锋精神,践行奉献、互助、友爱、进步的志愿精神,3月9日,经开区实验小学志愿者们在第四大街与经南六路交通路口开展志愿服务活动,倡导文明出行的交通理念,营造文明、畅通、……听说你要毕业了?来个自我鉴定吧!自我鉴定:时光飞逝,转眼间我本科成考已接近尾声了,记得报名的时候刚好是我转型之际。这两年的学习和社会实践是我不断的挑战自我、充实自我的一个过程。我在思想认识、为人处事和专……盘点性价比超高的WiFi6路由WiFi5时代已经走到了尾声,在即将落幕之时,WiFi6则接过了时代的交接棒,慢慢从商用走进了消费者领域,那么就在这WiFi6即将来临的时代,WiFi6究竟具备了哪些新优势呢,……iPhone13手机官壳曝光,iPhone13min700美一名员工爆iPhone13手机壳已经出来了,苹果12没什么区别iPhone13系列售价曝光其中,最便宜的iPhone13mini以700美元起售,约合人民币4530元。i……上架即售罄一机难求!HaylouX1王炸登场如果说TWS耳机的横空出世,拉开了耳机时代更迭的序幕。那么ANC降噪功能的出现,则开启了TWS耳机功能体验的新纪元。作为高端TWS耳机的必修课,ANC降噪功能是近两年高品……华为发布首款儿童教育机器人,展现强大的硬件实力今年4月初,华为发布了以全屋智能及智慧屏旗舰新品为主导的春季发布会,发布会主要介绍了全新的全屋智能系统和最新款的华为智慧屏,但是在发布会的结尾,却给用户带来了一颗不小的彩蛋华为……山东20家独角兽企业,济南青岛烟台占19家,名字有一个很大的文丛树来源鲁商儒风昨天,山东省公示了最新一期拟认定的独角兽企业名单,共有7家,加上从2018年以来认定的13家,山东认定的独角兽企业将达到20家。这20家企业……聊聊MagSafeBatteryPack的真实体验每次提到MagSafeBatteryPack,最常被人搬出来论证这玩意不能用的观点有:749,智商税只有1500mAh不到(实际上是3000mAh)充手机只有5W功率,实际搭配……双十一背后的流量其实就是2020年第一波双十一活动已经圆满结束,第二波双十一尾款热潮已在2020年11月11日00:30开始,作为尾款人的你,是不是又将改变一次户籍呢?看到第一波双十一战报的你,……会飞的汽车你能信吗?小鹏推第六代飞行汽车着急你就飞过去不是玩笑,可能就要实现了哦!10月24日,小鹏汽车第三届1024科技日。在会上小鹏官宣了第六代飞行汽车计划,小鹏这次貌似是铁了心要造飞行汽车,并同时同步了量……利润强劲增长背后平安银行究竟发生了怎样变化到现在,我依然记得两年前平安银行管理层对股东的诺言:这两年我们日子很苦,但距离腾飞的日子不远了。没想到诺言兑现的这么快,业绩上涨的这么猛。2021年上半年平安银行实现净利润17……
张馨予演过的电视剧张馨予电影电视剧剧情剧照盘点张馨予电视剧电影作品盘点,张馨予还演过那些电影电视剧介绍:说道张馨予,相信很多人都知道女星张馨予,但是并不是所有的人都了解张馨予。相信很多人了解张馨予是从那些娱乐八卦跟黑历史开……使徒行者3评价好看吗?豆瓣评分曝光及演员阵容一览使徒行者3评价好看吗?在我心目当中,电视剧《使徒行者3》还算可以,感觉剧情方面还是比较精彩的。虽然谈不上多惊艳,但至少也不算差了。(注:个人观看,仅供讨论)但,目前《使徒……复仇者联盟3看懂了没这些背景和梗你需要了解下《复仇者联盟3》看懂了没:这些背景和梗你需要了解下终于有一部电影能在票房上超越让人烦心的《后来的我们》了,就是《复仇者联盟3》。今年是漫威电影宇宙10周年,《复联3》也被……神州数码入选Forrester中国云迁移现代化和管理服务现状当前,随着云在中国的普及,与开发、迁移、现代化和跨混合云环境的工作负载管理相关的挑战也在持续增加。近日,全球最具影响力的独立研究咨询公司之一Forrester发布首份中国云迁移……金扫帚奖提名名单公布名单上面竟然有他近日,金扫帚奖提名的名单已经公布出来了,大家都来围观今年的金扫帚奖都有哪些演员上了名单,这次金扫帚奖名单上面一共有28名演员,其中,肖战、鹿晗和杨紫均在名单上面,一起来看一下具……小宋佳主演的电视剧有哪些?小宋佳老公是谁?小宋佳主演的电视剧有《白狼》、《出水芙蓉》、《闯关东》、《跟我的前妻谈恋爱》、《故乡的云》、《红日》、《圣天门口》、《天地民心》、《雾里看花》、《真情无限之继母》等。小宋……最值得看的十部军旅电视剧(上品佳作军旅迷入坑必看)2022热播军旅剧《特战荣耀》大家追了吗?真的非常好看,但就是感觉跟不上啊!今天给大家奉上最值得看的十部军旅电视剧汇总,每一部都是非常的精彩,剧情节跌宕起伏,而剧中的演员更是可……你会放弃微信吗?我不会放弃微信的。微信在我现实生活中带来了许多的方便。比如出去买东西。拿上一部手机就搞定。比如到某一个火车站坐火车,我就用微信小程序里面的网证就可以搞定。最起码不用带身份证。但……梦华录具体播出时间,梦华录主要讲的是什么励志剧《梦华录》安排在2022年6月2日播出,所给带来三个女人经历各种困境来携手勇闯汴京,还在皇城司指挥使顾千帆的帮助下,最终姐妹齐心努力把永安楼变成汴京最大酒楼的创业事情。……软件开发成本评估常见问题汇总1。开发移动应用(APP)如何评估成本?答:开发移动应用,对于同时适用于Android和iOS系统的需求,功能点计数项仅识别一次,不乘2。因为现在混合式移动应用开发工具已……西游记中硬功力最高的妖怪,孙悟空打不赢他如来佛祖也打不过西游记中硬功力最高的妖怪,孙悟空打不赢他如来佛祖也打不过可以说,在西游记唐僧,孙悟空,猪八戒,沙僧所遇到的全部妖怪当中,没有后台的妖怪的只有白骨精,黑熊精,豹子精,牛魔王……小欢喜丁一跳楼是第几集小欢喜乔英子为什么跳桥小欢喜中丁一的出现让整个剧显得有点沉闷起来,丁一的跳楼让乔英子彻底看清了自己小欢喜丁一跳楼是第几集?小欢喜乔英子跳桥是第几集?我们一起来看一下。小欢喜丁一跳楼是第几集……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网