IP Library Granted Patent US 8,677,081
Granted Patent B1
US 8,677,081 · App. 13/211,065 · Granted Mar 18, 2014

Transferring and storing data in multicore and multiprocessor architectures

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,677,081
App. No.
13/211,065
Granted
Mar 18, 2014
Kind
B1
Abstract

A processor includes a plurality of cache memories, and a plurality of processor cores, each associated with one of the cache memories. Each of at least some of the cache memories is associated with information indicating whether data stored in the cache memory is shared among multiple processor cores.

Claims (26)

1. A processor comprising:

a plurality of cache memories,

an array of interconnected tiles, each tile comprising a processor core, at least one of the tiles comprising a copy engine to perform a memory-to-memory copy operation based on a source begin address, a source end address, a transaction length, and a stride of transaction and each processor core being associated with one of the cache memories;

with the memory-to-memory copy operation copying first segments of data from a source region starting from the begin address, skipping over second segments of data in between the first segments of data, and stopping at the end address, and each of the first segments of data that is copied has a length equal to the transaction length, and each of the second segments of data that is not copied has a length equal to the stride of transaction, and with the source region having the data being copied comprises at least one of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

2. The processor of claim 1 , in which the copy engine performs the memory-to-memory copy operation when the source begin address, source end address, transaction length, and stride of transaction are written into registers without further instruction from the processor core.

3. The processor of claim 1 , wherein the copy engine performs the memory-to-memory copy operation when the source begin address, source end address, transaction length, and stride of transaction are written into designated memory regions without further instruction from the processor core.

4. The processor of claim 1 , wherein the copy engine issues load and store operations to memory to implement the memory-to-memory copy operation, the load and store operations issued by the copy engine having the same instruction code as load and store operations issued by the processor core.

5. The processor of claim 1 , wherein a source region of the memory-to-memory copy operation comprises at least two of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

6. The processor of claim 1 , wherein a destination region of the memory-to-memory copy operation comprises at least one of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

7. The processor of claim 6 , wherein a destination region of the memory-to-memory copy operation comprises at least two of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

8. The processor of claim 1 , wherein the memory-to-memory copy operation comprises a direct memory access operation.

9. The processor of claim 1 , wherein every tile comprises a copy engine.

10. A method comprising:

performing a memory-to-memory copy operation when a begin address, an end address, a transaction length, and a stride value are written into predetermined registers without requiring further instructions from a processor core, including

copying first segments of data from a source region starting from the begin address and stopping at the end address, and

skipping over second segments of data in between the first segments of data,

with each of the first segments of data that is copied has a length equal to the transaction length, and each of the second segments of data that is not copied has a length equal to the stride value, and with the source region having the data being copied comprises at least one of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

11. The method of claim 10 , comprising performing a second memory-to-memory copy operation, in which the transaction length associated with the second memory-to-memory copy operation is different from the transaction length associated with the first memory-to-memory copy operation.

12. The method of claim 10 , wherein the memory-to-memory copy operation is performed when the source begin address, source end address, transaction length, and stride of transaction are written into registers without further instruction from the processor core.

13. The method of claim 10 , wherein the memory-to-memory copy operation is performed when the source begin address, source end address, transaction length, and stride of transaction are written into designated memory regions without further instruction from the processor core.

14. The method of claim 10 , wherein a copy engine issues load and store operations to memory to implement the memory-to-memory copy operation, the load and store operations issued by the copy engine having the same instruction code as load and store operations issued by the processor core.

15. The method of claim 10 , wherein a source region of the memory-to-memory copy operation comprises at least two of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

16. The method of claim 10 , wherein a destination region of the memory-to-memory copy operation comprises at least one of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

17. The method of claim 16 , wherein a destination region of the memory-to-memory copy operation comprises at least two of a region in a cache memory associated with the tile having the copy engine, a region in a cache memory associated with a tile different from the tile having the copy engine, a region in a cache memory shared by multiple tiles, and a region in a main memory.

18. The method of claim 10 , wherein the memory-to-memory copy operation comprises a direct memory access operation.

19. The method of claim 10 , wherein every tile comprises a copy engine.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
DIVIDEND DECLARATION FROM EZCHIP SEMICONDUCTOR INC. TO THE STOCKHOLDER OF RECORD ON 6/2/2015 (EZCHIP INC., A DELAWARE CORPORATION) Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR INC.
To: EZCHIP, INC.
Reel/Frame 041736/0013 →
PURCHASE AGREEMENT Recorded Feb 16, 2017
From: EZCHIP, INC.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0151 →
MERGER Recorded Feb 16, 2017
From: EZCHIP TECHNOLOGIES LTD.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0321 →
MERGER Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 041870/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: EZCHIP TECHNOLOGIES, LTD.
Reel/Frame 041736/0253 →
MERGER Recorded Feb 16, 2017
From: TILERA CORPORATION
To: EZCHIP SEMICONDUCTOR INC.
Reel/Frame 041735/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: WENTZLAFF, DAVID M.; MATTINA, MATTHEW; AGARWAL, ANANT
To: TILERA CORPORATION
Reel/Frame 026884/0151 →