范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

汇编指令学习总结补充

  用于系统存储管理的协处理器CP15
  MCR{cond} coproc,opcode1,Rd,CRn,CRm,opcode2
  MRC {cond} coproc,opcode1,Rd,CRn,CRm,opcode2
  coproc 指令操作的协处理器名.标准名为pn,n,为0~15
  opcode1 协处理器的特定操作码. 对于CP15寄存器来说,opcode1永远为0,不为0时,操作结果不可预知
  CRd 作为目标寄存器的协处理器寄存器.
  CRn 存放第1个操作数的协处理器寄存器.
  CRm 存放第2个操作数的协处理器寄存器. (用来区分同一个编号的不同物理寄存器,当不需要提供附加信息时,指定为C0)
  opcode2 可选的协处理器特定操作码. (用来区分同一个编号的不同物理寄存器,当不需要提供附加信息时,指定为0)
  在基于ARM的嵌入式系统中,存储系统通常是通过系统控制协处理器CP15完成的。
  CP15可以包含16个32位的寄存器,其编号为0-15。实际上对于某些编号的寄存器可能对应有多个物理寄存器。在指令中指定特定的标志位来区分这些物理寄存器。有些类似于ARM寄存器中,处于不同的处理器模式时,ARM某些寄存器可能不同。
  CP15 的寄存器列表如表所示:
  寄存器编号
  基本作用
  在 MMU 中的作用
  在 PU 中的作用
  0
  ID 编码(只读)   ID 编码和 cache 类型   1
  控制位(可读写)   各种控制位   2
  存储保护和控制   地址转换表基地址   Cachability 的控制位   3
  存储保护和控制   域访问控制位   Bufferablity 控制位   4
  存储保护和控制   保留   保 留   5
  存储保护和控制   内存失效状态   访问权限控制位   6
  存储保护和控制   内存失效地址   保护区域控制   7
  高速缓存和写缓存   高速缓存和写缓存控制   8
  存储保护和控制   TLB 控制   保 留   9
  高速缓存和写缓存   高速缓存锁定   10
  存储保护和控制   TLB 锁定   保 留   11
  保留   12
  保留   13
  进程标识符   进程标识符   14
  保留   15
  因不同设计而异   因不同设计而异   因不同设计而异   注:以下寄存器中相应位的含义在不同的处理器中可能不同,但总体功能不变   (一)CP15 的寄存器 C0   CP15 中寄存器 C0 对应两个标识符寄存器,由访问 CP15 中的寄存器指令中的 指定要访问哪个具体物理寄存器, 与两个标识符寄存器的对应关系如下所示:   opcode2 编码   对应的标识符号寄存器   0b000   主标识符寄存器   0b001   cache类型标识符寄存器   其 他   保留   (1)主标识符寄存器   指令如下:   MRC P15,0,R0,C0,C0,0 #将主标示符寄存器的内容读到AMR寄存器R0中   主标示符的编码格式对于不同的ARM处理器版本有所不同。   对于AMR7之后的处理器,其主标示符编码格式如下 :   30 24   23 20   19 16   15 4   3 0   由生产商确定   产品子编号   ARM 体系版本号   产品主编号   处理器版本号   各部分的编码详细含义如下表所示:   位   说 明   位 [3: 0]   生产商定义的处理器版本号   位 [15: 4]   生产商定义的产品主编号   其中最高 4 位即位 [15:12] 可能的取值为0x0~0x7 但不能是 0x0 或 0x7   因为:   0x0表示 ARM7之前的处理器   0x7 表示ARM7处理器   位 [19: 16]   ARM 体系的版本号,可能的取值如 下:   0x1 ARM 体系版本 4   0x2 ARM 体系版本 4T   0x3 ARM 体系版本 5   0x4 ARM 体系版本 5T   0x5 ARM 体系版本 5TE   其他 由 ARM 公司保留将来使用   位 [23: 20]   生产商定义的产品子编号。当产品主编号相同时,使用子编号来区分不同的产品子类,如产品中不 同的高速缓存的大小等   位 [31: 24]   生产厂商的编号,现在已经定义的有以下值:   0x41 =A ARM 公司   0x44 =D Digital Equipment 公司   0x69 =I intel 公司   (2)cache类型标识符寄存器   指令如下:   MRC P15,0,R0,C0,C0,1 #将cache类型标识符寄存器的内容读到AMR寄存器R0中   ARM 处理器中 cache 类型标识符寄存器的编码格式如下所示:   31 29   28 25   24
  23 12   11 0   000
  属性字段   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的属性   编码格式如下:   11 9   8 6   5 3   2
  1 0   000
  cache 容量   cache 相联特性   M   块大小   其中bits[1:0]含义如下:   编 码   cache 块大小   0b00   2 个 字( 8 字节)   0b01   4 个 字( 16 字节)   0b10   8 个 字( 32 字节)   0b11   16 个 字( 64 字节)   其中bits[5:3]含义如下:   编 码   M=0 时含义   M=1 时含义   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]含义如下:   编 码   M=0 时含义   M=1时含义   0b000   0.5KB   0.75 KB   0b001   1 KB   1.5 KB   0b010   2 KB   3 KB   0b011   4 KB   6 KB   0b100   8 KB   12 KB   0b101   16 KB   24 KB   0b110   32 KB   48 KB   0b111   64 KB   96 KB   (二)CP15 的寄存器 C1   CP15中的寄存器C1是一个控制寄存器,它包括以下控制功能:   禁止或使能MMU以及其他与存储系统相关的功能   配置存储系统以及ARM处理器中的相关部分的工作   指令如下:   mrc p15, 0, r0, c1, c0{, 0} ;将 CP15 的寄存器 C1 的值读到 r0 中   mcr p15, 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])   对于存储系统同时支持big-endian和little-endian的ARM系统,本控制位配置系统的存储模式   0 : little endian   1 : big endian   对于只支持little-endian的系统,读取时该位返回0,写入时忽略   对于只支持big-endian的系统,读取时该位返回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 :选择低端异常中断向量 0x0~0x1c   1 :选择高端异常中断向量0xffff0000~ 0xffff001c   对于不支持高端异常向量表的系统,读取时该位返回0,写入时忽略   PR(bit[14])   如果系统中的cache的淘汰算法可以选择的话,本控制位选择淘汰算法   0 :常规的 cache 淘汰算法,如随机淘汰   1 :预测性淘汰算法,如round-robin 淘汰算法   如果系统中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])   这些位保留将来使用,应为UNP/SBZP   (三)CP15 的寄存器 C2   C2寄存器的别名:Translation table base (TTB) register   C2寄存器用来保存页表的基地址,即一级映射描述符表的基地址。其编码格如下所示:   31 0   一级映射描述符表的基地址(物理地址)   (四)CP15 的寄存器 C3   CP15 中的寄存器 C3 定义了 ARM 处理器的 16 个域的访问权限。   31 0   D15   D14   D13   D12   D11   D10   D9   D8   D7   D6   D5   D4   D3   D2   D1   D0   在 CP15的C3寄存器中,划分了 16个域,每个区域由两位构成,这两位说明了当前内存的检查权限:   00:当前级别下,该内存区域不允许被访问,任何的访问都会引起一个domain fault,这时 AP位无效   01:当前级别下,该内存区域的访问必须配合该内存区域的段描述符中AP位进行权检查   10:保留状态(我们最好不要填写该值,以免引起不能确定的问题)   11:当前级别下,对该内存区域的访问都不进行权限检查。 这时 AP位无效   所以只有当相应域的编码为 01 时,才会根据 AP位 和协处理器CP15中的C1寄存器的R,S位进行权限检查   (五)CP15 的寄存器 C5   CP15 中的寄存器 C5 是失效状态寄存器,分为指令状态失效和数据状态失效。   MRC p15, 0, , c5, c0, 0 访问数据失效状态寄存器   MRC p15, 0, , c5, c0, 1 访问指令状态失效寄存器   编码格式如下所示:   31 9   8
  7 4   3 0   UNP/SBZP   0
  域标识   状态标识   其中,域标识bit[7:4]表示存放引起存储访问失效的存储访问所属的域。   状态标识 bit[3:0] 表示放引起存储访问失效的存储访问类型,该字段含义如下表所示(优先级由上到下递减)。   引起访问失效的原因   状态标识   域标识   C6   终 端异常( Terminal Exception )   0b0010   无 效   生 产商定义   中 断向量访问异常( Vector Exception)   0b0000   无 效   有 效   地 址对齐   0b00x1   无 效   有 效   一 级页表访问失效   0b1100   无 效   有 效   二 级页表访问失效   0b1110   有 效   有 效   基 于段的地址变换失效   0b0101   无 效   有 效   基 于页的地址变换失效   0b0111   有 效   有 效   基 于段的存储访问中域控制失效   0b1001   有 效   有 效   基 于页的存储访问中域控制失效   0b1101   有 效   有 效   基 于段的存储访问中访问权限控制失效   0b1111   有 效   有 效   基 于页的存储访问中访问权限控制失效   0b0100   有 效   有 效   基 于段的 cache 预 取时外部存储系统失效   0b0110   有 效   有 效   基 于页的 cache 预 取时外部存储系统失效   0b1000   有 效   有 效   基 于段的非 cache 预 取时外部存储系统失效   0b1010   有 效   有 效   (六)CP15的寄存器C6   CP15 中的寄存器 C6 是失效地址寄存器,其中保存了引起存储访问失效的地址,分为数据失效地址寄存器和指令失效地址寄存器   MRC p15, 0, , c6, c0, 0 访问数据失效地址寄存器   MRC p15, 0, , c6, c0, 2 访问指令失效地址寄存器   编码格式如下所示:   31 0   失效地址(虚拟地址)   (七)CP15的寄存器C7   CP15 的 C7 寄存器用来控制 cache 和写缓存,它是一个只写寄存器,读操作将产生不可预知的后果。   访问 CP15 的 C7 寄存器的指令格式如下所示:   mcr p15, 0, , , crm, ; 、 和 的不同取值组合,实现不同功能   表中的数据是指Rd中的数据:   (八)CP15的寄存器C8   系统协处理器CP15的寄存器C8就是清除TLB内容的相关操作。它是一个只写的寄存器。   MCR p15,0,Rd,c8,CRm,opcode_2   Rd中为要写入C8寄存器的内容,CRm和opcode_2的不同组合决定指令执行的不同操作。   指令   Rd   含义   MCR p15, 0, Rd, c8, c5, 0   0
  使无效整个指令TLB   MCR p15, 0, Rd, c8, c5, 1   虚拟地址   使无效指令TLB中的单个地址变换条目   MCR p15, 0, Rd, c8, c6, 0   0
  使无效整个数据TLB   MCR p15, 0, Rd, c8, c6, 1   虚拟地址   使无效数据TLB中的单个地址变换条目   MCR p15, 0, , c8, c7, 0   0
  使无效整个数据和指令TLB   MCR p15, 0, , c8, c7, 1   虚拟地址   使无效数据和指令TLB中的单个地址变换条目   (九)CP15的寄存器C12   CP15寄存器C12用来设置异常向量基地址,其编码格式如下所示:   MCR p15, 0, , c12, c0, 0 ;Rd中存放要修改的异常向量基地址   31 5   4 0   异常向量基地址   Reserve   注:只有ARM11和cortex-a 可以任意修改异常向量基地址。arm7,ARM9,ARM10只可以在0地址或0xffff0000中   (十)CP15的寄存器C13   CP15中的寄存器C13用于快速上下文切换。其编码格式如下所示。   访问寄存器C13的指令格式如下所示。   MCR p15, 0,,,c0,0   MRC P15, 0,,,c0,0   其中, 在读操作时,结果中位[31::25]返回PID,其他位 的数值是不可以预知的。写操作将设置PID的值。   当PID的值为0时,MVA = VA | (0(PID)<<25),MVA=VA,相当于禁止了FCSE。系统复位后PID即为0.   当PID的值不为0时,相当于使能了FCSE。

防不胜防!孩子花33元租号就能疯玩游戏?腾讯游戏回应来源河南广电映象网日前,国家新闻出版署下发通知要求,所有网络游戏企业仅可在周五周六周日和法定节假日每天的20时至21时向未成年人提供1小时服务,其他时间均不得以任何形式向未成年人提除了让旧手机积灰,你或许还能让它做些有意义的事情你们好,这里是Seek思科,为你寻找苹果最新资讯苹果隐藏技巧苹果良心APP以及苹果优质配件。如果你需要这些,不妨点个关注。今年年初,SEE基金会发布了手机使用与回收公众调查报告。报数字人民币最新使用方式来了领红包买保险还能藏私房钱媒体人周刊数字货币数字人民币数字人民币来了!我国是世界上第一个发行国家数字货币的主要经济体。吃饭购物加油打车坐公交买保险交电费领红包还能藏私房钱。中国数字人民币的研发进展白皮书显示重庆第三大女富豪彭蕾,身价196。3亿,现任阿里巴巴资深副总裁对于咱们普通老百姓而言,想要掌握赚钱的秘诀从而实现财富自由,学习成功人士的发家之道是一条切实可行的道路,大家都知道站在巨人的肩膀上才能看得更远的道理。关于一个人的成功,是否只能用钱为什么一些手机厂商要砍掉呼吸灯?手机没有呼吸灯分两种情况,一种是压根就没考虑做呼吸灯的,比如苹果iPhone,从一开始就没有设计呼吸灯。另一种是以前有呼吸灯,但是后来慢慢砍掉了呼吸灯。这里主要说后一种情况。过去华电脑不需要呼吸,为什么不能在真空环境下运行?谁给你说的不能在真空中运行?空间站中哪些电子设备运行得好好的,怎么说?卫星上的电子设备就是相当于一个电脑,真空中运行的好好的。玉兔月球车,还在月球背面运行,火星车。这些都要控制电脑有哪些好玩的手机应用?谢谢邀请!在这里给大家推荐一些有趣好玩又实用的手机app。1。怼图可以识别你的聊天内容自动匹配表情包,无障碍快速发送,甚至自动发送,可以快速搜索关键词,找到你想要的表情包。2。向日华为在贵安建了个童话小镇里面藏着它最重要的数据资产从贵安新区向南驱车40分钟,进入数谷大道后,一座占地1521亩童话小镇逐渐映入眼帘,红黄蓝绿交错的建筑外墙颇有异域风格,很难让人想到这里放置着华为最重要的数据资产。9月9日,华为云价值解析三安光电长电科技捷捷微电通富微电中环股份三安光电下一个无线耳机?这个板块又被苹果带火,明年开启新技术应用元年,新需求助力行业景气好转,技术难度提升下产业链各环节龙头受益,王者分析师建议关注三个环节龙头厂商公司财务状况正常来了,宝马新能源摩托,CE04实现量产,7。6万起价,不比飞度香宝马其实业务广泛,以往造飞机引擎,现在是以潇洒出尘同时大家也买不起的汽车出名,不过宝马在摩托车上也有深厚的造诣,不少车型同样以高价闻名,路上被帕萨特什么的平价车追尾,以为不过一台普如果滴滴倒下了,是传统出租车行业卷土重来还是被别的同行取代?目前来看,网约车大洗牌甚至倒闭都是有可能的。所以我坚决反对网约车公司干预传统出租车行业。如果网约车公司倒下,我认为出租车进化的可能性大,毕竟出租车只需要匹配一个远程大召唤术的软件就
华为这次稳了,9月发布2款10月发布1款旗舰新机,力拼iPhone13在手机行业,5000元以上手机被视为高端手机。在华为还没被老美制裁之前,高端手机市场是唯一能与苹果手机抗衡的国产手机品牌。然而,近日根据市调机构counterpoint公布的数据显新款5G手机发布,120W快充5000mAh一亿像素,售价感人作为国产四大手机厂商之一的小米,在iPhone13发布当天(北京时间)也发布了一款颇具亮点的安卓旗舰产品,某些配置方面可谓是打破行业记录,我们一起看看吧。小米发布的新款5G手机分别手机芯片有多么重要一说到手机芯片这个词,我就不得不说一下小米和魅族的故事。魅族这个牌子在手机界里也算得上是一个知名品牌,在最初开始的时候那可是和小米一个等级的存在,那时的魅族和小米都是疯狂打着性价比买到即赚到!三款高性价比手机推荐,均价都未超过3000元买手机很多人可能都会秉持着好货不便宜,便宜没好货这个概念,但是小M可表示不服。虽然好手机的价格确实昂贵,但是当我们精挑细选后,依旧能获得物超所值的机型,只有这样购物才能发挥最大价值智慧医疗智慧城市数据中心5G,股价强势向上突破,还能进场吗一热门个股解读万马科技(300698)二后市分析万马科技(300698)该公司的产品包含通信网络配线及信息化机柜产品和医疗信息化产品两大类。公司最赚钱的业务就是技术服务费。该股比较一年后的今天,验证码又被骂上热搜被吐槽上热搜的验证码,图源秋名山车神这一次,刚过19点就收到小伙伴发来的问候来自基友们的关(chao)怀(feng)来自客户爸爸的关注所以,你们都不睡觉的吗本来想低(zhuang)富士康急招20万人保iPhone13发售北京环球影城正式开园苹果发新机,富士康急招20万人保iPhone13发售为确保iPhone13准时发售,苹果公司早早将订单委托给供应链上下游工厂。负责整机组装的富士康为加快量产,不得不加紧招工。富士康公司电脑被限制上网怎么办破解方法找代理,网上很多这个信息和软件都不小心说得很少。有一款软件叫童通,这个软件很不错,可以穿透防火墙,通过代理实现上网,缺点就是花钱。方法二在公司里找一个人谁可以访问互联网,在某程序员分享经验从字节跳到eBay,真香许多人都向往国内的互联网大厂,但也有许多人选择离开大厂到外企,享受一种更轻松的生活,这部分人的现状如何呢?近日,一个从字节跳槽到eBay的网友发帖分享了自己的感受并非因为绩效低从字老人听力不好配助听器有依赖吗?听力逐渐下降,听得到声音但听不清,当听损的老人成人亲自到达专业的助听器验配中心后,验配师需要收集一些关于患者的病史资料如听力下降的开始,听力下降后的治疗史,助听器佩戴史,听损后对生台积电,终于为放弃华为海思订单付出代价一年之前,台积电正式断供华为,不再为海思芯片提供代工服务。要知道,当时华为是台积电仅次于苹果的第二大客户,其订单曾经占据了台积电营收的14之多,突然失去这么一个大客户,很多人都担心