Ainda não usei um chip DSP. Tudo o que sei é que sua arquitetura é tal que eles podem realizar cálculos com bastante rapidez, geralmente dentro de um ciclo de clock, possuem instruções de acumulação múltipla em seu conjunto de instruções e possuem DMAs para que a CPU não precise perder tempo precioso movendo dados por aí. Acho que há mais, mas esses são alguns pontos básicos.
Eu posso ver que o Microchip tem dsPIC, que é sua linha de chips DSP. Não podemos simplesmente usar um PIC18 ou PIC32 que também possui multiplicadores integrados para fazer o DSP também? Qual a diferença entre o dsPIC e o PIC normal?
Minha principal pergunta é: por que precisamos ter algo separado e distinto chamado chip DSP e não integrar capacidade de cálculo de unidade de ponto flutuante de alta precisão em todos os microcontroladores? Certamente, com as tecnologias de processo que temos agora, isso não deve ocupar muito espaço.
Além disso, como sei que preciso usar um chip DSP no meu projeto em vez de um microcontrolador normal>
Respostas:
Geralmente "DSP ..." significa 'potência mais relevante e / ou hardware mais relevante no momento em que o produto foi lançado .'
Os processadores generalizados tendem a alcançar os dispositivos especializados da olde.
DSPIC tem mais de 10 anos - Olin saberá.
[Os itens entre parênteses se referem a alguns exemplos de DSPIC - não exaustivos].
Nos produtos DSP, espere alguma mistura de:
espere coisas como deslocadores de barril,
oleodutos largos e rápidos, tempos de execução rápidos de ciclo
único, instruções amplas de ciclo único,
DMA [6 ou 8 canais, buffers de RAM de porta dupla] grandes faixas de endereçamento de memória linear [programa 4 Mword , 64 kB data] recursos especializados em aritmética especializada
Talvez:
periféricos especializados, como controle de motor,
hardware para diversos padrões de comunicação [CAN, IIC, UART, IIS, AC97, ...] mais profundos do que o padrão buffers de comunicação [4 bytes] mais rapidamente e / ou ADCs mais amplos do que o habitual [2 Msps, 10 ou 12 bits]
Você encontrará a maioria deles na família DSPIC - e cada vez mais nas famílias de processadores gp.
Em casos extremos, você obtém microcodificação do usuário e muito mais.
fonte
Algumas das vantagens de um dsPIC sobre PICs de arquitetura anterior, como as famílias PIC 16 e 18:
Isso também permite uma melhor arquitetura de software. A rotina de interrupção para um periférico específico pode estar no mesmo módulo que o outro código que manipula esse periférico, em vez de precisar ter uma rotina de interrupção global.
fonte
Geralmente, o principal recurso de distinção de um DSP quando comparado a uma CPU de uso geral é que o DSP pode executar determinadas operações de processamento de sinal com poucos, se houver, ciclos de CPU desperdiçados em instruções que não computam resultados.
Uma das operações mais básicas em muitos dos principais algoritmos DSP é a operação MAC (multiply-acumulate), que é a etapa fundamental usada em produtos matriciais e cruzados, filtros FIR e IIR e FFTs. Um DSP normalmente terá uma organização de registro e / ou memória e um caminho de dados que permite realizar pelo menos 64 operações MAC em pares de dados exclusivos em uma linha sem que nenhum relógio seja desperdiçado na sobrecarga do loop ou na movimentação de dados. Geralmente, as CPUs de uso geral não têm registros suficientes para fazer isso sem usar instruções adicionais para mover dados entre registros e memória.
fonte