Periodic Reporting for period 3 - Real-PIM-System (Memristive In-Memory Processing System)
Periodo di rendicontazione: 2021-01-01 al 2022-06-30
The goal of this research is to design a fully functional mMPU, and by that, to demonstrate a real computing system with significantly improved performance and energy efficiency.
We have identified four main research tasks that must be completed in order to demonstrate a full system utilizing mMPU: mMPU design, system architecture and software, modeling and evaluation, and fabrication. Both the memristive memory array and the mMPU control will be designed and optimized for different technologies in the first objective. The second objective will deal with the various aspects of the system, including programming model, different mMPU modes of operation and their corresponding system implications, compiler and operating systems and others. To evaluate our system, we will develop models and evaluation tools in the third objective in order to measure the performance, area, and energy and to compare them to other state-of-the-art computing systems. Lastly, we will fabricate the different parts of the system and demonstrate the full system.
In the first part of the project, we explored different technologies for processing with memristors (RRAM, CBRAM, Y-Flash, STT-MRAM), including experimental demonstrations to some of them. We also developed algorithms and tools to support the execution of different functions within the memory and for an accurate evaluation of the performance and energy of in-memory processing. We also explored different architectures, protocols, and circuit design issues relevant to the mMPU.
In the memristive technology exploration and manufacturing side, we have explored valence change memristors (VCM) and experimentally demonstrated how they perform logic operations. We also demonstrated, in collaboration with Tower Semiconductor, that their Y-Flash devices can be memristors suitable for computation. We also demonstrated in simulations that STT-MRAM can support our basic MAGIC technique. We explored the influence of device, circuit, and environmental variations on real processing in memristive memory.
For the mMPU controller design, we have developed several algorithms to perform different functions. We presented IMAGING, algorithms for image processing within the mMPU based on fixed-point operations. We also developed SIMPLER, a synthesis tool to support any desired function as part of the controller design.
We extended the capabilities of MAGIC, developing techniques such as X-MAGIC that perform more logic gates without the need for initialization. In addition to MAGIC, we explored other processing in-memory techniques for neural networks, true random number generation, and tunable devices.
For the system architecture, we developed CONCEPT, a protocol for the interface of the mMPU and explored the mMPU architecture. We have presented abstractPIM, a tool to explore the instruction set architecture of mMPU systems as part of the programming model development and operation hierarchy. We have developed an analytical model called Bitlet to evaluate the benefits of processing in memory.