Microarchitectural wire management for performance and power in partitioned architectures
AssigneeUniversity of Utah Technology Commercialization Office
InventorsRajeev Balasubramonian, Liqun Cheng, John Carter, Naveen Muralimanohar, Karthik Ramani
Life of this patent
Estimating the term…
Abstract
A method for utilizing heterogeneous interconnects comprising wires of varying latency, bandwidth and energy characteristics to improve performance and reduce energy consumption by dynamically routing traffic in a processor environment.
Claims19
A method for routing traffic between an operating portion and a cache in a processor, said method comprising:
- providing a processor having an operating portion and a cache with a data block having an address, said address being comprised of a plurality of bits;
- providing at least a first conductor connected to extend from said operating portion to said cache to supply a first address packet comprised of first selected bits of said plurality of bits of said address from said operating portion to said cache;
- providing at least a second conductor connected to extend from said operating portion to said cache to supply a second address packet comprised of second selected bits of said plurality of bits of said address from said operating portion to said cache, said second address packet having more bits than said first address packet and in turn taking more time to proceed from said operating portion to said cache than said first selected bits;
- operating said processor to generate said address at said operating portion and directing said first address packet over said at least first conductor to prefetch a plurality of data blocks at said cache associated with said first address packet, said processor also directing said second address packet over said second conductor to identify said data block having said address from said plurality of data blocks.
A method for routing traffic between a cluster element and a cache in a processor, said method comprising:
- providing a processor having a cluster element and a cache, said cluster element connected to said cache using an interconnect having a plurality of conductor means;
- determining, at said cluster element, the address of a requested data block to be retrieved from said cache;
- transmitting a plurality of first selected bits comprising a subset of said address from said cluster element to said cache on a first conductor means associated with said interconnect;
- retrieving a plurality of data cache blocks including said data block out of said cache, said plurality of data cache blocks corresponding to said plurality of first selected bits;
- transmitting a plurality of second selected bits comprising said address of said requested data block from said cluster element to said cache on a second conductor means associated with said interconnect;
- identifying said requested data block from said plurality of data cache blocks using said plurality of second selected bits;
- and
- transmitting said requested data block from said cache to said cluster element.
A method for routing traffic from a cluster element over a low bandwidth, low latency interconnect in a processor, said method comprising:
- identifying, at said cluster element, a narrow bit-width data element having a plurality of identifying information and a plurality of bits of data to be transported from said cluster element over said low bandwidth, low latency interconnect;
- determining if said plurality of bits of data may be transmitted on a first conductor associated with said low bandwidth, low latency interconnect based upon the size of said plurality of bits of data;
- transmitting said plurality of identifying information on a second conductor associated with said low bandwidth, low latency interconnect;
- and
- transmitting said plurality of bits of data on said first conductor associated with said low bandwidth, low latency interconnect.
A method for routing traffic in a multi-processor environment, said method comprising:
- providing at least a first processor element having a first processor cache connected thereto, a second processor element having a second processor cache connected thereto and a back-up L2 cache;
- providing a first interconnect having a first plurality of conductors, said first interconnect connected to extend from said first processor cache to said back-up L2 cache;
- providing a second interconnect having a second plurality of conductors, said second interconnect connected to extend from said second processor cache to said back-up L2 cache;
- providing a third interconnect having a third plurality of conductors, said third interconnect connected to extend from said first processor cache to said second processor cache;
- transmitting critical data on latency optimal conductors from said plurality of conductors from said first, second and third interconnect using a directory-based cache coherence protocol;
- and
- transmitting non-critical data on low power, high bandwidth conductors from said plurality of conductors from said first, second and third interconnect using said directory-based cache coherence protocol.
A method for routing traffic in a multi-processor environment, said method comprising:
- providing at least a first processor element having a first processor cache, a second processor element having a second processor cache, a back-up L2 cache and a bus, said first processor cache, said second processor cache and said back-up L2 cache being connected to said bus;
- providing at least one interconnect on said bus, said interconnect having a plurality of conductors;
- transmitting at least one control signal on a latency optimal conductor on said bus using a snooping-based cache coherence protocol;
- and
- transmitting data on low power, high bandwidth conductor from said plurality of conductors on said bus using said a snooping-based cache coherence protocol.
Dependencies are inferred from the claim text.