1.3 Considerations when designing software for a multiprocessing system

Consider these recommended guidelines when designing a multiprocessing system.

  • Synchronize software execution on processors using LDREX and STREX to create a mutex or semaphore to protect critical sections and non-shareable resources.

  • 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.

  • Prioritize interrupts.

  • 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.

Non-ConfidentialPDF file icon PDF versionARM DUI0471M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.