MSC8144E Reference Manual, Rev. 3
Freescale Semiconductor
23-1
Hardware Semaphores
23
The MSC8144E hardware semaphores (HS) hold eight coded hardware semaphores. A coded
hardware semaphore provides a simple way to achieve a “lock” operation via a single write
access, eliminating the need for such sophisticated read-modify-write mechanisms as the
reservation. Using the hardware semaphores, external hosts and on-device bus initiators can
protect internal and external shared resources and ensure coherency in any sequence of
operations on these resources. Each coded hardware semaphore is an eight-bit register with a
selective write mechanism, as follows (see Figure 23-1):
The semaphore is free if its value is zero.
The semaphore is locked if its value is non-zero and its value is the lock code. Each
processor/task that needs the lock capability of the semaphore must have a unique
non-zero eight-bit code for locking the semaphore for correct protocol operation.
A write of a non-zero value (lock code) is successful only if the current value of the
semaphore is zero (free). This write is defined as a successful lock operation, and the
written value is the lock code.
A write of a non-zero value (lock code) is ignored if the current value of the semaphore is
non-zero (locked). This write is defined as a failed lock operation, since the coded
semaphore is considered locked with the non-zero code it holds.
To maintain the protocol coherency, only the initiator that successfully locked the
semaphore is allowed (and obligated) to free it. A write of zero is always successful and is
defined as a free operation.
When a processor/task must lock an unlocked semaphore to its unique code, it writes its unique
lock code to the semaphore register. It then reads back the semaphore value, and if it matches its
lock code, the lock operation is successful. A value mismatch (a different non-zero code or zero)
indicates to the initiator that the lock operation failed and must be retried. After a successful lock
operation, the initiator can do any coherent operation associated with this semaphore and then it
must free the semaphore (write zero).
Содержание MSC8144E
Страница 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Страница 40: ...MSC8144E Reference Manual Rev 3 xl Freescale Semiconductor Contents 26 5 12 8 RNG Output FIFO 26 186 ...
Страница 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Страница 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Страница 167: ...OCE Event and JTAG Test Access Port Signals MSC8144E Reference Manual Rev 3 Freescale Semiconductor 3 59 ...
Страница 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Страница 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Страница 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Страница 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Страница 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Страница 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Страница 884: ...MSC8144E Reference Manual Rev 3 17 44 Freescale Semiconductor RapidIO Interface Dedicated DMA Controller ...
Страница 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...