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

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

11.04.2013 Views

Superescalar ARQUITETURAS SUPERESCALARES Prof. Philippe Navaux Arquiteturas Avançadas Aula 1 Introdução • Necessidades de aumento de desempenho de Arquiteturas Pipelines: • Melhor execução das instruções; • Mais de uma instrução executada em paralelo; • Minimizando perdas de dependências. Arquiteturas Superescalares Arquiteturas Avançadas 3 1 Superescalar ÍndicePrincípios de Funcionamento • Principais Características • Unidades de uma Arquitetura Superescalar • Previsão de Desvios • Escalonamento • Arquitetura VLIW e Superpipeline • Exemplos de Máquinas Arquiteturas Avançadas 2 Superescalar Princípios de Funcionamento • A técnica Pipeline acelera a execução de instruções empregando a sobreposição na execução de etapas da instrução. • Nos primeiros tempos grandes diferenças entre os estágios de busca de instrução e de operando na memória comparados com outros. • Nos anos 70 o emprego de caches para instruções e depois para dados minimizou estas diferenças Arquiteturas Avançadas 4

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!