ENIAC in Action by Thomas Haigh

ENIAC in Action by Thomas Haigh

Author:Thomas Haigh [MIT Digital Book Services]
Language: eng
Format: epub
ISBN: 9780262033985
Publisher: MIT Press
Published: 2016-05-03T18:38:59+00:00


The “Modern Code Paradigm”

We will call the third crucial aspect of von Neumann’s description of EDVAC “the modern code paradigm.” We will use this new term to describe the program-related elements of the 1945 First Draft design that become standard features of 1950s computer design. Not all of those features were original to the First Draft, but their packaging together and their integration with the von Neumann architecture and with the new hardware technologies exerted a remarkable influence.74

The program is executed completely automatically. To quote the First Draft, “Once these instructions are given to the device, it must be able to carry them out completely and without any need for further intelligent human intervention.” This was essential for electronic machines, whereas human intervention at branch points had been workable with slower devices such as the Harvard Mark I. Of course operators still had to tend to input and output devices, and data might require pre-processing and post-processing either manually or with punched-card equipment.

The program is written as a single sequence of instructions, known as “orders” in the First Draft, which are stored in numbered memory locations along with data. These instructions control all aspects of the machine’s operations. The same mechanisms are used to read code and data. As was discussed earlier, the First Draft did specify the explicit demarcation of memory locations holding code from those holding data. It also pointed toward the idea of a program as a readable text: “it is usually convenient that the minor cycles expressing the successive steps in a sequence of logical instructions should follow each other automatically.”

Each instruction within the program specifies one of a set of atomic operations made available to the programmer. This was usually done by beginning the instruction with one of a small number of operation codes. Some operation codes are followed by argument fields specifying a memory location with which to work or other parameters. The First Draft specified only seven “types of orders,” to be coded with three bits, although four of these instructions also included an additional four bits to select one of ten arithmetic and logic operations as a kind of parameter.75 Several order types additionally incorporated thirteen-bit addresses. In all, instructions required between nine and 22 bits to express. Actual machines usually followed this pattern, typically merging the “order type” and “operation” fields from the First Draft so that each arithmetic or logical operation received its own numerical order code. The main exceptions, Alan Turing’s Ace design and its derivatives, stuck close to the underlying hardware by coding all instructions as transfers of data between sources and destinations associated with specific circuits.

The program’s instructions are usually executed in a predetermined sequence. According to the First Draft, the machine “should be instructed, after each order, where to find the next order that it is to carry out.” In EDVAC this was to be represented implicitly by the sequence in which they were stored, as in “normal routine” it “should obey the orders in the temporal sequence in which they naturally appear.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.