Reepca :
I guess that makes sense, I just never really thought the price of what the OS does with running threads on different cores, scheduling and whatnot was high enough to half the end-result IPC. So the difference is basically multi-threading at the software level vs multi-threading at the hardware level?
A VM pretends to be an entire system. In the case of Android, it's as if your system is emulating another OS inside it, as one would see if they were running WINE on Linux, or Crossover on Mac.
Looking at the white paper, the Soft Machines effectively appears to be a twin threaded core much like AMD Bulldozer etc etc. However rather than reallocating CPU time as demand changes like a single threaded core does, or having an units on the die that straddle cores, it on the fly shifts hardware resources from less demanding thread to more demanding thread, seemingly just like the Bulldozer, but with power efficiency. Personally I don't think its dual core at all. It's either a single core that is really fast at thread switches, or an asymmetric processor to truly meet it's claims.
What's more, this could not be done in software, as the software could never process quickly enough to keep up with the demand for it to change. Non-native is slow. Whenever you run something in software, you need multiple instructions to carry out calculations for that software, so you can't really use software to control something that needs input very often on the die like threading. You'd be looking at a bare minimum of 20 instructions latency, God forbid if the instructions aren't on cache. Even at 350mhz,the CPU's still reallocating resources 350 million times a second, and having 50 clocks of latency would wipe something like 90% of the average single thread performance gains off the board.
Modern OS's btw, are like pilots that use the autopilot switch. They may say to the CPU "Prioritize this", but that's all they say, the CPU itself would be actually doing all of the edits and controlling per clock.