SDRAM-能源感知内存分配在多处理器平台上的应用
1. 引言
在不久的将来,硅市场的增长将主要由低成本、便携式消费电子产品推动,这些产品集成了多媒体和无线技术。运行在这些设备上的应用程序需要在低能量消耗(0.1-2W)下实现巨大的计算性能(1-40GOPS)。异构多处理器平台可能提供了足够的计算性能。然而,为了获得足够低的能量消耗,能源感知的内存管理技术是不可或缺的。本文聚焦于作为平台主内存使用的大型片外多存储库内存(例如SDRAM)的能量消耗。它们对系统的能量消耗贡献显著。它们的能量消耗在很大程度上取决于数据如何分配到内存库。由于用户与系统的互动,需要分配哪些数据只能在运行时知道。因此,之前在编译器和系统综合中提出的完全基于设计时的解决方案无法解决问题。如今操作系统中存在的运行时内存管理解决方案在成本优化(特别是能量消耗)方面效率太低。我们提出了两种SDRAM能源感知动态多任务应用程序的内存分配器。两种分配器都比迄今为止已知的最佳方法降低了能量消耗。
2. 平台和同步动态随机存取存储器能量模型
在我们的平台上,每个处理器都连接到一个本地内存,并与共享的片外同步动态随机存取存储器模块进行交互。SDRAMs存在于平台上,因为它们存储大型数据结构的每比特能量成本低于SRAMs。它们被用来存储大型不经常访问的数据结构。因此,它们可以在处理器之间共享,以减少静态能量成本,而不会带来大的性能损失。
图24-1展示了一个典型的多存储库同步动态随机存取存储器(SDRAM)架构的简化视图。在SDRAM中获取或存储数据涉及三种内存操作。一个激活操作选择适当的存储库,并将一个页面/行移动到相应存储库的页面缓冲区。当一个页面打开后,一个读/写操作将数据移动到/来自SDRAM的