A memory controller for a special purpose digital video processor. To
achieve a speed enhancement when using multiple bank memory such as SDRAM,
the memory controller arbitrates requests for access to the memory such
that, if possible, sequential memory accesses are directed to alternating
memory banks. To facilitate access to contiguous blocks of memory such as
are often accessed in video signal processing, the memory controller
includes an address generator for generating multiple memory addresses in
response to a single memory access request. The memory controller further
includes features, which permit the use of multiple physical memory
configurations. Specifically, the memory controller includes a memory
address mapper for translating virtual memory address signals into
physical memory address signals for address memory; for different memory
configurations, the translation is different. To further optimize the use
of different memory chips, an asynchronous clock is used by the memory
relative to the clock of the special purpose processor. Data passing to or
from the memory is synchronized to the memory or processor clock by a
special purpose data buffer/synchronizer of size 2.sup.N. The data
buffer/synchronizer also uses N+1 bit wide gray coded counters. Also, the
memory controller includes a programmable memory interface for generating
column address strobe (CAS) and row address strobe (RAS) signals in
accordance with the timing specification of the specific memory
configuration in use.
Um controlador da memória para um processador video digital da finalidade especial. Para conseguir um realce da velocidade ao usar a memória múltipla do banco tal como SDRAM, o controlador da memória arbitrates pedidos para o acesso à memória tais que, se os acessos de memória possíveis, seqüenciais estão dirigidos aos bancos de memória alternos. Para facilitar o acesso aos blocos contíguos da memória como são alcançados frequentemente em processar de sinal video, o controlador da memória inclui um gerador de endereço para gerar endereços de memória múltiplos em resposta a um único pedido de acesso de memória. O controlador da memória mais adicional inclui as características, que permitem o uso de configurações de memória físicas múltiplas. Especificamente, o controlador da memória inclui um cartógrafo do endereço de memória para traduzir sinais do endereço de memória virtual em sinais físicos do endereço de memória para a memória do endereço; para configurações de memória diferentes, a tradução é diferente. Para optimize mais mais o uso de microplaquetas de memória diferentes, um pulso de disparo assíncrono é usado pela memória relativo ao pulso de disparo do processador especial da finalidade. Os dados que passam a ou da memória são sincronizados ao pulso de disparo da memória ou do processador por uns dados especiais buffer/synchronizer da finalidade do tamanho 2.sup.N. Os dados buffer/synchronizer usam também contadores codificados cinzentos do bocado N+1 largamente. Também, o controlador da memória inclui uma relação programável da memória para gerar sinais do estroboscópio de endereço da coluna (CAS) e do estroboscópio de endereço da fileira (RAS) de acordo com a especificação do sincronismo da configuração de memória específica no uso.