Trabajo Resumen Capitulo 2 Computer organization & design
-
Upload
jhonriraito -
Category
Documents
-
view
7 -
download
2
description
Transcript of Trabajo Resumen Capitulo 2 Computer organization & design
-
PresentacinIntroduccin
LoslenguajesdebajonivelsepodradefinircomounatraduccindirectadelcdigodemquinaenestapartepodremosverelconjuntodeinstruccionesdeunordenadorrealtantoenlaformaescritaporlossereshumanoscomoenlaformadelecturadeunordenadorSepodrapensarqueloslenguajesdelosordenadoresserantandiversascomolasdelossereshumanos,pero,enrealidad,loslenguajesdeprogramacinsonbastantesimilares(stecdigoesinterpretadoporelmicroprocesador),paraquepuedaserentendibleporlossereshumanos,porlotantoesunlenguajedebajonivel.Estelenguajepermiteunaoptimizacinquenoseconsigueconlenguajesdemedioyaltonivel.Permitelacreacindeprogramasmuyrpidosymuypequeos,ademssetieneuncontrolquenoseconsigueconunlenguajedealtonivel.Objetivos
ObjetivosGeneralesEntenderellenguajedelcomputador.
ObjetivosEspecficos Entenderlatomadedesicionesdelacomputadoraenellenguajemips. Comprenderacercadelamodularizacindehardwareenlacomputadorapor
unlenguajeensamblador.
ContenidoIntroduccinalatomadedecisionesLoquedistingueaunordenadordesdeunasimplecalculadoraessucapacidadde
tomardecisiones.Conbaseenlosdatosdeentradaylosvalorescreadosduranteelclculo,diferentesinstruccionesseejecutan.Latomadedecisionesestrepresentadocomnmenteenloslenguajesdeprogramacinutilizandolasentenciaif,avecescombinadoconlasdeclaracionesyetiquetas.EllenguajeensambladorMIPSincluyedosinstruccionesdetomadedecisiones,deformasimilaraunasentenciaif.
LasentenciadecontrolBEQEnbasealosdatosdeentradahaceunatomadedecisionesyestacomnmente
representadoenloslenguajesdeprogramacincomolasentenciaif.YenellenguajeMIPSconrespectoacsepuededenotaras:
Lenguajec LenguajeMIPS
if(a==b){} beqregistro1,registro2,L1
-
beg:significaquesisoniguales,elflujodelprogramasaltaalainstruccinquecorrespondealaetiqueta(L1).
SentenciadecontrolBNEEnestecaso,silovaloresdeambosregistrosnosoniguales,elprogramasaltaalainstruccinquecorrespondealaetiqueta.
Lenguajec LenguajeMIPS
if(a!=b){}elseifa!=b{}
bneregistro1,registro2,L1
EstasdosinstruccionessontradicionalmentellamadosRamascondicionales
Estaexpresinsecomparaporlaigualdad,porloqueparecequenosgustarabeq.
Engeneral,elcdigosermseficientesisepruebaparalacondicinopuesta.
TerminandoelbucleIF
Ahoratenemosqueiralafinaldelasentenciaif.Enesteejemploseintroduce
otrotipoderama,amenudosellamaunaramaincondicional.Estainstruccindicequeelprocesadorsiempresiguelarama.Paradistinguirentresaltoscondicionaleseincondicionales,elnombredeMIPSparaestetipodeenseanzaeselsalto,abreviadocomoj(laetiquetaExit.sedefineacontinuacin).
Ejemplo:CodificarenellenguajeMIPS
Inta,b,c,i,jIf(i==j){a=b+c}else{a=bc}
Enellenguajemipseria:
bne$s3,$s4,SiNo#Sii!=jiraSiNoadd$s0,$s1,$s2#seevitasii!=jjFin#SaltaaFinSiNo:sub$s0,$s1,$s2#seejecutasii!=jFin:
-
Sentenciacase(variosifthenelse)Lamayoradeloslenguajesdeprogramacintienenunadeclaracindecasoouninterruptorquepermitealprogramadorparaseleccionarunadelasmuchasalternativasenfuncindeunsolovalor.Laformamssencilladeimplementarinterruptoresatravsdeunasecuenciadepruebascondicionales,convirtiendoladeclaracin"switch"enunacadenadeifthenelse.
SoporteyprocedimientosenelhardwaredelacomputadoraUn procedimiento o funcin es una herramienta que usan los programadores, que permite queseamssimpledeentenderelcdigoascomopermitirqueseareutilizable.Permite al programador concentrarse en slo una parte de la tarea, pasndole valores a ser procesadosydevolviendoresultados.Similar a la ejecucin de un programa, un procedimiento debe seguir los siguientes seis pasos:
Coloque los parmetros en un lugar donde el procedimiento puede tener acceso a ellos.
Transfiereelcontrolalprocedimiento. Adquierelosrecursosdealmacenamientoquerequiere. Realizalatareadeseada Coloca el valor del resultado en un lugar donde el programa que llam pueda
accederal. Control de llegada al punto de origen, ya que un procedimiento puede llamarse
desdediversoslugares.UsodelosregistrosSoftwareMIPSLos registros son el lugar ms rpido para mantener los datos de un ordenador disponibles. El software MIPS sigue la siguiente convencin en la asignacin de los 32 registros que usa paraunallamadaalprocedimiento.
v$a0$a3:Cuatroregistrosdeargumentoparaenviarlosparmetros v$v0$v1:Dosregistrosdevalorparadevolvervalores(Resultados) v$ ra : Un registro de la direccin de retorno para volver al punto del cual fue
llamado.Adems de los registros el lenguaje ensamblador MIPS incluye una instruccin slo para los procedimientos en el cual salta a una direccin y simultneamente guarda la direccin de la siguienteinstruccinenelRegistro$ra.(InstruccinJal/JumpandLink)La direccin de llamada al procedimiento es guardada en el registro $ra el cual se conoce como Return Address. El Return Address es necesario porque los procedimientos pueden serllamadosdesdecualquierpartedelprograma.
-
Adems del Return Address hay la necesidad de tener un registro para guardar la direccin de la instruccin actual que ha sido ejecutada. Por razones histricas este registro fue llamado Program Counter (PC) en la arquitectura del MIPS. La instruccin Jal guarda el PC+4 en el registro $ra para vincular con la siguiente instruccin de retornar del procedimiento.Por dicha situacin MIPS usa una instruccin Jump Register mediante un salto incondicional aladireccinespecificadaenelregistro.LainstruccinJumpRegistersaltaaladireccinquefueguardadaenelregistro$ra.ConclusionesLenguajedelaElaboracindelordenador:
Creacindelasconstantesde32bitsnecesitaatencin.Eladdinstruccincopiaelbitmsalaizquierdadelcampoinmediatode16bitsdelainstruccinenlos16bitssuperioresdeunpalabra.LgicaoinmediatadelaSeccin2.5delascargas0senlos16bitssuperioresyhencesonutilizadosporelensambladorenconjuntoconluicrear32bitsconstantes.HardwareSoftwareInterfazOelcompiladoroensambladordeberompergrandesconstantesenpedazosydentrodelensamblajeellasenunregistro.
Comoeradeesperar,eltamaorestriccindelcampoinmediatopuedeserunproblemaparalasdireccionesdememoriaenlascargasytiendas,ascomoparalasconstantesenlasinstruccionesinmediatas.Siestetrabajorecaeenelensamblador,comolohaceparaelsoftwaredeMIPS,entonceselensambladordebetenerunregistrotemporaldisponibleenelquecrearlosvaloreslargos.Estaesunaraznparaelregistro$a,queestreservadoparaelensamblador.
AunqueguardemostodalasinstruccionesMIPSdelongitudde32bitssimplificadosenelhardware,Existenalgunostiemposdondeestoseraconvenientetener32bitsconstanteso32bitsdireccionados.
Estaseccincomienzaconlasolucingeneralparaconstanteslargas,yassemuestralaoptimizacindelasinstruccionesdireccionadasusadasenramasysaltos.
OperadoresInmediatosde32bits.Aunquelasconstantessonfrecuentementecortasyencajandentrodeuncampode16bits,algunasvecessondemasiadograndes.LasinstruccionesMIPSincluyenunsetde
-
instruccionesabiertasinmediatas(lui),especficamenteparaponerenlapartesuperiordelcampodelos16bits,deunaconstanteenunregistro,permitiendounainstruccinsubsecuenteespecificadabajade16bitscomoconstante.Enlasiguientefigurasemuestralaoperacinlui:Versindelamquina,usandolui$t0conundecimal255convertidoabinario:AbajoV
Contenidosdelregistro$t0despusdeejecutarlalui$t0.255:Arriba^InterfacesdelHardwareydelSoftware:Cualquieradelosdos,seacompiladoroensamblador,debenromperlasconstanteslargasenpiezasyreensamblarlasdentrodeunregistro.Comosepodraesperar,loscamposinmediatamenterestringiblespuedengenerarproblemasdeaccesoalamemoriaalserabiertos,ysemuestraascomoparaconstanteseninstruccionesinmediatas.Situtrabajotegenerafallasenelensamblador,comoesparaunsoftwareMIPS,entonceselensambladordebetenerunregistrotemporalhabilitado,locualcreavaloresdelongitud.Estaeslaraznparaelregistro$at,elcualestreservadoparaelensamblador.