ThreadX rtos adds real time SMP support for ARM MPCore
1 min read
Express Logic has announced the availability of its ThreadX rtos for ARM's MPCore multicore processor architecture. The two organisations have worked together to adapt ThreadX/SMP, an enhanced version of ThreadX.
According to Express Logic, it provides synchronous multicore support that preserves real time responsiveness to target ARM's MPCore. The rtos specialist states that it achieves a 'significant' performance boost by sharing the processing load over the multiple processor cores of the MPCore, while maintaining the real time responsiveness required for demanding embedded applications.
ThreadX/SMP has a memory footprint as small as 10KB and sub microsecond interrupt response and context switch. It's designed to complement the multicore architecture of the MPCore with the ease of SMP, while retaining hard real time responsiveness. ThreadX/SMP
The ARM MPCore offers up to four processors, with a unified shared memory accessible by all. Express Logic uses this shared memory to design a symmetric multiprocessor version of the ThreadX rtos that runs concurrently on all processors from a single copy in shared memory. Application processing is automatically distributed across the processors as processing demands dictate, based on available processor cores.
"ARM's MPCore is gaining popularity with customers looking for greater performance and ease of programming," commented William Lamie, president of Express Logic. "As opposed to Linux/SMP, ThreadX/SMP delivers deterministic real time responsiveness in a small memory footprint and is fully supported by Express Logic. It delivers the benefits of SMP programming without the overhead of a large OS."
According to Express Logic, ThreadX/SMP achieves a high degree of ease of use by enabling multicore applications to be developed without needing to know the details of the MPCore architecture. It allocates and manages powerful hardware resources to maximise application thread efficiency and transparently maps application threads to individual cores within the MPCore, providing automatic load balancing. Optionally, developers can directly manage the use of cores for individual application threads.
The low overhead of ThreadX is designed to produce an efficient thread to core allocation and assignment - a feat Express Logic says can be difficult for larger rtoses and oses to achieve.