A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura...

66
A arquitetura Alpha Lu´ ıs Guilherme Fernandes Pereira – RA009206 Outline Introdu¸ ao Arquitetura Alpha: geral Arquitetura Alpha: Microprocessador 21264 Considera¸ oes finais A arquitetura Alpha Trabalho de MO401 Lu´ ıs Guilherme Fernandes Pereira – RA009206 10 de Novembro de 2005

Transcript of A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura...

Page 1: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

A arquitetura Alpha

Trabalho de MO401

Luıs Guilherme Fernandes Pereira – RA009206

10 de Novembro de 2005

Page 2: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Outline

◮ Resumo e Introducao;

Page 3: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Outline

◮ Resumo e Introducao;

◮ Arquitetura Alpha;

Page 4: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Outline

◮ Resumo e Introducao;

◮ Arquitetura Alpha;

◮ Microprocessador Alpha 21264;

Page 5: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Outline

◮ Resumo e Introducao;

◮ Arquitetura Alpha;

◮ Microprocessador Alpha 21264;

◮ Consideracoes Finais;

Page 6: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Resumo

Este trabalho pretende descrever diversascaracterısticas da arquietutra Alpha, bem comoformas de implementacao dessas caracterısticas nomicroprocessador Alpha-21264 atraves de umaprofundado estudo de caso.

Page 7: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Revisao

◮ ILP;

Page 8: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Revisao

◮ ILP;

◮ Exploracao Dinamica;

Page 9: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Revisao

◮ ILP;

◮ Exploracao Dinamica;

◮ Superescalaridade;

Page 10: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Revisao

◮ ILP;

◮ Exploracao Dinamica;

◮ Superescalaridade;

◮ Previsao de desvios;

Page 11: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Revisao

◮ ILP;

◮ Exploracao Dinamica;

◮ Superescalaridade;

◮ Previsao de desvios;

◮ Vantagens;

Page 12: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Historico e Caracterısticas comuns

◮ Criada em 1992 (sucessor do VAX);

Page 13: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Historico e Caracterısticas comuns

◮ Criada em 1992 (sucessor do VAX);

◮ Modelo RISC de desenvolvimento, influencias doMIPS;

Page 14: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Historico e Caracterısticas comuns

◮ Criada em 1992 (sucessor do VAX);

◮ Modelo RISC de desenvolvimento, influencias doMIPS;

◮ 64-bit, Superpipeline, Superescalar;

Page 15: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Historico e Caracterısticas comuns

◮ Criada em 1992 (sucessor do VAX);

◮ Modelo RISC de desenvolvimento, influencias doMIPS;

◮ 64-bit, Superpipeline, Superescalar;

◮ Projeto manual: alta frequencia.

Page 16: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conjunto de instrucoes

◮ Desvio (branch)

Page 17: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conjunto de instrucoes

◮ Desvio (branch)

◮ Ponto flutuante

Page 18: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conjunto de instrucoes

◮ Desvio (branch)

◮ Ponto flutuante

◮ Memoria

◮ Memoria / Funcao

◮ Memoria / Desvio

Page 19: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conjunto de instrucoes

◮ Desvio (branch)

◮ Ponto flutuante

◮ Memoria

◮ Memoria / Funcao

◮ Memoria / Desvio

◮ Operacao

Page 20: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conjunto de instrucoes

◮ Desvio (branch)

◮ Ponto flutuante

◮ Memoria

◮ Memoria / Funcao

◮ Memoria / Desvio

◮ Operacao

◮ Pre-fetch de cache

◮ MVI (instrucoes de motion-video)

Page 21: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Recursos, recursos, recursos...

O Alpha-21264 tem:

◮ 4 unidades de execucao inteira

◮ 2 unidades de proposito geral

Page 22: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Recursos, recursos, recursos...

O Alpha-21264 tem:

◮ 4 unidades de execucao inteira

◮ 2 unidades de proposito geral

◮ 2 ULAs de endereco

Page 23: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Recursos, recursos, recursos...

O Alpha-21264 tem:

◮ 4 unidades de execucao inteira

◮ 2 unidades de proposito geral

◮ 2 ULAs de endereco

◮ 32 registradores de inteiros e 31 registradores deponto flutuante.

◮ 48 registradores de reordenacao de inteiros e 40 deponto flutuante.

◮ 80 registradores de inteiros adicionais (copia dosoutros 80)

Page 24: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Paralelismo Superescalar Especulativo

◮ fetch de ate 4 instrucoes por ciclo;

Page 25: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Paralelismo Superescalar Especulativo

◮ fetch de ate 4 instrucoes por ciclo;

◮ execucao especulativa e dinamica;

Page 26: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Paralelismo Superescalar Especulativo

◮ fetch de ate 4 instrucoes por ciclo;

◮ execucao especulativa e dinamica;

◮ predicao de desvios;

Page 27: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Paralelismo Superescalar Especulativo

◮ fetch de ate 4 instrucoes por ciclo;

◮ execucao especulativa e dinamica;

◮ predicao de desvios;

◮ renomeacao de registradores.

Page 28: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Pipeline

1. Busca;2. Transferencia;3. Renomeacao;4. Delegacao;5. Leitura dos registradores (usa bypassing);6. Execucao;7. Memoria.

Figura: Pipeline do Alpha 21264

Page 29: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache e Fetch

◮ Cache de instrucoes e de dados;

Figura: Busca (fetch) de instrucoes

Page 30: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache e Fetch

◮ Cache de instrucoes e de dados;◮ Cache 2-associativa de 64 bytes;

Figura: Busca (fetch) de instrucoes

Page 31: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache e Fetch

◮ Cache de instrucoes e de dados;◮ Cache 2-associativa de 64 bytes;◮ Quatro instrucoes por ciclo;

Figura: Busca (fetch) de instrucoes

Page 32: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache e Fetch

◮ Cache de instrucoes e de dados;◮ Cache 2-associativa de 64 bytes;◮ Quatro instrucoes por ciclo;◮ Previsao de proxima linha;

Figura: Busca (fetch) de instrucoes

Page 33: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache

◮ 128K de Cache L1 (64K para dados e 64K parainstrucoes);

Page 34: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache

◮ 128K de Cache L1 (64K para dados e 64K parainstrucoes);

◮ Cache L2 controlado pelo processador;

Page 35: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache

◮ 128K de Cache L1 (64K para dados e 64K parainstrucoes);

◮ Cache L2 controlado pelo processador;

◮ Dois loads ou stores por ciclo sem conflito;

Page 36: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Cache

◮ 128K de Cache L1 (64K para dados e 64K parainstrucoes);

◮ Cache L2 controlado pelo processador;

◮ Dois loads ou stores por ciclo sem conflito;

Page 37: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Nome diferente, otimizacao transparente

Renomeacao de registradores:

◮ Elimina pseudo-dependencias de dados (semelhante aotimizacao de “variable renaming” de compiladores);

Page 38: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Nome diferente, otimizacao transparente

Renomeacao de registradores:

◮ Elimina pseudo-dependencias de dados (semelhante aotimizacao de “variable renaming” de compiladores);

◮ Cada instrucao um registrador;

Page 39: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Nome diferente, otimizacao transparente

Renomeacao de registradores:

◮ Elimina pseudo-dependencias de dados (semelhante aotimizacao de “variable renaming” de compiladores);

◮ Cada instrucao um registrador;

◮ Mapeamento entre registradores visıveis e internos;

Page 40: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Nome diferente, otimizacao transparente

Renomeacao de registradores:

◮ Elimina pseudo-dependencias de dados (semelhante aotimizacao de “variable renaming” de compiladores);

◮ Cada instrucao um registrador;

◮ Mapeamento entre registradores visıveis e internos;

◮ Mantem estado de mapeamento para possıvelrestauracao;

Page 41: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Nome diferente, otimizacao transparente

Renomeacao de registradores:

◮ Elimina pseudo-dependencias de dados (semelhante aotimizacao de “variable renaming” de compiladores);

◮ Cada instrucao um registrador;

◮ Mapeamento entre registradores visıveis e internos;

◮ Mantem estado de mapeamento para possıvelrestauracao;

Page 42: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Para onde vou?

Alocacao de intrucoes para unidades funcionais:

◮ Filas de inteiros e de ponto flutuante separadas;

Page 43: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Para onde vou?

Alocacao de intrucoes para unidades funcionais:

◮ Filas de inteiros e de ponto flutuante separadas;

◮ Algoritmo de scoreboard;

◮ Ate seis instrucoes despachadas por ciclo;

Page 44: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Para onde vou?

Alocacao de intrucoes para unidades funcionais:

◮ Filas de inteiros e de ponto flutuante separadas;

◮ Algoritmo de scoreboard;

◮ Ate seis instrucoes despachadas por ciclo;

◮ Dois clusters de inteiros e um de ponto flutuante;

Page 45: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Para onde vou?

Alocacao de intrucoes para unidades funcionais:

◮ Filas de inteiros e de ponto flutuante separadas;

◮ Algoritmo de scoreboard;

◮ Ate seis instrucoes despachadas por ciclo;

◮ Dois clusters de inteiros e um de ponto flutuante;

◮ Escolha do cluster atraves de um arbitro;

Page 46: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Para onde vou?

Alocacao de intrucoes para unidades funcionais:

◮ Filas de inteiros e de ponto flutuante separadas;

◮ Algoritmo de scoreboard;

◮ Ate seis instrucoes despachadas por ciclo;

◮ Dois clusters de inteiros e um de ponto flutuante;

◮ Escolha do cluster atraves de um arbitro;

◮ Especulacao em filas.

Page 47: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Mais sobre os clusters

Figura: Clusters

Cada cluster esta associado a um dos bancos de inteiros;

Page 48: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Execucao

◮ 2 unidades de inteiros para soma, logica, shift ebranch;

◮ Uma delas com multiplicacao, outra com multimıdia;

Page 49: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Execucao

◮ 2 unidades de inteiros para soma, logica, shift ebranch;

◮ Uma delas com multiplicacao, outra com multimıdia;

◮ As demais unidades de inteiros tratam soma, logica,loads e stores.

Page 50: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Execucao

◮ 2 unidades de inteiros para soma, logica, shift ebranch;

◮ Uma delas com multiplicacao, outra com multimıdia;

◮ As demais unidades de inteiros tratam soma, logica,loads e stores.

◮ 2 unidades de ponto flutuante:

Page 51: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Execucao

◮ 2 unidades de inteiros para soma, logica, shift ebranch;

◮ Uma delas com multiplicacao, outra com multimıdia;

◮ As demais unidades de inteiros tratam soma, logica,loads e stores.

◮ 2 unidades de ponto flutuante:

◮ Uma realiza adicao, divisao e radiciacao;

◮ Outra realiza multiplicacao;

Page 52: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Latencias

Classe da Instrucao Latencia

Operacoes simples de inteiros 1MVI / PLZ 3Multiplicacao de inteiros 7Carga de inteiros 3Carga de ponto flutuante 4Addicao de ponto flutuante 4Multiplicacao de ponto flutuante 4Divisao de ponto flutuante (precisao simples) 12Divisao de ponto flutuante (precisao dupla) 15Raiz quadrada de ponto flutuante (precisao simples) 15Raiz quadrada de ponto flutuante (precisao dupla) 30

Page 53: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Memoria

◮ Retirada de instrucoes em ordem – impressao deexecucao em ordem;

Page 54: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Memoria

◮ Retirada de instrucoes em ordem – impressao deexecucao em ordem;

◮ Buffer de reordenacao – excecoes cancelam assubsequentes;

Page 55: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Memoria

◮ Retirada de instrucoes em ordem – impressao deexecucao em ordem;

◮ Buffer de reordenacao – excecoes cancelam assubsequentes;

◮ Fila de loads e de stores;

Page 56: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Previsao de desvios

◮ Previsao local;

Page 57: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Previsao de desvios

◮ Previsao local;

◮ Previsao global;

Page 58: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Previsao de desvios

◮ Previsao local;

◮ Previsao global;

◮ Mecanismo de decisao;

Page 59: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Previsao de desvios

◮ Previsao local;

◮ Previsao global;

◮ Mecanismo de decisao;

Page 60: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Floorplan

Figura: Planta do Alpha 21264

Page 61: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conclusoes

◮ Projeto manual, boas implementacoes;

Page 62: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conclusoes

◮ Projeto manual, boas implementacoes;

◮ Clock alto para complexidade;

Page 63: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conclusoes

◮ Projeto manual, boas implementacoes;

◮ Clock alto para complexidade;

◮ Sistemas distribuıdos e barateamento do PC: queda;

Page 64: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conclusoes

◮ Projeto manual, boas implementacoes;

◮ Clock alto para complexidade;

◮ Sistemas distribuıdos e barateamento do PC: queda;

◮ Diversidade de conceitos de arquitetura utilizados;

Page 65: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Conclusoes

◮ Projeto manual, boas implementacoes;

◮ Clock alto para complexidade;

◮ Sistemas distribuıdos e barateamento do PC: queda;

◮ Diversidade de conceitos de arquitetura utilizados;

◮ Como garantir a lei de Moore?

Page 66: A arquitetura Alpha - ic.unicamp.brrodolfo/Cursos/mo401/2s2005/Trabalho/00… · A arquitetura Alpha Lu´ıs Guilherme Fernandes Pereira – RA009206 Outline Introduc¸a˜o Arquitetura

A arquitetura Alpha

Luıs GuilhermeFernandes Pereira –

RA009206

Outline

Introducao

Arquitetura Alpha: geral

Arquitetura Alpha:Microprocessador 21264

Consideracoes finais

Duvidas e questionamentos

?