Safekipedia

Multi-core processor

Adapted from Wikipedia · Discoverer experience

A close-up of a Computer On Module featuring the AM35x Processor, used in embedded systems and development platforms.

A multi-core processor is a special kind of chip that has two or more parts called cores. Each core can read and do tasks, like adding numbers or moving data, all at the same time. This helps computers work faster, especially for tasks that can be split up and done together. Most new computers today use these kinds of processors.

These processors can have different setups. Some cores share things like memory space, while others talk to each other in different ways. There are also chips where the cores are not all the same, which helps them do a mix of different jobs. Whether a computer gets faster with a multi-core processor depends a lot on the programs being used and how they are written to use many cores together.

In everyday computers, dual-core processors became common in the late 2000s. By the early 2010s, computers with four cores, called quad-core, started showing up more often. Now, many computers have even more cores, helping them handle lots of work at once.

Terminology

The words multi-core and dual-core usually talk about central processing units, or CPUs. But they can also be used for digital signal processors and systems on chip. These words are mostly used for CPUs made on the same tiny piece of material, called an integrated circuit. When CPUs are in the same package but made separately, they are called something else, like a multi-chip module.

The word multi-CPU means several separate processing units that are not on the same piece of material. Words like many-core and massively multi-core are used when there are lots and lots of cores — maybe tens or even thousands! Some systems have many soft microprocessor cores on a single FPGA. Each of these “cores” can act like a small CPU core and a special piece of design called a "semiconductor intellectual property core".

Development

As technology improved, making the tiny parts of computer chips smaller, designers faced challenges. These challenges included managing heat and coordinating data between different parts of the chip. To improve computer performance, designers used methods that let different parts of the computer work on tasks at the same time. One effective method was to use several small processors, called cores, on a single chip. This led to the creation of multi-core processors.

Apple once planned to make a special chip with four cores for its computers, but the technology at the time wasn’t ready. Later, researchers at Stanford University showed that putting many processors on one chip was possible, which helped shape today’s multi-core processors. Companies like Intel saw benefits in making chips with multiple cores, as it allowed them to improve performance while managing heat and power use. Multi-core designs also helped overcome limits in making processors faster by letting different cores work together on tasks.

Hardware

The trend in making computer chips has been to include more and more cores, or small brains, in one chip. Some chips can even have hundreds or thousands of these cores, which helps them work faster, especially for tasks like watching videos or connecting to the internet.

There are different ways to build these multi-core chips. Some chips use the same type of core repeated many times, while others mix different kinds of cores to do specific jobs better. This design choice matters for both the people who write the software and the people who use the devices. For example, a device called "True Octa-core" really has eight separate cores working together.

Software effects

When software runs on a computer with multiple cores, it can sometimes struggle to use all the cores effectively. This is because some tasks can only be done by one part of the computer at a time, like certain steps in watching videos. Making software that can use many cores at once is tricky and can lead to hard-to-find mistakes.

However, many types of work, like sending information over the internet, work well with multiple cores. Special ways to write software to use many cores exist, and companies like Intel have created tools to help with this. Balancing work across many cores can be difficult, especially when the cores have different strengths.

On servers, which are computers that many people use at the same time, multiple cores help a lot by allowing many tasks to happen at once. This makes websites and other online services faster and more responsive for everyone.

Embedded applications

An embedded system on a plug-in card with processor, memory, power supply, and external interfaces

Embedded computing works with processors that are different from regular computers. These processors can also have multiple cores, which helps them do tasks faster when the work can be split between the cores.

Because embedded software is made for specific hardware, it is easier for developers to use new technologies. This means there are many different types of multi-core processors available.

Network processors

Since 2010, many companies create special processors for networks that have multiple cores, like Freescale Semiconductor, Cavium Networks, Wintegra and Broadcom. These processors can handle eight tasks at once. However, using all these cores well can be tricky because of limits in how the system operates. Some companies, like 6WIND, help by making software that works faster by staying outside the main system rules.

Digital signal processing

In digital signal processing, the same idea is used. Companies like Texas Instruments have chips with three and four cores, while Freescale offers chips with four and six cores, and they are even working on chips with eight cores. New players include the Storm-1 family from [Stream Processors, Inc] with many processing units, and Picochip with hundreds of processors designed for communication tasks.

Heterogeneous systems

In heterogeneous computing, where a system uses more than one kind of processor, multi-core setups are becoming more common. For example, the Xilinx Zynq UltraScale+ MPSoC includes a quad-core ARM Cortex-A53 and a dual-core ARM Cortex-R5. Special software like OpenAMP helps these different processors talk to each other.

Mobile devices often use the ARM big.LITTLE architecture to manage their processors efficiently.

Hardware examples

Many modern computers use multi-core processors. These chips have several "cores," or small brains, that work together to make the computer faster. Some famous examples include:

  • AMD: Makes many processors with different numbers of cores, like the Ryzen and Epyc series.
  • Intel: Offers processors like Core i3, Core i5, and Core i7, which have anywhere from two to eighteen cores.
  • IBM: Creates powerful servers with processors like Power9 and Power10, which can have up to 30 cores.
  • ARM: Provides designs used in many phones and tablets, often with multiple cores for better performance.

These processors help computers run many tasks at once, making them faster and more efficient.

Benchmarks

When scientists work on creating multi-core processors, they need ways to test and compare different options. They use special tests called benchmarks to help with this. Some well-known benchmarks include SPLASH-2, PARSEC, and COSMIC, which are used for testing different kinds of systems.

Images

A close-up of an Intel Core 2 Duo E6750 processor installed in an Asus P5K motherboard.
An AMD Athlon X2 Dual-Core Processor, showing its AM2 package design.

Related articles

This article is a child-friendly adaptation of the Wikipedia article on Multi-core processor, available under CC BY-SA 4.0.

Images from Wikimedia Commons. Tap any image to view credits and license.