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

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

Multiplicação de valores inteiros Selecionar subconjunto de bits Ponto decimal Sinal.

Apresentações semelhantes


Apresentação em tema: "Multiplicação de valores inteiros Selecionar subconjunto de bits Ponto decimal Sinal."— Transcrição da apresentação:

1 Multiplicação de valores inteiros Selecionar subconjunto de bits Ponto decimal Sinal

2 Soma

3 Multipli- cação

4 Multiplicação de valores fracionais Selecionar subconjunto de bits Ponto decimalSinal

5 Arrendondamento a7a7 a6a6 a5a5 a4a4 a3a3 a2a2 a1a1 a0a0 b3b3 b2b2 b1b1 b0b0 A B Arredondamento para o mais próximo B = a 7 :a 4 + a 3 Arredondamento convergente if a 3 :a 0 <> 1000B = a 7 :a 4 + a 3 elseB = a 7 :a 4 + a 4

6 ULA para ponto fixo

7 ULA para ponto flutuante

8 Filtro FIR (resposta finita a impulso)

9 Arquitetura Harvard Memória A Barramento de Endereços A CPU Memória B Barramento de Dados A Barramento de Endereços B Barramento de Dados B

10 Modos de endereçamento register indirect Ler os dados apontados por endereço em registrador postincrementDepois de ter lido os dados, incremente o ponteiro do endereço postdecrementDepois de ter lido os dados, decremente o ponteiro do endereço register postincrement Depois de ter lido os dados, incremente o ponteiro do endereço de um número de posições indicado por um registrador bit reversed (borboleta FFT) Reorganize os bits de endereço para chegar No proóximo endereço An

11 Modos de endereçamento Endereçamento módulo

12 Unidade de geração de endereços

13 Sem Pipelining I2I1 I2 I1 I2I ciclo de relógio executar ler/escrever memória decodificar obter instrução I1

14 Pipelining ciclo de relógio executar ler/escrever memória decodificar obter instrução I1 I2 I3 I4 I5

15 Conflito de disponibilidade de recursos ciclo de relógio executar ler/escrever memória decodificar obter instrução I1 I2 I3 I2/3 I3 I4 I5

16 Resolução do Conflito usando Bloqueiamento ciclo de relógio executar ler/escrever memória decodificar obter instrução I1 I2 NOP I3 I2 I4 I3 I4 I5

17 Falha de sincronização I1 MOVR0,5678 I2 SUBR0,4444 I3 MOVX0,[R0]

18 Efeito de salto ciclo de relógio executar ler/escrever memória decodificar obter instrução BRA I2 - - NOP N1 N2 NOP

19 Solução: salto com retardo I1 BRA5678; salto para novo endereço I2 SUBR0,R2; estas três I3 MOVR3,R2; instruções são executadas I4 ADDR4,R5; antes de salto problema: salto condicional

20 Solução: salto com retardo ciclo de relógio executar ler/escrever memória decodificar obter instrução BRA I2 I3 I4 N1 N2 I3I4

21 Resumo Diferenças entre DSP e processador comum DSPs são feitas para aplicações embarcadas de processamento de sinais em tempo real DSPs não podem ser programado pelo usuário (não existe UGM, nem SO, nem cache, nem multi- processamento) DSPs usam alguma forma de "Arquitetura Harvard" DSPs dedicam uma parte significativa de superfície de silício para operações de multiplicação/acumulação

22 Resumo (continuação) Diferenças entre DSP e processador comum Programas de DSPs estão armazenadas frequentemente em ROM on-chip DSPs frequentemente possuem dois RAMs on-chip para dados O mecanismo de interrupção de DSPs é simples e rápido DSPs são frequentemente programados em Assembler

23 Resumo (continuação 2 ) Diferenças entre DSP e processador comum Mecanismo de E/S simples Espaço de endereçamento reduzido DSPs de ponto fixo podem usar saturação em vez de estouro Modos de endereçamento específicos (buffer circular, "borboleta") Suporte para laços e as vezes pilha on-chip benchmark para DSPs são diferentes: : –Filtro FIR/IIR, FFTs –Convolução, Produto de vetores


Carregar ppt "Multiplicação de valores inteiros Selecionar subconjunto de bits Ponto decimal Sinal."

Apresentações semelhantes


Anúncios Google