嵌入式系统优化技术详解
1. 嵌入式系统SPM分配策略
在嵌入式系统中,SPM(Scratch Pad Memory)的分配有多种方式,下面为你详细介绍:
- 混合分配方法 :将SPM划分为两个区域,一个是进程共享区域,另一个是进程独占分配区域。这两个区域的大小通过优化来确定。
- 动态内存管理 :在系统使用过程中应用程序集合可能发生变化的动态情况下,动态内存管理器是合适的选择。例如,有基于间接寻址的SPM管理器算法,该算法被集成到操作系统中,还允许将库元素迁移到SPM,尽管存在额外的间接寻址层,但能实现25% - 35%的能耗降低。
- 利用MMU的技术 :如果有内存管理单元(MMU),可以避免额外的间接寻址层。在编译时,将代码段分类为是否适合分配到SPM。适合的代码存储在虚拟地址空间的特定区域,初始时该区域未映射到物理内存,首次访问代码时会发生页面错误,页面错误处理会调用SPM管理器进行空间分配和释放,并更新虚拟到物理地址的转换表。不过,当前SPM的大小在页表中对应的条目较少,导致SPM分配粒度较粗。
2. SPM分配的不同维度
SPM分配还涉及架构和目标函数两个维度:
- 架构维度 :
- 混合系统 :存在同时包含缓存和SPM的混合系统,可在缓存冲突时选择性分配SPM空间以减少缓存缺失。
- 不同内存技术 :如闪存或其他非易失性RAM,对于闪存,负载均衡很重要,且可能存在多级内存。