Raquel da Silva Cabral e Vilar Fiuza da Camara Neto
Universidade Federal de Minas Gerais Departamento de Ci encia da Computac ao {raquelc,neto}@dcc.ufmg.br Abstract O Processamento Digital de Sinais e uma tecnologia que permite o armazenamento, processamento e reproduc ao de sinais em representac ao digital. Geralmente os sinais de interesse s ao representac oes de audio, voz e seq u encias de imagens (vdeos). Os Processadores Digitais de Sinais (DSPs) s ao processadores especializados que encapsulam a funcionalidade necess aria para realizar processamento di- gital de sinais. Em geral s ao desenhados para trabalhar em tempo real, consumir pouca energia e ocupar um espaco pequeno: assim se tornam adequados no uso de sistemas embarcados. Este trabalho apresenta um estudo sobre as carac- tersticas de projeto da maioria dos DSPs modernos, comparando-as com processadores de outras classes e res- saltando suas peculiaridades. Tamb em s ao abordados os cen arios de aplicac oes correntes dos DSPs, com enfase na arquitetura necess aria para cada tipo de aplicac ao. 1 Introduc ao Hoje em dia sistemas multimdia e comunicac ao deman- dam, mais e mais computac oes que n ao s ao satisfeiras por microporcessadores de prop osito geral, quando s ao conside- randos, custo e consumo de energia aceit aveis [6]. Digital Signal Processors (DSP) s ao microprocessado- res especializados em processamento digital de sinal usados para processar sinais de audio, vdeo, etc., quer em tempo real quer em off-line. Um dos usos do DSP que chama- ram a atenc ao da midia foi a proposta do cancelamanto de rudos: atrav es do sistema proposto um dispositivo capta- ria o rudo ambiente e geraria um anti-rudo, com as on- das sim etricas: a cada vale corresponderia um pico e vice- versa. Assim poderia se cancelar o rudo de um ambiente, por exemplo, dentro de um autom ovel. Em comparac ao com outros microprocessadores, os DSPs frequentemente tem vantagens em termos de velocidade, custo e eci encia de energia [5]. Este artigo est a organizado nas seguintes sec oes: a Sec ao 2 descreve as caractersticas especcas das arquite- turas dos DSPs em comparac ao com outras arquiteturas; a Sec ao 3 apresenta um breve hist orico dos DSPs; a Sec ao 4 discute as aplicac oes correntes de DSPs e apresenta alguns processadores atuais; e a Sec ao 5 lanca algumas notas con- clusivas sobre o trabalho. 2 Caractersticas dos DSPs Os processadores podem ser projetados para suprir as ne- cessidades em tr es grandes areas distintas [7]: 1. as aplicac oes para desktop exigem performance de programas dedicados a operac oes aritm eticas com n umeros inteiros ou reais. Nesse mercado, a demanda de desempenho e muito maior do que a preocupac ao com o tamanho do processador ou com o consumo de energia; 2. as aplicac oes para servidor necessitam de perfor- mance na execuc ao de muitas tarefas em paralelo e na transfer encia e tratamento de grandes massas de dados. Operac oes com aritm etica real n ao s ao t ao importantes, a n ao ser que o servidor seja especco para o proces- samento matem atico. O consumo de energia tamb em n ao e uma preocupac ao; 3. as aplicac oes embarcadas exigem uma abordagem oposta: a economia de fatores como mem oria, custo de produc ao, tamanho e energia e o fator mais impor- tante. Entretanto, e difcil projetar um processador otimizado para cobrir tarefas t ao distintas [9]. O desenvolvimento de processadores para aplicac oes embarcadas requer cuidado especial, pois cada funcionalidade planejada pelo projetista torna o circuito mais complexo, gerando maior necessidade de energia e aumento na area do n ucleo. Uma maneira de buscar esse equilbrio e construir processadores especiali- zados em uma tarefa especca e projetar uma arquitetura 1 (ISA, largura de enderecamento, clock rate, etc.) capaz de suprir as necessidades dessa tarefa. Nesse sentido, os DSPs s ao processadores projetados para umcen ario bemespecco: emgeral, o objetivo e tratar matematicamente um uxo contnuo e innito de dados de entrada, gerando um uxo tamb em contnuo de resultados em tempo real com o menor atraso possvel. Embora as necessidades para cada caso sejam bem dis- tintas (por exemplo, as decis oes de projeto tomadas no de- senvolvimento de um DSP para descompress ao de vdeo podem ser muito diferentes das tomadas no caso de um controlador de servo-motor), existem v arias caractersticas comuns aos DSPs e que os distinguem das demais classes de processadores. Essas caractersticas s ao discutidas nas subsec oes seguintes. 2.1 Instru coes aritmeticas Como os DSPs realizam operac oes aritm eticas intensi- vas sobre um uxo de dados contnuo, e natural que as operac oes mais comuns sejam implementadas de maneira bastante otimizada. A multiplicac ao em ponto utuante, por exemplo, e executada em um unico ciclo em boa parte dos DSPs modernos (o que n ao ocorre em processadores para desktops). Mais importante do que a multiplicac ao e a operac ao de Multiply and Accumulate, ou MAC: uma unica instruc ao multiplica dois valores e acumula o resultado em um registrador. A operac ao de MAC e a base para v arias operac oes mais complexas: produto interno, convoluc ao, Transformada R apida de Fourier, avaliac ao de polin omios, resposta nita ao impulso, etc. Tamb em e comum encontrar DSPs capazes de suster uma operac ao de MAC por ciclo de clock. De fato, a operac ao de MAC e t ao utilizada em DSPs que a medida de benchmark mais comum e a contagem de MMAC/s (milh oes de MACs por segundo). Embora nenhum benchmark represente elmente a performance de um processador, a medida de MMAC/s e bastante utilizada como primeiro par ametro de comparac ao entre DSPs; 2.2 Representa cao de n umeros reais Ao contr ario dos processadores paradesktops, boa parte dos DSPs adota o modelo de ponto xo para a representac ao de valores reais. Esta n ao e uma regra geral: h a DSPs que adotam ponto utuante ou mesmo os que permitem a operac ao em qualquer modo; por em, a implementac ao de aritm etica em ponto xo reduz a complexidade do processa- dor e conseq uentemente o consumo de energia; 2.3 Modelo de arquitetura de mem oria Os dois grandes modelos de arquitetura de mem oria s ao vistos na Figura 1. A arquitetura Von Neumann permite Memria Dados e instrues CPU bus de endereos bus de dados + instr. (a) CPU bus de endereos bus de endereos bus de instrues bus de dados Memria Instrues Memria Dados (b) Figura 1. Modelos tradicionais de arqui- teturas de mem oria: (a) Arquitetura Von Neumann (mem oria unicada de dados e c odigo); (b) Arquitetura Harvard (mem orias separadas para c odigo e dados). uma exibilidade maior no uso da mem oria, pois qualquer porc ao desta pode ser alocada tanto para dados quanto para c odigo. No entanto, essa arquitetura leva a um gargalo es- trutural: o canal (bus) de comunicac ao e o mesmo para a carga de instruc oes e para a transfer encia de dados entre a mem oria e o computador, o que o torna um recurso bastante demandado. Como os DSPs s ao voltados para o processa- mento contnuo de grandes volumes de dados, a adoc ao da arquitetura Von Neumann poderia levar a stalls causados por ocupac ao do canal. J a a arquitetura Harvard, que separa a mem oria de dados da de c odigo (e exige canais distintos para cada mem oria), evita esses problemas; 2.4 Tamanho das palavras Uma vantagem da adoc ao da arquitetura Harvard e a li- berdade de adotar palavras de instruc ao e de dados de tama- nhos diferentes. De fato, essa exibilidade e aproveitada em muitos DSPs atuais: o projetista pode estabelecer uma lar- gura adequada para o tipo de dados que ser ao tratados sem se preocupar com o impacto na densidade de c odigo. Uma conseq u encia interessante dessa liberdade e a adoc ao de palavras de tamanhos n ao convencionais ou seja, o tamanho da palavra n ao e uma pot encia de 2.
E co- mum encontrar DSPs que trabalham com dados de 12 ou 24 bits de largura; 2 2.5 Custo de energia J a foi dito que o consumo de energia e uma preocupac ao primordial no projeto de DSPs. Para reduzir a necessidade de energia, os DSPs contam com pelo menos um modo de baixo consumo: o STOP, sinalizado por um disposi- tivo externo, que faz com que o processador se desative quase completamente e passe a drenar uma energia quase ir- ris oria. Alguns modelos tamb em disponibilizam outros mo- dos, como o WAIT, onde o processador entra em dorm encia aguardando a chegada de novos dados. Tamb em e possvel desativar partes do processador que n ao estejam em uso: por exemplo, se o programa chavear para a aritm etica de ponto xo, o DSP pode optar por desativar os segmentos das ALUs que tratam com ponto utuante. H a uma abordagem paralela aos modos de baixo con- sumo: e o chamado underclock, onde o usu ario do DSP congura o gerador de pulsos de clock para uma freq u encia bem menor do que a m axima especicada. Dessa maneira, e possvel injetar uma tens ao menor de alimentac ao para o DSP, o que causa uma reduc ao sensvel na pot encia reque- rida. Essa abordagem e t ao comum que os pr oprios fabri- cantes apresentam algumas congurac oes de clock reduzido com a tens ao e o consumo respectivos. 2.6 Previsibilidade Como os DSPs s ao voltados para aplicac oes em tempo real, a ocorr encia de fatores inesperados (interrupc oes, stalls, cache misses, colis oes estruturais, etc.) deve ser bem planejada e especicada, pois esses fatores n ao podem com- prometer o uxo de processamento de dados. Assim, o programador e capaz de trabalhar com alguns par ametros crticos do sistema, como a taxa m axima de dados de en- trada ou o limite de tempo gasto para calcular os dados de sada.
E interessante observar que a maioria dos fabrican- tes especica o tempo de execuc ao de certas operac oes no pior caso. 2.7 Tratamento de estouros A grande maioria dos processadores para desktops im- plementa aritm etica por complemento de dois. Um artefato dessa implementac ao e que operac oes que estouram a ca- pacidade de representac ao geram resultados estranhos (por exemplo, a soma de dois valores positivos pode gerar um valor negativo). Um exemplo desse artefato pode ser visto na Figura 2(b): o sinal original (visto na Figura 2(a)) e mul- tiplicado por 2, gerando estouro em alguns intervalos. A aritm etica por complemento de 2 faz com que os valores estourados circulem dentro dos limites. No caso dos DSPs, e mais comum a implementac ao da aritm etica com saturac ao: ou seja, quando uma operac ao 100 50 0 50 100 (a) 100 50 0 50 100 (b) 100 50 0 50 100 (c) Figura 2. Exemplos de estrat egias de trata- mento de estouros aritm eticos, com valores limitados ao intervalo [128, 127]: (a) sinal ori- ginal; (b) sinal amplicado em 2 com estou- ros tratados por complemento de 2; (c) si- nal amplicado em 2com estouros tratados por saturac ao. gera um resultado impossvel de ser representado, a unidade aritm etica retorna o limite de representac ao mais pr oximo do resultado desejado. O efeito desse tratamento e visto na Figura 2(c), onde os valores estourados resultantes da amplicac ao do sinal original s ao simplesmente limitados ` a capacidade de representac ao num erica. 2.8 Acumuladores de alta precisao Em alguns procedimentos matem aticos, como a aplicac ao do MAC a um conjunto de dados, realiza-se uma s erie de operac oes aritm eticas cujos resultados s ao acumula- dos em um registrador. Naturalmente, cada operac ao pode gerar pequenos erros de arredondamento que, embora desprezveis em cada passo, podem se acumular e compro- meter a qualidade do resultado calculado. Para evitar esse problema, muitos DSPs adotam um acumulador de alta pre- cis ao, de modo que esses erros acumulados tendem a ser de magnitude muito inferior ` a capacidade de representac ao de 3 uma palavra de dados. Essa soluc ao tamb em pode evitar os problemas de saturac ao descritos anteriormente; 2.9 Tratamento de exce coes No caso dos DSPs, o projetista pode decidir que a manutenc ao do processamento em tempo real e, em certa medida, mais importante do que o tratamento de excec oes. As excec oes aritm eticas geradas pela ALU s ao um exem- plo interessante: muitos DSPs simplesmente ativam um ag que sinaliza a ocorr encia de uma excec ao; o aplicativo em execuc ao deve checar periodicamente esse ag (por exem- plo, ap os uma seq u encia de operac oes) para tratar a excec ao, que pode ter ocorrido h a muitos ciclos; 2.10 Formas de endere camento Em geral, os processadores apresentam v arios modos de enderecamento (imediato, direto, indexado, etc.) cuja ess encia e o c alculo do endereco desejado por meio de so- mas (e eventualmente deslocamentos ` a esquerda) dos valo- res fornecidos. As peculiaridades dos DSPs levaram os pro- jetistas a incorporar novas formas de enderecamento para lidar com situac oes especcas. Uma dessas peculiaridades deriva do fato de que os DSPs lidam com uxos contnuos de dados de entrada, o que leva naturalmente ` a adoc ao de buffers circulares. Por con- veni encia, o pr oprio hardware j a disp oe de implementac oes desses buffers: o programador congura registradores es- peccos que estabelecem os enderecos inicial e nal de um buffer circular. Uma unidade aritm etica especca a Ad- dress Generator Unit, ou AGU se encarrega de tratar os enderecos e as aritm eticas de ponteiro para que o acesso ao buffer seja sempre restringido aos seus limites. Por exem- plo: se for congurado um buffer circular de 8 palavras de comprimento, uma tentativa de acessar a 21 a palavra retorna a 5 a palavra (21 mod 8) do buffer, de maneira transparente ao programador. Outro caso particular de endereco refere-se a uma operac ao especca: a transformada r apida de Fourier (FFT). No c alculo da FFT os dados s ao acessados em uma ordem especca e bem determinada. Dessa maneira, al- guns DSPs disp oem de um modo de enderecamento pr oprio para enderecar elementos segundo essa ordem.
E interessante notar que todos os modos alternativos de
enderecamento podem ser conseguidos sem que sejam im- plementados em hardware, bastando utilizar a ALU para calcular o endereco desejado antes de ser usado. No entanto, o objetivo dos DSPs e otimizar ao m aximo essas operac oes, pois em certos cen arios elas s ao usadas constantemente. A presenca da AGU, que n ao utiliza a ALU principal, livra o processador e o programador do peso de realizar esses c alculos. Em muitos DSPs, esse enderecamento e transpa- rente no tempo e n ao causa stall no processamento. 2.11 La cos de custo zero Um dos problemas s erios enfrentados pelos projetistas de processadores com pipeline e a ocorr encia de quebras no uxo de instruc oes, causadas por desvios condicionais e in- condicionais. V arias t ecnicas sosticadas foram desenvol- vidas para diminuir o impacto desse problema, mas e ine- vit avel que essas soluc oes sejam de implementac ao muito cara em processadores de desktops dotados de execuc ao fora de ordem, arquiteturas superescalares, paralelismo de instruc oes, pipelines profundos, etc. Em algumas famlias de DSPs, o problema n ao e t ao grave porque os projetistas tentam manter a simplicidade do processador: o pipeline e curto e os potenciais coni- tos de recursos s ao resolvidos pela multiplicidade de data paths e ALUs, permitindo que operac oes sejam executadas em paralelo sem a ocorr encia de stalls. Para resolver parte dos problemas causados por desvios condicionais, uma soluc ao interessante foi criada: os lacos de custo zero. H a instruc oes especcas para congurar a execuc ao repetida de uma instruc ao ou de trecho de c odigo, desde que o n umero de iterac oes seja conhecido a priori (o que e verdade em alguns trechos de v arios algoritmos). O processador e dotado de registradores especcos para manter o controle do n umero de iterac oes realizadas, de modo que o uxo de execuc ao do laco e completamente conhecido: ap os buscar a ultima instruc ao do laco, o pro- cessador enleira novamente a primeira instruc ao (caso haja iterac oes pendentes) ou a instruc ao que segue o laco (caso todas as iterac oes tenham sido executadas). Como as comparac oes n ao s ao feitas na ALU principal, o impacto do gerenciamento do laco e nulo. Alguns DSPs suportam at e mesmo um certo n umero de lacos aninhados. 2.12 Acesso direto `a memoria (DMA) O mecanismo de acesso direto ` a mem oria (Direct Me- mory Access, ou DMA) permite que dispositivos exter- nos ao processador realizem leituras e escritas na mem oria RAM do DSP sem a intervenc ao do processador. As van- tagens desse mecanismo s ao grandes, pois o sistema execu- tado no DSP n ao precisa lidar diretamente com a recepc ao e o envio de dados para dispositivos externos: a carga de pro- cessamento e os recursos (registradores, mem oria, c odigo, etc.) necess arios para a comunicac ao caem para quase zero e os stalls causados por falha na comunicac ao n ao impedem que o processador execute suas tarefas. 4 3 Hist orico Em meados de 1980 os primeiros microprocessadores de prop osito especco foram introduzidos. Os chips foram projetados baseados na arquitetura Havard com barramen- tos separados para mem oria de dados e mem oria de progra- mas. As partes funcionais dos microprocessadores eram um multiplicador, somador e um acumulador, mas estes proces- sadores n ao eram capazes de realizar operac oes com valores reais. Estes processadores foram os TMS320C10 da Texas Instruments [1] e o ADSP-2101 da Analog Devices [4]. Uma segunda gerac ao de processadores DSP, que se es- tende at e hoje, surgiu por volta de 1990. Eles estenderam os microprocessadores originais com algumas funcionalida- des, tais como pipelining, uniades de l ogica e aritm etica (ALUs) especializadas em operac oes de multiplicac ao, a adoc ao de valores reais de ponto xo e de mais acumula- dores. A vantagem e que os novos processadores s ao com- patveis com os seus predecessores e tamb em aumentam a velocidade nas operac oes [10]. Exemplos de processadores dessa gerac ao foram: TMS320C20 da Texas Intruments, o DSP56002 da Motorola e a famlia DSP16xxx da Lucent Technologies. Ao longo do tempo, o uso cada vez mais disseminado de DSPs exigiu que as funcionalidades fossem incrementadas, dando ao processador a capacidade de executar tarefas mais rapidamente e com menos consumo de energia. A evoluc ao dos processadores se deu em v arias frentes: as tecnolo- gias de miniaturizac ao permitiram a construc ao de chips mais compactos e de l ogicas mais complexas, ao mesmo tempo que reduziram a tens ao de operac ao; a capacidade de representac ao num erica dos registradores aumentou, sendo possvel hoje encontrar DSPs que trabalham com valores de 64 bits e n umeros em ponto utuante; os data paths foram multiplicados para permitir que v arias operac oes de c alculo e transfer encia de dados sejam executados em pa- ralelo; nalmente, a demanda de processamento exigiu a implementac ao de mais de uma ALU no mesmo processa- dor e a criac ao de unidades aritm eticas especcas para o c alculo de enderecos de mem oria. Atualmente, algumas famlias especializadas de proces- sadores combinam em uma unica unidade funcionalidades de DSPs e de microcontroladores. Esses processadores s ao chamados de Controladores Digitais de Sinais (Digital Sig- nal Controllers ou DSCs) e ampliam muito a capacidade original dos DSPs, permitindo a realizac ao de tarefas com- plexas como compress ao e descompress ao de dados, crip- tograa e descriptograa, codicac ao e descodicac ao de uxos (streams) de dados digitais (MPEG-2/4, MP3, AAC, etc.) e v arias outras. 4 Aplicac oes e tecnologias atuais Esta sec ao apresenta as grandes areas de aplicac oes onde o emprego de DSPs e bastante disseminado. Cada subsec ao descreve uma grande area, suas peculiaridades tecnol ogicas e exemplos de aplicac oes pr aticas. Tamb em s ao apresenta- das algumas famlias de processadores atuais adequadas a cada area e um breve perl de suas arquiteturas. Este tra- balho n ao tem a intenc ao de apresentar um levantamento completo das tecnologias disponveis para cada ramo de aplicac ao, mas dar ao leitor uma id eia do hardware ade- quado a cada cen ario. Os precos apresentados referem-se ao valor da unidade em lotes de 10.000 (valores vigentes em abril [3] e outubro de 2006 [2]). 4.1 Controle digital O cen ario mais simples para o uso de DSPs e o chamado controle digital. Nesse cen ario, tipicamente o DSP recebe como entrada umsinal de controle ou de sensoriamento, rea- liza um processamento matem atico simples e gera um sinal de controle para um dispositivo externo. O controle digital encontra utilidade em aplicac oes diver- sas. Algumas s ao apresentadas a seguir: Sistemas industriais: controle de atuadores e manipu- ladores rob oticos; controle de linhas de produc ao; Sistemas automotivos: controle de freios ABS, piloto autom atico, ignic ao, injec ao eletr onica, transmiss ao autom atica e continuamente vari avel (CVT); evitac ao de colis ao (radar de curta dist ancia); comandos drive- by-wire (substituic ao de cabos por sistemas eletr onicos capazes de corrigir erros do motorista). Controle de motores: DSPs podem ser usados para controlar digitalmente v arios tipos de motores: mo- nof asicos, trif asicos, sem escova, motores de passo, etc.; Usos dom esticos e comerciais: DSPs de baixo custo s ao usados corriqueiramente em qualquer cen ario que necessite do tratamento ou an alise simples de sinais anal ogicos. S ao encontrados em leitores de barras e de cart oes magn eticos, em detectores de dispositivos de RFIDs, no controle de monitores sensveis ao toque, fontes ininterruptas de forca (UPS), m aquinas lavado- ras e secadoras de roupa e lavadoras e louca, fornos microondas e em muitas outras aplicac oes. Em comparac ao com outros cen arios de utilizac ao de DSPs, o controle digital de sinais exige baixa capacidade de processamento. Algumas aplicac oes s ao t ao simples que a unica necessidade de mem oria regrav avel e suprida pelos 5 pr oprios registradores: assim, os custos de produc ao da uni- dade s ao ainda mais baixos. Alguns DSPs em produc ao adequados a aplicac oes de controle digital de sinais s ao apresentados a seguir: Famlia Texas Instruments TMS320C24x: trabalha com aritm etica de ponto xo de 16 bits e um acumu- lador de 32 bits, clock de 40MHz e chega ao limite te orico de 40MMAC/s (1MAC/ciclo). Suportam lacos de custo zero de uma unica instruc ao, sem ani- nhamento. Uma unidade custa no m aximo US$ 8,00 e o pacote ocupa apenas 49mm 2 ; Famlia Texas Instruments TMS320C28x: em comparac ao com a famlia TMS320C24x, esta tra- balha com aritm etica de ponto xo de 32 bits com acumulador de mesma largura e chega a 150MHz, tamb em sustendo 1MAC/ciclo. Consome 625mW. O preco da unidade chega a US$ 14.00; Famlia Freescale 56F8xx: trabalha com aritm etica de 16 bits, com dois acumuladores independentes de 36 bits, clock de at e 60MHz e 60MMAC/s (1MAC/ciclo). Lacos de custo zero podem ser apli- cados a blocos de instruc oes, sem aninhamento. Uma unidade custa entre US$ 6,00 e US$ 17,00. 4.2 Decodica cao de audio A miniaturizac ao dos dispositivos port ateis permitiu o surgimento de equipamentos de reproduc ao digital de audio muito compactos e leves (poucas dezenas de gramas) e ca- pazes de reproduzir dezenas de horas sem a necessidade de energia externa. Em conseq u encia, sistemas de reproduc ao de audio digital tornaram-se atualmente muito populares, a tal ponto que os DSPs respons aveis por essa tarefa passaram a ser incorporados em outros dispositivos eletr onicos, como aparelhos celulares e PDAs. A decodicac ao de audio n ao exige muito poder de pro- cessamento, mas a quantidade de mem oria RAM deve ser suciente para comportar os pacotes codicados e a cor- respondente representac ao do sinal decodicado. Se o dis- positivo lidar com criptograa (em especial por quest oes de DRM, Digital Rights Management), o processador deve ser dimensionado para suportar tamb em a carga de tra- balho necess aria para realizar a descriptograa. Normal- mente tamb em s ao incorporados alguns controles a cargo do usu ario, como volume, balanco e equalizac ao. Os seguintes DSPs atuais s ao adequados para as tarefas de decodicac ao de audio: Famlia Texas Instruments TMS320C55x: trabalha com aritm etica de 16 bits de ponto xo, com duas ALUs (uma de 40 bits e outra de 16 bits), duas uni- dades independentes de MAC e quatro acumuladores de 40 bits. Os modelos mais r apidos da famlia rodam a 300MHz e chegam a 600MMAC/s (2MAC/ciclo). Consome 180mW. Os processadores dessa famlia s ao capazes de executar decodicac ao de audio nos forma- tos MP3/AAC em tempo real. O custo da unidade ca entre US$ 4,00 e US$ 18,00; Processador ARM AudioDE: esse processador foi desenhado especicamente para o processamento de audio e voz. Opera com aritm etica de 24 bits e possui um acumulador de 48 bits. Opera com clock m aximo de 75MHz e consome 7,5mW. Segundo o fabricante, a decodicac ao de uma seq u encia de audio est ereo de 48kHz codicada a 320kHz em formato MP3 requer apenas 8MHz de dedicac ao do processador; Processador Philips CoolFlux DSP: opera com aritm etica de 24 bits, possui 2 acumuladores de 56 bits e duas unidades independentes de MAC. Opera com clock de 185MHz e chega a 370MMAC/s (2MAC/ciclo). Consome 10,5mW. Segundo o fa- bricante, a decodicac ao de uma seq u encia de audio est ereo de 44,1kHz codicada a 128kHz em formato MP3 requer apenas 12MHz de dedicac ao do processa- dor. 4.3 Controle por voz Sistemas controlados por voz s ao os que respondem a instruc oes verbais dadas pelo usu ario. Nas aplicac oes construdas para o uso em processadores poderosos, o pro- cesso pode envolver a detecc ao e interpretac ao da seq u encia fon etica emitida, mas no contexto de DSPs, cujo poder de processamento e mem oria e limitado, a interpretac ao da instruc ao usualmente consiste em armazenar em um buffer uma representac ao digital do som falado pelo usu ario e em seguida compar a-lo com um banco de dados armazenado em ROM ou mem oria n ao-vol atil. O controle por voz foi bastante popularizado por sua adoc ao em v arios modelos de telefones celulares, permi- tindo que o usu ario dite o n umero a ser chamado. A na- tureza port atil desses dispositivos exige um hardware pe- queno e de baixo consumo de energia. Outros exemplos de aplicac oes de controle por voz incluemeletrodom esticos (la- vadora de roupas, microondas, aparelhos de som, controles remotos universais), comunicadores sem o para ambientes hospitalares e militares, secret arias eletr onicas, centrais te- lef onicas e brinquedos. Nesses casos, e comum que o sinal de voz seja tratado no domnio da freq u encia: portanto, e importante que o DSP seja capaz de executar a operac ao de FFT na velocidade exigida pela aplicac ao. Um dos processadores adequados a esse cen ario e des- crito a seguir: 6 Famlia Freescale DSP568xx: essa famlia de DSCs opera com aritm etica de 16 bits de ponto xo e pos- sui 4 acumuladores de 36 bits. Trabalha a 120MHz e sustenta 120MMAC/s (1MAC/ciclo). Permite lacos de custo zero aninhados e aplicados a blocos de instruc oes. A unidade custa entre US$ 3,00 e US$ 20,00. 4.4 Voz sobre pacotes Os sistemas de voz sobre pacotes s ao os especializados em codicar, transmitir, receber e decodicar audio de voz por meio de pacotes de dados digitais. Os sistemas mais conhecidos nesse nicho s ao os de voz sobre IP, baseados em pacotes sobre o protocolo IP (Internet Protocol), outras tecnologias tamb em foram desenvolvidas para o transporte sobre outras infra-estruturas, como no caso das redes de te- lefonia digital. O som voz possui algumas peculiaridades quando com- parado a audio em geral: al em da banda de freq u encia de interesse ser mais restrita (tipicamente at e 8kHz, contra 20MHz para m usica), o espectro de densidade de pot encia da voz possui certas caractersticas matem aticas que per- mitem compress ao mais eciente em formato digital. Por outro lado, tanto os procedimentos de envio (compress ao, codicac ao e eventual criptograa) quanto os corresponden- tes procedimentos de recepc ao devem ser executados com a menor lat encia possvel, pois o atraso de poucos d ecimos de segundo e o suciente para ser percebido. Outro pro- blema e a ocorr encia de eco, um efeito desagrad avel co- mum em transmiss oes telef onicas e mais grave quando a transfer encia e feita em meio digital [8]. Para isso, os DSPs devem contar com recursos de cancelamento de eco, que geralmente s ao disponibilizados pelos fabricantes como ro- tinas de software. Alguns processadores adequados a esse cen ario s ao vis- tos abaixo: Famlia Analog Devices ADSP-21xx: trabalha com aritm etica de ponto xo de 16 bits com acumulador de 40 bits, freq u encias de 75 a 160MHz. Os modelos mais avancados da famlia podem chegar a $79; Famlia Texas Instruments TMS320C55x (descrita na Sec ao 4.2). 4.5 Vdeo digital As aplicac oes de vdeo digital exigem alto poder de pro- cessamento, espaco em mem oria RAM e a capacidade de sustentar um grande uxo de dados, tanto de entrada quanto de sada. Isso e necess ario porque o stream de dados com- primidos pode chegar a alguns Mb/s, enquanto o uxo de da- dos descomprimidos com facilidade ultrapassa os 10MB/s. Nesse cen ario, e adequado o uso de DSPs com alto poder de paralelismo de instruc oes e de dados, DMAs de alta ve- locidade e ISA com extens oes pr oprias para tratamento de vdeo. Al em disso, deve-se levar em conta que em geral os uxos de vdeo s ao combinados com alguns canais de audio e podem vir criptografados por quest oes de DRM (Digital Rights Management). Alguns processadores adequados a esse cen ario s ao vis- tos abaixo: Processador Analog Devices ADSP-21535 Blackn: Esse processador combina unidades de processamento de sinais com um microcontrolador RISC e possui ar- quitetura especialmente voltada para o tratamento de vdeo, como instruc oes especcas para o tratamento de pixels e 4 ALUs de 8 bits dedicadas a vdeo. Opera a 300MHz e possui duas unidades aritm eticas para MAC de 16 bits associadas a dois acumuladores inde- pendentes de 40 bits, podendo chegar ao limite te orico de 600MMAC/s (2MAC/ciclo); Processador Texas Instruments TMS320DM6446: Combina um n ucleo DSP C64x+ (que trabalha a 594MHz) com um processador ARM9. Possui 8 uni- dades aritm eticas, sendo 6 de uso geral (32 ou 40 bits) e 2 especcas para multiplicac ao de 1616 bits, com os quais pode-se alcancar o limite de 4.752MMAC/s. Possui tamb em 64 registradores de 32 bits. Permite codicac ao e decodicac ao em tempo real dos seguin- tes padr oes de vdeo: MPEG-2, MPEG-4, VC1/WMV e H.264. 5 Conclus oes Este trabalho apresentou as principais caractersticas de processadores DSP, como tamb em as principais aplicac oes que necessitam deste tipo de microprocessador, desde uma simples aplicac ao de controle digital at e processamento de a udio e vdeo. Existe um grande esforco para cada vez mais se conseguir melhoras de performance, consumo de ener- gia, aumento de velocidade e principalmente em relac ao ao custo, o que sempre torna os DSP a melhor soluc ao para muitas aplicac oes. Os requisitos das pr oximas gerac oes de DSPs est ao cada vez mais aumentando com o uso de dispo- sitivos m oveis e o crescimento da necessidade de processa- mento de a udio, vdeo nesses dispositivos. Existe tamb em uma tend encia crescente de se desenvolver arquiteturas que facilitem o desenvolvimento de compiladores mais ecien- tes, permitindo que as aplicac oes DSP sejam escritas em lin- guagens de alto nvel. Como as aplicac oes para DSPs est ao em contnua mudanca espera-se uma evoluc ao contnua dos processdaores DSP. 7 Refer encias [1] Texas instruments [Online] Disponvel:http://www.ti.com/, Accesso: Outubro 2006. [2] Berkeley Design Technology, Inc. Pocket guide to pro- cessors for DSP. Disponvel em http://www.bdti.com/ pocket/pocket.htm, October 2006. [3] R. Cravotta. EDN Magazines 2006 digital signal processing directory. Disponvel em http://www.edn.com/index. asp?layout=DSP&industryid=44259, 2006. [4] A. Devices. Adsp-21xx processors [Online] Dis- ponvel:http://www.analog.com/processors/adsp/index.html, Accesso: Outubro 2006. [5] J. Eyre and J. Bier. The evolution of dsp processors. IEEE Signal Processing Magazine, 17(2):43 51, 2000. [6] A. Gatherer, T. Stetzler, M. McMahan, and E. Auslan- der. Dsp-based architectures for mobile communications: past, present and future. IEEE Communications Magazine, 38(1):8490, 2000. [7] J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 2002. [8] Y. Lu, R. Fowler, W. Tian, and L. Thompson. Enhancing echo cancellation via estimation of delay. IEEE Transac- tions on Signal Processing, 53(11):41594168, November 2005. [9] S. W. Smith. Digital Signal Processing: A Practical Guide for Engineers and Scientists. Newnes, 2002. [10] E. J. Tan and W. B. Heinzelman. Dsp architectures: Past, present and future. Computer Architecture News, 31(3):6 19, 2003. 8