superchunk said:
I say a highly optimized APU (4 to 6 core) is a better choice when considering the size/wattage/heat/cost use of having separate high-end CPU/GPUs.
|
Ok, I didn't want to go into lecture mode, but this seems to be a point people don't want to see/understand, so here it goes:
First of all, an FX8.. CPU is not high-end and not high price, it's just the end of the line at AMD for high-end processors, given their financial situation. Any Intel quad-core beats the crap out of it. The multicore AMD CPUs have a very distinct design feature that separates them from Intel hardware. I'm not going to evaluate on this because it is rather complex (=boring read), but the point of the excursion is that AMD works best in "pairs" of cores on dedicated software.
If you built an XBoxNext, you'd have to make a fundamental decision right at the beginning: What are you going to use to process Kinect data? Let's look back at the XBox. MS had three choices: Use the processor built into Kinect. use the CPU within CPU memory space, or use the GPU within GPU memory space. Each of these three choices works and has different advantages and drawbacks. MS went with solution three (the first one being the most expensive) because shader architecture is well suited for this kind of image processing, and they had three shader groups. The result is we get images 320*200 using one or two of the available shader groups (and cheesy graphics because we just lost at least one shader group). Now we often hear that Kinect2 will be able to "see fingers","facial expressions","whatever". It is instantly clear that the resolution has to be at least four times higher, 640*400. That is still very low resolution for a room full of people, so let's say we want something extreme like 720p 15Hz.
For an AMD APU, that is a mighty number of shaders we must use to process a Kinect2 image (actually we must process two images since Kinect2 is a set of two webcams and no longer IR hardware). Most likely 4 of the 6 shader groups of the A10 (384 shaders, 96*4 vliw4) would be needed. So we have the same problem that we have now with XBox: we must surrender too many shader groups to Kinect and don't have enough shaders left for good graphics.
We know nothing about dedicated Kinect2 hardware processors, so this path seems to be highly unlikely.
That leads us to the simple path, use CPU power for Kinect2 processing. As I mentioned before, pairs of cores will be used for this purpose. How many pairs depends on the image size the webcams deliver a(nd the lag time allowed). This size defines the amount of work the cores have to do. What is clear that an FX4xxx quad-core processor would be a bad decision, as we lose half the processing power to Kinect2 (of course only if it is used at all). So the next step would be an FX6... hexacore processor. This would give us four cores for running the game and a pair of cores for Kinect2. Only MS knows how much processing power is needed, but if I were them, no doubt I'd go for an FX8xxx processor which offers two pairs of cores for Kinect2 (cutting image processing times in half) and four cores for the game and OS. Given enough incentives, the FX8xxx memory controllers could be enhanced to allow for the increased memory bandwith needs.
Of course, one could also use a high-end dedicated GPU for a combination of Kinect2 processing and graphics processing. I'm not sure if I can down that argument but I have a feeling that this solution would require a massive change in chache and prefetch architecture (translation: it gets very expensive) of the GPU, as the gpu has to process two entirely different memory streams (that is something that CPU front-ends are particularly good at). Otherwise the GPU could constantly stumble on memory acesses and the results are rather unpredictable (frame drop hell in essence).
In short:
XBoxNext: AMD FX8xxx processor, dedicated GPU. possibly "Weirder than usual" memory structure. GPU could be out-of-the-box, the processor modified for increased memory throughput (a third memory controller would do the job, come to think of it...)
PS4: AMD A10 APU, dedicated additional GPU. Conventional memory structure. If they chose to operate PS4 in quasi XFire, the second GPU would be another HD7660. XFire only works reasonably if both GPUs are equal power. And a more complex memory structure since we now have three "equal processors" fighting for the address bus.
My solution would be an A10 APU with separate HD7770 GPU (separate meaning it has its own 1G of GDDR5 ram) with 4GB of CPU dram.
FWIW: In case I haven't mentioned it: My second PC was a Gepard (the third was a $900 AppleII with two 160kB $900ea. disk drives). Nobody here has ever heard of it I'm sure , because the company went under before they finished the complete design. So I sat down, and with the help of friends and books, designed and built the rest of the hardware (some of it on my kitchen table, most with the machines at the physics department). Memory cards, bios rom cards, harddisk adapaters, even a graphics card (mostly copied from Byte, when Byte was thick and Steve Ciarcia was the king of homemade electronics). So I think I still have some understanding how things work. I also worked as a consultant in various industries so I know what "Save a dime" can mean..