Electrical computers and digital processing systems: processing – Processing architecture – Microprocessor or multichip or multimodule processor having...
Reexamination Certificate
2001-06-05
2002-05-21
Zimmer, Mark (Department: 2671)
Electrical computers and digital processing systems: processing
Processing architecture
Microprocessor or multichip or multimodule processor having...
C712S035000, C711S148000, C711S153000, C711S163000
Reexamination Certificate
active
06393545
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates the field of computer architecture and particularly to the field of virtual memory.
BACKGROUND OF THE INVENTION
Virtual memory computer architectures have become increasingly popular in modern times. This popularity has increased to extent that even most microprocessor/personal computer systems now utilise virtual memory. Virtual memory has known significant advantages in simplifying the software production process.
In order to speed up the operation of the computer system, it has been suggested a number of co-processors could be utilised to speed up various operations such as the production of graphical images for display or printing out. It would be advantageous if such systems could operate in conjunction utilising virtual memory.
SUMMARY OF THE INVENTION
In accordance with a first aspect of the invention, there is provided a co-processor adapted for using virtual memory with a host processing device, a memory coupled to the host processing device to implement the virtual memory, the co-processor including:
virtual-physical memory mapping device for interrogating a virtual memory table and for mapping one or more virtual memory addresses requested by the co-processor into corresponding physical addresses in the memory of the host processing device.
Preferably, the virtual memory table is stored in two or more non-contiguously addressable regions of the memory, and may be a page table.
Preferably, the virtual-physical memory mapping device further includes a multiple-entry translation lookaside buffer for caching virtual-to-physical address mappings. The translation lookaside buffer is adapted to replace entries therein on a least recently used replacement basis. The virtual-physical memory mapping device may also include devices for comparing, replacing, singly invalidating and multiply invalidating one or more entries of the translation lookaside buffer. Still further, the virtual-physical memory mapping device may include a device for, upon an occurrence of a miss in the translation lookaside buffer, hashing a virtual memory address using a hash function to produce an index into the virtual memory table of the host processing device.
In accordance with a second aspect of the invention, there is provided a method of operating a co-processor to use virtual memory with a host processing device, a memory coupled to the host processing device to implement the virtual memory, the method including the steps of:
interrogating a virtual memory table; and
mapping one or more virtual memory addresses requested by the co-processor into corresponding physical addresses in the memory of the host processing device.
In accordance with a third aspect of the invention, there is provided a memory management apparatus for a co-processor coupled to a host processor with virtual memory, the virtual memory comprising a plurality of virtual-memory pages contained in a host memory coupled to the host processor, the host memory comprising a plurality of physical pages, the memory management apparatus including:
buffering device for caching a predetermined number of virtual-to-physical memory address mappings, each memory-address mapping including a virtual-memory address and a corresponding physical address;
device for comparing a virtual-memory address requested by the co-processor with the memory-address mappings currently cached by the buffering device;
device for, if the comparing device determines the virtual memory address requested by the co-processor matches a virtual-memory address of one of the memory-address mappings in the buffering device, providing a physical address to the co-processor from the matching memory-address mapping; and
device for, if the comparing device determines the virtual-memory address requested by the co-processor does not match the virtual memory address of any memory-address mapping currently cached in the buffering device, updating the buffering device with a memory-address mapping retrieved from a page table, the retrieved memory-address mapping containing a physical address corresponding to the virtual memory address requested by the co-processor, the page table stored in a predetermined number of the physical pages.
In accordance with a fourth aspect of the invention, there is provided a method of managing virtual memory for a co-processor coupled to a host processor with the virtual memory, the virtual memory comprising a plurality of virtual-memory pages contained in a host memory coupled to the host processor, the host memory comprising a plurality of physical pages, the method including the steps of:
caching a predetermined number of virtual-to-physical memory address mappings in buffering device, each memory-address mapping including a virtual-memory address and a corresponding physical address;
comparing a virtual-memory address requested by the co-processor with the memory-address mappings currently cached by the buffering device;
if the comparison determines the virtual memory address requested by the co-processor matches a virtual-memory address of one of the memory-address mappings in the buffering device, providing a physical address to the co-processor from the matching memory-address mapping; and
if the comparison determines the virtual-memory address requested by the co-processor does not match the virtual memory address of any memory-address mapping currently cached in the buffering device, updating the buffering device with a memory-address mapping retrieved from a page table, the retrieved memory-address mapping containing a physical address corresponding to the virtual memory address requested by the co-processor, the page table stored in a predetermined number of the physical pages.
In accordance with a fifth aspect of the invention, there is provided a system for managing virtual memory, the system including:
a host processing device;
a host memory coupled to the host processing device to implement the virtual memory;
a co-processor adapted for using virtual memory;
virtual-physical memory mapping device, coupled to the co-processor, for interrogating a virtual memory table and for mapping one or more virtual memory addresses requested by the co-processor into corresponding physical addresses in the host memory.
In the following detailed description, the reader's attention is directed, in particular, to
FIGS. 150
to
154
and their associated description without intending to detract from the disclosure of the remainder of the description.
REFERENCES:
patent: 3883847 (1975-05-01), Frank
patent: 3971927 (1976-07-01), Speiser et al.
patent: 4296476 (1981-10-01), Mayer et al.
patent: 4330833 (1982-05-01), Pratt et al.
patent: 4385363 (1983-05-01), Widergren et al.
patent: 4460958 (1984-07-01), Christopher et al.
patent: 4475174 (1984-10-01), Kanayama
patent: RE31736 (1984-11-01), Mueller et al.
patent: 4535320 (1985-08-01), Weaver
patent: 4550368 (1985-10-01), Bechtolsheim
patent: 4587610 (1986-05-01), Rodman
patent: 4622545 (1986-11-01), Atkinson
patent: 4646061 (1987-02-01), Bledsoe
patent: 4680700 (1987-07-01), Hester et al.
patent: RE32493 (1987-09-01), Matsumoto et al.
patent: 4700175 (1987-10-01), Bledsoe
patent: 4718024 (1988-01-01), Guttag et al.
patent: 4718091 (1988-01-01), Kobayashi et al.
patent: 4720871 (1988-01-01), Chambers
patent: 4736440 (1988-04-01), Chabert
patent: 4754491 (1988-06-01), Mischler et al.
patent: 4779223 (1988-10-01), Asai et al.
patent: 4780761 (1988-10-01), Daly et al.
patent: 4791598 (1988-12-01), Liou et al.
patent: 4797850 (1989-01-01), Amitai
patent: 4813056 (1989-03-01), Fedele
patent: 4823286 (1989-04-01), Lumelsky et al.
patent: 4839826 (1989-06-01), Urushibata
patent: 4853696 (1989-08-01), Mukherjee
patent: 4907182 (1990-03-01), Giuliano et al.
patent: 4920426 (1990-04-01), Hatori et al.
patent: 4920480 (1990-04-01), Murakami et al.
patent: 4935821 (1990-06-01), Sano et al.
patent: 4937774 (1990-06-01), Malinowski
patent: 4956771 (1990-09-01), Neustaedter
patent: 4965722 (1990-10-01), Tokuume
patent: 4975976 (1990-12-01), Kimata et al.
pa
Amies Christopher
Long Timothy Merrick
Webb Michael John
Canon Kabushiki Kaisha
Fitzpatrick ,Cella, Harper & Scinto
Monestime Mackly
Zimmer Mark
LandOfFree
Method apparatus and system for managing virtual memory with... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method apparatus and system for managing virtual memory with..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method apparatus and system for managing virtual memory with... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2866012