Microprocessador

Março 2017

O que é o processador

O Processador - CPU Central Processing Unit, ou seja Unidade Central de Processamento é o cérebro do computador. Com ele, você pode manipular as informações digitais, quer dizer, informações codificadas na forma binária e executar instruções armazenadas na memória.

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

processador Intel 4004

Como funciona um microcomputador

O Processador é um circuito eletrônico cadenciado por um relógio interno, graças a um cristal de quartz 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, expresso em Hertz. Assim, um computador de 200 MHz tem um relógio que envia 200 000 000 batimentos por segundo. A frequência do relógio é, normalmente, 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 impulso do relógio o processador executa uma ação correspondente à 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 tratadas, por segundo. A unidade utilizada é o MIPS (Milhões de Instruções Por Segundo) correspondente à frequência do processador que divide o CPI.

Como acontece a instrução

Uma Instrução é a operação 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;
O Código operando, que define os parâmetros da ação. O código operando depende da operação. Pode tratar-se de um dado ou de um endereço da memória:

Código operacionalCampo operando

O número de bytes de uma instrução varia conforme o tipo de dado (a ordem da grandeza é de 1 à 4 Bytes). As instruções podem ser divididas em categorias cujas principais são:

Acesso à memória: acessos à memória ou transferências de dados entre registros.
Operações aritméticas: operações tais como: adições, subtrações, divisões ou multiplicações.
Operações lógicas: operações E, OU, NÃO, NÃO exclusivo, etc.
Controle: controle 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. Conforme 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 Registrador de dados ou acumulador (ACC), armazenando os resultados das operações aritméticas e lógicas;
O Registrador de status (PSW, Processador Status Word), armazenando os indicadores sobre o estado do sistema (retenção, excesso, etc.);
O Registrador de instrução (RI), com a instrução de processamento em curso;
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 é o Cache

O Cache, também chamado de anti memó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 é incluir este tipo de memória rápida perto do processador e de armazenar, temporariamente, os dados fundamentais que devem ser processados pelo processador. Os computadores mais recentes têm vários níveis de cache:

O Cache de primeiro nível, chamado L1 Cache, para Level 1 Cache é integrado diretamente no processador. Ele se subdivide em duas partes:

O primeiro é o Cache de instruções, que contém 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).
O segundo é oCache de dados, que contém os dados vindos da memória viva e os dados recentemente utilizados durante as operações do processador.
Os Caches de primeiro nível são muito rápidos serem acessados. Seu tempo de acesso tende a se aproximar daquele dos registros internos dos processadores.
O Cache de segundo nível, chamado L2 Cache, para Level 2 Cache está localizado na caixa com o processador (no chip). Ele em um acesso mais rápido do que a RAM, mas mais lento que o cache de primeiro nível.
O Cache de terceiro nível, chamado L3 Cache, para Level 3 Cache se situa no nível da placa-mãe.

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 informações, sem bloquear o processador. Da mesma forma, o cache de segundo nível se conecta com a RAM (cache de terceiro nível), para transferir informações, sem bloquear o funcionamento normal do processador.

O que são os sinais de controle

Os Sinais de controle são sinais elétricos que orquestram as diversas unidades do processador, que participam à 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, em português ler/escrever, diz para a memória que o processador quer ler ou escrever uma informação.

Como se apresentam as Unidades de funcionamento

O processador é constituído de um conjunto de unidades de funcionamento conectadas entre si. A arquitetura de um microprocessador é extremamente variável de uma para outra. Veja baixo como ela se apresenta.


Uma Unidade de Instrução ou unidade de comando, em inglês Control Unit que lê e decodifica os dados de entrada para depois enviá-los à unidade de execução. Ela é constituída, principalmente, dos seguintes elementos:

Sequenciador (ou bloco lógico de comando) carregado de sincronizar a execução das instruções ao ritmo de um relógio. Ele é responsável pelo envio dos sinais de comando;
Contador de programa com o endereço da instrução em curso;
Registro de instrução com a instrução seguinte.

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, principalmente, dos seguintes elementos:

Uma Unidade Aritmética e Lógica, chamada de UAL ou, em inglês ALU para Arithmetical and Logical Unit. A UAL assegura as funções básicas de aritmética e de operações lógicas (E, OU, OU exclusivo, etc.);
A unidade de ponto flutuante, chamada FPU, para Floating Point Unit), que realiza os cálculos complexos, não inteiros, que não podem realizar a unidade ariitmética e lógica.

Um Registrador de Status

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 executar o processamento da informação, o microprocessador possui um conjunto de instruções, chamado Jogo de instruções, realizado por circuitos eletrônicos. Mais precisamente, 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 contração de Transfer Resistor, em português 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 utilizado, principalmente, para o projeto de circuitos integrados. O transistor MOSFET é composto de duas áreas de carga negativa, conhecidas respectivamente como onte (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 - Substrate. O substrato é coberto por um eletrodo de controle chamado Porta - Gate, também chamado de Grade ou Grid, que implementa uma tensão no substrato:

Quando nenhuma voltagem é 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 voltagem é 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 voltagem é 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 por sua vez, 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, obtidos após sucessivos processamentos. Estes wafers de silício são cortados em elementos 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ícrons, ?m) define o número de transistores por unidade de área. expressa em micrômetros (mícrons, ?m) 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, como 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
SPARC

Isso explica como um programa feito por um tipo de processador não possa 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, sabendo 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 ligado 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, seja computador com conjunto complexo de instruções </ital> 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 é cara, 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 é construida 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 poderoso. 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. Finalmente, 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 processados em paralelo, 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 d a 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 os 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) 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 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 é ser capaz de executar cada etapa, em paralelo com as etapas anteriores e posteriores, ou seja, poder ler uma instrução (LI), enquanto a anterior estiver em curso de decodificação (DI), que a anterior a esta estiver em curso de execução (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,12 ciclos de relógio, no máximo, serão necessários (10 +2 = 12 ao invés de 10*2=20), porque a instrução anterior já estava no pipeline. Ambas as instruções estão sendo processadas no processador, com um desfasamento de um ou dois ciclos de relógio. Para 3 Instruções, 14 ciclos de relógio serão necessários, etc.

O princípio do pipeline é comparável à uma cadeia de montagem de carros. O carro passa de uma estação de trabalho para a outra, ao longo da linha de montagem e sai do edifício completamente montado. Para entender bem o princípio, é preciso observar a cadeia como um todo, e não carro por carro. É 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 Superescalar

A tecnologia Superescalar, 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 ou 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 é 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, é necessário 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
Este documento, intitulado 'Microprocessador ', 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.