(06-14-2009, 03:19 PM)gcp111 Wrote: [ -> ] (06-14-2009, 03:14 PM)Xiloscent Wrote: [ -> ]yeah that's true...hmm if only it was possible to make two cores emulate the CPU. 6.12 ghz workin on that should be enough one would think.
lol, that would fly... 
You couldn't emulate the CPU on more than one thread however (I guess instructions need to be executed sequentially, plus thread safety issues...
)
I doubt there's anything else to offload either. Too bad.
yeah what a waste.maybe thats what me and my friend could look into, try to figure out a way to use all four cores safely and correctly. that'd be a nice boost i'll talk it over with him.
Why would it be a boost when you have to worry more about thread syncronisation :/
2 cores is more than enough.
well thats what we'd be trying to figure out, i'm not the program minded one, my friend is, i'm more of the idea/goal guy.
(06-14-2009, 03:56 PM)Xiloscent Wrote: [ -> ]well thats what we'd be trying to figure out, i'm not the program minded one, my friend is, i'm more of the idea/goal guy.
Well personally, all I can say is, goodluck.
yeah we'll see if we can't figure something out, he even has a better rig than i do, only he's running vista. i'll make sure he gets a copy of my games and such to use, maybe he'll have less problems than mine.
hum.... Nothing is impossible, it maybe super dificult to figure it out how to put the stupid CPU thread in 2 cores...
One good example is GSDX plugin from PCSX2, it uses full quad core in software mode, it's more acurated, and faster than hardware mode (only the grafics are a bit crappy).
So, that means, by now, it's impossible, until someone can split CPU thread into 2 cores.
syncronisation is not a big problem, as the 4 cores run at the same speed, and a little bit of typing, we can create something that keeps the cores syncronised.
synchro does not only mean to keep them "at same position" in code, but also communicating.
look in debug mode how big the code fragments are -> its mostly 10-20 instructions until next branch.
l3 cache allready has a delay of ~10 instructions, not keeping in mind how many instructions you need to evaluate the "help" coming from another core.
now imagine that not all code will fit in l3 cache and you have to use RAM -> 50+ instructions delay.
well in this case you would fall down to 20-50% of speed when using more cores only by delay to memory, not to mention the overhead for the synchro.
the problem is NOT the software, the problem is the hardware being much too fast in terms of each core compared to the possible links between these cores.
with todays hardware its impossible.
to implement such "reverse hypterthreading" you need
at least shortcuts between the cores that are not implemented in todays cpus.
Quote:One good example is GSDX plugin from PCSX2, it uses full quad core in software mode
thats a gpu-plugin. of course you can split gpu work. if that would not possible, why would ati bring 800 cores on one chip ?
But it has nothing to do with ps2' MIPS cpu emulation.
On GSDX in software mode is NOT the grafic card that works on the grafics, but the CPU, thats why i say, maybe it's possible.
But well, by now, dolphin just needs to put the sound in a 3 core, and optimize CPU emulation, so it can run easy on a 3 Ghz dua core (our quad core).
But thx for the explanation about the L3 cache, I didn't know that ^^"
-----
Oh, by the way, sound thread runs together with CPU thread right?
yes, with GSDX its possible for the cpu to calculate the graphic in parallel.
that can be done parallel, as the single parts do not depend on each other.
opposite is with cpu calculation having only 1 flow of instructions where you have many million(!) dependence per second.
doing graphic work in parallel is like many men work together to build one house. there is an upper limit for how much men will do it faster, but in general -> the more you have, the better.
doing cpu emulation in parallel is allways best compared with 1 woman -> 1 baby in 9 month. you cant speed it up if you get a second wife.
well thats unless you invent a woman that can do it faster, but the one you married will never be able. (like the cpus we got today will never be able)