A multi-core processor refers to _________.

— Husein Motiwala, Path Mukadam, Eshaan Menkar, Gaurav Mekhe & Neel Malwatkar

WHAT IS A PROCESSOR?

A processor, is an integrated electronic circuit (a small chip) that performs the calculations that run a computer. A processor performs arithmetical, logical, input/output (I/O) and other basic instructions that are passed from an operating system (OS). Their purpose is to receive input in the form of program instructions and execute trillions of calculations to provide the output that the user will interface with. The terms processor, central processing unit (CPU) and microprocessor are commonly linked as synonyms. Processors are found in many modern electronic devices, including PCs, smartphones, tablets, and other handheld electronic devices.

A multi-core processor refers to _________.

A. Intel Core i9 9th Gen is an 8 core processor

WHAT ARE MULTI-CORE PROCESSORS?

A multi-core processor is a processor chip that has more than one processor on a single chip contained in a single package. A processor sometimes referred to as a “core,” is a circuit that performs instructions or calculations. Since a multicore processor has more than one processing unit, it can perform calculations and run programs at faster speeds than a single processor chip. A multi-core processor implements multiprocessing in a single physical package. Multicore processors are commonly used in many of the current computers, smartphones, and tablet devices and make our devices run faster than they would with a single-core processor chip. More processors on a chip allow device makers to put the greater computing power of multiple cores in the space that a single core processor would take up, and improve the performance of the electronic device, whether it’s a computer, laptop, smartphone or tablet.

B. Multi-Core Processors

BRIEF HISTORY

When the first chip-based processors were manufactured, the companies making these chips could only fit one processor on a single chip. As the chip-making technology improved, it became possible for chip makers to make chips with more circuits, and eventually, the manufacturing technology reached the point where chip makers could manufacture chips with more than one processor and created the multi-core chip.

Kunle Olukotun, a Stanford Electrical Engineering professor, and his students designed the first multi-core chip in 1998.In 2001, IBM introduced the world’s first multicore processor, a VLSI (very-large-scale integration) chip with two 64-bit microprocessors comprising more than 170 million transistors.

This breakthrough design in architecture and semiconductor engineering allowed these two processors to work together at a very high bandwidth with large on-chip memories, and with high-speed busses and input/output channels.

Four of these new microprocessors working together as a powerful 8-way module established a new industry standard and produced a then-record clock speed of 1.3 gigahertz.

“Everything about IBM’s Power4 processor is amazing. Amazing technology, amazing size (680 million transistors), amazing power requirements, amazing performance. And it’s amazing that anything so complex can work at all. This beast has 5,200 pins on the package and consumes 500 watts (that’s right, half a kilowatt) of power.”
- Jim Turley
“64-Bit CPUs: Alpha, SPARC, MIPS, and POWER,”
PC Magazine February 21, 2002

WHY “MORE” CORES & WHAT DOES IT MEAN ?

Processor cores are simply units that are a part of any computer’s CPU. Their function is to receive instructions and carry out computing operations, where information is processed and stored temporarily in the RAM.

In the 1990s the performance of a microprocessor went hand in hand with the microprocessor frequency , however with rapid improvements in the chip architecture the increase in performance as a result of increased frequency which itself flattened overtime, started becoming obsolete when it came to uni-core processors. The physical size of chips decreased while the number of transistors per chip increased; clock speeds increased which boosted the heat dissipation across the chip to dangerous levels

C. Comparison between uni-core & multi-core processors

Multi-core processors were introduced to tackle the issues prevalent in uni-core systems such as: power consumption, temperature dissipation, frequency etc. multi core processors ran at slower frequencies but they have proven to be the better option in contrast to uni-core processors courtesy of the simple logic: “Two heads are better than one”

To put it in simple terms the speed at which a computer runs programs can be said to be proportional to the number of cores present. A two — core processor is called dual core , a four core processor is called quad core and so on. But it’s not as simple as this, inevitably there are certain factors which affect the ability of a multi-core processor to speed up processes, such as its innate clock speed and simply the ability of a program to capitalize on the multicore processors capabilities. If we take a look at the speed of a processor lets understand that Processors are electronic circuits that perform mathematical calculations which take place at a fraction of a second. The time it takes a processor to finish a calculation is a cycle. The more cycles per second, the faster the processor can do its calculations. Most processors today are measured in gigahertz or a billion cycles per second. A 2 gigahertz processor runs 2 billion cycles per second, similarly one that’s 2.3 gigahertz runs billion cycles per second. A dual-core processor running at 2 gigahertz can run a total of 4 billion cycles, i.e. 2 billion for each processor.

MULTI CORE BASICS, IMPLEMENTATION AND CHALLENGES:

When we set multiple cores side by side it is vital that there exists a means of communication between the cores and the main memory, generally a single communication bus is used, another alternative is an interconnected network. Usually the bus approach is clubbed with a shared memory model(a communication bus has a limited scalability) while the interconnected network is clubbed with the distributed memory model.

It’s not uncommon that technology from different manufacturers varies to certain degrees, this is also the case with multicore architectures, Along with differences in communication and memory configuration another variance comes in the form of how many cores the microprocessor has. And in some multicore architectures different cores have different functions. This brings us to another aspect of multi core systems that is homogeneous architecture in which all the cores are of the same type and generally run on a single multicore operating system. Heterogeneous architecture on the other hand consists of a mix of core types that run on different operating systems and generally include GPUs.

Its obvious that a multicore system is indubitably superior however multicore processors have their own challenges, power and temperature management are factors that increase exponentially with the addition of cores on a chip. Memory coherence is another concern and finally there comes the need to write programs that actually take advantage of the multicore systems, if this isn’t done in many cases it could even lead to subdued performance.

APPLICATIONS

The wide potential of multi-core processors (MCPs) stems from their ability to perform multiple tasks in parallel. This includes overall tasks such as pipelining many chunks of data simultaneously for high system throughput or enabling more complex control algorithms. Any application that can be divided into parallel pieces is suitable for multi-core processors.

Multi-core processors are widely implemented across many application domains, including general-purpose, embedded, network, digital signal processing (DSP), and graphics (GPU). Core count goes up to even dozens, and for specialized chips over 10,000, and in supercomputers (i.e. clusters of chips) the count can go over 10 million.

Some examples include high graphic games like as COD, Overwatch, and other similar 3D games, Computer-aided design (CAD) and SolidWorks, Multimedia applications, Video editing software like as Adobe Photoshop, Adobe Premiere and iMovie, Scientific tools like as MATLAB, Embedded systems like industrial robots, Computer utility like as Excel, Database servers and high network traffic.

In addition, embedded software is typically developed for a specific hardware release, making issues of software portability, legacy code or supporting independent developers less critical than is the case for PC or enterprise computing. As a result, it is easier for developers to adopt new technologies and as a result there is a greater variety of multi-core processing architectures and suppliers.

D. Heterogeneous Multicore Processors

THE NEED AND CURRENT SCENARIO

There once was a race between Intel and AMD to see which company could build the first 1 GHz processor. Back in 2000, both companies were desperately trying to out-clock the other. The competition was so fierce that both companies claimed victory: AMD with its Athlon CPU and Intel with its Pentium III chip.

The competition didn’t stop at 1 GHz, as both companies then raced on to be the first to hit 2 and then 3 GHz. Around 2004, something odd happened: while the number of transistors on the CPU continued to increase, processor clock speeds began to flatten. Performance continued to improve, but what was driving the interest in cores over clock speed?

A] Multi-core CPUs were introduced:

The race between Intel and AMD continued, but the game had changed from clock speeds to multi-core chips. Around this time everyone traded in their single core Intel Pentium III for dual-core AMD chips running at a slower clock speed. Overall stability of the systems increased along with performance, but only a few programs existed that could take advantage of more than a single core.

Even today, at consumer level, only a few games and a number of post-production tools such as Adobe Premiere are able to take advantage of today’s newest consumer-grade quad and hexa-core CPUs. Others merely extract faster speed and don’t exploit the full potential of multi-core processors.

B] Virtualization

Virtualization is another technology helping to obtain the promise of MCPs. This is a methodology that allows running multiple operating environments — including a real-time and a general-purpose operating system — on the same hardware device. Virtualization works through the abstraction of associated processing cores, memory, and support devices. Automation system developers increasingly use this extra piece of software in their MCP-based controllers.

Memory management is critical when managing VMs, and is usually the first resource to become constrained. Using multi-core CPUs provides an increase in memory channels, allowing for large blocks of data to be processed and analysed. Allowing the processor to access this data from memory instead of the hard drive results in much better performance.

C] High-Performance Computing

High-performance computing (HPC) is the ability to process data and perform complex calculations at high speeds. To put it into perspective, a laptop or desktop with a 3 GHz processor can perform around 3 billion calculations per second. While that is much faster than any human can achieve, it pales in comparison to HPC solutions that can perform quadrillions of calculations per second.

One of the best-known types of HPC solutions is the supercomputer. A supercomputer contains thousands of compute nodes that work together to complete one or more tasks. This is called parallel processing. It’s similar to having thousands of PCs networked together, combining compute power to complete tasks faster.

HPC can also be very computational and memory intensive. Some of the most elaborate and expensive servers built at Puget Systems are used for HPC, and it’s not uncommon to find servers running AMD quad-Opteron or Intel quad-Xeon processors with support for up to 64 CPUs cores on a single server. HPCs are used in almost every field, right from Biological Research to Entertainment Industries.

D] Databases and the Cloud

Databases are tasked with running many tasks simultaneously. The more processor cores you have the more tasks you can run. Multi-core processors also allow multiple databases to be consolidated onto a single server. Again, the increased memory bandwidth is the primary reason this is possible.

Most database admins will say there’s no such thing as too much memory, and the latest processors from AMD and Intel allow up to 1 TB of memory on a single workstation-class motherboard.

Cloud environments are also transaction heavy, and multi-core processors allow a company to quickly scale up the number of cores during peak computing times. Energy efficiency is also important to cloud environments. Cores can be turned off or on as needed to optimize workloads and reduce energy.

To summarize, this blog has elaborated upon relevant knowledge and understanding pertaining to Multi-core-processors that one may require. We studied the need to invest time in MCPs and the widely used applications of it in different industries. We’ve explained how Processors have evolved over the years in terms of technology to create better designs and applications.

CPU performance is increasing rapidly day by day. The number of cores on the chip increases at each release of a new generation of a CPU. Modern electronic technology is getting more and more powerful accelerating the paradigm shift and creating a new world all together. Making the most out of this improving technology and putting it to the right use is our responsibility as consumers and as human beings.

What is meant by multi

A multicore processor is a single integrated circuit (a.k.a., chip multiprocessor or CMP) that contains multiple core processing units, more commonly known as cores. There are many different multicore processor architectures, which vary in terms of. Number of cores.

Where is multicore used?

Just as with single-processor systems, cores in multi-core systems may implement architectures such as VLIW, superscalar, vector, or multithreading. Multi-core processors are widely used across many application domains, including general-purpose, embedded, network, digital signal processing (DSP), and graphics (GPU).