Microprocessador

Abril 2015
Procesador Intel 4004

Apresentação


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 sob forma binária e executar instruções armazenadas na memória.

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

processador Intel 4004

Funcionamento


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 (Hz). 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 freqüência do sistema (FSB<Ital />, <ital>Front-Side Bus), ou seja, um múltiplo da freqüê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 à freqüência do processador que divide o CPI.

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, representando a ação que o processador deve efetuar;
  • O código operando, definindo 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 seqüência, conexões condicionais, etc.

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.

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.
    • O segundo é o cache 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 de acesso. 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). O cache de segundo nível se interpõe entre o processador, com o seu cache interno e a memória viva (RAM). Tem 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.

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 seqüenciador. O sinal Read / Write, em português leitura/escrita, diz para a memória que o processador quer ler ou escrever uma informação.

Unidades de funcionamento


O processador é constituído de um conjunto de unidades de funcionamento ligado entre si. A arquitetura de um microprocessador é extremamente variável de uma para outra, mas os principais elementos de um microprocessador são os seguintes:

  • Uma unidade de instrução (ou unidade de comando, em inglês control unit) que lê e decodifica os dados entrando para depois enviá-los à unidade de execução. A unidade de instrução é constituída, principalmente, dos seguintes elementos:
    • sequênciador (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:
    • A 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 (chamado FPU, para Floating Point Unit), que realiza os cálculos complexos, não inteiros, que não podem realizar a unidade ariotmética e lógica.
    • O registrador de status ;
    • O 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):


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 precisamente, o jogo de instruções é feito através de semicondutores "pequenos interruptores" usando o transistor de efeito, descoberto em 1947 por John Barden, <ital > Walter H. Brattain</ital> 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 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 (em Inglês 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.

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 fineza 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 os desempenhos dos processadores (por extensão, o número de transistores integrados no silício) dobrariam 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.

Famílias


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.

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.

O processador 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.

Arquitetura CISC


A arquitetura CISC (Complex Instruction Set Computer, seja « computador com conjunto complexo de instruções ») consiste em conectar no microprocessador de instruções complexas, difíceis de criar a partir das instruções básicas.

A arquitetura CISC é 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 consequente.

Arquitetura RISC


Um microprocessador que utiliza a tecnologia RISC (Reduced Instruction Set Computer, ou seja « computador com 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.

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 uma maior velocidade de execução das instruções, paralelizando as etapas.

Para entender o mecanismo do pipeline, é 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 (DECODE instruction) e busca das operações (Registro ou valores imediatos);
  • EX : Execução da Instrução (EXECUTE instruction) (se for « ADD », somamos, se for SUB, subtraímos, etc.);
  • MEM : Acesso à memória (MEMORY access), gravação na memória, se necessário ou carregamento a partir da memória;
  • ER : Gravação (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 em curos de gravação 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 em vez 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 produção 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) 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, traduza HyperFlots ou HyperFlux) 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). Esse «truque» faz o melhor uso dos recursos do processador garantindo que os dados são enviados a granel.

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. Ainsi, sous Windows, seul Vista exploite correctement ces processeurs. Assim, no Windows, só o Vista explora corretamente esses processadores. Neste caso, recomenda-se a versão 64 bits.

Recursos sobre o mesmo assunto

Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Microprocessador.pdf

A ver igualmente


Processor
Processor
Procesador
Procesador
Prozessor
Prozessor
Processeur
Processeur
Processore
Processore
Este documento, intitulado « Microprocessador  »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.