11.04.2013 Views

ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ...

ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ...

ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Superescalar<br />

<strong>ARQUITETURAS</strong><br />

<strong>SUPERESCALARES</strong><br />

Prof. Philippe Navaux<br />

Arquiteturas Avançadas<br />

Aula 1<br />

<strong>Introdução</strong><br />

• Necessidades de aumento de desempenho<br />

de Arquiteturas Pipelines:<br />

• Melhor execução das instruções;<br />

• Mais de uma instrução executada em paralelo;<br />

• Minimizando perdas de dependências.<br />

Arquiteturas Superescalares<br />

Arquiteturas Avançadas 3<br />

1<br />

Superescalar<br />

<strong>Índice</strong><br />

• <strong>Princípios</strong> de Funcionamento<br />

• Principais Características<br />

• Unidades de uma Arquitetura Superescalar<br />

• Previsão de Desvios<br />

• Escalonamento<br />

• Arquitetura VLIW e Superpipeline<br />

• Exemplos de Máquinas<br />

Arquiteturas Avançadas 2<br />

Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

• A técnica Pipeline acelera a execução de<br />

instruções empregando a sobreposição na<br />

execução de etapas da instrução.<br />

• Nos primeiros tempos grandes diferenças entre os<br />

estágios de busca de instrução e de operando na<br />

memória comparados com outros.<br />

• Nos anos 70 o emprego de caches para instruções<br />

e depois para dados minimizou estas diferenças<br />

Arquiteturas Avançadas 4


Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

Etapas na execução Pipeline<br />

Arquiteturas Avançadas 5<br />

Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

• Próxima barreira executar mais de uma instrução<br />

por ciclo<br />

• Necessário :<br />

• mais de uma instrução independente<br />

• hardware para atender a execução paralela<br />

• Surgem os Processadores Superescalares<br />

• Aparecem as arquiteturas com mais de um<br />

pipeline<br />

Arquiteturas Avançadas 7<br />

Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

• Nos anos 80 surgiram as instruções RISC -<br />

Reduced Instruction Set Computer em oposição as<br />

CISC - Complex Instruction Set Computer<br />

• RISC - visava obter um conjunto de instruções<br />

executáveis em 1 ciclo<br />

• Permitir pipelines obter melhores desempenhos,<br />

sem instruções com vários ciclos das CISC;<br />

Arquiteturas Avançadas 6<br />

Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

Etapas na execução Superescalar<br />

Arquiteturas Avançadas 8


Superescalar<br />

<strong>Princípios</strong> de Funcionamento<br />

• Processador Superescalar busca e decodifica<br />

várias instruções por ciclo<br />

• Necessário verificar a não existência de<br />

dependências entre estas<br />

• Compromisso com a semântica seqüencial<br />

• Em manter o ordenamento inicial do programa<br />

• No processador pipeline que executa instruções<br />

vetoriais, é a mesma instrução sobre todos<br />

elementos de vetor<br />

Arquiteturas Avançadas 9<br />

Superescalar<br />

Principais Características<br />

• Principais características:<br />

• técnicas para determinação de dependências entre os<br />

dados dos registradores<br />

• busca de múltiplas instruções por ciclo<br />

• antever/prever os desvios condicionais<br />

• despacho de múltiplas instruções<br />

• recuperação do ordenamento das instruções<br />

• comunicação de dados<br />

• recursos para execução paralela de múltiplas<br />

instruções<br />

Arquiteturas Avançadas 11<br />

Superescalar<br />

Principais Características<br />

• Num Superescalar:<br />

• diversas instruções serão executadas<br />

concorrentemente;<br />

• possuem códigos de operação diferentes<br />

• Estas arquiteturas surgiram em 1980<br />

• Integram todos microprocessadores<br />

Arquiteturas Avançadas 10<br />

Superescalar<br />

Unidades Funcionais<br />

• Para execução paralela diversas premissas são<br />

necessárias para obter instruções para execução<br />

• Numa Arquitetura Superescalar existem diversas<br />

unidades:<br />

• Busca de Instruções<br />

• Previsão de Desvios<br />

• Decodificação<br />

• Renomeação<br />

• Reordenamento<br />

• Despacho<br />

• Delegação<br />

• Execução<br />

• Graduação<br />

Arquiteturas Avançadas 12


Superescalar<br />

Cache de<br />

Instr.<br />

Busca de<br />

Instruções/<br />

Previsão<br />

Fila de<br />

Instruções<br />

Unidades Funcionais<br />

Decod.<br />

Arquitetura Superescalar<br />

Renomeação<br />

Despacho<br />

Reordenamento<br />

Delegação<br />

Execução<br />

Cache de<br />

dados<br />

Graduação<br />

Registradores<br />

de saída<br />

Arquiteturas Avançadas 13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!