Xbox 360 GPU A Vector Co-Processor?
Anyone Seen Thomas? writes "While Beyond3D's article on the ATI C1 (XENOS) graphics processor in the XBOX 360 gives you all you need to know about ATI's next generation hardware in terms of generating screen pixels, it also gives a big clue as to how it'll be useful for general purpose vector programming. XENOS is able to write data out of its unified memory architecture into system memory, and read it back again later. So with a large pool of powerful vector hardware available, does anyone fancy the idea of having a generalised , high-performance vector processor in their PC?. Read about that and the rest of XENOS." From the article: "Since XBOX 360's announcement and ATI's unleashing from the non disclosure agreements we've had the chance to not just chat with Robert Feldstein, VP of Engineering, but also Joe Cox, Director of Engineering overseeing the XBOX graphics design team, and two lead architects of the graphics processor, Clay Taylor and Mark Fowler. Here we hope to accurately impart a slightly deeper understanding of the XBOX 360 graphics processor, how it sits within the system, understand more about its operation as well as give some insights into the capabilities of the processor."
Not like Sony's current stance of producing nothing of substance, whilst slagging off the competition.
So is this a paid ad from Microsoft or just an independant review from a third party? I don't think they are trying to sell me anything other than an informative article.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)
Does anyone else think Gran Turismo 4 looks actually better than Forza sports? Point being, the console world is always 50% hardware, 50% software.
I know that both ATI/Microsoft and Nvidia/Sony really want to 'hype' their technologies but is anyone out there actually delusional enough to think that any of the upcomming systems ( XBox 360/PS3/Revolution) will actually produce graphics that are dramatically different from any of the other systems?
To a certain extent I'm personally expecting very little in the way of technical progress in graphics and a far greater focus on artistic considerations. Let's face it, we're hitting a point where using 'brute-force' and dramatically increasing the geometry in your objects is not what will produce a better looking game; what will make a difference is well designed objects and a more populated environment.
Now, more technical power is needed to obtain these more populated environments and can help with designing better objects but there is a limitation on what is currently needed. I expect that, for the most part, if you could produce 4 times the geometry of the XBox (twice the geometry per object and twice as many objects on screen) and you can have every pixel calculated by a shader (which is aproximatley 4 times as complicated as one that can be run on the XBox) you will be meeting the requirements of almost every game made in the next generation. I expect that every one of the upcomming consoles surpasses these specifications.
Honestly, I thought this was a slap at Microsoft. In the article they admit that the GPU is not compatable with DirectX. The original XBox's DirectX implementation was a bit funky but basically it was DirectX8 and developers bitched about that. The XBox360's Shaders(and who knows what else) aren't DirectX9 compliant, and it sounds like their is no hope for it Being DirectX Next compliant. If developers are going to have to rework a lot of complex code for the XBox360 I think this will turn off many game developers who see the XBox as a console that's cheap to port.
The GPU also functions as the main memory controller; it has full access to all of the memory on the machine.
MEMEXPORT is exceptionally cool because this means that the CPU can stream data to the cache and let the GPU access it directory. This reduces latency and yields more useable bandwidth for main memory for both the CPU and the GPU.
Yes, that was the point I was trying to make. Since this article says DirectX has been basically thrown out the window when designing the XBox360's GPU it will alienate a lot of the game developers that were drawn to the original XBox. Ports of Windows games will also need to rework all their SSE optimizations to altivec and make sure their code is big endian safe for the PowerPC CPUs.
I have never written a game for the original XBox but I know you can't rely on DirectX8 completely for 3D. The XBox's 3D API is just strongly based on DirectX8. To utilize the XBox's console properties(like truly shared RAM) you have to use some extra libraries that Microsoft included in the XDK.
The PSP's CPU architechture is VERY close the the PS2's, but the PS3 is a whole nother beast. The PS2 has 2 VPUs with 32 128-bit(4x32bit) floating point registers and 16 integer registers with 16KB of Data Memory. The main CPU is MIPs based. The PS3 uses the new CELL CPU which is PowerPC based, the CELL will use 7 SPEs that each have 128 128bit registers and each has 256KB SRAM.
The PS3's SPEs will be used very sililarly to the PS2's SPUs(dot-products, etc) although they are much much bigger, there are a lot more of them, and they are a LOT faster. The CELL CPU was developed by Sony, Toshiba, and IBM and is slated to be put into TVs, PVRs, etc. It is very good at compression/decrompression, showed it off decoding 48 MPEG2 streams with power to spare.
So the answer to your question is; not yet. Sony will put a CELL CPU in many of their electronics, but not until it is cheaper.
Think about it for a minute. What component in the system is going to be hitting memory the most? (hint: it renders textures to the screen) Look at what kind of bus that most PC video cards have between the GPU and on-card memory -- they're built to reduce latency as much as possible.
.
Moving the memory controller onto the same die as the GPU yields a non-trivial performance benefit both in available bandwidth and latency (look at what kind of gains AMD got by moving the NB on-chip)
If the controller were on neither the CPU or the GPU, you end up with performance of both the CPU and GPU decreasing and higher production costs (more chips to produce/install and more traces on the board).
If the controller had been moved onto the CPU, CPU performance would be better but GPU performance would suffer. CPU performance constraints can be reduced significantly by proper management of the L2 cache. However, caching for a GPU is not an effective stratedgy given that most of the bandwidth needed is either pushing rendered data out to memory (never to be read again) or pulling in data for textures. In other words, placing the memory controller on the CPU is not an optimal performance gain.
Sticking that puppy on the GPU was definately the right decision.
You're right, but you're overlooking an important point. Xbox developers basically didn't think DX/D3D compatibility was especially important. It was a selling feature that Microsoft hoped would score big, but that didn't happen. The 360 apparently has an all-new 3D API which was created in concert with some of the largest Xbox developers.
Anybody with even a little 3D programming experience will tell you that it isn't too difficult to learn a new API. They all deal with essentially the same concepts.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005