第一期_内存管理单元MMU

1.了解虚拟地址和物理地址的关系

2.掌握如何控制MMU来控制虚拟地址到物理地址的转化

3.了解MMU内存方位权限

4.了解TLB、Cache、Write buffer的原理,使用时的注意事项

在2440芯片里面除了CPU之外, Instruction MMU 指令MMU;

Data MMU 数据MMU;

InstructionC ACHE(16KB) 指令cache;

Data CACHE (16KB) 数据cache

全都通过CP15协处理器来进行操作这些

协处理器的含义作用 coprocessor协助主处理器做某些事情, 比如在ARM系统中有cp0 – cp15一共16个协处理器,其中cp15负责管理mmu icache

 1 int sum()
 2 {
 3     int I;
 4     int sum = 0;
 5     for(I = 0; I <= 100; I++ )
 6         {
 7             sum += I;
 8         }
 9     return sum;
10 }

1 不断的读写地址A和B

2 不断的执行for循环里面代码

2.1 取指令

2.2 执行指令

问SDRAM非常慢,那么怎么提高程序执行效率? 先引入一个感念,程序局部性原理

  • 时间局部性:在同一段时间里,有极大的概率访问同一地址的指令或数据
  • 空间局部性: 有极大概率访问到相邻空间的指令/数据

我们在一个比较慢的SDRAM上能不能在CPU上开一个高速缓存,把这些指令放进高速缓存icache

指令cache只有16KB 数据cache也只有16KB 而我们的SDRAM有64MB空间,显然不可能存储SDRAM中所有的内容,它只能存储一部分

cache的示意图

以数据开始为例

  • 1 程序要读地址A的数据
ldr r0, [A的数据]

猜你喜欢

转载自www.cnblogs.com/yekongdebeijixing/p/10491326.html