Claims
- 1. In a computer system having a central processing unit (CPU) coupled to a memory bank A having a plurality of possible contiguous addresses (#M.sub.0 -M.sub.N) and a memory bank B having a plurality of possible contiguous addresses (#M.sub.N+1 -M.sub.MAX) for storing data, said memory banks configured to receive a plurality of insertable memory devices, each of said devices having a plurality of storage locations identified by corresponding ones of said possible contiguous addresses, said CPU accessing data by providing a multi-bit address of a desired storage location, a method for determining the range of real memory addresses which exist in said memory banks and accessing said desired storage location, comprising the steps of:
- dividing said memory banks into N binary increments having boundaries separated by a predetermined number of contiguous possible addresses;
- said CPU sequentially storing the address value of each of said increment boundaries at locations corresponding to respective ones of said increment boundary addresses, from the highest possible increment boundary address to the lowest possible increment boundary address, said CPU storing the value of an address which does not physically exist in one of said memory banks at a location corresponding to the highest real address of said one memory bank;
- said CPU, for each of said memory banks, sequentially reading each of said locations corresponding to said increment boundary addresses from the lowest possible increment boundary address to the highest possible increment boundary address;
- said CPU comparing the address value stored in each of said locations with the respective address of such location such that an increment boundary address is considered to be real if such increment boundary address and said stored address value are equivalent, said highest real increment boundary address being the highest increment boundary address for each of said memory banks in which said stored address value is equivalent to said respective location address;
- said CPU providing a bit value corresponding to the total memory size in Bank A to control logic coupled between said CPU and said memory banks; said control logic enabling one of said memory banks based on the logical state of a predefined one address bit of said multi-bit address provided by said CPU, said predefined one address bit identified by said bit value;
- said control logic providing control signals to said storage location identified by said multi-bit address provided by said CPU, thereby accessing said desired storage location in said enabled memory bank.
- 2. The method as defined by claim 2, wherein said multi-bit address comprises 32 bits numbered A.sub.0 through A.sub.31.
- 3. The method as defined by claim 2, wherein said one predefined address bit is address bit number A.sub.20 if the memory size of Bank A is 1 megabyte.
- 4. The method as defined by claim 2, wherein said one predefined address bit is address bit number A.sub.22 if the memory size of Bank A is 4 megabytes.
- 5. The method as defined by claim 2, wherein said one predefined address bit is address bit number A.sub.24 if the memory size of Bank A is 16 megabytes.
- 6. The method as defined by claim 2, wherein said one predefined address bit is address bit number A.sub.26 if the memory size of Bank A is 64 megabytes.
- 7. In a computer system having a central processing unit (CPU) coupled to a memory bank A having a plurality of possible contiguous addresses (M.sub.0 -M.sub.N) and a memory Bank B having a plurality of possible contiguous addresses (M.sub.N+1 -M.sub.MAX) for storing data, said memory banks configured to receive a plurality of insertable memory devices, each of said devices having a plurality of storage locations identified by corresponding ones of said possible contiguous addresses, said CPU accessing data by providing a multi-bit address of a desired storage location, an apparatus for determining the range of real memory addresses which exist in said memory banks, and accessing said desired storage location, comprising:
- means coupled to said CPU for addressing said memory banks in N binary increments having boundaries separated by a predetermined number of contiguous possible addresses, said means for addressing sequentially storing the address value of each of said increment boundaries at locations corresponding to respective ones of said increment boundary addresses, from the highest possible increment boundary address to the lowest possible increment boundary address, said CPU storing the value of an address which does not physically exist in one of said memory banks at a location corresponding to the highest real address of said one memory bank;
- means coupled to said CPU for reading each of said locations corresponding to said increment boundary addresses for each of said memory banks, from the lowest possible increment boundary address to the highest possible increment boundary address, and comparing the address value stored in each of said locations with the respective address of such location, such that an increment boundary address is considered to be real if such increment boundary address and said stored address value are equivalent, said highest real increment boundary address for each of said memory banks being the highest increment boundary address in which said stored address value is equivalent to said respective location address;
- control logic means coupled between said CPU and said memory banks for receiving and storing a bit value corresponding to the total memory size in memory Bank A, said control logic means enabling one of said memory banks based on the logical state of a predefined one address bit of said multi-bit address provided by said CPU, said predefined one address bit identified by said bit value;
- said control logic means providing control signals to said enabled memory bank, thereby accessing said desired storage location in said enabled memory bank.
- 8. The apparatus as defined by claim 7, further including a register coupled between said CPU and said control logic, such that said bit value is stored in said register prior to being provided to said control logic.
- 9. The apparatus as defined by claim 8, wherein said multi-bit address includes row address bits and column address bits identifying said desired storage location.
- 10. The apparatus as defined by claim 9, further including a multiplexor coupled between said CPU and said memory banks, said multiplexor being coupled to said control logic.
- 11. The apparatus as defined by claim 10, wherein said multiplexor alternately couples said row address bits and said column address bits to said memory banks.
- 12. The apparatus as defined by claim 11, wherein said control logic enables one of said memory banks by coupling a row address strobe (RAS) signal thereto.
- 13. The apparatus as defined by claim 12, wherein said multi-bit address comprises 32 bits numbered A.sub.0 through A.sub.31.
- 14. The apparatus as defined by claim 12, wherein said one predefined address bit is address bit number A.sub.20 if the memory size of Bank A is 1 megabyte.
- 15. The apparatus as defined by claim 12, wherein said one predefined address bit is address bit number A.sub.22 if the memory size of Bank A is 4 megabytes.
- 16. The apparatus as defined by claim 12, wherein said one predefined address bit is address bit number A.sub.24 if the memory size of Bank A is 16 megabytes.
- 17. The apparatus as defined by claim 12, wherein said one predefined address bit is address bit number A.sub.26 if the memory size of Bank A is 64 megabytes.
Parent Case Info
This Application is a continuation-in-part of U.S. Pat. application, Ser. No. 027,005, filed 3/17, 1987, and assigned to the Assignee of the present Application.
US Referenced Citations (13)
Foreign Referenced Citations (6)
Number |
Date |
Country |
0080626 |
Jun 1983 |
EPX |
0136178 |
Apr 1985 |
EPX |
0200198 |
Nov 1986 |
EPX |
1430486 |
Mar 1976 |
GBX |
2101370A |
Jan 1983 |
GBX |
2175716A |
Dec 1986 |
GBX |
Non-Patent Literature Citations (1)
Entry |
Robert C. Goldblatt, How Computers Can Test Their Own Memories, Computer Design, vol. 15, No. 7, pp. 69-73 (07/76). |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
27005 |
Mar 1987 |
|