|Non-Confidential||PDF version||ARM DUI0471M|
|Home > Key Features of ARM Architecture Versions > Considerations when designing software for a multiprocessing system|
Consider these recommended guidelines when designing a multiprocessing system.
Synchronize software execution on processors using
STREX to create a mutex or semaphore to protect critical sections and
Manage cache coherency for symmetrical and asymmetrical multiprocessing.
Execute repetitive tasks in separate threads.
Split a large task into several threads executing in parallel.
Set up a primary CPU using the CP15 CPU ID register for initialization tasks.
Use bit masking for interrupt pre-emption.
Configure the cycle counts that trigger a timer or watchdog.
These tasks are generally handled by an OS.