Dual Processors, Why Only Use The One?


clean_sandwich

Still Fresh
Joined
Feb 18, 2004
Messages
72
hey everyone,

from what i have been reading, most of the emulators and programs only use one processor. is that true?

i know the gp2x has 2 processors, and they are both 200 mhz, why are they both not being used at the same time? wouldn't that make everything on the gp2x faster and WAY more expandable?

it sounds to me it isnt being used to its full potential. which is a shame. i love this system to death and i hope soon someone can break that barrier and use both processors.

but i could be wrong. some may be using both and all that.

someone please clear it up for me and give me some details as to it all. like, why nobod can or which ones do use both.

i am not a programmer or anything close so please dont flame me guys.
 
basically, using the 2 cpus will make the overall speed slower (i'll let someone else explain why). The 2nd cpu needs to be used *properly* to be efficient but will not work in every situation. Some apps are using both cores like PicoDrive and Vektar.
 
Picodrive utilizes both processors. It can offload the sound processing to the second one. This allows massive underclocking without compromising performance. I can play all games very nicely with my GP2X clocked down to 140MHZ.

But it's hard to implement this. I'm not going to act like I completely understand why, but I believe it has to do with the processor having to share some components. I guess it's tough to get everything to work together without actually slowing things down. Am I on the right track with this, anyone?
 
well.. the reason its so hard is because of the decreased bandwidth when using the 940. so one has to carefully decide what to actually do on the second core, and furthermore, its simply not all things that can be "multithreaded"
 
Picodrive utilizes both processors. It can offload the sound processing to the second one. This allows massive underclocking without compromising performance. I can play all games very nicely with my GP2X clocked down to 140MHZ.

Underclocking yes but two cpus running at 140mhz is still more than one cpu running at 200 isn't it? ;)
 
Last edited by a moderator:
Plus it's not a true "dual CPU" configuration, because the two CPUs aren't identical: As far as the OS is concerned, it's a single CPU machine. So where a PC with a dual-core CPU will automatically divide up the workload, the GP2X needs to be told specifically "Send this job to the second processor"
 
I think there is only one MMU (memory magnament unit) for both processors, so the 940 has to use the 920 memory unit to gain access to the main mémory, interrupting and slowing down the 920.
 
I quite disagree with most of what was said so far.

The reduced bandwidth to SDRAM is not that important, and certainly not a good reason to prevent the use of the 940.
Actually, most of all desktop PC computers with dual cores or even dual CPUs suffer the same problem.
I/O starvation (from registers mapped in memory) seams to be more problematic, but it's a mere question of design to work around it.

The reduced code/data size on the 940 is not very important, because of the 940 being designed to run a single thread (no swapping
between tasks reduces the need for a cache).

The main thing that refrain people to use both cores are, in my views :

1) the complexity involved to load, run and debug code on the 940 ;
2) the fact that, even in 2006, most of programs are not designed to be threaded, whatever the hardware ;

This is not that bad, because if all programs used the 940, your batteries would be emptied twice as fast :)
 
Picodrive utilizes both processors. It can offload the sound processing to the second one. This allows massive underclocking without compromising performance. I can play all games very nicely with my GP2X clocked down to 140MHZ.

Underclocking yes but two cpus running at 140mhz is still more than one cpu running at 200 isn't it? ;)
I don't think so. There was a person on these boards doing tests, and it seemed like using both processors used a bit less power than one with a higher clock... but I don't know for sure.
 
Last edited by a moderator:
i know the gp2x has 2 processors, and they are both 200 mhz, why are they both not being used at the same time? wouldn't that make everything on the gp2x faster and WAY more expandable?

They don't code for both processors because it is far more difficult than coding for a single one.
Besides that I don't know any other dualcore programming library than my Minimal SDK, and my SDK got a complicated dualcore programming interface, which difficults things even more.

I hope version 0.C will enlight the path.
 
Last edited by a moderator:
This is not that bad, because if all programs used the 940, your batteries would be emptied twice as fast :)


It would no where near empty batteries twice as fast. In order for that to be true you would have to have 2 screens, 4 speakers, and double the memory running at once too. Using the second core does use more power yes but not 2X.
 
Last edited by a moderator:
Back
Top