• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Is it possible to have different cores on the same CPU?

That would be great for a console cpu.
That's kind of how the new consoles and some cell phone CPU works, the PS4 for eg has 8 cores but uses 6 cores for games and 2 cores for OS, my Motorola Moto X phone has 8 cores but 2 for OS, 2 for GPU, 1 for radio, 1 for always listening, 2 for background processes.
 
That would be great for a console cpu.
Problem is consoles are naturally constrained by TDP / cooling / power limitations, which is why they're based on Jaguar and not FX chips. 130-150w of a PS4 includes both CPU and 7850 class GFX + optical drive and other chips. And 8x Jaguar cores are already at 50w (at 2GHz). 4x Jaguar cores (25w) + 4x Piledriver cores (90w) = 115w or about 65w too much to handle. There simply isn't enough "thermal room" for any 95-125w "big" Piledriver AMD cores in consoles. It would also drive up power consumption to near 250w at which point, they'd need larger PSU's, larger cases, larger heatsinks, larger / louder fans, etc.
 
The new consoles use chips with all eight cores having the same design. Big.Little chips tend to have either only the big or only the little cores active at any given time. The PS3 did have SPEs which were of a completely different design than the one main core, but that is the really only time this has been tried in recent history.

Most modern architectures tend not to have different core running simultaneously. The main reason is that this setup makes scheduling a nightmare. Modern CPUs have to dynamically allocate threads to be executed on separate cores. When some cores are faster and some are slower, it is hard for the scheduler to figure out how to optimally allocate the cores without a thread stuck on the slower core stalling a process that a faster core needs to keep going. The PS3 avoided this by forcing the programmer to schedule tasks for the SPEs rather than having a scheduler dispatch threads to them.

For the record, I am referring to CPU execution core like the Bulldozer and Jaguar cores the OP mentioned. For this purpose, GPU shaders, H.264 decoders, cell phone radios, or anything else that doesn't host the operating system.
 
Last edited:
Its certainly possible to have heterogeneous cores on a processor, we certainly have the technical know how to schedule them and such. Practically no operating systems today can cope with it so we would need new schedulers writing specifically for the hardware. You could argue we are there already actually because we have the CPU cores and we have the GPU cores on the integrated GPU. You access the GPU cores via openCL and it schedules the parallel processors separately and your program deals with the boundary between the two.

At some point in the future Intel will likely release smaller but compatible cores on cards so that programs can run across not only the CPU but add on cards running in the PCI-E slot. They already have cards with 48 cores or so but currently they run their own OS, but at some point I would hope they end up in the same OS and threads get scheduled based on hints as to where its best to put them.
 
Intel Consumer Quad Cores are down to ~117mm^2 excluding GPU area in Haswell (And will go down significantly at 14nm).

The need for add-in cards for consumers for use of general processing is in the area of not going to happen unless they get a competitor in the consumer space that pushes them to use, at the very least, 400-500mm^2 of CPU die area on their consumer chips.

Also Heterogeneous general computing cores are pointless when one can just use an identical slower clocked core merely using a different process on the same chip like Nvidia does for their 4+1 designs.

And no, GPUs are not "General Computing Cores" as I define "General Computing Cores" in this post.
 
Back
Top