quarta-feira, 16 de junho de 2010

Processadores, microcontroladores, FPGA’s, ASIC’s, DSP’s e DSC’s: o que são?

É incrível como a informática e a eletrônica avançaram nos últimos anos. Cada vez mais temos capacidades maiores de processamento e integração, possibilitando as empresas a criarem a mais diversa gama de componentes eletrônicos. Talvez por este motivo, cada vez mais nossa vida depende destes “novos” componentes eletrônicos. No-breaks, máquinas de lavar, calculadoras, televisores, câmeras e vários outros dispositivos eletrônicos contém algum tipo de processamento realizado tanto por microcontroladores, DSP’s ou FPGA’s. Foi-se o tempo que poderíamos agrupar todos estes sob o simples nome de processador.

Como vamos discutir bastante sobre estes componentes e como muitos ainda não sabem diferenciar um de outro, achei interessante abordar esta questão antes de aprofundarmos mais em cada um destes itens. Farei então um rápido comentário sobre estes tipos de tecnologias, para que nossos leitores possam entender um pouco de cada uma delas. Posteriormente, aprofundaremos mais sobre cada uma delas.

Iniciamos então com os microprocessadores, que foram os primeiros hardwares dedicados ao processamento e execução de instruções. Estes foram criados no início dos anos 70 e eram usados basicamente em calculadoras. Mais tarde foram sendo usados em outras áreas, como terminais, impressoras, etc. Geralmente considerado como o primeiro processador desenvolvido, o Intel 4004, processador de 4 bits, teve sua primeira propaganda em novembro de 1971, e executava instruções com um clock de 740kHz. Hoje em dia temos clocks próximos de 4 GHz, processadores de 64 bits, e trabalhando com vários núcleos!! Os microprocessadores são desenvolvidos em geral para serem empregados em computadores pessoais, muitos deles são encontrados também nos nossos video-games.

Ao contrário destes, os microcontroladores são empregados principalmente em sistemas “embarcados”. Sistemas embarcados são sistemas onde o processamento é totalmente dedicado à aplicação, tendo uma série de comandos pré-definidos. É aqui que entram sistemas como o controle de microondas, sistemas de segurança, monitoramento de processos, etc.

O microcontrolador é na verdade uma espécie de computador de menor capacidade de processamento, dentro de um único circuito integrado. Além do núcleo de processamento, o microcontrolador possui memória RAM interna, memória FLASH de programa, alguns podem até possuir memória EEPROM interna. Também possui portas de entrada e saída que podem em alguns casos até fornecer corrente necessária para ligar um LED, sendo que algumas destas portas podem possuir conversores analógico-digital, para a leitura de valores analógicos. Os microcontroladores também costumam incluir temporizadores internos, além de vários dispositivos de comunicação serial, como a UART padrão, que conectada a um conversor RS-232 ou RS-485, podem possibilitar ao microcontrolador se comunicar com redes destes tipos. Os mais novos possuem também interface SPI, interface CAN, outros possuem ainda porta USB, alguns mais avançados possuem até interface ETHERNET, possibilitando ao desenvolvedor criar pequenos servidores. Há outros microcontroladores que possuem até decodificadores MP3 e controladoras IDE, perfeitos para o desenvolvimento de tocadores de MP3. Como eu já tinha mencionado, a capacidade de processamento destes microcontroladores é menor do que a de processadores, sendo que os microcontroladores mais novos operam com clocks geralmente na faixa de dezenas de Megaherz.


A grande tendência dos dias de hoje, no entanto, é o uso de FPGA’s (Field-programmable gate array). Estes circuitos integrados permitem ao desenvolvedor “programar” qual o tipo de hardware que eles possuem, usando uma linguagem HDL (hardware description language). A grande vantagem de tais circuitos integrados é que nos dias de hoje, vários microcontroladores já são implementados em linguagem HDL. Assim, se você pretente trabalhar com um microcontrolador PIC, basta fazer o download do código para implementá-lo e gravar em seu FPGA. Mas se você desejar mudar o microcontrolador, basta fazer o download de outro código, sem precisar adquirir o outro componente. As linguagens HDL mais comuns são o VHDL e o Verilog e os maiores fabricantes de FPGA’s são a Altera e a Xilinx.

Já o ASIC (Application-specific integrated circuit) se assemelha bastante ao FPGA. Só que o ASIC não é reprogramável. O ASIC é um circuito integrado feito sob encomenda para empresas do ramo, para implementar aplicações específicas. Eles possuem a vantagem de ser mais rápidos e consumir menos energia do que os FPGA’s.

Uma categoria de processadores que vem ganhando muito destaque ultimamente são os DSP’s (Digital signal processor). Estes processadores são desenvolvidos para ler e processar sinais analógicos, executando operações com estes. As aplicações mais comuns são filtros digitais. Para esta operação, os DSP’s são otimizados na execução de instruções de multiplicação-soma, que é um pré-requisito básico para a operação conhecida como convolução, que é a operação que é usada na implementação de tais filtros. Por isto, é comum que a capacidade destes processadores não seja avaliada em quantos MIPS (Millions of Instructions per Second) eles possuem, mas sim em quantos MMACS (Millions of Multiply-Accumulates per Second). Assim, em aplicações de tratamento de áudio ou vídeo, estes processadores são os preferidos. Atualmente a Texas Instruments é a empresa que mais se destaca na área, oferecendo DSP’s com até 6 núcleos de processamento.

Como os DSP’s ganham cada vez mais espaço, surge também o termo DSC (Digital Signal Controller), primeiramente introduzido pela Microchip para se referir à sua linha de produtos na área de processamento digital de sinais. Os DSC’s são na verdade híbridos entre microcontroladores e DSP’s. Da parte dos DSP’s, eles possuem a otimização de instruções de multiplicação e acúmulo, shift registers que podem rotacionar uma palavra quantas vezes necessário em apenas uma instrução de clock, e acumuladores grandes. Como os microcontroladores, estes possuem uma resposta rápida à interrupções, além de possuírem vários periféricos como controle de PWM, etc. Nem todo fabricante adota o termo DSC. Os três maiores vendedores de DSC’s são a Microchip, a Texas Instruments e a Freescale.

Bem, esta foi uma descrição básica de todas as hardwares de processamento de dados disponíveis hoje (pelo menos as mais utilizadas). Espero ter dado uma idéia básica sobre cada uma, para que todos possam entendê-las quando forem citadas durante outras discussões.

2 comentários:

  1. A programação é tranquilo o que da nos nervos (pelo menos nos meus =D) é tentar soldar os Fine Pitch!

    Um dia eu consigo!

    No mais ótima matéria!

    ResponderExcluir
  2. Hehehehe, realmente é muito ruim fazer estas soldas atualmente... Mas há formas de se fazer isto... Espero escrever algo sobre isto no futuro, hehehehe...

    ResponderExcluir

Você também poderá gostar de