Having more than one CPU core executing a single instruction stream would give new dimensions to speculative execution. Good branch prediction is one thing, having multiple cores simply go ahead and speculatively execute both outcomes of the branch could boost the IPC.
Originally Posted by James
This has been done before. The very first IBM POWER cpu was actually a full card with 7 chips I think. One was an instruction dispatcher, and the others were execution units for floating point/integer operations. Each time an instruction arrived to the cpu, it would be sent by the dispatcher to an available core. The dispatcher would also store the results back in memory.
I have such a beast , it says 1991 on it (FWIW, it's an IBM powerserver 320).
IBM has done alot of things before... but the situation (or problem if you tend to like IBM and what it does) is that other people come along and do it at the right time, in a different way, or with the right marketing and make a ton of money off of it. Take for instance Windows versus OS/2. Obviously OS/2 was around before Windows, and many people say it was more technologically advanced. But Windows came out and was marketed in a way that made it sell much better than OS/2. You could say the same thing about Power architecture in general (versus x86-based processors).
Originally Posted by marcheu