← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag