Вы находитесь на странице: 1из 14

EJERCICIO1DIRECCIONAMIENTODEMEMORIA Quetalgente...lesvoyaplantearunaresolucindeunejercicioprcticodeArq.tomadoenunfinaldel 01/08/2007,elenunciadoeselsiguiente. Paralalneadecdigopresentadaacontinuacin 5555:0103movax,[0555] Calcularlasdireccionesefectivasdelainstruccinydeloperando,suponiendoqueCS=DS. Bueno,miresolucinseralasiguiente: Primero,laaclaracinCS=DS,esmuybuena,nospermiteafirmar,queloscodigosdeinstruccionesylos operandos(datos)estnalojadosenelmismosegmento(CSalojainstrucciones"CodeSegment";DSalojadatos "DataSegment"). Segundo,sabemosqueelsegmentoenelqsealojalainstruccinMOV...esel5555(primerapartedela "direccinsegmentada"XXXX(segment):YYYY(desplaz)),porlotantoeloperandotambinestaren5555. Tercero,ahoranecesitamoslosdesplazamientos,vemosqelIPparaMOVapuntaraldesplazamiento0103al momentodeejecutarlainstruccin,porqesenesaposicindelsegmentodondeestalojadoelcoddela instruccinMOVE...

MOVE...,porlotanto(ycomolovemosalaizquierdadelainstruccin)ladireccinsegmentadadela instruccines5555:0103. Cuarto,eldesplazamientodeloperandoesfcil,debidoaqesthaciendoundireccionamientoinmediatoa memoria(loscorchetesimplicanelcontenidode...enestecasoladir0555),porlotantoahorasabemosqueel operandoestalojadoen5555:0555. Quinto,obtenemoslasdireccionesefectivasaplicandoelalgoritmoparaelclculodedireccionesefectivasen ModoReal: (direccinsegmentada)XXXX:YYYY=>XXXX*10=XXXX0,luego XXXX0+YYYY(direccinefectiva) Ahoraloaplicamos: DirSegment.Instruccin:5555:0103=>55550+0103=55653h DirSegment.Dato:5555:0555=>55550+0555=55AA5h Esperolessirva,seqmuchosnolovenenlascursadas,xesolestirodata,luegosubirotroresuelto, abrazo...Cualquierdudaconsulten...

EJERCICIO2CACHEASOCIATIVANVIAS Quetal!comolesva?acavengoapostearotraresolucindeunejerciciodeMemoriaCachtomadoenelfinal del21/02/2007. Enunciado: Unamemoriacachconunaorganizacinasociativade2vasestdivididaencadavaen8bloques(lneas)de 8bytescadauno.Lamemoriaprincipaltieneunacapacidadde1KB.Culeselformatoqueelcontroladorde cachutilizaparainterpretarladireccinfsicaydeterminarsilainformacinbuscadaseencuentraenella? Cuntosbytesalmacenalacach?Cuntosbytesdecachseaccedenporvez? Resolucin(comosiempredigo,puedetenererrores,siencuentrancomentenloparacorreccin,estonossirvea TODOS!): Buenocomosabemosesunacachede2vas,xlotantocadaconjuntoposeedoslneas(lalineaidelaprimerva conlalneaidelasegunda),entoncestendremos8conjuntos(8lneas*2vas=16lneas)de16bytesc/u(8bytes* 2).Sabemosqposee8lneas*8bytes=64bytes(pesaunava)*2vas=128Bytes(tamaototaldelaCach). Ahora,comolaMemoriaPrincipalesde1KB,necesitamos10bitsparaaccederaella(2^10=1KB).Lamemoria,en estaorganizacin,sedivideenconjuntosdebloquesdeigualformatoqueunadelasvas. Estoes:1KB/64Bytes=16conjuntos.Porlotantolamemoriaprincipalseorganizaen16Conjuntosde8bloques cadaunode8bytescadauno(sivemos16*8*8Bytes=1KB). AhoratenemosqvercomoecontroladorCachinterpretaladireccinreferidaaMemoriaPrincipal,lacual,como habamosdicho,esde10bits. EnestaorganizacionnecesitamosbitsdeEtiqueta,deConjuntos,ydePosicin.Haydosdeestosqsalen inmediatamente: Cadalneadecachesde8bytes,siconsideramosqseorganizaenDatosde1Byte=>tenemosq8*1byte=8 bytes,porlotantonecesitamos3bitsparareferenciarunaposicindentrodelalnea.Estossernlosbitsde menospesodeladireccin. Comodijimostenemos8conjuntos,estossereferencianmediante3bitstambin,sernlosbitsdelmediodela direccin. Ahoraslonosfaltalasetiquetas:lamemoriaprincipalseorganizabaen16gruposno?buenoparaidentificar cadaunosenecesitan4bits(2^4=16),estossernlosbitsdemspesodeladireccin. YyatenemosarmadalainterpretacindelcontroladordeCach: DiraMP=bit9a0(10bits)=>InterpretacinContCache= bit9a6(4bits)"ETIQUETA" bit5a3(3bits)"CONJUNTO" bit2a0(3bits)"POSICIN" Bueno,esperolessirva,slorestocontestarunapreguntaqdiceacuantosbytesdecacheseaccedenxvez? Nolacomprendo...nosesidice:cuantospuedoobtenerluegodeseleccionarlodelalneadecache(sera1byte), ocuantospuedoaccederxlnea(8bytes),noseestconfuso. Abrazo!

EJERCICIO3PAGINACIONENUNNIVEL Holagente...vuelvoconmsayuda...estavezesunejerciciodePaginacinySegmentacindeMemoria,deun finaldel07/03/2007.Enunciado: Unsistemadememoriapaginadautilizapginasde16KByoperaenunentornodndeladireccinlinealesde 24bits.Cuntosyculesbitsdestadireccinseutilizanparaindicareldesplazamientodentrodelapgina suponiendounaadministracinconunniconiveldejerarqua? Resolucin(esamiparecer,puedetenererrores,pidocorreccinencasodehaberlos). Bueno,apartirdeladireccinlinealpodemossaberqlamemoriaprincipalutilizadaenelsistemaesde16MB= 2^24. Ahorasioperaconpginasde16KB=>tenemos:16MB/16KB=1Kpginas(1024pginas). Muybien,sabemosademsqcomoesunesquemadetraduccindeunslonivellaTabladePginasdeber contenerlasBasesdetodaslaspginas,porlotantotendr1Kdeentradas,qsereferencianconlos10bitsde mspesodeladireccinlineal. Eldesplazamientoestalavista,lapginaesde16KB,parareferenciarunaposicindentrodeellaesnecesario 14bits(2^14=16KB),qsesumanalvalordelaBasecontenidoenlaTablaparaaccederaunaposicindentrodela pg. Xlotanto,ladirlinealsedescomponeen: bit23a14(10bits)"ENTRADATABLADEPGINAS" bit13a0(14bits)"DESPLAZAMIENTO". Talvez,lohicemuylargo,ysepodrahaberafirmadodirectamente,qcomolapginaesde16KBvoyausar14 bitsdelaDirLineal,perolohicemsdetalladocomoparacomprobarqtodoquedaraOk. Abrazos,esperosirva!

EJERCICIO4CACHETOTALMENTEASOCIATIVA Gente,vuelvoconotrodeCache...esdelTema2deunfinaldel07/03/2007.Dice: Unamemoriaprincipalde4Mbytesoperaconunacachde64Klneasde8bytescadaunayutiliza correspondenciatotalmenteasociativa.Questructuradeparmetrospermiteelaccesoaestamemoriay cmosedistribuyenlosbitscorrespondientes? Resolucin: Comoesunacorrespondenciatotalmenteasociativa,lamemoriaprincipalsedivideenbloquesdeigualtamaoq unalneadelaCache.Comolaslineassonde8bytes,luego4MB/8B=2^19bloqueshayenMemoriaprincipalde8 bytescadauno,xlotantonecesitamosx19bitsdeetiquetasparareferenciarac/udeellos. SabemosqladireccionaMemoriaprincipalesde22bits(memoriade4MB). EnestetipodeorganizacionnecesitamoslosbitsEtiquetayPosicion. Luegocomocadalineatiene8bytes,losdividosendatosde1byte,ynecesitamos3bitsparaobtenerundatode unalnea. Yaterminamoselejercicio. DireccionaMemoriaPrincipalbit21a0(22bits) InterpretaciondelControladordeCache:bit21a3(19bits)"ETIQUETA" bit2a0(3bits)"POSICION" Esperolessirva...QUIEROSABERSILESSIRVE!!!ALGUN"GRACIAS"ALMENOS,nomentira Saludos!

EJERCICIO5DESCRIPTORESDESEGMENTO Quetal?Comolesva?(DiriaelGatodeVerdaguer),acalestraigootroejericioparaqpractiquenparaelfinalde Arquitectura. Esdeunfinaltomadoel13/12/2006.Buenoacaesta: Enmodovirtualunsegmentodedatosnopaginadoocupa2048bytesysehayaresidiendoenmemoria principal.Ladireccinvirtualquepermiteaccederloes0004:00032785,ademsladireccinfsicaobtenidapara accederloes0B332785.ExpresarenHexadecimalloscamposnumricosdesudescriptordesegmento, indicandoculessudenominacin,eindicaralmenosdosatributosdedichosegmento Resolucin(esunejmediosubjetivo,asqpuedensurgirdiferencias,planteenlasylasdiscutimos): Buenocomencemosaclarandoqloqanosotrosnosinteresaesobtenerlosbitsdeldescriptor,paralocualno tendremosencuentael0004correspondientealcamposelectordelRegistrosegmentodedondeseextraeladir virtual.Xellosloutilizaremoseldesplazamientoqnosdan(00032785,comovemosson8 hexadecimales<=>32bits). XteorasabemosquecuandounadireccinvirtualingresaalaGDT/LDT,obtieneladirlinealapartirdesumarla Basedelsegmento(seobtienedeldescriptor)coneldesplazamientodeladirvirtual.Poseemoslosextremos, slolosrestamosyobtendremoslaBasedelsegmento: 0B33278532785=0B300000(estaeslaBasedelsegmento) Eltamaonoslosestdando:son2KB,porlotanto2^11=>enhexadecimal=00800(xsinoentiendensu representacinenbines00000000100000000000,loqequivalea2^11). Encuantoaalgunosatributos: Sabemosqesunsegmentodedatos=>Laclasedelsegmento"normal":S=1. Sabemosqellmiteestexpresadoenbytes(noestpaginado)=>elbitdegranularidad:G=0. Sabemosqestpresenteenmemoriaprincipal=>Presencia:P=1. Sabemosqseestaccediendo(osuponemos)=>Accedido:A=1. Sabemosqestnlasdireccionesexpresadasen32bits=>ElbitD/B(usamoselBxsersegmentodeDatos):B=1. SabemosqesuntipodesegmentodeDatos(noejecutable,deexpansincreciente(noespila)y lectura/escritura)=>losbitsdeTipo:TIPO=001. ElbitAVLestdisponible,aqunoledaremosvalor:AVL=0. Losprivilegiosnolossabemos,lepondremosnivelUsuario:DPL=11. Yatenemostodalainfoacercadelsegmento,ahoraarmaremoseldescriptor(directamenteelhexadecimal, debidoaqson64bitsyseharunpocolargoponerbitxbit),enbasealaubicacindeloscamposqpropone AnguloenlaPag:184. Enbaseaestadisposicin:

Esteseraeldescriptorcompleto:0B40F33000000800 Buenolesvoyaponerloscamposenbinario. 0000101101000000111100110011000000000000000000000000100000000000 OkelsignificadosupongoqlopodrnsacarenbasealadisposicinpropuestaxAnguloensulibro.Ladisposicin eslasiguiente: 6356:8BitsdemspesodelaBase. 55:BitG. 54:BitD/B. 53:0. 52:BitAVL. 5148:4BitsmssignificativosdeLimite. 47:BitP. 4645:BitsDPL. 44:BitS. 4341:BitsTIPO. 40:BitA. 3916:24BitsrestantesdeBase. 150:16BitsrestantesdeLmite. Bueno,mecanse...jejeje.Saludos,esperoqlessirva.... Estolohagoxloscompaerosqquierenrendirelfinaldearq,ynuncavieronnadadeestoenlacursada(yo tampocovimucho,peromepuseasacarlos). Suerte!

EJERCICIO6PAGINACIONENDOSNIVELES Holagente...otroejercicio...estavezesunejerciciodePaginacinySegmentacindeMemoria,deunfinaldel 07/03/2007//19/12/2007. Enunciado: Unsistemadememoriapaginadautilizapginasde16KByoperaenunentornodndeladireccinlinealesde 24bits.Cuntosyculesbitsdestadireccinseutilizanparaindicareldesplazamientodentrodelapgina suponiendounaadministracincondosnivelesdejerarqua? Resolucin(esamiparecer,puedetenererrores,pidocorreccinencasodehaberlos). Bueno,apartirdeladireccinlinealpodemossaberqlamemoriaprincipalutilizadaenelsistemaesde16MB= 2^24. Ahorasioperaconpginasde16KB=>tenemos:16MB/16KB=1Kpginas(1024pginas). Muybien,sabemosademsqcomoesunesquemadetraduccindedosnivelestendremosunDirectoriode PginasyunaTabladePginasparacadaunadelasentradasdelDirectorio.Ahoravolveremossobreesto... Eldesplazamientoestalavista,lapginaesde16KB,parareferenciarunaposicindentrodeellaesnecesario 14bits(2^14=16KB),qsesumanalvalordelaBasecontenidoenlaTablaparaaccederaunaposicindentrodela pg. VolvemosalDirectorio/Tabla,sabemosqyaslocontamoscon10bitsdeladireccinlineal,yqnecesitamos hacerreferenciaa1Kpginas.Tambinsabemosqambasestructuras(Directorio/Tabla),poseenlamisma estructurainterna(numerodeentradas,bitsparaBasesyAtributos,etc),porellodivideremoslos10bits restantesen5y5paracadaestructura.Asobtendremos:2^5=32entradaseneldirectorio,dondecadaunade ellasreferenciaaunatablatambiencon32entradas(2^5),qcadaunadeellasapuntaaunapginadistinta.En resumen:32*32=1024=1Kpginas. Xlotanto,ladirlinealsedescomponeen: bit23a19(5bits)"ENTRADADIRECTORIODEPGINAS" bit18a14(5bits)"ENTRADATABLADEPGINAS" bit13a0(14bits)"DESPLAZAMIENTO". Talvez,lohicemuylargo,ysepodrahaberafirmadodirectamente,qcomolapginaesde16KBvoyausar14 bitsdelaDirLineal,perolohicemsdetalladocomoparacomprobarqtodoquedaraOk,yprofundizarelcasoun pocoms. SALUDOS.

EJERCICIO7CACHEASOCIATIVA1VIA Gente,vuelvoconotrodeCache...esdelTema1deunfinaldel07/03/2007//19/12/2007. Enunciado: Unamemoriaprincipalde4Mbytesoperaconunacachde64Klneasde8bytescadaunayutiliza correspondenciaasociativadeunava.Questructuradeparmetrospermiteelaccesoaestamemoriaycmo sedistribuyenlosbitscorrespondientes? Resolucin: Comoesunacorrespondenciaasociativadeunava,lamemoriaprincipalsedivideenbloquesdeigualestructura qunaelbloquededatosasociadosdelaCache. Comolaslineassonde8bytes,luego64K*8B=512KBeseltamaodelamemoriaCach. LuegoenMemoriaPrincipaltendremos:4MB/512KB=8gruposdeigualcaractersticaqellamemoriacach(512 KBen64Klneasde8bytesc/u). SabemosqladireccionaMemoriaprincipalesde22bits(memoriade4MB). EnestetipodeorganizacionnecesitamoslosbitsEtiqueta,LneayPosicion. Luegocomocadalineatiene8bytes,losdividoendatosde1byte,ynecesitamos3bits(Posicin,losmenos significativos)paraobtenerundatodeunalnea. Parapoderidentificaralos8gruposdelamemoriaprincipalutilizaremosetiquetas,estassernreferenciadascon los3bitsdemspeso. NosfaltaindexarelnmerodelneaparapodercompararlosbitsdeEtiqueta.Paraelloutilizaremoslos16bits delmediodeladireccinparaLnea(2^16=64K). Yaterminamoselejercicio. DireccionaMemoriaPrincipalbit21a0(22bits) InterpretaciondelControladordeCache: bit21a19(3bits)"ETIQUETA" bit18a3(16bits)"LINEA" bit2a0(3bits)"POSICION" SALUDOS.

EJERCICIO8SEGMENTACINYPAGINACIN Enunciadodefinaldefecha20/12/2006: Unaimagenvirtualestdivididaensegmentospaginados.Elsegmentodepilaocupa200bytes.Elprimer segmentodecdigoesde256k,elsegundoesde512kyelterceroesde100k.Ademshay4segmentosde datosde512k.Contestar:Cuantosdescriptoresdesegmentotienelatabladedescriptores?.Cuntaspginas tienecadasegmento?,Cuntastablasdepginassonnecesariasyporqu? Resolucin: Primeroestablezcamosqelreadememoriadndesealojanlossegmentostieneelsiguientetamao: MEMORIA=200B+256KB+512KB+100KB+512KB*4=2.986.184B(casi3MB). Estonointeresademasiadoparalaspreguntas,peroesdeubicacin. Buenolacantidaddedescriptoresdependerdelacantidaddesegmentosalojadosenmemoriaprincipal(1 descriptorparacadasegmento),porlotantolaTabladeDescriptoresdelaUnidaddeSegmentacinposee: DESCRIPTORES=1pila+3codigo+4datos=8. Lacantidaddepginasquecontienecadasegmentoesfcilobtener,sabemosquelaspginasdebenserde4KB (pornosermuygrandeslossegmentos),ahora: SegmentodePila:200bytes:eselnicoqgeneraduda,nollegaallenarunapgina,elproblemaesqlos segmentoscontienenpginas,nolainversa,osea,noesqelsegmentoocupapartedelapgina(seentiende?).O sea,lapginaesdetamaofijo(4KB),debedividirlossegmentosenestetamao,xlotantoelsegmentodepila deberalojaraestapgina,peroparcialmente(esmuyrarohastadeexplicar,cualquiercosalocharlamos). Segmentosdecdigo:512KB/4KB=128pginas. 256KB/4KB=64pginas. 100KB/4KB=25pginas. Segmentosdedatos:512KB/4KB=128pginas(c/u). Luegolacantidaddetablasdepginasexistentesdependerndelacantidaddetareasqmanejeelprocesador,ya qxcadaunasetieneunatabla.Tambindependerdelacantidaddenivelesdetraduccinqseestutilizando. Bueno,esperoqlessirva,losientosiquedounpocoinentendibleesqestosejerciciosinventados,llegaun momentoenqcomienzanaserunpoco"berretas",yhastasehacedifcilhacerlosdeunamaneralgicayfctica. Esperosepancomprender,lohagoconelmayorempeoqpuedo,perocuandoestorcido,estorcido... SALUDOS...

EJERCICIO9Assembler: Buenastengootroejercicioquemegeneromuchasdudas,selosdejoaversialguienmepuedeayudar. AX0000BX0000CX0000DX0000SPFFEEBP0000SI0000DI0000 DS1344CS1344ES1344IP0100 Teniendoencuentaelvalordeestosregistros,calcularladireccionfisicaalaqueseaccederiamediantelas instrucciones: POPECX MOVAX,[BP] Cualeseltamaomaximodeunsegmentosielregistroquesedebeconsiderarcomodesplazamientoenla direccionsegmentadaeselregistroIPyaquelugarfisicodeesesegmentoseestadireccionandoactualmente. Esperoquepuedanayudarmedadoquerindoestatarde. Saludos! POPECX SegnQuiroga,pgina195,elStackPointerapuntaalprximolugarvacodelapila,esdecir,siunoquieremeter algoenlapila,conlainstruccinPUSH,tendraqueaccederaladireccinSSx16+SP.Mientrasquesiquieresacar algodelapilaconPOP,comolapilaseocupadearribaparaabajo,osea,lasdireccionesdesocupadasestnen nmerosmsbajosquelasocupadas,elltimolugarocupadoesSSx16+SP+1(Unlugarmsarribaqueellugar vaco),esaseralarespuestadeaqudireccinseaccedealllamarlainstruccinPOPECX,elproblemaesqueno tensStackSegment,nossiteolvidastedecopiarloonotelodieron...Igualporloqueveopusieronatodoen elmismosegmento,suponiendoqueSSvalieralomismoqueDS,ESyCSlarespuestasera: SSx16+SP+1=1344*10+FFEE+1=13440+FFEE=2342E MOVAX,[BP] Estainstruccinloquehaceesiraladireccincontenidaenelregistroqueestentrecorchetesyfijarsequ valorhayguardadoahparaponerloenAX.Engeneralestainstruccionesas:MOVregistro1, [base:desplazamiento],cuandonoteaparecelabase,sesobreentiendequeesDS,quesignificaDatasegment,si porejemplolainstruccinfueraMOVAX,[ES:BP]labaseseraES.Paracalcularladireccinalaqueseaccedese hacelomismodesiempre,base*16+desplazamiento,enestecasoseraDSx16+BP,quenosda: 1344x10+0000=1344*10+0000=13440 Culeseltamaomaximodeunsegmentosielregistroquesedebeconsiderarcomodesplazamientoenla direccionsegmentadaeselregistroIP? Sivostensunsegmentodesupongamos,100bytes,tudesplazamientovaairde0bytes(comienzodelprimer byte)a99bytes(comienzodelltimobyte),esdecir,eldesplazamientoquepodstenercoincideconeltamao delsegmento. ActedicenqueeldesplazamientoestdadoporIP,tedicenquesuvalores0100,esoesenhexadecimal,cada dgitohexadecimalson4binarios,porlotantoeltamaodelregistroenbitses16.Con16bitspodstener dedesplazamiento,eseeseltamaodelsegmento, Aqulugarfisicodeesesegmentoseestadireccionandoactualmente?

IPeselInstructionPointer,teindicaeldesplazamientosobreCS,Codesegment Paracalcularladireccinhacemoscomoantes: CSx16+IP=1344*10+0100=13540 Tepongounpocodeinfosobrelosregistrosaversiquedamsclaro(Cualquiercontradiccinconlateoraes errormo). Registrosdeclculo(aslosllamanenlosfinales,muchasvecestedicen"considerequelosregistrosdeclculose encuentranen0"): Losnombresqueselesponeserefierenaparaquseusangeneralmente,perounolospuedeusarcomoquiere. AX:acumulador BX:Base CX:Contador DX:Datos,direccindedatos. Registrosndices:Seusanparamoverseenunvector. SI:seautoincrementasolo. DI:seautodecrementasolo. Porejemplo,loquesehaceesguardarseenBXellugardondeempiezatuvector,porejemplo0000(basedel vector,nodelsegmento),aestoselellamadireccionamientoindexado.Sivosquersirsumandoloselementos detuvectorpodshacer: DS1344SI0000 MOVAX,0000;Pongoen0AX ADDAX,[BX+SI];LesumoaAXloqueestenladireccinDSx16+BX+SI=13440+0000+0000=13440 ADDAX,[BX+SI];LesumoaAXloqueestenladireccinDSx16+BX+SI=13440+0000+0001=13441(SIse incrementsolo) ADDAX,[BX+SI];LesumoaAXloqueestenladireccinDSx16+BX+SI=13440+0000+0002=13442 ADDAX,[BX+SI];LesumoaAXloqueestenladireccinDSx16+BX+SI=13440+0000+0003=13443 Otrocaso:Siloselementosdetuvectorocupannbytes,tendrasqueirsumandodenbytesenvezdeauno,por lotantosera: ADDAX,[BX+SI*n] RegistrosPunteros: IP:Punterodeinstrucciones. SP:Punterodepila,apuntaalprximolugarallenardelapila. BP:Punterobasedepila,selousaparaapuntaralabasedelapilaoavecescuandosequierenusarelementos delapilasinsacarlosconPOPyPUSH,ynoselequierecambiarelvaloraSP. RegistrosdeSegmentos

Teindicanenqudireccinempiezaelsegmento. DS:segmentodedatos. SS:segmentodepila. CS:segmentodecdigo ES,FSyGS:segmentosextra(paraqueelprogramadorlosusecuandonecesitams) Clculodedirecciones: Formadeexpresardireccin:base:desplazamiento Secalcula:basex16+desplazamiento Nota:16decimales10enhexadecimal,asquemultiplicarpor16labaseeslomismoqueagregarleun0siest enhexadecimal,o0000siestenbinario. Lugarvacodelapila:SS:SP=SSx16+SP ltimoelementodelapila:SS:SP+1=SSx16+SP+1 Nota:cuandohagasalgnclculoconSP,decqueapuntaalprximolugarvacodelapila,porquesinomal recuerdo,enQuirogadecaesoyenAngulootracosa Direccindelaprximainstruccinaleer:CS:IP=CSx16+IP Direccindeunainstruccin(ejemplo): 0100MOVAX,0000 Sudireccines:CS:0100=CSx16+0100 Direccindeundato(ejemplo): MOVAX,[BX];ladireccinesDSx16+BX MOVAX,[DS:BX];ladireccinesDSx16+BX MOVAX,[ES:BX];ladireccinesESx16+BX Aestoselellamadireccionamientorelativoaunabase Memoriacachde1va(asociativa) Elsiguienteeselesquemadeunamemoriacachedecorrespondenciadirecta(oasociativadeuna via)deochofilasnumeradasde0a7,encadafilasealmacenaunbloquede8bytesnumeradosde 0a7

1.cuantosbitsidentificanlalineaosectorycuantosbitsidentificanelbyte(bloque,palabra)? 2.Sielbytesolicitadoestaenlalinea3byte1ylaetiquetaes0111,indiquesiesposiblecual eselvalorhexadecimalquecorrespondealbyte? 3.Siladireccionanalizadaporlacacheesenbinario1011111111,indiquesiesposiblecuales elvalorhexadecimaldelbyte 4.cualeslacapacidaddelamemoriadedatosyexpresadaenbytes?cualeslacapacidadde lamemoriadeetiquetasexpresadaenbytes? Respuesta 1.Tengo8lineas=2^3necesito3bitsparadireccionarlinea. Tengo8bloques=2^3necesito3bitsparadireccionaralbyte 2.Acaloquemetengoquefijaresquelaetiquetacoincidaconlaquecorrespondealalinea3, sicoincideelvalordelbyteestaenelbloque,encasocontrariolarespuestaesquenose puede. 3.AcatengoquedescomponerladireccionenloscamposETIQUETALINEAPALABRA. Habiamosdichoqueelcampolineaera3bitsyeldepalabra3bits,eldeetiquetanos fijamoslacantidaddedigitosdeldibujo,enestecasoes4bits. 1011111111 etiquetalineapalabra Convertimoselvalordelalineayeldelapalabraahexadecimal,enestecaso 0111(2)=7(16).Deacasabemosqueelbyteestaenlalinea7enelbloque7,sicoincidela etiquetalarespuestaeselvalordelbloqueencontrado,delocontrariolarespuestaesnose puede. 4.LacapacidaddelamemoriadedatosesCantidadlineasXcantidaddebytesdelbloque 8lineasx8bytes=64bytes Lacapacidaddelamemoriadeetiquetases(Cantidaddeetiquetasxcantidaddebitsde etiquetas)/8paraexpresarenbytes 8etiquetasx4bits=3232/8=4bytes Assembler Todoslosregistrosdecalculosestanpuestosa0cuandoseejecutalalineadecodigopresentadaa continuacion 2F37:0100SUBAX,FFFF comoquedaraelcontenidodelregistroAXluegodesuejecucion?Expresarenhexadecimalel valordelregistro,eindicarquevalordecimalcorrespondesiconsideralosoperandossignados Respuesta: Acahayqueverquehacelainstrucion,enestecasoSUBREGISTRO,VALOR,loquehacees restarlearegistroelvalor.Comodicequeestantodosinicializadosen0,loquehayquehaceres complementaradoselvalorFFFF. FFFF(16)=1111111111111111(2) hagocomplementoa10000000000000000 hagocomplementoa2 0000000000000000

+1 0000000000000001(2) ahorahayquepasarloahexadecimal 0000000000000001(2)=0001(16)> RTA Elvalordecimalsiconsideroquelosoperandoestansignadoses+1 Assembler Todoslosregistrosdecalculosestanpuestosa0cuandoseejecutalalineadecodigopresentadaa continuacion 2F37:0100SUBAX,FFFF comoquedaraelcontenidodelregistroAXluegodesuejecucion?Expresarenhexadecimalel valordelregistro,eindicarquevalordecimalcorrespondesiconsideralosoperandossignados Respuesta: Acahayqueverquehacelainstrucion,enestecasoSUBREGISTRO,VALOR,loquehacees restarlearegistroelvalor.Comodicequeestantodosinicializadosen0,loquehayquehaceres complementaradoselvalorFFFF. FFFF(16)=1111111111111111(2) hagocomplementoa10000000000000000 hagocomplementoa2 0000000000000000 +1 0000000000000001(2) ahorahayquepasarloahexadecimal 0000000000000001(2)=0001(16)> RTA Elvalordecimalsiconsideroquelosoperandoestansignadoses+1

Вам также может понравиться