Xbox 360 SoC – How anc could it function with Xbox 720 Durango?
Yesterday I put out a video discussing the rumors that the Xbox 720 Durango contains an Xbox 360 SoC (System On Chip). There was one part of the rumor that that was fairly confusing : “every Durango ships with a Xbox 360 SOC. There was a reason why MS hired so many former IBM and AMD employees. I’ll admit I’m not an electrical engineer (I’m in software) so I won’t pretend to know the ins and outs of how the 360 SOC integrates into the Durango motherboard. All I know, and all I need to know about this new change is that I (or a game dev) can use the 360 SOC in parallel with the original Durango hardware.
What does this mean in basic terms? Well, apart from Durango having 100% BC with the 360, it also increases Durango’s processing power a fair amount.” You’ll notice the bolded part. In yesterday’s video I mentioned a few doubts I had – but I didn’t want to write anything off. There are a number of problems with the rumor – well, a bucket-load of problems, but there is also a few grains of truth too. The first is that Microsoft have hired in some of the best people – and it’s possible that they have indeed been working on that. The second hint that it’s true involves a previous rumor – that the Xbox Mini will be using an Xbox 360 SOC. This SOC will be a combination of the GPU and CPU of the Xbox 360 (along with other key components) which should shave the cost of the Xbox Mini to around the $100 US mark. But other than that, is it possible?
Does XBox 360 SoC fit in with other Rumors?
Let’s ignore the elephants in the room – coding the damn thing for a moment, and talk about the rest of the issues which plague this. One of the biggest flaws is just days ago, previous rumors talk about the Xbox Mini being a requirement for the Durango to play Xbox 360 games. The Xbox Mini does NOT come with a DVD drive, so if you want to play the ones you’ve already got on disc (and not via download) you’ll need to use the Durango with it. The Durango supposedly acts as a control device, and simply reads data to the Xbox Mini. Further – the Xbox 720 Durango controls the Xbox Mini in all other ways – so in effect, it’d be like the Sega CD of the old 16 bit era, which the Mega Drive / Genesis controlled (and you plugged the control pads into). Although Sega’s addon had it’s own UI and so on, but couldn’t function without the Genesis. So why would those rumors be true, IF the Durango had the Xbox 360 SoC? One of them has to be false, unless they do something else – or there’s some extra functionality that I can’t really think of. Microsoft’s Xbox TV isn’t it either apparently, that’s been confirmed to work on Durango too. Or as confirmed as rumors can get.
And makes sense, MS don’t want the Xbox 720 Durango to compete only for gaming space. Alright – so let’s assume that the previous rumor about the Xbox Mini required to play Xbox 360 games is false, or ignore it for a moment – what other issues are there? A few actually – the first which worries me is the GPU. The GPU of the Xbox 360 was direct X 9, and the Durango is supposedly using DX11 (possibly DX11.1) combined with a version of Windows 8. It doesn’t take great IT skill to figure that means certain effects cannot be done on the GPU of the Xbox 360 SoC. Indeed, there’s a huge list of features it just doesn’t support. Check here for more info on DX versions. There’s also the other issue, that they are from 2 completely different generations. Meaning that they can’t be say CrossFired like a PC can be – indeed, they’re not even using the GCN (Graphics Core Next) that the Xbox 720 is supposedly using. However, it’s not impossible for them to be sent to do other things – such as say UI drawing, or something simple. Others have talked about the Xbox 360 SoC handling Texture Streaming, Physics and other such loads. Okay – so let’s get on to the other issues.
X86 and PowerPC – compatible?
The first of which is the CPU’s being vastly different architectures. The person starting these rumors earlier on had said that the rest of the leaked specs were accurate. The leaked specs are an AMD Jaguar APU, which combines an 8 Core CPU running at 1.6GHZ with 12 GCN cores (the same core that’s found in the PS4 and the Radeon 7000 series cards AKA Southern Islands), This is coupled with 8GB of DDR3 RAM, and 32MB of ESRAM (which is super fast) to give similar bandwidth that its rival, the Playstation 4 has. The main issue is that the AMD Jaguar is a X86/64 bit CPU (the PS4 version is a hybrid), and as mentioned earlier, the CPU inside the Xbox 360 is PowerPC based. That isn’t to say that it couldn’t work – there could be a few ways. The first, is that the software is directly written to take advantage of this – although it’d be extremely tricky. There are examples of software that’s previously done this, but most games developers won’t bother. There is the other option – that the PowerPC would have an API running in the background that developers could tap into, basically ’emulating’ the effect of yet more X86 cores, Can this really happen? Yeah – but as always, there’s a performance penalty. Indeed, when Apple’s Mac moved from PowerPC to X86, certain applications would work, providing they were run through an interpreter, but Rosetta was a PowerPC Dynamic translator to X86. It’s also possible that there is a hardware addon to help smooth out the transition.
There are many dynamic technologies that could also be employed – I’ll place an exert from an article in Macword: “Transitive’s Dynamite code morphing software is tailored to each translation, but the kernel itself is CPU agnostic. In the PowerPC to X86 example being demonstrated today, the PowerPC code is first decoded into an intermediate abstract language by a specific PowerPC decoder running on the X86 processor. That data is then given to the Dynamite kernel which generates optimized binary code for the X86 processor. The Dynamite kernel then sends that data to a X86 encoder that allows the translated and optimized PowerPC code to run on the X86 processor. Dynamite is fast, and it gets faster the longer an application is used.
Dynamite examines code as it translates and works to optimize the output that is ultimately sent to the CPU. With Each iteration of an application or task, Dynamite moves more relevant data to the processor’s cache and discards more code that is in the application but not needed for the task at hand” That was about 12 years ago (the article came from 2001) – but you can see that the technology is there, in theory at least. The biggest issue would be how easy it would be for developers to simply tap into this raw power. It’s unknown of course. It’s possible with friendly API’s it wouldn’t be too bad – perhaps not that much different than getting used to programing for more CPUs. Although it would certainly be interesting just how much difference it would make. The Xbox 360’s GPU handles 240GFLOPS of power. The CPU apparently 115GFLOPS. If you combine those with the performance that the console previously was said to have, it comes an awful lot closer to the 1,79TFLOPS of Sony’s Playstation 4.
Could it be a last minute move, as MS have noticed how powerful the PS4 is and feel that they need to a last minute boost to keep up? Sega felt similar when they first heard about Sony’s original Playstation, and added in a plethora of extra components into their Saturn console back in the 32-bit era. This added a lot of complexity into getting the most of the console, which for the time had a fairly unique Dual CPU design. For the sake of Microsoft, adding further complexity into the console is a trade off with the prospect of having a better product.
If they wrap it in sufficiently good API / other programming tools, and make it easy enough for the programmers to access then it could well be a wise move on their part. Time will have to tell us if these XBox 720 Durango rumors prove to be true, or if they are nothing more than nonsense.
http://www.macworld.com/article/1019635/transitive.html
http://en.wikipedia.org/wiki/Apple’s_transition_to_Intel_processors