Sei sulla pagina 1di 10

Microprocessador

Junho 2014
Apresentao
Funcionamento
Instruo
Registros
Cache
Sinais de controle
Unidades de funcionamento
Transistor
Circuitos integrados
Famlias
Jogo de instruo
Arquitetura CISC
Arquitetura RISC
Melhorias tecnolgicas
Paralelismo
Pipeline
Tecnologia superescalar
HyperThreading
Multincleo
Recursos sobre o mesmo assunto

Apresentao
O processador (CPU (Central Processing Unit), ou seja Unidade Central de Processamento)
o crebro do computador. Com ele, voc pode manipular as informaes digitais, quer dizer,
informaes codificadas sob forma binria e executar instrues armazenadas na memria.
O primeiro microprocessador (Intel 4004) foi inventado em 1971. Tratava-se de uma unidade
de clculo de 4 bits, ritmado 108 kHz. Desde ento, o poder dos microprocessadores cresce
consideravelmente. Quais so esses pedacinhos de silcio que dirigem os nossos
computadores?

Funcionamento
O processador um circuito eletrnico cadenciado por um relgio interno, graas a um cristal de
quartz que, submetido a uma corrente eltrica, emite impulsos, chamados de " top ". A
frequncia do relgio (tambm chamada de ciclo, correspondente ao nmero de impulsos por
segundo, expresso em Hertz (Hz). Assim, um computador de 200 MHz tem um relgio que envia
200 000 000 batimentos por segundo. A frequncia do relgio , normalmente, um mltiplo da
freqncia do sistema (FSB<Ital />, <ital>Front-Side Bus), ou seja, um mltiplo da freqncia da
placa-me.
A cada impulso do relgio o processador executa uma ao, correspondente uma instruo,
ou parte dela. O indicador chamado CPI (Ciclos Por Instruo) indica o nmero mdio de ciclos
do relgio, necessrio execuo de uma instruo em um microprocessador. Assim sendo, a
potncia do processador pode ser caracterizada pelo nmero de instrues tratadas, por
segundo. A unidade utilizada o MIPS (Milhes de Instrues Por Segundo) correspondente
freqncia do processador que divide o CPI.

Instruo
Uma instruo a operao elementar que o processador pode efetuar. As instrues so
armazenadas na memria principal, para serem tratadas pelo processador. Uma instruo
composta de dois campos:
O cdigo operacional, representando a ao que o processador deve efetuar;
O cdigo operando, definindo os parmetros da ao. O cdigo operando depende da
operao. Pode tratar-se de um dado ou de um endereo da memria.
Cdigo operacional Campo operando
O nmero de bytes de uma instruo varia conforme o tipo de dado (a ordem da grandeza de 1
4 bytes).
As instrues podem ser divididas em categorias cujas principais so:
Acesso memria : acessos memria ou transferncias de dados entre registros.
Operaes aritmticas: operaes tais como: adies, subtraes, divises ou
multiplicaes.
Operaes lgicas: operaes E, OU, NO, NO exclusivo, etc.
Controle: controle de seqncia, conexes condicionais, etc.

Registros
Quando o processador executa as instrues, os dados so armazenados, temporariamente,
nas pequenas memrias rpidas de 8, 16, 32 ou 64 bits que chamamos registros. Conforme o
tipo do processador, o nmero global de registros pode variar entre uma dezena e vrias
centenas.
Os principais registros so:
o registrador de dados ou acumulador (ACC), armazenando os resultados das
operaes aritmticas e lgicas;
o registrador de status (PSW, Processador Status Word), armazenando os indicadores
sobre o estado do sistema (reteno, excesso, etc.);
o registrador de instruo (RI), com a instruo de processamento em curso;
o contador de programa (CO ou PC para Program Counter), com o endereo da prxima
instruo a ser processada;
o registro reserva, que armazena, temporariamente, um dado vindo da memria.

Cache
O Cache (tambm chamado de anti-memria ou memria reserva) uma memria rpida que
diminui o tempo de espera das informaes armazenadas na memria viva. Na verdade, a
memria central do computador mais lenta que o processador. No entanto, existem memrias
muito mais rpidas, mas muito mais caras. A soluo incluir este tipo de memria rpida perto
do processador e de armazenar, temporariamente, os dados fundamentais que devem ser
processados pelo processador. Os computadores mais recentes tm vrios nveis de cache:
O cache de primeiro nvel (chamado L1 Cache, para Level 1 Cache) integrado
diretamente no processador. Ele se subdivide em duas partes:
O primeiro o cache de instrues, que contm instrues vindas da RAM (memria
viva) decodificadas durante a passagem pelas pipelines.
O segundo o cache de dados, que contm os dados vindos da memria viva e os
dados recentemente utilizados durante as operaes do processador.
Os caches de primeiro nvel so muito rpidos de acesso. Seu tempo de acesso tende a se
aproximar daquele dos registros internos dos processadores.
O cache de segundo nvel (chamado L2 Cache, para Level 2 Cache) est localizado na
caixa com o processador (no chip). O cache de segundo nvel se interpe entre o
processador, com o seu cache interno e a memria viva (RAM). Tem um acesso mais
rpido do que a RAM, mas mais lento que o cache de primeiro nvel.
O cache de terceiro nvel (chamado L3 Cache, para Level 3 Cache) se situa no nvel da
placa-me.
Todos estes nveis de cache reduzem o tempo de latncia das diversas memrias, durante o
processamento e a transferncia das informaes. Enquanto o processador funciona, o
controlador do cache de primeiro nvel pode ser conectado com o de segundo nvel para
transferir informaes, sem bloquear o processador. Da mesma forma, o cache de segundo nvel
se conecta com a RAM (cache de terceiro nvel), para transferir informaes, sem bloquear o
funcionamento normal do processador.
Sinais de controle
Os sinais de controle so sinais eltricos que orquestram as diversas unidades do
processador, que participam execuo de uma instruo. Os sinais de controle so
distribudos graas a um elemento chamado seqenciador. O sinal Read / Write, em portugus
leitura/escrita, diz para a memria que o processador quer ler ou escrever uma informao.

Unidades de funcionamento
O processador constitudo de um conjunto de unidades de funcionamento ligado entre si. A
arquitetura de um microprocessador extremamente varivel de uma para outra, mas os
principais elementos de um microprocessador so os seguintes:
Uma unidade de instruo (ou unidade de comando, em ingls control unit) que l e
decodifica os dados entrando para depois envi-los unidade de execuo. A unidade de
instruo constituda, principalmente, dos seguintes elementos:
sequnciador (ou bloco lgico de comando) carregado de sincronizar a execuo
das instrues ao ritmo de um relgio. Ele responsvel pelo envio dos sinais de
comando;
contador de programa com o endereo da instruo em curso;
registro de instruo com a instruo seguinte.
Uma unidade de execuo (ou unidade de processamento), que executa as tarefas
dadas pela unidade de instruo. A unidade de execuo composta, principalmente, dos
seguintes elementos:
A unidade aritmtica e lgica (chamada de UAL ou, em ingls ALU para
Arithmetical and Logical Unit). A UAL assegura as funes bsicas de aritmtica e de
operaes lgicas (E, OU, OU exclusivo, etc.);
A unidade de ponto flutuante (chamado FPU, para Floating Point Unit), que realiza
os clculos complexos, no inteiros, que no podem realizar a unidade ariotmtica e
lgica.
O registrador de status ;
O registrador de dados ou acumulador.
Uma unidade de gerncia dos bus (ou unidade de entradas e sadas), que administra o
fluxo de informaes entrando e saindo, na interface com a memria viva do sistema;
A imagem abaixo mostra uma representao simplificada dos componentes do
microprocessador (a organizao fsica dos componentes no corresponde realidade):

Transistor
Para efetuar o processamento da informao, o microprocessador possui um conjunto de
instrues, chamado jogo de instrues, realizado por circuitos eletrnicos. Mais
precisamente, o jogo de instrues feito atravs 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 Prmio Nobel em 1956 por esta descoberta.
Um transistor (contrao de transfer resistor, em portugus resistncia de transferncia) um
componente eletrnico semicondutor com trs eletrodos, capaz de modificar a corrente que o
atravessa com a ajuda de um dos seus eletrodos (chamado eletrodo de controle). Tambm se
fala de componente ativo, em oposio aos componentes passivos, como a resistncia 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 prximo de zero) e dreno (com um potencial de 5V), separadas por uma regio de
carga positiva, chamada de substrato (em Ingls Substrate ). O substrato coberto por um
eletrodo de controle chamado porta (em Ingls gate, tambm chamado de grade ou grid ), que
implementa uma tenso no substrato.
Quando nenhuma voltagem aplicada ao eletrodo de controle, o substrato com carga positiva
age como uma barreira e impede a movimentao dos eltrons da fonte para o dreno. Em
compensao, quando uma voltagem aplicada na porta, as cargas positivas do substrato so
repelidas e estabelece-se um canal de comunicao, com carga negativa, ligando a fonte ao
dreno.
Assim, o transistor age, globalmente, como um interruptor programvel graas ao eletrodo de
controle. Quando uma voltagem aplicada ao eletrodo de controle, ele age como um interruptor
fechado e, em caso contrrio, como um interruptor aberto.

Circuitos integrados
Reunidos, os transistores podem constituir circuitos lgicos 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 so realizados em lminas de silcio (chamados wafer), obtidos aps
sucessivos processamentos. Estes wafers de silcio so cortados em elementos retangulares,
constituindo o que chamamos de " circuito". Os circuitos so ento colocados em caixas com
conectores de entrada/sada, constituindo um circuito integrado ". A fineza da gravao,
expressa em micrmetros (mcrons, ?m) define o nmero de transistores por unidade de rea.
expressa em micrmetros (mcrons, ?m) define o nmero de transistores por unidade de rea.
Assim, um nico processador pode conter vrios milhes de transistores.
A lei de Moore, publicada em 1965 por Gordon E. Moore, cofundador da empresa Intel, previa
que os desempenhos dos processadores (por extenso, o nmero de transistores integrados no
silcio) dobrariam cada 12 meses. Esta lei foi revista em 1975, e o nmero de meses aumentou
para 18. A lei de Moore vlida at hoje.
Na medida em que a caixa retangular tem pinos de entrada/sada, como ps, o termo " chip
comumente usado para designar os circuitos integrados.

Famlias
Todo tipo de microprocessador possui seu prprio jogo de instrues. Assim, podemos distinguir
as famlias dos seguintes microprocessadores, cada um com seu prprio jogo de instrues:
80x86 : o x representa a famlia. 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 no possa funcionar
diretamente em um sistema com outro tipo de processador, a no ser com uma traduo de
instrues, chamada
emulao. O termo emulador utilizado para indicar o programa realizando esta traduo.
Jogo de instruo
Chamamos de jogo de instruo , todas as operaes bsicas que um processador pode
executar. O conjunto de instrues de um processador determina sua arquitetura, sabendo que a
mesma arquitetura pode levar a aplicaes diferentes, dependendo do fabricante.
O processador funciona de forma eficaz graas a um nmero limitado de funes diretamente
ligado aos circuitos eletrnicos. A maioria das operaes pode ser realizada graas s funes
bsicas. Porm, algumas arquiteturas incluem funcionalidades avanadas, ainda em execuo,
no processador.

Arquitetura CISC
A arquitetura CISC (Complex Instruction Set Computer, seja computador com conjunto
complexo de instrues ) consiste em conectar no microprocessador de instrues complexas,
difceis de criar a partir das instrues bsicas.
A arquitetura CISC usada, em particular, pelos microprocessadores do tipo 80x86. Este tipo de
arquitetura cara, devido aos recursos avanados impressos no silcio.
Por outro lado, as instrues so de tamanhos variveis e podem, s vezes, exigir mais do que
um ciclo de relgio. Ora, um processador baseado na arquitetura CISC s pode processar uma
instruo de cada vez, resultando em um tempo de execuo consequente.

Arquitetura RISC
Um microprocessador que utiliza a tecnologia RISC (Reduced Instruction Set Computer, ou seja
computador com conjunto de instrues reduzido ) no tem funes avanadas com cabos.
Os programas devem ser traduzidos em instrues simples, resultando em um desenvolvimento
mais difcil e/ou um compilador mais poderoso. Esse tipo de arquitetura tem um baixo custo de
fabricao em relao aos processadores CISC. Alm disso, as instrues, simples por
natureza, so executadas em apenas um ciclo de relgio, o que torna a execuo dos
programas mais rpida do que com os processadores baseados em uma arquitetura CISC.
Finalmente, estes processadores so capazes de processar, simultnea e paralelamente, vrias
instrues.

Melhorias tecnolgicas
Ao longo dos anos, os fabricantes de microprocessadores (chamados fundadores ),
desenvolveram uma srie de melhorias para otimizar o funcionamento do processador.

Paralelismo
O paralelismo consiste em executar simultaneamente, em vrios processadores, as instrues
relativas ao mesmo programa. Isso se traduz pelo corte de um programa em vrios processos
processados em paralelo, para diminuir o tempo de execuo.
Tal tecnologia, porm, exige a sincronizao e a comunicao entre os diferentes processos,
como o corte de tarefas em uma empresa: o trabalho dividido em pequenos processos
distintos, processados por servios diferentes. O funcionamento de tal empresa pode ser
perturbado pelo mal funcionamento d a comunicao entre os servios.

Pipeline
Pipeline (ou pipelining) uma tecnologia que visa uma maior velocidade de execuo das
instrues, paralelizando as etapas.
Para entender o mecanismo do pipeline, preciso, em primeiro lugar, entender as fases de
execuo de uma instruo. As fases de execuo de uma instruo para um processador que
contm um pipeline "tradicional" de 5 andares so os seguintes:
LI : (Leitura da Instruo (em ingls FETCH instruction) a partir do cache ;
DI : Decodificao da Instruo (DECODE instruction) e busca das operaes (Registro ou
valores imediatos);
EX : Execuo da Instruo (EXECUTE instruction) (se for ADD , somamos, se for SUB,
subtramos, etc.);
MEM : Acesso memria (MEMORY access), gravao na memria, se necessrio ou
carregamento a partir da memria;
ER : Gravao (Write instruction) do valor calculado nos registros.
As instrues so organizadas em uma fila de espera na memria e so carregadas uma aps a
outra.
Graas ao pipeline, o processamento das instrues precisa das cinco etapas anteriores. Na
medida em que a ordem dessas etapas invarivel (LI, DI, EX, MEM e ER), possvel criar no
processador certo nmero de circuitos especficos 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 instruo (LI), enquanto a anterior estiver em
curso de decodificao (DI), que a anterior a esta estiver em curso de execuo (EX), que a
anterior anterior acesse memria (MEM) e, finalmente, que a primeira da srie esteja em
curos de gravao nos registros (ER).
Em geral, devemos prever de 1 a 2 ciclos de relgio (raramente mais do que isso) para cada
fase do pipeline, ou seja, 10 ciclos de relgio, no mximo, por instruo. Para duas instrues,
12 ciclos de relgio, no mximo, sero necessrios (10 +2 = 12 em vez de 10*2=20), porque a
instruo anterior j estava no pipeline. Ambas as instrues esto sendo processadas no
processador, com um desfasamento de um ou dois ciclos de relgio. Para 3 Instrues, 14 ciclos
de relgio sero necessrios, etc.
O princpio do pipeline comparvel uma cadeia de produo de carros. O carro passa de
uma estao de trabalho para a outra, ao longo da linha de montagem e sai do edifcio
completamente montado. Para entender bem o princpio, preciso observar a cadeia como um
todo, e no, carro por carro. preciso 3 horas para montar um carro, porm, um carro
produzido a cada minuto!
Saiba que existem diferentes tipos de pipeline, de 2 a 40 andares, mas o princpio sempre o
mesmo.

Tecnologia superescalar
A tecnologia superescalar (em ingls superscaling) consiste em dispor de vrias unidades de
processamento, em paralelo, para poder processar vrias instrues, por ciclo.

HyperThreading
A tecnologia HyperThreading (ou Hyper-Threading, chamada HT, traduza HyperFlots ou
HyperFlux) consiste em definir dois processadores lgicos dentro de um processador fsico.
Assim, o sistema reconhece dois processadores fsicos e se comporta como um sistema
multitarefas, enviando dois "threads" simultneos, chamados SMT (Simultaneous Multi
Threading). Esse truque faz o melhor uso dos recursos do processador garantindo que os
dados so enviados a granel.

Multincleo
Um processador multincleo um processador composto, no de 1 mas de 2 (ou 4 ou 8)
unidades de clculo. Assim, para um processador DualCore , o processador dispe da
frequncia de relgio equivalente a uma potncia de clculo duas vezes maior. No entanto, o
ganho nem sempre visvel. Na verdade, necessrio que os softwares e os sistemas
operacionais saibam lidar adequadamente com esses processadores para que um ganho
significativo seja perceptvel. Ainsi, sous Windows, seul Vista exploite correctement ces
processeurs. Assim, no Windows, s o Vista explora corretamente esses processadores. Neste
caso, recomenda-se a verso 64 bits.
Recursos sobre o mesmo assunto
Comparativo: processadores
Este documento, intitulado Microprocessador a partir de Kioskea (pt.kioskea.net) est disponibilizado sob a
licena Creative Commons. Voc pode copiar, modificar cpias desta pgina, nas condies estipuladas pela
licena, como esta nota aparece claramente.