  Conventional computing paradigm struggles to fulfill the rapidly growing
demands from emerging applications, especially those for machine intelligence,
because much of the power and energy is consumed by constant data transfers
between logic and memory modules. A new paradigm, called "computational
random-access memory (CRAM)" has emerged to address this fundamental
limitation. CRAM performs logic operations directly using the memory cells
themselves, without having the data ever leave the memory. The energy and
performance benefits of CRAM for both conventional and emerging applications
have been well established by prior numerical studies. However, there lacks an
experimental demonstration and study of CRAM to evaluate its computation
accuracy, which is a realistic and application-critical metrics for its
technological feasibility and competitiveness. In this work, a CRAM array based
on magnetic tunnel junctions (MTJs) is experimentally demonstrated. First,
basic memory operations as well as 2-, 3-, and 5-input logic operations are
studied. Then, a 1-bit full adder with two different designs is demonstrated.
Based on the experimental results, a suite of modeling has been developed to
characterize the accuracy of CRAM computation. Further analysis of scalar
addition, multiplication, and matrix multiplication shows promising results.
These results are then applied to a complete application: a neural network
based handwritten digit classifier, as an example to show the connection
between the application performance and further MTJ development. The classifier
achieved almost-perfect classification accuracy, with reasonable projections of
future MTJ development. With the confirmation of MTJ-based CRAM's accuracy,
there is a strong case that this technology will have a significant impact on
power- and energy-demanding applications of machine intelligence.
