A processing engine including a processor pipeline 820 with a number of
pipeline stages, a number of resources and a pipeline protection
mechanism. The pipeline protection mechanism includes, for each protected
resource, interlock detection circuitry 1402 for anticipating and/or
detecting access conflicts for that resource between the pipeline stages.
An output of the interlock detection circuitry is connected to reservation
and filtering circuitry 1404 for selection of a shadow register. If a
shadow register is available, shadow management circuitry 1406 generates
corresponding control signals 1410, 1412 to a set of shadow registers
1400. By writing into a selected register, a pipeline conflict is
resolved. At a later cycle, a delayed write to a corresponding target
register restores the pipeline. Conflicts that cannot be resolved are
merged by merge circuitry 1440 to form stall control signals for
controlling the selective stalling of the pipeline to avoid the resource
access conflicts. The resources could, for example, be registers in
register file 832 or parts (fields) within registers. By providing
arbitration logic within the interlock detection circuitry for each
resource, an embodiment of the invention effectively enables a
distribution of the control logic needed to anticipate potential resource
access conflicts, and allows selectively stalling of the pipeline to avoid
the conflicts from actually occurring.
Um motor processando including um encanamento 820 do processador com um número de estágios do encanamento, um número de recursos e um mecanismo da proteção do encanamento. O mecanismo da proteção do encanamento inclui, para cada recurso protegido, circuitos 1402 da deteção do bloqueio para antecipar e/ou detectar conflitos do acesso para esse recurso entre os estágios do encanamento. Uma saída dos circuitos da deteção do bloqueio é conectada aos circuitos 1404 do reservation e filtrar para a seleção de um registo da sombra. Se um registo da sombra estiver disponível, a gerência que da sombra os circuitos 1406 geram sinais de controle correspondentes 1410, 1412 a um jogo da sombra regista 1400. Escrevendo em um registo selecionado, um conflito do encanamento é resolvido. Em um ciclo mais atrasado, atrasado escreve aos restores correspondentes de um registo do alvo o encanamento. Opõe que não pode ser resolvido é fundido pelos circuitos 1440 da fusão para dar forma a sinais de controle da tenda para controlar o stalling seletivo do encanamento para evitar os conflitos do acesso do recurso. Os recursos poderiam, para o exemplo, ser registos na lima 832 do registo ou nas partes (campos) dentro dos registos. Fornecendo a lógica do arbitration dentro dos circuitos da deteção do bloqueio para cada recurso, uma incorporação da invenção permite eficazmente uma distribuição da lógica de controle necessitada antecipar conflitos potenciais do acesso do recurso, e permite que seletivamente parar do encanamento evite os conflitos realmente de ocorrer.