Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.