02.01.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!