The computational medium of the digital computer is an informational universe of boolean logic, not a material one. Digital organisms live in the memory of the computer, and are powered by the activity of the central processing unit (CPU). Whether the hardware of the CPU and memory is built of silicon chips, vacuum tubes, magnetic cores, or mechanical switches is irrelevant to the digital organism. Digital organisms should be able to take on the same form in any computational hardware, and in this sense are ``portable'' across hardware.
Digital organisms might as well live in a different universe from us, as they are not subject to the same laws of physics and chemistry. They are subject to the ``physics and chemistry'' of the rules governing the manipulation of bits and bytes within the computer's memory and CPU. They never ``see'' the actual material from which the computer is constructed, they see only the logic and rules of the CPU and the operating system. These rules are the only ``natural laws'' that govern their behavior. They are not influenced by the natural laws that govern the material universe (e.g., the laws of thermodynamics).
A typical instantiation of this type involves the introduction of a self-replicating machine language program into the RAM memory of a computer subject to random errors such as bit flips in the memory or occasionally inaccurate calculations [3,7,20,53,71]. This generates the basic conditions for evolution by natural selection as outlined by Darwin : self-replication in a finite environment with heritable genetic variation.
In this instantiation, the self-replicating machine language program is thought of as the individual ``digital organism'' or ``creature''. The RAM memory provides the physical space that the creatures occupy. The CPU provides the source of energy. The memory consists of a large array of bits, generally grouped into eight bit bytes and sixteen or thirty-two bit words. Information is stored in these arrays as voltage patterns which we usually symbolize as patterns of ones and zeros.
The ``body'' of a digital organism is the information pattern in memory that constitutes its machine language program. This information pattern is data, but when it is passed to the CPU, it is interpreted as a series of executable instructions. These instructions are arranged in such a way that the data of the body will be copied to another location of memory. The informational patterns stored in the memory are altered only through the activity of the CPU. It is for this reason that the CPU is thought of as the analog of the energy source. Without the activity of the CPU, the memory would be static, with no changes in the informational patterns stored there.
The logical operations embodied in the instruction set of the CPU constitute a large part of the definition of the ``physics and chemistry'' of the digital universe. The topology of the computer's memory (discussed below) is also a significant component of the digital physics. The final component of the digital physics is the operating system, a software program running on the computer, which embodies rules for the allocation of resources such as memory space and CPU time to the various processes running on the computer.
The instruction set of the CPU, the memory, and the operating system together define the complete ``physics and chemistry'' of the universe inhabited by the digital organism. They constitute the physical environment within which digital organisms will evolve. Evolving digital organisms will compete for access to the limited resources of memory space and CPU time, and evolution will generate adaptations for the more agile access to and the more efficient use of these resources.