Santa Clara, Ca. – At the Arm Technical Conference here, Express Logic, Inc. announced the availability of its small footprint ThreadX RTOS for ARM’s MPCore multicore processor with synchronous multicore support that preserves real-time responsiveness.
ThreadX/SMP is based on Express Logic’s ThreadX RTOS, which features a memory footprint as small as 10KB and sub-microsecond interrupt response and context switch.
Taking advantage of the fact that the ARM MPCore offers up to four processors, with a unified shared memory accessible by all, Express Logic used this feature to configure 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, without the developer needing to be concerned about managing multiple processors.
Because of this, programming MPCore is as straightforward as developing an embedded application for a single-core processor with the benefit of multicore performance.
According to William E. Lamie, President of Express Logic, ThreadX/SMP is designed to allow multicore applications to be developed without needing to know the details of the MPCore architecture.
“ThreadX/SMP efficiently allocates and manages powerful hardware resources to maximize application thread efficiency,” he said, “and transparently maps application threads to individual cores within the MPCore, providing automatic load balancing. Optionally, the developer can directly manage the use of cores for individual application threads.
Lamie said the low overhead of ThreadX produces an efficient thread-to-core allocation and assignment—a feat that can be difficult for larger RTOSes and OSes to achieve.
“Real-Time SMP enables an application to apply the resources of multiple processors to serve its threads, without tailoring the program logic to manage and arbitrate among the processors,” he said.
“In a single processor system, once a top-priority thread begins execution, other threads must wait. With Real-Time SMP, threads of equal priority can run in parallel on the other processors, effectively balancing overload situations where one processor could not handle the volume of data requiring processing.”
Using Real-Time SMP, the application can launch a second, third, and fourth thread to help with the processing. The additional threads can be defined at initialization and automatically run on any available processor as needed, or created dynamically as the executing thread identifies processing demand beyond its capabilities.
ThreadX/SMP is supported by Express Logic’s TraceX/MC graphical real-time event analysis tool that shows multicore activity across a timeline. It identifies thread activity by core, enabling visual determination of load balancing and processor utilization, said Lamie.
ThreadX/SMP is available in full source-code form, royalty-free, with project license prices starting at $15,500. To learn more, go to www.expresslogic.com.