Nova Patents
EP1490764A2

Improved architecture with shared memory

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 4 April 2023, 3.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

34 claims: 18 independent, 16 dependent

  1. 1
    Claims of equivalent WO 03085524 A2 What is claimed is: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. 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.
  3. 13
    The system of any of claims 9-12 wherein said data bytes comprise program instructions.
  4. 14
    The system of any of claims 10-13 further comprising a plurality of critical memory modules for storing a plurality of data bytes for each processor for reducing memory access conflicts.
  5. 15
    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.
  6. 17
    The method of claims 15 or 16 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.
  7. 19
    The method of any of the claims 15-18 further including a step of synchronizing the processors to access different banks when contention has occurred.
  8. 20
    The method of any of the claims 15-19 further including the step of providing a second signal path, the second signal path coupling the processor to the memory module when selected.
  9. 21
    The method of any of the claims 15-20 further including a step of activating the second signal path when contention has not occurred.
  10. 22
    The method of any of the claims 15-21 further including a step of synchronizing the processors to access different banks when contention has occurred.
  11. 23
    The method of any of the claims 15-22 further including a step of determining access priorities of the processors when contention has occurred.
  12. 25
    The method of any of the claims 19-24 wherein the step of synchronizing the processors comprises inserting wait states for processors with lower priorities when contention occurs .
  13. 26
    The method of any of the claims 15-25 further including a step of activating the first signal path when contention has occurred.
  14. 27
    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 unit for enabling a processor to access a plurality of data words from different banks.
  15. 30
    The system of any of the claims 27-29 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.
  16. 31
    The system of any of the claims 27-30 further comprising a flow control unit for synchronizing the processors to access different blocks at any one time.
  17. 32
    The system of any of the claims 27-31 further comprising a priority register for storing the access priority of a processor.
  18. 33
    The system of any of the claims 27-32 further comprising a plurality of critical memory modules for storing a plurality of data words for the processors to reduce the possibility of contention.
  19. 34
    The system of any of the claims 27-33 wherein a control logic unit comprises a first signal path, the first signal path coupling a cache to a processor and the memory module .
Independent claims19