A computer system includes a processing unit, a system memory, and a memory
controller coupled to the processing unit and the system memory. According
to the present invention, the memory controller accesses the system memory
to obtain prefetch data and transmits the prefetch data to the processing
unit in a prefetch write operation specifying the processing unit in a
destination field. In one embodiment, the memory controller transmits the
prefetch write operation in response to receipt of a prefetch hint from
the processing unit, which may accompany a read-type request by the
processing unit. This prefetch methodology may advantageously be
implemented imprecisely, with the memory controller responding to the
prefetch hint only if a prefetch queue is available and ignoring the
prefetch hint otherwise. The processing unit may similarly ignore the
prefetch write operation if no snoop queue is available. Consequently,
communication bandwidth is not wasted by the memory controller or
processing unit retrying prefetch operations. In addition, because the
memory controller directs prefetching, the processing unit need not
allocate a queue to the prefetch operation, thus reducing the number of
queues required in the processing unit.
Un sistema informático incluye una unidad de proceso, una memoria de sistema, y un regulador de la memoria juntado a la unidad de proceso y a la memoria de sistema. Según la actual invención, el regulador de la memoria tiene acceso a la memoria de sistema para obtener datos del prefetch y transmite los datos del prefetch a la unidad de proceso en un prefetch escribe la operación que especifica la unidad de proceso en un campo de destinación. En una encarnación, el regulador de la memoria transmite el prefetch escribe la operación en respuesta a recibo de una indirecta del prefetch de la unidad de proceso, que puede acompañar un leer-tipo petición por la unidad de proceso. Esta metodología del prefetch se puede poner en ejecucio'n ventajoso impreciso, con el regulador de la memoria respondiendo a la indirecta del prefetch solamente si una coleta del prefetch es disponible y que no hace caso de la indirecta del prefetch de otra manera. La unidad de proceso puede no hacer caso semejantemente del prefetch escribe la operación si no hay coleta del snoop disponible. Por lo tanto, la anchura de banda de la comunicación no es perdida por el regulador de la memoria o la unidad de proceso que revisa operaciones del prefetch. Además, porque el regulador de la memoria dirige prefetching, la unidad de proceso no necesita asignar una coleta a la operación del prefetch, así reduciendo el número de las coletas requeridas en la unidad de proceso.