A memory subsystem for use with a multiprocessor computer system. The
memory subsystem includes an operation block adapted for queuing an
operation that misses in an L1 cache of a multiprocessor. The
multiprocessor is comprised of a set of processors, preferably fabricated
on a single semiconductor substrate and packaged in a single device
package. The memory subsystem further includes an arbiter that is
configured to receive external snoop operations from a bus interface unit
and a queued operation from the operation block. The arbiter is configured
to select and initiate one of received operations. Coherency is maintained
by forwarding the address associated with the operation selected by the
arbiter to each of a plurality of coherency units. In this manner,
external and internal snoop addresses are arbitrated at a single point to
produce a single subsystem snoop address that is propagated to each
coherency unit. Preferably, the operation block includes a load miss block
suitable for queuing load type operations and a store miss block suitable
for queuing store type operations. In one embodiment, the subsystem
includes a unidirectional local interconnect suitable for connecting the
memory subsystem and the set of processors. The coherency units preferably
include the L1 cache units of the set of processors, the operation block
queues, and each stage of a memory subsystem pipeline.
Um subsistema da memória para o uso com um sistema computatorizado do multiprocessor. O subsistema da memória inclui um bloco da operação adaptado enfileirando uma operação que falte em um esconderijo L1 de um multiprocessor. O multiprocessor é compreendido de um jogo dos processadores, fabricado preferivelmente em uma única carcaça do semicondutor e empacotado em um único pacote do dispositivo. O subsistema da memória mais adicional inclui um árbitro que seja configurarado para receber operações externas do snoop de uma unidade da relação de barra-ônibus e de uma operação enfileirada do bloco da operação. O árbitro é configurarado para selecionar e iniciar uma de operações recebidas. A coerência é mantida pelo forwarding que o endereço associou com a operação selecionou pelo árbitro a cada um de um plurality de unidades da coerência. Nesta maneira, os endereços externos e internos do snoop arbitrated em um único ponto para produzir um único endereço do snoop do subsistema que seja propagado a cada unidade da coerência. Preferivelmente, o bloco da operação inclui um bloco da falta da carga apropriado para o tipo enfileirando-se operações da carga e um bloco da falta da loja apropriado para o tipo enfileirando-se operações da loja. Em uma incorporação, o subsistema inclui um interconnect local unidirectional apropriado para conectar o subsistema da memória e o jogo dos processadores. As unidades da coerência incluem preferivelmente as unidades do esconderijo L1 do jogo dos processadores, das filas do bloco da operação, e de cada estágio de um encanamento do subsistema da memória.