ARM体系结构与编程第X版第X章
ARM 的存储系统架构,真是搞嵌入式的绕不过去的一关。你别看它名字听起来挺硬核,其实理解了底层的设计逻辑,思路还挺清晰的。像地址映射、内存管理这些,都是平时开发里老打交道的东西。
多层缓存、MMU、TLB这些技术的搭配,不光让内存访问效率提升了,还能做到访问控制和区域保护。比如你做个 IoT 设备,有些关键数据地址段就得锁死,不给随便访问,对吧?
CP15 协器是这里的大管家,16 个寄存器各管一摊,啥都不落下。你用MRC
、MCR
指令能直接操作这些寄存器,控制力还挺强的。要注意只能在系统模式下用,不然直接抛异常,开发时可得小心。
MMU的分页机制说起来也不复杂,它把虚拟地址映射到物理地址靠的是页表,页表基地址就保在CP15.C2
里。加上TLB这种缓存机制,查表效率提高了不少。更新页表时别忘清 TLB,不然就不生效。
还有一点比较实用的就是快速上下文切换。做多任务系统时,这招好用。切进程、恢复状态都快,响应也快,系统不卡顿。你做实时系统或 RTOS 的朋友,这部分内容真得重点看看。
如果你正在啃 ARM 相关的项目,尤其是搞嵌入式设备的存储系统设计,建议把这章通读一遍。真的,多细节平时容易忽略,一旦项目踩坑了才想起来,晚啦!
下载地址
用户评论