a computer for direct execution of algorithmic languages
The so-called general-purpose computer is, in a sense, an incomplete design for any given problem. The program is the device which renders the hardware of such a machine a special-purpose computer for a particular problem. In a loose sense, then, programming can be considered a form of machine logical design for specific problems, but at a higher level of abstraction than that generally considered in logical design. This loose equivalence between program and computer has long been recognized by some [1] but exploitation of the relationship has apparently received little impetus, except in a trivial way. Practical benefits of this equivalence have, thus far, been limited to such things as index registers for automatic order modification, built-in floating-point operations, and the like. The justification for implementing such features as additional hardware usually stems, at present, from an inordinately long run time for a particular function, or from excessive difficulty in performing the operations programmatically.
computation direct language general design program device hardware abstraction exploit relationships practical indexing order operability feature timing functional floating point