DMA device with local page table
First Claim
Patent Images
1. A DMA device configured to process multiple channels of data specified by virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, said device comprising:
- a local memory for storing page translations for page addresses in a plurality of address map registers, with at least one address map register associated with each of said channels, for enabling direct retrieval of physical addresses of said main memory corresponding to virtual addresses; and
a controller for generating physical addresses in said main memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A DMA device which can quickly access main memory over a system bus without requiring an allocation of a contiguous block of memory on start-up. This is accomplished by providing a copy of the host microprocessor'"'"'s page table to the DMA device for the portion of memory allocated to it. The DMA device preferably stores at least a portion of the page table internally, with any remainder of the page table being stored in main memory at an address stored in said DMA device.
-
Citations
18 Claims
-
1. A DMA device configured to process multiple channels of data specified by virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, said device comprising:
-
a local memory for storing page translations for page addresses in a plurality of address map registers, with at least one address map register associated with each of said channels, for enabling direct retrieval of physical addresses of said main memory corresponding to virtual addresses; and a controller for generating physical addresses in said main memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A sound synthesizer DMA device configured to process multiple channels of data specified by virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, said device comprising:
-
a local memory for storing information enabling direct retrieval of physical addresses of said main memory corresponding to virtual addresses, said local memory including two distinct locations for each of said channels; and a controller for generating physical addresses in said main memory.
-
-
11. A sound manipulation device using virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, said device comprising:
-
a cache memory for storing a portion of a group of digitized sound representations from said main memory; a controller for generating physical addresses in said main memory; a translation look aside buffer including a base register storing a pointer to a page table in said main memory, and at least two address map registers for each channel of a plurality of channels storing a page translation for a page address; and wherein said cache memory is divided into a plurality of channels, each channel having a block of locations within said cache memory, said controller being configured to store data associated with a channel in a corresponding block. - View Dependent Claims (12, 13, 14)
-
-
15. In a DMA device using virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, a method comprising the steps of:
-
transmitting a request over said bus to said central processor to allocate a portion of said main memory as needed; receiving an allocation of addresses in said main memory, including both at least one virtual address and a corresponding physical address; and storing, in a location directly accessible by said device, a table including said virtual address and corresponding physical address for each channel of a plurality of channels. - View Dependent Claims (16, 17)
-
-
18. A DMA device using virtual addresses and adapted for attachment to a bus coupled to a central microprocessor and a main memory, comprising:
-
means for transmitting a request over said bus to said central processor to allocate a portion of said main memory as needed; means for receiving an allocation of addresses in said main memory, including both at least one virtual address and a corresponding physical address; and means for storing, in a location directly accessible by said device, a table including said virtual address and corresponding physical address for each channel of a plurality of channels.
-
Specification