davi de andrade lima castro ra: 107072. a plataforma c6000: ◦ ponto-fixo: c62x c64 / c64x+ ◦...

22
Davi de Andrade Lima Castro RA: 107072

Upload: internet

Post on 21-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Davi de Andrade Lima CastroRA: 107072

Page 2: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

A plataforma C6000:◦ Ponto-fixo:

C62x C64 / C64x+

◦ Ponto-flutuante: C67x / C67x+

◦ Arquitetura VLIW: VelociTI◦ Plataforma de Alto Desempenho da Texas

Instruments

Page 3: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

VLIW:◦ Instruções de 32-bits◦ 8 instruções por vez◦ Execução Serial ou Paralela de cada instrução do

pacote Oito Unidades Funcionais: dois multiplicadores

e seis unidades de lógica e aritmética (ALUs) Execução condicional de cada instrução 32 registradores de 32-bits Datapath de 32-bits / 40-bits Operações em ponto-flutuante – Simples e

Duplo

Page 4: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Arquitetura do tipo Harvard

Arquitetura do tipo load-store, somente certas instruções acessam a memória, enquanto todas as outras operam somente nos registradores

Suporte a dados de 8/16/32-bits

Endereçamento Circular

Page 5: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:
Page 6: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Dois datapaths◦ Dois Bancos de Registradores◦ Dois grupos de 4 Unidades

Funcionais Memória Registradores

◦ 2x 32-bits MEM => Registr.◦ 1x 32-bits Registr. => MEM

Registradores de Controle:◦ Program Counter◦ Modo de Endereçamento

Page 7: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Dois bancos, um para cada datapath, ambos com 16 registradores de 32-bits

8 portas de escrita ao todo => 8 escritas em um mesmo ciclo

Suporte a 8-bits/16-bits:◦ Instruções que operam em apenas 8/16-bits dos

registradores! Suporte a 40-bits/64-bits:

◦ Par de registradores Cruzamento de dados entre datapaths

Page 8: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

.L◦ ULA 32-bits Inteiro◦ Aritiméticas Ponto-Flutuante◦ Conversões Ponto Fixo Ponto Flutuante

.S◦ ULA 32-bits Inteiro◦ Branches◦ Acesso aos Registradores de Controle (.S2)

.M◦ Multiplicações. Ponto fixo e flutuante

.D◦ Cálculo de Endereços => responsáveis por load e store.

Page 9: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Pacote de Busca:◦ 8x Instruções de 32-bits = 256-bits◦ “Bit de Paralelismo”

Page 10: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Pacote de Execução:◦ De 1 a 8 em um mesmo Pacote de Busca

Page 11: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Busca◦ 4 Estágios

Decodificação◦ 2 Estágios

Execução◦ Depende da instrução

Page 12: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

PG: é gerado o endereço de programa PS: o endereço de programa é enviado à memória PW: a leitura na memória de programa ocorre PR: o Pacote de Busca é recebido

◦ O Pacote de Busca, como um todo, passa pelos 4 estágios.

Page 13: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

DP: despacho de instruções. É neste estágio que o Pacote de Busca é dividido em Pacotes de Execução

DC: decodifica informações sobre registradores e caminhos de dados◦ As instruções passam por estes estágios em conjunto

num mesmo Pacote de Execução!

Page 14: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

E1 a E10. Varia entre instruções.

Page 15: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:
Page 16: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:
Page 17: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:
Page 18: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Branch termina de executar no E1 Neste mesmo ciclo o endereço alvo já se

encontra no estágio PG, porém o pacote alvo tem ainda 5 estágios até iniciar o E1

Page 19: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Grande responsabilidade do programador/compilador:◦ Extração Estática de Paralelismo (VLIW)◦ Verificação de Dependência de Dados

A arquitetura não avalia nada dinamicamente!◦ Conhecimentos dos detalhes da arquitetura

LDDW .D1 *A0−−[4],B5:B4|| ADDSP .L1 A9,A10,A12|| SUBSP .L2X B12,A2,B12|| MPYSP .M1X A6,B13,A11|| MPYSP .M2 B5,B13,B11|| ABSSP .S1 A12,A15

Page 20: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

DSP programming: C versus Assembly◦ “Kernel” codes: menores e mais executados

Proposta Texas:◦ Compilador C, Otimizador Assembly, Assembler,

Linker, Depuração◦ C para a maior parte◦ Assembly nos trechos críticos

Page 21: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

Controlador DMA Host-Port Interface

◦ Porta de acesso a um processador host EMIF

◦ Interface de memória externa, com suporte a diferentes tecnologias, SDRAM, SRAM, e outras

Timers Gerenciador de Interrupções Lógica de Power-Down entre outros

Page 22: Davi de Andrade Lima Castro RA: 107072.  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:

VLIW Trade-off:◦ Hardware “simples” (x) Compilador Complexo

Ponto-Fixo (x) Ponto Flutuante:◦ C64x (x) C67x

Importância dos DSPs