Ok, but where geometry data stored in GS? Is it stored in pixel pipelines registers?
Geometry is not stored in GS ram. It's stored in main memory. GS is only pixels. Geometry data lives in main mem, passes through VU to get animated and ends up as triangular splats of pixels in GS mem. Data flow is one-way. Main mem -> VU mem -> GS mem -> TV. Reading back data from the GS to anywhere else is very rare. Like, you could that for screen shots or maybe primitive GPGPU. But, that's it.
There was info what there's possible to do up to 16 texture changes per frame. Does it mean what when texture is switched that is multipass? Exampe. There's 4 MB of EDRAM. Let's say there is resoution 512x512, so framebuffer will be 1 MB, and Z buffer is 1 MB. It leaves only 2 MB for textures. And here comes more questions.
1) Is 2 MB enough for textures, of there should be more per frame?
2) Is it possible to write 2 MB textures to EDRAM, then texture part of frame, then write next part of 2 MB textures and then texture another part of frame?
3) If yes, will it be multipass of not? Or multipass is something different?
You bring up an important issue that I left out. 4 mb is not a lot of space. After the front, back and z buffers, there's not much room for textures in there. So, the EE would need to coordinate DMAing textures into GS ram at the same time that it was piping geometry through the VU. When I said the GS could switch textures in a couple of cycles, I was talking about textures that are already in GS ram. Getting the textures there takes a bit of time. But, if all of the texture you need for an object are already there, switching between them is trivial. I don't remember what the DMA bandwidth for textures from main mem -> GS mem was. But, it was pretty high. So, you could cycle a lot of textures through the GS EDRAM every frame.
"Multipass" means rasterizing the same triangles multiple times. Early hardware could barely do anything in a single pass. So, we had to do multipass a lot. These days hardware can do a huge amount in a single pass. So, multiple passes are rarely needed any more.
Also some questions here.
1) Does it mean what there's calculatet ony part of frame polygons or all frame polygons?
2) Does it mean what VU1 needs to calculate polygons each time when they sent to GS with different texture?
The VU1 only has 16k of RAM for code, incoming data from the EE, working set data and outgoing data to the GS. That's not a lot. So, you might only have 2k of room to place outgoing transformed polys going to the GS. However, once you've done the transform work and formatted it for DMA to the GS, it's pretty trivial to go back over that pre-formatted buffer and tweak it to send it a second time. So, you could keep the positions the same and modify the UVs for a second pass with a different texture super-cheap.
Drawing a single model will probably require more that 2kbytes of polys. So, it would require drawing the model in lots of little chunks. But, each chunk only needs to be transformed once and it's triangles can be rasterized multiple times if the model wants to use multiple textures. You don't need to push the whole scene through the VU multiple times.