Abstract

The von Neumann architectures have a bottleneck of data transfer between memory and processing unit. This degrades performance and increases power consumption for data-intensive applications. The advent of memristor based logic in recent times has provided the opportunities to design non-von Neumann architectures capable of performing computation within the memory. The universal NOR logic gate can be realized on a memristor based crossbar memory array. This allow complex arithmetic and logic operations within the memory. This paper proposes a code generation technique for in-memory computation of array expressions in a program written in high level language. An instruction set for in-memory computation has been considered. Space is allocated for array elements, temporary variables for intermediate results and memory isolation gaps for parallel operations. A sequence of NOR/NOT operations is generated to enable in-memory computation of array expressions. An evaluation is done on eight benchmark programs. In-memory computation without memory isolation achieves energy savings by an average of 35% at the cost of 44% average performance degradation. In-memory computation with memory isolation achieves energy savings by an average of 29% at the cost of 25% average performance degradation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call