Você está na página 1de 5

10.CPU(CentralProcessorUnit)................................................................................................................................

102
10.1 Conjuntodasinstrues..............................................................................................................................102
10.2 Estruturainterna............................................................................................................................................104
10.3 Formatodasinstrues...............................................................................................................................104


10. CPU(CENTRALPROCESSORUNIT)
Comovimosnocaptulo8,ummesmomdulofuncionalpodiarealizarumamultiplicaoouuma
diviso funo de um bit de entrada no mdulo de controlo. Este facto, conduznos ideia de
conceberumaestruturacapazdeexecutarqualqueralgoritmo.A estruturadeverserconstituda
por um mdulo funcional contendo uma ALU, caminhos de dados para obteno de operandos, e
armazenamento de resultados numa memria de dados, um mdulo de controlo em que o
comportamentolhesejadeterminadoporinstruesarmazenadasnumamemriadeprograma.O
mdulodecontroloter duasfases,umadepreparaoemqueldamemriadeprogramauma
instruoeoutradeexecuo,querealizaacesdeterminadaspelosbitscontidosnessainstruo.
Ocontrolorepetirestasduasfasesdeformacontinuadaatconcluiroalgoritmo.
Assimsendo,estaestruturaserconstitudapelosseguinteselementos:
Memriadeprogramaondesearmazenamasvriasinstruesaseremexecutadas;
Memriadedadosondesearmazenemoperandoseresultadosdasoperaes;
MdulofuncionalcontendoumaALUcapazderealizaroperaesaritmticas,relacionaise
lgicas;
Mdulo de controlo contendo um registo denominado PC que, lhe indique na fase de
preparao,qualoendereodememriadeondevaiserlidaainstruoaserexecutadae
quedestaformaestabeleceoestadodeexecuodoprograma.
estaestruturaformadapelomdulofuncionalepelomdulodecontrolo,quedenominamospor
processadorouCPU(CentralProcessorUnit)ecujopossveldiagramadeblocosestrepresentado
naFigura101.

Figura101CPU,diagramadeblocos

ComosepodeobservarnaFigura101,omodelodecontrolomuitoidnticoaodocontrolomicro
programado.

10.1 Conjuntodasinstrues
Desde o incio do desenvolvimento dos processadores que existem vrias linhas de concepo no
sentido de procurar a melhor relao entre complexidade e eficincia. Entre estas linhas de
desenvolvimento, destacamse as arquitecturas CISC (Complex Instruction Set Computer) seguidas
emgrandepartepelaINTEL,easarquitecturasRISC(ReducedInstructionSetComputer)seguidas
pelaARMe MIPS.Ograndedesenvolvimentoqueasarquitecturas RISCtiveramnosltimosanos
devese essencialmente ao facto do conjunto das instrues ser uniforme, regular e ortogonal.
ArquitecturadeComputadores
JosParaiso(Ver2.1) Pgina102

Comoconsequncia,estasarquitecturaspodemsermaisfacilmenteimplementadasemestruturas
pipeline,melhorandodestaformaoseudesempenho.
Aespecificaodeumprocessadorpassapordefiniralgunselementosconstituintes,umconjunto
de instrues a que este deve obedecer, a dimenso e o formato destas. Aps definir estes
elementos estamos em condies de desenhar uma arquitectura que melhor d resposta
especificao estabelecida. O desenho do processador, como se constatar adiante, ser de certa
forma iterativa, ou seja, sero feitos reajustes ao longo do processo caso a arquitectura
pontualmente se complique demasiado para responder especificao de uma instruo no
essencial.
Aarquitecturadoconjuntodasinstrues,tambmdenominadoISA(InstructionSetArchitecture),
constitui uma parte fundamental na definio da arquitectura do processador. Por esta razo
deveremoscomearpordefinirquetipodeinstruesqueoCPUdeverexecutar,talqueatravs
delas,sepossasintetizarcomeficinciaumadeterminadagamadealgoritmos,istoporqueoISAde
umprocessadordeusogenricosercomcertezadiferentedoISAdeumprocessadordeimagem
oudeumprocessadordecontrolo.
Um ISA tem trs componentes: a especificao da instruo; o formato da instruo; e a fonte de
armazenamento dos operandos. A especificao est ligada a gama de algoritmos, o formato
complexidadedaarquitecturaeafontedearmazenamentoaotipodememria.
Nocasodeumprocessadorgenrico,podemsedefinirtrstiposdeinstruo:
Transferncia l da memria de dados ou da memria de programa os valores que
constituemosoperandosdaALUeescrevemnamemriadedadosos
resultadosproduzidospelasoperaesefectuadaspelaALU;
Processamento estabelecequalaoperaoaserrealizadapelaALU;

ControlodeFluxo por avaliao do resultado produzidos pelos operadores relacionais


alteraoestadodeexecuodoprograma.

Concretizadooprocessador,ouseja,aarquitecturaeoISA,oprogramadorexprimeoalgoritmoque
pretende realizar atravs de uma lista de instrues ao qual d o nome de programa, e no qual
especifica as operaes a realizar, os operandos e a sequncia com que as instrues sero
processadas.
No sentido de diminuir a dimenso da memria de programa, as vrias instrues podem ser
codificadas(comprimidas)numasriedebits,oqualpassaremosadenominarporcdigomquina.
Esta srie de bits organizados em palavras, ser posteriormente armazenado na memria de
programaaqueporestarazousualmentereferidacomomemriadecdigo.
Dado que a execuo de um algoritmo concretizado pela execuo de uma sequncia de
instrues, ento por simplicidade colocaremos a sequncia de instrues que compem o
programaemendereosconsecutivosdamemriadeprograma.
Uma vez que o cdigo do programa est armazenado de forma sequencial, e como j foi
anteriormente referido, o mdulo de controlo do processador dispe de um registo usualmente
denominadoporPC(ProgramCounter)ouIP(InstructionPointer)quereferenciaainstruoque
vais ser executada, ento este registo, por cada instruo executada incrementado de uma
unidadedeinstruo.Noentantoainstruoaserexecutada,podeserdotipocontrolodefluxo,ou
ArquitecturadeComputadores
JosParaiso(Ver2.1) Pgina103

seja,quetemcomoobjectivoaalteraodovalordoregistoPC.Estaaco,referidanormalmente
porsalto(jumpoubranch)permiteaexecuocondicionadadeumtroodeprograma.

10.2 Estruturainterna
A arquitectura de um processador como j foi referido anteriormente consiste numa estrutura
contendoregistos,operadores,caminhosparaosdadoseumsistemadecontroloquedeterminaa
sequnciadeacesarealizarsobreregistoseoperadoresquecompemaestrutura.
O elemento principal do CPU uma ALU, capaz de executar operaes aritmticas: soma,
subtraco, etc., bem como operaes lgicas bsicas. Como a ALU executa operaes unrias e
binrias, so necessrios dois registos para conter os dois operandos, e um registo onde
armazenadooresultado.Almdosoperadoresaritmticoselgicos,aALUimplementaoperadores
relacionaisbooleanos,taiscomoigualdade,maiorque,menorque,informaodequeasoperaes
aritmticas produziram excesso etc. So o resultado destes ltimos operadores, normalmente
denominadosporflags,queforneceminformaosinstruesdecontrolodefluxonosentidode
realizarexecuocondicionada.Asflagsproduzidasduranteumaoperaolgicaouaritmticaso
armazenadas num registo denominado PSW (Program Status Word), permitindo a avaliao das
flagsnasinstruessubsequentes.Asflagsmaiscomunsso:aZ(Zero)que,quandoactiva,indica
que o resultado da operao lgica ou aritmtica foi igual a zero; a de CY (carry) com dupla
funcionalidade que, quando activo, indica que a adio produziu arrasto (carry) e a subtraco
deficit (borrow); a GE (Greater or Equal) que, indica que a operao aritmtica produziu um
resultado positivo, interpretados os operandos, como inteiros com sinal em cdigo dos
complementosparadois.

10.3 Formatodasinstrues
Quanto ao formato das instrues estas podem ser constitudas unicamente pelo cdigo da
instruo ou pelo cdigo da instruo e um ou mais parmetros. bvio que quanto maior for o
nmero de bits que dispusermos para codificar a instruo mais estruturada ser a codificao e
porconseguintemaissimplesserodescodificadordasmicroinstrues.
Oformatomaisnaturalseriaconstitudoportrsparmetros:asrefernciasdememriadosdois
operandosearefernciadememriaondecolocaroresultado.Esteformatotemcomovantagem
um menor nmero de instrues para executar um algoritmo, mas tem como desvantagem a
dimensodecadainstruo.Oaumentodadimensodecadainstruoimplicarmaiordimenso
dobusdedadosqueligaoCPUmemriaouoaumentodotempodepreparaodainstruopor
acessos sucessivos memria caso esta fosse seccionada e repartida por vrias posies da
memria.
Outro formato mais econmico seria instrues com um s operando. Este formato tem como
vantagemadiminuiodalarguradobusdedadosmastemcomodesvantagemamenoreficincia
em termos do nmero de instrues necessrias para executar um algoritmo. Para cumprir o
mesmo objectivo de uma instruo com trs parmetros seriam necessrias instrues para
transportarindividualmentecadaumdosoperandoseoresultado.
Este equilbrio no fcil de obter pois so muitas as variveis em jogo, quando se pensa na
implementaoenaeficinciadeexecuoenadimensodoprograma.

ArquitecturadeComputadores
JosParaiso(Ver2.1) Pgina104

Outroitemquenecessriodefinirarefernciaaosoperandos,ousejaotipodeparmetroque
cada instruo manipula. Este item normalmente denominado por tipo de endereamento. So
conhecidos vrios tipos de endereamento sendo os mais comuns: imediato, directo, registo,
indirectoeoindexado.

Imediato oparmetrooprpriovalor.

Directo oparmetroconstituioendereodememriaonderesideooperando.

Registo oparmetroarefernciaaoregistosquecontmooperando

Indirecto oparmetroarefernciaaumregistocujocontedoserve deendereoda


memriaonderesideooperando.

Indexado constitudopordoisparmetros:arefernciaaumregistobaseeumndice.O
contedo do registo referenciado servir como endereo base que, somado
comondice,defineoendereodememriaondeseencontraooperando.O
ndicepoderserumaconstanteouocontedodeumregisto.

ArquitecturadeComputadores
JosParaiso(Ver2.1) Pgina105

Você também pode gostar