Processador

Abril 2017

O que é o processador

O processador (CPU) é o cérebro do computador. Com ele, você pode manipular as informações digitais, ou seja, as informações codificadas na forma binária no computador e executar instruções armazenadas na memória.

processador Intel 4004

O primeiro microprocessador, o Intel 4004, foi inventado em 1971. Era uma unidade de cálculo de 4 bits, cadenciado a 108 kHz. Desde então, o poder dos microprocessadores cresceu consideravelmente. Quais são esses pedacinhos de silício que dirigem os nossos computadores?

Como funciona um processador

O processador é um circuito eletrônico cadenciado por um relógio interno, graças a um cristal de quartzo que, submetido a uma corrente elétrica, emite impulsos, chamados de top. A frequência do relógio, também chamada de ciclo, correspondente ao número de impulsos por segundo, é expressa em Hertz. Assim, um computador de 200 MHz tem um relógio que envia 200 milhões de batidas por segundo. Geralmente, a frequência do relógio é um múltiplo da frequência do sistema FSB (Front-Side Bus), ou seja, um múltiplo da frequência da placa-mãe.

A cada toque do relógio, o processador executa uma ação correspondente a uma instrução, ou parte dela. O indicador chamado CPI (Ciclos Por Instrução) indica o número médio de ciclos do relógio, necessário à execução de uma instrução em um microprocessador. Assim sendo, a potência do processador pode ser caracterizada pelo número de instruções processadas por segundo. A unidade utilizada é o MIPS (Milhões de Instruções Por Segundo), correspondente à frequência do processador que divide o CPI.

O que é uma instrução

Uma instrução é a operação mais elementar que o processador pode efetuar. As instruções são armazenadas na memória principal para serem tratadas pelo processador. Uma instrução é composta de dois campos, o Código operacional, que representa a ação que o processador deve efetuar e o Código operando, que define os parâmetros da ação. O código operando depende da operação. Pode ser um dado ou de um endereço da memória.

O número de bytes de uma instrução varia de acordo com o tipo de dado (a ordem da grandeza é de 1 à 4 Bytes). As instruções podem ser divididas em categorias, como o Acesso à memória: acessos à memória ou transferências de dados entre registros; as Operações aritméticas: adições, subtrações, divisões ou multiplicações; as Operações lógicas: E, OU, NÃO, NÃO exclusivo; o Controle: controles de sequência, conexões condicionais, etc.

Quais são os registros

Quando o processador executa as instruções, os dados são armazenados, temporariamente, nas pequenas memórias rápidas de 8, 16, 32 ou 64 bits que chamamos Registros. Dependendo o tipo do processador, o número global de registros pode variar entre uma dezena e várias centenas. Os principais registros são: o Registro acumulador (ACC), que armazena os resultados das operações aritméticas e lógicas; o Registro do status (PSW, Processador Status Word), que permite o armazenamento os indicadores sobre o status do sistema (retenção, excesso, etc.); o Registro de instrução (RI), com a instrução em curso do processamento; o Contador de programa (CO ou PC para Program Counter), com o endereço da próxima instrução a ser processada; o Registro reserva, que armazena, temporariamente, um dado vindo da memória.

O que é a memória cache

A memória Cache, também chamada de antimemória ou memória reserva, é uma memória rápida que diminui o tempo de espera das informações armazenadas na memória viva. Na verdade, a memória central do computador é mais lenta que o processador. No entanto, existem memórias muito mais rápidas, mas muito mais caras. A solução consiste, então, em incluir este tipo de memória rápida perto do processador e armazenar, temporariamente, os dados fundamentais que devem ser tratados pelo processador. Os computadores mais recentes possuem vários níveis de cache: o Cache de primeiro nível (L1 Cache para Level 1 Cache) é diretamente integrado no processador. Ele se subdivide em duas partes: a primeira contém o Cache de instruções com instruções vindas da RAM (memória viva) decodificadas durante a passagem pelas pipelines (técnica de hardware que permite que a CPU realize a busca de uma ou mais instruções além da próxima a ser executada - Wikipédia) e o segundo, que é o Cache de dados e que contém os dados vindos da memória viva e os recentemente utilizados nas operações do processador. Os caches de primeiro nível são acessados mais rapidamente. Seu tempo de acesso tende a se aproximar daquele dos registros internos dos processadores; o Cache de segundo nível (L2 Cache para Level 2 Cache) fica na caixa com o processador (no chip). O cache de segundo nível se interpõe entre o processador com o seu cache interno e a memória viva. Ele é mais rápido de acesso do que a RAM, mas mais lento do que o cache de primeiro nível; o Cache de terceiro nível (L3 Cache para Level 3 Cache) anteriormente localizada na placa-mãe (usando a memória principal), é agora integrado diretamente na CPU.

Todos estes níveis de cache reduzem o tempo de latência das diversas memórias, durante o processamento e a transferência das informações. Enquanto o processador funciona, o controlador do cache de primeiro nível pode ser conectado com o de segundo nível para transferir dados, sem bloquear o processador. Da mesma forma, o cache de segundo nível se conecta com a memória viva (na falta do cache de terceiro nível integrado), para permitir transferências, sem bloquear o funcionamento normal do processador.

O que são sinais de controle

Os sinais de controle são os Sinais de controle são sinais elétricos que orquestram as diversas unidades do processador que participam da execução de uma instrução. Os sinais de controle são distribuídos graças a um elemento chamado Sequenciador. O sinal Read/Write (Ler/Escrever) diz para a memória que o processador quer ler ou escrever uma informação.

Quais são as unidades funcionais

O processador é constituído de um conjunto de unidades funcionais conectadas entre si. A arquitetura de um microprocessador é extremamente variável de uma para outra. Ele tem uma Unidade de Instrução ou unidade de comando (Control Unit) que lê e decodifica os dados de entrada para depois enviá-los à unidade de execução. Ela é constituída do Sequenciador (ou bloco lógico de comando) encarregado de sincronizar a execução das instruções ao ritmo de um relógio. Ele é, assim, o responsável pelo envio dos sinais de comando, do Contador de programa, que contém o endereço da instrução em curso e do Registro de instrução, que contém uma Unidade de Execução ou unidade de processamento, que executa as tarefas dadas pela unidade de instrução. A unidade de execução é composta pela Unidade Aritmética e Lógica, chamada pela sigla UAL (ALU - Arithmetical and Logical Unit). A UAL assegura as funções básicas de aritmética e as operações lógicas (E, OU, OU exclusivo, etc.). Pela Unidade de ponto flutuante (FPU - Floating Point Unit), que realiza os cálculos complexos, não inteiros, que não podem realizar a unidade aritmética e lógica; um Registrador de Status e um Registrador de Dados ou Acumulador; uma Unidade de Gerência dos Bus ou unidade de entradas e saídas, que administra o fluxo de informações entrando e saindo, na interface com a memória viva do sistema.

A imagem abaixo mostra uma representação simplificada dos componentes do microprocessador (a organização física dos componentes não corresponde à realidade):

Como funciona o Transistor

Para efetuar o processamento da informação, o microprocessador possui um conjunto de instruções, chamado Jogo de instruções, realizado por circuitos eletrônicos. Mais especificamente, o jogo de instruções é feito através de semicondutores, pequenos interruptores, usando o transistor de efeito, descoberto em 1947 por John Barden, Walter H. Brattain e William Shockley, que receberam o Prêmio Nobel em 1956 por esta descoberta.

Um Transistor (Transfer Resistor - Resistência de transferência) é um componente eletrônico semicondutor com três eletrodos, capaz de modificar a corrente que o atravessa com a ajuda de um dos seus eletrodos (chamado eletrodo de controle). Também se fala de componente ativo, em oposição aos componentes passivos, como a resistência ou o condensador, com apenas dois eletrodos (conhecido como 'bipolar').

O transistor MOSFET (Metal Oxide Semicondutor Field Effect Transistor) é o tipo de transistor usado para o projeto de circuitos integrados. O transistor MOSFET é composto de duas áreas de carga negativa, conhecidas respectivamente como fonte (com um potencial próximo de zero) e dreno (com um potencial de 5V), separadas por uma região de carga positiva, chamada de substrato (em inglês, Substrate). O substrato é coberto por um eletrodo de controle chamado Porta (Gate, Grade ou Grid), que implementa uma tensão no substrato:

Quando nenhuma tensão é aplicada ao eletrodo de controle, o substrato com carga positiva age como uma barreira e impede a movimentação dos elétrons da fonte para o dreno. Em compensação, quando uma tensão é aplicada na porta, as cargas positivas do substrato são repelidas e estabelece-se um canal de comunicação, com carga negativa, ligando a fonte ao dreno:


Assim, o transistor age, globalmente, como um interruptor programável graças ao eletrodo de controle. Quando uma tensão é aplicada ao eletrodo de controle, ele age como um interruptor fechado e, em caso contrário, como um interruptor aberto.

Como acontecem os Circuitos integrados

Reunidos, os transistores podem constituir circuitos lógicos que, reunidos também, constituem os processadores. O primeiro circuito integrado apareceu em 1958 e foi desenvolvido pela empresa Texas Instruments.

Os transistores MOSFET são realizados em lâminas de silício, chamados wafer (em português, bolacha que é uma fina fatia de material semicondutor), obtidos após sucessivos processamentos. Estes wafers de silício são cortados em pedaços retangulares, constituindo o que chamamos de Circuito. Os circuitos são então colocados em caixas com conectores de entrada/saída, constituindo um Circuito integrado. A finura da gravação, expressa em micrômetros (mícrones, ?m) define o número de transistores por unidade de área expressa em micrômetros (mícrones, ?m) e define o número de transistores por unidade de área. Assim, um único processador pode conter vários milhões de transistores.

A lei de Moore, publicada em 1965 por Gordon E. Moore, cofundador da empresa Intel, previa que o desempenho dos processadores (por extensão, o número de transistores integrados no silício) dobrariam a cada 12 meses. Esta lei foi revista em 1975, e o número de meses aumentou para 18. A lei de Moore é válida até hoje.

Na medida em que a caixa retangular tem pinos de entrada/saída, parecendo pés, o termo chip é comumente usado para designar os circuitos integrados.

Quais são os tipos de microprocessador

Todo tipo de microprocessador possui seu próprio jogo de instruções. Assim, podemos distinguir as famílias dos seguintes microprocessadores, cada um com seu próprio jogo de instruções: 80x86: o X representa a família. Falamos assim de 386, 486, 586, 686, etc, ARM, IA-64, MIPS, Motorola 6800, PowerPC e SPARC. Isso explica como um programa feito por um tipo de processador não pode funcionar diretamente em um sistema com outro tipo de processador, a não ser com uma tradução de instruções chamada Emulação. O termo emulador é utilizado para indicar o programa realizando esta tradução.

O que é o Jogo de instrução

Chamamos de jogo de instrução , todas as operações básicas que um processador pode executar. O conjunto de instruções de um processador determina sua arquitetura, sendo que a mesma arquitetura pode levar a aplicações diferentes, dependendo do fabricante. Ele funciona de forma eficaz graças a um número limitado de funções diretamente ligadas aos circuitos eletrônicos. A maioria das operações pode ser realizada graças às funções básicas. Porém, algumas arquiteturas incluem funcionalidades avançadas, ainda em execução, no processador.

Como é estruturada a Arquitetura CISC

A arquitetura CISC (Complex Instruction Set Computer - Computador com conjunto complexo de instruções) consiste em conectar no microprocessador as instruções complexas, difíceis de criar a partir das instruções básicas. Ela é usada, em particular, pelos microprocessadores do tipo 80x86. Este tipo de arquitetura é caro, devido aos recursos avançados impressos no silício. Por outro lado, as instruções são de tamanhos variáveis e podem, às vezes, exigir mais do que um ciclo de relógio. Ora, um processador baseado na arquitetura CISC só pode processar uma instrução de cada vez, resultando em um tempo de execução muito importante.

Como é construída a Arquitetura RISC

Um microprocessador que utiliza a tecnologia RISC (Reduced Instruction Set Computer) ou seja, um computador com um conjunto de instruções reduzido, não tem funções avançadas com cabos. Os programas devem ser traduzidos em instruções simples, resultando em um desenvolvimento mais difícil e/ou um compilador mais potente. Esse tipo de arquitetura tem um baixo custo de fabricação em relação aos processadores CISC. Além disso, as instruções, simples por natureza, são executadas em apenas um ciclo de relógio, o que torna a execução dos programas mais rápida do que com os processadores baseados em uma arquitetura CISC. Na verdade, estes processadores são capazes de processar, simultânea e paralelamente, várias instruções.

Quais são as melhorias tecnológicas

Ao longo dos anos, os fabricantes de microprocessadores, chamados fundadores desenvolveram uma série de melhorias para otimizar o funcionamento do processador.

Paralelismo

O Paralelismo consiste em executar, simultaneamente, em vários processadores, as instruções relativas ao mesmo programa. Isso se traduz pelo corte de um programa em vários processos tratados paralelamente, para diminuir o tempo de execução. Tal tecnologia, porém, exige a sincronização e a comunicação entre os diferentes processos, como o corte de tarefas em uma empresa: o trabalho é dividido em pequenos processos distintos, processados por serviços diferentes. O funcionamento de tal empresa pode ser perturbado pelo mal funcionamento da comunicação entre os serviços.

Pipeline

Pipeline, ou Pipelining, é uma tecnologia que visa obter uma maior velocidade de execução das instruções, paralelizando as etapas. Para entender o seu mecanismo, é preciso, em primeiro lugar, entender as fases de execução de uma instrução. As fases de execução de uma instrução para um processador que contém um pipeline tradicional de 5 andares são as seguintes: LI: Leitura da Instrução (em inglês FETCH instruction) a partir do cache, DI: Decodificação da Instrução (em inglês DECODE instruction) e busca das operações (Registro ou valores imediatos), EX: Execução da Instrução (em inglês EXECUTE instruction) (se for ADD, somamos, se for SUB, subtraímos, etc.), MEM: Acesso à memória (em inglês MEMORY access), gravação na memória, se necessário, ou carregamento a partir da memória, ER: Gravação (em inglês Write instruction) do valor calculado nos registros.

As instruções são organizadas em uma fila de espera na memória e são carregadas uma após a outra. Graças ao pipeline, o processamento das instruções precisa, no máximo, das cinco etapas anteriores. Na medida em que a ordem dessas etapas é invariável (LI, DI, EX, MEM e ER), é possível criar no processador certo número de circuitos específicos para cada uma dessas fases.

O objetivo do pipeline é poder executar cada etapa, em paralelo com as etapas anteriores e posteriores, ou seja, poder ler uma instrução (LI), enquanto a anterior estiver sendo decodificada (DI), que a anterior a esta estiver sendo executada (EX), que a anterior à anterior acesse à memória (MEM) e, finalmente, que a primeira da série esteja gravada nos registros (ER):

pipeline de 5 andares

Em geral, devemos prever de 1 a 2 ciclos de relógio (raramente mais do que isso) para cada fase do pipeline, ou seja, 10 ciclos de relógio, no máximo, por instrução. Para duas instruções, serão necessários 12 ciclos de relógio, no máximo (10+2 = 12 em vez de 10x2=20), porque a instrução anterior já estava no pipeline. Ambas as instruções estão sendo tratadas no processador, com um desfasamento de um ou dois ciclos de relógio. Para 3 Instruções, serão necessários 14 ciclos de relógio, etc.

O princípio do pipeline é comparável à uma cadeia de montagem de carros. O carro passa de uma estação de trabalho para outra, ao longo da linha de montagem e sai do prédio completamente montado. Para entender bem o princípio, é preciso observar a cadeia como um todo, e não veículo por veículo. É preciso 3 horas para montar um carro, porém, um carro é produzido a cada minuto!

Saiba que existem diferentes tipos de pipeline, de 2 a 40 andares, mas o princípio é sempre o mesmo.

Tecnologia Superscalar

A tecnologia Superscalar (em inglês, Superscaling - em escalas) consiste em dispor de várias unidades de processamento, em paralelo, para poder processar várias instruções, por ciclo.

HyperThreading

A tecnologia HyperThreading (Hyper-Threading, chamada HT para HyperFlots ou HyperFlux - Grande rastreamento) consiste em definir dois processadores lógicos dentro de um processador físico. Assim, o sistema reconhece dois processadores físicos e se comporta como um sistema multitarefas, enviando dois threads simultâneos, chamados SMT (Simultaneous Multi Threading - Multi rastreamentos simultâneos).

Multinúcleo

Um processador Multinúcleo (Multicore) é um processador composto, não de 1 mas de 2 (ou 4 ou 8) unidades de cálculo. Assim, para um processador DualCore, o processador dispõe da frequência de relógio equivalente a uma potência de cálculo duas vezes maior. No entanto, o ganho nem sempre é visível. Na verdade, é preciso que os softwares e os sistemas operacionais saibam lidar adequadamente com esses processadores para que um ganho significativo seja perceptível. Assim, no Windows, só o Vista explora corretamente esses processadores. Neste caso, recomenda-se a versão 64 bits.

Veja também


Processor
Processor
Procesador
Procesador
Prozessor
Prozessor
Processeur
Processeur
Processore
Processore
Última modificação: 24 de abril de 2017 às 18:01 por Pedro.Saude.
Este documento, intitulado 'Processador', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.