The other day Cathy asked me what a semi-conductor is. It takes courage to ask me an open-ended question, because you risk getting the full answer. We started with integrated circuits, which is what most people mean when that say “semi-conductor,” then got into the conductive properties of metals and minerals, slid from there to quantum physics and electron tunneling, jumping to the idea of electronic gates, which leads back to Boolean algebra, all of which briefly encapsulates the idea of contemporary computer science.
But: The role of semi-conductors in all this is relatively recent, so we talked about Pascal’s automated looms, Babbage’s Analytical Engine, Ada Lovelace’s invention of software engineering, Turing’s Enigma and the idea of the Turing machine — which, despite all the hype you read, is the underlying engineering for the computer in front of you right now, scaled up a bazillion times.
The Turing machine was mechanical. The role of semi-conductors in data processing came even later than that. So: We talked about integrated circuits, about Moore’s Law and most importantly about the information explosion, the practical corollary of Moore’s Law. We continued with the idea of the Semantic Web, the notion that, very soon, instead of you trying to find the data you want, the data you want will avidly be trying to find you.
There’s more: We talked about multi-core computer processors and their implications, particularly about their application in compute-intensive functions. As a matter of physics, there is a finite limit to Moore’s Law. Heat is a significant problem right now, but even postulating computers running immersed in liquid nitrogen, data moves at the speed of light. At some point, no matter how close together chip-makers manage to plant circuits, propagation delay will limit further speed increases.
But this is where massively-parallel multi-core processors come into their own. Imagine not two cores, or four, or eight — the most you can buy in a computer store right now. Imagine 64 cores, or 256, or 1,024 microprocessors running side-by-side, splitting jobs up into 1,024 separate tasks and performing all of them simultaneously.
There’s even more at the outer edges of Read more