Unidade de ponto flutuante: A unidade de ponto ... - Gran Cursos
Unidade de ponto flutuante: A unidade de ponto ... - Gran Cursos
Unidade de ponto flutuante: A unidade de ponto ... - Gran Cursos
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ARTIGO IV – PRINCIPAIS PARTES DA CPU<br />
Principais partes da CPU:<br />
Nos primeiros computadores as partes da CPU eram construídas separadamente, ou<br />
seja, um equipamento fazia o papel <strong>de</strong> unida<strong>de</strong> lógica e aritmética e outro fazia o papel <strong>de</strong><br />
unida<strong>de</strong> <strong>de</strong> controle. A partir da miniaturização dos processadores estas partes passaram a ser<br />
construídas juntas e com os microprocessadores as unida<strong>de</strong>s lógica e aritmética e <strong>de</strong> controle<br />
passaram a ser construídas em chips <strong>de</strong> silício que me<strong>de</strong>m poucos centímetros.<br />
1. ULA (unida<strong>de</strong> lógica e aritmética, UAL – unida<strong>de</strong> aritmética e lógica ou ainda ALU –<br />
arthmetic logic unit): É principal parte da CPU, porque é quem realmente processa. A ULA<br />
realiza as operações lógicas e aritméticas com os dados. Para executar as instruções é<br />
conveniente lembrar que há micro instruções gravadas diretamente na ULA (informam como<br />
fazer), estes comandos gravados em hardware é chamado <strong>de</strong> firmware.<br />
Normalmente não é necessário conhecimento profundo sobre as unida<strong>de</strong>s internas do<br />
processador, porém, vamos tentar compreen<strong>de</strong>r algo mais do que o básico.<br />
1.1. Portas lógicas: Quando a corrente passa pelos transistores estes po<strong>de</strong>m ser<br />
programados para serem ligados ou <strong>de</strong>sligados e também po<strong>de</strong>m ser programados para<br />
controlar a ativida<strong>de</strong> <strong>de</strong> outros transistores, esta capacida<strong>de</strong> <strong>de</strong> controlar a ativida<strong>de</strong> dos outros<br />
transistores é chamada <strong>de</strong> porta. As portas po<strong>de</strong>m ser enca<strong>de</strong>adas para produzir cálculos<br />
simples ou complexos, com diferentes combinações <strong>de</strong> portas o processador consegue efetuar<br />
as operações matemáticas. As portas po<strong>de</strong>m ser:<br />
1.1.1. Porta NÃO lógica: A porta NÃO lógica é formada por apenas um transistor e<br />
produz como saída sempre o oposto da entrada do transistor anterior.<br />
Entrada Saída<br />
1 0<br />
0 1<br />
1.1.2. Porta OU lógica: A porta OU lógica utiliza a comparação <strong>de</strong> dois transistores e<br />
produz 1 se o primeiro ou o segundo transistores forem 1.<br />
1ª Entrada 2ª Entrada Saída<br />
0 0 0<br />
0 1 1<br />
1 0 1<br />
1 1 1<br />
1.1.3. Porta E lógica: A porta E lógica utiliza a comparação <strong>de</strong> dois transistores e<br />
produz 1 se o primeiro e o segundo transistores forem 1.<br />
1ª Entrada 2ª Entrada Saída<br />
0 0 0<br />
0 1 0<br />
1 0 0<br />
1 1 1<br />
1.1.4. Porta XOR lógica (OU EXCLUSIVO): A porta XOR lógica utiliza a comparação<br />
<strong>de</strong> dois transistores e produz 1 se o primeiro e o segundo transistores forem diferentes.
1ª Entrada 2ª Entrada Saída<br />
0 0 0<br />
0 1 1<br />
1 0 1<br />
1 1 0<br />
1.2. Operações aritméticas: Por meio da combinação das diferentes portas o<br />
computador é capaz <strong>de</strong> realizar as quatro operações básicas: soma, subtração, multiplicação e<br />
adição (em verda<strong>de</strong> só existe soma, porque a subtração é soma <strong>de</strong> número negativo, a<br />
multiplicação é o resultado <strong>de</strong> somas repetidas e a divisão é a soma repetida <strong>de</strong> números<br />
negativos).<br />
As operações <strong>de</strong> soma <strong>de</strong> dois números binários, por exemplo, po<strong>de</strong>m ser efetuadas<br />
por meio da combinação <strong>de</strong> uma porta E e uma porta XOR. Para somar números mais<br />
complexos é necessário combinar diversas portas.<br />
1.3. Operações lógicas e operadores relacionais: As operações lógicas que a ULA<br />
po<strong>de</strong> realizar são, na verda<strong>de</strong>, comparações. Comparar números, letras, cores po<strong>de</strong> ser<br />
essencial para a realização das tarefas, pois o computador po<strong>de</strong>rá executar ações com base<br />
nos resultados das combinações realizadas. Os programadores utilizam operadores relacionais<br />
para representar as combinações. Apesar <strong>de</strong> as operações lógicas po<strong>de</strong>rem ser resumidas em<br />
apenas três (igual, menor e maior), vamos também falar das combinações entre elas e mostrar<br />
os respectivos operadores relacionais (=, < e >):<br />
1.3.1.Condição <strong>de</strong> igualda<strong>de</strong> (=): Compara dois valores para <strong>de</strong>terminar se há<br />
igualda<strong>de</strong> entre eles.<br />
1.3.2. Condição menor que (): Compara dois valores para <strong>de</strong>terminar se o primeiro é<br />
maior que o segundo.<br />
1.3.4. Condição não é igual a (): É a combinação entre a condição <strong>de</strong> menor que e<br />
a <strong>de</strong> maior que. Esta condição compara se um valor é maior ou menor que outro, ou<br />
seja, se o primeiro é diferente do segundo. Sabendo que o primeiro é maior ou menor<br />
que o segundo saberá que se não é igual ao primeiro.<br />
1.3.5. Condição <strong>de</strong> menor ou igual a (=):Também é uma combinação <strong>de</strong> duas<br />
condições e compara se o primeiro é maior ou igual ao segundo.<br />
2. UC (<strong>Unida<strong>de</strong></strong> <strong>de</strong> controle ou control unit): Coor<strong>de</strong>na os outros componentes internos da<br />
CPU para a execução <strong>de</strong> instruções armazenadas em um programa (buscadas na memória<br />
principal). A unida<strong>de</strong> <strong>de</strong> controle não processa, ela apenas coor<strong>de</strong>na as partes do processador<br />
para que o processamento ocorra da forma mais apropriada, verificando a or<strong>de</strong>m dos dados e<br />
a sincronia entre as outras partes. A UC é responsável por <strong>de</strong>terminar quais etapas do<br />
processamento <strong>de</strong>verão ser executadas em <strong>de</strong>terminado momento.
3. Registradores: Tanto a ULA como a UC (o processador como um todo) necessitam <strong>de</strong><br />
locais <strong>de</strong> armazenamento temporário <strong>de</strong> dados. Os registradores armazenam instruções ou<br />
dados enquanto não estão sendo processados. São capazes <strong>de</strong> fornecer os dados ou<br />
instruções para a UC ou ULA em velocida<strong>de</strong>s altíssimas porque trabalham na mesma<br />
freqüência do processador.<br />
Os registradores fazem, então, o papel <strong>de</strong> apoio às outras partes do processador.<br />
Po<strong>de</strong>-se fazer uma analogia às caixas registrados que guardam os valores que estão sendo<br />
subtraídos ou somados pelo operado <strong>de</strong> caixa.<br />
Muito cuidado, pois, apesar <strong>de</strong> os registradores serem áreas <strong>de</strong> armazenamento eles<br />
não fazem parte da memória principal, fazem parte da própria CPU. Guardam os dados que<br />
estão diretamente relacionados com a operação em execução. Já a memória principal<br />
armazena os dados que serão processados em seguida.<br />
Os registradores, <strong>de</strong>ntro <strong>de</strong> um escalonamento <strong>de</strong> memórias, seria a memória que<br />
possui a maior velocida<strong>de</strong> <strong>de</strong> transferência, ou seja, possui o menor tempo <strong>de</strong> resposta, porém,<br />
também é a mais cara e por isso está presente sempre em pouca quantida<strong>de</strong>. Os registradores<br />
armazenam dados em caráter temporário e são voláteis, ou seja, só armazenam as<br />
informações enquanto à energia.<br />
4 Clock (clock <strong>de</strong> sistema ou freqüência): Dispositivo gerador <strong>de</strong> pulsos cuja duração é<br />
chamada <strong>de</strong> ciclo <strong>de</strong> máquina e efetua o sincronismo das fases do processamento. Po<strong>de</strong>mos<br />
dizer que o computador tem um relógio interno (não confunda com o relógio que armazena a<br />
data e hora) que <strong>de</strong>termina o ritmo <strong>de</strong> trabalho do computador. Este dispositivo é um pequeno<br />
cristal que vibra milhões ou até bilhões <strong>de</strong> vezes por segundo e assim <strong>de</strong>fine os ciclos <strong>de</strong><br />
trabalho da CPU. A quantida<strong>de</strong> <strong>de</strong> vezes em que este pulso se repete em um segundo <strong>de</strong>fine a<br />
unida<strong>de</strong> <strong>de</strong> medida do clock, <strong>de</strong>nominada <strong>de</strong> freqüência. A unida<strong>de</strong> <strong>de</strong> medida usual para a<br />
freqüência é o Hertz (Hz), que significa um ciclo por segundo.<br />
Normalmente, utiliza-se o clock como elemento auxiliar para <strong>de</strong>terminar a velocida<strong>de</strong><br />
<strong>de</strong> uma CPU. No entanto, o clock não é a melhor forma <strong>de</strong> se aferir o <strong>de</strong>sempenho ou<br />
velocida<strong>de</strong> <strong>de</strong> um microcomputador em relação a outros <strong>de</strong> arquitetura diferente, já que é uma<br />
medida <strong>de</strong> freqüência <strong>de</strong> trabalho e não <strong>de</strong> velocida<strong>de</strong> propriamente dita. Cada arquitetura<br />
diferente <strong>de</strong> microprocessador po<strong>de</strong>rá permitir a manipulação <strong>de</strong> quantida<strong>de</strong> <strong>de</strong> dados<br />
diferentes a cada ciclo <strong>de</strong> clock, além do mais, é possível que num mesmo ciclo alguns<br />
processadores possam executar mais <strong>de</strong> uma instrução <strong>de</strong> máquina (processadores com<br />
arquitetura superescalar).<br />
Os processadores possuem dois clocks ou duas freqüências, uma medida<br />
internamente e a outra medida externamente.<br />
4.1. Clock externo (FSB Front Si<strong>de</strong> Bus) – barramento local (<strong>de</strong> dados): O clock<br />
externo <strong>de</strong>termina o ritmo em que o processador se comunica com a memória principal. Já foi<br />
visto que o clock externo tem que trabalhar na mesma freqüência da memória principal.
Atualmente alguns processadores já chegaram à freqüência externa <strong>de</strong> 1066 MHz ou<br />
1,066 GHz <strong>de</strong> clock externo (Pentium EE), porém, cabe ressaltar que a velocida<strong>de</strong> real é<br />
menor. O que acontece, na Intel, é que eles utilizam uma técnica chamada QDR ou Quad Data<br />
Rate (taxa <strong>de</strong> transferência quadruplicada). Sendo assim, um processador Pentium 4 HT com<br />
clock externo <strong>de</strong>clarado pelo fabricante como sendo <strong>de</strong> 800 MHz é na verda<strong>de</strong> <strong>de</strong> 200 MHz só<br />
que consegue transferir até quatro palavras a cada ciclo o que faz com tenha um <strong>de</strong>sempenho<br />
quatro vezes superior aos 200 MHz reais, por isso é oferecido com a taxa <strong>de</strong> 800 MHz.<br />
A AMD também faz seus truques para que o clock externo pareça maior do que<br />
realmente é. A AMD utiliza a técnica chamada DDR ou Double Data Rate (taxa <strong>de</strong> transferência<br />
dobrada), sendo assim o processador AMD Athlon 64 FX com 400MHz <strong>de</strong> clock externo<br />
<strong>de</strong>clarado pelo fabricante em verda<strong>de</strong> trabalha com 200 MHz, mas transfere o dobro <strong>de</strong> dados<br />
a cada pulso <strong>de</strong> clock e por isso é vendido como se fosse <strong>de</strong> 400 MHz.<br />
4.2. Clock interno: O clock interno me<strong>de</strong> a freqüência do processador, ou seja, é<br />
capaz <strong>de</strong> <strong>de</strong>terminar quantas instruções <strong>de</strong> máquina o computador será capaz <strong>de</strong> realizar a<br />
cada segundo.<br />
Em processadores <strong>de</strong> mesma arquitetura e clocks internos diferentes, logicamente, o<br />
<strong>de</strong> clock maior po<strong>de</strong>rá efetuar mais instruções a cada segundo e por isso po<strong>de</strong>rá ser<br />
consi<strong>de</strong>rado mais rápido. Porém, como já afirmado não é correto comparar dois processadores<br />
<strong>de</strong> arquiteturas diferentes utilizando apenas o clock interno.<br />
Atualmente (maio/2006) os processadores já possuem clocks internos na or<strong>de</strong>m <strong>de</strong> 3,8<br />
GHz (3,8 bilhões <strong>de</strong> ciclos por segundo) e logo estarão ultrapassando a barreira dos 4 GHz.<br />
4.2.1. Clock interno x Clock externo: Talvez você já esteja pensando: “Mas<br />
você não acabou <strong>de</strong> dizer que o processador terá que se comunicar com a memória na<br />
mesma velocida<strong>de</strong> <strong>de</strong>la?”<br />
Em verda<strong>de</strong>, o processador até po<strong>de</strong> ser mais lento que a memória (a memória<br />
será acessada no ritmo do processador – trabalhará mais <strong>de</strong>vagar), o que não po<strong>de</strong> é<br />
aconselhável é o contrário.<br />
Mas, então como o clock externo é <strong>de</strong> “800 MHz” e o clock interno já está<br />
chegando a 4 GHz? O processador não está com clock maior que a memória?<br />
Meu amigo concurseiro, você está coberto <strong>de</strong> razão... O processador até po<strong>de</strong><br />
trabalhar internamente a 4 GHz, porém, para se comunicar com a memória terá que ir<br />
“mais <strong>de</strong>vagar” e falar com ela na velocida<strong>de</strong> que ela enten<strong>de</strong>, por exemplo, 800 MHz.<br />
E como faz isso?! Como o processador fica mais <strong>de</strong>vagar? É aí que entra uma outra<br />
“gambiarrazinha” do pessoal da Intel: O “Multiplicador do clock interno.<br />
4.2.2. Multiplicador do clock interno: Até a chegada dos processadores<br />
80486 da Intel os processadores tinham clock interno real igual ao clock externo, por<br />
isso não havia problema algum. A tecnologia da época permitia que as placas-mães<br />
suportassem freqüências até superiores à do clock interno. Porém, com a chegada dos<br />
80486DX2 o clock interno passou a ser construído com freqüência superior à
freqüência do barramento <strong>de</strong> dados e foi necessária a criação do “multiplicador do<br />
clock”.<br />
O processador continuou a ser produzido com clocks baixos (para conversar<br />
com a memória), mas, internamente po<strong>de</strong>ria trabalhar em ritmo alto (clock interno com<br />
fator <strong>de</strong> multiplicação). Veja só: Aquele processador Pentium 4 HT com clock real <strong>de</strong><br />
200 MHz (com quatro palavras a cada pulso <strong>de</strong> clock que faz parecer 800 MHz) tem<br />
internamente clock <strong>de</strong> 3,8 GHz o que faz você concluir que utiliza um fator <strong>de</strong><br />
multiplicação <strong>de</strong> 19 x (200 MHz <strong>de</strong> clock real x 19 = 3.800 MHz = 3,8 GHz clock<br />
interno). O fator <strong>de</strong> multiplicação do processador <strong>de</strong>verá ser <strong>de</strong>finido na hora <strong>de</strong><br />
configuração do processador na placa-mãe.<br />
4.2.3. Wait states ou ciclos <strong>de</strong> espera: Muitas vezes o processador tem que<br />
aguardar a memória ou outros dispositivos mais lentos para receber dados ou<br />
instruções, então, o processador po<strong>de</strong>rá ficar alguns ciclos à espera dos outros<br />
dispositivos. Este tempo que o processador não recebe informações ou instruções é<br />
conhecido pelo nome <strong>de</strong> estados <strong>de</strong> espera (wait states) e é um tempo inútil para o<br />
processamento <strong>de</strong> dados.<br />
4.2.4. Formas <strong>de</strong> compensar a diferença entre clock interno e clock<br />
externo (evitar wait states): Para minimizar tão gran<strong>de</strong> diferença entre o clock interno<br />
e o clock externo os fabricantes têm procurado técnicas que reduzam o tempo <strong>de</strong><br />
espera do processador ou aumentem a capacida<strong>de</strong> <strong>de</strong> acesso à memória.<br />
Atualmente os processadores utilizam as técnicas <strong>de</strong> transferência dupla ou<br />
quádrupla a cada ciclo <strong>de</strong> clock.<br />
Além disso, os processadores têm feito uso cada vez maior da memória cachê<br />
interna. Já sabemos que a cachê interna tem freqüência maior que a memória principal,<br />
ou seja, mais próxima a do processador e assim, se o dado a ser processado estiver na<br />
memória cachê não haverá retardo (ou vai ser menor).<br />
4.2.5. Overclock: A técnica <strong>de</strong> utilizar o clock acima dos valores indicados pelo<br />
fabricante é chamada <strong>de</strong> overclock. O usuário <strong>de</strong>verá ter cuidado com o problema do<br />
aquecimento e ter também a noção <strong>de</strong> que a vida útil do processador po<strong>de</strong>rá ser<br />
diminuída caso utilize o processador com overclock. Existem dois tipos <strong>de</strong> overclock:<br />
interno e externo;<br />
O overclock interno é <strong>de</strong>finido aumentando-se o fator <strong>de</strong> multiplicação do clock<br />
interno. O fabricante faz um conjunto <strong>de</strong> testes e diz: “Olha pessoal este processador<br />
trabalha muito bem a 3,8 GHz, isso eu garanto”. Porém, alguns usuários sabem que<br />
este processador é capaz <strong>de</strong> trabalhar <strong>de</strong> forma relativamente segura a 4,0 ou 4,2 GHz<br />
e assim utilizam um fator <strong>de</strong> multiplicação do clock interno maior do que o indicado pelo<br />
fabricante. Atualmente alguns fabricantes lançam os processadores com o fator <strong>de</strong><br />
multiplicação do clock interno travado para coibir tal prática!<br />
O overclock do barramento externo também é possível, ou seja, alguns<br />
usuários também experimentam fazer com que o processador se comunique com a
memória além da capacida<strong>de</strong> aconselhada pelo fabricante, por exemplo: se o<br />
processador é vendido com clock externo <strong>de</strong> 200 MHz, é possível fazê-lo trabalhar, <strong>de</strong><br />
forma aparentemente segura, a 210 ou 220 MHz.<br />
5. Cachê do processador (cachê interna): Sabe-se que a função da memória cachê é<br />
acelerar o processamento. Des<strong>de</strong> o 80386 que os computadores já trazem alguma porção <strong>de</strong><br />
memória cachê incorporada ao próprio processador. A partir do 80486 também foi utilizada<br />
uma porção <strong>de</strong> memória cachê instalada na placa-mãe (externa), esta memória ficou conhecida<br />
como L2 e a primeira (interna) como L1. Já faz algum tempo que os processadores<br />
incorporaram também a L2 e hoje possuem a L1 e a L2 interna. Alguns processadores mais<br />
mo<strong>de</strong>rnos, <strong>de</strong> alto <strong>de</strong>sempenho, também já possuem memória cachê nível 3 (L3) interna,<br />
aumentando mais ainda a performance do sistema.<br />
5.1. Controlador da memória cachê: Este item faz o gerenciamento <strong>de</strong> quais dados<br />
serão colocados em cachê e levados ao processador. Atualmente os processadores já<br />
possuem os controladores <strong>de</strong> cachê L1 e L2 também incorporados.<br />
6. <strong>Unida<strong>de</strong></strong> <strong>de</strong> <strong>ponto</strong> <strong>flutuante</strong> (conhecida antigamente como co-processador<br />
matemático) – FPU Float Point Unit: Os computadores não são muito bons para lidar com<br />
números fracionários, números muito pequenos ou muito gran<strong>de</strong>s, para este tipo <strong>de</strong> cálculo a<br />
ULA não é bem “treinada”. Em outras palavras po<strong>de</strong>mos dizer que a ULA não contém<br />
instruções específicas para lidar com algumas funções matemáticas mais complexas.<br />
6.1. Co-processador matemático: Os processadores antigos (80286 – coprocessador<br />
80287 e 80386 – co-processador 80387) eram auxiliados por outro processador<br />
mais especializado para a realização <strong>de</strong> operações matemáticas complexas. Este outro<br />
processador auxiliar ficou conhecido como co-processador matemático.<br />
6.2. <strong>Unida<strong>de</strong></strong> <strong>de</strong> <strong>ponto</strong> <strong>flutuante</strong>: A partir do processador 80486 os processadores<br />
passaram a incorporar (internamente) a função <strong>de</strong> co-processamento matemático e, a partir <strong>de</strong><br />
então, a os processadores receberam mais um componente que passou a ser chamado <strong>de</strong><br />
unida<strong>de</strong> <strong>de</strong> <strong>ponto</strong> <strong>flutuante</strong>. Este nome é pertinente à capacida<strong>de</strong> da unida<strong>de</strong> realizar cálculos<br />
matemáticos complexos.
7. Etapas do processamento (ciclo <strong>de</strong> máquina): O processamento, propriamente dito, é<br />
efetuado em etapas. Para cada instrução <strong>de</strong> máquina o processador gastará pelo menos um<br />
pulso <strong>de</strong> clock (atualmente po<strong>de</strong> ser menos), percorrendo uma série <strong>de</strong> passos. Embora as<br />
etapas do processamento não sejam, normalmente, cobradas em concursos as explicações a<br />
seguir serão úteis para enten<strong>de</strong>r conceitos como processamento pipeling, arquitetura<br />
superescalar e outros. As principais etapas que compõem um ciclo <strong>de</strong> máquina são divididas<br />
em tempo <strong>de</strong> instrução e tempo <strong>de</strong> execução.<br />
7.1. Tempo <strong>de</strong> instrução: Diz respeito às etapas iniciais do processamento, ou seja, é a<br />
reunião das etapas <strong>de</strong> buscar a instrução (e os dados necessários) e interpretar esta instrução<br />
para saber qual operação será executada. Vejamos:<br />
7.1.1.Captar: A unida<strong>de</strong> <strong>de</strong> controle é responsável por obter a instrução que está em<br />
memória principal e a colocar em uma memória interna do processador (registrador).<br />
7.1.2. Decodificar: A unida<strong>de</strong> <strong>de</strong> controle é responsável, ainda, por dizer o que<br />
significa a instrução que foi buscada em memória, ou seja, a unida<strong>de</strong> <strong>de</strong> controle <strong>de</strong>termina<br />
qual operação <strong>de</strong>verá ser efetuada pela ULA. Nesta etapa a UC também <strong>de</strong>fine a localização<br />
(em memória) dos dados necessários para a realização da instrução. Por exemplo: Se for para<br />
somar dois números (27 + 28) a UC então <strong>de</strong>codifica a instrução indicando que a operação a<br />
ser realizada é a <strong>de</strong> soma e também i<strong>de</strong>ntifica em qual posição da memória estão os números<br />
27 e 28 que serão somados.<br />
7.2. Tempo <strong>de</strong> execução: Diz respeito às etapas finais do ciclo <strong>de</strong> processamento, ou seja, é a<br />
reunião das etapas <strong>de</strong> execução e registro do resultado.<br />
7.2.1. Executar: A unida<strong>de</strong> <strong>de</strong> controle não executa, porém, é responsável por<br />
transferir os dados da memória para os registrados (memória <strong>de</strong> apoio) da ULA. A ULA é que<br />
será responsável por executar a instrução por meio <strong>de</strong> suas operações aritméticas e lógicas.<br />
No nosso exemplo a ULA executa a soma dos números 27 e 28.<br />
7.2.2. Armazenar ou registrar: A unida<strong>de</strong> <strong>de</strong> controle armazena o resultado (no nosso<br />
exemplo o resultado da soma é 55). Enviará para a memória principal se este resultado bastar<br />
para completar a instrução do software ou armazenará o resultado em um acumulador caso o<br />
resultado seja necessário para executar a próxima instrução <strong>de</strong> máquina.
8. Esquema básico da<br />
organização do<br />
processador: O dado a ser<br />
processado é requerido à<br />
memória principal, da<br />
memória principal é<br />
transferido para a cachê L2<br />
(pela freqüência do clock<br />
externo). Daqui para frente<br />
(veja o quadro ao lado) a<br />
velocida<strong>de</strong> será <strong>de</strong>finida pelo<br />
clock interno. Então, a<br />
instrução segue da cachê L2<br />
para a cachê L1 (cachê <strong>de</strong><br />
instruções) e <strong>de</strong>sta para a<br />
unida<strong>de</strong> <strong>de</strong> busca que, ao<br />
i<strong>de</strong>ntificar a instrução a ser<br />
processada faz a<br />
<strong>de</strong>codificação da mesma e a<br />
envia à unida<strong>de</strong> <strong>de</strong> execução.<br />
A unida<strong>de</strong> <strong>de</strong> execução<br />
(normalmente a ULA) por sua<br />
vez encaminha à cachê L1<br />
(cachê <strong>de</strong> dados). Da<br />
memória cachê L1 <strong>de</strong> dados a<br />
instrução po<strong>de</strong> retornar à<br />
memória principal ou po<strong>de</strong> ser<br />
enviada a um periférico <strong>de</strong><br />
saída ou a um dispositivo <strong>de</strong><br />
armazenamento, tudo<br />
<strong>de</strong>pen<strong>de</strong>rá da instrução<br />
seguinte do software.<br />
MEMÓRIA PRINCIPAL<br />
CACHÊ L2<br />
CACHÊ L1 DE INSTRUÇÕES<br />
BUSCA<br />
DECODIFICAÇÃO<br />
EXECUÇÃO<br />
CACHÊ L1 DE DADOS