Aperture compression for multiple data streams
AssigneeAdvanced Micro Devices, Inc.
InventorsBrian Etscheid, Mark S. Grossman, Warren Fritz Kruger
Life of this patent
Estimating the term…
Abstract
A hardware-based aperture compression system permits addressing large memory spaces via a limited bus aperture. Streams are assigned dynamic base addresses (BAR) that are maintained in registers on sources and destinations. Requests for addresses lying between BAR and BAR plus the size of the bus aperture are sent with BAR subtracted off by the source and added back by the destination. Requests for addresses outside that range are handled by transmitting a new, adjusted BAR before sending the address request.
Claims12
A memory aperturing system comprising:
- a source, including:
- a client;
- and
- a source host data path block;
- a destination, including a destination host data path block;
- a bus connecting the source and the destination;
- and
- a memory attached to the destination;
- wherein,
- the source host data path block and the destination host data path block compress client memory requests such that the client can access memory addresses that would otherwise be too large to fit in an address aperture of the bus;
- the source host data path block sends a base address and an offset to the destination host data path block, wherein the offset is calculated by subtracting the base address from the client memory request;
- and
- the destination host data path block obtains the client memory request based on the received base address and the received offset.
A memory aperturing system, comprising:
- three or more processing units connected by a bus, each processing unit including:
- a local memory;
- at least one client;
- and
- a host data path block;
- wherein
- the host data path blocks compress client memory requests such that each client may access memory addresses that would otherwise be too large to fit in an address aperture of the bus;
- and
- the host data path blocks manage one or more memory sub-apertures to handle memory requests between one or more pairs of processing units, each pair of processing units including a source processing unit and a destination processing unit.
A method for compressing client memory requests, comprising:
- providing a source, a destination, and a bus, the source containing a client;
- providing base address registers in the source and the destination;
- in the source, subtracting a base address from a client's memory address request to obtain an offset;
- sending the base address to the destination over the bus and storing the base address in the destination's base address register;
- sending the offset to the destination over the bus;
- in the destination, adding the base address stored in the destination's base address register to the offset to obtain the client's original memory request.
Dependencies are inferred from the claim text.