What is a heterogeneous multiprocessing system and why heterogeneous multiprocessing systems are needed?

Early embedded processing systems typically consisted of a microcontroller and a series of peripherals. These systems are typically used to perform small amounts of data, process data, make decisions, and output information based on decision outcomes. In some cases, a simple human-computer interaction interface such as reading the keyboard and displaying the results is implemented. Dealing with demand and generating demand at the same time seems to be insignificant by current standards. Modern embedded systems often need to process and analyze massive amounts of data in gigabytes, and often have additional requirements for deterministic and low latency operations. Many applications also require systems to reliably meet reliability and safety requirements while meeting relevant industry standards.

At present, it seems impossible to simultaneously handle high-bandwidth data, execute system applications, respond to real-time requests, and meet industry security standards on a single processor. However, multi-core heterogeneous chips can achieve these functions. Such a device has multiple processing units, each of which has the ability to handle one or more of the aforementioned requirements, which we call a heterogeneous processing system.

1 What is heterogeneous multiprocessing?

A heterogeneous multiprocessing system consists of multiple single-core or multi-core processors of different types. The simplest form of a heterogeneous multi-core processing system consists of a multi-core processor and GPU. However, modern technology allows a heterogeneous multiprocessing system on a chip to contain the following modules:

1 multi-core application processor (MulTIcore ApplicaTIons Processors);

2 multi-core graphics processor (MulTIcore Graphics Processors;

3 MulTIcore Real-Time Processors;

4 Platform Management Unit (Platform Management Unit);

5 Configuration and Security System;

6 Implement a specific multi-core processor on FPGA programmable logic.

The heterogeneous multi-core processing system cited herein includes a plurality of classifications as described above. The advantage of using FPGA logic to implement a multicore processor is that it can create custom special application processors that implement 2D parallel data processing through parallel Pipes and multiple Pipeline stages, enabling a large number of calculations to be done in one clock cycle.

Multicore processors can be designed to perform general purpose or special purpose calculations. Compared to general-purpose processors performing the same functions, dedicated calculations enable data optimization while reducing silicon package, increasing single-cycle cycle throughput, and low power consumption.

2 Evolution of heterogeneous processing systems with programmable logic

In 2002, Xilinx introduced the first FPGA with a PowerPC405 application processor. In the next FPGA, Xilinx integrated a higher performance PowerPC single or dual core processor in a single chip. Unlike today's product generation device processing systems, which are an integrated ASSP (including processors, interconnects, memory controllers, and peripherals), early products required a large amount of FPGA resources to connect the various resources together to form an ASSP-like solution. Program.

In 2011, Xilinx introduced the Zynq-7000 family of highly integrated devices that integrate the ARM Cortex-A9 MPCore processor, interconnects, memory controllers, peripherals, and programmable logic based on Xilinx 7 series FPGAs. Some people will think that the Zynq-7000 series is the first generation of "heterogeneous multiprocessing" systems, because the on-chip programmable logic makes the creation and use of dedicated processing units a reality.

3 The latest generation of heterogeneous processing systems with programmable logic

In 2015, Xilinx released and began shipping the next-generation heterogeneous multiprocessing device Zynq UltraScale+ MPSoC. The previous device integrates programmable logic with one or more application processors, and the Zynq UltraScale+ MPSoC device integrates:

1 multi-core application processor: quad-core ARM Cortex-A53 application processor;

2 multi-core graphics processor: dual-core ARM Mali-400 graphics processor;

More than 3 verification time processors: Dual-core ARM Cortex-R5 real-time processor for simultaneous operation of demanding security applications;

4 platform management unit: Consistent three redundant processors for power, error management and functional safety management;

5 configuration and security unit: Consistent three redundant processors for system configuration and security management;

6FPGA Programmable Logic: User-programmable logic is used to customize processors, processing units, and peripherals.

Zynq UltraScale+ MPSoC Block Diagram

Multi-core application processors are traditional heavy-duty processors for general purpose computing. These processors typically work in SMP mode, run a Linux or Android operating system, and of course support virtual management to run multiple operating systems.

The graphics processing unit is the most popular coprocessor after the floating point unit. The GPU offloads the graphics processing load from the application processor, enabling complex user interfaces and complex graphics rendering. These are essential features for operating systems such as Andriod or Windows CE. In addition to graphics processing, the general purpose GPU (GPGPU) can also be used for general calculation of data arrays.

Real-time processors can respond to events with low latency, and are often more deterministic than application processors. In most cases, a real-time operating system that supports low-latency interrupt processing and deterministic responses is run. In functional safety applications, real-time processors typically run in dual-core lockstep mode, which detects errors in one processor in a dual processor.

The platform management unit is responsible for managing key system functions and services. These features include system error handling, power management, and functional safety tasks. As the heart of the system, the unit should not fail. Therefore, a three-redundant processor with voting logic is used here, which allows the subsystem to continue to run even if there is an error event on one of the processor cores.

The configuration and security unit is responsible for system configuration, including loading the processor's first-level bootloader, programmable logic configuration bit stream, program code and bit files with optional encryption authentication and decryption. The configuration and security unit also provides continuous security monitoring such as overvoltage or undervoltage, low or high temperatures, attempts to extract system information access, and more.

On-chip programmable logic brings full flexibility to heterogeneous processing. You can handle the computational tasks of special applications by adding additional off-the-shelf soft cores, or you can add multi-pipeline and multi-pipeline stage custom soft cores at different levels to achieve massive parallel processing of data streams.

Lifepo4 Battery

Lifepo4 Battery,Catl Lfp Battery,Long Life Lfp Battery,Plastic Case Lifepo4 Battery

MAIN NEW ENERGY CO.,LTD , https://www.greensaver-battery.com

Posted on