Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!samsung!aplcen!haven!grebyn!ckp From: ckp@grebyn.com (Checkpoint Technologies) Newsgroups: comp.sys.amiga.tech Subject: Re: DMA in VM Message-ID: <14068@grebyn.com> Date: 2 Dec 89 04:39:36 GMT References: <14059@grebyn.com> <838@tardis.Tymnet.COM> Reply-To: ckp@grebyn.UUCP (Checkpoint Technologies) Organization: Grebyn Timesharing, Vienna, VA, USA Lines: 20 In article <838@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >There's an alternative you've overlooked. Add another MMU just for DMA. A >single MMU could be shared amoung several DMA devices and let them all think >they were doing I/O to contiguous addresses. There's no need to bother the >CPU or need contiguous RAM if you can fake it. (The VAX and other systems >do just this.) In fact, I consider this just another method to allow DMA to discontiguous physical memory, so I didn't mention it separately. It happens that the 68851 PMMU, as used in the A2620 card, has just that feature: a separate page table for a DMA device. It may be remotely possible to press this into service in the Amiga, but I doubt it. However, the 68030's built-in PMMU doesn't have this feature, so we may as well forget it since we all aspire to 68030's and 68040's anyway. Yep, VAX systems have a 'MMU' of sorts (they call it the Unibus Mapping Registers) for use by the IO system. It has the dual role of allowing DMA to discontiguous pages, and expanding the 256K address space of the IO bus into the much-larger (up to) 256 Meg of CPU address space.