Memory addressing techniques
First Claim
1. A method of generating a stream of non-contiguous memory addresses representing contiguous points in logical space, the method comprising:
- Generating initializing parameters describing the contiguous points in the logical space;
Configuring a memory address engine with the initializing parameters;
Performing an algorithm in the memory address engine according to the initializing parameters to produce a plurality of non-contiguous memory addresses; and
Collating the non-contiguous memory addresses into the stream of memory addresses for output to a data memory;
2 Assignments
0 Petitions
Accused Products
Abstract
A method of generating a stream non-contiguous memory addresses representing contiguous points in logical space is described. The method comprises: generating initialising parameters describing the contiguous points in the logical space; configuring a memory address engine with the initialising parameters; performing an algorithm in the memory address engine according to the initialising parameters to produce a plurality of non-contiguous memory addresses; and collating the non-contiguous memory addresses into the stream of memory addresses for output to a data memory. The present invention has particular application to SIMD processing techniques where there are a plurality of memory address engines.
-
Citations
36 Claims
-
1. A method of generating a stream of non-contiguous memory addresses representing contiguous points in logical space, the method comprising:
-
Generating initializing parameters describing the contiguous points in the logical space;
Configuring a memory address engine with the initializing parameters;
Performing an algorithm in the memory address engine according to the initializing parameters to produce a plurality of non-contiguous memory addresses; and
Collating the non-contiguous memory addresses into the stream of memory addresses for output to a data memory;
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A memory address engine arranged to accept initializing parameters describing contiguous points in logical space set by an external controller, the memory address engine comprising:
-
an address generator arranged to generate a plurality of non-contiguous memory addresses according to at least one algorithm implemented on the initializing parameters; and
collation means arranged to collate non-contiguous memory addresses into a stream of output memory addresses for output to a data memory. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33)
-
-
31. A memory address processing system comprising:
-
at least a first and a second memory address engine;
a first and a second primary data stores associated with the respective memory address engines;
a first and a second secondary data store associated with the respective memory address engines;
a databus connecting each memory address engine with its associated primary and secondary data stores; and
a data router associated with each memory address engine, the data router associated with the first memory address engine being arranged to route data from the first secondary data store of the first memory address engine to a second primary data store of the second memory address engine upon instruction. - View Dependent Claims (32)
-
- 34. A router for use with a memory address processing system comprising a plurality of memory address engines, the router being arranged upon instruction from a first memory address engine to direct data from a memory store associated to the first memory address engine to a memory store associated to a second memory address engine.
Specification