Download - UsoPipeline.doc (32 kB)

Universidade Federal da Paraíba

Centro de Informática

Programa Pós-Graduação em Informática

 

Disciplina: Organização e Arquitetura de Computadores.

Resenha: Unidade 2.

Aluna: Priscilla Kelly M. Vieira.

 

 

Uso do pipeline

A CPU (Unidade de Processamento e Controle) é responsável pelo processamento e execução de programas, decodificando e controlando as operações lógicas e aritméticas. Cada instrução pode ser quebrada em instruções mais simples, dependendo do fabricante, do conjunto de instruções definidas por ele, e do tipo de arquitetura utilizada (RISC ou CISC).

No processo de interpretação e execução de uma instrução, a CPU pode analisar uma ou várias por vez, com o uso de pipeline, por exemplo. Com este último, é possível obter um aumento da velocidade com que programas são executados.

Em The AMD Opteron Processor for Multiprocessor Servers, por Chetana N. Keltcher, em IEEE 2003, é possível verificar os passos e desempenho do pipeline utilizado na arquitetura do Opteron da AMD. Em 7 (sete) ciclos é possível carregar e decodificar uma instrução. Operações com inteiros são realizadas em 12 estágios e operações em ponto flutuante com 17 estágios. 

No manual The microarchitecture of Intel, AMD and VIA CPUs An optimization guide for assembly programmers and compiler makers, por Agner Fog, é possível verificar um apanhado de arquiteturas e o número de estágios utilizados no pipeline. O ATOM da Intel, por exemplo, tem 16 (dezesseis) estágios: 3 (três) para a operação de carregamento, 5 (cinco) para decodificação da instrução e os demais para as atividades de escrita e leitura de dados e endereços. Instruções de leitura e escrita são realizadas em uma única operação. Operações mais complexas são quebradas em micro-instruções. Com esta arquitetura, segundo Agner Fog, é possível a manipulação de 2 (duas) instruções por ciclo de clock.

Apesar do comprovado desempenho de arquiteturas baseadas em pipeline, que aparentemente executa programas de forma mais rápida que outras técnicas, também foi observado alguns conflitos, como afirmado em Formal Verification of Pipeline Conflicts in RISC Processors, por Sofiène Tahar, publicado no EURO-DAC’94. Entre elas estão os conflitos: estrutural, quando não é possível realizar todas as combinações de instruções simultaneamente, e de dados, quando uma instrução depende de um dado anterior que ainda não está disponível.

Portanto, é perceptível a vantagem do pipeline em situações não conflitantes, quando, inclusive, não ocorrem instruções de desvios, pois estes conflitos quebram a vantagem do pipeline, o igualando a CPUs que não possuem esta técnica.

 

 


Crie um site gratuito Webnode