MSC8113 Reference Manual, Rev. 0
Freescale Semiconductor
15-1
Hardware Semaphores
15
The MSC8113 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 such as DSI external masters 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 15-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 master 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 master that the lock operation failed and must be retried. After a successful lock
operation, the master can do any coherent operation associated with this semaphore and then it
must free the semaphore (write zero).
Содержание MSC8113
Страница 1: ...MSC8113 Reference Manual Tri Core 16 Bit Digital Signal Processor MSC8113RM Rev 0 May 2008 ...
Страница 20: ...MSC8113 Reference Manual Rev 0 xx Freescale Semiconductor Contents ...
Страница 28: ...MSC8113 Reference Manual Rev 0 xxviii Freescale Semiconductor ...
Страница 56: ...MSC8113 Reference Manual Rev 0 1 28 Freescale Semiconductor MSC8113 Overview ...
Страница 76: ...MSC8113 Reference Manual Rev 0 2 20 Freescale Semiconductor SC140 Core Overview ...
Страница 134: ...MSC8113 Reference Manual Rev 0 4 30 Freescale Semiconductor System Interface Unit SIU ...
Страница 168: ...MSC8113 Reference Manual Rev 0 6 18 Freescale Semiconductor Boot Program ...
Страница 180: ...MSC8113 Reference Manual Rev 0 7 12 Freescale Semiconductor Clocks ...
Страница 260: ...MSC8113 Reference Manual Rev 0 8 80 Freescale Semiconductor Memory Map ...
Страница 300: ...MSC8113 Reference Manual Rev 0 9 40 Freescale Semiconductor Extended Core ...
Страница 304: ...MSC8113 Reference Manual Rev 0 10 4 Freescale Semiconductor MQBus and M2 Memory ...
Страница 308: ...MSC8113 Reference Manual Rev 0 11 4 Freescale Semiconductor SQBus ...
Страница 544: ...MSC8113 Reference Manual Rev 0 16 46 Freescale Semiconductor Direct Memory Access DMA Controller ...
Страница 590: ...MSC8113 Reference Manual Rev 0 17 46 Freescale Semiconductor Interrupt Processing ...
Страница 614: ...MSC8113 Reference Manual Rev 0 18 24 Freescale Semiconductor Debugging ...
Страница 622: ...MSC8113 Reference Manual Rev 0 19 8 Freescale Semiconductor Internal Peripheral Bus IPBus ...
Страница 724: ...MSC8113 Reference Manual Rev 0 21 32 Freescale Semiconductor UART ...
Страница 920: ...MSC8113 Reference Manual Rev 0 25 150 Freescale Semiconductor Ethernet Controller ...
Страница 1171: ...MSC8113 Reference Manual Rev 0 Freescale Semiconductor C 61 EF wait_rts P 01077FFC 9F rts 71 ...
Страница 1172: ...MSC8113 Reference Manual Rev 0 C 62 Freescale Semiconductor MSC8113 Boot Code ...
Страница 1202: ...MSC8113 Reference Manual Rev 0 Index 30 Freescale Semiconductor Index ...