O documento descreve o processador digital de sinal TMS320VC5509A da Texas Instruments. O processador possui um núcleo C55X com quatro unidades funcionais e pipeline de duas fases. Ele suporta três modos de endereçamento e possui 78 registradores mapeados em memória e periféricos integrados como timers e portas seriais.
1. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SULUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
C55XC55XTMTM
DSP GenerationDSP Generation
TMS320VC5509ATMS320VC5509A
CMP114 – Seminário sobre Processadores
Júlio César Silvello (silvello@inf.ufrgs.br)
Professor: Flávio Rech Wagner
Julho/2004
2. TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
1. Introdução/Aplicações para processadores DSP
2. TMS320VC5509A
A. Packages GHH e PGE
B. Características
C. Organização
3. Core C55XTM
DSP
A. Organização
B. Unidades Funcionais
C. Pipeline
D. Registradores
E. Modos de Endereçamento
F. Paralelismo
RoteiroRoteiro
3. Aplicações para Processadores DSP (Digital Signal Processing)
Áudio, Vídeo, DigitalTV (Multimídia)
Aviação
Biométrica
Comunicação de Dados
Processador provê um conjunto de funções úteis para
processamento digital de sinais implementadas em hardware que
teriam uma implementação em software custosa
1. Introdução1. Introdução
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
5. Geração C55X DSP
Objetivo é alto desempenho através de paralelismo, sempre com
enfoque principal no baixo consumo de potência
Gerenciamento de potência
monitora continuamento quais partes do chip estão em uso, desligando a
alimentação das que não estão sendo necessárias
permite que o usuário configure o gerenciamento de potência para aplicações
específicas
6 componentes podem ser gerenciados:
• CPU, Cache, Periféricos, DMA, Clock Generator, External Memory Interface
(EMIF)
B. Características
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
6. 2 MACs (Multiply-accumulate), 17x17 bits
1 ALU central de 40 bits, 1 ALU adicional de 16 bits
4 acumuladores de 40 bits
3 barramentos de 16 bits para leitura de dados
2 barramentos de 16 bits para escrita de dados
1 barramento de 32 bits para instruções
6 barramentos de 24 bits para endereços
78 registradores mapeados em memória (MMR)
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
B. Características
7. Instruções de comprimento variável (8, 16, 24, 32, 40 ou 48 bits)
Busca de instruções é feita de 32 em 32 bits sempre
Há uma Unidade de Instruções (IU) dotada de um buffer,
responsável pela busca e desempacotamento das instruções
Unidade de Programa (PU) decodifica instrução e direciona tarefas
para a Unidade de Endereçamento (AU) e Unidade de Dados (DU),
e gerencia o pipeline
Predição de desvio evita o esvaziamento do pipeline
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
B. Características
8. RAM on-chip (256KB)
DARAM (Dual Access RAM)
• 8 blocos de 8KB
• até 2 acessos simultâneos por ciclo em 1 bloco
SARAM (Single Access RAM)
• 24 blocos de 8KB
• Apenas 1 acesso por ciclo
ROM on-chip (64KB)
one-wait-state
1 bloco de 32KB e 2 blocos de 16KB
primeiro acesso a uma palavra (de 16 bits) requer 3 ciclos e os acessos
subsequentes requerem 2 ciclos por palavra
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
B. Características
9. Periféricos on-chip:
2 timers de 20 bits
1 watchdog timer
6 canais DMA
3 portas seriais
8 GPIO (pinos de E/S de propósitos gerais) – difere de um package para
outro
USB
Real Time Clock
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
B. Características
11. 4 unidades funcionais
Instruction Buffer Unit (I Unit)
Program Flow Unit (P Unit)
Address-Data Flow Unit (A Unit)
Data Computation Unit (D Unit)
3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
A. Organização
12. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
13. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
B. Unidades Funcionais
14. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Instruction Buffer Unit (I Unit)
Recebe 4 bytes de código de
programa a cada ciclo e armazena no
buffer
Decodifica de 1 até 6 bytes de código
previamente recebido (no mesmo
ciclo)
Direciona os dados para as unidades
apropriadas
O buffer é esvaziado quando ocorre
um desvio para uma nova localização
15. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Program Flow Unit (P Unit)
Gera todos endereços do
espaço de programa
Controla a seqüência de
instruções (laços, desvios e
execução condicional)
16. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Address-Data Flow Unit
(A Unit)
Contém toda a lógica e
registradores para gerar
endereços dos espaço de
dados
ALU 16 bits
• Funções aritméticas,
lógicas, Shift e operações
de saturação
17. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Data Computation Unit
(D Unit)
Shifter de 40 bits
ALU de 40 bits
• Funções aritméticas
• Lógicas
• Arredondamento
• Operações de saturação
2 MACs
• Multiplicação de 17 bits
• Adição/subtração de 40
bits (no mesmo ciclo)
18. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
2 segmentos desacoplados
Fetch Pipeline
• Busca pacotes de 32 bits e coloca-os na IBQ (Instruction Buffer Queue)
• Alimenta o segundo pipeline com pacotes de instrução de 48 bits
Execution Pipeline
• Decodificação de instruções
• Acesso a dados
• Computação
Proteção contra conflitos através de inserção de bolhas
Predição de desvio
C. Pipeline
19. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Fetch Pipeline
PF1: apresenta o endereço à memória
PF2: espera pela resposta da memória
F: busca um pacote de instruções e armazena na IBQ
PD: pré-decodificação (identificação de início e término da instrução,
identificação de instruções paralelas)
20. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Execution Pipeline
D: decodifica e despacha instrução simples ou par de instruções
AD: lê ou modifica registradores envolvidos na geração de endereços
AC1: para operações de leitura em memória, envia o endereço para o barramento
AC2: espera 1 ciclo para memória ler a requisição
R: lê dado da memória e MMR
X: lê ou modifica registradores que não são MMR
W: escreve dado em MMR ou no espaço de IO (periféricos)
W+: escreve dado em memória
21. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
78 MMR
4 acumuladores de 40 bits (D Unit)
2 registradores de transição de 16 bits, usados em instruções compare-and-
select-extremum
4 registradores temporários de uso geral, de 16 bits
Registradores para endereçamento do espaço de dados e espaço de E/S
Registradores de fluxo de programa (PC, RETA, CFCT)
Registradores para gerenciamento de interrupção
Registradores para controle de repetição em laços
Registradores de status
D. Registradores
22. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
3 modos de endereçamento
Absoluto (endereço na instrução)
Direto (deslocamento)
Indireto (ponteiro)
• Caso particular: endereçamento circular
Espaço de Programa
Espaço de Dados
Espaço de E/S
E. Modos de Endereçamento
23. 3. Core CPU C55X3. Core CPU C55XTMTM
DSPDSP
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP
Implícito em uma instrução
Explícito entre duas instruções (definido pelo usuário)
Máximo de 6 bytes
Sem conflitos de recurso
Ambos: 1 instrução com paralelismo implícito associada a outra
F. Paralelismo
24. Texas Instruments (February 2004). TMS320C55X DSP CPU Reference Guide. Literature Number: SPRU371F.
Available at http://www-s.ti.com/sc/techlit/spru371f
Texas Instruments (November 2002 - Revised December 2003). TMS320VC5509A Fixed-Point Digital Signal
Processor - Data Manual. Literature Number: SPRS205B. Available at http://www-s.ti.com/sc/techlit/sprs205b
Texas Instruments (October 2002). TMS320C55X DSP Mnemonic Instruction Set Reference Guide. Literature
Number: SPRU374G. Available at http://www-s.ti.com/sc/techlit/spru374g
Bibliografia ConsultadaBibliografia Consultada
TMS320VC5509A – Texas Instruments C55X DSPTMS320VC5509A – Texas Instruments C55X DSP