If you tell enough stories, perhaps the moral will show up.

2009-03-16

Existential Insecurity

The problem I have is that I don't believe in computer hardware.

This story puts it nicely. How can you fabricate and reliably operate a device with 16 billion capacitors, each holding 10 electrons? http://www.theregister.co.uk/2008/12/16/mlc_cpm_pcm/

It's not the physics. I believe in electrons. I did the Milliken experiment in school and I made a transistor in college.

And I've got over credulity gaps before:  As a young man, I couldn't believe in computer processors and language compilers. I thought it was magic. It took a degree in computer engineering to see that you could build a processor out of NOR gates and a clock, and that a compiler was a data structure task preceded by lexical and structural analyses. I understand that the right mental tools can turn incredible things into engineering.

But this gap is just too wide. Think about the difference between a nice throwing rock, and a modern assault rifle. Or the difference between a cave with a fire at the front and the Bell Labs building in Holmdel NJ. There's a difference -- a huge difference. But is the modern as much as a thousand times more difficult or involved than the primitive? Stretching a point, is it as much as a million? It's not more, and it's taken many lifetimes to go from one to the other.

The simplest computer memory cell in modern designs is a transistor and a capacitor, more or less. That's one bit. You need eight to make a byte, and another for parity -- call it ten. So the 2G flash card in your camera, or the 2G DRAM on your PC -- and these are low values today -- is 2 x 10E10 cells. Twenty billions. The vast majority of them have to work reliably, predictably, over a service life of years. A single bad cell won't make the device unusable, but it can't tolerate many failures -- and this stretches my credulity.

Shockley was making recognisable transistors in 1947 -- less than a single lifetime ago. And now we have twenty billions -- not total in the world, but mass produced on commodity component  for a dollar. It's not a bit more of a step than the modern building or weapon. It's order after order of magnitude in a vanishingly short time. I don't believe there's any mental tool (Moore's law, the square law of miniaturisation ...) that will cover that gap.

So if you ask me how the ALU works, or what microcode looks like, or why recursive descent parsers are a good thing, I can tell you. But if you ask me why you can trust the data in your camera card or your memory stick, all I can say is that it's magic.

No comments: