Claims
- 1. A memory system comprising:a plurality of memory banks collectively having a lowest addressable end and a highest addressable end; a control module to assign a first sub-plurality of said memory banks in increasing order from said lowest addressable end to a first memory map of a first processing agent, and to assign a second sub-plurality of said memory banks in decreasing order from said highest addressable end to a second memory map of a second processing agent.
- 2. The memory system according to claim 1, wherein:said plurality of memory banks are contiguous.
- 3. The memory system according to claim 1, further comprising:a switch adapted and arranged to switch each of said plurality of memory banks for access from one of said first processing agent and said second processing agent.
- 4. The memory system according to claim 1, wherein said control module comprises:a configuration register to define said first sub-plurality of said memory banks and said second sub-plurality of said memory banks.
- 5. The memory system according to claim 1, wherein:said plurality of memory banks are assigned to only one of said first processing agent and said second processing agent at any one time.
- 6. The memory system according to claim 1, wherein:said plurality of memory banks are synchronous memory banks.
- 7. The memory system according to claim 1, wherein:said plurality of memory banks are asynchronous memory banks.
- 8. A method of assigning a plurality of memory banks for shared use among a plurality of processing agents, said method comprising:providing a first processing agent access to a plurality of memory banks having a sequence from a first one to a last one, with a lower address of said first processing agent being associated with said last one of said plurality of memory banks and a higher address of said first processing agent being associated with a memory bank between said last one of said plurality of memory banks and a first one of said plurality of memory banks; and providing a second processing agent access to said plurality of memory banks with a lower address of said second processing agent being associated with said first one of said plurality of memory banks and a higher address of said second processing agent being associated with a memory bank between said last one of said plurality of memory banks and said first one of said plurality of memory banks.
- 9. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 8, wherein:said first one of said plurality of memory banks is associated with address zero in a memory map of said first processing agent.
- 10. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 8, wherein:said last one of said plurality of memory banks is associated with address zero in a memory map of said second processing agent.
- 11. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 9, wherein:said last one of said plurality of memory banks is associated with address zero in a memory map of said second processing agent.
- 12. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 9, wherein:said plurality of memory banks are synchronous memory.
- 13. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 9, wherein:said plurality of memory banks are asynchronous memory.
- 14. The method of assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 9, wherein:each of said plurality of memory banks are not substantially simultaneously accessible by both said first processing agent and said second processing agent.
- 15. A method of assigning a plurality of shared memory banks to two agents, comprising:assigning a plurality of shared memory banks in increasing order to a memory map of a first agent; and assigning said plurality of shared memory banks in decreasing order to a memory map of a second agent.
- 16. The method of assigning a plurality of shared memory banks to two agents according to claim 15, wherein:said plurality of shared memory banks are synchronous memory banks.
- 17. A method of assigning a plurality of shared memory banks to two agents, comprising:assigning a plurality of shared memory banks in opposing order to each of two processing agents.
- 18. Apparatus for assigning a plurality of memory banks for shared use among a plurality of processing agents, comprising:means for providing a first processing agent access to a plurality of memory banks with a lower address of said first processing agent being associated with a last one of said plurality of memory banks and a higher address of said first processing agent being associated with a memory bank between said last one of said plurality of memory banks and a first one of said plurality of memory banks; and means for providing a second processing agent access to said plurality of memory banks with a lower address of said second processing agent being associated with said first one of said plurality of memory banks and a higher address of said second processing agent being associated with a memory bank between said last one of said plurality of memory banks and said first one of said plurality of memory banks.
- 19. The apparatus for assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 18, wherein:said first one of said plurality of memory banks is associated with address zero in a memory map of said first processing agent.
- 20. The apparatus for assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 18, wherein:said last one of said plurality of memory banks is associated with address zero in a memory map of said second processing agent.
- 21. The apparatus for assigning a plurality of memory banks for shared use among a plurality of processing agents according to claim 20, wherein:said last one of said plurality of memory banks is associated with address zero in a memory map of said second processing agent.
- 22. The apparatus for assigning a plurality of memory banks for snared use among a plurality of processing agents according to claim 18, wherein:said memory is synchronous memory.
- 23. Apparatus for assigning a plurality of shared memory banks to two agents, comprising:means for assigning a plurality of shared memory banks in increasing order to a memory map of a first agent; and means for assigning said plurality of shared memory banks in decreasing order to a memory map of a second agent.
- 24. The apparatus for assigning a plurality of shared memory banks to two agents according to claim 23, wherein:said plurality of shared memory banks are synchronous memory banks.
- 25. A computer system, comprising:a first processing agent; a second processing agent; a shared synchronous memory accessible by said first processing agent and by said second processing agent; and a control module to assign a first portion of said shared synchronous memory in increasing order from a lowest addressable end to a first memory map of said first processing agent, and to assign a second sub-plurality of said shared synchronous memory in decreasing order from a highest addressable end to a second memory map of said second processing agent.
- 26. An apparatus for assigning a plurality of memory banks in a common memory module for shared use among a plurality of processing agents, comprising:a first group of processing agents; a second group of processing agents; a memory bank arbiter for assigning partitions to said processing agents on-the-fly, which include assigning portions of said memory banks to said first group of processing agents and assigning portions of said memory banks to said second group of processing agents; wherein said memory bank arbiter assigns a first sub-plurality of memory banks in increasing order from a lowest addressable end to a first memory map of a first processing agent, and assigns a second sub-plurality of said memory banks in decreasing order from a highest addressable end to a second memory map of a second processing agent.
- 27. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said first group of processing agents is equal in number of processing agents to said second group of processing agents.
- 28. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said first group of processing agents is unequal in number of processing agents to said second group of processing agents.
- 29. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said partitions can vary in number from one to a number equal to the total number of said memory banks.
- 30. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said portions of memory banks are not all assigned to said first group of processing agents or to said second group of processing agents.
- 31. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said portions of memory banks are assigned non-contiguously to said first group of processing agents and to said second group of processing agents.
- 32. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said first group of processing agents and/or said second group of processing agents are comprised of a single processing agent.
- 33. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said portions of memory banks are assigned in opposing direction from last to first and first to last to respective said first group of processing agents and said second group of processing agents.
- 34. An apparatus for assigning a plurality of memory banks in a common memory module shared use among a plurality of processing agents, according to claim 26, wherein:said first group of processing agents and said second processing agents have access to the same said portions of memory banks.
Parent Case Info
This application claims priority from U.S. Provisional Application No. 60/065,855 entitled “Multipurpose Digital Signal Processing System” filed on Nov. 14, 1997, the specification of which is hereby expressly incorporated herein.
US Referenced Citations (7)
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/065855 |
Nov 1997 |
US |