Questions about PS2

A few questions:

1a) Why didn't Sony consider actual texture units for the Graphics Synthesizer? Was it simply too early in the 3D GPU days to consider them? I figured SCE would've been paying close enough attention to new graphics hardware developments to have known the GS was going to create it's own problems, even knowing how capable it was in other regards.

1b) Would PS2 games hit much closer to the theoretical geometry fillrates of the vector units had Sony used texture units on GS?

2) I guess these questions play on the idea of why didn't Sony stop to think of developing hardware with more "context"? The Dreamcast definitely seemed like it had the right idea of very task specific hardware, which eased developer burdens, and at the same time had extremely optimized rendering so developers didn't have to struggle with it. I'm going to guess Sony was too far along with designing the GS by the time the DC released to change direction but I've found the PS2 somewhat confounding in this regard. The EE makes some sense from a pre T&L GPU and a "here's a crap-ton of GFLOPS so do something with it" point of view. It's just hard to accept that Sony didn't weigh these issues early enough to catch them and either mitigate them, or fix them entirely. And then they did it again with the PS3..............
 
VU0: 4x FMAC + 1x FDIV = (8 + 1/7) * 300 = 2442.86 MFLOP/s
VU1: 4x FMAC + 1x FDIV + 1x FMAC (EFU) + 1x FDIV (EFU) = (8 + 2 + 1/7 + 1/7) * 300 = 3085.71 MFLOP/s
EEcore: 1x FMAC + 1x FDIV = (2 + 1/7) * 300 = 642.85 MFLOP/s
Total: 6171.42 MFLOP/s

How many gflops is the GS?
 
99% sure it runs at 60 on a real PS2. The emulator can only do that if you make a hack for each game.

That is unless the game has a dynamic frame rate, which could include switching between 30 and 60 fps based on load. But it's not that likely.

A few questions:

1a) Why didn't Sony consider actual texture units for the Graphics Synthesizer? Was it simply too early in the 3D GPU days to consider them? I figured SCE would've been paying close enough attention to new graphics hardware developments to have known the GS was going to create it's own problems, even knowing how capable it was in other regards.

1b) Would PS2 games hit much closer to the theoretical geometry fillrates of the vector units had Sony used texture units on GS?

What do you mean by actual texture units and in what way would you consider the GS as not having them?

How many gflops is the GS?

It's hard to really say because the only place where floating point is used in the GS is for texture coordinates and the "Q" coefficient used in perspective correction and mipmap level calculation. We don't know for sure to what extent floating point is even used internally, except that the bottom 8-bits of the mantissa are rounded off so it's more like FP24 than FP32. I would assume that the gradient setup, interpolation, perspective reciprocal calculation and perspective multiplication are all done in floating point.

But none of the associated calculations are really exposed in a way that would be considered analogous to FLOPs in a modern GPU because they're not exposed as programmable functions, and no one else counts functions like this as FLOPs on a GPU. The GS's modulation and blending functions could more reasonably be considered ALU ops, but they're not floating point.
 
What do you mean by actual texture units and in what way would you consider the GS as not having them?

I keep seeing info on half the Pixel Pipelines dedicated to handling the texturing. Whether or not they can perform the same functions as the other pixel pipes, I don't know. Though I guess the greater question is if Sony did not see multi-pass TMUs coming.
 
That is unless the game has a dynamic frame rate, which could include switching between 30 and 60 fps based on load. But it's not that likely.

Oh right, that's possible. I guess I'm just used to the vast majority PS2 games not working that way.
 
It's hard to really say because the only place where floating point is used in the GS is for texture coordinates and the "Q" coefficient used in perspective correction and mipmap level calculation. We don't know for sure to what extent floating point is even used internally, except that the bottom 8-bits of the mantissa are rounded off so it's more like FP24 than FP32. I would assume that the gradient setup, interpolation, perspective reciprocal calculation and perspective multiplication are all done in floating point.

But none of the associated calculations are really exposed in a way that would be considered analogous to FLOPs in a modern GPU because they're not exposed as programmable functions, and no one else counts functions like this as FLOPs on a GPU. The GS's modulation and blending functions could more reasonably be considered ALU ops, but they're not floating point.

Ok makes sense as ive never found any numbers on the GS... Most docs say 6.2gflops for the whole system.
Do you have any knowledge on how the PS2s CPU compared to the first xbox 733 cpu?
 
I keep seeing info on half the Pixel Pipelines dedicated to handling the texturing. Whether or not they can perform the same functions as the other pixel pipes, I don't know. Though I guess the greater question is if Sony did not see multi-pass TMUs coming.

GS can do 8 textured or 16 untextured pixels per cycle, but you don't lose any other features by turning on texturing.

I don't think Sony was necessarily wrong to not follow what everyone else seemed to be doing, since they had different constraints given that they didn't have to work with PCs or OpenGL/D3D, and they were limited to SDTV resolutions. In comparison, both GameCube and XBox were using GPUs that were designed for PC applications. It's pretty easy to see that the GS design was a dead end but it's not that clear that it was fundamentally bad given the constraints of the time.

I don't think multi-texturing was that vital given the high triangle setup rate and low overhead of submitting multiple triangles from VU1. There were disadvantages in precision and limited VRAM space and other various inefficiencies but it did mean that it was very good at particle effects.

That said I definitely think Sony made a mistake by not including better texture compression and not having a sane implementation of per-pixel mipmapping.

Ok makes sense as ive never found any numbers on the GS... Most docs say 6.2gflops for the whole system.
Do you have any knowledge on how the PS2s CPU compared to the first xbox 733 cpu?

I don't think it's any competition at all really. Over twice the clockspeed, wider issue, OoOE, double the L1 dcache, and L2 dcache should all give XBox's CPU a big advantage. Unless we're counting VU0 and looking at applications that are very FMAC heavy.
 
Do they work on INT or FLOAT?

They're fixed point operations.

Alpha blending function is ((A - B) * C) >> 7) + D, where A/B/C/D can be source or destination and C can also be a fixed value. All values are colors with 8 bit ints per component.

The texture functions also perform fixed point (A * B) >> 7 modulation. The highlight modes also add the alpha component. Again these are all over 8-bit ints per component.

There's an option to either clamp the 8-bit results or let it wrap around, but the result is also 8-bits too.

Texture formats are of course integer, and end up as 5-bit or 8-bit per component. Per-vertex colors are also 8-bits per component, so there's no fractional precision.

Screen space vertex coordinates are 16-bits: 12-bit integer and 4-bit fractional, so they at least do have sub-pixel precision. Depth is 32-bit integer, and there are depth buffer options for either 32, 24, or 16-bit modes (to save space in VRAM). Fog coefficients are 8-bit integer and fogging involves (A * B) >> 8 modulation. I think you could use the fogging as a generic second blending operation to get somewhat more ALU work per pass, if what you're doing fits.

Looking at all of this it seems pretty clear that Sony started with the PS1 GPU and augmented it from there. Which makes sense given that they wanted easy backwards compatibility. It also helps explain the cut corners, like lack of perspective correct color interpolation and the weird perspective coefficient and mipmap generation.
 
I don't think it's any competition at all really. Over twice the clockspeed, wider issue, OoOE, double the L1 dcache, and L2 dcache should all give XBox's CPU a big advantage. Unless we're counting VU0 and looking at applications that are very FMAC heavy.

Ok very intresting, but shouldnt you count in the VU's as they belong to the EE? Would it be the more powerfull CPU counting in those compared to the xboxs 733 cpu?

It's pretty easy to see that the GS design was a dead end

Just as you say it was a dead end, Nvidia's CEO recently said Moore's Law is dead. I think we have to come with something new, wonder if the PS2's, or perhaps the Cells design couldve advanced further if developed upon? Can imagine theres limits there too, but GPU's and CPU's as they went, we hit a wall now....

http://www.eetimes.com/document.asp?doc_id=1331836

With that, do you think the PS2 was pushed to its limits?
 
Alpha blending function is ((A - B) * C) >> 7) + D, where A/B/C/D can be source or destination and C can also be a fixed value. All values are colors with 8 bit ints per component.

The texture functions also perform fixed point (A * B) >> 7 modulation. The highlight modes also add the alpha component. Again these are all over 8-bit ints per component.
Definitely not FLOPS then.
 
Ok very intresting, but shouldnt you count in the VU's as they belong to the EE? Would it be the more powerfull CPU counting in those compared to the xboxs 733 cpu?

This is a difficult comparison because most of the work done on VU1 is the kind of work done by the NV2A's vertex processor on XBox. So no I don't think it should be included in comparison, even if it's on the same chip as the CPU.

VU0 makes more sense to include, especially if we're talking macro mode which is usually how it was used. And I was including it, hence my comment about FMACs. But it's not a big benefit. Even in terms of raw FLOPs, VU0 in macro mode can realistically provide one 128-bit FMA per cycle while XBox's CPU could provide one 64-bit FADD and one 64-bit FMUL. The clock speed and other design features probably still give XBox the win even in workloads best suited for VU0, although PS2 does have the advantage of much more registers and a more useful instruction set for SIMD.

The other area where the EE CPU has an advantage is in its 128-bit integer SIMD instruction set, where XBox only has 64-bit MMX. But again the clock speed makes up for this and AFAIK Pentium 3 could execute two simple integer MMX instructions per cycle.

Maybe in micro mode VU0 could perform more alongside the CPU, but it's really hard to actually use it like this in a way that worked well. I'm of the opinion that micro mode should have never been included and the space spent on the VU0 micro memory and instruction fetching would have been better spent on more L1 dcache for the CPU.

Just as you say it was a dead end, Nvidia's CEO recently said Moore's Law is dead. I think we have to come with something new, wonder if the PS2's, or perhaps the Cells design couldve advanced further if developed upon? Can imagine theres limits there too, but GPU's and CPU's as they went, we hit a wall now....

http://www.eetimes.com/document.asp?doc_id=1331836

With that, do you think the PS2 was pushed to its limits?

I don't see why it'd make sense to return to anything resembling GS or Cell now, regardless of what manufacturing improvements will be like in the future. GS's approach is fundamentally inefficient in several ways. This is something I've given my opinion on earlier in the thread.
 
This is a difficult comparison because most of the work done on VU1 is the kind of work done by the NV2A's vertex processor on XBox.

Ok if i understand it correctly VU1 is helping out the GS, as in the GS alone isnt a complete GPU? I mean the GS can probally work without any help of VU1 but it would be a crippled GPU.
Allways had the impression PS2 had the stronger CPU then xbox, perhaps cause people said so on different forums back in 2002. Good this thread came up, nice to learn something new about the 6th gen, much more intresting then the newer generation of consoles although im sure its better that they went with x86 and AMD gpu's.
 
Can anyone remind me the name of that hyped PS2 racing game someone who was posting in these forums was working on?
 
Looked into DT Racer. There's some actually nice graphics there despite being a ****** game. If there's something alot more PS2 games need, it was more extensive dynamic shadows.
 
Back
Top