A system and method track and control the prefetching of blocks of a data stream in a PCI bus system, avoiding unnecessary prefetches. The data stream is grouped into major blocks which comprise a fixed plurality of contiguous blocks. A prefetch buffer stores the blocks of data prefetched from a PCI data source for transfer to a requester. First and second associated prefetch count storage locations store first and second counts initialized by prefetch initialization logic. The first count represents the number of blocks of data of a major block of the data, and the second count represents the total number of the blocks of the data stream to be prefetched, less the initialized number of blocks of the first count. As each block of data is prefetched, a prefetch counter decrements the first count by a number representing the block of data. As the prefetch counter decrements the first count to zero, prefetch count logic stops the prefetch, allowing completion of the transfer of the prefetched data to the data destination. Thus, the second count represents the next remaining number of blocks to be prefetched, and the requester can rotate to a different read request at the end of a major block, knowing the next major block will not be prefetched until requested.

Um sistema e um método seguem e controlam prefetching dos blocos de um córrego de dados em um sistema da barra-ônibus do PCI, evitando prefetches desnecessários. O córrego de dados é agrupado nos blocos principais que compreendem um plurality fixo de blocos contíguos. Lojas que de amortecedor do prefetch os blocos dos dados prefetched de uma origem dos dados de do PCI para transferência a um requester. As posições primeiramente e em segundo associadas do armazenamento da contagem do prefetch armazenam primeiramente e em segundo as contagens inicializadas pela lógica de iniciação do prefetch. A primeira contagem representa o número dos blocos dos dados de um bloco principal dos dados, e a segunda contagem representa o número total dos blocos do córrego de dados para ser prefetched, menos o número inicializado dos blocos da primeira contagem. Como cada bloco dos dados é prefetched, decréscimos de um contador do prefetch a primeira contagem por um número que representa o bloco dos dados. Porque os decréscimos do contador do prefetch a primeira contagem a zero, lógica da contagem do prefetch param o prefetch, permitir a conclusão de transferência do prefetched dados ao destino dos dados. Assim, a segunda contagem representa o número restante seguinte dos blocos para ser prefetched, e o requester pode girar a um pedido lido diferente na extremidade de um bloco principal, sabendo que o bloco principal seguinte não será prefetched até pedido.

 
Web www.patentalert.com

< Snoop blocking for cache coherency

< Method and apparatus for altering data length to zero to maintain cache coherency

> Predictive mechanism for ASB slave responses

> Apparatus for generating and transferring managed device description file

~ 00075