In a multiprocessor data processing system including: a main memory; at
least first and second shared caches; a system bus coupling the main
memory and the first and second shared caches; at least four processors
having respective private caches with the first and second private caches
being coupled to the first shared cache and to one another via a first
internal bus, and the third and fourth private caches being coupled to the
second shared cache and to one another via a second internal bus; method
and apparatus for preventing hogging of ownership of a gateword stored in
the main memory and which governs access to common code/data shared by
processes running in at least three of the processors. Each processor
includes a gate control flag. A gateword CLOSE command, establishes
ownership of the gateword in one processor and prevents other processors
from accessing the code/data guarded until the one processor has completed
its use. A gateword OPEN command then broadcasts a gateword interrupt to
set the flag in each processor, delays long enough to ensure that the
flags have all been set, writes an OPEN value into the gateword and
flushes the gateword to main memory. A gateword access command executed by
a requesting processor checks its gate control flag, and if set, starts a
fixed time delay after which normal execution continues.
Em um sistema de processo de dados do multiprocessor including: uma memória principal; esconderijos ao menos primeiramente e em segundo compartilhados; uma barra-ônibus do sistema que acopla a memória principal e os primeiros e segundos esconderijos compartilhados; ao menos quatro processadores que têm esconderijos confidenciais respectivos com os primeiros e segundos esconderijos confidenciais que estão sendo acoplados ao primeiro esconderijo compartilhado e a um outro através de uma primeira barra-ônibus interna, e os terceiros e quartos esconderijos confidenciais que estão sendo acoplados ao segundo esconderijo compartilhado e a um outro através de uma segunda barra-ônibus interna; método e instrumento para impedir hogging da posse de um gateword armazenado na memória principal e que governa o acesso a code/data comum compartilhado pelos processos que funcionam ao menos em três dos processadores. Cada processador inclui uma bandeira do controle da porta. Um comando do FIM do gateword, estabelece a posse do gateword em um processador e impede que outros processadores alcancem o code/data guardado até que o um processador termine seu uso. Um comando ABERTO do gateword transmite então uma interrupção do gateword para ajustar a bandeira em cada processador, atrasa o suficiente para assegurar-se de que as bandeiras tudo estejam ajustadas, escreve um valor ABERTO no gateword e nivela o gateword à memória principal. Um comando do acesso do gateword executado por um processador de pedido verifica sua bandeira do controle da porta, e se ajustado, começos que uma estadia fixa atrasa depois do qual a execução normal continua.