Android Central has a weekly column, Ask Jerry, where you can send in your questions for a (hopefully) easy-to-understand answer. I love it because I enjoy breaking down crazy tech talk into a thing anyone can understand. Sometimes, though, I get a question that goes beyond the scope of a simple tech advice piece because there is no easy answer.
I got one of those recently, and someone was asking about the speed of a phone chip versus how many cores it has and what is more important. I'm going to try and simplify it here and help everyone understand that there is no real answer to which is better, and why.
System on Chip
The processor inside your phone isn't just a processor — it's a complete package that offers multiple functions known as a SoC (System on Chip).
A SoC is a type of integrated circuit that contains most of the components that power the brains of a device. In a typical phone or tablet, the SoC has the device's processor and GPU cores, other processors for things like AI acceleration, reserved space for cached data and memory needed by the system, Digital Signal Processors (DSP) for things like camera capture and audio, external interfaces for various communication protocols, and wireless modems for connectivity.
There are also devices like timers, voltage regulators, or power management ICs that don't really affect performance. It's also worth noting that some wireless modems and device memory modules can either be in the SoC or external depending on the device.
In short, there is a lot of stuff going on inside one small chip that needs a lot of power and runs incredibly hot.
Some companies build SoCs tailored for a unique experience while others make SoCs designed to work well across plenty of devices. There are pros and cons to each approach, but chances are your devices have the latter style of SoC inside from a company like Qualcomm. These companies work hard to make chips that perform well when used as designed; a chip designed for a smartwatch isn't ideal for a phone, and vice-versa. They all use the same basic concept though — build a package of hardware where each component compliments the others and the result also complements the hardware a user interacts with.
There is speed in numbers
When you focus on the "processor" portion of the SoC things are a little confusing. You'll see specs that list several different cores clocked at different speeds, and the internet is filled with people arguing the merits of all of them. Ignore those arguments for a moment.
You need balance more than anything else for the performance you've come to expect from a device like a phone. It would be best to have some cores that aren't extremely fast, some that are, and software designed to distribute the load in a way that offers the right mix of speed and battery life. And that is hard to do on every level.
A CPU (Central Processing Unit, where most computing tasks are done) core can only do one thing at a time. All computer processing is math, and the core inside a CPU can't really think ahead or look backward; it only tackles the one problem in front of it before it moves on to the next one.
Clock speed — the GHz numbers you see in the spec sheet, determine how fast each thing can be done. It's all done incredibly fast (millions of operations per second) and the higher the speed the faster each operation is performed.
Cores determine how many things can be done at the same time. If one core can do 100,000 things per second (no CPU core is this slow but it's an easy number) then five cores can do 500,000 things per second. The more cores a CPU has, the more tasks can be run concurrently.
A thread is a set of instructions for the CPU core. They share the same resources as the process that created them but they can be switched so fast it seems like a CPU core is doing more than one thing at a time.
If you have a CPU with several fast cores, threads work to make multiple things happen so fast that it seems like they happen at the same time because our brains are not nearly as fast as a CPU core.
You need fast in-order processing calculation performance on a single core, fast out-of-order (using threads) calculation performance on a single core, and ultra-fast in and out-of-order calculation performance on multiple cores for a good user experience. That's where software comes into play.
Generally speaking, a fast CPU core means an application will run quickly on a computer like your phone. Fast multiple cores mean more things can be done in the background, including multiple apps running at once. That's why both single-core and multi-core performance matters.
Some software, like a game or a video editing program, can be written in ways to benefit from multiple CPU cores, spreading processes and threads across cores in a single application.
The best analogy I've ever heard to describe this, and I wish I remember where I read it to credit the wise person who first said it:
A highway has multiple lanes and a speed limit.
On Highway 10 you have a speed limit of 50 and eight lanes.
On Highway 11 you have a speed limit of 100 and one lane.
If you have one fast car you're better off using Highway 11. If you have eight slower trucks you are better off using Highway 10. Some software is a fast car and some is a fleet of slower trucks. The best thing to do would be to put Highway 10 beside Highway 11 and use both.
Usually, we're doing multiple things at once but want whatever our eyes are looking at to run well. We're OK with letting the background tasks be a little slower. The software powering your phone needs to make sure the tasks running on it are prioritized this way.
Is core clock speed more important than the number of cores? Yes, No. Sometimes. Maybe.
There is no answer to this because the right mix of the number of cores, their speed, and the software using them is what's really important.