Conforme mencionado, o paralelismo de máquina não é simplesmente uma questão de ter múltiplas instâncias de cada estágio do pipeline. O processador também deve ser capaz de identifi car o
paralelismo em nível de máquina e orquestrar a busca, a decodifi cação e a execução de instruções em paralelo. Johnson (1991k) usa o termo emissão da instrução (instruction issue) para se referir ao
processo de iniciação da execução da instrução em unidades funcionais do processador e o termo política de emissão de instruções para se referir ao protocolo usado para a emissão instruções.Em geral,
podemos dizer que a emissão da instrução ocorre quando a instrução é movida do estágio de decodifi cação para o primeiro estágio de execução do pipeline.
Basicamente, o processador está tentando olhar para frente do ponto atual de execução para localizar instruções que podem ser trazidas no pipeline e executadas. Três tipos de ordenação são
importantes nesta consideração:
A ordem em que as instruções atualizam o conteúdo dos registradores e as posições de memória.
A ordem em que as instruções são executadas.
A ordem em que as instruções são lidas.
Renomeação de registradores
Quando a emissão de instruções fora -de -ordem e/ou conclusão de instruções fora -de -ordem são permitidas, nós vimos que aumenta a possibilidade de dependências WAW e WAR. Estas
dependências diferem das dependências de dados RAW e dos confl itos de recursos que refl etem o fl uxo de dados através de um programa e sequência da execução
Quando as instruções são emitidas e completadas na sequência, é possível especifi car o conteúdo de cada registrador em cada ponto da execução.
14.2 CONTINUAÇÃO:
Quanto mais sofisticado o processador, menos ele é ligado por um relacionamento estrito entre essas ordens
EMISSÃO EM-ORDEM COM CONCLUSÃO EM -ORDEM A política mais simples de emissão de instruções é a ordem exata que seria alcançada pela execução sequencial (emissão em
-ordem) e pela escrita de resultados na mesma ordem (conclusão em -ordem).
Jouppi e Wall (1989l) fazem uma distinção importante entre dois conceitos relacionados: paralelismo em nível de instruções e paralelismo de máquina.
O paralelismo em nível de instruções existe quando as instruções de uma sequência são independentes e, assim, podem
ser executadas em paralelo por sobreposição. Como um exemplo do conceito de paralelismo.
O paralelismo em nível de instruções e o de máquina são fatores importantes para melhorar o desempenho. Um
programa pode não ter paralelismo em nível de instruções sufi ciente para obter a vantagem total do paralelismo de
máquina. O uso de uma arquitetura com conjunto de instruções de tamanho fi xo, como em RISC, melhora o
paralelismo em nível de instruções. Por outro lado, o paralelismo de máquina limitado irá limitar o desempenho,
não se importando com qual a natureza do programa.
O paralelismo de máquina é uma medida da habilidade do processador para obter vantagem do paralelismo em nível de instruções. Ele é determinado pelo número de instruções que podem
ser obtidas e executadas ao mesmo tempo (o número de pipelines paralelos) e pela velocidade e sofi sticação dos mecanismos que o processador usa para localizar instruções independentes