How many cores does a smartphone need?

ChristianKing

New member
Jan 10, 2012
82
0
0
Visit site
ideally I'd like 4 cores and here's why. Cores 1 and 2 are dedicated to the os. In windows phone 7.5, Microsoft did a wonderful job of offloading a lot of operations off the main UI thread. This is wonderful because the UI remains responsive. However ideally, you'd want to offload all those non UI activity threads to their own core and leave everything else OS related on a separate core.

The third core should be dedicated to imaging and video. Pushing pixels with a dedicated core can yeild some awesome results.

The fourth core should be dedicated to sound and signal processing.

In reality I've described a dual core device with a dedicated resources to aid the imaging and sound Processors. The Pureview sesnsor has a dedicated processor to help move all those pics. Dedicating another processor to sound would allow high fidelity audio files to make an appearance in video and music.

AS a developer, two cores is awesome when you do a lot of asychrounous programming but dedicated resources for pics and audio would yield a benefit that users can tangibly see every day
 

CSJr1

New member
Aug 15, 2012
264
0
0
Visit site
I appreciate the OP insight and much of it makes sense. However, its not what the people need it is what peolpe want. These cell phones are becoming personal computers for some. In a couple of years, I see many will uses these more than their home PCs. So when it comes to resale value of your phablet 2 years from now, people are going to want one with modern specs instead of outdated ones.

Besides, a quad core WP8 would mute an Android argument no matter how irrelevant the argument is (right now).
 

kinslayer

New member
Nov 10, 2011
44
0
0
Visit site
An excellent post! Pretty much what I keep telling people but put much more elegantly. Would be nice for tech bloggers to read this actually. I get very annoyed when I see them touting a device's performance for the "quad core" inside :/

But alas...as some people have said, thanks to Android putting the power back in the OEM's hands, they are playing the specs game which mean nothing. Usually at the cost of user experience and battery life.

Thanks for the post! I would love to hear more about what you know of Android's perf on phones. The stuff you mentioned I knew already (except for the scheduler being tied to 2 cores only). I wonder what else I don't know.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
ideally I'd like 4 cores and here's why. Cores 1 and 2 are dedicated to the os.
<snipped>
The third core should be dedicated to imaging and video. Pushing pixels with a dedicated core can yeild some awesome results.
<snipped>
The fourth core should be dedicated to sound and signal processing.
<snipped>

I don't quite agree with the concept of dedicating two general purpose cores solely to the OS, but I agree with the basic gist of your post. However, I think it may be confusing to many who don't quite understand what you are talking about.

What you are saying is that you want a device with more than two cores, but you want the cores beyond the second to be specialized cores (audio/video); not the general purpose processing cores we normally refer to.

Based on your definition, you (and everyone else who sees things similarly... as do I) should be absolutely thrilled with the upcoming WP8 "dual-core" devices. Just take a look at the MSM8960 (Snapdragon S4 Plus) which will be in all of Nokia's WP8 handsets:

Click to view quoted image

Although these are marketed to us as dual-core devices, they actually incorporate many more (even more cores than you wished for):

2x (Modem Subsystem) Hexagon DSP cores
1x (Multimedia Subsystem) Hexagon DSP core
1x Multimedia Processor
1x Graphics Processor (GPU)
2x Krait general purpose processing cores (dual-core CPU)

That is a total of 7 cores! WP8 should be able to make superb use of all of these cores! MUCH MORE SO than ANY of the android devices, which are generally terrible at using anything beyond the general purpose cores. Of course, this assumes that Microsoft sticks to their current policy of rigid SoC standardization.

However, its not what the people need it is what people want.
<snipped>
Besides, a quad core WP8 would mute an Android argument no matter how irrelevant the argument is (right now).

I think I already stated what I think about this type of approach. Call me an idealist! Call me an optimist! I just hate the idea of caving to stupidity. I think it is up to people like the ones in this community, to take a stand against misinformation and marketing buzz. After all... only enthusiasts give a hoot about how many cores are in there phones, and enthusiasts will usually want to learn about what actually makes their devices tick.

The basic problem is that hardware is much easier to market than software. When was the last time you saw a software related spec on a datasheet? Unfortunately for low-information enthusiasts, hardware only defines the potential that a device has. How close any particular device gets to fulfilling that potential is defined entirely by software. This is where Android falls flat on it's face.

With the arrival of WP8, the WP community will be on level footing with Android hardware for the first time. Hopefully, we will get our first native-code and cross-platform games soon afterwards (in addition to a lot of EA exclusives ;) ). Hopefully, a few of those games will include time-demos and measure frame rates. We have had this on the PC for years, but haven't got anything like it for the smartphone space yet. In comparisons like these, WP will blow similarly priced android devices out of the water, even if the Android devices have a few cores more.

So when it comes to resale value of your phablet 2 years from now, people are going to want one with modern specs instead of outdated ones.

Nope, no matter what you buy now, it will be outdated in two years. Forget it.

@PG2G You make some excellent points! For now I stuck to the things I could quickly respond to, but I will get back to your posts later.
 
Last edited:

PG2G

New member
Dec 20, 2010
453
0
0
Visit site
I think in the end it is all a bit of a moot point, the Qualcomms, NVIDIAs, TIs, and Samsungs of the world are going to keep pushing the number of cores up and we're going to have to take it if we want to stay current. And we'll need to stay current in order to realize the improvements in process as well as the better GPUs.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Why I posted here.

Some of you may be asking what I’m really “crusading” against here.

Is it really so bad to have a device with four cores? No. It isn’t.

So what if the third and fourth cores are useless 99.9% of the time? Will the government take me to court and charge me for neglecting my CPU cores? You never know, but it’s doubtful.

Well, what about the claim that having more cores will drain the battery faster? Well, some claim the exact opposite. In reality, both takes on this issue are far too simplistic. There is no generally correct answer to this question, and bloggers taking one or the other side are just looking for simple answers where none exist. I can easily setup lab experiments proving both sides are right under certain conditions. The only way to answer this question is to run the same application on multiple platforms and measure power draw. This tells you how efficient a specific platform can run a specific app. Take a different app and the winners and losers may change entirely. The only valid statement we might make is that we can generally expect the best results in those situations, where the hardware / software pairings are most closely aligned. So, if the apps you use every day make good use of 1.6 cores (on average), then a dual-core device is likely your best bet. However, even this is a gross oversimplification, and not universally true. Change that number to 1.2 or 2.1 and things get much trickier. This whole discussion, where core count is directly related to power draw without considering much else is, at best, amusing.
I think in the end it is all a bit of a moot point, the Qualcomms, NVIDIAs, TIs, and Samsungs of the world are going to keep pushing the number of cores up and we're going to have to take it if we want to stay current. And we'll need to stay current in order to realize the improvements in process as well as the better GPUs.
This is one of the reasons I posted here. PG2G is right of course, but only if we enthusiasts keep blindly buying into the argument that more cores are better. This may be generalized into the statement: “blindly buying into what marketeers feed us”. In contrast to what most people believe, SoC manufacturers don’t exist to design the best possible hardware. They exist to design the best SELLING hardware. nVidia’s Tegra3 SoC is one such example. It includes a fifth core for no other purpose than being able to increment the core count on their spec sheet by one. Instead, they could have underclocked one of their other four cores and used the transistors they dedicated to the fifth core for purposes that actually result in a tangible benefit. In the hardware industry this game is known as “spec sheet optimization”.

Consider also which semiconductor companies contributed most to the advancement of PC technology in the last decade. This was by far the graphics industry lead by nVidia and AMD. Why? Largely for one reason, namely that competition was based on benchmarking performance with actual games and nothing else. AMD’s and nVidia’s GPU’s are highly parallelized processors with dozens or even hundreds of cores. Do you ever hear marketing speak from either company about how many cores their GPU’s have? No, even though one company’s products has many more cores than the others. Why? Because we have much more objective ways of measuring their offerings. This is what we are sorely lacking in the smartphone industry. I look forward to the day, when we can all look up benchmarks on the internet telling us how 20 or 30 of the most popular apps perform on which devices and what to expect in terms of battery life.

Until this is corrected, WP will always play second fiddle to Android. Either that, or market pressures will force Microsoft to abandon good policies that would have resulted in better products, just to put themselves on a level playing field in terms of marketing potential. Sacrificing the integrity of WP to this end would be a real shame, particularly since I find WP the best OS Microsoft ever made (from a developers point of view).

Collectively, we enthusiasts steer the tech industry with our wallets and the wallets of those we make recommendations to. I don’t like the direction the smartphone industry is taking at the moment... mostly fluff and no substance. I don’t have any illusions this post will change much, but at least I tried and didn’t just clench my fist. Maybe my post can contribute, in some small way, to tiding WP (and Nokia) over until we get what is needed to benchmark smartphones in a more meaningful way than souped-up spec sheets.

That is why I posted here.
 
Last edited:

thecaringkind

New member
Jul 21, 2012
158
0
0
Visit site
Ahhhh A GREAT question. Having multiple cores do offer some advantages however I like the way that WP was originally designed in that the OS was coded to work VERY well with a single core chipset. I understand that Windows Phone 8 is written on an entirely new kernel, one that can support multiple cores and other processor intensive features and all of that is great. However I think we all overestimate the 'speed' at which our phone OS allow up to experience. All of us would like an instant response, whether we are opening an app or browsing the web, however can any of us that may have the Lumia 900 truly say that the phone is 'slow'? If so, compared to what? How do we properly gauge responsiveness? In most real world settings our single core chipsets are able to get through our tasks in a pretty brisk manner without jitteryness, lag or crashes. As a matter of fact the code written into the OS with single core chips on board work together pretty flawlessly. Its part of what makes WP stand out over the competition. I am sure that Apollo will wow many folks in terms of its pure power, however in retrospect those of us happy with the most recent TANGO update on our AT&T Lumia 900's can all rightly say that our chipsets may not be a Maserati, but they cruise lovely and consistently once they are off of the line a millisecond or two after the dual core competition crashes and burns on Android and (occasionally), iPhones. :D
 

CSJr1

New member
Aug 15, 2012
264
0
0
Visit site
I will always be one to push technology instead of stiffle it. Even though 4 cores are not useful now, it doesn't mean it wont be useful in 6 months. But if we blindly put the breaks on WP8 with 4 cores, then we don't give developers something to push for.

As far as fragmenting 2 cores vs 4 core phones. I don't really see it that way. So lets say a developer maximizes threads to run with 4 cores, it doesn't mean that said app will crash on 2 cores. The app will not be as fast.

WP8 Kernel can theoretically handle 64 cores. So how long are we supposed to put the breaks at 2? Its the chicken and the egg: Developers can't maximize for 4 cores if we tell them to hold and stay with a 2 core device because other apps these days don't even use 2 cores well. As with WPBench, any developer can code an app that launches multiple simultaneous threads. But getting these threads to do something useful, thats the key. Lets not stiflle this.


This is just my opinion as a visionary who looks to the future. The past is so yesterday.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Even though 4 cores are not useful now, it doesn't mean it wont be useful in 6 months. But if we blindly put the breaks on WP8 with 4 cores, then we don't give developers something to push for.
<snipped>
Its the chicken and the egg: Developers can't maximize for 4 cores if we tell them to hold and stay with a 2 core
<snipped>
But getting these threads to do something useful
Hey ebsn. Apparently, you are still of the persuasion that all we need to do is add more cores and at some point down the road our WP apps will start using it. You’re trying to solve a chicken and egg problem. That’s great; but unfortunately, that chicken and egg problem doesn’t exist. The problem is a completely different one; one which I already tried to explain in previous posts. Either you haven't read some of my previous posts, or you didn’t understanding them, but I’m not sure exactly what it is you don’t understand. Maybe you need to reread them?

We’ve had quad-core CPU’s in the PC space for almost six years now. In the consumer technology industry, that is a shear eternity. Nobody is stifling technology here, and yet barely a consumer software title exists (not talking about video editing, scientific simulations, server software or high end rendering applications) that makes good use of a quad-core CPU. What exactly is it about the size, temperature and power constrained smartphone industry, that makes you think they will fair any better?

We might try an experiment... If you are a software developer, pick any number of apps you want from any smartphone platform. Then imagine what their threading model most likely looks like, assuming the app is targeting two cores. Then figure out how you would expand on that threading model so it makes use of four cores. Now explain how that change leads to a perceptible improvement in the user’s experience. Either you won’t be able to do it, or I’ll be able to explain where you’re thinking is wrong (you might be inclined to consider some irrelevant app like a benchmarking tool intended to show off quad-core CPU’s, but I think we should restrict ourselves to actual real applications and games).
I will always be one to push technology instead of stiffle it.
Adding more cores to a multi-core CPU architecture is a rather simple thing to do. If that is all that is required of SoC designers in order for them to charge you a premium for a supposedly high end phone, then that is all they will do. Objectively however, there is nothing that phone will be able to do noticeably better. Not now, not in six months, not in five years (I explained why in previous posts). Buy paying a premium for what is basically no real engineering effort (I’m just referring to the core count here), and which won’t actually make our devices noticeably better, you are part of the force that is stifling technology instead of pushing it.
WP8 Kernel can theoretically handle 64 cores. So how long are we supposed to put the breaks at 2?
Not just theoretically, also practically. And I too wish we would finally take our foot of the brakes... by collectively pushing for things that actually matter!
We should be obsessing over much faster RAM which is currently the biggest bottleneck when it comes to app startup times. We should be picketing the entire industry for better battery life! We should also be worried that Microsoft might allow manufacturers to build WP8 devices with the measly Adreno 225 GPU. That would be terrible, as developers will primarily be targeting the lowest spec’ed WP8 GPU for the next 2.5 years. This really will make a HUGE difference in the quality of apps we can expect for WP8. Nothing less than standardizing on the Adreno 320 will do. But, how many people are up in arms about this? Instead, most of the enthusiast community is collectively drooling over things that will make almost no difference whatsoever... core count.

@thecaringkind

Hello thecaringkind. You raise a few good questions in your post. I hope you don’t mind me nittpicking two issues:
I like the way that WP was originally designed in that the OS was coded to work VERY well with a single core chipset.
This is not an accurate statement. WP was designed to work very well with one particular SoC (that happened to incorporate a single-core CPU). There is a LOT more to optimizing an OS to a hardware platform then just the number of general purpose processing cores.
All of us would like an instant response, whether we are opening an app or browsing the web, however can any of us that may have the Lumia 900 truly say that the phone is 'slow'?
A lot of people have said WP7 is so efficient, that even dual-cores are overkill. I don’t belong to that group. One very important app, namely IE, would have benefited tremendously from a dual-core CPU. The Lumia 900 certainly isn’t slow, but particularly on LTE networks the single core CPU does become the bottleneck preventing IE from being faster.
 
Last edited:

PG2G

New member
Dec 20, 2010
453
0
0
Visit site
Aren't there games being released on PCs that take heavy advantage of quad+ cores nowadays? Not to mention, all the consoles are multicore and will have even more cores next gen. Surely that is one class of application that has adapted well to multicore.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Aren't there games being released on PCs that take heavy advantage of quad+ cores nowadays? Not to mention, all the consoles are multicore and will have even more cores next gen. Surely that is one class of application that has adapted well to multicore.
Hey PG2G. Unfortunately, I'm currently somewhat time constrained. All I can give you is a quick answer. For everything else I will need to get back to you in about two weeks. Sorry.

First of all, we must be very clear that only a small minority of all games actually have the type of workloads that are beneficially distributed across multiple cores in the first place. I’m referring to the technical masterpieces of the gaming industry; fast 3D games with lots of AI and real-time physics simulations like Battlefield3, Skyrim and Criysis. Card-, puzzle-, tower defence-, and even many simple racing games are just some examples of games for which there isn’t much benefit to distributing their workloads across multiple cores (usually none at all).

Most of these high-tech games will draw upon all the cores of a quad-core CPU. For these games you might say they “take advantage of quad+ cores”. I’m not sure if it is correct to say that they “take heavy advantage of quad+ cores”. In most cases there isn’t any perceivable benefit between comparable dual-core and quad-core setups. Why? I could give you many reasons, but these are the most relevant:

a)
Of these few high-tech games, the majority end up being GPU bond. This gives individual CPU cores “breathing room”. This “breathing room” usually suffices to give dual-cores enough time to catch up with whatever a quad-core CPU would have completed quicker.

b)
So, of those games that end up being CPU bound instead of GPU bound, fewer still end up saturating all available cores to capacity (actually none at all). Typically, the core executing the master-thread will be saturated, with the remaining cores running far below that mark. A game running on a quad-core CPU that saturates three cores to 30%, will run just as well on a comparable dual-core CPU. Skyrim is one modern example of a game that behaves exactly so.

Both of these issues also apply to games on smartphones... actually even more so. On the other hand, the differences between PC and smartphone gaming reduce the likelihood of getting titles, that make good use of quad-core CPU's on smartphones, even further:

1)
Smartphones power limitations and the differences in thread scheduling between mobile and desktop OS's will make developers think a lot harder about whether or not they even want to try to go quad-core (assuming they can find a use for it at all).

2)
Also consider that these high-tech PC games have huge budgets allowing software engineers to invest the months and months of effort required to make quad-core gaming work. These games retail at around $60 (at least in my part of the world). The budgets for smartphone games are laughably small in comparison... that means less money to spend on expensive engineers. What would you expect to happen under such conditions?

Before I close, I need to make one important statement about comparing a games performance on dual-core vs. quad-core CPU's. Those comparisons are only fair, if the CPU's are identical in all aspects except core count. Making fair comparisons isn't as easy as it sounds, for example, none of Intel’s dual-core SB CPU’s can dynamically overclock like their quad-core counterparts (big difference). This gets even harder when comparing smartphone CPU's, as the differences are much larger still... to the degree where a single core on one of Qualcomm's dual-core SoC's can be twice as powerful as a single core on one of nVidias quad-core SoC's (no joke!).

This is actually exactly how it should be. Assume you are a SoC designer targeting a certain SoC price from which you derive your transistor and power budget. You now have a choice to make. If you want to have four cores instead of two, each of those cores will have half of the transistor budget (and end up half as powerful) than what you would have achieved with a dual-core design. There is no way around that. Based on how the software on our smartphones work, two powerful cores will always be preferable to four weaker ones. I'm afraid many consumers will fall into this trap, and you can't really blame them... given the choice between two devices, identical in all aspects (incl. price) except CPU core count (one dual-core and one quad-core), it is likely many would buy the quad-core device, even though the dual-core would have been MUCH better (given that both CPU's had an identical transistor budget).

Apple and Microsoft can both develop/standardize on hardware that is actually better (use two powerful cores) instead of focusing on marketability (use four weaker cores). The question is whether or not they will.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Found this link a while ago. To sum it up, the programs that utilize quad cores the most are editing programs an things of that nature. Most newer games offload to those expensive video cards with nice GPU engines.

Programs that actually use all 4 cores of a quad core chip... please contribute! - PC Perspective Forums

Hello cp2_4eva. Thank you for the list. Unfortunately, it is very old (2007). PC gamers just barely started using quad-core CPU's at that time. Newer lists exist which will generally include quite a few "quad-core" games. Unfortunately, those lists tell you nothing about the circumstances under which a game becomes CPU bound. They also tell you nothing about the circumstances under which the cores beyond the second become significantly saturated. So, the usefulness of these lists for games really needs to be called into question.

For the video authoring software you mentioned, multiple cores have always been very beneficial (under almost all circumstances). That explains why you found video authoring software listed on such pages way back in 2007, even though almost nobody outside of professional video studios actually had multicore CPU's in their Workstations/PC's.
 
Last edited:

cp2_4eva

New member
Mar 19, 2012
755
0
0
Visit site
Well then. I stand corrected. Even still, quad cores aren't a necessity for mobile applications. Isn't that what was being argued? There are ups and downs to for and against all the cores. I wouldn't concern myself with it too much. At the expected builds, if you want a phone bigger than 4.3, then you will PROBABLY get the quad core anyways. Man...its late. I'm tired. Lol.

Sent from my PI86100 using Board Express
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
I wouldn't concern myself with it too much.

If the majority of consumers thought about this the same way you do, this issue wouldn't be a problem.

Unfortunately, I think the majority of consumers is likely to buy into the myth that quad-core is always better than dual-core and spend accordingly (when faster dual-core's is what actually would be best). Since it is our collective buying power that steers the tech industry, this is very likely to drive SoC manufacturers to arrange the transistors they normally would have invested into two powerful cores into four weaker cores instead. In fact, this has already happened (nVidia Tegra3 for example). That is what I'm bothered by.

Currently, it looks like Qualcomm is the only one resisting this trend somewhat, while all others are going for spec sheet optimization.

Something similar happened a decade ago during the Intel Prescott clock frequency race. Intel's marketing was so successful that they had convinced everyone more MHz was the be-all-end-all to CPU speed. That ended up giving us some of the worst x86' CPU's of all time. Then AMD came along and cleaned Intel's clocks which forced Intel to drop everything and totally rethink their design goals and marketing... their CPU designers went on to give us the best x86 CPU's of all time, while their marketing department switched gears and started marketing, you guessed it, more cores instead of more MHz.
 
Last edited:

PG2G

New member
Dec 20, 2010
453
0
0
Visit site
Currently, it looks like Qualcomm is the only one resisting this trend somewhat, while all others are going for spec sheet optimization.

I think that is only the case because they have moved on to a more advanced design (Krait). It looks like Samsung's A15 SoC is going to be dual core as well, initially at least. Wouldn't be surprised if a quad core Krait was the standard come next Spring.
 

poiman

New member
Jul 30, 2012
482
0
0
Visit site
Glad you made this post. I don't really understand a lot of this stuff, but what I see is that devices like the Galaxy SIII, One X or the iPhone4S are capable what running games with 3D graphics that current WP7.5 devices can't (and they still have a decente bettery life).
So my questions is (and I'm really confused now, so sorry for my language) what the h*ll do we need to be able to run 3D games like those (or even better ones) on our future WP8 devices too?
 

Members online

Forum statistics

Threads
326,577
Messages
2,248,586
Members
428,515
Latest member
vl909