Let’s start asking a basic question. Why do systems need dual-core processor? Why do we need?
Indeed, this question has a lot of answers, however, before touching upon other details, especially when we look from the aspect of last users and mobile application developer; its best function (but not only function) is multitasking management. (See; Multitasking)
Unfortunately, most mobile system don’t have this function, which I called “multitasking management” or which is sometimes called as multi-execution. Although iOS, Windows Phone and Android doesn’t have a true multitasking feature, each of them has a close solution for this issue. ( By the way, there are still some operating systems which have exactly this support in market such as; WebOS, Blackberry 10, MeeGo. ) Indeed, when the main usage purpose and the effects on the applications of dual-core is treated, plenty of complicated situations emerge. I will try to explain in my essay.
Well, really why dual-core devices?
With the 4.0 Ice Cream Sandwich version (Released 2011, October), Android OS met dual-core support on smart phones. ( Despite coming across this support in operating system codes with 2.3 Gingerbread on alpha level, 3rd party application developers can see this support while they are making developments on the 4.0 Ice Cream Sandwich, and the last users can see the effects on the application through 4.0 Ice Cream Sandwich and 4.1 Jelly Bean versions.)
By the way, I should indicate that the first Android devices supporting dual-core were prepared in the end of 2010 and have taken part in the market after 2011, February and by releasing the first quad-core devices in 2011, they are still the dominator of the market. Explaining this situation technically is difficult. It seems marketing size and consumer illusions are more effective.
Let’s assume the operating system has multitasking support. Well, how much does this situation effect last user. Even though operating system has this support, it doesn’t mean that 3rd part applications work dual-core support, which this situation is the area where the last users need multiple core support mostly. Google can optimize Android OS and applications into dual-core in large game/application developer studio, but this case is not so easy for 3rd party application developers. So, system’s applications and some running logics in these quad-core devices you bought are suitable with dual-core, but 3rd party applications which you always use and make switches are not.
What does it mean? When you launch processes and applications, separated cores should react quickly by sharing the tasks and run them (If you have system, running the core’s tasks by separating via multitasking feature) but it doesn’t do so, they are trying to run on one core. The tasks, which are not channelized into other processors, mount on one core. Therefore, you carry hot mobile radiators in your pocket in the cold days of winter. Also, the cores execute the same task or tasks by disintegrating (addressing) at the same time and conclude, but this is completely a different topic. (See; Multithreading)
We can’t compare any processor with absolute frequency value. There are many factors affecting the speed. The number of transistor hardware has, pitches pins and lots of other factors . . .
However, the most important one for end-users and for mobile software developers is the question of how and where I can use it!
Processors and other hardware components, although they prove their quality on paper, doesn’t mean anything for end-users and mostly even for those devices, too.
Microprocessor has increased so much and they are in everyone’s pocket, but the most significant issue is OPTIMIZATION.
Especially, the ARM engineering the dominator of the most of mobile market is independently an optimization wonder. The engineering we compare here is the power consumption of x86 and other mobile disadvantages . . .
The platform where the hardware proves itself is software. In graphic pleasing the users when they hold, in system speed upon switching, and switching between lots of applications and event switching upon tens of applications . . . All of them is the result of how the software and hardware are optimized (both in itself and on the used hardware). (The core has absolute part in some points but in this section, the core is thought as integrated with software.)
If the topic is optimization, it can be easily extended. Everything or the most important part in software optimization which is a quietly important process from the first point when software and hardware comes together, starts with kernel. Its function, manner of work, and its optimization on mobile devices like a bridge connecting two continent is the beginning of this process. It can be drawn a parallelism with the importance of bridges of Istanbul on traffic.
Software carries a great importance to assert hardware itself. About the effects of processors on performance “If the whole system is prepared efficiently, you can observe the performance increase” The Chief Officer Assistant responsible for products about this issue in Qualcomm said in Talluri.
“If multi-core support applications aren’t written according to it, they don’t have any meaning in the world.” Greg Sullivan, Senior Product Officer of Microsoft, said about the same issue.
Another important assessment about this issue has come from Mike Bell, the manager of Communication Group and Intel Mobile, in 2012; “Multi-core support as being added to Android doesn’t demonstrate an effective work and I think its solution is duty of SoC manufacturers, however, I don’t believe that they care this situation.”
Well, what about the test results?
Benchmark test mostly don’t have any meaning for end-users in the sense of functionality but it stands as a good sale strategy in the last years. Therefore, let’s look at Linpack test results of 2 popular mobile phones from the same producer; dual-core HTC One X LTE and quad-core HTC One X+ .
In Multithreading tests: One X+ scores 168.7 MFLOPS points, but One X scores 205.7 MFLOPS points.
In quadrant test which is more specific on graphic; One X+ scores 7,355 points, but One X scores 4,324 points.
In Single Thread Linpack test; One X+ scores 102.4 MFLOPS points, but One X scores 103.5 MFLOPS points.
If the issue is devices’ points, we see that dual-core HTC One X gets higher points than quad-core HTC One X+ in many aspects.
An example which is about having the serious performance differences in the operating system in which has more optimized both hardware and itself despite having the same hardwares can be given in the end-users’ prefer points.
The last Android devices working with ARM11 engineering were coming with 2.3 Gingerbread versions. The Android devices’ the biggest rival was iPhone 3G and it had ARM11 engineering, too. We remember that most of end-users as I am included used their choices on behalf of iPhone because of productivity of iOS in many aspects, system’s fluidity and stability despite Android’s other whole additional features. The numbers have already shown so. Then, although devices have the same hardware, why might be a device more successful than other one to fulfill the expectations and performance. The answer is in the operating system.
I have a nice device working with ARM11 engineering, Raspberry PI. This mini netbook comes with 512MB ram and 700 MHz processor. Today, very few thing been able to do my mini netbook can be done by iPhone 3 and other Android devices, but lots of thing not been able to do by smart phones, in the market, despite all these hardware power can be done by my mini netbook. (The reason why these devices whose production purpose is different, are added into exemplification is to make comparison among similar features; multitasking etc.) How does it happen? The answer is in operating system. If you want, you can use the Debian, distributed by GNU/Linux as producer recommended or use Plan 9 as I do.
Let’s give one more example for this situation. My personal computer is a netbook. It has 1GB ram, 1.6 Ghz speed with x86 Atom processor. The people using the netbook with this hardware may have some terrible memories about its speed and stability. However, I have none of them. My machine works quietly speedy and stabile. Never stucked? It executes always successfully what it’s expected from itself. Moreover, it executes the multitasking management in the best way but in the maximum extend of the hardware. Under these circumstances, there are smart phones which have higher systems than netbooks. However, they don’t work so effectively. Today, smart phones can do some things which my netbook can’t do but my netbook does most things which smart phones can’t do. How does it happen? The answer is in operating system, again. I use considerably light system called “lubuntu” distributed by GNU/Linux, that’s all.
It’s good to give a current example about the issue. Microsoft has established a new ecosystem with Windows 8 platform. Windows has made a great achievement by building Windows 8 RT and Windows Phone 8 system on the same kernel. They demand to use only Snapdragon series processors from the manufacturer and prepared the platform according to SoC producer’s engineering. Moreover, they have established a build which can optimize kernel which prepared again after Windows Phone 7 into new processors. Did this remind you of the producers of quietly stable and hardware and software with a pleasing speed? The best seller?
Apple has developed always proper solutions for mobile from the beginning and especially the progress of iOS is admirable. The more they ascended into the high level of iOS-core, the more specific modification they added to make Darwin Kernel, ready for a long time in their hands, which is suitable for small devices and touchable experiences and system’s stability and constancy to the stability, so that they didn’t add it into system despite the most of end-users and developer’s insistence, and such more reasons make Apple catch this productiveness.
Transition to Mobile World and the Priority of Power Consumption in Processors
Developers, in the past, developed x86 engineering which we can associate with old American HP cars by basing on its magnificent development and power but without thinking of optimization like today. There were gallons of petrol and there was no harm to equip 4lt v12 engine with 600Hp. Of course, it’s valid for not only games but also applications.
However, the life goes toward mobile. At least, there is not so much x86 compared to past, but there is ARM.
There are Japans working via electricity. There are hybrid cars or 1.0lt gas and they are quietly popular because the biggest handicap of mobile is energy efficiency and ARM is very good about this issue.
There is considerable progress. Today, the sport/race cars working via electricity are made; just like that both ARM reaches itself to run the games like Call of Duty even in tablets and Intel stays the course to be able to use tablet’s battery with (Intel Haswell)which you can play easily these games throughout the day. So, the things are good at this side . . .