ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ...
ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ... ARQUITETURAS SUPERESCALARES Índice Introdução Princípios ...
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 Índice • Princí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
- Page 2 and 3: Superescalar Princípios de Funcion
- Page 4: Superescalar Cache de Instr. Busca
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