Vous êtes sur la page 1sur 3

Resumo Arquitetura

Desempenho de uma arquitetura


Um programa precisa de certo nmero de: instrues, ciclos, segundos. Essas unidades so
representadas por: tempo de ciclo (segundos por ciclo), velocidade de clock (ciclos por
segundo) e CPI (ciclos por instruo).
O desempenho determinado pelo tempo de execuo. Em uma mesma arquitetura o
nmero de instrues ser o mesmo.
Faa o caso comum mais rpido
Lei de Amdahl
Speedup indica quo mais rpido uma tarefa ser executada em uma mquina com melhorias
quando comparada com a mquina original


Frao do tempo de computao original que pode ser convertida para aproveitar a melhoria


Frmula que calcula o speedup do processo inteiro


Exemplo: Considere uma melhoria que roda 10 vezes mais rpido do que a mquina original,
mas s pode ser utilizada 40% do tempo. Qual o Speedup?
Fraction_en = 0,4 e Speedup_en = 10


Pipeline
Prefetch (busca antecipada). Durante a execuo, a memria est ociosa e pode ser usada
para procurar a prxima instruo. No chega a dobrar a velocidade de execuo (desvios
condicionais).
Adiciona-se mais estgio ao pipeline.
Busca de instruo (FI)
Decodifica instruo (DI)
Calcula operandos (CO)
Executa instrues (FO)
Escreve resultados (WO)
Custos
Overhead da movimentao de dados entre estgios da pipeline (armazenamento temporrio)
Lgica de controle mais complexa (dependncias entre acessos a memria e registradores,
controle de estgios).
Desempenho
t=atraso mximo de estgio, k=nmero mximo de estgios,
d=atraso mximo para propagao de sinais entre estgios,
n=nmero de instrues executadas, T= tempo para executar n instrues.








Resolvendo desvios
Mltiplos fluxos: usar dois pipelines.
Busca antecipada: Instruo-alvo buscado (prefetch), assim como as instrues seguintes,
esta fica nos registradores at que a instruo desvio seja executada.
Memria de lao de repetio (loop buffer): Verifica buffer antes de buscar na memria. Bom
para loops pequenos.
Previso de desvios: Prever que nunca ocorrer (never taken) -> sempre busca a prxima
instruo.
Prever que sempre ocorrer (always taken) -> sempre busca a instruo alvo.
Previso baseada no Opcode.
Previso baseada em chaves de desvio tomado e no tomado.
Previso baseada em histrico de desvios.
Atraso do desvio (delayed branch): Reorganizar as instrues de um programa de forma que o
salto no execute at ser necessrio.

Conflitos na Pipeline (Hazards)
Conflito Estrutural Duas instrues precisam utilizar a mesma estrutura.
Conflito de Controle Originado da necessidade de tomar uma deciso com base nos
resultados de uma instruo (Desvios Condicionais).
Conflito de Dados Quando se precisa de um dado que ainda est em seu processo de
obteno.
Tcnicas para tratamento de conflitos
Forward (data hazard): Utilizar a tcnica de adiantamento, ou seja, utilizar o dado
assim que este estiver disponvel, por exemplo, logo aps este sair do AC, sem esperar que
este seja gravado na memria primeiramente.
Forward com pipeline stall: Tcnica descrita acima com a incluso de uma instruo
noOp.


CISC, RISC
Caractersticas da execuo
As operaes mais comuns, e que, portanto devem ser levadas em conta na melhora do
desempenho so: atribuies, sentenas condicionais, chamadas de funes. Alm disso os
operando mais comuns so as variveis locais escalares.
As implicaes disso so um melhor suporte devido otimizao das caractersticas mais
usadas ou que levam mais tempo. Grande nmero de registradores, projeto cuidado dos
pipelines e conjunto de instrues simplificado.
Com mais registradores, temos mais registradores para variveis locais, o que reduz o acesso
memria.
Janelas de registrador
Trs reas no conjunto de registradores: parmetros, locais e temporrios. Os temporrios
guardam os parmetros para o prximo mtodo (como se fosse uma pipeline). Isso reduz o
acesso memria.
Colorao de Grafos
possvel controlar o uso dos registradores atravs da lgica de colorao de grafos. Ns so
registradores simblicos. Ns que no podem ser coloridos so colocados na memria.
CISC
As intenes eram facilitar a escri ta do compilador, melhorar a eficincia da execuo e dar
suporte a linguagens de alto nvel. Isso seria feito atravs de um grande conjunto de
instrues, mais modos de endereamento. A ideia de que os programas seriam menores
eram ilusrias pois as instrues eram complexas.
RISC
Grande nmero de registradores de propsito geral. Uso de compiladores para otimizar o uso
dos registradores. Conjunto de instrues limitados e simples. Otimizao do pipeline de
instrues.
Maior parte das instrues de registrador para registrador.

Vous aimerez peut-être aussi