Embedded Systems Design Europe - August/September 2008 - (Page 36) multicore and store operations and can initiate data movement between CPUs and the memory subsystem. All peer CPUs of the CPS will receive coherent messages posted by an initiator and respond according to their cache-line coherent state. The coherence manager will initiate data movement as required. Coherent cache-manipulation commands are used for cache-line maintenance within the coherent address space. I/O traffic will bring new coherent lines into the domain or remove coherent context from cache lines. Further, operations that synchronize memory hierarchy are performed. Noncoherent commands perform OCP main-port transactions on memory regions outside the coherent address space. These represent OCP read and write commands. this message as an OCP master-port command. Peer CPUs of the system receive interventions based on this linestatus change and will respond with their local cache-line status. The first message type is the CohReadOwn, denoting a cache miss that occurred through an attempt to modify a cache line. As Figure 2 shows, peer cores encountering this line in status “Modified” will force a write-back into the memory subsystem and perform a local invalidate. As an optimization, locally encountered line data will be forwarded to the requester CPU to reduce access latency. The requester CPU will install this line as “Exclusive” and perform the line-modifying instruction. Then the cache-line status will change to “Modified.” While waiting for line refill, the requester CPU will continue execution of another thread. The CohReadShared message indicates that a cache miss occurred through a line read operation. No line modification is intended. As Figure 3 shows, peer cores encountering this line in status “Modified” will force a write-back into the memory subsystem. Hitting peer lines will migrate to “Shared” status. Hit data is forwarded to the requester core and installed in state “Shared.” Then the line read operation is performed. While waiting for line refill, the requester CPU will continue execution of another thread. CohUpgrade indicates that a linemodifying instruction encountered a cache hit on a “Shared” line. As Figure 4 shows, peer cores will be notified to invalidate hitting lines. The “Shared” line is then upgraded to “Modified” after the modifying instruction is executed. Finally, the CohWriteBack message signifies eviction of a coherent cache line. The coherence manager will initiate data movement through the intervention port and forward data to the memory subsystem. The evicted cache line is then replaced by a new – possibly coherent – address. In this case, a CohReadOwn or CohReadShared has caused the eviction. COHERENT CACHE MANIPULATION COMMANDS In response to cache manipulations, coherence messages are initiated and sent to peers. CohCopyBack – write back a coherent cache line to the memory subsystem. Cache-line hits in state “Modified” will be written back. Line status migrates to “Shared.” CopyBack data movement will be initiated by the coherence manager using the intervention port. CohInvalidate – purge a coherent cache line without writing back its contents to the memory subsystem. This command is always data-less and is posted to each peer of the CPS. Invalidate-type cache operations cause a CohInvalidate message. CohWriteInvalidate – an I/O coherence unit injects a new cache line into the coherent domain. Existing peer line data will be invalidated throughout the CPS. CohReadInvalidate – an I/O coherence unit notifies the system about a cache line leaving the coherent domain. 36 AUGUST – SEPTEMBER 2008 | embedded systems design europe | www.embedded.com/europe • • COHERENT MESSAGES The CPS may implement four coherent messages that are caused by L1 cacheline-status changes due to CPU load and store activity. The initiating CPU sends 034-035-036-037_ESDE.indd 36 28/08/08 12:14:31 http://www.embedded.com/europe
Table of Contents Feed for the Digital Edition of Embedded Systems Design Europe - August/September 2008 Embedded Systems Design Europe - August/September 2008 Contents TI Overhauls DSP Lineup, Adds 15 Processors QNX Publishes Source Code for File System Congatec to Take on Proprietary Market Swiss Multicore Project Wins Microsoft Grant OpenCores Bundles Development Tool ARM Compiler Boosts Freescale i.MX31 LabVIEW Updated for Multicore and Wireless Cover Feature: Interactive Tool Supports Multiprocessor SoC Design Wanted: Benchmaking for Embedded VMM Hypervisors Graphical Design Empowers Spider Robots Building a Power Supply for Discontinuous Transmission Wireless Networks RTOS Selection & Best Practices Achieving Cache Coherence in a MIPS32 Multicore Design New Products Advertising Contacts Embedded Systems Design Europe - August/September 2008 Embedded Systems Design Europe - August/September 2008 - Embedded Systems Design Europe - August/September 2008 (Page Cover1) Embedded Systems Design Europe - August/September 2008 - Embedded Systems Design Europe - August/September 2008 (Page Cover2) Embedded Systems Design Europe - August/September 2008 - Contents (Page 3) Embedded Systems Design Europe - August/September 2008 - Contents (Page 4) Embedded Systems Design Europe - August/September 2008 - Contents (Page 5) Embedded Systems Design Europe - August/September 2008 - QNX Publishes Source Code for File System (Page 6) Embedded Systems Design Europe - August/September 2008 - QNX Publishes Source Code for File System (Page 7) Embedded Systems Design Europe - August/September 2008 - OpenCores Bundles Development Tool (Page 8) Embedded Systems Design Europe - August/September 2008 - OpenCores Bundles Development Tool (Page 9) Embedded Systems Design Europe - August/September 2008 - LabVIEW Updated for Multicore and Wireless (Page 10) Embedded Systems Design Europe - August/September 2008 - LabVIEW Updated for Multicore and Wireless (Page 11) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 12) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 13) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 14) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 15) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 16) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 17) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 18) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 19) Embedded Systems Design Europe - August/September 2008 - Wanted: Benchmaking for Embedded VMM Hypervisors (Page 20) Embedded Systems Design Europe - August/September 2008 - Wanted: Benchmaking for Embedded VMM Hypervisors (Page 21) Embedded Systems Design Europe - August/September 2008 - Graphical Design Empowers Spider Robots (Page 22) Embedded Systems Design Europe - August/September 2008 - Graphical Design Empowers Spider Robots (Page 23) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 24) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 25) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 26) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 27) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 28) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 29) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 30) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 31) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 32) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 33) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 34) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 35) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 36) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 37) Embedded Systems Design Europe - August/September 2008 - New Products (Page 38) Embedded Systems Design Europe - August/September 2008 - New Products (Page 39) Embedded Systems Design Europe - August/September 2008 - New Products (Page 40) Embedded Systems Design Europe - August/September 2008 - New Products (Page 41) Embedded Systems Design Europe - August/September 2008 - New Products (Page 42) Embedded Systems Design Europe - August/September 2008 - Advertising Contacts (Page 43) Embedded Systems Design Europe - August/September 2008 - Advertising Contacts (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.