CP15 中的寄存器
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 中的寄存器相关推荐
- ARM处理器中CP15协处理器的寄存器1376698090
本章和第5章的内容都与ARM处理器中CP15协处理器的寄存器有密切关系,所以我们这里先介绍一下CP15寄存器以及访问CP15寄存器的汇编指令. 4.1.1 访问CP15寄存器的指令 访问CP15寄存 ...
- PS 1.x 中的寄存器
译注:对于一个想学好着色器语言(不管是ASM还是HLSL.GLSL)的人来说,了解显卡中相应寄存器的功能和局限是必不可少的. 下面给出了PS 1.X中可用的寄存器的相关信息,希望能给大家带来帮助! 有 ...
- 如何在代码中让按钮高亮_如何在C代码中插入移位寄存器
上期内容:AI Engine到底是什么? 众所周知,标准C或C++代码是没有HDL代码的并行性和时序性的,那么如何在C代码中插入寄存器呢?Vivado HLS提供了IP库,这些IP库使得HLS可直接从 ...
- Cortex-M3中的寄存器组
文章目录 1 Cortex-M3中的寄存器组 1.1 寄存器组 1.2 MSP和PSP 1.3 Cortex-M3中的堆栈 1.4 程序状态寄存器 1.5 异常屏蔽寄存器 1 Cortex-M3中的寄 ...
- 汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)
From:https://www.cnblogs.com/zimmerk/articles/2520011.html From:https://blog.csdn.net/bjbz_cxy/artic ...
- 【UVM实战】第七章:UVM中的寄存器模型(2)简单的寄存器模型
文章目录 7.2.1.只有一个寄存器的寄存器模型 7.2.2.将寄存器模型集成到验证平台中 7.2.3.在验证平台中使用寄存器模型 7.2.1.只有一个寄存器的寄存器模型 本节为7.1.1节所示的DU ...
- 设定是否使用IOB中的寄存器
1 IOB设置 对于设计顶层的端口会加一级寄存器,即外部数据经FPGA引脚后的第一级逻辑单元为寄存器,FPGA内部数据在输出时先过一级寄存器再到FPGA引脚.这列寄存器称为输入.输出端口寄存器.输入. ...
- 台达PLC中的寄存器如何进行高低位调换?
台达PLC中的寄存器如何进行高低位调换? 本文以台达EH3系列PLC进行MODBUS RTU通讯为例,介绍台达PLC中的DTM指令和DXCH指令的具体使用方法. 我们先来看下官方给的MODBUS RT ...
- 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. ...
最新文章
- cuda安装教cudnn安装显卡问题
- 对话迈克尔·乔丹:太多人关注个体智能,而不关注体系
- xtrabackup全量备份+binlog基于时间点恢复
- nvcc fatal : Unsupported gpu architecture 'compute_11'
- 操作 实例 / dom
- linux下安装与部署redis
- Apache认证(目录)
- Telnet Sequence Diagram
- bl wn810a linux驱动下载,BL-LW06-AR/BL-WN810A无线网卡驱动for all【支持所有系统】
- SQL SERVER数据库日常使用总结
- cmd怎么查看当前静态路由_计算机cmd命令之route,查看路由表,或配置一个更有效的路由...
- 另一个伊甸国际服节奏榜(以下全为个人观点,仅供参考
- GoLang之使用uber-go/dig进行依赖注入
- Ubuntu用C/C++在终端打印不同颜色的字体
- NNabla:索尼开源的一款神经网络框架
- 《凸优化》7 学习笔记
- PBX与VoIP:它们之间有什么区别?
- JS导出excel插件总结
- 如何打理水果店,夏天水果店怎么打理
- 智商决定是否录用,情商决定是否晋升