Stochastic computing elements and systems

To date essentially only two fundamentally different representations of numbers have been used in electronic computers: One is the analog representation by a voltage or current inside a given range, the other one, the digital representation which maps a sequence of 0's and 1's onto a spatial or temporal sequence of voltage or current pulses. Of late, interest has arisen in the use of random pulse sequences as information carriers. (1), (2), (3), (4), (5), (6). It turns out that the use of random pulse sequences leads to the use of digital ANDs or ORs for the fundamental operations of multiplication and summation and therefore to a very considerable reduction in cost of the computational equipment. It is the purpose of this paper to present the theory of these random pulse sequences as well as their practical circuit implementations, and to give some systems design examples. In the final section some non-Von Neumann organizations will be discussed which are made possible by the use of stochastic computing elements.