MMU与MPU的区别
MMU,存储器管理单元,用于实现虚拟内存和内存的分区保护,这是应用处理器与嵌入式处理器的分水岭。电脑和数码产品所使用的处理器几乎清一色地都带MMU。 但是MMU也引入了不确定性,这有时是嵌入式领域——尤其是实时系统不可接受的。然而对于安全关键safety-critical)的嵌入式系统, 还是不能没有内存的分区保护的。为解决矛盾, 于是就有了MPU。 可以把MPU认为是MMU的功能子集,它只支持分区保护,不支持具有“定位决定性”的虚拟内存机制。
FIQ和IRQ的区别
FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式。
FIQ为什么比IRQ反应快?
- FIQ比IRQ的优先级高。多个中断产生时,CPU优先处理FIQ中断,处理FIQ时禁止IRQ,IRQ将不会被响应直到FIQ被处理完。
- FIQ提供了更多的banked寄存器(5个寄存器,R8-R12)。FIQ模式不需要保存恢复寄存器,而IRQ需要通过压栈出栈来保存回复。