Chinaunix首页 | 论坛 | 博客
  • 博客访问: 812945
  • 博文数量: 296
  • 博客积分: 5376
  • 博客等级: 大校
  • 技术积分: 2298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 19:02
文章分类

全部博文(296)

文章存档

2023年(2)

2020年(2)

2018年(2)

2017年(26)

2016年(4)

2015年(19)

2014年(12)

2013年(26)

2012年(84)

2011年(50)

2010年(41)

2009年(28)

分类: 嵌入式

2014-06-23 10:59:29

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

          MCR P15, 0, , , ,

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

      ----------------------------------------------------------------------------------
                      含义                                   数据
      ----------------------------------------------------------------------------------
      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, , , ,

    其中 中为将写入 C8中的数据; , 的不同组合决定指令执行不同的操作
    
      ----------------------------------------------------------------------------------
      指令                                     含义
      ----------------------------------------------------------------------------------
      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 中单个地址变换条目无效

http://blog.csdn.net/liuchao1986105/article/details/6575736

阅读(1046) | 评论(0) | 转发(0) |
0

上一篇:u-boot中bss段的使用

下一篇:extern "C"

给主人留下些什么吧!~~