Skip site navigation (1)Skip section navigation (2)
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>