Claims
- 1. A method of sharing a memory module between a plurality of processors comprising:
dividing the memory module into n banks, where n at least 2, wherein each bank can be accessed by one or more processors at any one time; mapping the memory module to allocate sequential addresses to alternate banks of the memory; and storing data bytes in memory, wherein said data bytes in sequential addresses are stored in alternate banks due to the mapping of the memory.
- 2. The method of claim 1 further including a step of dividing each bank into x blocks, where x at least 1, wherein each block can be accessed by one of the plurality of processors at any one time.
- 3. The method of claim 2 further including a step of determining whether memory access conflict has occurred, wherein two or more processors are accessing the same block at any one time.
- 4. The method of claim 3 further including a step of synchronizing the processors to access different blocks at any one time.
- 5. The method of claim 4 further including a step of determining access priorities of the processors when memory access conflict occurs.
- 6. The method of claim 5 wherein the step of determining access priorities comprises assigning lower access priorities to processors that have caused the memory conflict.
- 7. The method of claim 6 wherein the step of determining access priorities comprises assigning lower access priorities to processors that performed a jump.
- 8. The method of claim 6 wherein the step of synchronizing the processors comprises locking processors with lower priorities for one or more cycles when memory access conflict occurs.
- 9. A system comprising:
a plurality of processors; a memory module comprising n banks, where n=at least 2, wherein each bank can be accessed by one or more processors at any one time; a memory map for allocating sequential addresses to alternate banks of the memory module; and data bytes stored in memory, wherein said data bytes in sequential addresses are stored in alternate banks according to the memory map.
- 10. The system of claim 9 wherein each bank comprises x blocks, where x=at least 1, wherein each block can be accessed by one of the plurality of processors at any one time.
- 11. The system of claim 10 further comprising a flow control unit for synchronizing the processors to access different blocks at any one time.
- 12. The system of claim 11 further comprising a priority register for storing the access priority of each processor.
- 13. The system of claim 9 wherein said data bytes comprise program instructions.
- 14. The system of claim 9 further comprising a plurality of critical memory modules for storing a plurality of data bytes for each processor for reducing memory access conflicts.
Parent Case Info
[0001] This application claims priority of provisional patent application U.S.S. No. 60/333,220, filed on Nov. 6, 2001, which is herein incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60333220 |
Nov 2001 |
US |