Por que os DSPs estão repentinamente em toda parte
Quando os núcleos da CPU ARM foram validados pela primeira vez por meio da adoção por alguns dos principais nomes da computação, incluindo a Apple, o uso explodiu especialmente para aplicativos móveis. Em retrospecto, a vantagem era óbvia - qualquer dispositivo poderia se tornar muito mais flexível e rico em recursos com um processador integrado. Ao mesmo tempo, esse recurso pode ser atualizado em software:uma única plataforma de hardware pode conduzir vários lançamentos de produtos por meio de atualizações apenas de software.
(Fonte:CEVA)
Esses mecanismos de computação são muito flexíveis e perfeitos para muitas das tarefas de gerenciamento e computação de uso geral em nossos smartphones e outros produtos móveis, mas essa generalidade tem uma desvantagem. Existem certas operações que, em um computador de uso geral, seriam executadas muito lentamente e consumiriam muita energia para serem práticas. O modem na parte de comunicação sem fio de seu smartphone foi um dos primeiros exemplos. Isso deve processar sinais de rádio em tempo real, lidando em cada caso não com as palavras e bits digitais familiares usados dentro da parte de computação do telefone, mas sim com uma versão digitalizada dos sinais analógicos continuamente variáveis usados na transmissão e recepção de rádio .
Processadores de sinais digitais (DSPs) são projetados para esse tipo de análise. Eles têm a representação de ponto flutuante embutida necessária para sinais digitalizados e têm forte suporte para as funções matemáticas necessárias no processamento de sinais, como funções de acumulação múltipla (MAC). Eles também são otimizados para processar dados de streaming, em vez do processamento mais orientado a lote comum na computação convencional, um recurso essencial neste caso para lidar com transmissão e recepção de rádio contínuas.
As necessidades de processamento de áudio compartilham muitos dos mesmos recursos vistos no processamento de sinal sem fio. Esta aplicação de DSPs tornou-se comum em aplicações de áudio de ponta, como equalização e compressão de alcance (por exemplo, compressão Dolby), e cada vez mais em funções como os fones de ouvido com cancelamento de ruído, que permitem que você durma sem ser perturbado durante o vôo.
Então a IA decolou, inicialmente apenas em datacenters, mas agora cada vez mais em aplicativos móveis e outros aplicativos de ponta. Nossos carros agora podem detectar pedestres e colisões em potencial e podem detectar marcações de faixa para orientar a direção em uma forma básica de direção autônoma. Podemos controlar nossas TVs ou alto-falantes inteligentes por meio de comandos de voz, para encontrar uma música ou um filme ou diminuir ou aumentar o volume. Podemos até controlar a GoPro em nosso capacete de segurança de bicicleta por meio de comandos de voz para iniciar ou parar de tirar fotos.
Todos esses recursos dependem do processamento de dados de streaming (voz) ou imagens (imagens estáticas da câmera) ou possivelmente ambos (vídeo), cada um em tempo real ou muito próximo do tempo real. Observe primeiro o processamento de áudio. Primeiro você precisa capturar um sinal de streaming de áudio de alta qualidade - através da formação de feixes de áudio de vários microfones, cancelamento de eco e supressão de ruído - todas as áreas onde já existem anos de experiência em implementações DSP.
Em seguida, você deve reconhecer os comandos usando uma rede neural treinada, a base de quase todas essas técnicas de IA. Esses algoritmos são muito diferentes daqueles que você executaria em uma CPU; e embora possam funcionar em uma CPU, seriam lentos e esgotariam a bateria rapidamente. Uma abordagem melhor é programar a rede neural em uma arquitetura que oferece um alto nível de paralelismo, permitindo que muitos cálculos sejam executados ao mesmo tempo, ao invés de serialmente como em uma CPU. Este é outro ponto forte de um DSP - paralelismo em computação.
Você pode se perguntar se, apesar de todas essas vantagens, os DSPs podem ser simplesmente muito complexos para serem adotados por qualquer pessoa que não seja os especialistas que não têm escolha a não ser usá-los. Certamente eles não são tão simples de usar quanto as CPUs, mas as diferenças não são tão grandes. Você escreve o código C para ambos, embora precise ser um pouco mais cuidadoso no código que escreve para um DSP para obter todas as vantagens do desempenho.
(Fonte:CEVA)
Quanto à adoção generalizada, cada rádio em seu telefone - Bluetooth, Wi-Fi e celular - usa um ou mais DSPs. Os fones de ouvido Bluetooth usam DSPs, para o Bluetooth e também para o áudio. Muitos alto-falantes inteligentes usam DSPs. Os controles remotos controlados por voz usam DSPs. Os sistemas de segurança doméstica usam DSPs para detectar movimentos anômalos nas câmeras e sons incomuns, como o latido de um cachorro ou vidro quebrando. Sensores inteligentes em seu carro usam DSPs para detectar perigos para frente e para trás e para detectar marcações de pista.
Por que não usar GPUs para todas essas funções? As GPUs são, de fato, muito conhecidas especialmente para IA e têm sido amplamente utilizadas em data centers para treinamento de rede neural. Mas eles são muito grandes, consomem muita energia e são muito caros para muitas aplicações de ponta. Há um grande esforço para mover mais funções de IA para esses dispositivos por razões de energia, segurança e privacidade. Mas essas soluções devem ser muito econômicas. Na maioria dos casos, há pouco apetite para aumentar significativamente o custo da solução total (carro, TV, segurança doméstica).
É por isso que os DSPs incorporados estão chegando a todos os lugares. Você pode adicionar controle de voz, detecção de objetos, controle de qualidade de áudio e muito mais ao seu produto com baixo custo e baixo consumo de energia e ainda com a flexibilidade da programação do software. Eles não substituirão as CPUs para gerenciamento e processamento geral, mas parece que estão assumindo tudo o que está relacionado com áudio e vídeo / imagem inteligentes.
Este blog é o primeiro de uma série e continua com as postagens “ Quando um DSP bate um acelerador de hardware ”E“ Decisões, decisões:acelerador de hardware ou DSP ? “.
Integrado
- Por que os pregos são os fixadores preferidos na construção
- Por que as inspeções de PM nem sempre são eficazes?
- Por que as empresas estão optando por comprar robôs industriais?
- Por que as placas de circuito geralmente são verdes?
- Por que estamos criando uma Série B
- Por que as inspeções de guindastes aéreos são importantes
- Por que os conjuntos de placas de circuito são impressos?
- Por que os trastes de cuproníquel são desejáveis?
- Por que os preços do aço e do alumínio estão subindo?
- Por que as startups não conseguem chegar ao mercado?