PS2 EE question

How much does PS2's 4MB edram equal to DDR/normal ram terms? Thought because its faster (48gb/s), it can copy/read so fast that it equals more memory for textures etc? Dont you need less if its faster ram?
As i understand, VU0 was best used to help out the main CPU, and not assist in graphics related work?

I cant seem to edit my posts since the last one.

1) Really hard to quantify the equivalency of eDRAM vs regular RAM pools, plus there is still the PS2's 32 MB of main system memory. While the eDRAM would have it's typical uses, you can bet different developers allocated it's space in different amounts to suit their needs. In personal opinion, total amounts of system memory found in consoles tends to be the ideal amount of VRAM for a PC of similar graphics prowess, without considering bandwidth, and not counting the PS4 and Xbox One generation (which actually have enough RAM). Multiplatform PC games of the PS2/Xbox/GCN era tend to require graphics cards of 32 MB, and later on 64 MB (in 2005), so that gives you an idea of what developers were targeting.

2) In general yes, VU0 was meant to be a direct coprocessor to the MIPS CPU core, to accelerate non-graphic processes like physics, animation, or even emotion :p As discussed earlier, it seems some devs figured out a way to possibly use it in tandem with VU1 for graphics processes (as a pre-processor). I doubt any games really used it for that though.
 
and not counting the PS4 and Xbox One generation (which actually have enough RAM)

Top end GPU's contain their own 11 or 12GB HBM VRAM @ 3072bits/652.8GB/s, and that doesnt seem to be that of a luxery, seeing 4k with newest games on whatever framerates like 144hz or more, some even VR support. Thats for the current gen xbox one x and ps4 pro. PS4/xbox one i think there was a 6GB GPU long before them, which isnt too far from total mem the consoles had. Not saying they dont have enough ram but the ratios didnt change that much in 18 years :p
Not many can afford a 1080 or higher, mid range cards do quit well nowadays with some settings down.

On to PS2, reading many topics from the past, why is it that some claim the GC was most powerfull in graphics output, some PS2, some xbox. All devs/experts. Things like GC cpu being more powerfull then XCPU aswell. Most of these topics are from 2003.
 
To be fair, Xbox One X also has 12GB of memory, so the notion of matching console system memory to PC VRAM is still sort of correct. Assuming you want "True 4K gaming". 6-8GB is a good amount for 1080-1440p, just like PS4/Pro usually deliver.
 
On to PS2, reading many topics from the past, why is it that some claim the GC was most powerfull in graphics output, some PS2, some xbox. All devs/experts. Things like GC cpu being more powerfull then XCPU aswell. Most of these topics are from 2003.

The GC was an enormously streamlined system with GPU-internal dedicated eDRAM texture (1MB) and z/framebuffers (2MB), specifically targeting 480p like resolutions. The actual graphics pipeline, though less advanced than the Xbox was more straightforward for developers compared to PS2 since it was a full proper graphics processor. It had on GPU T&L, a vertex shader, 4 Pixel Shaders, 4 TMUs, and 4 ROPS, but did lack the Xbox's more advanced features (programability) and of course raw output. The single vertex shader in the GC compared to the single VU1 in the PS2 being used for geometry probably gives evidence to why PS2 and GC versions of multiplatform titles have such similar geometry, whereas the Xbox version would be in another league entirely (Splinter Cell: Chaos Theory and Double Agent come to mind). The biggest advantage for the GC's graphics over the PS2 were the built in capabilities like S3TC Texture Compression, single pass multitexturing and bump mapping. What could lack in raw output against the PS2 was made up by these built in features, that when used right gave us some real graphical gems like RE4, Super Mario Sunshine, Rogue Squadron, and others.

As far as the CPU goes, the PowerPC 750's biggest claim to fame is it's short 4 stage main pipeline, and 7 for the FPU. In non-FPU/SIMD code, clock per clock, it's on par with a Pentium III, if not equal even to the higher clocked 733 MHz P3 in the Xbox. Introduce SIMD into the equation and the 750 lags very far behind since it's only 2 x 32 wide (using the 64 bit FPU). Even with a lower clock speed, the Emotion Engine using both it's FPU and VU0 enjoys a sizeable advantage. This lack of SIMD is a subject for alot of my hate against the Wii U, with it's triple core PPC750 implementation.

This thread (at the beginning), highlights some real limitations to the GC's architecture compared to the competition when it came to multiplatform development.
 
@Mobius1aic

Ok so whats your conclusion of which of the 6th gens had the most powerfull CPU in general/overall?
How about the GPU?

Edit: I know for PS2 its EE+VU01 + FPU? as its cpu.
 
A single 733 p3 being faster then 3 separate cpus(EE/VU0/FPU)? Intresting but didnt even know the EE had a FPU processor aswell. Does the P3 have an FPU co-processor too? Cant seem to find much about it, wikipedia states the PS2 has a 32bit FPU (COP1).
 
A single 733 p3 being faster then 3 separate cpus(EE/VU0/FPU)? Intresting but didnt even know the EE had a FPU processor aswell. Does the P3 have an FPU co-processor too? Cant seem to find much about it, wikipedia states the PS2 has a 32bit FPU (COP1).

Pretty sure x86 chips have had FPUs standard since the 486. And the pentium 3 might be faster than the emotion engine for most general purpose work, but it isn't faster at everything. The EE has half the PS2s GPU in it after all.
 
Yes thats why i thought of only VU0 and the EE mips core, counting VU1 then perhaps the P3, as in xbox should be having assistance from NV2A/vertex shader, since GPU's are generally faster at certain specialised tasks.
 
A single 733 p3 being faster then 3 separate cpus(EE/VU0/FPU)?
Not hard. The EE was clocked at 300 MHz, so all else being equal, the P3 is already over twice as fast. As for 'three CPUs', the VUs were coprocessors, akin to the SSE unit (vector coprocessor) of the P3*. PS2 had one CPU, the Emotion Engine.
Intresting but didnt even know the EE had a FPU processor aswell. Does the P3 have an FPU co-processor too? Cant seem to find much about it, wikipedia states the PS2 has a 32bit FPU (COP1).
The 386 had the FPU on a separate chip, the 387.

* Edit: Not entirely sure how the SSE worked on P3 and if it could function in parallel.
 
Last edited:
As for 'three CPUs', the VUs were coprocessors, akin to the SSE unit (vector coprocessor) of the P3. PS2 had one CPU, the Emotion Engine.

From what ive learned on the b3d forums mostly old topics its VU0 and EE that should be counted as the CPU, for the most, as VU0 in micromode wasnt that good, or something like that. EE + VU0 the P3 at 733 still being faster then that combo, but what if the p3 is clocked at 300mhz aswell, if that would be possible, in other words clock for clock.
 
VU0 went shockingly underused. 2003 - https://forum.beyond3d.com/threads/ps2-performance-analyzer-statistics-from-sony.7901/
- 2% VU0 usage : Most games are still not using VU0.
But I too, am quite surprised at the slide which says "Best performing games use up to 8% VU0". Not sure if they scanned the just released J&D2, R&C2, or SH3 and ZoE: Anubis from Japan. Because that statistic is really surprising.
As the author of the document, I would like to make a few comments:
..
I did indeed, and the stats do includes the results from those games.
 
A single 733 p3 being faster then 3 separate cpus(EE/VU0/FPU)? Intresting but didnt even know the EE had a FPU processor aswell. Does the P3 have an FPU co-processor too?
EE's FPU was comparatively weak and ineffective in most regards, but it was definitely there. :) Unsure how much use it saw though, seeing as the vector units were so much more powerful.

P3 has both a FPU, as mentioned by others (based on an old, archaic architecture), and a modern (for its time) 128-bit SIMD maths unit IIRC (for processing up to 4 32-bit words simultaneously.) The SSE unit might not be as powerful per clock as EE's vector units, but it's clocked faster and isn't restricted to its own piddly on-chip working memory; it can draw from the full memory pool of the system, so is easier to utilize.

Of course, in the Xbox, you also had dedicated vertex shaders for transforming geometry for rendering, so the SSE unit was much more free to run game logic code than PS2's VU1 in particular...

* Edit: Not entirely sure how the SSE worked on P3 and if it could function in parallel.
IIRC, SSE featured its own unique set of registers (unlike MMX, which repurposed FPU registers), but the P3 might not have had enough instruction issue capacity to run both SSE unit and x87 FPU at the same time. ...Although from what I understand, x87 is universally panned as a really shitty design (even worse liked than the old clunker x86 itself interestingly), so maybe you might just as well want to skip it altogether. Does modern code ever really use FPU to any substantial degree?

I'm not sure if modern x86 designs like Intel's Core series and AMD Ryzen have a separate issue port/s for x87 and SSE/AVX. If they all share, it would likely be a huge waste to ever use x87, unless you really need that 80-bit precision for whatever reason... :p
 
Of course, in the Xbox, you also had dedicated vertex shaders for transforming geometry for rendering, so the SSE unit was much more free to run game logic code than PS2's VU1 in particular...

For comparisons sake its easiest to compare EE and its VU0 against the p3 733 in the xbox, some say the P3 is faster for most applications but i wanted to hear opinions from more people, in the old topics from the 6th gen era, it seemed just who you ask, maybe bias? I mean now it doesnt really matter as system wars isnt intresting many about those consoles.

Tested running some mpeg2 and h.264 720 test video samples on both usng simple media player on ps2 and xbmc on the xbox. The 733 certainly isnt up to the job giving 15fps, PS2 not playing it all, giving an error 'resolution too big' so couldnt really test that. Both play mpeg2 at sd resolutions fine though, cant see ps2's cpu usage but xbox's cpu averaged around 20 to 30%.

PS2 has a mpeg2 decoder but xbox doesnt? On both they seem go unused playing anything but that could be software related.

Edit: I remember reading SMS does use EE+vector units, not 100% sure though.
 
IIRC, SSE featured its own unique set of registers (unlike MMX, which repurposed FPU registers), but the P3 might not have had enough instruction issue capacity to run both SSE unit and x87 FPU at the same time.
If the 386 included the FPU, why was the 80387 sold separately? Or was it included in a later rendition of 386 which XBox used?

Does modern code ever really use FPU to any substantial degree?
Any floating point maths these days is sent to an FPU rather than trying to perform it on integer ALUs. OoOE dispatches float instructions to the FPU as needed. Googlage tells us Intel's Core architecture has three FPU execution units per core! Only one can do FPADD and only another can do FPMUL, so they're specialised. These FPUs process the SSE instructions too. I guess any floating point instructions, whether legacy x87 stuff or the latest SIMD stuff, gets micro-op'd onto these FPUs.
 
If the 386 included the FPU, why was the 80387 sold separately? Or was it included in a later rendition of 386 which XBox used?
Hm? I don't follow you... The 386 (which was a late 1980s era CPU IIRC, IE ancient as all fuck even back in the day) did not have FPU integrated at all... It wasn't used in the original Xbox, which rather used a coppermine Pentium3 variant with halved L2 cache as I recall. Maybe it was labeled Celeron? I can't remember. Anyway, it was the same base silicon as the P3, but slightly nerfed.

Any floating point maths these days is sent to an FPU rather than trying to perform it on integer ALUs.
Poor wording; my bad... I meant to say, does anyone use x87 FPU code specifically (as opposed to SIMD FP; SSE or AVX) to any substantial degree these days? Its lone advantage is 80 bits FP precision vs. 64, but performance loss vs recent AVX iterations in particular is major. x87 throughput must almost be a rounding error versus AVX512.
 
It wasn't used in the original Xbox, which rather used a coppermine Pentium3 variant with halved L2 cache as I recall.

From Anandtech: 'The Coppermine core was left with an 8-way set associative L2 cache instead of the 4-way set associative cache of the Celeron.'
https://www.anandtech.com/show/853/2

Whats your take on the 733 p3, is it faster in general then the EE + VU0 combo?
Also does the xbox/nv2a have some mpeg2 decoder?
 
Remember from somewhere on this very forum someone saying that in micro, or was it macro-mode, its usage didnt show up, or not as it should be.
You're right. It's in that thread.

Hm? I don't follow you... The 386 (which was a late 1980s era CPU IIRC, IE ancient as all fuck even back in the day) did not have FPU integrated at all...
I read you implying both were present from this remark...

"but the P3 might not have had enough instruction issue capacity to run both SSE unit and x87 FPU at the same time."

As if saying XB's P3 couldn't use both, mitigating any benefit to having both. The float situation is kinda weird. I guess the x87 had better implenentation of more instructions for versatile science apps, whereas the vector extensions were pretty primitive in their floating-performance implementations?
 
From Anandtech: 'The Coppermine core was left with an 8-way set associative L2 cache instead of the 4-way set associative cache of the Celeron.'
https://www.anandtech.com/show/853/2

Whats your take on the 733 p3, is it faster in general then the EE + VU0 combo?
Also does the xbox/nv2a have some mpeg2 decoder?

There are probably some tasks where the EE taken as a whole could be faster than the Pentium 3, at least on paper. But it's most useful, I think, to judge them by the workloads they ran.

To paraphrase one of the developers that used to post here, the P3 was a lot faster at anything you'd actually be running on it.
 
Back
Top