Vous êtes sur la page 1sur 26

DSP56002 - Arquitetura Interna

16-bit Bus
1 6 3 15
32-bit Bus

24 bit Sync. Serial Host Program X Data Y Data


Timer / Serial Comm. Interface Memory Memory Memory
Event (SSI) (SCI) (HI) 512 x 24 RAM 256 x 24 RAM 256 x 24 RAM
Counter or I/O or I/O or I/O 64 x 24 ROM 256 x 24 ROM 256 x 24 ROM

24-bit P Address Bus External


Address Address
Address
56000 DSP Generation
X Address Bus
Y Address Bus Bus
Unit 16
Core Switch
Internal Global Data Bus External
Data
Data Program Data Bus
Data
X Data Bus
Bus Y Data Bus Bus
24
Switch Switch

Control
OnCETM Port Data ALU Bus
Interrupt Interrupt Interrupt
Control Control Control 24 x 24 + 56  56-bit MAC Control
Clock 10
PLL
Gen. Program Control Unit Two 56-bit Accumulators

7 4 3
Diagrama de blocos simplificado
DSP 56002
16 Y Address Bus External
Address 16-Bit
16 X Address Bus Address 16
Generation External
P Address Bus Bus
Unit 16 Address
Switch

Program X Y
Memory Memory Memory Bus X, Y, P
10
RAM RAM RAM Control Select Port A
512 x 24 512 x 24 512 x 24

Internal Y Data Bus 24 External


X Data Bus 24
Data Data 24
Program Data Bus 24 Data
Bus 24 Bus
Global Data Bus
Switch Switch

Data ALU
Principais Características

O core DSP56K de 24 bits:

• 33 MIPS e 198 MOPS a 66 MHz.


• Dois acumuladores de 56 bits, incluindo byte de extensão.
• MAC de 24 x 24 bits em um ciclo de máquina.
• Instruções altamente paralelas com modos de endereçamento
exclusivos para DSP
• Suporte de hardware para FFT e loops do tipo DO.
• Quatro barramentos de dados de 24 bits e três barramentos de
endereços de 16 bits
Principais Características

Memória:

• Arquitetura Harvard permitindo acesso simultâneo à memória de


programa e às duas memórias de dados.
• RAM de programa interna de 512 x 24 bits e ROM de bootstrap
de 64 x 24 bits.
• Duas RAMs de dados internas de 256 x 24 bits
• Duas ROMs internas de 256 x 24 bits contendo tabelas de senos e
lei-A / lei-µ.
• Expansão de memória externa com barramentos de endereço de 16
bits e de dados de 24 bits.
Principais Características

Circuitos Periféricos e de Suporte:

• Interface Serial Síncrona (SSI).


• Interface de Comunicação Serial Assíncrona (SCI).
• Temporizador / Contador de Eventos de 24 bits.
• Até 25 pinos de I/O de propósito geral.
• Um pino de interrupção não-mascarável e dois mascaráveis.
• Porta de emulação no chip (OnCE).
Barramento de Dados
O módulo de processamento central é organizado em torno dos registros
de três unidades de execução independentes: a Unidade de Controle de
Programa (PCU), a Unidade de Geração de Endereços (AGU), e a
Unidade Lógica Aritmética de dados (ALU). A movimentação de dados
entre as unidades de execução ocorrem através de quatro barramentos
bidirecionais de 24 bits:

• Barramento de dados X (XDB)

• Barramento de dados Y (YDB)

• Barramento de programa P (PDB)

• Barramento de dados global (GDB)


Barramento de Endereços

• Endereçamento das memórias de dados internas X e Y: 2 barramentos


de endereço unidirecionais de 16 bits XAB e YAB.
• Endereçamento da memória de programa: um barramento bidirecional
de endereço de programa, PAB.

Apenas um acesso de memória externa pode ser realizado em um ciclo


de instrução.
Unidade de Manipulação de Bit

Esta unidade realiza operações de manipulação de bit em posições de


memória e em registros de endereço, controle e dados sobre XDB, YDB
e GDB.

É localizada fisicamente no bloco comutador de barramentos, pois, o


mesmo pode acessar qualquer espaço de memória.
Gerador de Clock com PLL

O circuito PLL (Phase Locked Loop) permite que o DSP utilize,


praticamente, qualquer fonte externa de clock disponível para a geração
do clock interno em freqüência máxima, para manter o processamento
em alta velocidade.
Unidade Lógica e
Aritmética de Dados

É composta de:

• 4 registros de entrada de 24 bits.


• 2 acumuladores de 48 bits.
• 2 registros de 8 bits de extensão dos
acumuladores.
• um deslocador do acumulador.
• 2 deslocadores/limitadores de de saída.
• uma unidade multiplicadora/acumuladora
(MAC) paralela, de um ciclo, sem atraso de pipeline.
Unidade Lógica e
Aritmética de Dados

Registros de Entrada (X1, X0, Y1, Y0):

Operam como buffers de entrada entre os


barramentos de dados XDB e YDB, e a
unidade MAC, fornecendo os operandos de
dados para a ALU.
Os registros de entrada podem ser tratados
como quatro registros de 24 bits
independentes, ou como dois registros de 48
bits, concatenando-se X1:X0 e Y1:Y0.
Unidade Lógica e
Aritmética de Dados
Unidade Lógica e MAC:

A unidade lógica e MAC, realiza o


processamento aritmético principal
e todos os cálculos lógicos nos
operandos de dados do DSP. Para as
instruções aritméticas, a unidade
aceita até três operandos e fornece
na saída um resultado de 56 bits na
forma: (extensão : produto mais
significativo : produto menos
significativo, EXT:MSP:LSP).
Unidade Lógica e
Aritmética de Dados
Unidade Lógica e MAC:

Todos os resultados parciais de uma


operação MAC são mantidos com
uma precisão de 56 bits. Quando
uma instrução determina que o
resultado seja armazenado como um
operando de 24 bits, o LSP pode ser
simplesmente truncado ou,
opcionalmente, arredondado para o
MSP.
Unidade Lógica e
Aritmética de Dados

Acumuladores A e B:

Cada um dos acumuladores A e B consistem


em três registros concatenados (A2:A1:A0 e
B2:B1:B0). A extensão de sinal de 8 bits
(EXT) é armazenada em A2 ou B2, e é usada
quando uma precisão maior que 48 bits é
necessária; os 24 bits do MSP são
armazenados em A1 ou B1, e os 24 bits do
LSP em A0 ou B0.
Unidade Geradora de Endereçamento
(AGU)
Unidade Geradora de Endereçamento
(AGU)

A AGU possui duas unidades aritméticas de endereçamento idênticas,


permitindo gerar dois endereços de 16 bits a cada ciclo de instrução.
Cada unidade aritmética pode efetuar operações em três aritméticas
distintas: linear, modular e bit-reverso.
O endereçamento linear é de propósito geral; o endereçamento modular é
útil para criar buffers circulares, linhas de retardo e buffers de amostras
de até 32.768 palavras; e o endereçamento bit-reverso se aplica na
implementação de FFTs de 2EK pontos.
Unidade Geradora
de Endereçamento
(AGU)

• Modo de Endereçamento Linear

• Modo de Endereçamento Modular

• Modo de Endereçamento Bit-Reverso


Unidade de Controle de Programa (PCU)

A unidade de controle de programa é responsável pelas operações de


busca dos códigos das instruções e decodificação das mesmas, controle
das instruções DO-LOOP em hardware, e o processamento das
interrupções de programa.
A PCU consiste de três componentes: gerador de endereçamento de
programa, controlador de decodificação de programa e controlador de
interrupção.
Unidade de Controle de Programa (PCU)
Gerador de Endereçamento de Programa (PAG):

O PAG contém o PC, o SP, a SS, o OMR, o SR, o LR e o LA. Este bloco foi
estruturado de forma a dar suporte de hardware a execução de loops, que são
construções freqüentes nos algoritmos de DSP. A instrução DO carrega o
registro LC com o número de vezes que o loop deve ser executado, carrega o
registro LA com o endereço da última instrução, e ativa o flag de loop no SR.

Importantes também são as instruções de repetição de uma única instrução


(REP). Neste caso, o número de repetições é carregado no LC e a instrução a
ser repetida é lida apenas uma vez.

Ao contrário da instrução DO, a instrução REP não pode ser interrompida


durante a sua execução.
Unidade de Controle de Programa (PCU)
Pipeline de Instruções:

A PCU tem um esquema de pipeline de instruções de instruções de 3 níveis,


no qual ocorrem busca de instrução, decodificação e execução concorrentes. A
operação de pipeline é praticamente imperceptível ao usuário.
Unidade de Controle de Programa (PCU)
Pipeline de Instruções:
Interface de Comunicação Serial (SCI)

A SCI provê uma porta de comunicação serial full-duplex de três pinos


de função específica: dados de transmissão (TXD), dados de recepção
(RXD) e clock serial (SCLK). A interface suporta comunicação
assíncrona com os protocolos e taxas de bit padrões, permitindo a
implementação de links de comunicação RS232C, RS422, etc.
Interface Serial Síncrona (SSI)

A SSI é uma porta serial síncrona full-duplex sofisticada, que possibilita


a comunicação com uma variedade de dispositivos. As seguintes
características podem ser amplamente configuradas: número de bits por
palavra, protocolo de comunicação, clock, e sincronismo de
transmissão/recepção. A SSI pode operar em três modos: normal, em
demanda e de rede.
Temporizador e Contador de Eventos

O temporizador/contador de eventos é um periférico interno que pode


operar a partir de um sinal de clock interno ou externo, e tem a
capacidade de interromper o processador após um número de eventos
(clocks) predeterminado no programa, ou pode sinalizar um dispositivo
externo após a contagem interna de eventos.
Representação Numérica Binária
Fracionária (Formato Q)
Representação Numérica Binária
Fracionária (Formato Q)

O formato Q é uma representação numérica binária, em complemento 2,


que estipula uma posição de bit fixa para delimitar a fronteira entre a
parte inteira do número e a parte fracionária. A convenção utilizada é a
letra “Q” seguida do número de bits da parte fracionária da palavra. Por
exemplo, uma palavra de 32 bits em formato Q16 representa um número
com parte fracionária de 16 bits, parte inteira de 15 bits e 1 bit de sinal
(bit mais à esquerda).

Vous aimerez peut-être aussi