Abstract
Sociotechnical Synthesis
Processing-in-memory (PIM) is a promising approach for mitigating the memory wall, the growing performance and energy gap between processors and memory. This project performs a design-space exploration of horizontal-layout DRAM PIM architectures at the subarray level. In modern DRAM, chips are organized into banks, banks contain subarrays, and subarrays contain wordlines and bitlines. The H-layout places operand bits along the same wordline, enabling bit-parallel computation within a DRAM subarray.
To evaluate this design space, the project develops a unified simulation framework for both analog and digital PIM execution models. It implements and evaluates H-layout microprograms for addition, subtraction, population count, variable shift, and multiplication across multiple operand widths. The results show that algorithm selection and local register organization strongly affect throughput. In particular, data movement accounts for more than one third of total execution time across the evaluated operations, making it a major bottleneck even within near-memory execution.
Overall, this work provides a foundation for principled H-layout PIM architecture design and offers practical insights for future DRAM-based PIM systems.
This STS project examines the historical development of processing-in-memory (PIM) and investigates why the concept, first proposed decades ago, only recently gained renewed attention. The project was motivated by the observation that many PIM ideas originated as early as the 1950s and 1990s, yet large-scale adoption did not occur until modern AI workloads and advanced memory technologies created new demand for memory-centric computing. To better understand this pattern, the project studies the broader history of computing and traces how similar ideas repeatedly emerged under different names and technological contexts.
The paper begins with the early history of computing, from mechanical computing systems in the eighteenth and nineteenth centuries to the development of stored-program computers and the von Neumann architecture, which established the structural separation between computation and memory. It then examines Dudley Buck’s cryotron research and his proposed “recognition unit,” an early associative computing concept that later influenced content-addressable memory (CAM), a major predecessor of modern PIM architectures. The study further explores distributed logic memory and early PIM ideas from the 1960s, before analyzing the resurgence of PIM during the 1990s memory-wall era through systems such as EXECUBE and IRAM. Finally, the paper discusses the modern revival of PIM driven by AI acceleration, 3-D stacking technologies, and increasing data-movement costs.
The project argues that the history of PIM reflects a recurring effort throughout computing history to reduce the cost of moving data between memory and processors. More broadly, it demonstrates that technological progress is rarely linear. Research ideas often reappear when surrounding technologies, economic conditions, and application demands mature enough to support them. Although many earlier PIM-related technologies were not commercially successful in their own era, they laid the conceptual foundation for modern memory-centric computing systems.
While the technical project examines modern possibilities for process-in-memory architectures and explores new H-layout PIM designs, the STS project looks backward at the historical development of PIM and related technologies. Reviewing history is just as important as developing new technologies because, as shown throughout the historical analysis, many ideas have roots that extend far earlier than when they became widely recognized, even if they appeared under different names or implementations.
By studying this history, we are able to examine what previous researchers attempted, identify ideas that were overlooked or limited by the technology of their time, and avoid unnecessarily repeating past work. The history of PIM demonstrates that technological progress is rarely isolated or sudden; instead, modern systems are often built upon decades of earlier research and experimentation. Concepts such as associative processing, content-addressable memory, and distributed logic memory all contributed foundational ideas that later influenced modern PIM architectures.
The historical perspective also helps explain why certain technologies succeed only during particular periods. Many earlier PIM proposals struggled because manufacturing technology, software ecosystems, or application demands were not mature enough to support them effectively. Today, however, AI workloads, 3-D stacking, and increasing data-movement costs have created conditions that make these ideas practical again.
Together, the technical and STS projects complement one another. The technical project explores how modern PIM systems can be designed and optimized, while the STS project provides the historical and sociotechnical context needed to understand why these architectures emerged, disappeared, and later re-emerged. By combining historical understanding with technical exploration, we can better guide the development of future memory-centric computing systems.