17.06.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!