7.1.4. Synchronized start and stop operations, cross-triggering, and skid

Synchronization applies equally to starting processors and stopping them. Having a development platform with closely synchronized processors and a short skid enables you to stop the system and be confident that the overall state is as consistent as it was when you requested the stop. For a loosely synchronized system, whether the overall state is consistent when it has stopped is more dependent on the software and hardware architecture.

The length of skid varies and depends on many conditions:

Usually, a multiprocessor application is designed to be tolerant of differing execution speeds and differing execution orders for each of the constituent processes. In this case, communication attempts between processors are guarded to ensure data consistency. This is particularly true when the processors in a group run at differing clock speeds or using differing memory subsystems.

If communication guarding is not done, normal perturbations in the execution order might cause the application to fail. In communication systems that do not include very short communication timeouts, it is often possible to stop only one processor in a group. The other processors come to a halt through lack of, or excess of, data. Alternatively, you can let them continue to write to communication buffers while you work, intentionally overwriting them.

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0153N