What's with the frameskipping in this emulator?
#11
Once again, the most CPU-power consuming part of EE is floating point calculations, and they are 128-bit. For obvious reason x86 should use SIMD instructions here, but SSE instructions are weak, number xmm registers are small (so avg 2 read/write ops to memory per instruction) and efficiency of SSE are not so good. All 64 and 32 bit instructions are way easy to emulate. So it's not "just advertising", it's real 128-bit calculations.

Sponsored links

#12
Indeed, although by that logic all our PCs are also 128bit (due to 128bit XMM registers).
#13
(01-16-2009, 12:54 AM)Zeydlitz Wrote: Once again, the most CPU-power consuming part of EE is floating point calculations, and they are 128-bit. For obvious reason x86 should use SIMD instructions here, but SSE instructions are weak, number xmm registers are small (so avg 2 read/write ops to memory per instruction) and efficiency of SSE are not so good. All 64 and 32 bit instructions are way easy to emulate. So it's not "just advertising", it's real 128-bit calculations.

MAN WTF ARE U ON? "number xmm registers are small" are u serious?..

In 64-BIT mode, SSE2 contains 16 xmm registers. Each register can handle 4*32-bit floating point operations.

OMG.. I should not even have to be arguing about this... w/e ***** it, if u want to believe PS2 CPU is a real 128bit CPU then go ahead... IDC anymore..
[Image: a0iic2.png]
Vista Home Premium 64-bit | E8500 @4.2GHz (526x8) ~1.30V
Gigabyte GA-EP45-UD3P | 4Gb 1066mhz Corsair XMS2
Radeon HD 4850 OC 10% | 1.14TB (640+500gb) WDC
Antec Nine Hundred | Antec Earthwatts 500w
#14
(01-16-2009, 01:12 AM)creamsoda Wrote: In 64-BIT mode, SSE2 contains 16 xmm registers. Each register can handle 4*32-bit floating point operations.

EACH of the VU units on the PS2 have 32 128-bit SIMD registers, and 32 32-bit integer registers. The Emotion Engine also has 32 128-bit registers of its own, with a complete set of multimedia instructions. Suddenly 16 registers of the SSE doesn't seem very impressive. Wink

Quote:OMG.. I should not even have to be arguing about this... w/e ***** it, if u want to believe PS2 CPU is a real 128bit CPU then go ahead... IDC anymore..

I agree. Go away.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
#15
We only have 8 xmm regs, remember that pcsx2 is a 32bit app Tongue2
#16
Well, yes. Usually x86-32 and x86-64 have meaning of address space dimensions. And PS2 and SSE 128-bit have meaning of operand size. For purpose of emulations second definition are more strict.

p.S. In real word each game constantly do vector arithmetic's (and I debug it per instruction base sometimes, so I know what I say). And this is REAL 128-bit calculations. If it is not "real" 128-bit, than I do not know, what is real here.
#17
(01-16-2009, 01:19 AM)Air Wrote:
(01-16-2009, 01:12 AM)creamsoda Wrote: In 64-BIT mode, SSE2 contains 16 xmm registers. Each register can handle 4*32-bit floating point operations.

EACH of the VU units on the PS2 have 32 128-bit SIMD registers, and 32 32-bit integer registers. The Emotion Engine also has 32 128-bit registers of its own, with a complete set of multimedia instructions. Suddenly 16 registers of the SSE doesn't seem very impressive. Wink

Quote:OMG.. I should not even have to be arguing about this... w/e ***** it, if u want to believe PS2 CPU is a real 128bit CPU then go ahead... IDC anymore..

I agree. Go away.

Pwnd.That's what you get when you talk about stuff you don't really know and try to be a smart ass.Next time you might want to actually KNOW what you're talking about.
[Image: newsig.jpg]
#18
Quote:If it is not "real" 128-bit, than I do not know, what is real here.
From your English, I can tell you misinterpreted what I said.. I said it's not a "real 128bit CPU", there's a difference between "real 128bit CPU" and "real 128bit registers". Yes I know it has 128bit registers, but so does every other CPU for the PC.

Quote:Pwnd.That's what you get when you talk about stuff you don't really know and try to be a smart ass.Next time you might want to actually KNOW what you're talking about.
lol, I have said nothing wrong so far. I was right about all modern CPUs being 64bit, and I was right about SSE2 having 16 xmm registers.. and I still see the PS2's CPU as a 64bit CPU, not 128bit.

Obviously if I didn't know about those stuff, I wouldn't be saying them... I never said that improving frameskipping would be easy, and I never said that the PC has more 128bit registers than the PS2... I only said that it has 16 128bit registers..

So w/e u say buddy..
[Image: a0iic2.png]
Vista Home Premium 64-bit | E8500 @4.2GHz (526x8) ~1.30V
Gigabyte GA-EP45-UD3P | 4Gb 1066mhz Corsair XMS2
Radeon HD 4850 OC 10% | 1.14TB (640+500gb) WDC
Antec Nine Hundred | Antec Earthwatts 500w
#19
8 registers still! Tongue2
#20
Quote: and I never said that the PC has more 128bit registers than the PS2... I only said that it has 16 128bit registers..

I never said that you said it has more registers. You implied that 16 registers was "alot" and I pointed out that it is, in fact, not a lot. It's really quite few compared to the PS2.

Anyways the whole argument is moot because the problem with frameskipping is the PS2's GS, which has a double-buffered framebuffer that has two distinct modes of operation in interlaced games. One mode requires frames be skipped in pairs or else the buffers get out of sync. The other mode just breaks frameskipping completely no matter what you do.

There are no easy fixes, and there may not be any "difficult" fixes either. Wink
Jake Stine (Air) - Programmer - PCSX2 Dev Team




Users browsing this thread: 1 Guest(s)