0% found this document useful (0 votes)
10 views3 pages

Understanding Multicore Processors

Multi-core processors have two or more independent processing units (cores) on a single chip. This allows multiple instructions to be executed simultaneously, increasing overall speed. While single core processors need to increase clock speeds for more processing power, this leads to overheating issues. Multi-core processors keep clock speeds efficient by distributing work across cores, providing similar processing power with lower energy consumption than a single high-clocked core.

Uploaded by

masow50707
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views3 pages

Understanding Multicore Processors

Multi-core processors have two or more independent processing units (cores) on a single chip. This allows multiple instructions to be executed simultaneously, increasing overall speed. While single core processors need to increase clock speeds for more processing power, this leads to overheating issues. Multi-core processors keep clock speeds efficient by distributing work across cores, providing similar processing power with lower energy consumption than a single high-clocked core.

Uploaded by

masow50707
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

What is Multicore:-

Problems with Single Core

To execute the tasks faster you must increase the clock time.

Increasing clock times too high drastically increases power consumption and heat dissipation to
extremely high levels, making the processor inefficient.

Solution:

Creating two cores or more on the same Die increases processing power while keeping clock speeds at
an efficient level.

A processor with 2 cores running at efficient clock speeds can process instructions with similar speed to
a single core processor running at twice the clock speed, yet the dual core processor would still consume
less energy.

A multi-core processor is a single computing component with two or more independent actual
processing units (called "cores"), which are the units that read and execute program instructions. The
instructions are ordinary CPU instructions such as add, move data, and branch, but the multiple cores
can run multiple instructions at the same time, increasing overall speed for programs amenable to
parallel computing. Manufacturers typically integrate the cores onto a single integrated circuit die
(known as a chip multiprocessor or CMP), or onto multiple dies in a single chip package.

Diagram:-

General issues:-
• Difficult to make single-core
clock frequencies even higher – heat problems
• Deeply pipelined circuits:
– heat problems, needs special cooling arrangements
– Intel’s NetBurst architecture was not continued
• Many new applications are multithreaded
• General trend in computer architecture (shift towards more parallelism)
Multi-Core Advantages:
• While working with many threads, a Multi Core processor with n cores can execute n threads
simultaneously by assigning a core to each thread. If it must process more than n threads , say
x, it can apply multithreading procedures with each core working with an average of x/n
threads.
• A Single core processor must multithread with every single thread.
• Creating multi core processors is convenient in that: The name “core dual” and similar names
are good for marketing.
• It has lower manufacturing costs.
• Uses proven processor designs.
Purpose:-
1- To save the time & memory.
2- To solve complex problem
3- To prove concurrency
4- Better use of hardware
-----------------------------------------------------------------------

Symmetric multiprocessing (SMP) involves a symmetric multiprocessor system hardware and


software architecture where two or more identical processors connect to a single, shared main
memory, have full access to all I/O devices, and are controlled by a single operating system
instance that treats all processors equally, reserving none for special purposes.

Most multiprocessor systems today use SMP architecture. In the case of multi-core processors,
the SMP architecture applies to the cores, treating them as separate processors.

SMP systems are tightly coupled multiprocessor systems with a pool of homogeneous processors
running independently, each processor executing different programs and working on different
data and with capability of sharing common resources (memory, I/O device, interrupt system and
so on) and connected using a system bus or a crossbar.

The central concept of symmetric multiprocessing is that the “Main Memory(MM)” is shared across all
discrete processing modules in the system. The multiple cores in the processor shares the same
memory, I/O controllers, Operating system and board.

Asymmetric Multiprocessing:

Asymmetric multiprocessing architecture is a primitive architecture that is implemented in


clusters of computation units having more than one processor. During the initial phase of the
“computer-era” when a single computer was big enough to fill up an entire room or corridor, the
only way to increase computational power was to add in more processing units to the same
computer. This was cheaper than setting up a new computer that requires dedicated hardware and
peripherals.
In this scenario, engineers came up with an architecture wherein a processor would be attached
as a “slave” to the main processing unit and this slave processor would share the load and add to
the performance of the main computer. In this case, the slave computer or processor would only
be sharing limited resources, information or load, and would not be acting in a transparent
environment. In simple terms, the separate processors or cores are unaware of each other’s
existence and work as individual units. They may or may not share the same memory. Normally,
the secondary processors will not be having connection with the I/O units and other peripherals.

In a different context, an asymmetric multiprocessor system can also have two separate
operating systems for different computational units or cores. These operating systems work
separately using discrete support peripherals, memory units and other components. In both
scenarios, it is the system designer’s responsibility to ensure a perfect resource sharing
mechanism because, neither the operating systems nor the processors own the entire hardware.
So resource sharing is not “under the hood” as it is in the case of Symmetric multiprocessors.

AMP has its own advantages. For example, AMP is the only architecture that can handle or
work with two different operating systems working in the same environment. AMP has the
required design prerequisites which allow the OSes to communicate with each other and share
the resources accordingly. Also, AMP proves to be faster than symmetric architecture as there is
no delay due to “handshaking”.

The final decision to chose SMP or AMP is mostly based on the ease with which it can be
implemented. Applications or architectures that already run on an SMP-aware OS, such as
Linux, can easily be scaled by adding more cores in SMP. In such cases, AMP is not entertained
as it would require a complete restructuring.

AMP, on the other hand, is a good choice if the application has unavoidable parallelism at the
user level. Generally, Networked multiprocessing uses asymmetric implementation and is mostly
found in embedded architectures where the system has a network connection, shared memory or
processor bus or shared mailbox for communication between processing components.

Multiprocessing is indeed vast and has many branches that would demand an in depth study,
which would unravel the benefits and disadvantages of the two architectures.

An AMP system:

 multiple CPUs
 each of which may be a different architecture [but can be the same]
 each has its own address space
 each may or may not run an OS [and the OSes need not be the same]
 some kind of communication facility between the CPUs is provided

An SMP system:

 multiple CPUs
 each of which has the same architecture
 CPUs share memory space [or, at least, some of it]
 normally an OS is used and this is a single instance that runs on all the CPUs, dividing
work between them
 some kind of communication facility between the CPUs is provided [and this is normally
shared memory]

Common questions

Powered by AI

Symmetric multiprocessing (SMP) features identical processors that share the same memory and I/O resources. All processors are controlled by a single operating system instance that treats them equally. This architecture allows for efficient resource sharing and easy scalability within environments that support SMP, like Linux . Conversely, asymmetric multiprocessing (AMP) involves processors that may have different architectures, with separate memory spaces and possibly different operating systems. Communication between processors is managed explicitly rather than 'under the hood,' allowing flexibility, such as running different OSes on different processors, but requiring more complex resource coordination . This can lead to faster performance due to no delays in resource 'handshaking,' but complicates implementation compared to SMP .

AMP might be preferred in scenarios where applications require different operating systems or where unavoidable parallelism at the user level necessitates distinct processing units operating separately. AMP allows for heterogeneous environments, such as embedded systems where communication between various processing components is managed through networks, shared memory, or processor buses. The flexibility of AMP to utilize multiple CPUs with different architectures or address spaces makes it suited for applications that cannot be easily adapted to SMP's homogeneity .

Symmetric multiprocessing (SMP) is generally more suitable for scaling existing applications because it allows for seamless integration of additional processors without needing to restructure the application or its operating environment. SMP's use of shared memory and resources means that an application designed for SMP can easily utilize additional cores by spreading the workload across them. This homogeneity and the fact that SMP-compatible systems typically use a single OS instance make it much easier to scale compared to asymmetric multiprocessing, where heterogeneous environments can require significant redesign and potentially different operating systems for each processor .

In SMP systems, communication and memory sharing are facilitated by shared main memory accessible to each of the identical processors, which is controlled under a single OS instance. This architecture allows for efficient inter-processor communication and data coherence across processors with minimal overhead. In contrast, AMP systems may use varied communication facilities, such as complex networking or shared mailboxes, as processors might have their own address spaces and different operating systems, resulting in a less straightforward approach to memory sharing. AMP can involve explicit resource management to ensure processors communicate efficiently, which adds complexity compared to SMP's uniform shared memory model .

Single-core processors struggle with increased heat dissipation and power consumption as clock speeds are maximized to boost performance. This inefficiency spurred the adoption of multicore and symmetric multiprocessing (SMP) systems, where each core or processor can run at lower, more efficient clock speeds while achieving similar or better performance through parallel processing. SMP systems address these limitations by sharing memory and I/O resources across multiple processors, which efficiently balances workload without the need for each processor to independently handle every task .

Choosing between SMP and AMP architectures involves several trade-offs. SMP offers ease of implementation and integration for applications running on SMP-aware operating systems, allowing straightforward scalability and resource sharing. However, it requires homogeneity in processor architecture and OS, which might limit flexibility. Conversely, AMP allows for more heterogeneous environments, accommodating processors with different architectures and even separate OS instances, which can be advantageous for specific parallel processing needs at the expense of complexity in designing resource sharing mechanisms. The choice often balances the need for uniformity and ease of scaling against adaptability and specific application requirements .

Beyond power efficiency, multi-core processors provide several advantages over single-core processors. They enable concurrent execution of multiple threads, enhancing performance for multithreaded applications. Multi-core designs also lead to lower manufacturing costs and simplified designs due to the use of proven architectures. They can achieve high processing power without requiring higher clock speeds, which reduces the need for advanced cooling solutions. Additionally, multi-core processors support marketing strategies, as terms like 'dual-core' are attractive to consumers .

Symmetric multiprocessing (SMP) systems integrate cores within multi-core processors by treating the cores as discrete processors that share a common memory and I/O system. This architecture allows each core to access and utilize shared resources equally, providing seamless distribution and execution of tasks across all cores governed by a single OS instance. SMP achieves this through a tightly coupled system where processors communicate over a shared memory or system bus, allowing efficient task management and dynamic workload balancing without the overhead of needing separate memory resources .

Multicore processors enhance computational performance by allowing multiple instruction streams to be processed simultaneously. With two or more independent cores on the same die, they can execute multiple threads at once, increasing speed for multithreaded applications without drastically raising clock speeds, which would otherwise cause increased power consumption and heat in single-core processors. Thus, multicore architectures maintain energy efficiency by running at lower clock speeds compared to a single-core processor achieving similar performance levels by higher clock speeds .

The development of asymmetric multiprocessing (AMP) systems arose during the early era of computing when increasing computational power was more economical by adding processors as "slaves" to a main unit rather than constructing entirely new computers. This setup allowed rudimentary resource sharing where the slave processors augmented performance without complete transparency in task distribution. The limited resource sharing and non-uniform architecture in AMP offered initial scalability for systems that needed higher computation but could not leverage general symmetric designs due to lack of homogeneity or different OS requirements .

You might also like