Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade...

25
1 1 Kalile Kalile Almeida Almeida Andrade Andrade Universidade Federal do Rio Universidade Federal do Rio Grande do Sul Grande do Sul PPGC PPGC Junho 2006 Junho 2006

Transcript of Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade...

Page 1: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

11

KalileKalile Almeida Almeida AndradeAndrade

Universidade Federal do Rio Universidade Federal do Rio Grande do SulGrande do Sul

PPGCPPGCJunho 2006Junho 2006

Page 2: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

22

SumárioSumário

IntroduçãoIntroduçãoCaracterísticasCaracterísticasEPICEPICFormato de InstruçõesFormato de InstruçõesPredicaçãoPredicaçãoEspeculaçãoEspeculaçãoPredição de desviosPredição de desviosRegistradoresRegistradoresPipelinePipelineCaminho de dadosCaminho de dados

ReferênciasReferências

Page 3: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

33

IntroduçãoIntrodução

Resultado de uma colaboração entre Intel e Resultado de uma colaboração entre Intel e HP que começou a cerca de 15 anos atrás. HP que começou a cerca de 15 anos atrás. Provém de uma linha anteriormente Provém de uma linha anteriormente denominada pela Intel como IAdenominada pela Intel como IA--64.64.–– AvançosAvanços de performance ede performance e escalabilidadeescalabilidade;;

Page 4: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

44

ItaniumItanium xx ItaniumItanium 22

Page 5: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

55

Características dos modelos Características dos modelos comerciais atuaiscomerciais atuais

Page 6: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

66

TecnologiasTecnologias

Page 7: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

77

Barreiras para aumentar a Barreiras para aumentar a performance ...performance ...

Memory latency;Branches;Procedure call / return overhead;Escalonamento Hardware-based;Número pequeno de registradores.

Page 8: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

88

CaracterísticasCaracterísticas

Baseados numa arquitetura de 64 Baseados numa arquitetura de 64 bits;bits;

Compatível com o instruções de 32 bits;Compatível com o instruções de 32 bits;

EPIC EPIC –– ExplicitlyExplicitly ParallelParallel InstructionInstruction ComputingComputing;;

Otimizações quanto a predicação, controle de Otimizações quanto a predicação, controle de fluxo, e predição de desvios.fluxo, e predição de desvios.

Page 9: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

99

EPIC EPIC -- ExplicitlyExplicitly ParallelParallelInstructionInstruction ComputingComputing

Aumento de performance na sinergia entre Aumento de performance na sinergia entre Hardware e Hardware e SoftwarSoftwar: : –– Arranjo das instruções em grupos que Arranjo das instruções em grupos que

explicitamente denotam paralelismo;explicitamente denotam paralelismo;–– O compilador cria o registro da execução;O compilador cria o registro da execução;–– Não há execução fora de ordem;Não há execução fora de ordem;

Instruções distribuídas entre unidades da Instruções distribuídas entre unidades da execução;execução;–– VLIW;VLIW;

Page 10: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1010

EPICEPIC

Execução de 2 pacotes por o ciclo (6 Execução de 2 pacotes por o ciclo (6 instruções):instruções):–– Número elevado de unidades da execução;Número elevado de unidades da execução;

Realce do de conceitos de VLIW com:Realce do de conceitos de VLIW com:– Predication;–– Carregamento especulativo dos dados; Carregamento especulativo dos dados; – Predição de desvios para minimizar o custo dos

branches;

Disponibilidade abundante de registradores.Disponibilidade abundante de registradores.

Page 11: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1111

Instruções Instruções

–– Pacotes de 128 bitsPacotes de 128 bits3 operações de 41 bits3 operações de 41 bits1 1 templatetemplate de 5 bitsde 5 bits

Page 12: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1212

InstruçõesInstruções

Unidades de ExecuçãoUnidades de Execução

66 Unidades de inteiroUnidades de inteiro11 Unidades multimídiaUnidades multimídia22 Unidades de ponto flutuanteUnidades de ponto flutuante33 Unidades de desvioUnidades de desvio22 Unidades de Unidades de loadload--storestore

Possibilidades de instruções:Possibilidades de instruções:MII ;MII ; MIsIMIsI ; MLX* ; ; MLX* ; MMI ; MMI ; MsMIMsMI ; MFI ; MMF; MFI ; MMFMIB ; MBB ; BBB ; MMB ; MFB ; MIB ; MBB ; BBB ; MMB ; MFB ; MIIsMIIs ;; MIsIsMIsIsMLXsMLXs* ;* ; MMIsMMIs ;; MsMIsMsMIs ;; MFIsMFIs ;; MMFsMMFs ;; MIBsMIBsMBBsMBBs ; ; BBBsBBBs ; ; MMBsMMBs ; ; MFBs

"s" indica parada.

MFBs

LegendaM - função relacionada à memóriaI - função inteiraF - função de ponto flutuanteB - função de desvioL - função que envolve um imediato longo

*L+X é um tipo estendido que é despachado para unidade de inteiros.

Page 13: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1313

Page 14: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1414

PredicaçãoPredicação

Execução condicionalExecução condicional dede uma instrução uma instrução baseada embaseada em umum predicadopredicado

Page 15: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1515

EspeculaçãoEspeculação

Reduz latência de memóriaReduz latência de memóriaTiposTipos dede especulaçãoespeculação: : –– Dados: é aDados: é a execuçãoexecução de um load antes dede um load antes de

uma operaçãouma operação storestore queque a precede e com a precede e com aa qual pode estar relacionadaqual pode estar relacionada;;

–– ControleControle:: execuçãoexecução dede uma operaçãouma operaçãoantes doantes do desvio quedesvio que a precede;a precede;

Page 16: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1616

Especulação de controleEspeculação de controle

Page 17: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1717

Especulação de dadosEspeculação de dados

Page 18: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1818

PrediçãoPredição

Todo load e store de memória no Itanium tem um campo de 2 bits para cache hint no qual ocompilador codifica sua predição da localidade espacial e/ou temporal da área de memória sendo acessada.

Integer Load

Page 19: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

1919

Predição de desviosPredição de desvios

Além da remoção de branches através do uso de predication, diversos mecanismos são providos para diminuir a taxa de predição incorreta de branches e o custo (penalidade) das predições incorretas que ainda ocorrerem.

Dinâmico Dinâmico –– dpntdpnt–– dptkdptkEstático Estático –– spntspnt–– sptksptk

Page 20: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2020

Predição de desviosPredição de desvios

Page 21: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2121

RegistradoresRegistradores

Page 22: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2222

PipelinePipeline

IPG: IPG: InstructionInstruction Pointer Pointer Generation Generation ROT: ROT: InstructionInstruction rotation rotation EXP: EXP: InstructionInstruction templatetemplate decode expand anddecode expand and disperse disperse REN REN RenameRenameREG REG RegisterRegister file file read read EXE ALU EXE ALU execution execution DET DET LastLast stagestage for for exceptionexception detection detection WRB WRB WriteWrite backback

Page 23: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2323

PipelinePipeline

Caminho de dadosCaminho de dados

Page 24: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2424

Quadros comparativos Quadros comparativos

Page 25: Kalile Almeida Andrade - INFflavio/ensino/cmp237/itanium.pdf1 Kalile Almeida . Andrade. Universidade Federal do Rio . Grande do Sul. PPGC. Junho 2006

2525

ReferênciasReferências

Intel ® Intel ® ItaniumItanium® 2 ® 2 ProcessorProcessor ReferenceReference Manual, 2004;Manual, 2004;Intel® Intel® ItaniumItanium® ® ArchitectureArchitecture Software Software DeveloperDeveloper’s Manual, ’s Manual, 2006;2006;Arquitetura Arquitetura ItaniumItanium, Universidade Estadual de Campinas , Universidade Estadual de Campinas –– IC, IC, httphttp://www.://www.icic.unicamp..unicamp.brbr/~/~rodolforodolfo/mc722/g01/mc722/g01--itaniumitanium--texto.texto.pdfpdf..ITANIUM 2 PROCESSOR, ITANIUM 2 PROCESSOR, http://courses.ece.uiuc.edu/ece512/Papers/itanium2.pdfhttp://courses.ece.uiuc.edu/ece512/Papers/itanium2.pdf, IEEE , IEEE MICRO, MARCHMICRO, MARCH––APRIL 2003;APRIL 2003;Inside the Intel Itanium 2 Processor,Inside the Intel Itanium 2 Processor,http://www.dig64.org/More_on_DIG64/Itanium2_white_paperhttp://www.dig64.org/More_on_DIG64/Itanium2_white_paper_public.pdf_public.pdf, a Hewlett Packard Technical White Paper, July , a Hewlett Packard Technical White Paper, July 2002;2002;Hewlett Packard Technical White Paper, “Inside the Intel Hewlett Packard Technical White Paper, “Inside the Intel Itanium2 Processor: anItanium2 Processor: an ItaniumItanium Processor Family member for Processor Family member for balanced performance over a wide range of applications”; July balanced performance over a wide range of applications”; July 20022002