3D堆叠内存芯片是通过3D封装技术,将多层DRAM堆叠而成的新型内存。3D堆叠内存芯片能提供很大的内存容量和内存带宽,其中混合内存立方体(hybridmemorycube)和高带宽内存(highbandwidthmemory)是两种新型的3D堆叠内存技术。利用3D堆叠内存,可以进行许多PIM设计,比如改变整个系统,或者实现简单的功能卸载,主要思想是将某种形式的处理逻辑(通常是加速器、简单内核或可重构逻辑)放在3D堆叠内存的逻辑层中。取决于体系结构的设计,这个PM处理逻辑(PIM核心或PIM引擎)可以执行应用程序的一部分(从单个指令到函数)或整个线程和应用程序。本节将讨论利用3D堆叠内存的PM在图处理、移动设备、图形处理单元上的使用。
Tesseract:图处理:
大规模图形处理是一个流行的现代应用。从社交网络到机器学习,从数据分析到生物信息学,图形处理具有广泛的适用性。然而图分析这类负载会给内存带宽带来巨大的压力,这是由于:(1)大量的随机内存访问跨越了大片内存区域,导致了非常有限的缓存效率和大量不必要的内存总线数据传输。(2)从内存中获取的每个数据项上分配的计算非常少,导致隐藏内存延迟的能力受限。而且在内存访问和计算之间存在巨大的能量差异,加剧了能耗瓶颈。这两个特性使得扩展这样的负载非常具有挑战性,尤其是在基于大型片上缓存和相对稀缺的片外随机访问内存带宽的传统架构下。
Tesseract是一种用于大规模图形处理的可编程PIM加速器。它利用三维堆叠存储器逻辑层的高带宽和潜在的计算能力来克服传统图形处理架构的限制。Tesseract包括:(1)一种新的硬件架构,通过在逻辑层中放置简单的顺序处理核心,使每个核心只能在分配给它控制的内存分区上操作数据,从而有效利用3D堆叠内存中的可用内存带宽;(2)一个顺序核之间的有效通信方法,使每个核心能够对另一个核心控制的内存数据发起计算请求;(3)一个基于消息传递的编程接口,类似于现代分布式系统编程,使用远程函数调用在数据所在内存分区内处理数据。Tesseract设计将函数发送到数据上,而不是跨不同的内存分区和核心移动数据元素。它还包括两个专门用于图形处理内存访问模式的硬件预取程序,预取程序基于Tesseract编程模型进行操作。经过使用五种最先进的图处理负载进行的综合评估,结果表明,与传统系统相比,TesseractPIM体系结构将平均系统性能提高了13.8倍,平均能耗降低了87%。
移动设备中的应用:
目前,智能手机、平板电脑和可穿戴设备无处不在。由于有限的电池容量和严格的热功率预算,能源效率成为消费类设备最