EP0551148A2

Direct input/output in a virtual memory system.

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.

EP0551148A2, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 12 June 2006, 20.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 1 independent, 8 dependent

  1. 1
    A computing system comprising:a peripheral device, the peripheral device comprises a first register;a memory management system, the memory management system comprising:    an address space divided into a plurality of pages, a first page from the plurality of pages having a first plurality of addresses and a second page from the plurality of pages having a second plurality of addresses;access means for controlling process access to the plurality of pages;and,    mapping means for associating a first address from the first plurality of addresses with the first register.
  2. 2
    A computing system as in Claim 1 wherein the mapping means associates a second address from the second plurality of pages with the first register.
  3. 3
    A computing system as in Claim 2 wherein the access means allows a first process access to the first page.
  4. 4
    A computing system as in Claim 3 wherein the access means denies the first process access to the second page.
  5. 5
    A computing system as in Claim 4 wherein the first process is able to read data from the first register, but is not able to write data to the first register.
  6. 6
    A computing system as in Claim 5 wherein when the first process reads data from the first register, the act of reading data returns information to the first process, but has no other affect on the peripheral device.
  7. 7
    A computing system as in Claim 1 wherein a third address from the first plurality of addresses is associated with no physical memory location.
  8. 8
    A computing system as in Claim 7 wherein the first process affects no physical memory location by performing a write to the third address.
  9. 9
    A computing system as in Claim 7 wherein when the first process performs a write to the third address, the computing system writes data into a physical location associated with a fourth address from the first plurality of addresses.