Microprocessador
O microprocessador, geralmente chamado apenas 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, podemos dizer que o processador é o cérebro do computador por realizar todas estas funções.
O primeiro microprocessador comercial foi projetado pela Intel em 1971 para atender uma empresa japonesa que precisava de um circuito integrado especial para as suas atividades. A Intel projectou o 4004, que era um circuito integrado programável que trabalhava com registradores de 4 bits, 46 instruções, clock de 740 kHz e possuía cerca de 2 300 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. A Motorola ganhou destaque quando implantou o MC68000P12, de 12 MHz com arquitetura de 32 bits (embora seu barramento de dados fosse de 24 bits e o de endereços de 16 bits), no Neo-Geo, um poderoso Arcade da SNK que posteriormente ganharia a versão AES (console casero) e CD (versão CD), todos eles com o mesmo hardware inicial.
O processador é composto por alguns componentes, cada um tendo uma função específica no processamento dos programas.
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
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
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.
Unidade de Gerenciamento de Memória
A MMU (em inglês: Memory Management Unit) é um dispositivo de hardware que transforma endereços virtuais em endereços físicos e dá suporte para o sistema operacional administrar a alocação da memória principal do computador entre os diversos programas em execução no 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 reais, também chamados de ponto flutuante, com tamanhos típicos variando entre 32, 64 e 128 bits.
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.
Existem duas principais arquiteturas usadas em processadores:
Imagem: Chaval Brasil · BY-NC-ND · Openverse
Existem dois modelos de computação usados em processadores: Com o passar do tempo, as características de um modelo passaram também a serem incorporadas ao outro, tanto aumentando o número de instruções das arquiteturas RISC, em especial com as extensões vetoriais como NEON do ARM, quanto simplificando o processo de execução das arquiteturas CISC, onde mais de um tipo de decodificador de instrução permite a decodificação e execução rápida das instruções simples, deixando o microcódigo apenas para as instruções mais complexas.
Imagem: jaime.silva · BY-NC-ND · Openverse
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 GPUs, 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..
Imagem: EmersonWSM · BY-SA · Openverse
Até há poucos anos usaram-se microprocessadores para atividades domésticas ou de negócios com simples núcleo. Atualmente são 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).
Imagem: CesarCardoso · BY · Openverse
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:
Imagem: SystèmeMicroproc.png: Lucien Duval derivative work: Al Lemos (talk) · BY-SA · Openverse
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órica de instruções que podem ser executadas por segundo, que tipos de instruções são essas, em Flops (instruções de ponto flutuante por segundo), 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-se a velocidade de execução de aplicativos reais, podendo-se assim, testar seu desempenho em atividades comuns.


