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, enabling the memory module to be accessed by one or more processors simultaneously; mapping the memory module to allocate sequential addresses to alternate banks of the memory; storing data words in memory, wherein data words in sequential addresses are stored in alternate banks due to the mapping of the memory; and providing a first signal path, the first signal path coupling a cache to a processor and the memory module when selected, the cache enabling the processor to fetch a plurality of data words from different banks simultaneously.
- 2. The method of claim 1 further including a step of dividing the bank into x blocks, where x=at least 1, wherein a 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 contention has occurred, wherein two or more processors are accessing the same address range at any one time.
- 4. The method of claim 3 wherein the address range coincides with at least one block.
- 5. The method of claim 4 further including a step of synchronizing the processors to access different banks when contention has occurred.
- 6. The method of claim 1 further including the step of providing a second signal path, the second signal path coupling the processor to the memory module when selected.
- 7. The method of claim 6 further including a step of activating the second signal path when contention has not occurred.
- 8. The method of claim 7 further including a step of synchronizing the processors to access different banks when contention has occurred.
- 9. The method of claim 8 further including a step of determining access priorities of the processors when contention has occurred.
- 10. The method of claim 9 wherein the step of determining access priorities comprises assigning lower access priorities to processors that have caused the contention.
- 11. The method of claim 5 wherein the step of synchronizing the processors comprises inserting wait states for processors with lower priorities when contention occurs.
- 12. The method of claim 11 further including a step of activating the first signal path when contention has occurred.
- 13. A system comprising:
a plurality of processors; a memory module comprising n banks, where n=at least 2, wherein a 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; data words stored in memory, wherein data words in sequential addresses are stored in alternate banks according to the memory map; and a plurality of control logic units for enabling a processor to access a plurality of data words from different banks.
- 14. The system of claim 13 wherein a control logic unit comprises first and second signal paths, the first signal path coupling a cache to a processor and the memory module, the second signal path coupling the processor to the memory module.
- 15. The system of claim 14 wherein the first signal path comprises a cache register and a multiplexer.
- 16. The system of claim 15 wherein the bank comprises x blocks, where x=at least 1, wherein a block can be accessed by one of the plurality of processors at any one time.
- 17. The system of claim 16 further comprising a flow control unit for synchronizing the processors to access different blocks at any one time.
- 18. The system of claim 17 further comprising a priority register for storing the access priority of a processor.
- 19. The system of claim 18 further comprising a plurality of critical memory modules for storing a plurality of data words for the processors to reduce the possibility of contention.
- 20. The system of claim 13 wherein a control logic unit comprises a first signal path, the first signal path coupling a cache to a processor and the memory module.
Parent Case Info
[0001] This application claims the priority of copending patent application titled Improved Architecture with Shared Memory”, U.S. Ser. No. 10/117,668 (attorney docket number 12205/8), filed on Apr. 4, 2002, which is herein incorporated by reference for all purposes.