SDRAM 能量感知的多处理器平台动态多媒体应用内存分配
1. 引言
在不久的将来,低成本、便携式的消费设备将推动硅市场的发展,这些设备集成了多媒体和无线技术。运行在这些设备上的应用程序需要在低能耗(0.1 - 2W)的情况下实现巨大的计算性能(1 - 40GOPS)。异构多处理器平台有可能提供足够的计算性能,但要实现足够低的能耗,能量感知的内存管理技术必不可少。本文聚焦于平台上用作主内存的大型片外多存储体内存(如 SDRAM)的能耗,其能耗在很大程度上取决于数据如何分配到存储体中。由于用户与系统的交互,哪些数据需要分配只能在运行时确定,因此之前编译器和系统综合中基于设计时的解决方案无法解决该问题,而现有的操作系统运行时内存管理解决方案在成本优化(尤其是能耗)方面效率低下。本文提出了两种用于动态多任务应用的 SDRAM 能量感知内存分配器,与目前已知的最佳方法相比,这两种分配器都能降低能耗。
2. 平台和 SDRAM 能量模型
在本文的平台中,每个处理器都连接到一个本地内存,并与共享的片外 SDRAM 模块进行交互。SDRAM 存在于平台上是因为存储大型数据结构时,其每比特的能量成本低于 SRAM,它们用于存储大型且不常访问的数据结构,因此可以在处理器之间共享,以降低静态能量成本,且不会造成太大的性能损失。
典型的多存储体 SDRAM 架构的简化视图如下:在 SDRAM 中获取或存储数据涉及三个内存操作。激活操作选择适当的存储体,并将一个页面/行移动到相应存储体的页面缓冲区。页面打开后,读写操作将数据移动到 SDRAM 的输出引脚或从输出引脚读取数据,同一时间只有一个存储体可以使用输出引脚。当下一次读写访问命中同一页面时(页面命中),内存控制器不需要再次激