The parallel or printer port in a personal computer can receive data from
the memory under the control of the direct memory access (DMA) controller,
releasing processor resources. The processor enables the parallel port,
which then indicates to the DMA controller the desire to transfer data. A
state machine in the parallel port, along with the associated circuitry,
responds to the transfer of the data to the parallel port and then
controls the transfer of the data to the attached device, usually a
printer. The state machine causes an interrupt to the processor when the
transfer is complete or on receipt of errors from the external device. The
state machine also communicates with the DMA controller to repeat the
transfer process until the transfer is complete or an error occurs.
Various DMA channels and parallel port locations can be used. Direct
transfers by the processor are blocked during DMA controller handled
transfers.