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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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 />

<strong>the</strong> languages of humans <strong>and</strong> computers. In any given human society, children, poets, <strong>and</strong><br />

lovers all use <strong>the</strong> same language; <strong>the</strong> difference is that <strong>the</strong>y use smaller or larger parts of <strong>the</strong><br />

language, with lesser or greater facility. But in <strong>the</strong> computer world <strong>the</strong>re are strictly distinct<br />

layers of language.<br />

We’ll discuss five levels of computer language: microcode, assembly language, high<br />

level language, object-oriented language, <strong>and</strong> design language. The higher levels depend<br />

upon <strong>the</strong> lower levels.<br />

Design Language<br />

Object-Oriented Language (C++, Java)<br />

High-Level Language (C, Pascal)<br />

Assembly Language (Intel Assembly Language)<br />

Microcode (Tells <strong>the</strong> processor how to interpret Machine Language instructions)<br />

Levels of Computer Language<br />

Microcode <strong>and</strong> BIOS<br />

The microprocessor chip inside a desktop computer behaves a little like a moderately<br />

intelligent cockroach that scuttles about upon <strong>the</strong> long ladders of memory inside your<br />

machine. The cockroach microprocessor reads an instruction here, takes in a snippet of data<br />

<strong>the</strong>re, massages <strong>the</strong> data according to <strong>the</strong> instruction, <strong>and</strong> <strong>the</strong>n writes <strong>the</strong> altered data<br />

somewhere else.<br />

The language that directs <strong>the</strong>se inner workings of <strong>the</strong> microprocessor is called<br />

microcode. Microcode is <strong>the</strong> purview of heavy-duty computer engineers who work at <strong>the</strong><br />

chip factories; generally a chip’s microcode is developed in t<strong>and</strong>em with <strong>the</strong> chip’s physical<br />

design.<br />

If you think of <strong>the</strong> chip as a little city with electrons racing up <strong>and</strong> down its streets,<br />

<strong>the</strong>n <strong>the</strong> microcode is like <strong>the</strong> program that controls this tiny city’s traffic lights. The<br />

microcode is permanently etched into <strong>the</strong> silicon at <strong>the</strong> chip factory; it isn’t something <strong>the</strong><br />

ordinary user or even software programmer normally deals with or even thinks about very<br />

much.<br />

There is one exciting (<strong>for</strong> geeks) exception. If you get deeply involved in upgrading<br />

<strong>and</strong> tweaking your computer, <strong>and</strong> start checking <strong>for</strong> hardware driver updates on <strong>the</strong> web, you<br />

may from time to time be able to download new “BIOS” code <strong>for</strong> one of <strong>the</strong> chips in your<br />

machine, perhaps <strong>for</strong> <strong>the</strong> main microprocessor or <strong>for</strong> a subsidiary processor that h<strong>and</strong>les a<br />

task like graphics. And <strong>the</strong>n, oh joy!, you can “flash <strong>the</strong> BIOS” which means copying new<br />

microcode onto <strong>the</strong> processor.<br />

Flashing <strong>the</strong> BIOS is a slightly risky activity, perhaps on a par with open heart<br />

surgery. A worst-case scenario arises if your computer loses power while in <strong>the</strong> midst of a<br />

BIOS flash, like if you (duh!) turn off your computer or if you (whoops!) kick <strong>the</strong> plug out of<br />

p. 60

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

Saved successfully!

Ooh no, something went wrong!