What Is a Multi-core Processor?
A multi-core processor is a type of computer central processing unit (CPU) that contains two or more independent processing units, or cores, within a single chip. Together, these cores are capable of executing multiple instructions simultaneously, leading to improved performance and efficiency compared to single-core processors.
Multi-core processors are widely used in a variety of devices, from smartphones and laptops to servers and supercomputers. They have become the standard for modern computing, offering improved speed, energy efficiency, and reliability.
The rise of multi-core processors is due to the limitations of single-core processors in keeping up with increasing demand for computing power. Multi-core processors allow parallel processing, meaning that tasks can be divided into smaller parts that can be executed simultaneously by different cores, resulting in faster processing times. Additionally, multi-core processors make more efficient use of available resources, as each core can be assigned tasks based on its availability and processing capabilities.
A multi-core processor is a CPU that contains two or more independent cores on a single chip.
Multi-core processors have also been designed to improve reliability by allowing for redundancy. For example, if one core fails, the other cores can continue to execute tasks, reducing the risk of downtime or data loss.
When to Use a Multi-core Processor
Deciding when to use a multi-core processor depends on a variety of factors, including the specific requirements of the task at hand:
- Improved performance: If a task requires a lot of computational power, a multi-core processor can divide the task into smaller parts and execute them simultaneously, leading to faster completion times. This is particularly useful for tasks such as video rendering, scientific simulations, and data analysis.
- Energy efficiency: If a task requires a lot of processing power over an extended period of time, a multi-core processor can conserve energy by alternating between cores as needed, rather than constantly running at full speed. This benefits devices such as laptops and smartphones, where longer battery life is desired. It also reduces energy consumption of servers and other computer systems.
- Improved reliability: If a task is critical and cannot be interrupted, a multi-core processor can ensure continuity of execution in the event of a core failure. This is important in applications such as servers and data centers, where downtime can result in significant financial losses.
In some cases, using a multi-core processor may not be necessary. For tasks that are simple and do not require a lot of computational power, a single-core processor may be sufficient. Additionally, some tasks may not be able to take advantage of multiple cores, such as those that are single-threaded or sequential in nature.
Multi-core Processors vs. Multiprocessors
Multi-core processors and multiprocessors are two types of computer processing units that are commonly used to improve the performance and efficiency of computer systems. While they are similar in some ways, there are key differences between the two that are important to understand.
A multi-core processor is a type of CPU that contains multiple processing cores within a single chip. Because these multiple cores can execute instructions simultaneously, a multi-core processor can perform better and more efficiently than a single-core processor.
A multiprocessor, on the other hand, is a computer system that contains multiple processors. These processors can be separate physical chips or multiple cores within a single chip. The purpose of a multiprocessor is to increase the overall processing power of the system by allowing multiple tasks to be executed simultaneously by different processors.
Making the choice between a multi-core processor and a multiprocessor system requires analyzing the complexity and specific needs of the task.
In other words, a multi-core processor has a single processor with multiple processing units (cores). A multiprocessor has two or more processors. Both speed up a system’s computing process, but a multiprocessor has a more complex configuration.
Another difference is the way in which tasks are executed. In a multi-core processor, tasks are divided into smaller parts that are executed simultaneously by different cores. In a multiprocessor system, tasks are divided into separate processes, each of which is executed by a separate processor.
The choice between a multi-core processor and a multiprocessor system depends on the specific requirements of the task. For tasks that require a lot of computational power, a multiprocessor system might be necessary. However, for simpler tasks that do not require a lot of processing power, a multi-core processor may be sufficient.
How Can Wind River Help?
VxWorks 653 Multi-core Edition
VxWorks® 653 Multi-core Edition is a safe, secure, and reliable real-time operating system (RTOS). It delivers an ARINC 653–conformant system by providing robust time and space partitioning on the latest hardware platforms to ensure fault containment and the ability to upgrade applications with minimal test and integration demands.
Industry standards conformance
VxWorks 653 Multi-core Edition lowers upgrade costs by providing high portability across product lines and airborne platforms. It provides:
- Simultaneous support for ARINC 653 APEX API, VxWorks, POSIX®, FACE™, Software Communications Architecture (SCA), and application programming interfaces (APIs)
- Support for applications written in Ada, C, and C++
- Unmodified guest OS support that eases portability for legacy applications mixed with modern, standards-based applications and operating systems
Affordability
VxWorks 653 Multi-core Edition employs a modular open architecture and supports robust partitioning that enables suppliers to modify an application that is part of an existing certified system and only retest the scope of the components that have changed, dramatically reducing recertification costs.
Independent build, link, and load (IBLL)
VxWorks 653 Multi-core Edition is designed around a multi-supplier, role-based supply chain per RTCA DO-297, which allows application suppliers to asynchronously develop, test, and deliver software applications independently.
Figure 1. VxWorks 653 Multi-core Edition
Multi-core scheduler using hardware virtualization assist
VxWorks 653 Multi-core Edition enables the virtualization of unmodified guest operating systems, allowing applications to run in parallel on separate cores and virtualization environments, increasing safety, security, robustness, and compute capacity. Benefits include:
- Reduced bill of materials (BOM)
- High performance and low jitter due to two-level virtual machine architecture
- Robust support of multiple levels of safety criticality on a shared compute platform
Development tools
VxWorks 653 Multi-core Edition reduces development time and cost. Its benefits include:
- Independent supplier build process, reducing the impact of code changes across multiple development teams
- Wind River® Workbench development suite based on the Eclipse open tool architecture, enabling wide integration of industry toolchains
- Wind River Simics® support for system simulation and automation
Hardware support and availability
VxWorks 653 Multi-core Edition supports PowerPC architecture.
Proven market excellence
VxWorks 653 Multi-core Edition is built on the VxWorks and VxWorks 653 rich pedigree of single and multi-core development, proven in more than 550 programs delivered by over 350 customers in more than 90 aircraft, including:
- Airbus Helionix, Airbus MRTT, and Airbus A400M
- Boeing 787 Dreamliner, Boeing C-130 AMP, Boeing KC-767 tanker, and Boeing P-8 Poseidon (Multi-Mission Maritime Aircraft, or MMA)
- COMAC C919
- Lockheed Martin C-130T
- More than 80 other global aircraft
Collins Aerospace VxWorks 653 Success Story
Wind River and Collins Aerospace collaborated on design, problem solving, and certification processes to achieve FAA CAST-32A multi-core certification objectives as part of the DO-178C DAL A certification process. This was the first time a multi-core design had been certified to avionics safety standards at the highest level of criticality on multiple cores. For development flexibility, they chose VxWorks 653 Multi-core Edition. Their collaborative approach to achieving certification on multi-core bore the potential to fundamentally change the avionics industry.
» Watch the Video» Read the Success Story
Wind River and Collins Aerospace collaborated to reduce risks while increasing processing resources.