Intel and AMD are continually coming up with creative new ways to cram more transistors on silicon chips. Chip makers have to continue to find ways to improve computer performance in order to continue to make sales. Their strategy up to now has been making transistors ever smaller and as a result, faster.
There is a limit to this approach, though we haven't reached it yet. The problem is that as transistors get smaller certain quantum effects start to show up. I can't find the link again (I really need to be more diligent about saving links for things I write) but these quantum effects started showing up several chip generations in the past. Electrons whizzing along through the chip sometimes tunnel through non-conductive materials. So transistors that expect to be at zero suddenly find themselves at one and vice versa. It's the kind of thing that makes programs collapse into a twitching heap of spastic electronic epilepsy. But engineers, being the clever folks that they are, invented error correction which mitigated the effects of quantum tunneling. Only it gets ever more difficult as the distances continue to shrink. At some point the effects of quantum tunneling will become so severe that error correction will not be able to resolve the issues. Additionally, heat continues to be a problem. Semi-conductors don't conduct very well as temperatures rise, so chipmakers must also find ways to conduct a great deal of heat away from the chips. There is evidence of this on practically every chip or board that you buy. I have a heat sink and fan on my CPU, another one on my motherboard, one on my video accelerator, and four system fans to pump heat into my living room. We're pretty much at the limit of cooling technology. If chips generate much more heat than they do now, they will quite literally melt.
There may be another few generations of transistor miniaturization. Intel recently announced another step forward due to materials science and such. But they are also looking for other mechanisms to allow them to continue shrinking chips or at least making them faster. Multi-core processors are coming soon. Basically this means arranging two or more processors on a single chip. News articles tout it as parallel processing. I have my doubts on that score. My old machine is a dual processor machine. My new machine has an Intel Prescott chip with hyperthreading. Both are ostensibly capable of parallel processing. Neither performs that particular function however. For one thing, none of the software I have seems to have any use for dual processors (beyond recognizing them). For another, I'm not sure that the system architecture really permits processors to work in parallel.
For processors to work in parallel, they must have access to the same resources and data. They can work on crunching the same numbers thus doubling the speed at which data is processed. Two minds are better than one, you know. But so far as I know, we haven't figured out how to do that yet. When you have two processors working on the same bits of information, they tend to try accessing the same resources at the same time which is a big no-no in the computer world. Instead we have a quasi-parallel computing scheme whereby the two processors are assigned specific tasks or processes. They each do their own little processing gig and scrupulously avoid bumping into each other or stealing one another's resources. It's faster than with a single processor but not as fast as would be the case if they really were operating in parallel. It will be interesting to see how the multi-core processors work and what impact they will have on software. I rather suspect we'll see the same problem. There might be two or four or eight processor cores packed onto a single chip but the effect will be as though there were four distinct processors each dedicated to its own tasks.
In the more distant future there are alternatives. I think the one that will reach maturity first will be
spintronics. Right now our computers use the electrical property of quantum particles (electrons) to perform binary mathematics. The electrical charge of electrons flows through the transistors. The transistor is charged or not, one or zero, on or off. The same binary logic works with spintronics. Spin is a property of particles related to magnetism. Electrons can be either spin up or spin down, again giving us one or zero, on or off. Magnetic devices can read the spin of the particle to determine whether it is up or down and relay that information to other parts of the computer. We already use a sort of rudimentary version of spintronics in laptop hard drives and other magnetic storage media.
IBM is investing an enormous amount of money and energy into spintronic research. One technology is MRAM or Magnetic Random Access Memory. It operates at or near the same speed as conventional ram but maintains its state even when powered down. Another avenue of research is storage devices capable of storing information on a near-atomic level. Particles can be embedded in a material with a given spin. A read head can pass over the particle and determine whether it is up or down, can change the spin of the particle (one or zero) and can relay the information. Mind-boggling amounts of information will be able to be stored on ridiculously small devices. Our knowledge of electronics is extremely mature. I think spintronics will be next because it will rely on the same binary logic as our electronic computers, (in fact spintronics computers will likely be an amalgam of electronics and spintronics) and magnetism is basically a variant of electricity (the electromagnetic force).
Following spintronics, things get a little more vague. I think
optronics will follow spintronics. These are computers that compute using beams of light rather than streams of electrons. There are already optical semiconductors and optical transistors. Optronics will use beams of visible or possibly infrared light to perform computations and carry data. This approach to computing is still nascent, but I think one of the most fascinating. And besides, the idea of a computer operating at light speed seems very sexy in a way. I can't find the article anymore, but one of the colleges (MIT or possibly Cal Tech) have built and operated an optical computer. It uses mirrors and optical transistors to calculate numbers. It fills most of a room but then, so did
ENIAC. The important thing is that it actually crunched some numbers. There's no fundamental reason that the devices can not be shrunk and the beams of light miniaturized to fit in a little box on your desk. In fact, the beams of light could theoretically amount to a single phton being fired through a given transistor (though I don't know if that will prove to be practical). Optical computers won't be likely to require a fundamental shift in computer programming either because optical computers will also use binary (transparent or not, on or off, one or zero).
The above options don't change any fundamental aspects of computing (at least as far as our understanding of programming and binary goes). They advance computer science by increasing the speed at which operations are capable of being calculated either by shrinking distances between transistors (spintronics) or by using a faster medium (optronics). There are two other computer technologies on the horizon and both have recently been demonstrated to be possible.
Chemical or
DNA computers fascinate me. I have doubts about how useful they will prove to be on a consumer level. A DNA computer doesn't use binary. I don't know really know what rules of logic apply to DNA computing. But, in any case, DNA computers are very good at
Hamiltonian Problems. Hamiltonian Problems are key in the lock problems. It goes like this: I give you a padlock and box filled with five hundred (thousand, million) padlock keys. Only one key fits the lock. How can you find which one will work? A traditional computer, given that problem would have to try each key, one at a time until it found the one that works. A chemical computer is different though. To solve the problem using a chemical computer, you create a chemical sample representing the lock say the chemicals in the test tube are shaped like the lock. Then you dump all the keys in your chemical sample and shake up the vial. When you examine the chemicals left over you find that only one key fit into the lock and all the rest are floating around uselessly. There's more to it than that, but you get the idea. The problem with chemical computers like this is that they're very poor at linear computing (like adding a string of numbers together). Something else they're very good at, though, is storing data. DNA strands can potentially be used to store enormous arrays of data. I think it will likely be used as data mining and pattern recognition applications. One problem with DNA as a computing medium is that it isn't very stable. DNA strands don't live very long without repair mechanisms. Heat degrades them very quickly. A more stable chemical arrangement needs to be found or else a device or critter that can repair the information strands and maintain data integrity. I don't doubt something will be invented.
Finally, we will see
quantum computers. I'm a little foggier on their nuts and bolts but I'm not alone. Quantum computers work by manipulating certain quantum properties of particles. Namely, the wave properties. Particles exist as both waves and particles. Our current state of knowledge permits us to manipulate the particulate properties of particles. It also allows us to observe the wave-like properties. We now have a vague inkling of how it might be possible to manipulate these wave-like properties. The wave-like properties can be termed probability waves. A particle exists in an infinite range of possible existences until it is observed at which point the state of the particle collapses into some sort of stability. So, if you shine a particle beam (a flashlight will do nicely) on a wall, each photon zips across the distance to impinge on the wall. Only instead of zipping through the intervening space, the photons from the flashlight potentially zip everywhere at the same instant. Each photon has its own probability function that says it is simultaneously crossing between the flashlight and the wall. At the same time, each photon takes a jaunt to Epsilon Eridani and the wall, and Timbuktu and the Wall and Gramma's back porch and the wall. There is a finite (though in most cases vanishingly small) probability that you could observe the photon from your flashlight in the space around Epsilon Eridani or Wolf 359. However, once you observe a photon all of those possibilities collapse into a single possibility. Quantum computing is an attempt to manipulate this probability wave. The idea is that a problem can be sort of written into a probability wave. The wave can then be tweaked so that it collapses in such a way as to result in the correct solution to the problem. Believe it or not, it's been done. Again, I can't find the article, but scientists have managed to coax very simple calculations from a sort of pre-quantum computer. I don't think our grasp of quantum mechanics is sufficient to achieve an actual quantum computer, but I don't believe there is any fundamental reason it can't work. There are problems, for example, larger problems require larger probability fields, but the probability fields tend to break down and do bizarre things when they get too large. They also go nutso when they interact with other particles like matter and such, so the fields must be contained.
Chemical and quantum computers will necessitate the first real paradigm shift in computing since the days of the vacuum tube. They don't operate on conventional binary rules and an entirely new language will have to be invented. Estimates I've read suggest that quantum computers aren't much more than ten years away. I think that's an optimistic estimate. On the other hand, the same is said about DNA computers, which I think is much more likely.
I don't think we will have true parallel computers (like our brain) without making enormous strides in programming. But that might be another topic. Fuzzy logic will probably have something to do with it. Anyhow, Moore's law has continued to prove accurate, right up to this very day. We are now running into the physcal wall that may end his prediction, but I'm not so sure. The wall might not be a barrier to stop us, so much as it's likely to encourage a detour. With all these options on the horizon, I think we have every reason to beleive that Moore's law will continue to hold true in the near future.