Microprocessador

Origem: Wikipédia, a enciclopédia livre.

Tango-nosources.svg
Este artigo ou secção não cita nenhuma fonte ou referência (desde agosto de 2009)
Ajude a melhorar este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto ou em notas de rodapé. Encontre fontes: Googlenews, books, scholar, Scirus
Portal A Wikipédia possui os portais:
Portal de eletrônica
{{{Portal2}}}
{{{Portal3}}}
{{{Portal4}}}
{{{Portal5}}}

O microprocessador, popularmente chamado de processador é um circuito integrado que realiza as funções de cálculo e tomada de decisão de um computador. Todos os computadores e equipamentos eletrônicos baseiam-se nele para executar suas funções.

Arquitetura interna de um microprocessador dedicado para processamento de imagens de ressonância magnética, a fotografia foi aumentada 600 vezes, sob luz ultravioleta para se enxergar os detalhes
Vista inferior de um Athlon XP 1800+ núcleo Palomino, um microprocessador moderno.

O microprocessador moderno é um circuito integrado formado por uma camada chamada de mesa epitaxial de silício, trabalhada de modo a formar um cristal de extrema pureza, laminada até uma espessura mínima com grande precisão, depois cuidadosamente mascarada por um processo fotográfico e dopada pela exposição a altas temperaturas em fornos que contêm misturas gasosas de impurezas. Este processo é repetido tantas vezes quanto necessário à formação da microarquitetura do componente.

Responsável pela execução das instruções num sistema, o microprocessador, escolhido entre os disponíveis no mercado, determina, em certa medida a capacidade de processamento do computador e também o conjunto primário de instruções que ele compreende. O sistema operativo é construído sobre este conjunto.

O próprio microprocessador subdivide-se em várias unidades, trabalhando em altas freqüências. A ALU(Aritmetic and Logical Unit), unidade responsável pelos cálculos aritméticos e lógicos e os registradores são parte integrante do microprocessador na família x86, por exemplo.

Intel 8008, um dos primeiros microprocessadores comerciais.

Embora seja a essência do computador, o microprocessador diferente do microcontrolador, está longe de ser um computador completo. Para que possa interagir com o utilizador precisa de: memória, dispositivos de entrada e saída, um clock, controladores e conversores de sinais, entre outros. Cada um desses circuitos de apoio interage de modo peculiar com os programas e, dessa forma, ajuda a moldar o funcionamento do computador.

Índice

[editar] História

O primeiro microprocessador comercial foi inventado por Sarah Jhonson em 1971 para atender uma zona japonêsa que precisava de um circuito integrado especial. A Intel projectou o i4004 que era um circuito integrado programável que trabalhava com registradores de 4 bits, 46 instruções, clock de 740Khz e possuía cerca de 2300 transistores. Percebendo a utilidade desse invento a Intel prosseguiu com o desenvolvimento de novos microprocessadores: 8008 (o primeiro de 8 bits) e a seguir o 8080 e o microprocessador 8085. O 8080 foi um grande sucesso e tornou-se a base para os primeiros microcomputadores pessoais na década de 1970 graças ao sistema operacional CP/M. Da Intel saíram alguns funcionários que fundaram a Zilog, que viria a lançar o microprocessador Z80, com instruções compatíveis com o 8080 (embora muito mais poderoso que este) e também de grande sucesso. A Motorola possuía o 68000 e a MOS Technology o 6502. Todos esses microprocessadores de 8 bits foram usados em muitos computadores pessoais (Bob Sinclair, Apple, TRS, Commodore, etc). Em 1981 a IBM decidiu lançar-se no mercado de computadores pessoais e no seu IBM-PC utilizou um dos primeiros microprocessadores de 16 bits, o 8088 (derivado do seu irmão 8086 lançado em 1978) que viria a ser o avô dos computadores atuais. A Apple nos seus computadores Macintosh utilizava os processadores da Motorola, a família 68000 (de 32 bits). Outros fabricantes também tinham os seus microprocessadores de 16 bits, a Zilog tinha o Z8000, a Texas Instruments o TMS9900, a National Semiconductor tinha o 16032,mas nenhum fabricante teve tanto sucesso como a Intel, que sucessivamente foi lançando melhoramentos na sua linha 80X86, tendo surgido assim (por ordem cronológica) o 8086, 8088, 80186, 80188, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III, Pentium IV, Pentium M, Pentium D e Pentium Dual Core. Para o IBM-AT foi utilizado o 80286, depois um grande salto com o 80386 que podia trabalhar com memória virtual e multitarefa, o 80486 com coprocessador matemático embutido e finalmente a linha Pentium, com pipeline de processamento. Como grande concorrente da Intel, a AMD aparece inicialmente como fabricante de microprocessadores da linha x86 alternativa mas a partir de um certo momento deixou de correr atrás da Intel e partiu para o desenvolvimento de sua própria linha de microprocessadores: K6, Athlon, Duron, Turion, Sempron, etc. Paralelamente à disputa entre Intel e AMD, a IBM possuia a linha PowerPC utilizada principalmente pelos microcomputadores da Apple.

A evolução tecnológica envolvida é surpreendentemente grande, de microprocessadores que trabalhavam com clock de dezenas de kHz e que podiam processar alguns milhares de instruções por segundo, atingiu-se clocks na casa dos 4GHz e poder de processamento de dezenas de bilhões de instruções por segundo. A complexidade também cresceu: de alguns milhares de transístores para centenas de milhões de transístores numa mesma pastilha.

O CPU tem como função principal unificar todo o sistema, controla as funções realizadas por cada unidade funcional, e é também responsável pela execução de todos os programas do sistema, que deverão estar armazenados na memória principal.

[editar] Componentes

O processador é composto por alguns componentes, cada um tendo uma função específica no processamento dos programas.

[editar] Unidade lógica e aritmética

Crystal Clear app xmag.pngVer artigo principal: Unidade lógica e aritmética

A Unidade lógica e aritmética (ULA) é a responsável por executar efetivamente as instruções dos programas, como instruções lógicas, matemáticas, desvio, etc.

[editar] Unidade de controle

Crystal Clear app xmag.pngVer artigo principal: Unidade de controle

A Unidade de controle (UC) é responsável pela tarefa de controle das ações a serem realizadas pelo computador, comandando todos os outros componentes.

[editar] Registradores

Crystal Clear app xmag.pngVer artigo principal: Registrador

Os registradores são pequenas memórias velozes que armazenam comandos ou valores que são utilizados no controle e processamento de cada instrução. Os registradores mais importantes são:

  • Contador de Programa (PC) – Sinaliza para a próxima instrução a ser executada;
  • Registrador de Instrução (IR) – Registra a execução da instrução;

[editar] Memory management unit

Crystal Clear app xmag.pngVer artigo principal: Memory management unit

A MMU (em inglês: Memory Management Unit) é um dispositivo de hardware que transforma endereços virtuais em endereços físicos e administra a memória principal do computador.

[editar] Unidade de ponto flutuante

Nos processadores atuais são implementadas unidades de cálculo de números reais. Tais unidades são mais complexas que ULAs e trabalham com operandos maiores, com tamanhos típicos variando entre 64 e 128 bits.

[editar] Frequência de operação

O relógio do sistema (Clock) é um circuito oscilador a cristal (efeito piezoelétrico) que tem a função de sincronizar e ditar a medida de tempo de transferência de dados no computador. Esta freqüência é medida em ciclos por segundo, ou Hertz. A capacidade de processamento do processador não está relacionada exclusivamente à frequência do relógio, mas também a outros fatores como: largura dos barramentos, quantidade de memória cache, arquitetura do processador, tecnologia de co-processamento, tecnologia de previsão de saltos (branch prediction), tecnologia de pipeline, conjunto de instruções, etc.

O aumento da frequência de operação nominal do processador é denominado overclocking.

[editar] Arquitetura

Existem duas principais arquiteturas usadas em processadores:

  • A arquitetura de Von Newmann. Esta arquitetura caracteriza-se por apresentar um barramento externo compartilhado entre dados e endereços. Embora apresente baixo custo, esta arquitetura apresenta desempenho limitado pelo gargalo do barramento.
  • A arquitetura de Harvard. Nesta arquitetura existem dois barramentos externos independentes (e normalmente também memórias independentes) para dados e endereços. Isto reduz de forma sensível o gargalo de barramento, que é uma das principais barreiras de desempenho, em detrimento do encarecimento do sistema como um todo.

[editar] Modelos de computação

Existem dois modelos de computação usados em processadores:

  • CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; possui um grande conjunto de instruções (tipicamente centenas) que são armazenadas em uma pequena memória não-volátil interna ao processador. Cada posição desta memória contém as microinstruções, ou seja, os passos a serem realizados para a execução de cada instrução. Quanto mais complexa a instrução, mais microinstruções ela possuirá e mais tempo levará para ser executada. Ao conjunto de todas as microinstruções contidas no processador denominamos microcódigo. Esta técnica de computação baseada em microcódigo é denominada microprogramação.
  • RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções) usada em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN); possui um conjunto pequeno de instruções (tipicamente algumas dezenas) implementadas diretamente em hardware. Nesta técnica não é necessário realizar a leitura em uma memória e, por isso, a execução das instruções é muito rápida (normalmente um ciclo de clock por instrução). Por outro lado, as instruções são muito simples e para a realização de certas tarefas são necessárias mais instruções que no modelo CISC.

[editar] Exemplos de microprocessadores

Uma microcontroladora, um exemplo de microprocessador.
Uma GPU.
  • Processadores Digitais de Sinal (DSP do inglês Digital Signal Processor) — são microprocessadores especializados em processamento digital de sinal usados para processar sinais de áudio, vídeo, etc., quer em tempo real quer em off-line. Estão presentes, por exemplo, em aparelhos de CD, DVD e televisores digitais. Em geral, realizam sempre uma mesma tarefas simples.
  • Microcontroladores — Processadores relativamente flexíveis, de relativo baixo custo, que podem ser utilizados em projetos de pequeno tamanho. Podem trazer facilidades como conversores A/D embutidos, ou um conjunto de instruções próprias para comunicação digital através de algum protocolo específico.
  • GPU — ou Unidade de Processamento Gráfico), é um microprocessador especializado em processar gráficos. São utilizadas em placas de vídeo para fazer computação gráfica.

[editar] Propósito geral e dedicado

Durante o processo de desenvolvimento do design de um processador, uma das características que se leva em conta é o uso que ele se destina. Processadores gráficos e controladoras por exemplo não tem o mesmo fim que um processador central. Processadores de propósito geral podem executar qualquer tipo de software, embora sua execução seja mais lenta que o mesmo sendo executado em um processador especializado. Processadores dedicados são fabricados para executarem tarefas específicas, como criptografia, processamento vetorial e grafico, sendo nesse caso bem mais rápidos do que processadores de propósito geral em tarefas equivalentes. No caso do processamento gráfico, existem as GPUs, que são microprocessadores geralmente com memória dedicada e especialmente desenvolvidos para calculos gráficos. Nem sempre os processadores seguem definidamente esses dois modelos, sendo o motivo disso que muitos processadores modernos incorporam processadores especializados (co-processador), para cálculos de criptografia, processamento de vetores, etc.

[editar] Processadores multinucleares

Crystal Clear app xmag.pngVer artigo principal: Processadores multinucleares

Até os dias de hoje usou-se microprocessadores para atividades domésticas ou de negócios com simples núcleo. Atualmente estão sendo utilizados microprocessadores de múltiplos núcleos para melhorar a capacidade de processamento. Espera-se que no futuro os Sistemas Operacionais domésticos sejam compilados para trabalhar com processadores de múltiplos núcleos corretamente, realizando assim inúmeras tarefas ao mesmo tempo (como já acontece com os supercomputadores).

[editar] Sistemas multiprocessados

Crystal Clear app xmag.pngVer artigo principal: Multiprocessamento

Em muitos sistemas o uso de um só processador é insuficiente. A solução nesses casos é usar dois ou mais processadores em multi processamento, aumentando assim a quantidade de processadores disponíveis ao sistema operacional. Sistemas multiprocessados podem ser de basicamente dois tipos:

  • Multiprocessamento simétrico (SMP): os processadores compartilham a mesma memória, embora possam ter caches separadas. O sistema operacional deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal.
  • Acesso não uniforme à memória (NUMA): a cada processador é associado um banco de memória. Nesse caso, o sistema operacional trata cada banco separadamente, pois cada banco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está sendo executado o processo que tenta acessar a memória.

[editar] Capacidade de processamento

A capacidade de processamento de um microprocessador é de certa forma difícil de medir, uma vez que esse desempenho pode se referir a quantidade máxima teória de instruções que podem ser executadas por segundo, que tipos de instruções são essas, tendo também a influência de sua arquitetura e de sua comunicação externa, mais num contexto geral a capacidade máxima teórica de processamento é medida em Flops (instruções de ponto flutuante), podendo essa ser de precisão simples, dupla, quádrupla, dependendo do contexto, e em MIPS (milhões de instruções por segundo), sendo essas operações com números inteiros. Somente a capacidade máxima teórica de um microprocessador não define seu desempenho, somente dá uma noção da sua capacidade, uma vez que sua arquitetura, barramento com a memória entre outros também influenciam no seu desempenho final, sendo assim, sua capacidade de processamento é medida comparando a velocidade de execução de aplicativos reais, podendo assim, testar seu desempenho em atividades comuns.

[editar] Ver também

[editar] Ligações externas