Does Console Emulation Have a Future?
CPU emulation is built on the fact that new CPUs are simply faster than old CPUs, and once a CPU is a certain amount faster, it's able to interpret the instructions of the older CPU faster than the old CPU could run natively.
For example, it's awfully easy for a 2.2ghz processor to interpret and execute each instruction of a 4.7mhz 68000 processor.
But what happens now that we've hit a GHz wall?
Individual processor cores aren't getting faster; we're getting our performance gains now through parallelization. This depends on software cooperation to get faster code - a Core 2 Duo running single-threaded code isn't much faster than the same processor you could buy 2 years ago. You can get 2 or 4 or 8 cores in a system, and get performance for things like video compression or compiles by splitting the job up over multiple cores.
Emulation doesn't lend itself well to acceleration through parallelization - you can probably parallelize to the point that the original CPU us parallel internally (the way a Pentium can dispatch multiple instructions per clock, for example).
So if you want to emulate a 2.2ghz processor, you'd need a procesor that's some multiple faster than this CPU, to interpret and execute the instructions in real-time. But the laws of physics have recently told us that we're not going to be making 8ghz processors any time soon.
Have we seen the last generation of console emulators? Or will we someday have a desktop CPU that's able to software-emulate an XBox 360 or PS3?