Processing Using Memory
University of Illinois at Urbana-Champaign
The evolution of processing in memory (PIM) has resulted in a wide range of alternatives on how to implement specific architectures. We can broadly categorize these alternatives into two categories: processing near memory (PNM) and processing using memory (PUM). This tutorial will focus on PUM architectures, where device-level interactions between multiple memory cells can result in useful and reproducible computation. We will start by defining the difference between PNM and PUM architectures, along with a brief taxonomy. Then, we will study how PUM is achievable in both commonplace and emerging memory technologies. Next, we will look at a few example architectures that implement different PUM-based operations. Finally, we will discuss some of the key challenges that remain for viable PUM production.
Saugata Ghose is an assistant professor in the Department of Computer Science at the University of Illinois Urbana-Champaign. He holds M.S. and Ph.D. degrees in electrical and computer engineering from Cornell University, and dual B.S. degrees in computer science and in computer engineering from Binghamton University. He received the best paper award from DFRWS-EU in 2017 for work on solid-state drive forensics, and was a 2019 Wimmer Faculty Fellow while he was at Carnegie Mellon University. His current research interests include data-oriented computer architectures and systems, new interfaces between systems software and hardware, energy-efficient memory and storage, and architectures for emerging platforms and domains. For more information, please visit his website at https://ghose.cs.illinois.edu/