MNEMOSENE

Tile Architecture and Simulator for Memristor-based Computation-in-memory

Journal Article (2022)
Author(s)

M.Z. Zahedi (TU Delft - Computer Engineering)

Muath Abu Abu Lebdeh (TU Delft - Computer Engineering)

Christopher Bengel (RWTH Aachen University)

Dirk Wouters (RWTH Aachen University)

Stephan Menzel (Peter Grünberg Institut)

Manuel Le Gallo (Zurich Lab)

Abu Sebastian (Zurich Lab)

JSSM Wong (TU Delft - Computer Engineering)

Said Hamdioui (TU Delft - Quantum & Computer Engineering)

Research Group
Computer Engineering
Copyright
© 2022 M.Z. Zahedi, M.F.M. Abu Lebdeh, Christopher Bengel, Dirk Wouters, Stephan Menzel, Manuel Le Gallo, Abu Sebastian, J.S.S.M. Wong, S. Hamdioui
DOI related publication
https://doi.org/10.1145/3485824
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 M.Z. Zahedi, M.F.M. Abu Lebdeh, Christopher Bengel, Dirk Wouters, Stephan Menzel, Manuel Le Gallo, Abu Sebastian, J.S.S.M. Wong, S. Hamdioui
Research Group
Computer Engineering
Issue number
3
Volume number
18
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

In recent years, we are witnessing a trend toward in-memory computing for future generations of computers that differs from traditional von-Neumann architecture in which there is a clear distinction between computing and memory units. Considering that data movements between the central processing unit (CPU) and memory consume several orders of magnitude more energy compared to simple arithmetic operations in the CPU, in-memory computing will lead to huge energy savings as data no longer needs to be moved around between these units. In an initial step toward this goal, new non-volatile memory technologies, e.g., resistive RAM (ReRAM) and phase-change memory (PCM), are being explored. This has led to a large body of research that mainly focuses on the design of the memory array and its peripheral circuitry. In this article, we mainly focus on the tile architecture (comprising a memory array and peripheral circuitry) in which storage and compute operations are performed in the (analog) memory array and the results are produced in the (digital) periphery. Such an architecture is termed compute-in-memory-periphery (CIM-P). More precisely, we derive an abstract CIM-tile architecture and define its main building blocks. To bridge the gap between higher-level programming languages and the underlying (analog) circuit designs, an instruction-set architecture is defined that is intended to control and, in turn, sequence the operations within this CIM tile to perform higher-level more complex operations. Moreover, we define a procedure to pipeline the CIM-tile operations to further improve the performance. To simulate the tile and perform design space exploration considering different technologies and parameters, we introduce the fully parameterized first-of-its-kind CIM tile simulator and compiler. Furthermore, the compiler is technology-aware when scheduling the CIM-tile instructions. Finally, using the simulator, we perform several preliminary design space explorations regarding the three competing technologies, ReRAM, PCM, and STT-MRAM concerning CIM-tile parameters, e.g., the number of ADCs. Additionally, we investigate the effect of pipelining in relation to the clock speeds of the digital periphery assuming the three technologies. In the end, we demonstrate that our simulator is also capable of reporting energy consumption for each building block within the CIM tile after the execution of in-memory kernels considering the data-dependency on the energy consumption of the memory array. All the source codes are publicly available.

Files

3485824.pdf
(pdf | 2.16 Mb)
License info not available