Org7
1918 palavras
8 páginas
IntroduçIntrodução
Organização e Arquitetura de computadores
• Pipelining é uma técnica de implementação em que várias instruções são sobrepostas na execução
– Exemplo: lavagem de roupas
Melhorando o desempenho com pipelining
Prof. Dr. Luciano José Senger
Pipelining
Pipelining
• O trabalho é dividido em etapas ou estágios
• Técnica permite a melhorar a vazão (throughput) da arquitetura • Se todos os estágios levarem aproximadamente o mesmo tempo e houver trabalho suficiente para realizar, então o ganho de desempenho devido à técnica de pipeline será igual ao número de estágios do pipeline
• Instruções MIPS em cinco etapas
• Desempenho de ciclo único e desempenho com pipeline
–
–
–
–
–
Buscar instrução da memória
Ler registradores enquanto a instrução é decodificada
Executar a operação ou calcular um endereço
Obter acesso a um operando na memória de dados
Escrever o resultado em um registrador
– Ciclo de clock pior caso igual a 200ps
– Sem pipelining: 3 x
800 = 2400 ps
– Com pipelining: 3 x
200 = 600 ps
– Tempo entre instruções = (Tempo entre instruções sem pipeline)/(número de estágios do pipeline)
– T = 800/5 = 160 ps
• O Pipeline MIPS a ser explorado apresenta 5 estágios
Pipelining
Pipeline hazards
• Projeto do conjunto de instruções para pipelining
• Pipeline hazards são situações em que a próxima instrução não pode ser executada no ciclo de clock seguinte
– Todas as instruções MIPS tem o mesmo tamanho, assim pode-se buscar as instruções no primeiro estágio e decodificá-las no segundo estágio
– MIPS tem poucos formatos de instruções com campos de registrador de origem localizados no mesmo lugar; essa simetria permite que o segundo estágio pode começar a ler o banco de registradores ao mesmo tempo em que o hardware está determinando que tipo de instrução foi lida
– Operações em memória só aparecem em loads e stores
– Os operandos estão alinhados na memória: os dados solicitados podem ser transferidos entre o processador e a memória em um único