Compare the Difference Between Similar Terms

Difference Between Core and Processor

Core vs Processor
 

Difference between processor and core can be a puzzling topic if you are not computer savvy. Processor or the CPU is like the brain of the computer system. It is responsible for all the core functions such as arithmetical, logical and control operations. A traditional processor such as a Pentium processor has only one core inside the processor, but modern processors are multi-core processors. A multi-core processor has several cores inside the processor package where a core is the most basic computational unit of a processor. A core can execute only one program instruction at a time (can execute several if hyper-threading capability is available) but a processor which is made of several cores can execute several instructions simultaneously depending on the number of cores.

What is a Processor?

Processor that is also known as the Central Processing Unit (CPU) is the most important part of a computer system which is responsible for executing program instructions. These instructions involve arithmetical, logical, control and input-output operations. Traditionally a processor consists of a component called Arithmetic and Logical Unit (ALU), which is responsible for all arithmetical and logical operations and another component called Control Unit (CU) which is responsible for all control operations. Also, it has a set of registers to store values. Traditionally a processor could execute only one instruction at a time. Processors which only have one core in them are called single core processors. The Pentium series is an example for single core processors.

Then multi-core processors were introduced where a single processor had several processors in it known as cores. So a dual-core processor has two cores inside the processor and a quad core processor has four cores inside it. So a multicore processor is like a package that has several processors called cores inside it. These multicore processors can execute several instructions simultaneously depending on the number of cores.
A processor apart from cores, also has the interface that connects the device to the outside world. A multicore processor also has the interface that connects all the cores to the outside world. Also, it has a last level cache which is known as the L3 cache which is common to all the cores. Moreover, a processor can contain a memory controller and an input-output controller but depending on the architecture sometimes they can be located in the chipset that is outside of the processor. Further certain processors have Graphics Processing Units (GPU) inside them where a GPU is also made of small and less powerful cores.

What is a Core?

A core is the basic computational component of a processor. Several cores together make up a processor. A core consists of several basic parts. Arithmetic and Logic Unit is responsible for carrying out all arithmetic and logical operations. Control Unit is responsible for all control operations. The set of registers stores the values temporarily. If a core does not have the facility called hyper-threading it can execute only one program instruction at a time. However, modern cores have a technology called hyper threading where a core has redundant functional units that make them capable of executing several instructions parallel. Inside a core, there are two levels of caches called L1 cache and L2 cache. L1 is the closest one which is the fastest but smallest. L2 cache is after the L1 cache where it is a bit large but slower than L1. These caches are faster memories that store data to and from the Random Access Memory (RAM) of the computer to provide faster and efficient access.

What is the difference between Processor and Core?

• A core is the most basic computational unit of a processor. A processor is made up of one or more cores. Tradition processors had only one core while modern processors have multiple cores.

• A core consists of an ALU, CU, and a set of registers.

• A core consists of two levels of caches called L1 and L2 which is there in each core.

• A processor consists of a cache that is shared by call cores called L3 cache. It is common to all cores.

• A processor depending on the architecture can consist of a memory controller and an input/output controller.

• Certain processor packages consist of Graphics Processing Units (GPU) as well.

• A core that does not have hyper-threading can execute only one instruction at a time while a multicore processor made up of several cores can execute several instructions parallel. If a processor is made up of 4 cores that do not support hyper threading then that processor can execute 4 instructions at the same time.

• A core having hyper-threading technology has redundant functional units so that they can execute multiple instructions at a time. For example, a core with 2 threads can execute 2 instructions at the same time hence a processor with 4 such cores can execute 2×4 instructions parallel. These threads are usually called logical cores and the task manager of Windows generally show the number of logical cores but not the physical cores.

Summary:

Processor vs Core

A core is the most basic computational unit of a processor. A modern multicore processor consists of several cores inside them, but early processors had only one core. A core consists of its own ALU, CU and its set of registers. A processor is made of one or more such cores. A processor package also contains the interconnections that interface the cores to the outside. Depending on the architecture a processor can also contain an integrated GPU, IO controller and a memory controller. A dual core processor has 2 cores and a quad core processor has 4 cores as the name itself suggests. A core can execute only one instruction at a time (few if hyper-threading is available) but a multicore processor can execute instructions parallel as each core acts as an independent CPU.

Images Courtesy:

  1. Block diagram of a complete Bulldozer module, showing 2 integer clusters by Shigeru23 (CC BY 3.0)