Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Notes</strong> <strong>for</strong> The <strong>Lifebox</strong>, <strong>the</strong> <strong>Seashell</strong>, <strong>and</strong> <strong>the</strong> <strong>Soul</strong>, by <strong>Rudy</strong> <strong>Rucker</strong><br />
depending on how much RAM <strong>the</strong> particular machine has. The “r<strong>and</strong>om access” aspect of<br />
<strong>the</strong> memory has to do with <strong>the</strong> fact that each memory cell has an address, <strong>and</strong> <strong>the</strong> processor is<br />
able to read or write <strong>the</strong> contents of a cell at any desired address without having to traverse<br />
all of <strong>the</strong> intermediate cells. If necessary, a computer can actually use more memory than it<br />
has in its RAM by reading <strong>and</strong> writing to extra disk, which function as a slower kind of<br />
RAM. (To read something off a disk, you need to physically move a read head to a certain<br />
address position. Reading from a given location on a RAM chip is more like pulsing a signal<br />
into an address wire <strong>and</strong> getting an answer back right away.)<br />
***<br />
How does <strong>the</strong> processor know how to carry out instructions? This is h<strong>and</strong>led by a<br />
tiny program, known as microcode, that is coded right into <strong>the</strong> processor. Microcode<br />
interprets strings of bits as instructions to do things with <strong>the</strong> registers. The microcode lets <strong>the</strong><br />
processor behave as if a certain sequence of bits means, say, “add <strong>the</strong> contents of register BX<br />
to <strong>the</strong> contents of register AX.” The physical logic of <strong>the</strong> etched-in circuitry has tiny adding<br />
machines, multipliers, logic gates, <strong>and</strong> <strong>the</strong> like.<br />
Confession of Anxiety in Chapter One<br />
Right now, writing this, I feel uneasy. I want The <strong>Lifebox</strong>, <strong>the</strong> <strong>Seashell</strong>, <strong>and</strong> <strong>the</strong> <strong>Soul</strong><br />
to be a fun book, <strong>and</strong> here I am talking about arithmetic. And now, as if that’s not boring<br />
enough, I’ve got to start in on tax <strong>for</strong>ms? Jesus wept.<br />
Rap about Halting Being Bad<br />
Your experience with pencil-<strong>and</strong>-paper computations, such as multiplying numbers,<br />
may have left you with <strong>the</strong> impression that a computation has to terminate with an answer.<br />
But this need not be true. A computation can be ongoing, with no specific termination time<br />
contemplated — think of a flowing river or of a computer screen-saver. Each of <strong>the</strong><br />
successive states is an output linked to a moment in time.<br />
Speaking of time, how long does a computation continue? We won’t impose any<br />
bound at all. Certain kinds of computation will indeed signal when <strong>the</strong>y’ve arrived at a<br />
desired result ⎯ <strong>for</strong> instance by beeping or by printing a result ⎯ <strong>and</strong> <strong>the</strong>n halt in <strong>the</strong> sense<br />
of no longer changing <strong>the</strong>ir states. But <strong>the</strong>re’s a sense in which such computational processes<br />
continue after <strong>the</strong>ir halting point. It’s just that after <strong>the</strong>y halt <strong>the</strong>y remain in a constant state.<br />
For a computer that’s supposed to calculate a number halting, is usually viewed as a<br />
good thing, but <strong>for</strong> a living being ⎯ which is also a kind of computation ⎯ halting has <strong>the</strong><br />
bad connotation of death. Most naturally occurring computational processes are things that<br />
we like to keep going as long as possible.<br />
Feasibility is Relative<br />
Feasibility is relative concept. To say a computation is feasible, you not only need to<br />
specify both <strong>the</strong> hardware <strong>and</strong> software of <strong>the</strong> computer system M that you plan to use as<br />
well as <strong>the</strong> amount of time T that you would be willing to wait <strong>for</strong> an answer. It would be<br />
more precise to speak of M-T-feasibility than simply of feasibility. Just to be precise, let’s<br />
say that if I speak of feasibility, I’m normally thinking of M as being as good an electronic<br />
computer as currently exists on Earth, loaded with <strong>the</strong> best software algorithms we currently<br />
p. 54