Just what are the "cores" in my new laptop?
July 21, 2012 9:43 AM   Subscribe

Within the past couple of years I've noticed the computer people describing their hardware with a new attribute: cores. It seems from the advertising that more cores are better than less cores, but what are they, exactly?

The simpler the language you use in your answers, the better.

We can't be discussing one the earliest forms of memory storage, those arrays of magnetic donuts?
posted by Rash to Technology (11 answers total) 5 users marked this as a favorite
I assume that means multi-core processors.
posted by Sing Or Swim at 9:50 AM on July 21, 2012

Basically, in layman's terms, a core is what an entire processor used to be, a dual-core processor is, roughly, two old style processors smushed into one package.

This happened because, after 30 years of increasing raw speed, a bit of a ceiling appeared around 4Ghz that has been tough to break through. So, instead of beating engineer's heads against walls they have gotten around the limitation by leaving the speed ceiling around 4Ghz but increasing the amount of cores that a processor has.

Currently a powerful desktop processor will have 4-8 cores.
posted by Cosine at 9:53 AM on July 21, 2012 [4 favorites]

A computer processor can have multiple pathways for information to be processed. When you have two or four pathways, rather than one, information can be processed in parallel, increasing how much can be processed at once. An example: I use a program called iVolume that goes through my whole iTunes library and calculates what the correct volume for each mp3 should be. The program took almost 24 hours to go through the library on my old dual-core processor MacBook. On my quad-core processor iMac, it only took a few hours (same files on both, btw), and you could visible see the processing on each going faster or slower (the program includes a little display that shows what percentage of the available processing power it's using).
posted by limeonaire at 9:57 AM on July 21, 2012

You're correct. Traditionally, personal computing processors were about speed. Think of a kind of nightmare reality TV cooking show with a single chef made to work faster and faster to prepare a meal.

Of course, as that chef works harder they'll begin to sweat, expending (and consuming) more energy. This becomes a problem: the components in computer processors were getting smaller and smaller, and the heat was rising, forcing manufacturers to stack more powerful cooling fans on top of the processors just to keep them running. Obviously this was not a solution for mobile computing, or indeed most home computers.

There's another solution. Rather than having one sweating hyperperformance chef, divide the work up between a group of chefs: 4, 8, 16 or more. If your kitchen workflow is efficient, the new chefs will have a far easier time producing the same result. That's cores.

You'll find that the race for processor speed has calmed down a lot: now you can have a slower processor with more cores beating a faster monolithic one. Speed is still important, but it's not nearly the central issue it was.
posted by Bora Horza Gobuchul at 9:58 AM on July 21, 2012 [12 favorites]

The way I heard it explained to me was the number of cores in a processor is like the number of traffic lanes on a highway, and the processor speed is the speed limit on that highway.

If you need to increase the flow rate of traffic, you can either raise the speed limit or increase the number of traffic lanes. Likewise with increasing processing power, increase the speed of individual cores, or add more of them.
posted by AMSBoethius at 10:08 AM on July 21, 2012 [2 favorites]

processor cores can help save power/battery as well by shutting down cores that aren't in use...like one core that runs all the time to keep the OS on and another that comes on to run apps (this is a gross simplification, but you get the idea)...this is the principle behind the 100-core processor...basically, it has 4 'main' cores that are more like your typical processor (completely reconfigurable, runs any software) and also a whole array of 'mini-cores' that are more dedicated to a single task, like playing MP3s or JPGs, so that, say, when you're using your phone to listen to music, it can just fire up that one tiny bit of the processor and shut the rest down...
posted by sexyrobot at 11:33 AM on July 21, 2012

of course, all the cool kids are now rolling with SOCs (system-on-a-chip) that combine a multi-core processor with a GPU right on the chip, and, within the next year or so, even including the cellular radio, wifi, bluetooth and even gps modules as well...link. link.
posted by sexyrobot at 11:44 AM on July 21, 2012

As Cosine said, it used to be that if you wanted a multi-processor machine, you had multiple CPU chips. As this became a more common thing to do, though, chipmakers started putting several CPUs onto one physical piece of silicon; each one is called a core. This is more compact, probably cheaper, they can share some resources, etc. (Why the word "core"? Possibly just because "core" is a sexy word right now, and if you can use it in the name of a piece of technology, you do. Kind of like the letter X was, ten or fifteen years ago.)
posted by hattifattener at 11:49 AM on July 21, 2012

All correct so far. It might help if you keep in mind that Moore's Law, which enables all these improvements in performance, is fundamentally about miniaturization. With each new generation the components get smaller which means we can pack more into a chip.

Suppose you have 10x10mm of silicon in your chip to play with, and suppose for reasons of economics and yield you can't get any more than that. The more logic and memory you can pack onto this chip, the better, because you pay a huge performance penalty when you need to use memory or GPU or anything else that's outside the chip. In that 10x10mm space you design a microprocessor, which includes arithmetic logic, cache memory, and various other things you need to do computation. All of these are built out of transistors. Maybe you can fit 100 million transistors in 10x10mm (10000x10000 transistors, assuming they are square).

Now a few years pass and new manufacturing plants have come online. They are able to pack 625 million transistors in the same 10x10mm space (25000 x 25000 transistors), and as a side effect of getting smaller, the transistors are able to run faster. So one thing you can do is improve your microprocessor so it can run at higher speeds, and add more cache memory with all the extra transistors you get, and overall make a better product. This is what we used to do in the pre-multicore era. However there is another approach: just take your original 100 million transistor CPU that used to take up 10x10mm, and then re-implement it in the new process where it can be packed into 4x4mm. Put four of these on your chip, which takes up only 64mm^2, and use the remaining 36mm^2 to add additional logic and stuff that you need to stitch them together. Now you have a 4-core chip.

In the past it made sense to make one-core CPU's and keep increasing their speeds. Now we get diminishing returns on engineering effort, and a much better result if we increase parallelism. One of the reasons this is true is that scaling has become advanced enough to pack very powerful CPU's into very small spaces. For example, the original Pentium 4 chip in 2001 would have been made in a process with a 180nm feature size, and Intel is currently selling chips with a 32nm feature size. That means a 10x10mm P4 in old technology would only take up 1.7x1.7mm in current technology. We could fit 25 of them in the same space if we wanted to.
posted by PercussivePaul at 12:11 PM on July 21, 2012

It's important to distinguish between the generic term "core" and Intel's branding. (Intel is the larger of the two main manufacturers of processors commonly used in desktops and servers.) Wikipedia has a good overview. In short, the upper-case C in a product name is a brand name, and doesn't necessarily tell you anything about the number of cores. In particular, "Core 2" means the second generation of the "Core" series, it does not mean 2 cores. "Core 2 Solo" is confusingly a single-core part. Intel at least had the decency at first to use the terms Solo/Duo/Quad to refer to the number of cores, but they abandoned that. Now their parts have names like Core i3, Core i5, and Core i7. These tell you nothing about the number of cores -- i7 can mean 2, 4, or 6 cores. i5 can be 2 or 4, and i3 is always 2.

And on top of that, some models support something called hyperthreading which is too complicated to explain here but in essence it gives the appearance to software of there being twice as many cores. So it's entirely possible to have a processor with 4 physical cores but which reports as 8 cores when you look at its properties in the operating system.

It gets even stranger when you start talking about video cards (GPUs), as they can have hundreds or thousands of "cores", but they aren't called that. The nVidia GeForce GTX 690 for instance has over 3000 shader processors: these are computing devices that aren't quite as general purpose as a CPU and have lots of restrictions about how they can compute, but they're still essentially individual cores.
posted by Rhomboid at 12:32 PM on July 21, 2012 [3 favorites]

You can have a really fast dog pulling your sled, but there's a limit to how fast a dog can run. If you add more pretty fast dogs, your sled can go pretty fast, and carry more weight.
posted by theora55 at 1:26 PM on July 21, 2012 [1 favorite]

« Older Mathless Engineer, Need Help!   |   Essential non-profit analyst skills? Newer »
This thread is closed to new comments.