1. A computing device, comprising: a memory array of programmable memristors configured to operate as non-volatile memory elements; and controlling circuitry connected to the memory array that selectably provides signals to the programmable memristors of the memory array i) to write resistive values as data-bits into individual programmable memristors of the memory array, and also ii) to program a portion of said individual programmable memristors to execute instructions for computation, the controlling circuitry configured to arrange the data-bits and instructions in the memory array in a manner such that the memory array operates as a computation circuit coupled to and interweaved with a data storage circuit, and to carry out parallel processing on data represented by the data-bits stored in the memory array in accordance with the instructions stored in the memory array.