Claims
- 1. An apparatus for interfacing memory devices to an associated microprocessor having a predetermined address space, comprising:
(a) a memory manager circuit configured for receiving selected access control signals from said microprocessor; (b) said memory manager circuit configured with one or more memory banks across which a portion of said address space is distributed; and (c) means for generating memory device interface signals which are responsive to interface settings for each memory bank which are established under program control.
- 2. An apparatus as recited in claim 1, wherein the memory manager circuit is integrated within the circuitry of said microprocessor.
- 3. An apparatus as recited in claim 1, wherein the memory manager circuit is configured within a device that is separate from said microprocessor.
- 4. An apparatus as recited in claim 1, wherein the memory manager circuit is configured to generate memory device interface signals for at least four memory banks.
- 5. An apparatus as recited in claim 1, wherein at least one memory bank control register is associated with each memory bank and contains fields for controlling the generation of memory device interface signals within the given memory bank.
- 6. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises a wait state generator configured to generate a selected number of wait states during memory access within a given memory bank in response to a wait state setting that is responsive to program control.
- 7. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises inversion circuitry configured to invert selected address signals in response to an inversion setting for the memory bank that is responsive to program control.
- 8. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises circuitry which can block write enable generation under program control for an associated memory bank.
- 9. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises circuitry configured to output a given write enable signal, as selected from multiple write enable outputs, in response to a write enable selection setting for the memory bank which is responsive to program control.
- 10. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises circuitry configured to output a given output enable signal, as selected from multiple output enable outputs, in response to an output enable selection setting for the memory bank which is responsive to program control.
- 11. An apparatus as recited in claim 1, wherein the memory device interface signal generation means comprises circuitry configured to output a given chip select signal, as selected from multiple chip select outputs, in response to a chip select selection setting for the memory bank which is responsive to program control.
- 12. In a microprocessor having a central processing unit and which is configured with circuitry to interface with external memory devices within a predetermined memory address space, wherein the improvement comprises:
(a) a memory device controller configured to generate memory device interface signals in response to memory access requests by the microprocessor which are directed at a first address space; (b) said memory device controller configured with multiple memory banks across which said first address space is distributed; and (c) said memory device controller generating said memory device interface signals in response to memory bank control register settings established under program control.
- 13. The improvement recited in claim 12, wherein said memory device controller is configured to generate interface signals for at least four memory banks.
- 14. The improvement recited in claim 12, wherein the memory device controller is configured to generate memory device interface signals that may include wait states generated in response to microprocessor memory access requests within selected memory banks.
- 15. The improvement recited in claim 14, wherein the memory device controller is configured to generate a given number of wait states in response to a value contained within a memory bank control register that is under program control.
- 16. The improvement recited in claim 12, wherein the memory device controller is configured to prevent the generation of write enable signals for a given memory bank according to a write protection setting contained within the memory bank control register.
- 17. The improvement recited in claim 12, wherein the memory device controller is configured to generate interface signals comprising a write enable signal, as selected from multiple write enable outputs, when executing access requests within a given memory bank in response to associated control register settings.
- 18. The improvement recited in claim 17, wherein either of two write enable outputs may be selected.
- 19. The improvement recited in claim 16, wherein the memory device controller is configured to generate interface signals comprising an output enable signal, as selected from multiple output enable outputs, when executing access requests within a given memory bank in response to associated control register settings.
- 20. The improvement recited in claim 20, wherein either of two output enable outputs may be selected.
- 21. The improvement recited in claim 12, wherein the memory device controller is configured to generate a chip select signal, as selected from multiple chip select signals in response to memory bank control register settings.
- 22. The improvement recited in claim 12, wherein the memory device controller is configured to invert memory interface signals when executing access requests within a given memory bank in response to associated control register inversion settings.
- 23. The improvement recited in claim 22, wherein the memory device controller is configured to invert address signals to swap pages within a given memory device whose size in bytes exceeds the direct address range of the selected bank.
- 24. A microprocessor configured for accessing external memory devices within a predetermined memory address space, comprising:
(a) a memory device controller configured to interface to at least one memory device within a portion of said memory address space that spans a memory bank; (b) said memory device controller configured with memory bank control registers for retaining memory interface parameters; and (c) a wait state generator responsive to settings within said memory bank control register and capable of generating a selected number of wait states during memory accesses within the associated memory bank according to a wait state value set within said memory bank control register.
- 25. A microprocessor as recited in claim 24, wherein one, two, or four wait states may be generated by said wait state generator in accord with the value set within said memory bank control register.
- 26. A microprocessor as recited in claim 24, further comprising a write protect circuit capable of blocking the generation of write enable signals to a given memory bank according to write protect settings within the memory bank control register which may be set under program control.
- 27. A microprocessor as recited in claim 24, further comprising a write enable signal generator configured to generate a particular write enable signal selected under program control for the given memory bank from multiple write enable signals.
- 28. A microprocessor as recited in claim 27, wherein two write enable outputs are available for selection within a memory bank control register.
- 29. A microprocessor as recited in claim 24, further comprising an output enable signal generator configured to generate a particular output enable signal selected under program control for the given memory bank from multiple output enable signals.
- 30. A microprocessor as recited in claim 29, wherein two output enable outputs are available for selection within a memory bank control register.
- 31. A microprocessor as recited in claim 24, further comprising a chip select signal generator configured to generate a particular chip select signal selected under program control from multiple memory chip select outputs.
- 32. A microprocessor as recited in claim 31, wherein two chip select outputs are available for selection within a memory bank control register.
- 33. A microprocessor as recited in claim 24, wherein the memory device controller is configured to invert selected address signals being output for connection to memory devices within a given bank of memory.
- 34. A microprocessor as recited in claim 33, wherein the selection of which address lines are to be inverted when accessing a given memory bank is determined by the memory device controller in response to settings within the associated memory bank control register.
- 35. A microprocessor as recited in claim 34, wherein memory bank controller is configured to invert the address lines being output to a given memory device whose size in bytes exceeds the direct address range of the selected bank, such that pages of memory within the device are capable of being swapped to extend the memory range accessible by the memory bank controller.
- 36. A microprocessor configured for accessing external memory devices within a given memory address space, comprising:
(a) a memory device controller configured to divide at least a portion of said memory address space into memory banks; (b) said memory device controller configured with bank selection registers for retaining memory interface parameters for each memory bank; and (c) said memory device controller configured to output memory device interface signals for a given memory bank which are responsive to the settings within the associated memory bank control register.
- 37. A microprocessor as recited in claim 36, wherein the interface signals comprise address signals and access enable signals configured for receipt by memory devices.
- 38. A microprocessor as recited in claim 37, wherein the memory device controller is configured for selective inversion of selected address signals.
- 39. A microprocessor as recited in claim 37, wherein the selective inversion of address signals is responsive to the setting within the memory bank control register.
- 40. A microprocessor as recited in claim 37, wherein multiple sets of access enable outputs are generated by the memory device controller, and the selection of which set of access enable outputs to generate is determined by a selection setting contained within the memory bank control register whose value may be set under program control.
- 41. A microprocessor as recited in claim 40, wherein the multiple access enable signals comprise write enable signals configured for receipt by memory devices to clock memory writes therein.
- 42. A microprocessor as recited in claim 40, wherein the multiple access enable signals comprise output enable signals configured for receipt by memory devices to clock memory reads therein.
- 43. A microprocessor as recited in claim 40, further comprising a wait state generator that responds to the value set within said bank selection register by generating a selected number of wait states during memory accesses when accessing the associated memory bank.
- 44. A microprocessor configured for accessing external memory devices within a first memory address space, comprising:
(a) a memory device controller configured to interface to at least one memory device spanning portions of said first memory address space as memory banks; (b) said memory device controller configured with bank selection registers for storing memory interface parameters; and (c) said memory controller configured to invert address signals when accessing memory devices within a selected memory bank in response to the value retained within the memory bank control register, wherein memory pages may be swapped within the memory device to extend the amount of addressable memory within a given memory bank.
- 45. A microprocessor as recited in claim 44, further comprising a wait state generator capable of generating a number of wait states for the memory bank in response to a value set within an associated said bank control register.
- 46. A method of controlling access to memory devices interfaced to a microprocessor having a predetermined memory address range, comprising:
setting memory access parameters within a memory bank control register associated with a bank of memory that spans a portion of said memory address range; and generating memory access signals to the memory devices in response to the settings within the memory bank control register.
- 47. A method as recited in claim 46, wherein generating memory access signals comprises inserting wait states when accessing a memory device within a given memory bank in response to a wait state value being set within the memory access parameters of the given memory bank control register.
- 48. A method as recited in claim 46, wherein generating memory access signals comprises generating one set of memory interface signals selected from multiple sets of memory interface outputs, wherein the selection is determined for a given memory bank by memory access parameters retained within the associated memory bank control register.
- 49. A method as recited in claim 48, wherein the memory access signal comprises write enable signals, output enable signals, and chip select signals.
- 50. A method as recited in claim 46, wherein the generation of memory access signals is subject to the blocking of write signals in response to a write protection value that may be set within the memory access parameters of the given memory bank control register.
- 51. A method as recited in claim 46, wherein inverting of address lines within the generated memory access signals may be performed in response to the setting of the associated memory bank control register so that page swapping within a given memory device may be used to extend the addressable memory range within the given memory bank.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. provisional application serial number 60/214,710 filed on Jun. 28, 2000, incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60214710 |
Jun 2000 |
US |