This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

__pld() Instruction Intrinsic

Has anyone used the __pld() instruction intrinsic with the Keil compiler tools?

According to the ARM V7-M Architecture Reference Manual: "The effect of these memory system hints is IMPLEMENTATION DEFINED".

Please. No 'what are you using this for' questions. Right now this is just a research on my part to determine whether or not I would need to use this intrinsic. Since this is implementation defined I would need to know if this is even used within the Keil environment and what would be the benefit (if any) over using this rather than say optimization level 3 or even using the volatile keyword.

Thanks.

Parents
  • From the ARM manual:

    "For example:
    In systems with a DMA that reads memory locations that are held in the data cache of a processor, a breakdown of coherency occurs when the processor has written new data in the data cache, but the DMA reads the old data held in memory. In a Harvard architecture of caches, a breakdown of coherency occurs when new instruction data has been written into the data cache and/or to memory, but the instruction cache still contains the old instruction data."

    Just trying to understand myself.

Reply
  • From the ARM manual:

    "For example:
    In systems with a DMA that reads memory locations that are held in the data cache of a processor, a breakdown of coherency occurs when the processor has written new data in the data cache, but the DMA reads the old data held in memory. In a Harvard architecture of caches, a breakdown of coherency occurs when new instruction data has been written into the data cache and/or to memory, but the instruction cache still contains the old instruction data."

    Just trying to understand myself.

Children
No data