|
|
The Commons
Patent Title: Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors Abstract: An information handling system which efficiently processes auxiliary functions such as graphics processing includes one or more processors, a high speed processor bus connecting the one or more processors, a memory controller for controlling memory and for controlling the auxiliary function processing, a memory system, and an I/O bus having one or more I/O controllers with I/O devices connected thereto. The system further includes means in a processor for building a queue of command blocks related to the auxiliary function processor, writing one or more command blocks to memory, which may include a processor cache, writing a start address for each command block to an address FIFO associated with the auxiliary function processor, reading a command block queue start address by the auxiliary processor, recognizing the command block read, issuing a coherent read for queued command blocks with intervention enabled, flushing a copy of the queued command block from processor cache to memory subsystem if a copy of the queued command block is in processor cache, intercepting the flushed copy of the queued command block from cache to memory and canceling the read to memory, storing the queued block in a command buffer associated with the auxiliary function processor, processing the commands in the queue by the auxiliary function processor, and writing a complete status to a predetermined location which is periodically polled by a processor on completion of the auxiliary function processing. For each data request to or from storage from the auxiliary function processor, a determination is made as to whether the request is for a coherent or non-coherent read or write of the data. If the request is for a non-coherent read or write, the snoop cycle on the processor bus is inhibited and bypassed since there is no need to perform a snoop to maintain coherency for non-coherent data. That data request is then handled and processed. Notes: |