Microprocessador: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
bot: revertidas edições de 194.65.225.155 ( modificação suspeita : -17), para a edição 23968466 de !Silent
texto trocado por 'Tcham'
Etiqueta: Remoção considerável de conteúdo
Linha 1: Linha 1:
Tcham
{{Sem-notas|data=março de 2010}}
{{Portal de eletrônica}}
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 [[computador]]es e equipamentos eletrônicos baseiam-se nele para executar suas funções.
[[Ficheiro:InternalIntegratedCircuit2.JPG|thumb|right|220px|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]]
[[Ficheiro:AMD INFERIOR.JPG|thumb|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 [[ULA]](''Unidade Lógica Aritmética''), unidade responsável pelos cálculos aritméticos e lógicos e os [[registrador]]es são parte integrante do microprocessador na família [[x86]], por exemplo.

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 (computador)|memória]], dispositivos de [[entrada/saída]], um [[clock]], [[controlador]]es 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.

== História ==
[[Ficheiro:KL MME U808.jpg|thumb|right|220px|[[Intel 8008]], um dos primeiros microprocessadores comerciais.]]
O primeiro microprocessador comercial foi inventado pela [[Intel]] em 1971 para atender uma empresa japonesa que precisava de um circuito integrado especial.<ref>MANUEL MARTINS, J., Introdução ao Projecto com Sistemas Digitais e Microcontroladores</ref> A Intel projectou o 4004 que era um circuito integrado [[programável]] que trabalhava com registradores de 4 [[bit]]s, 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: [[Intel 8008|8008]] (o primeiro de 8 bits) e a seguir o [[Intel 8080|8080]] e o microprocessador [[Intel 8085|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). <br />
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 [[PC AT|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.<br />
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 7&nbsp;GHz 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, controlar 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.

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

=== Unidade lógica e aritmética ===
{{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.

=== Unidade de controle ===
{{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.

=== Registradores ===
{{Artigo principal|[[Registrador (informática)|Registrador]]}}
Os [[Registrador (informática)|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;

=== Memory management unit ===
{{Artigo principal|[[MMU|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.

=== 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.

== Frequência de operação ==
O relógio do sistema ([[Clock]]) é um circuito oscilador a cristal ([[piezoeletricidade|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]].

== Arquitetura ==
Existem duas principais [[arquiteturas de processadores|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.

== 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.

== Exemplos de microprocessadores ==
[[Ficheiro:Atmel atmega32 mikrokontrolleri.jpg|thumb|left|Uma microcontroladora, um exemplo de microprocessador.]]
[[Ficheiro:Sis 315 gpu.JPG|thumb|Uma GPU.]]
* Microprocessadores — São utilizados nos [[Computador pessoal|computadores pessoais]], onde são chamadas de [[Unidade Central de Processamento]] (''CPU''), ''workstations'' e ''[[mainframe]]s''. Podem ser programados para executar as mais variadas tarefas.
* [[DSP|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 [[televisão digital|televisores digitais]]. Em geral, realizam sempre uma mesma tarefas simples.
* [[Microcontrolador]]es — Processadores relativamente flexíveis, de relativo baixo custo, que podem ser utilizados em projetos de pequeno tamanho. Podem trazer facilidades como [[ADC|conversores A/D]] embutidos, ou um conjunto de instruções próprias para comunicação digital através de algum protocolo específico.
* [[Unidade de processamento grá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.

== 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 gráfico, 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 [[GPU]]s, que são microprocessadores geralmente com memória dedicada e especialmente desenvolvidos para cálculos 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.

== Processadores multinucleares ==
{{Artigo principal|[[multinúcleo|Processadores multinucleares]]}}
Até poucos anos atrás 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 [[compilador|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).

== Sistemas multiprocessados ==
{{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.

== 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, mas 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.

== {{Ver também}} ==
* [[Anexo:Lista de arquiteturas de processadores]]

== {{Ligações externas}} ==
* [http://informatica.hsw.uol.com.br/microprocessadores.htm HowStuffWorks - Como funcionam os microprocessadores]
* [http://www.techpowerup.com/cpudb/ CPU Database (relação de processadores)]

{{ref-section}}

{{Bloco de navegação
|Computação}}

[[Categoria:Hardware]]
[[Categoria:Arquitetura de computadores]]
[[Categoria:Microprocessadores| ]]

[[af:Mikroverwerker]]
[[an:Microprocesador]]
[[ar:معالج دقيق]]
[[az:Mikroprosessor]]
[[be:Мікрапрацэсар]]
[[bg:Микропроцесор]]
[[bn:মাইক্রোপ্রসেসর]]
[[br:Mikroprosesor]]
[[ca:Microprocessador]]
[[da:Mikroprocessor]]
[[de:Mikroprozessor]]
[[el:Μικροεπεξεργαστής]]
[[en:Microprocessor]]
[[es:Microprocesador]]
[[et:Mikroprotsessor]]
[[eu:Mikroprozesadore]]
[[ext:Microprohessaol]]
[[fa:ریزپردازنده]]
[[fi:Mikroprosessori]]
[[fr:Microprocesseur]]
[[gl:Microprocesador]]
[[hi:माइक्रोप्रोसेसर]]
[[hr:Mikroprocesor]]
[[id:Mikroprosesor]]
[[is:Örgjörvi]]
[[it:Microprocessore]]
[[ja:マイクロプロセッサ]]
[[ka:მიკროპროცესორი]]
[[kk:Микропроцессор]]
[[kn:ಮೈಕ್ರೊಪ್ರೊಸೆಸರ್]]
[[ko:마이크로프로세서]]
[[ku:Mîkroprosesor]]
[[la:Processor]]
[[lt:Mikroprocesorius]]
[[mk:Микрообработувач]]
[[ml:മൈക്രോപ്രൊസസ്സർ]]
[[ms:Mikropemproses]]
[[nl:Microprocessor]]
[[no:Mikroprosessor]]
[[pl:Mikroprocesor]]
[[ro:Microprocesor]]
[[ru:Микропроцессор]]
[[scn:Micruprucissura]]
[[si:ක්ෂුද්‍ර සැකසුම් ඒකකය]]
[[simple:Microprocessor]]
[[sk:Mikroprocesor]]
[[sr:Микропроцесор]]
[[sv:Mikroprocessor]]
[[ta:நுண்செயலி]]
[[tg:Микропратсессор]]
[[th:ไมโครโพรเซสเซอร์]]
[[tr:Mikroişlemci]]
[[uk:Мікропроцесор]]
[[vi:Vi xử lý]]
[[zh:微处理器]]

Revisão das 23h36min de 1 de abril de 2011

Tcham