New
#20
Well the idea is that your program the CPU to er.. BE the program, and nothing else. It's sort of like turning a program into a piece of hardware. So you program it for one small task, then all it can do from then on is that one task (Till you reprogram it). So they can't really be used for random general purpose tasks which is what most everything you do is.
Most computer peripherals and electronic devices are full of these processors (generally just a few) already. A video recorder would have one for mpeg compression, one for color conversion, etc... Then a general purpose processor for the UI (Buttons/viewfinder) They work well for commonly used fixed tasks.
Placing a massive general purpose OS on a set of them would be virtually unthinkable. You'd need maybe a million of them. And then you'd still need a general purpose CPU (or a few) to run your programs using them as the building blocks or another several dozen to several thousand per program you were runnning. And in practice, writing code for such architectures even when the outcome is well constrained has turned out to be quite difficult.
It's not that it's like impossible or that in the future with 50 million core ships that such things may not be the way things are done in the future, but it's not going to happen any time soon, but with a 1000 core chip /today/ there are practical uses for it, but not as a replacement for an intel (or amd) general purpose CPU, rather an adjunct for say rendering high res 3d images, cracking ciphers, protein folding etc, pretty much the same thing that GPUs are now already being used for. But having one say off the PCI bus and more local to the main CPU would be nice.