US4403283A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Extended memory system and method
Assignee: NCR Voyix Corp
•
Filing: 1980-07-28
•
Granted: 1983-09-06
•
Expires: 2000-07-28
Abstract
Abstract An extended memory system includes a processor, a plurality of input/output devices, a real memory having first and second portions thereof, the first portion storing a system operation program and the second portion storing a plurality of user programs. The processor produces logical addresses when executing user programs or input/output routines, which logical addresses are translated to real memory addresses by one of two first translation memories. System operation instructions common to all user programs are stored in a low order address portion of the real memory. Different user programs are mapped into mutually exclusive portions of the real memory by means of the two translation memories.
Inventors
- 👤 Jon N. Myntti
- 👤 Kirk P. Anderson
- 👤 Jay R. Hosler
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 16:15
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
375 words
A method for operating an expanded memory computing system, said method comprising the steps of: (a) allocating a first portion of a first memory for execution of a first user program; (b) loading said first user program into said first portion of said first memory; (c) loading a first group of real addresses of said first portion of said first memory into a second memory; (d) executing each instruction of said first user program by utilizing a processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said first group from said second memory, and utilizing that real address to access a location in said first portion of said first memory; (e) allocating a second portion of said first memory for execution of a second user program, said first and second portions being mutually exclusive; (f) loading said second user program into said second portion of said first memory; (g) loading a second group of real addresses of said second portion of said first memory into said second memory; and (h) executing each instruction of said second user program by utilizing said processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said second group from said second memory and utilizing that real address to access a location in said second portion of said first memory; said allocating step (a) comprising the steps of: (i) requesting a first amount of said first memory to be allocated for execution of said first user program; and (j) determining the amount of said first memory which is unallocated to any user programs and allocating said first amount for execution of said first user program only if said unallocated amount is greater than or equal to said requested first amount; and said allocating step (e) comprising the steps of: (k) requesting a second amount of said first memory to be allocated for execution of said second user program; and (l) determining the amount of said first memory which is unallocated to any user programs and allocating said second amount for execution of said second user program only if said unallocated amount is greater than or equal to said requested second amount.
Claim 2
Independent Claim
375 words
A method for operating an expanded memory computing system, said method comprising the steps of: (a) allocating a first portion of a first memory for execution of a first user program; (b) loading said first user program into said first portion of said first memory; (c) loading a first group of real addresses of said first portion of said first memory into a second memory; (d) executing each instruction of said first user program by utilizing a processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said first group from said second memory, and utilizing that real address to access a location in said first portion of said first memory; (e) allocating a second portion of said first memory for execution of a second user program, said first and second portions being mutually exclusive; (f) loading said second user program into said second portion of said first memory; (g) loading a second group of real addresses of said second portion of said first memory into said second memory; and (h) executing each instruction of said second user program by utilizing said processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said second group from said second memory and utilizing that real address to access a location in said second portion of said first memory; said allocating step (a) comprising the steps of: (i) requesting a first amount of said first memory to be allocated for execution of said first user program; and (j) determining the amount of said first memory which is unallocated to any user programs and allocating said first amount for execution of said first user program only if said unallocated amount is greater than or equal to said requested first amount; and said allocating step (e) comprising the steps of: (k) requesting a second amount of said first memory to be allocated for execution of said second user program; and (l) determining the amount of said first memory which is unallocated to any user programs and allocating said second amount for execution of said second user program only if said unallocated amount is greater than or equal to said requested second amount.
Claim 3
Dependent Claim
56 words
The method of claim 1 also including the steps allocating a plurality of additional portions of said first memory for execution of a plurality of respective additional user programs, each of said first, second, and additional portions being mutually exclusive and with said additional portions being allocated in a manner corresponding to steps (i) and (j).
Claim 4
Dependent Claim
16 words
The method of claim 1 wherein steps (e) and (f) are performed prior to step (d).
Claim 5
Dependent Claim
57 words
The method of claim 1 wherein at least some of said second group of real addresses are loaded into the same portion of said second memory as said first group of real addresses, said loading of said second group of real addresses including erasing at least part of said first group of addresses from said second memory.
Claim 6
Dependent Claim
59 words
The method of claim 1 including the step of creating a bit map in a third portion of said first memory which is arranged in pages, said bit map including a plurality of bits for storing information indicating whether each said page in a predetermined portion of said first memory is allocated for execution of any said user program.
Claim 7
Dependent Claim
38 words
The method of claim 5 wherein said allocating steps include utilizing said bit map to select previously unallocated pages of said first memory and storing logical "ones" in locations of said bit map corresponding to said selected pages.
Claim 8
Independent Claim
345 words
A method for operating an expanded memory computing system, said method comprising the steps of: (a) allocating a first portion of a first memory for execution of a first user program; (b) loading said first user program into said first portion of said first memory; (c) loading a first group of real addresses of said first portion of said first memory into a second memory; (d) executing each instruction of said first user program by utilizing a processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said first group from said second memory, and utilizing that real address to access a location in said first portion of said first memory; (e) allocating a second portion of said first memory for execution of a second user program, said first and second portions being mutually exclusive; (f) loading said second user program into said second portion of said first memory; (g) loading a second group of real addresses of said second portion of said first memory into said second memory; (h) executing each instruction of said second user program by utilizing said processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said second group from said second memory and utilizing that real address to access a location in said second portion of said first memory; (i) writing a system operating program into a third portion of said first memory, said third portion being exclusive of said first and second portions, said third portion being a lowest order portion of said first memory; and (j) loading an input/output program in a fourth portion of said first memory, loading a third group of real addresses of said fourth portion of said first memory into a third memory, and for each instruction of said input/output program, utilizing said processor to produce a logical address to fetch a real address from said third memory and utilizing that real address to access a location in said fourth portion of said first memory.
Claim 9
Independent Claim
345 words
A method for operating an expanded memory computing system, said method comprising the steps of: (a) allocating a first portion of a first memory for execution of a first user program; (b) loading said first user program into said first portion of said first memory; (c) loading a first group of real addresses of said first portion of said first memory into a second memory; (d) executing each instruction of said first user program by utilizing a processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said first group from said second memory, and utilizing that real address to access a location in said first portion of said first memory; (e) allocating a second portion of said first memory for execution of a second user program, said first and second portions being mutually exclusive; (f) loading said second user program into said second portion of said first memory; (g) loading a second group of real addresses of said second portion of said first memory into said second memory; (h) executing each instruction of said second user program by utilizing said processor to produce a logical address for that instruction, utilizing that logical address to fetch a real address of said second group from said second memory and utilizing that real address to access a location in said second portion of said first memory; (i) writing a system operating program into a third portion of said first memory, said third portion being exclusive of said first and second portions, said third portion being a lowest order portion of said first memory; and (j) loading an input/output program in a fourth portion of said first memory, loading a third group of real addresses of said fourth portion of said first memory into a third memory, and for each instruction of said input/output program, utilizing said processor to produce a logical address to fetch a real address from said third memory and utilizing that real address to access a location in said fourth portion of said first memory.
Claim 10
Dependent Claim
100 words
The method of claim 7 further including the steps of utilizing said processor to produce a first group of logical addresses and utilizing said first group of logical addresses to fetch a fourth group of real addresses, and utilizing said fourth group of real addresses to access said first memory, said first group of logical addresses being included in a predetermined portion of said third portion, of said first memory, said predetermined portion being substantially smaller than said third portion, of said first memory, said fourth group of real addresses including real addresses of any portion of said first memory.
Claim 11
Dependent Claim
198 words
The method of claim 7 wherein said first user program is written in a programming language, said method including effecting transfer of data between a disk unit and said processor by loading a fourth group of real addresses in both said second memory and said third memory, utilizing said processor to produce a first group of logical addresses utilizing said first group of logical addresses to fetch a fifth group of real addresses from said second memory in response to instructions of said programming language of said first user program, each of said fifth group of real addresses being exclusive of said second, third, and fourth portions of said first memory, utilizing said fifth group of real addresses to effect writing of said data into locations of said first memory addressed by said fifth group of real addresses, utilizing said processor to produce a second group of logical addresses, utilizing said second group of logical addresses to fetch said fifth group of real addresses from said third memory, and utilizing that fifth group of real addresses to read said data from said first memory and effect transferring of said data to either said processor or said disk unit.
Claim 12
Dependent Claim
68 words
The method of claim 9 wherein step (a) includes: requesting a first amount of said first memory to be allocated for execution of said first user program; determining the amount of said first memory which is unallocated to any user programs and allocating said first amount for execution of said first user program only if said unallocated amount is greater than or equal to said requested first amount.
Claim 13
Dependent Claim
70 words
The method of claim 10 wherein step (a) further includes determining if said first amount is less than a second amount of said first memory presently allocated for execution of said first user program, and if so, allocating said first amount for execution of said first user program and de-allocating an amount of said first memory equal to the difference between said first and second amounts of said first memory.
Claim 14
Dependent Claim
97 words
The method of claim 2 wherein execution of said first user program includes loading a third group of real addresses into a portion of said second memory not occupied by said first and second groups of real memory addresses, and executing a third user program, said third user program being executed in a third portion of said first memory, said third portion of said first memory including locations addressable by said third group of real addresses, whereby said first user program shares a program consisting of instructions being addresses included in said third group of real addresses.
References Cited (Backward Citations)
US3778776A
Cited
US4057848A
Cited
US3970999A
Cited
US4042911A
Cited
US4040029A
Cited
US4053948A
Cited
US4056848A
Cited
US4218743A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1986-09-05 | 1987-03-07 | 1987-09-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1990-09-05 | 1991-03-07 | 1991-09-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1994-09-05 | 1995-03-07 | 1995-09-06 | $7700.00 | Window Closed / Lapsed |