A method and system for arbitrating among memory access commands from
clients seeking access to a DRAM or other memory, and an arbiter for use
in implementing such method or system. When arbitrating among competing
commands that include at least one command of the same read/write type as
the current command, the arbiter selects a command of the same read/write
type as the current command. In a wait mode, when arbitrating among a set
of the commands that includes no command of the same read/write type as
the current command, the arbiter prevents each command in the set from
reaching the memory. Preferably, after operating in the wait mode for a
limited time, the arbiter enters another arbitration mode in which it can
select a command of the opposite read/write type as the current command.
Preferably, the arbiter is implemented to be operable in any of multiple
operating modes. Preferably, the arbiter monitors for occurrence of
potential page fault conditions.
Um método e um sistema para arbitrating entre comandos do acesso de memória dos clientes que procuram o acesso a um DRAM ou à outra memória, e um árbitro para o uso em executar tal método ou sistema. Ao arbitrating entre os comandos competindo que incluem ao menos um comando do mesmo tipo de leitura/gravação que o comando atual, o árbitro seleciona um comando do mesmo tipo de leitura/gravação que o comando atual. Em uma modalidade da espera, ao arbitrating entre um jogo dos comandos que não inclua nenhum comando do mesmo tipo de leitura/gravação que o comando atual, o árbitro impede que cada comando no jogo alcance a memória. Preferivelmente, após operar-se na modalidade da espera por um tempo limitado, o árbitro entra em uma outra modalidade do arbitration em que pode selecionar um comando do tipo de leitura/gravação oposto como o comando atual. Preferivelmente, o árbitro é executado para ser operável em algumas de modalidades operando-se múltiplas. Preferivelmente, os monitores do árbitro para a ocorrência de condições de falha potenciais da página.