ARM存储体系
处理器内部处理器:速度快,数量少
紧耦合存储器:速度慢,容量大(例:210的512MB的主存储器)
辅助存储器:速度更慢,容量大。
虚拟地址的作用:1、解决了地址冲突
虚拟地址到物理地址是通过MMU来转化的。
ARM11之前 Cach在MMU之前。
在ARM11(包括ARM11)Cach在MMU之后
不管Cach在MMU之前还是之后,都不影响MMU的作用。
Cach存储的是主存储器的数据拷贝。
Cach的类型有I-Cach(instruction cach)指令Cach
2440 : 16K的I/D Cach
6410 : 16K的I/D Cach
210 : 32K的I/D Cach
问题:MMU这么好,为什么要关闭呢?
问题:为什么可以不用关闭I-CAch,而必须关闭D-Cach?
ARM11和210的CP15寄存器基本是一样的,操作也一样,所以代码可以互用。
和MMU。Cach有关系的寄存器
.text
.global _start
_start:
_undefine_instruction: .word undefine_instruction
_software_interrrupt: .word software_interrrupt
_prefetch_aport: .word prefetch_aport
_data_abort:.word data_abort
_not_use: .word not_use
_irq: .word irq
_fiq: .word fiq
undefine_instruction:
software_interrrupt:
prefetch_aport:
data_abort:
not_use:
irq:
fiq:
rest:
set_svc:
#define pWTCON 0xE2700000
disable_watchdog:
disable_interrupt:
disable_mmu: