Next Generation Emulation banner
1 - 2 of 2 Posts

· PCSX2 Coder
Joined
·
11,343 Posts
TWave said:
If you ask this because the PS2 is 300MHz and actual PCs are 3.X GHz, I'll tell you that the Hz are not the real speed of a processor. Ex: A 3.0GHz is not as fast as 2 1.5Ghz.

PD: Some devs sure will tell you more info about this.
hmm im not sure on your example there, on a multithreaded program yes, it will be faster as i will now explain.

Processor computing time is not sole dependant on hz, infact its far from it, it depends on other things such as cache and the components used and their latancies and the architecture of the processor itself.

In TWave's example i think what he means is the 2 equivilant of half speed processors will work faster on a multithreaded program due to splitting the load 2 ways and hence having double the cache available, but this is only dependant on the slower processors having the same cache each as the single processor, if everything is half, well then the speed difference will be neglegable.

As clements says, an instruction that can take 1 cycle on the PS2 can take approx 50-100 cycles on a PC if done by straight interpretation, using things such as dynamic recompilation can speed things up and bring it down, but it will never be on a 1:1 ratio unless the 2 architectures are identicle, in which case, we wouldnt need emulation. Again the bit width comes as a problem too, as the VU instructions which can take about 80% of the processing time during a 3d game has to calculate 4 dimensions per instruction, each dimension consisting of 32bits of floating point vertex data. The PS2 can do this in one sweep, taking only a few cycles, but with a PC we have to do this in chunks of 1 or 2 (32 or 64bits) at a time which can make this take 2-4x as long as a PS2 would and that is without taking into account of the instruction interpretation itself, which brings it out at a horrid 10-20x slower.

and also as TWave and Clements said, the PS2 has several co-processors to handle the different areas, and we have to emulate all of these on a single chip, so its not a simple case of running a 300mhz chip on a 3ghz pc or whatever, its more runniing a 300mhz EE core chip, 36mhz IOP chip, another 36mhz SPU chip, 150mhz VU chip and a 150mhz GS chip, all through 1 single processor that can only do 1 or 2 things at once.

it all adds up ;)
 

· PCSX2 Coder
Joined
·
11,343 Posts
heh, sorry if i got a bit carried away with details there, but a lot of people seem to not understand the complexity involved in emulating such a system, and i was in the mood for giving a really long answer ;p
 
1 - 2 of 2 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top