Patent US1174997A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4777589A Expired / Lapsed US ⏱️ 0.0 years remaining

Direct input/output in a virtual memory system

Assignee: HP Inc
•
Filing: 1985-06-28
•
Granted: 1988-10-11
•
Expires: 2005-06-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A virtual memory system is used to control access to I/O device address space in accordance with a preferred embodiment of the present invention. In a virtual memory system, access to pages within a processor's address space are assigned to each application program. Each I/O device is assigned two pages of address space. One page is considered to be privileged, and the other unprivileged. Each I/O device register is associated with an address in each of the two pages of its I/O device address space. Address space is global. What is meant by global is that physical memory locations map to the same virtual memory space regardless of what process is running on the processor. Access codes accompanied by a write disable bit are used to control process access to various addresses.

Inventors

  • 👤 Steven C. Boettner
  • 👤 William R. Bryg
  • 👤 David V. James
  • 👤 Tso-Kai Liu
  • 👤 Michael J. Mahon
  • 👤 Terrence C. Miller
  • 👤 William S. Worley, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 15:05
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/14; G06F12/1458; G06F12/1466; G06F12/1475; G06F12/0223; G06F12/0292; G06F12/06; G06F12/0646; G06F12/0653; G06F2212/00; G06F2212/20; G06F2212/206

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 126 words
A computing system comprising: a plurality of input/output devices, each input/output device including a plurality of registers for controlling the input/output device; local memory means for storing data, the local memory means including a first plurality of physical storage locations; system processing means for executing a plurality of processes the system processing means including: virtual address mapping means for assigning a global virtual address to each physical storage location in the local memory means and for assigning a global virtual address to each register in each input/output device, wherein the virtual address for each physical storage location in the local memory and the virtual address for each register in each input/output device does not differ depending upon which process from the plurality of processes is executing.
Claim 2
Dependent Claim 126 words
A computing system comprising: a plurality of input/output devices, each input/output device including a plurality of registers for controlling the input/output device; local memory means for storing data, the local memory means including a first plurality of physical storage locations; system processing means for executing a plurality of processes the system processing means including: virtual address mapping means for assigning a global virtual address to each physical storage location in the local memory means and for assigning a global virtual address to each register in each input/output device, wherein the virtual address for each physical storage location in the local memory and the virtual address for each register in each input/output device does not differ depending upon which process from the plurality of processes is executing.
Claim 3
Dependent Claim 34 words
A computing device as in claim 1 wherein the global virtual addresses are grouped into pages, and wherein the virtual address mapping means contains an access code for each page of global virtual addresses.
Claim 4
Dependent Claim 67 words
A computing device as in claim 2 wherein each process has at least one access code and the processing means will not allow a first process having a first plurality of access codes to access a first virtual address in a first page of global virtual addresses, unless a first access code for the first page of global addresses matches an access code of the first process.
Claim 5
Dependent Claim 74 words
A computing device as in claim 3 wherein the virtual address mapping means assigns both a first global virtual address in the first page of global addresses and a second global virtual address in a second page of global virtual addresses to a first register in a first input/out device from the plurality of output devices, and the access code for the second page is different than the access code for the first page.
Claim 6
Dependent Claim 102 words
A computing device as in claim 4 wherein each page of global virtual addresses has an access code, a process from the plurality of processes with access to the first page of global addresses may read from but not write to global virtual addresses within the first page of global addresses, a process from the plurality of processes with access to the second page of global virtual addresses may read from and write to global virtual addresses within the second page of global addresses, and an access code for the first page is different than an access code for the second page.
Claim 7
Dependent Claim 103 words
A computing device as in claim 2 wherein each process from the plurality of processes has an access code, the virtual address mapping means contains an access code for each page of global virtual addresses, a first process from the plurality of processes with a first access code may read from but not write to global virtual addresses within a first page of global addresses, a second process from the plurality of processes with a second access code may read from and write to global virtual addresses within the first page, and the first access code is different than the second access code.
Claim 8
Dependent Claim 105 words
A computing device as in claim 2 wherein each process from the plurality of processes has an access code, the virtual address mapping means contains an access code for each page of global virtual addresses, a first process from the plurality of processes may read from but not write to global virtual addresses within a first page of global addresses, the first process may read from and write to global virtual addresses within a second page of global addresses, and an access code for the first page of global virtual addresses is different than an access code for the second page of global virtual addresses.

References Cited (Backward Citations)

US3654621A Cited
US4442484A Cited
US4493023A Cited
US4439830A Cited
US4477871A Cited
US4654777A Cited
US4635189A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1991-10-11 1992-04-11 1992-10-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1995-10-11 1996-04-11 1996-10-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1999-10-11 2000-04-11 2000-10-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag