内存是SoC(System on Chip,片上系统)集成设计的重要模块,是SoC中成本比重较大的部分。内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必须要在成本和效率中取得平衡,做到在节省内存的同时保证整个系统的性能。系统内存需求评估是对嵌入式软件架构师的最基本要求,同时也是其最重要的技能之一。一般在SoC项目立项的时候,架构师就要完成系统内存需求评估。
下面以一个多媒体电子解决方案中的SoC设计为原型,说明大致的评估流程:
1. 根据产品规格,对各个应用场景进行功能和性能分解
产品规格一般会描述应用功能场景和性能。架构师要对各个场景进行功能和性能分解,分析各个场景在内存使用上的关系。包括:
1)列出所有的应用场景,明确各个应用的生命周期,在什么时候开始,什么时候结束。
2)系统是否要同时支持多个应用(多进程),例如听歌曲的时候要浏览图片,这意味中两个应用是同时利用内存,不能进行应用内存分时复用;
3)系统是否要同时支持多种介质,例如同时访问卡设备和闪存设备,一般在单进程时都只是访问单种存储设备,除非是实现数据复制,但在多进程的时候,不同的进程访问不同的存储设备也很正常,同时访问不同的存储设备意味着两种驱动是同时使用内存。
4)系统是否要同时支持多种文件系统。不同的存储设备可能部署不同的文件系统,其同样存在2)中的问题。
5)明确系统支持的编解码格式,其表现为算法内存需求。不