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

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

Multiplicação de valores inteiros

Apresentações semelhantes


Apresentação em tema: "Multiplicação de valores inteiros"— Transcrição da apresentação:

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

2 Soma

3 Multipli- cação

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

5 Arrendondamento A a7 a6 a5 a4 a3 a2 a1 a0
Arredondamento para o mais próximo B = a7:a4 + a3 B b3 b2 b1 b0 Arredondamento convergente if a3:a0 <> 1000 B = a7:a4 + a3 else B = a7:a4 + a4

6 ULA para ponto fixo

7 ULA para ponto flutuante

8 Filtro FIR (resposta finita a impulso)

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

10 Modos de endereçamento
Modos de endereçamento register indirect Ler os dados apontados por endereço em registrador postincrement Depois de ter lido os dados, incremente o ponteiro do endereço postdecrement Depois 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 ciclo de relógio 1 2 3 4 5 6 7 8 obter instrução I1 I2
decodificar I1 I2 ler/escrever memória I1 I2 executar I1 I2

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

15 Conflito de disponibilidade de recursos
ciclo de relógio 1 2 3 4 5 6 7 8 I1 obter instrução I2 I3 I4 I5 decodificar I1 I2 I3 I4 I5 ler/escrever memória I1 I2 I2/3 I4 I5 executar I1 I2 I3 I4 I5

16 Resolução do Conflito usando Bloqueiamento
ciclo de relógio 1 2 3 4 5 6 7 8 I1 obter instrução I2 I3 I4 I4 I5 decodificar I1 I2 I3 I3 I4 I5 ler/escrever memória I1 I2 I2 I3 I4 I5 executar I1 NOP I2 I3 I4

17 Falha de sincronização
I1 MOV R0,5678 I2 SUB R0,4444 I3 MOV X0,[R0]

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

19 Solução: salto com retardo
I1 BRA 5678 ;salto para novo endereço I2 SUB R0,R2 ;estas três I3 MOV R3,R2 ;instruções são executadas I4 ADD R4,R5 ;antes de salto problema: salto condicional

20 Solução: salto com retardo
ciclo de relógio 1 2 3 4 5 6 7 8 BRA obter instrução I2 I3 I4 N1 N2 decodificar BRA I2 I3 I4 N1 N2 ler/escrever memória BRA I2 I3 I4 N1 N2 executar BRA I2 I3 I4 N1

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ção2) 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"

Apresentações semelhantes


Anúncios Google