FAQ19.pdf

(2 KB) Pobierz
106 Configuration Register Accesses in a Multiprocessor System
Q:
Consider the following:
In a system with two processors and one MPC106, if processor A tries to write a
configuration register offset to CONFIG_ADDR, and processor B tries to write a
different configuration register offset to CONFIG_ADDR before processor A can
access CONFIG_DATA, then processor A will access the wrong configuration
register.
Is there a method to avoid the above problem ?
A:
There is no hardware protection for this situation.
However, you can create a semaphore in memory. For example, 603-A
writes to the semaphore location in memory indicating that it is going to
perform a configuration register access. 603-A then begins the configuration
access by writing to CONFIG_ADDR.
603-B checks the semaphore before writing to CONFIG_ADDR and sees that it
cannot begin the configuration access because 603-A is performing a configuration.
When 603-A is finished, it clears the semaphore indicating that no config register
access is in progress. In other words, before begining a configuration register
access, a processor checks the semaphore location in memory to see if it can ini-
tiate a configuration access.
Zgłoś jeśli naruszono regulamin