Date: Fri, 26 Apr 1996 12:22:42 -0700 (PDT) From: Jim Dennis <jimd@mistery.mcafee.com> To: mrl@teleport.com (Mostyn/Annabella) Cc: questions@freebsd.org, mrl@teleport.com Subject: Re: bounce buffers Message-ID: <199604261922.MAA08451@mistery.mcafee.com> In-Reply-To: <199604260547.WAA07623@linda.teleport.com> from "Mostyn/Annabella" at Apr 25, 96 10:47:36 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > > Under what circumstances are bounce buffers indicated? > > In a system with an ISA busmaster and more than 16M of RAM. > > What about a mixed PCI ISA busmaster - e.g. > > Have a system with an Adaptec 2940 UW (PCI) and an > Adaptec 1542 (ISA). > > Have the bounce on for the 1542 - what about its impact for > everything else? > > Mostyn Here's the short explanation of "bounce buffers." (based much more on my general knowlege of PC hardware -- and not at all on any knowlege of FreeBSD code). The original designs for AT class machines couldn't address more then 24M of RAM -- and couldn't handle more than about 12M on a motherboard. The DMA chips used in this design can only access the first 16M of address space. Any OS that can support more than 16M of RAM on a PC architecture must therefore provide a mechanism (bounce buffers, translation buffers, whatever) to ensure that all DMA (disk access) is initially directed into the first 16M of physical address space (DMA chips don't participate in virtualization). Generally this is accomplished by directing the DMA into the first 16M of physical address space and virtualizing it back to the process address space. One of the key performance issues for kernel designers (and the designers of DOS memory management and DOS extenders products) is to minimize the need to "double buffer" -- Quarterdeck's phrase for: "transfer in and copy out of the lower address space." Basically it's one of the warts that the PC architecture as developed in it's old age. This is a natural effect of growing *far* beyond your initial design. Remember that the high end P6 with 128M of RAM and 8Gig of disk space is still essentially the same architecture as the original 16K PC (8088) with the audio cassete deck for it's storage medium. Worse still the last major change in the motherboard hardware was with the introduction of the AT. The timer chips, floppy controllers, DMA controllers, interrupt controllers and other support circuitry are largely unchanged (though most have been consolidated into a small number of actual chips -- the register/control interfaces are the same). Jim Dennis, System Administrator, McAfee Associates
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604261922.MAA08451>