CP15 中的寄存器 C7 用于控制 cache 和写缓冲区。它是一个只写的寄存器,使用 MCR 指令
      来写该寄存器,具体格式如下:

MCR P15, 0, <Rd>, <c7>, <CRm>, <opcode_2>

其中, <Rd> 中为将写入 C7 中的数据; <CRm>, <opcode_2> 的不同组合决定执行不同的操作:

----------------------------------------------------------------------------------
      <CRm>        <opcode_2>        含义                                   数据
      ----------------------------------------------------------------------------------
      C0           4                 等待中断激活                              0
      C5           0                 使用无效整个Cache                     0
      C5           1                 使无效指令Cache 中的某块           虚地址
      C5           2                 使无效指令Cache 中的某块           组号/组内序号
      C5           4                 清空预取缓冲区                          0
      C5           6                 清空整个跳转目标Cache                0
      C5           7                 清空跳转目标Cache中的某块        生产商定义
      C6           0                 使无效整个数据Cache                    0
      C6           1                 使无效数据Cache 中的某块           虚地址
      C6           2                 使无效数据Cache 中的某块           组号/组内序号
      C7           0                 使数据Cache 和指令Cache 无效    0
      C7           1                 使无效整个Cache 中的某块           虚地址
      C7           2                 使无效整个Cache 中的某块           组号/组内序号
      C8           2                 等待中断激活                                  0
      C10          1                 清空数据Cache 中某块                  虚地址
      C10          2                 清空数据Cache 中某块                  组号/组内序号
      C10          4                 清空写缓冲区                                 0
      C11          1                 清空整个Caceh 中某块                  虚地址
      C11          2                 清空整个Caceh 中某块                  组号/组内序号
      C13          1                 预取指令Cache 中某块                  虚地址
      C14          1                 清空并使无效数据Cache中某块   虚地址
      C14          2                 清空并使无效数据Cache中某块   组号/组内序号
      C15          1                 清空并使无效整个Cache中某块   虚地址
      C15          2                 清空并使无效整个Cache中某块   组号/组内序号
      ----------------------------------------------------------------------------------

MCR P15, 0, <Rd>, <C8>, <CRm>, <opcode_2>

其中 <Rd> 中为将写入 C8中的数据; <CRm>, <opcode_2> 的不同组合决定指令执行不同的操作
    
      ----------------------------------------------------------------------------------
      指令                           <opcode_2>   <CRm>   <Rd>    含义
      ----------------------------------------------------------------------------------
      MCR P15,0,Rd,C8,C7,0  0b0000     0b0111   0            DCache,ICache 无效   
      MCR P15,0,Rd,C8,C7,1  0b0000     0b0111   虚地址  整个Cache 中单个地址变换条目无效
      MCR P15,0,Rd,C8,C5,0  0b0000     0b0101   0            整个Cache无效
      MCR P15,0,Rd,C8,C5,1  0b0000     0b0101   虚地址  指令Cache 中单个地址变换条目无效
      MCR P15,0,Rd,C8,C6,0  0b0000     0b0110   0            整个数据Cache无效
      MCR P15,0,Rd,C8,C6,1  0b0000     0b0110   虚地址  数据Cache 中单个地址变换条目无效

CP15 中的寄存器相关推荐

  1. ARM处理器中CP15协处理器的寄存器1376698090

    本章和第5章的内容都与ARM处理器中CP15协处理器的寄存器有密切关系,所以我们这里先介绍一下CP15寄存器以及访问CP15寄存器的汇编指令. 4.1.1  访问CP15寄存器的指令 访问CP15寄存 ...

  2. PS 1.x 中的寄存器

    译注:对于一个想学好着色器语言(不管是ASM还是HLSL.GLSL)的人来说,了解显卡中相应寄存器的功能和局限是必不可少的. 下面给出了PS 1.X中可用的寄存器的相关信息,希望能给大家带来帮助! 有 ...

  3. 如何在代码中让按钮高亮_如何在C代码中插入移位寄存器

    上期内容:AI Engine到底是什么? 众所周知,标准C或C++代码是没有HDL代码的并行性和时序性的,那么如何在C代码中插入寄存器呢?Vivado HLS提供了IP库,这些IP库使得HLS可直接从 ...

  4. Cortex-M3中的寄存器组

    文章目录 1 Cortex-M3中的寄存器组 1.1 寄存器组 1.2 MSP和PSP 1.3 Cortex-M3中的堆栈 1.4 程序状态寄存器 1.5 异常屏蔽寄存器 1 Cortex-M3中的寄 ...

  5. 汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)

    From:https://www.cnblogs.com/zimmerk/articles/2520011.html From:https://blog.csdn.net/bjbz_cxy/artic ...

  6. 【UVM实战】第七章:UVM中的寄存器模型(2)简单的寄存器模型

    文章目录 7.2.1.只有一个寄存器的寄存器模型 7.2.2.将寄存器模型集成到验证平台中 7.2.3.在验证平台中使用寄存器模型 7.2.1.只有一个寄存器的寄存器模型 本节为7.1.1节所示的DU ...

  7. 设定是否使用IOB中的寄存器

    1 IOB设置 对于设计顶层的端口会加一级寄存器,即外部数据经FPGA引脚后的第一级逻辑单元为寄存器,FPGA内部数据在输出时先过一级寄存器再到FPGA引脚.这列寄存器称为输入.输出端口寄存器.输入. ...

  8. 台达PLC中的寄存器如何进行高低位调换?

    台达PLC中的寄存器如何进行高低位调换? 本文以台达EH3系列PLC进行MODBUS RTU通讯为例,介绍台达PLC中的DTM指令和DXCH指令的具体使用方法. 我们先来看下官方给的MODBUS RT ...

  9. php5.3 register_globals,在PHP 5.3中PHP寄存器全局支持?(PHP register globals support in PHP 5.3?)...

    在PHP 5.3中PHP寄存器全局支持?(PHP register globals support in PHP 5.3?) 我一直在使用PHP 5.2并使用register_globals ON. ...

最新文章

  1. cuda安装教cudnn安装显卡问题
  2. 对话迈克尔·乔丹:太多人关注个体智能,而不关注体系
  3. xtrabackup全量备份+binlog基于时间点恢复
  4. nvcc fatal : Unsupported gpu architecture 'compute_11'
  5. 操作 实例 / dom
  6. linux下安装与部署redis
  7. Apache认证(目录)
  8. Telnet Sequence Diagram
  9. bl wn810a linux驱动下载,BL-LW06-AR/BL-WN810A无线网卡驱动for all【支持所有系统】
  10. SQL SERVER数据库日常使用总结
  11. cmd怎么查看当前静态路由_计算机cmd命令之route,查看路由表,或配置一个更有效的路由...
  12. 另一个伊甸国际服节奏榜(以下全为个人观点,仅供参考
  13. GoLang之使用uber-go/dig进行依赖注入
  14. Ubuntu用C/C++在终端打印不同颜色的字体
  15. NNabla:索尼开源的一款神经网络框架
  16. 《凸优化》7 学习笔记
  17. PBX与VoIP:它们之间有什么区别?
  18. JS导出excel插件总结
  19. 如何打理水果店,夏天水果店怎么打理
  20. 智商决定是否录用,情商决定是否晋升

热门文章

  1. UG CAM 开发获取工序导航器当前选择的操作、程序组、几何体、刀具方法,获得名字并修改名字
  2. A92怎么获取root,A92参数
  3. 使用numpy数组索引方法获取指定行列位置的数值内容
  4. idea修改背景颜色|护眼色|项目栏背景修改
  5. 美团外卖退款显示服务器异常,外卖遇到异常订单几种类型及处理技巧
  6. 单片机秒表c语言,单片机制作秒表计时器(c语言)
  7. poj2976 01分数规划
  8. 关闭子窗口父窗口刷新
  9. 文献阅读(2):王昊奋:大规模知识图谱技术
  10. ASP.NET MVC3 查询解决方案