GP2X Smp Setup


Series-8

Member
Joined
Nov 4, 2005
Messages
299
Is the ram being used dual ported?
Or are both CPUs sharing it thru a MMU?
Or does CPU1 ahve to wait while CPU2 does some memory dependant task?

Two CPUs could be much worse than 1 if they are constantly fighting for RAM.

Also what about Dyanmic Recompilation style emulation? with 2 CPUs that could really fly, allowing some tricky systems to run where it would be impossible before.

I'm thinking oh some other ARM baised system... these chips are used in more than just PDA's and Embedded systems it seems...

How good is everyones understanding of the low level hardware + registers of the GP32?

I don't see why GPH does what The PS2 and Xbos360 have done for their predicessors.

Backwards compatibility. #1 selling feature of all popular computer systems.
 
The two processors are ARM920 and ARM940. The 920 has a built-in MMU, and 940 does not. The MMU can not be shared. The only way of talking between the processors is to use the dualcore registers, which are general purpose 16-bit registers that cause an interrupt in the core they belong to.

Memory can only be accessed by one core at a time, so devvers need to make good use of the cache.
 
How good is everyone’s understanding of the low level hardware + registers of the GP32?

Very good :D. And the GP2X/MMSP2 is getting figured out very quickly.

I don't see why GPH does what The PS2 and Xbos360 have done for their predecessors.

Backwards compatibility. #1 selling feature of all popular computer systems.

Ok, so how many people play old PS1 games on there PS2 all the time. There was me thinking the selling point was the latest generic clone racing game with uber GFX ;).

You do appreciate that GPH is a small company in a niche market and that sort of R&D is out of realms of reward/cost. I don't see how GPH will loose many sales due to backwards compatibility. If a dev wants to move there apps over to the GP2X from the GP32 it is not going to be that hard. Trust me.
 
Last edited by a moderator:
I don't see why GPH does what The PS2 and Xbos360 have done for their predicessors.

Backwards compatibility. #1 selling feature of all popular computer systems.
Sony own both the PS1 and PS2. Microsoft own both the xbox and the xbox360. GPH own the gp2x, Gamepark own the gp32 - can't have compatibility between 2 systems if you don't own the rights to both of them.
 
Last edited by a moderator:
there is something better than backwards compatability: forward development.

GPH are forging ahead into new territory. they're smaller, lighter, they can take the risk.

MS/Sony have big baggage. they protect their turf.

GPH will have new turf, all to itself, soon enough ..
 
Could that be a problem?

Both the Saturn and 32X had such a design where both cores could not access memory at the same time.

Even being able to access differernt memory would be good enough.

Is this limitation certain? Or does the Second 940T have its own buffer memory?
(a 4k+4k cache is just laughable)

Basically will the main 920T be able to actually DO anything while the Secondary 940T is say drawing images to the screen or sending PCM data to a dac?

(32K total cache is ever so slightly less laughable...perhaps some super optimized code can fit in there and run without need for main memory...perhaps.)
 
The two processors are ARM920 and ARM940. The 920 has a built-in MMU, and 940 does not. The MMU can not be shared. The only way of talking between the processors is to use the dualcore registers, which are general purpose 16-bit registers that cause an interrupt in the core they belong to.

Memory can only be accessed by one core at a time, so devvers need to make good use of the cache.


So this means that the GP2X will only be slightly faster than a GP32 then for emulation right? Only one core can be used to run code at one time (except for the almost useless 4k cache). This means 200 MHZ of processing only at a given time which means it really is like a 200 MHz GP32 right?

In the case of like a SNES or Neo Geo emu it will run a slight bit better than a GP32 but nowhere near the speed that can be obtained like on a PSP, is that correct?
 
Last edited by a moderator:
I might just be talking out of my *AHEM*, but maybe Linux could thread your code for you and balance the workload?
 
I might just be talking out of my *AHEM*, but maybe Linux could thread your code for you and balance the workload?

Not possible, Linux will only see one processor. For it to see both, both require an MMU.

DaveC: The second processor is most definitely not useless. Not every instruction running on the 920 or 940 is going to be accessing memory - some of it will be accessing processor registers, and others will be working on data in the caches. So relax already, and stop jumping back to your "The GP2X is a 200Mhz GP32" conclusion at every possible opportunity.
 
Last edited by a moderator:
Now I'm getting a headache from thinking over the possible ways of handling things. I hope SDL makes use of the second core, because it will probably take me a while to figure out how to have the second core do anything.
 
I might just be talking out of my *AHEM*, but maybe Linux could thread your code for you and balance the workload?

Not possible, Linux will only see one processor. For it to see both, both require an MMU.

DaveC: The second processor is most definitely not useless. Not every instruction running on the 920 or 940 is going to be accessing memory - some of it will be accessing processor registers, and others will be working on data in the caches. So relax already, and stop jumping back to your "The GP2X is a 200Mhz GP32" conclusion at every possible opportunity.

So what percentage of the performance of a PSP do you think you can get out of the GP2X? 50%, 75%? I guess what I am trying to find out here is how much better will SNES and Neo Geo emulation be on the PSP speed wise compared with the GP2X? How far could we get with those memory access limitations that you mentioned on the GP2X. They sound pretty severe especially since the caches are so small, 4k doesn't seem like much.
 
Last edited by a moderator:
DaveC- how many times have you read Squidge among others explaining that the second core is usable and that the GP2X is therefore not just a GP32 with an extra 33mhz.

And yet, every time, you have to make the same post. Everytime.
 
So what percentage of the performance of a PSP do you think you can get out of the GP2X?  50%, 75%?  I guess what I am trying to find out here is how much better will SNES and Neo Geo emulation be on the PSP speed wise compared with the GP2X?  How far could we get with those memory access limitations that you mentioned on the GP2X.  They sound pretty severe especially since the caches are so small, 4k doesn't seem like much.

Easy, easy, the machine is not even released and the SDK is not available. What's the point of asking people around for their opinions, where there have been no actual benchmarking done? All your and my and everyone else's questions will be answered eventually, once we get to know better. I heard GPH is in talk with MagicEyes to release more hardware information. So, take a deep breath and give it some time.
 
Last edited by a moderator:
Easy, easy, the machine is not even released and the SDK is not available. What's the point of asking people around for their opinions, where there have been no actual benchmarking done? All your and my and everyone else's questions will be answered eventually, once we get to know better. I heard GPH is in talk with MagicEyes to release more hardware information. So, take a deep breath and give it some time.

The SDK is based on SDL and what is floating about is as good as it is going to get at launch. Most of the work being done in this area is being done by the community and not GPH, hell I am playing with SDL 1.2.9 patches at the moment.

Comparing 2 CPU cores to 1 is a waste of time and effort just like MIPS v ARM etc. and frankly its enough to say the GP2X will be able do some very cool things. If DaveC wants a PSP beater then why does he not just buy a v1.5 PSP FFS ;).

Different consoles for different markets. One pro and one anti homebrew. I know the one that gets my money.

I heard GPH is in talk with MagicEyes to release more hardware information. So, take a deep breath and give it some time.

Where did you hear that then?

There is not a huge amount of information missing to be honest and the ME Linux kernel source code helps fill in the blanks that do exist. Most of those blanks are not from a lack of doco but rather ambiguous doco or outright contradictory doco.

The main stumbling block left is convincing GPH to release there patches to the ME Linux kernel but I am working on that ;).
 
Last edited by a moderator:
So what percentage of the performance of a PSP do you think you can get out of the GP2X? 50%, 75%? I guess what I am trying to find out here is how much better will SNES and Neo Geo emulation be on the PSP speed wise compared with the GP2X? How far could we get with those memory access limitations that you mentioned on the GP2X. They sound pretty severe especially since the caches are so small, 4k doesn't seem like much.

No one can possibly answer that, as a quick port of a snes or Neo geo emu is not going to give you accurate results. In 6 months time, you may find a Neogeo running on the GP2X is actually faster than a PSP. Remember how long it took for SNES and Neogeo to get to the point where it is today on the PSP? It certainly wasn't when the original PSP1.0 came out in Japan, so stop asking for the GP2X's capabilities of running the same emu's before the device is even on sale!

Also, don't forget the PSP's secondary processor has the same limitations as the GP2X's - they both access the same main memory bus, and the second one has a smaller cache than the first.
 
Last edited by a moderator:
i read somewhere that the magiceyes processor in the gp2x is actually underclocked out of the box, its supposed to be 266mhz, plus it might be overclockable above that even, so even if we couldnt use both cores it has almost 100+ potential mhz over the gp32
 
i read somewhere that the magiceyes processor in the gp2x is actually underclocked out of the box, its supposed to be 266mhz, plus it might be overclockable above that even, so even if we couldnt use both cores it has almost 100+ potential mhz over the gp32

What I read in the databooks, was that it can clock to 233 or 266. (cant remember)

Which is the maximum clock. The reason why GPH chose 200 instead? I don't know. Maybe battery power or airflow.
 
Last edited by a moderator:
Memory can only be accessed by one core at a time, so devvers need to make good use of the cache.
My current approach will be to offload all of the sound, I/O, AI, and such off to the 940 since they aren't as RAM heavy. I'm going to leave the 920 to handle the 3D animation and rendering since that can be made much more cache friendly and the 920 has 4x the cache as the 940.

I plan to to build an asynchronous job queue where the 920 can queue up jobs requests for the 940 to handle. The 920 will write to the dualcore register that will interrupt the 940 to signal a new request. When the 940 completes the load, it will use use the dualcore registers to interrupt the 920 to let it know the data has loaded.

The 940 will use it's own job processing queue to handle all of it's own data load requests related to the AI and game logic.
 
Last edited by a moderator:
Actually I've briefly read thru the MMSP2 docs, and it has a MMU and buffers for accessing 4 (out of 9) buses at the same time.

So, assuming you are a crack assembly programmer, you can have both cores running code at the same time. Just not accessing the same device at the same time. (which in reality makes sence.)

and with the buffering it does look like you can READ the same data at the same time, writing...well that annother matter.

Not as good as it could be but not as bad as I first thought.

Also yes lets compare a $350+ device with 100% custom silicon to a $170 device with off the shelf parts, made with NO R&D budget.

If M$ had the Xbrick (handheld) then we could compare that to the PSP.

Apples to Apples, Oranges to Oranges.
 
Also yes lets compare a $350+ device with 100% custom silicon to a $170 device with off the shelf parts, made with NO R&D budget.

If M$ had the Xbrick (handheld) then we could compare that to the PSP.

Apples to Apples, Oranges to Oranges.

Wow the PSP is $350? If you paid that much you got had. Usually they are around $250 and will be $199 soon.
 
Last edited by a moderator:
Back
Top