Browse Prior Art Database

Method in a graphics system to achieve maximum data transfer rates Disclosure Number: IPCOM000011930D
Original Publication Date: 2003-Mar-26
Included in the Prior Art Database: 2003-Mar-26
Document File: 2 page(s) / 42K

Publishing Venue



This article describes an efficient method of transferring variable amounts of graphics data over a PCI bus.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Method in a graphics system to achieve maximum data transfer rates

In graphics subsystems the amount of data being sent to the adapter from the system varies greatly in any given transfer. For the IBM P-series servers and workstations, data is transferred via a PCI BUS. The developer has a choice of two methods that can be utilized to efficiently transfer data across the BUS. The first is DMA, allowing very fast transfer of large amounts of data but also having a large setup overhead resulting in very low throughput for small data transfers. The second choice is PIO, which has a very low overhead allowing small amounts of data to be transferred quickly but has low transfer rates resulting in less efficiency with large amounts of data.

Ideally, for each rendering routine, the developer would write code to choose which method, DMA or IO, to use, and setup the transfer appropriately based on the size of the data transfer. Because of the added complexity involved in writing such specialized code, however, the development team has opted to instead create a transport layer. This layer determines which method of transferring the data from system to the adapter is should be used based on the quantity of data being transferred. By providing this transport layer all data is transferred in the most efficient manner possible while alleviating the need to write specialized code for each rendering function.

The transport layer contains the following functions:


Sets the transfer method to PIO or DMA...