Predict: The Next Generation Console Tech

Status
Not open for further replies.
Newest Intel and AMD CPUs internally support AES instruction set for fast encryption. I doubt a future console would have a separate processing unit just for that (not cost effective).
But very effective in piracy prevention which is one of the main goals when designing console hardware.
 
Newest Intel and AMD CPUs internally support AES instruction set for fast encryption. I doubt a future console would have a separate processing unit just for that (not cost effective). All current generation consoles process sound by CPUs, and the twice as wide vector units in the new CPUs make sound processing even faster on a CPU. Basic sound mixing isn't that CPU consuming, and if you want to do something fancy like realistic sound occlusion and bouncing, you likely want to use your engine's existing acceleration structures (shared with physics and graphics) to boost up the performance. Fixed function sound hardware isn't going to be the right thing for that.

Those rumors seem to be false in almost every way.

May be not sound then, but for encryption, a fixed function block seems fairly plausible to me.

On desktop, encryption/decryption has to be in software since the vendor has much less platform control.
 
Newest Intel and AMD CPUs internally support AES instruction set for fast encryption. I doubt a future console would have a separate processing unit just for that (not cost effective). All current generation consoles process sound by CPUs, and the twice as wide vector units in the new CPUs make sound processing even faster on a CPU. Basic sound mixing isn't that CPU consuming, and if you want to do something fancy like realistic sound occlusion and bouncing, you likely want to use your engine's existing acceleration structures (shared with physics and graphics) to boost up the performance. Fixed function sound hardware isn't going to be the right thing for that.

Those rumors seem to be false in almost every way.
On the XBox 360, audio mixing for a normal game can use as much as two full hardware threads, 1/3 of the CPU dedicated to audio. That's not even considering complex games like car racers, where each vehicle can have dozens of voices and complex filters. That's hugely wasteful in terms of cost. A general purpose CPU is just not optimised for audio processing. The PS3 at least has the SPUs, which if you squint just right, look suspiciously like DSPs :). Also, the 360 has dedicated silicon for output scaling, encryption, and XMA (compressed audio format) decoding. Most ARM SOCs now have dedicated silicon for audio mixing, video decoding, and encryption. Generally referred to as "dedicated cores" in their literature.

The one I personally have experience with (which was MIPS, not ARM, but close enough) was the Broadcom BCM7440, which had 2 general purpose cores, a graphics core, a codec core, an audio DSP core and a security core. Just because it's in a single package doesn't mean there isn't dedicated silicon.
 
On the XBox 360, audio mixing for a normal game can use as much as two full hardware threads, 1/3 of the CPU dedicated to audio.
Can use. But if you don't want to, that silicon can be used elsewhere, whereas if you have enough DSP to fill that peak role, you're adding cost to your console to augment just sound. Sure, that's a better user experience, but there's only so much you can add to make everything better!

A general purpose CPU is just not optimised for audio processing. The PS3 at least has the SPUs, which if you squint just right, look suspiciously like DSPs :).
Precisely, which is where we're headed. Better throughput designs, and more flexible designs. I've always wanted to create a software synth on Cell because I reckon it'd be the best platform for that.

Also, the 360 has dedicated silicon for output scaling
I thought it didn't, and it was on Xenos? At least, ANA/HANA doesn't handle scaling. I recall talk of 5 taps or whatever it was in the scaling which led me to believe it was done on the shaders.

encryption, and XMA (compressed audio format) decoding.
Sure. And GPU's have silicon for hardware texture decompression and the like. That's a far cry from an AI processor or physics processor though. :p

Most ARM SOCs now have dedicated silicon for audio mixing, video decoding, and encryption. Generally referred to as "dedicated cores" in their literature.
I didn't know that, so I guess that gives one point of credit to the original rumour. It's still a long way from physics, AI, IO, and the like though. Why add a physics processor when physics is well suited to GPGPU? Just use that silicon budget on the GPU instead. Why have a dedicate AI processor instead of making your CPU bigger and badder?
 
People say MSNerd is reliable, what is his track record? What he has he correctly predicted before?

These next box rumors are getting stupider and more unlikely by the day seems like. Still no credible rumors about the real next box.

And what is all this "win 9" stuff? I've never heard of it before. Am I supposed to believe Windows 9 is coming out in 2012 when Windows 8 is not out yet? Is that the idea?
I would say he can't be all that reliable. I count at least 9 complete fabrications in his last post alone, and I was giving him the benefit of the doubt for all the stuff I don't have personal knowledge of.

For instance, WP7 is not built on CE 6 R3. It's built on CE 7. The only phone built on CE 6 was the Kin. (WM 6 was built on CE 5, oddly enough :))
 
Can use. But if you don't want to, that silicon can be used elsewhere, whereas if you have enough DSP to fill that peak role, you're adding cost to your console to augment just sound. Sure, that's a better user experience, but there's only so much you can add to make everything better!
The difference is that a CPU core costs you dollars, and a DSP core costs you pennies. That's why almost all mobile architectures have dedicated audio silicon. By far the most popular request my team gets from game devs is "Make audio cheaper!". Just running a single good reverb will completely blow the L1 and L2 cache, and require ridiculous amounts of memory bandwidth. We support 320 simultaneous voices on the 360 (that's how many the XMA hardware will decode at a time). AAA games use all of them. Even plants vs zombies uses over 100 and most of a core, _just for audio_. If we were to have the choice of adding a full core to the 360 or a DSP that can handle the same load. We'd probably choose the DSP, since it would be vastly cheaper in BOM and essentially give devs an extra 50% CPU for game logic.
I thought it didn't, and it was on Xenos? At least, ANA/HANA doesn't handle scaling. I recall talk of 5 taps or whatever it was in the scaling which led me to believe it was done on the shaders.
The silicon may be situated in the GPU, but it's dedicated, not just a software shader. Doing a high quality 5 tap scaler in software would be prohibitively expensive, as folks on the PS3 have noticed.
Sure. And GPU's have silicon for hardware texture decompression and the like. That's a far cry from an AI processor or physics processor though. :p

I didn't know that, so I guess that gives one point of credit to the original rumour. It's still a long way from physics, AI, IO, and the like though. Why add a physics processor when physics is well suited to GPGPU? Just use that silicon budget on the GPU instead. Why have a dedicate AI processor instead of making your CPU bigger and badder?
I'm with you on that. I don't want to give that ridiculous rumor-monger any legitimacy, and for physics (use the GPU) and AI, it makes no sense to have dedicated silicon. I was just commenting that for some applications, especially things that need high data rates and are streamable without a lot of branching, dedicated silicon can allow you to give the game devs a lot more CPU for actual game logic and give you a better bang for your buck. If the XBox were going an ARM route, you can bet there would be a number of dedicated codec, audio and other cores incolved. Anyone with knowledge of mobile SOC design would admit to that. AI and Physcs though, and Win9? The dude's on crack.
 
People say MSNerd is reliable, what is his track record? What he has he correctly predicted before?

MSNerd is worth attention because s/he had early and accurate information on Courier, Microsoft's abandoned tablet project, and the whole Windows Phone/Zune/Kin debacle back in 2009 and 2010. The blogger seems to be well connected to Microsoft's Entertainment & Devices group, which is where the Xbox and mobile products live.

http://articles.businessinsider.com/2011-11-07/tech/30368669_1_windows-phone-kinect-rumor

Tommy McClain
 
By far the most popular request my team gets from game devs is "Make audio cheaper!".

Damn right. Even if the HW thread is not fully utilized, our audio guys won't ever let any other work run on it since the audio update is very timing sensitive.
A dedicated DSP would make for a much better resource utilization and would be cheaper to boot.
 
AI and Physcs though, and Win9? The dude's on crack.

Perhaps he's referring to the type of calculations involved with high level AI and Physics respectively, which at least some developers insist are diametrically opposite in requirements, so that AI would typically run on a PPE type processor, and Physics on VMX/SPE/(ROP/Shader core or whatever it is called on a GPU) etc.

Personally I think audio should be fully integrated into the game engine though as much as possible, so it would require some good design to integrate a separate audio chip effectively. For instance if the dedicated audio chip does reverb, then it needs to be able to be controlled to a very high degree. In this respect I like what people like Naughty Dog have been able to do in Uncharted 2 (not sure they kept it in 3 though), and I was actually hoping we would get that more or less standard next gen.

I am wondering if a dedicated audio hardware is really necessary, or whether it can be integrated in the GPU design. Does audio really require such different type of hardware as anything else that can process streams properly? If you do FXAA on the 360, can't you use the same type of calculations for audio?
 
I didn't know that, so I guess that gives one point of credit to the original rumour. It's still a long way from physics, AI, IO, and the like though. Why add a physics processor when physics is well suited to GPGPU? Just use that silicon budget on the GPU instead. Why have a dedicate AI processor instead of making your CPU bigger and badder?

Physics on the GPU is a great idea for PC games...

On consoles however we have more than enough data+processing to throw at the GPU before considering trying to punt your physics on their as well...

Also bearing in mind physics (as well as AI for that matter) is generally quite closely coupled with your gameplay code+data & so I don't think it would be the wisest decision pissing away bandwidth on your bus just because you have to move all this data around to different cores when it probably makes more sense to keep it as localized as possible...
 
On consoles however we have more than enough data+processing to throw at the GPU before considering trying to punt your physics on their as well...
A next-gen console might go light on the CPU and heavy on the 'GPU' with the intention of moving non-graphics work onto there. But whatever, they're going to either add CPU silicon and GPU silicon, and certainyl not PPU silicon or AIPU silicon!

Also bearing in mind physics (as well as AI for that matter) is generally quite closely coupled with your gameplay code+data & so I don't think it would be the wisest decision pissing away bandwidth on your bus just because you have to move all this data around to different cores when it probably makes more sense to keep it as localized as possible...
Except, as bkilian says above, a 'core' can be local to a chip. Cell very efficiently moves data between cores as I understand it, so a processor designed with that in mind shouldn't have the sort of penalties one might expect. I just don't see the loss of flexible programming potential as worth it. Except the audio, which is an eye opener for me. I didn't realise it was that costly, as it never gets a mention when developers do open up with their engines. I don't ever recall one of the PS3 slideshows showing significant SPU usage on audio. If there is a constant processing requirement that would benefit from custom hardware then it's worth adding, for sure, which kinda makes me wonder why no-one has done that before? Adding a DSP to XB360 and going dual-core would have been cheaper but yielded the same results in game (taking one core as used up on audio), no? Although I suppose if that core has free time to do other stuff (reserved OS) then it's more functional than a dedicated DSP. But going forward, a CPU featuring SPU-like cores would serve all worlds. Yes, I'm thinking of a new ARMCell here. :mrgreen:
 
A next-gen console might go light on the CPU and heavy on the 'GPU' with the intention of moving non-graphics work onto there. But whatever, they're going to either add CPU silicon and GPU silicon, and certainyl not PPU silicon or AIPU silicon!

With a (hopefully) greater focus on increased interactivity in games going forward into the next hardware generation, I would hope vendors don't go "light" on either, & certainly not on the CPU side of things...

Except, as bkilian says above, a 'core' can be local to a chip. Cell very efficiently moves data between cores as I understand it, so a processor designed with that in mind shouldn't have the sort of penalties one might expect.

Cell efficiently moves data between cores at the detriment of usability & flexibility, by imposing a very rigid structure on your ability to access data.
Also such rigidity forces work done on the SPU to take upon itself a stream-like data model in order to minimize data dependency so your not spending all your time DMA-ing data in & out of your local stores for a given computation...

This makes it very hard to use such a setup for tasks such as AI or general gameplay logic & whilst it's not impossible, it's far from the best fit hardware design for highly coupled code with inherently sporadic memory access patterns...

I just don't see the loss of flexible programming potential as worth it. Except the audio, which is an eye opener for me. I didn't realise it was that costly, as it never gets a mention when developers do open up with their engines. I don't ever recall one of the PS3 slideshows showing significant SPU usage on audio. If there is a constant processing requirement that would benefit from custom hardware then it's worth adding, for sure, which kinda makes me wonder why no-one has done that before? Adding a DSP to XB360 and going dual-core would have been cheaper but yielded the same results in game (taking one core as used up on audio), no? Although I suppose if that core has free time to do other stuff (reserved OS) then it's more functional than a dedicated DSP. But going forward, a CPU featuring SPU-like cores would serve all worlds. Yes, I'm thinking of a new ARMCell here. :mrgreen:

Fundamentally I agree in the sense that having lots of dedicated silicon is far from the best approach for any given console hardware platform...

I can see an argument for having a dedicated encryption core/co-processor for security reasons though (inaccessible to user-mode processes) however this is far from a new idea...

Also regarding audio,
I'd be thoroughly worried if we had an audio system running over 2 CPU threads for the entire frame...

I'd be intrigued to hear some details on what kind of audio processing you have going on that requires such heavy overheads bkilian...?
 
It was kind of half-serious. 4GB should be achievable with 4 chips by the time next XB is released. With smaller box I might be worried if it can fit good enough CPU or GPU but RAM is the last thing I'd worry about.

What type of phone do you have? I've seen that iPhones (which I don't think have reached 1GB yet) use DDR2 memory.
 
If there is a constant processing requirement that would benefit from custom hardware then it's worth adding, for sure, which kinda makes me wonder why no-one has done that before?
The original XBox actually had custom audio hardware. Unfortunately, we did not integrate it into the standard SDK tools, and so devs had to program it seperately with a lot of effort. No one used it(*). You can probably guess why the 360 removed it.
Audio processor: NVIDIA "MCPX" (a.k.a. SoundStorm "NVAPU") 64 3D sound channels (up to 256 stereo voices)
HRTF Sensaura 3D enhancement
MIDI DLS2 Support
Monaural, Stereo, Dolby Surround, Dolby Digital Live 5.1, and DTS Surround (DVD movies only) audio output options

Also regarding audio,
I'd be thoroughly worried if we had an audio system running over 2 CPU threads for the entire frame...

I'd be intrigued to hear some details on what kind of audio processing you have going on that requires such heavy overheads bkilian...?
I tend to see the degenerate cases, since developers that are having no problems don't tend to contact us. Also most developers nowadays use third party audio software like fmod, and we don't often hear from them. However, a popular car racing game uses over 500 simultaneous DSP effects just for the cars, they can go to over a thousand when you add in the non vehicle systems.

(*) for a non zero value of "no one". It did get used by a few developers.
 
What type of phone do you have?
N950. The HW was ready late last year but Nokia made a royal screwup and didn't manage to get the software done. I've been using it as my only phone since beginning of July this year and haven't had a single problem with it :)

Also, I wouldn't bring iphones out as a etalon-HW. Yea, they do have fancy GPU but that's pretty much all they have.

While I understand there is a HUGE difference between the RAM in phones and a console the point should still remain that fitting 4GB of it inside even a very tiny box should be trivial. Mac mini should be at least 2x smaller than next-gen XB and is based on relatively old tech (compared to non-existing next gen XB) and can hold 8GB now.
 
The original XBox actually had custom audio hardware. Unfortunately, we did not integrate it into the standard SDK tools, and so devs had to program it seperately with a lot of effort. No one used it(*). You can probably guess why the 360 removed it.
Ouch. ;)
 
N950. The HW was ready late last year but Nokia made a royal screwup and didn't manage to get the software done. I've been using it as my only phone since beginning of July this year and haven't had a single problem with it :)

Also, I wouldn't bring iphones out as a etalon-HW. Yea, they do have fancy GPU but that's pretty much all they have.

While I understand there is a HUGE difference between the RAM in phones and a console the point should still remain that fitting 4GB of it inside even a very tiny box should be trivial. Mac mini should be at least 2x smaller than next-gen XB and is based on relatively old tech (compared to non-existing next gen XB) and can hold 8GB now.

I'm with AlStrong on this. 4GB is a lot of chips to accommodate on a console motherboard. You mentioned four chips earlier, but the only 8Gbit density chip I saw was achieved from stacking 2Gbit DDR3s. They could go with XDR2 since it has up to a 4Gbit density, but that would leave the question of cost for eight of them if one went with a UMA.
 
I find it quite amusing that most of the talk here focuses on numbers and not on needs. The only "wants" on the last 10 pages were those listed by Laa-Yosh (#7850) and "make audio cheaper" mentioned by bkilian on the previous page. But "wants" is what companies (well, MS at least) focus on when designing the next HW/SW. Expecting next-gen consoles to be designed by numbers is expecting disaster IMO. And "wants" are partially the next big things developers request, want to focus on or implement in order to differentiate their product. "Gimme more powah!" is not the way I would express my needs if I were them. ;)

So here's a short list of things I believe are important if we want next-gen to deliver better experiences and not just more pixels.
- programmable AA as part of the graphics pipeline: something like hull shader that would run on unified shader cores but would be designed for AA calculations
- some sort of advanced support for advanced skinning and animation blending (probably in GPU; would more consts/variables be enough? are new data primitives required?)
- better support for transparency (order-independent transparency support from HW?)
- better support for SxS graphics rendering and GPGPU processing to enable e.g. advanced physics on GPU
- better support for data streaming (finer control over the way data is cashed/saved on hard drive? new optical media format optimized for out-of-order data streaming?)
- dedicated hardware for stuff, that's cheaper if not made generic, after all there's a reason why texturing uses dedicated silicon and hasn't been made general purpose ;) (audio and video decoding, audio processing, cryptography, secure storage, etc.)
- support for dynamic resolution scaling and support for 60FPS/dual-image (3D) rendering

There's also need for advanced lighting (HDR, indirect lighting, caustics, etc.), improved connectivity, TV support, image analysis (think: Kinect), destructibility and object deformation and many more. Some of these things (and some of the stuff above) could be running on generic HW assuming that platform holder provides necessary libraries and CPU/GPU/memory/bandwidth load is predictable, but in many cases dedicated hardware seems like a better option. These are things that would drive the design of "my" console. :)
 
I'm with AlStrong on this. 4GB is a lot of chips to accommodate on a console motherboard. You mentioned four chips earlier, but the only 8Gbit density chip I saw was achieved from stacking 2Gbit DDR3s. They could go with XDR2 since it has up to a 4Gbit density, but that would leave the question of cost for eight of them if one went with a UMA.

Yeah, cost is going to be high for the higher density modules, at least, even DIMMs using 1Gbit DDR3 chips are not that cheap on the market afaik (those 8-16GB kits). And that's just really slow DDR3 compared to the much higher clocked GDDR5 that everyone should want or expect on a modest memory bus.

Certainly, packing as many chips in the same space as SODIMMs is going to have heat concerns at the higher clocks. Plus, DIMMs have latency concerns compared to directly soldering the things right next to the console processors. DDR3 DIMMs just aren't directly comparable to the GDDR5 configurations you see on high end graphics cards at all.

So again, sure, pack in all that DDR3 onto DIMMs for consoles, but just don't expect any decent performance. Just look at how bandwidth constrained llano is. You'd need at least triple 64-bit channels at non-JEDEC spec speeds to even compete.

And just a reminder, the GDDR3 700MHz chips in Xbox 360 were pretty costly due to supply constraints and being at the top end of clock rates. It eventually went down, but it's not something to sneeze at so easily. Don't forget how long it took for them to switch to 1Gbit chips too as it really only made sense to switch if it were cheaper.

Heck, we're only barely seeing 2Gbit GDDR5 and that's not quite as fast as the 1Gbit chips yet. Sure, supply can ramp up to meet demand of the console manufacturers on top of existing high end GPUs, but that is hardly comparable to the rest of the PC market demanding DDR3 manufacturing. In the same way, the cost to make XDR2 is hardly going to be comparable.
 
Status
Not open for further replies.
Back
Top