A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processador Intel Itanium

Apresentações semelhantes


Apresentação em tema: "Processador Intel Itanium"— Transcrição da apresentação:

1 Processador Intel Itanium

2 Visão Geral

3 Visão Geral

4 Caracteristicas Arquitetura EPIC
- Explicit Parallel Instruction-Set Computer Processador de 64 bits Predication Execução Especulativa de Dados e Instruções Prediction ILP (Instruction Level Parallelism) - Pacotes de Instruções (Bundles)

5 Registradores Muitos registradores Propósito geral: 128 de 64 bits
Ponto flutuante: 128 de 82 bits Registradores de predicado: 64 de 1 bit Registradores de branch: 8 de 64 bits RSE: Register Stack Engine Salvamento automático de determinados registradores Permite compartilhamento com outras funções

6 Diagrama de blocos do processador

7 Diagrama de blocos Processamento de instruções
Prefetch, fetch, cache L1, branch prediction, geração de endereçamento, buffer de instruções, despacho de instruções, register renaming Execução Controle Alimentador de exceções, pipeline, SER Subsistema de memória Cache L2, Cache L3, TLB, ALAT, PIC

8 Sistema de memória Endereça 2^128 bytes!

9 Sistema de memória Cache L1: possui 2 unidades (1 para dados e a outra para instruções) de 16K cada Cache L2: unificada (armazena dados e intruções) Cache L3: idem à L2

10 Cache L1 L1I e L1D 4-way set-associative fisicamente indexadas
para L1D: política de write through

11 Cache L2 Unificada 256 KB de espaço 8-way set-associative
Linhas de cache com 128 bits Implementa o Write back

12 Cache L3 Unificada Tamanho variável: 1,5 MB até 3,0MB
12-way set-associative Linhas de cache de 128 bits

13 Sistema de memória Advanced Load Address Table (ALAT)
Permite data speculation Translation Lookaside Buffers (TLB) Mapeamento entre endereços virtuais e físicos DTLB e ITLB DTLB L1 e DTBL L2 L1 gerencia Loads e acertos na Cache L1D L2 gerencia Stores e acertos nas Caches L2 e L3 Write Coalescing

14 Pipeline O pipeline do processador Itanium possui dez estágios:

15 Pipeline Nos 3 primeiros estágios ocorrem: Prefetch de instruções
Fetch de 32 bytes em 1 ciclo de clock

16 Pipeline Brach Prediction
O Itanium provê instruções para o fornecimento de branch hints Há também estruturas dentro do processador para esta função

17 Pipeline No quarto estágio do pipeline ocorre:
Despacho de até 6 instruções para 9 portas de emissão. Bits de controle tipo Stop eliminam checagem de dependências

18 Pipeline No quinto estágio do pipeline ocorre: Register Renaming
Transparente para o compilador Evita empilhar/desempilhar parâmetros

19 Pipeline No sexto e sétimo estágios do pipeline ocorrem:
Busca de operandos "Delayed Stall" para dependências de registradores, o qual ajuda a evitar o esvaziamento do pipeline. Operand Latch Manipulation (OLM) captura retorno de dados dos operandos em latches, a fim de simular leitura de registradores.

20 Pipeline No oitavo estágio do pipeline ocorre:
Resolução de predicados e cancelamento de execução de instruções cujo bit indicador de predicado tenha sido desligado. Todas as instruções cujo bit indicador de predicado ainda permaneça ligado, têm operandos lidos e executam na unidade funcional correspondente.

21 Pipeline Nos nono e décimo estágios do pipeline ocorrem:
Execução de branches em paralelo, sendo que a especulação e predição dos branches resultam em clusters de branches.

22 Pipeline A execução de três branches por clock é realizada de forma otimizada para clusters de branches, permitindo compares/branches no mesmo grupo de emissão.

23 Tipos de instruções 6 tipos diferentes
Cada um pode ser executado por 1 ou mais unidades de execução Cada formato possui diversas codificações diferentes OBS: instruções tem um formato fixo!!!

24 Tipos de instruções Lógica de execução
2 pacotes são lidos pelo processador por ciclo Cada pacote contém 3 instruções Instruções não utilizadas são gravadas em um buffer Pacote: cada instrução tem 41 bits 5 bits são utilizados como template, indicando a unidade de execução

25 Instrução Formato: [qp] opcode[.complementos] destino=fonte[,fonte]
Paralelismo: o Itanium exige que o código assembly esteja separado em unidades independentes Especulação Exceções e resultados gerados em código que não deveria ser executado são descartadas

26 Performance?... Performance ainda ruim... falta um compilador bom
problemas arquiteturais e de implementação Muito bom para muitas coisas ao mesmo tempo, mas ‘lento’ em cada uma delas.


Carregar ppt "Processador Intel Itanium"

Apresentações semelhantes


Anúncios Google