标签:lock 情况下 使用 多次 理解 读取 需要 内存 ica
title: Cache
tags: ARM
date: 2018-11-04 12:52:02
---
Cache实际上也是一块存储空间,最大的优点就是速度快.CPU和SDRAM通信速度慢,取指令,读写数据都需要等待,所以中间出现了一个Cache用来解决这个问题.计算机一般有多级Cache, 查看下自己的电脑如下:
关于速度的对比,寄存器>1级缓存>n级缓存>sdram
参考文档 https://blog.csdn.net/qq_21125183/article/details/80590934
程序具有局部性的特性,cache就是利用这种局部多次访问的特性,将指令或者数据暂存一份到Cache中,下次访问速度上就会提高很多.
当使用Cache的时候,CPU假设需要读取A的内容,实际上回缓存大于A地址的内容,会缓存A到Cache Line
大小的内容到Cache中.Cache Line可以简单的理解为CPU Cache中的最小缓存单位。2440中这个单位是32字节.
2440中cache与写缓冲器(write buffer) 一同工作,凡是从Cache中向内存中写数据,都需要经过写缓冲器..有以下几种组合:
指令cache是可以在不开mmu的情况下打开,修改协处理器即可
enable_icache:
/* 设置协处理器使能icache */
mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #(1<<12) /* r0 = r0 or (1<<12) */
mcr p15, 0, r0, c1, c0, 0 //吧修改好的r0写给cp15的c1寄存器
mov pc, lr
标签:lock 情况下 使用 多次 理解 读取 需要 内存 ica
原文地址:https://www.cnblogs.com/zongzi10010/p/10023644.html