Operation Theorem • 35Bus-mastering DMA provides the fastest data transfer rate on PCI-bus. Once the analog input operation starts, control returns to yourprogram. The hardware temporarily stores the acquired data in theonboard A/D FIFO and then transfers the data to a user-definedDMA buffer memory in the computer. Please note that even whenthe acquiring data length is less than the FIFO, the AD data will notbe kept in the FIFO, but will be directly transfered to host memoryby bus-mastering DMA.The DMA transfer mode is very complex to program. werecommend using a high level program library to manipulate thiscard. If you want to program the software which can handle theDMA bus master data transfer, please refer to more informationabout the PCI controller. (www. amcc. com. )5.5.6 Host Memory OperationBecause of DMA data transfer, the AD data can not besimultaneously processed when the data is transferred. Therefore,user will have to process the AD data after the completion of oneDMA cycle. Please note that if the total data throughput in yourapplication is relatively high (>20MB/s), you with have to considerthat the processing of the AD data needs time and also consumesthe CPU computation power. There is limitation. For example, youcan not continuously acquire data at the rate of 20MB/s, but CPUcan only process the data at the rate of 10MB/s. In this case, theFIFO will be full finally and the data acquisition will be discontinuous.Storing the data in host memory into hard disk or other storagedevice should be also considered. The burst data rate of currentHDD technology could be 90 up to 80MB/s. However, pratically theHDD effective bandwidth is usually less than 10MB/s, especiallywhen the HDD seek time is longer, for example, 20 ms, the FIFO isalready full and the acquired data could not be continuous.Another limitation comes from the OS and the host memory size.Under DOS environment, the maximum memory size you canallocate is less than 640K except that you use extended memorymanaging software. Under Windows -95 or NT, it is quite hard to geta continuously large size of memory such as 64M bytes, you haveto keep the memory “clean” , then there may be a chance toallocate large size of memory. The PCI bus-mastering DMAcontroller of PCI-9812 needs continuous memory to store the ADdata.