"让数据和计算更紧密地结合在一起"并不像听起来那么简单,但功耗/性能和延迟方面的好处可能是巨大的。
处理器的速度已经提高到不再是许多系统的性能瓶颈的程度,现在的瓶颈往往是数据访问。
移动数据既费时(latency)又费力(power),开发人员正在寻找减少数据移动距离的方法,这意味着使数据和内存更接近彼此。
许多计算密集型应用(如机器学习 (ML))的处理任务相对较简单,但对于数据的需求很频繁。
此时,数据移动成为应用的瓶颈。计算更小、更简单,因此将数据靠近计算是有意义的。解决此问题的几种方法涉及 SRAM、DRAM 和存储( storage),它们彼此之间有很大不同。
“内存memory”和“存储storage”之间的区别可能会令人困惑,对于从业相关技术的工程师而言,“内存”是仅指易于访问的工作内存 — DRAM 和 SRAM。
我们需要区分另外两个相似的术语:“near-memory computing” 和 “in-memory computing”。后者通常是指使用模拟方法在 memory中实现乘法累加 (MAC) 功能的手段。这不是本次讨论的主题,本次讨论的主题是将是使计算能力和数据更紧密地结合在一起。
有两种方法可以使这些资源更接近 - 将数据移近处理器或将处理移近数据。这些架构在high level上是相似的。因此,如果是数据靠近处理器,则拥有具有本地内存的处理器。如果是处理器在移动,那么就是可以存储大量数据,并且附近具有适度