Questions about PS2

Something that's been bothering me is that some sources are saying that the EE vector units run at half the EE clock speed (~147-150MHz), and that's what is currently written on Wikipedia. The PCSX2 emulator emulates CPU vs VU cycles by this ratio. But I doubt this is correct. I can't find any Sony sources that state this, only that the EE runs at ~300MHz, and while the user manuals don't mention absolute clock speed at all it seems like it'd be a massive omission to not indicate that the VUs run at half clock. Especially with VU0 in macro mode.

So, what is VU0 and VU1 clock speed, 150 Mhz or 300 Mhz?

I am pretty sure they were real time. I recall the character changed costumes in the cut scenes if you used alternative clothes

Thank you!
 
I found interesting info about texture decompression on PS2. It's here on page 16
https://www.dropbox.com/s/588z1a7qtpoy0bm/EE_Overview_Manual.pdf
Also a picture.
PS2 3.JPG
I was thinking about how useful that may be. So I made two schemes. Maybe someone can comment on them.
Let's say there is 4 textures 32 KB each when compressed, and decompressed texture is 128 KB. That will require 128 KB for 4 textures, and temporary 128 KB for uncompressed texture. Tht is total 256 KB.
PS2 1.JPG
Second scheme. There is two textures in RAM, each is decompressed already and require 128 KB. And there is two sets of two textures each. That is 512 KB. Twice more than on scheme 1.PS2 2.JPG
First option saves RAM, secon saves bandwith. What do you guys think about it? Any comments? Maybe there were some mixed options, where some textures are decompressed, and some not, to make some balance between RAM savings and bandwith savings?
 
6.2GFlops with FPU+VU0+VU1 makes it easy to work out if it's bus speed or not

Yes, for that number to be accurate the VUs must be run at EE core speed. The Sony article I linked earlier says it outright (in case anyone missed it: https://www.dropbox.com/s/5ypfnlupv0grolo/Vector Unit Architecture for Emotion Synthesis.pdf):

The Emotion Engine has achieved a peak performance of 5.5 Gflops at an operation frequency of 300 MHz.

This doesn't include the EE's FPU, it's just VU0 + VU1. It's explained via:

As mentioned earlier, while the VLIW mode is available in both VU0 and VU1, the coprocessor mode is available only in VU0.
For the interfaces, VU0 also includes the coprocessor interface and VIF0, while VU1 includes VIF1 and the graphics synthesizer
interface. VU0 includes a 4-Kbyte instruction RAM and a 4-Kbyte data RAM. VU1 includes a 16-Kbyte instruction RAM and a
16-Kbyte data RAM. VU1 also has an elementary function unit (EFU). By using the fMAC’s 0.6 Gflops and the fDIV’s 0.04
Gflops for performance calculation, the VU0 reaches a peak performance of 2.44 Gflops, and VU1 achieves 3.08 Gflops for a total
performance of 5.52 Gflops.

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

The true number is also a little lower with launch PS2s because the EE was clocked at 294MHz instead of 300MHz, so more like 6048 MFLOP/s.

This article was released in the March-April 2000 edition of IEEE Micro, so basically around the same time PS2 launched. It includes a die shot of the EE and everything. So it's very unlikely that it was made in advance of a dramatic redesign that ran the VUs at half speed. It doesn't make sense to run SIMD at lower clock speeds anyway unless you're doing it to implement wider vectors over time and hide latency. But since you can see the four FMACs in the die shot they're clearly not doing this, and since the EE also does an FMAC at 4 clock latency at full clock speed there's no reason why the VUs wouldn't be able to.

I can't find anywhere in the documentation that gives the slightest hint that VUs are run at bus speed and being told to go search through them to find the justification is pretty dissatisfying. Maybe the VIFs run at bus speed (would make sense) and the confusion arises from there.
 
I can't find anywhere in the documentation that gives the slightest hint that VUs are run at bus speed and being told to go search through them to find the justification is pretty dissatisfying. Maybe the VIFs run at bus speed (would make sense) and the confusion arises from there.
You are right! I also ooked at all papers and can't find anything. Also interesting idea what VIFs can run at half speed. Maybe Corysama can say something about it.
 
Question about audio on PS2. AFAIK some dvelopers EE main core for sound processing instead of SPU2. Is it true and why they did it?
 
Question about audio on PS2. AFAIK some dvelopers EE main core for sound processing instead of SPU2. Is it true and why they did it?

Every game uses SPU2 in some capacity because that's the only way to output audio.

As for why developers may also use the EE to process audio data, it's because SPU2 is a fixed function mixer that only supports a limited number of processing features. For instance, if you want to perform any 3D positional audio effects SPU2 can't help you. Likewise if you want to decompress streamed MP3 audio SPU2 can't help you.
 
As for why developers may also use the EE to process audio data, it's because SPU2 is a fixed function mixer that only supports a limited number of processing features. For instance, if you want to perform any 3D positional audio effects SPU2 can't help you. Likewise if you want to decompress streamed MP3 audio SPU2 can't help you.

So, sound processing take part of EE power.
Can anyone tell what exacty VIF0 and VIF1 doing? Did EE reay needed them? And is there something similar in PC CPU?
 
So, IF stands for interface. They're DMA channels. The EE uses them to move data around the system. VIF0 is for VU0 and 1 is for VU1, and the GIF is for the Graphics Synthesizer.
 
Last edited:
I found interesting info about texture decompression on PS2. It's here on page 16
https://www.dropbox.com/s/588z1a7qtpoy0bm/EE_Overview_Manual.pdf
Also a picture.
View attachment 1911
I was thinking about how useful that may be. So I made two schemes. Maybe someone can comment on them.
Let's say there is 4 textures 32 KB each when compressed, and decompressed texture is 128 KB. That will require 128 KB for 4 textures, and temporary 128 KB for uncompressed texture. Tht is total 256 KB.
View attachment 1912
Second scheme. There is two textures in RAM, each is decompressed already and require 128 KB. And there is two sets of two textures each. That is 512 KB. Twice more than on scheme 1.View attachment 1913
First option saves RAM, secon saves bandwith. What do you guys think about it? Any comments? Maybe there were some mixed options, where some textures are decompressed, and some not, to make some balance between RAM savings and bandwith savings?

I don't follow your explanation, but yes the IPU was never (AFAIK) used for what it would have been really useful for.

Theoretically even with 32 bit textures, with optimally clipped and mapped textures you'd never need more than maybe double or triple of what the frame buffer takes up (because of overdraw and blending).
That means that it would actually save a lot of main memory by using 16bit - 32 bit textures (to the extent that 32 bit textures could even be useful) If you use the IPU for JPEG decompression. You'd still have the same 10 - 20 Mb per frame to send textures to eDRAM, which as mentioned, with a bit of culling and MIP map selection scheme set in place should be more than enough.
If you, for some reason insisted on using CLUT textures maybe you could still use the IPU with very low compression, so low that it would in effect be lossless and not affect the CLUT 8 or 4 bit references.
 
Last edited:
I finished WRC, WRC II Extreme and WRC 3. Now playing WRC 4. I've noticed big diffeence in graphics. Especially between WRC II Extreme and WRC 3, and between WRC 3 and WRC 4. This is unbelivable achievements. WRC 4 easily can compete with Colin McRae Dirt on Xbox 360. And in terms of dust effects and other particle effects it's even better. Also in WRC 4 thee is amazing amout of trees on screen. This is also looks like it is beyond Dirt. Also maybe anyone can tell were WRC games on PS2 30 fps or 60 fps?
 
Back
Top