linux学习(八) 操作icache

声明及感谢,此文章为参照朱有鹏老师的linux课程总结的。 在此表示感谢!
首先来说cache是一种内存, 叫高速缓存。

从容量来说: CPU < 寄存器 < cache < DDR
从速度来说: CPU > 寄存器 > cache > DDR

cache的存在是因为 它的速度比寄存器慢, 但是比DDR的块, CPU在运行时, 在于DDR进行交互时,由于DDR的速度远远比不上CPU的速度, 因此DDR的速度就会把CPU的速度给拉低. 因此就需要cache 来进行缓冲, 他们之间有了cache 帮助进行交互, 就会使得CPU的性能上能够很好的发挥,

icache 是内部的高速缓存.

咱们程序员对icache 操作最多就是开启与关闭, 至于cpu 与 icache 及与DDR的数据或者指令交互,都是CPU自己内部完成的.

在x210汇编代码中 对cp15(协处理器)操作进行开关icache

	mrc p15,0,r0,c1,c0,0;			// 读出cp15的c1到r0中
//	bic r0, r0, #(1<<12)			// bit12 置0  关icache
	orr r0, r0, #(1<<12)			// bit12 置1  开icache
	mcr p15,0,r0,c1,c0,0;

看了 https://blog.csdn.net/fulinus/article/details/8296853
作者是 fulinux 现在这里表示感谢,

对上面代码重新分析,
感觉应该是 请求p15协处理器 读取 c1的值到 r0中
随之修改r0中的值,
最后再通过协处理器将 修改后的r0的值写入到c1中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值