User`s manual
Building Applications 27
PCIS-DASK
Contiguous Memory Allocation
3 Building Applications
3.1 Contiguous Memory Allocation
The PCIS-DASK features continuous data transfer functions that
input or output blocks of data to or from an installed NuDAQ PCI
device. To prevent reduced data transfer performance caused by
memory fragment, the PCIS-DASK allocates physically contigu-
ous buffers in device driver at system startup time (Windows
®
98)
or when system boots (Windows
®
NT/2000/XP/2003 and Linux).
The PCIS-DASK comes with the PciUtil applications to set or
modify the sizes of contiguous memory allocated in the driver for
continuous analog input, analog output, digital input, and digital
output. Device drivers allocates these memory sizes. The size of
initially allocated memory is the maximum memory size that con-
tinuous data transfer can be performed. Refer to the NuDAQ Reg-
istry/Configuration utility section for details.
For input operations, the specified data count are transferred to
the driver buffer while the PCIS-DASK copies the data from the
driver buffer (kernel level) to a user buffer (user level). For output
operations, PCIS-DASK copies the data from a user buffer (driver
level) to the driver buffer (kernel level) and transfers outgoing data
from the driver buffer to the NuDAQ PCI device.
When performing only polling I/O, the initial allocated memory is
not needed and you may use the NuDAQ Registry/Configuration
utility to set the buffer size to 0.