Abstract:
A method for controlling cache snoop and/or invalidate coherence traffic for specific caches based on transaction attributes is described. A memory management unit (MMU) determines one or more transaction attributes for a cache coherence transaction from a requesting processor. A routing module identifies a cachability domain and/or shareability domain based on the transaction attributes and routes the cache coherence transaction to one or more caches in the cachability domain and/or shareability domain. Instead of coherence traffic being routed to all caches on a coherence bus, coherence traffic is selectively routed based on transaction attributes such as an address space identifier (ASID), a virtual machine identifier (VMID), a secure bit (NS), a hypervisor identifier (HYP), etc.
Abstract:
A low latency cache intervention mechanism implements a snoop filter to dynamically select an intervener cache for a cache “hit” in a multiprocessor architecture of a computer system. The selection of the intervener is based on variables such as latency, topology, frequency, utilization, load, wear balance, and/or power state of the computer system.
Abstract:
Techniques are disclosed to provide quality of service in bus interconnects with multi-stage arbitration. Source computing elements tag packets with a priority class and/or a number of credits that are based on a distance to a destination computing element of the packets. Arbiters controlling access to the bus interconnect perform arbitration operations to serve packets having higher relative priority based on the priority levels and/or numbers of credits of each packet.