晨光
暗夜
晨光
极光
Bilingual Paper Reading · 中英对照精读

存内计算(Processing in Memory)现代入门指南

准大一 · 集成电路设计与集成系统 × 存储与计算架构 × 芯片 —— 存内计算 PIM 精读材料
原文:arXiv:2012.03112 2020年12月5日发布 arXiv 预印本(cs.AR / cs.DC) 存内计算 × 计算与存储融合 × 范式转变 附英文摘要朗读音频

一、论文档案

英文标题A Modern Primer on Processing in Memory
中文标题存内计算(Processing in Memory)现代入门指南
作者奥努尔·穆特卢, 绍加塔·戈塞, 胡安·戈麦斯-卢纳, 拉差塔·奥萨瓦龙尼伦, 穆罕默德·萨德罗萨达蒂, 热拉尔多·F·奥利维拉(机构未在素材中标注)
发布时间2020年12月5日(v1)|分类:cs.AR(硬件架构)、cs.DC(分布式、并行与集群计算)
一句话概括这篇「现代入门指南」系统梳理了存内计算(PIM):把计算搬进/搬到数据所在的存储器里,消灭「搬数据」的巨大开销;并对比两条技术路线——用存储器计算(PUM)近存储器计算(PNM),指出最大的采用障碍是「从处理器中心到内存中心」的思维范式转变
💡 为什么选这篇给你:① 作者是苏黎世联邦理工(ETH)的 Onur Mutlu 团队——存储与内存计算领域的世界级权威,这篇是入门该方向的「教科书级综述」;② 概念门槛低——「把计算放到数据旁边」一句话就能听懂,但它解释清楚了为什么现代芯片越做越「搬不动数据」(62% 系统能耗花在搬数据上);③ PUM 与 PNM 两条路线、器件到应用的跨层挑战,正好是集成电路专业「器件—电路—架构—系统」全链条视角的绝佳示范。

二、核心术语表(先扫一遍再读正文)

英文术语中文大白话解释
processing-in-memory (PIM)存内计算把计算机制放到数据存储的地方(存储器芯片里、旁边、控制器里),减少或消除「搬数据」。
processing-using-memory (PUM)用存储器计算利用存储器芯片自身的模拟工作原理,在存储阵列里原位完成大规模并行运算。
processing-near-memory (PNM)近存储器计算用逻辑与存储的集成技术(如 3D 堆叠)把计算逻辑放在存储电路附近,靠近数据算。
DRAM动态随机存取存储器主内存最主流的实现技术,靠电容充放电存 0/1,需要周期性刷新。
data movement数据搬运数据在处理器与内存之间来回传输的开销——本文认为它是现代系统最大的性能与能耗瓶颈。
memory channel内存通道内存控制器与 DRAM 模块之间的片外总线,相对又慢又耗电。
memory controller内存控制器负责向 DRAM 模块发读写命令的部件,是 CPU 与内存之间的「交通警察」。
processor-centric design处理器中心设计传统范式:只有 CPU(和加速器)会算,内存只是不会算的「仓库」。
memory-centric / data-centric design内存中心 / 数据中心设计新范式:计算发生在数据所在或数据产生的地方,尽量少搬数据。
3D-stacked memory3D 堆叠存储器把存储层与逻辑层垂直堆叠封装的技术,逻辑层可以紧贴存储层做计算。
bulk-bitwise operations批量位运算在存储阵列里对整行/整块数据一次性完成的与、或、非等位运算。
in-situ operation原位运算直接在存储阵列内部完成、数据不搬出内存的运算方式。
cross-layer challenges跨层挑战横跨器件、架构、系统、编译器、编程模型、应用等多个层次的难题。
memory-intensive application内存密集型应用数据量大、计算相对轻、主要开销花在搬数据上的应用(如大数据分析、图计算)。

三、摘要中英对照(精读核心)

🎧 音频在文末,可先听一遍原文再读;每个英文句都配了逐句翻译。

摘要 Abstract

EN · 原文
This paper discusses recent research that aims to enable computation close to data, an approach we broadly call processing-in-memory (PIM).
CN · 翻译
本文讨论近期旨在实现「在数据附近做计算」的研究,我们把它统称为存内计算(PIM)
EN · 原文
PIM places computation mechanisms in or near where the data is stored (i.e., inside memory chips or modules, in the logic layer of 3D-stacked memory, in the memory controllers, in storage devices or chips), so that data movement between the computation units and memory/storage units is reduced or eliminated.
CN · 翻译
PIM 把计算机制放在数据存储的位置或附近(例如存储芯片/模块内部、3D 堆叠存储的逻辑层、内存控制器、存储设备或芯片),从而减少或消除计算单元与存储单元之间的数据搬运
EN · 原文
While the general idea of PIM is not new, we discuss motivating trends in applications as well as memory circuits and technology that greatly exacerbate the need for enabling it in modern computing systems.
CN · 翻译
虽然 PIM 的总体想法并不新鲜,但我们讨论了应用趋势以及存储电路与技术中那些大大加剧「在当代计算系统中启用 PIM」必要性的动向。
EN · 原文
We examine at least two promising new approaches to designing PIM systems to accelerate important data-intensive applications: (1) processing-using-memory, which exploits fundamental analog operational principles of memory chips to perform massively-parallel operations in-situ in memory, (2) processing-near-memory, which exploits different logic and memory integration technologies (e.g., 3D-stacked memory technology) to place computation logic close to memory circuitry, and thereby enable high-bandwidth, low-energy, and low-latency access to data.
CN · 翻译
我们考察了至少两种有前景的 PIM 系统设计新路线:(1) 用存储器计算(PUM)——利用存储芯片基本的模拟工作原理,在存储器内原位执行大规模并行运算;(2) 近存储器计算(PNM)——利用不同的逻辑与存储集成技术(如 3D 堆叠存储),把计算逻辑放到存储电路附近,从而获得高带宽、低能耗、低延迟的数据访问。
EN · 原文
In both approaches, we describe and tackle relevant cross-layer research, design, and adoption challenges in devices, architecture, systems, compilers, programming models, and applications.
CN · 翻译
对这两种路线,我们都描述了并着手解决器件、架构、系统、编译器、编程模型与应用等层面的跨层研究、设计与采用挑战。
EN · 原文
Our focus is on the development of PIM designs that can be adopted in real computing platforms at low cost. We conclude by discussing work on solving key challenges to the practical adoption of PIM.
CN · 翻译
我们的重点在于开发能以低成本在真实计算平台上采用的 PIM 设计。最后我们讨论了解决 PIM 实际采用中关键挑战的相关工作。
EN · 原文
We believe that the shift from a processor-centric to a memory-centric mindset (and infrastructure) remains the largest adoption challenge for PIM, which, once overcome, can unleash a fundamentally energy-efficient, high-performance, and sustainable new way of designing, using, and programming computing systems.
CN · 翻译
我们认为,从「处理器中心」到「内存中心」的思维(与基础设施)转变仍是 PIM 最大的采用挑战;一旦克服,就能释放一种本质上更节能、更高性能、更可持续的设计、使用与编程计算系统的新方式。

关键词 Keywords:Processing-In-Memory 存内计算 | Processing-Using-Memory 用存储器计算 | Processing-Near-Memory 近存储器计算 | Data Movement 数据搬运 | Memory-Centric Design 内存中心设计

四、引言精选(为什么这个问题重要)

① 主内存成为越来越严重的瓶颈

EN · 原文
Main memory, prominently built using the dynamic random access memory (DRAM) technology, is a major component in nearly all computing systems, including servers, cloud platforms, mobile/embedded devices, and sensor systems. Across all of these systems, the data working set sizes of modern applications are rapidly growing, while the need for fast analysis of such data is increasing. Thus, main memory is becoming an increasingly significant bottleneck across a wide variety of computing systems and application domains (including machine learning, databases, graph analytics, genome analysis, high-performance computing, security, data manipulation, and a wide variety of mobile and server-class workloads).
CN · 翻译
主内存(主要由DRAM 技术构建)几乎是所有计算系统——服务器、云平台、移动/嵌入式设备、传感器系统——中的关键组件。在所有这类系统中,现代应用的数据工作集规模快速膨胀,快速分析这些数据的需求也在增长。因此,主内存在广泛的计算系统和应用领域(机器学习、数据库、图分析、基因组分析、高性能计算、安全、数据处理以及各类移动与服务器负载)中,正成为越来越严重的瓶颈

② 瓶颈的根源:数据搬运的高能耗与长延迟

EN · 原文
A major reason for the main memory bottleneck is the high energy and latency cost associated with data movement. In modern computers, to perform any operation on data that resides in main memory, the processor must retrieve the data from main memory. This requires the memory controller to issue commands to a DRAM module across a relatively slow and power-hungry off-chip bus (known as the memory channel). The DRAM module sends the requested data across the memory channel, after which the data is placed in the caches and registers. The CPU can perform computation on the data once the data is in its registers. Data movement from the DRAM to the CPU incurs long latency and consumes a significant amount of energy. These costs are often exacerbated by the fact that much of the data brought into the caches is not reused by the CPU or accelerators, providing little benefit in return for the high latency and energy cost.
CN · 翻译
主内存瓶颈的一个主要原因,是数据搬运带来的高能耗与长延迟。在现代计算机中,要对主内存里的数据做任何操作,处理器都必须先把数据取回来:内存控制器要经由一条相对又慢又耗电的片外总线(即内存通道)向 DRAM 模块发命令;DRAM 模块把数据送回内存通道,再进入缓存和寄存器;数据到了寄存器里,CPU 才能开始计算。DRAM 到 CPU 的数据搬运延迟长、能耗大;而且很多被搬进缓存的数据并不会被 CPU 或加速器复用,白白付出了高延迟与高能耗,却几乎没换来好处。

③ 处理器中心范式:数字有多夸张

EN · 原文
The cost of data movement is a fundamental issue with the processor-centric nature of contemporary computer systems. The CPU is considered to be the master in the system, and computation is performed only in the processor (and accelerators). In contrast, data storage and communication units, including the main memory, are treated as unintelligent workers that are incapable of computation. As a result of this processor-centric design paradigm, data moves a lot in the system (back and forth between the computation units and communication/storage units) so that computation can be done on it. With the increasingly data-centric nature of contemporary and emerging applications, the processor-centric design paradigm leads to great inefficiency in performance, energy, and cost. For example, most of the real estate within a single compute node is already dedicated to handling data movement and storage (e.g., large caches, memory controllers, interconnects, communication interfaces and associated circuitry, main memory), and our recent works show that (1) more than 62% of the entire system energy of a mobile device is spent on data movement between the processor and the memory hierarchy for widely-used mobile workloads; (2) more than 90% of the entire system energy is spent on memory when executing large commercial edge neural network models on modern edge machine learning accelerators.
CN · 翻译
数据搬运的代价,是当代计算系统「处理器中心」本质的根本问题:CPU 被视为系统的主宰,计算只发生在处理器(和加速器)里;而主内存等存储与通信单元被当作不会算数的「笨工人」。在这种范式下,数据在系统里来回奔波,好让计算得以进行;而随着应用越来越「数据中心化」,这种范式在性能、能耗与成本上造成巨大浪费。例如,单个计算节点内的大部分「地皮」已经被数据搬运与存储相关部件(大缓存、内存控制器、互连、通信接口及配套电路、主内存)占据;我们近期的工作还表明:(1) 移动设备超过 62% 的系统总能耗花在处理器与内存层级之间的数据搬运上;(2) 在现代边缘机器学习加速器上运行大型商用边缘神经网络模型时,超过 90% 的系统总能耗花在内存上。

④ 旧想法的新生:PIM 把计算放进存储器

EN · 原文
The large overhead of data movement in modern systems along with technology advances that enable better integration of memory and logic have recently prompted the re-examination of an old idea that we will broadly call PIM. The key idea is to place computation mechanisms in or near where the data is stored (i.e., inside the memory chips, in the logic layer of 3D-stacked memory, in the memory controllers, inside large caches, inside storage units or inside sensing units), so that data movement between where the computation is done and where the data is stored is reduced or eliminated, compared to contemporary processor-centric systems.
CN · 翻译
现代系统中巨大的数据搬运开销,加上让「内存与逻辑更好集成」的技术进步,促使人们重新审视一个老想法——我们统称为 PIM。其核心思想是:把计算机制放在数据存储的位置或附近(存储芯片内部、3D 堆叠存储的逻辑层、内存控制器、大缓存内部、存储单元或传感单元内部),从而与当代处理器中心系统相比,减少或消除「算的地方」与「存的地方」之间的数据搬运。
💡 这是全文最有味道的一段“more than 62% of the entire system energy of a mobile device is spent on data movement between the processor and the memory hierarchy”——手机里一大半的电量花在「把数据搬来搬去」而不是「计算」上。看到这个数字,你就能理解为什么整个芯片行业都在押注存内计算。

五、论文贡献(3 个要点)

EN · 原文
1. Processing-using-memory (PUM). We examine a promising new approach to designing PIM systems to accelerate important data-intensive applications: processing-using-memory, which exploits fundamental analog operational principles of memory chips to perform massively-parallel operations in-situ in memory.
CN · 翻译
1. 用存储器计算(PUM)。考察一条有前景的 PIM 设计路线:利用存储芯片基本的模拟工作原理,在存储器内原位执行大规模并行运算——不动数据、只动电压,一整个阵列同时算。
EN · 原文
2. Processing-near-memory (PNM). We examine another promising new approach: processing-near-memory, which exploits different logic and memory integration technologies (e.g., 3D-stacked memory technology) to place computation logic close to memory circuitry, and thereby enable high-bandwidth, low-energy, and low-latency access to data.
CN · 翻译
2. 近存储器计算(PNM)。考察另一条有前景的路线:借助逻辑与存储集成技术(如 3D 堆叠存储),把计算逻辑放到存储电路旁边,实现高带宽、低能耗、低延迟的数据访问。
EN · 原文
3. Cross-layer challenges and low-cost adoption. In both approaches, we describe and tackle relevant cross-layer research, design, and adoption challenges in devices, architecture, systems, compilers, programming models, and applications. Our focus is on the development of PIM designs that can be adopted in real computing platforms at low cost.
CN · 翻译
3. 跨层挑战与低成本采用。对两条路线,都梳理并攻克器件、架构、系统、编译器、编程模型与应用的跨层挑战;聚焦于能在真实计算平台上低成本落地的 PIM 设计——不是纸上谈兵,而是能流片、能商用的设计。

六、结论中英对照

EN · 原文
Data movement is a major performance and energy bottleneck plaguing modern computing systems. A large fraction of system energy is spent on moving data across the memory hierarchy into the processors (and accelerators), the only place where computation is performed in a modern system. Fundamentally, the large amounts of data movement are caused by the processor-centric design paradigm of modern computing systems: processing of data is performed only in the processors (and accelerators), which are far away from the data, and as a result, data moves a lot in the system, to facilitate computation on it.
CN · 翻译
数据搬运是困扰现代计算系统的头号性能与能耗瓶颈。系统能耗的很大一部分,花在把数据穿过存储层级搬进处理器(和加速器)——现代系统中唯一能算的地方。究其根本,海量数据搬运源于现代计算系统的处理器中心范式:只有离数据很远的处理器(和加速器)能算,于是数据只能满系统奔波。
EN · 原文
In this work, we argue for a fundamental paradigm shift in the design of computing systems: a data-centric design paradigm that enables computation capability in places where data resides or is generated and thus performs computation with minimal data movement. Processing-In-Memory (PIM) is a fundamentally data-centric design approach for computing systems that enables the ability to perform operations in or near memory structures.
CN · 翻译
本文主张计算系统设计的一次根本性范式转变:采用数据中心化设计范式——在数据所在或数据产生之处赋予计算能力,以最少的数据搬运完成计算。存内计算(PIM)正是这样一种本质上数据中心化的系统设计路线,它让运算可以在存储结构之内或附近完成。
EN · 原文
We firmly believe that it is time to design principled system architectures to solve the data movement problem of modern computing systems, which is caused by the rigid dichotomy and imbalance between the computing unit (CPUs and accelerators) and the memory/storage unit. Fundamentally solving the data movement problem requires a paradigm shift to a more data-centric computing system design, where computation happens where data resides or where data is generated (i.e., in or near memory/storage and sensors), with minimal movement of data.
CN · 翻译
我们坚信,现在是时候设计有原理可循的系统架构来解决现代计算系统的数据搬运问题了——这个问题源于计算单元(CPU 与加速器)与存储单元之间僵硬的二分与失衡。从根本上解决数据搬运,需要转向更「数据中心化」的系统设计:计算发生在数据所在或数据产生之处(即内存/存储与传感器之内或附近),把数据搬运降到最低。

七、编者解读:这篇论文到底讲了什么(大白话版)

  1. 问题:现代芯片的算力涨得快,但「把数据从内存搬进 CPU」的速度和功耗跟不上。手机里超过 62% 的电量、边缘 AI 芯片里超过 90% 的能耗都花在「搬数据」而不是「算数据」上——这就是所谓「内存墙」「功耗墙」。
  2. 做法:与其把数据搬给计算,不如把计算搬给数据。PIM 有两条路线——PUM 是「借力打力」:利用 DRAM 等存储芯片本身的物理工作原理,让整个存储阵列一次性完成位运算(像黑板整排同时擦字);PNM 是「贴身服务」:用 3D 堆叠等工艺把计算逻辑做到存储芯片旁边,路近了,搬运自然又快又省。
  3. 结果:这不是一篇「我们做出了什么芯片」的实验论文,而是一篇「这个领域现状如何、路该怎么走」的权威综述:梳理了两条路线的代表性工作、跨层(器件→架构→系统→编译器→编程模型→应用)挑战,以及让 PIM 低成本落地的途径。
  4. 最值钱的观点:PIM 最大的障碍不是技术,而是「思维范式」——从「CPU 是主人、内存是仓库」切换到「数据在哪里,计算就在哪里」。作者说这是一次 computing system 设计的 paradigm shift(范式转变),一旦完成,会带来根本性节能、高性能、可持续的新计算方式。
  5. 工程意义:对集成电路专业来说,PIM 是「器件—电路—架构」协同设计的典型战场:DRAM 工艺的微小改动(PUM)、逻辑与存储的 3D 集成工艺(PNM)、存内运算单元与编译器/编程模型——每个环节都是芯片工程师的机会点。
🎯 对保研的启示:这篇论文示范了「综述型研究」的写法——不堆砌结果,而是给出清晰的问题定义(数据搬运)、分类框架(PUM/PNM)、挑战清单(跨层)与判断(范式转变)。复试时能像这样「把一个大方向讲成一棵有根有枝的树」,比背十个模型名更有说服力。

八、给准大一的阅读路线图 & 延伸方向

📖 怎么读这篇论文(三遍法)

  1. 第一遍(10 分钟):只读摘要和术语表,回答三个问题——数据搬运为什么贵?PUM 和 PNM 各是什么?PIM 最大挑战是什么?
  2. 第二遍(20 分钟):读引言精选 + 结论,重点体会「62% / 90% 能耗」这两个数字背后的逻辑,以及「范式转变」这句话的分量。
  3. 第三遍(30 分钟):回到原文(arXiv HTML 版)看 PUM 与 PNM 两章的文字描述,跳过所有公式和电路图细节,只理解「每条路线在哪一层动手、解决了什么、代价是什么」。

🚀 这个方向你能延伸做什么

九、英文摘要朗读(练听力用)

先盲听一遍→再看对照稿→再听一遍。目标是听出每个数字(62%、90%)和术语(processing-using-memory、processing-near-memory、data movement、paradigm shift)。