Está en la página 1de 247
LEB eR Cg Lae ey earth Po Auenos fires ao <_l BOOKS ‘el Goer de a Clara” www,buenosairesbooks.com LA PC POR DENTRO ARQUITECTURA Y FUNCIONAMIENTO DE COMPUTADORAS MARIO CARLOS GINZBURG INGENIERO ELECTRONICO (UBA) YIM) anit — i i t FUES PLAS A Piyi, Jerénimo y Rafael INTRODUCCION GENERAL A LA INFORMATICA: 1 LAPC POR DENTRO, ARQUITECTURA Y FUNCIONAMIENTO DE COMPUTADORAS Cuarta Edicion M.C.Ginzburg Es propiedad - Queda hecho el depésito que marca la ley Impreso en la Argentina - Printed In Argentina DERECHOS RESERVADOS © 2006 ISBN-10: 987-05-0916-9 ISBN-13: 978-987-05-0916-5 |Ginzburg, Mario Carlos Introduccién general a la informética : la pc por dentro : arquitectura y funcionamiento de ordenadores / Mario Carlos Ginzburg ; ilustrado por Rafael Ginzburg - 4a ed. - Buenos Aires : el autor, 2006. 282 p. ; 20x28 cm. | ISBN 987-05-0916-9 1. Informatica. |. Ginzburg, Rafael, ilus. Il. Titulo CDD 004.1 ‘ee Fecha de catalogacién: 03/05/2006 No se permite la reproduccién total o parcial de esta obra, ni el almacenamiento en un sistema de informatica, ni transmisién en cualquier forma o por cualquier medio electrénico, mecanico, fotocopia, registro u otros medios, sin el permiso previo y la autorizacién escrita del autor. PROLOCO [Esta obra ha sido pensada para wn lector sin experiencia previa alguna en el terreno de la computacion 0 informatica, Alcomenzar cada tema nuevo se buscan analogias con la vida real. Asi, como paso previo al esquema general dée un computador, se considera una fébrica, que de forma similar produce productos segin las instrucciones que dejan los clientes. El contenido de cada posicién de memoria se visualiza como 8 llaves de encendido de luz: y para entender qué significa que una memoria sea “random” se recurre al selector de canales de un televisor. Al tratar tebmo se le ordena al computador qué debe hacer, se pone de relieve la semejanza con la forma de operar con una ealeuladora portatil comin, Del mismo modo, el “pipe line” de un procesador se comprende a través de un lavadero automético de autos; el concepto de “buffer” mediante buzones y del papel que juega Ia pileta en la descarga de un lavarropas, etc. Esia primera unidad abarca los temas fundamentales del funcionamiento de un computador. (Con ella se busca brindarle al lector en forma clara, concisa, v préctica, los conocimientos basicos para entender como funciona el interior de una PC modema, y en general cuaiquier computador. Se eligi6, por ser mas didactico el método de preguntas-respuestas acerca de los temas esenciales que se deben conocer, Las primeras secciones constituyen el tronco 0 basamento medular de la presente unidad y de ta obra en general. Las siguientes son desarrollos més detallados de las primeras. De esta forma, el lector progresa en el estudio del libro y de cada tema conforme a sus necesidades de profundizacién o aplicacién practica. Completan la Unidad 1 apéndices sobre el sistema binario, software (en especial sistemas operativos y virus), luna Historia del desarrollo del hardware y software hasta 2006, un modelo circuital didactico de funcionamiento de jun procesador, con elementos RISC, y un Complemento pata enteros y punto flotante, La segunda unidad de la presente obra, trata en detalle el funcionamiento y uso prictico de los perifiricos, algunos de los cuales se comienzan a ver en esta unidad Temas como la programacién en Assembler, y la confeccién de pequetios programas tipicos estén contenidos en la Unidad 3. Se inefuyen Ilamados a subrutinas, vectores interrupeién y manejo de plas Los circuitos légicos de un computador: compuertas, UAL, flip flops, registros, secuenciadores, descriptos ailadamente se integran en un modelo didictico sencillo pro RISC muy sencillo, y se tratan en la obra “De la Compuerta al Computador” préxima a aparecer. En la presente edicién se ha conservado un Modelo Circuitat didactica de una UCP capaz de ejecutar instrucciones, que no requiere ningin conocimiento de cireuitos légicos. Por qué emplear un microcomputador como modelo de funcionamiento de computadoras: ‘Cuando Intl lanzé el 80386 en 1985, que podia ejecutar 6 millones de instrucciones por segundo (mips), twvo lugar un salto notable en la performance de los microprocesadores. Ya el 80286 ejecutaba 2,5 mips, y permitia coperar en multarea (multitasking), con un sistema operaivo apropiado. LLuego, en 1991 y 1993 Intel produjo el 80486 y el Pentium I. Los siguientes procesadores de Intel contienen un iiicleo RISC, siendo que los procesadores RISC (Power PC, Alpha, MIPS, i860, et.), se lanzaron en lx década de 1980. La tendencia actual es usar cada vez en mayor medida la conexin en red de microcomputadoras (sean personales 6 estaciones de trabajo) para nuevos emprendimientos o en reemplazo de las grandes mainframes. Estas quedan restringidas para dreas reservadas o muy especiales, Un 486 0 un Pentium, al igual que los microprocesadores RISC tienen una elevada complejidad interna Procesadores RISC operando en paralelo forman parte de supercomputaderas Los microprocesadores han ido incorporando paulatinamente todas las innovaciones que antes eran privativas de las grandes computadoras y supercomputadoras. Asi, el “pipe line” (ya presente en el 8086), el modo protegido para “multitasking”, la memoria “caché” intema, el eoprocesador matemético y la concepcién superescalar pasaron a formar parte del cualquier microprocesador actual ‘Al aparecer en el mercado en 1986 los primeros RISC, ocurrié que estos microprocesadores presentaban innovaciones que los procesadores de las grandes y minico:xputadoras (del tipo CISC) no posefan. Los buses répidas como el PCI express mejoraron notablemente la performance de los computadores personales Por [o tanto, hoy dia conocer el funcionamiento de un microprocesador moderne implica estar actualizado eon las principales innovaciones tecnol6gicas ocurridas en el desarrollo de las computadoras ————EEEEEE Los principios de fancionamiento de ios dos nivete. de caché en una microcomputudora son los mismos que pura computadoras més grandes. Lo mismo respecto al pipe line, modo protegido, coprocesador. exe, Igualmente son-comunes a todos los procesadores las funcioues de la Unidad de Control la UAL. las orla incipal, las interfaces, los periféricos, los buse- ete [Result ast que conocer estos teinas en un microcomputador permite abordavls en salguler ipo de computador / q corriente, siendo que todns est’n basadios en el modelos de Von Neumann, Poro ademis de servir como modelos para explicar eémo funciona un computador, los microcomputadores tiene la ventsja de ser aceesibles a nnds personas por su bajo costo. Ahora, quienes estudian estos temas pueden visuelizar en fa pantalla de una PC aspectos de su funcionamiento que antes se veian en forma abstracta en los libros, por la imposibilidad de experimentar en minis o grandes computadoras Esta cvarta edicidn conserva el caricter te6rico-préctico de esta obra con el uso del Debug para visualizar en “camara lenta” los resultados de la efecucién de cada instruccién de un progroma, y agrega ejercicios integradores para nimeros enteros, flags y reales, asi como las bases para la comprensién de éstos en el Complement final. Asimismo, Ia presente edicién, en funcién de la experiencia docente permanente del autor, se han puesto de relieve conceptos importantes que se daban por supuestos, o que pueden pasar inadvertidos en una lectura rapida, Agradecimientos: A mis hijos Rafael'que también en esta edicién interpret6 y realiz6 con claridad dibujos complementarios, y Jerdnimo (Analista de Sistemas U. de Sistemas FCEyN) por su lectura critica de las novedades escritas, ‘A mi ayudante Pablo Salaberri que siempre me acerca informacién sobre distintos temas, y que seguramente pronto colaborard en proximes ediciones de unidades de esta obra. ‘A mis alumnos, cuyas preguntas, dudas e inquietudes me pormiten aprender como mejorar distintos temas, El autor sIMBC ixeor icom iQUE CON Qu INDICE DE TEMAS ie computador] ~—————~_SIMBOLOS, DATOS, PROCESOS DE DATOS E INFORMACION utadores tiene en visualizar QUE SIGNIFICA QUE UN COMPUTADOR REALIZA AUTOMATICAMENTE Al PROCESOS DE DATOS (QUE CONSTAN DE ENTRADA, MEMORIZACION, PROCESAMIENTO ¥ SALIDA. libros, por la visualizar en BASES PREVIAS PARA EL ESTUDIO DEL INTERIOR DE UN COMPUTADOR tan puesto de {QUE SEMEJANZAS TIENE UN COMPUTADOR CON UNA FABKICA QUE PRODUCE A PEDIDO ? oe {QUE ES LO BASICO QUE SE NECESITA CONOGER ACERCA DE BITS, BYTES Y DE La EQUIVALENCIA san ENTRE BINARIO Y HEXA PARA OPERAR UN COMPUTADOR ? 6 {CUAL ES LA VENTAJA DE OPERAR CON DOS ESTADOS ELECTRICOS CORRESPONDIENTES AL Ov 1 BINARIOS? 8 -mentarios, y : HARDWARE DEL COMPUTADOR 8 Seguramente QUE ES EL HARDWARE? 8 {CUALES SON LOS BLOQUES CONSTITUYENTES BASICOS DEL HARDWARE DE UN COMPUTADOR temas, 'Y QUE FUNCIONES CUMPLEN EN SU FUNCIONAMIENTO ? 10 QUE CORRESPONDENCIA DE FUNCIONES PUEDEN ESTABLECERSE ENTRE LA PRODUCCION DE INFORMACION POR UN COMPUTADOR ¥ UNA PRODUCCION FABRIL ? COMO PUEDE RESUMIRSE EL FUNCIONAMIENTO BASICO DE UN COMPUTADOR ? 5 {2QUE REGISTROS DE LA UCP FALTA DEFINIR. PARA REALIZAR LAS PRIMERAS PRACTICAS autor ‘CON EL PROGRAMA DEBUG, A FIN DE OPERAR EN EL. INTERIOR DE UN COMPUTADOR ? s LA MEMORIA PRINCIPAL O CENTRAL 16 {QUE SON LAS DIRECCIONES Y LOS CONTENIDOS DE LA MEMORIA PRINCIPAL ? is {COMO SE DIRECCIONA, SE LEE Y SE ESCRIBE LA MEMORIA PRINCIPAL ? 18 GQUE ES TIEMPO DE ACCESO A MEMORIA Y SU MEDIDA EN NANOSEGUNDOS ? » {QUE SIGNIFICA QUE E1. ACCESO A LA MEMORIA PRINCIPAL ES AL AZAR (RANDOM) ? 20 {QUE TIENEN DE COMUN ¥ DIFERENTE LAS ZONAS RAM ¥ ROM DE MEMORIA? 20 2QUE CONTIENE LA PORCION ROM DE MEMORIA PRINCIPAL (ROM BIOS) ? 2 ZQUE TIPOS De MEMORIAS DE SEMICONDUCTORES CON “RANDOM ACCES” SE PABRICAN? n ZQUE ES CAPACIDAD DE MEMORIA, ¥ QUE SON LAS UNIDADES KB, MB, GB? B 2QUE RELACION EXISTE ENTRE LA CAPACIDAD DE UNA MEMORIA, LA CANTIDAD DE BITS QUE TIENEN ‘SUS DIRECCIONES Y EL NUMERO DE LINEAS DE DIRECCION ? QUE £S EL BIT DE PARIDAD EN MEMORIA PRINCIPAL, Y PARA QUE SE EMPLEA > {QUE ES UN MICROPROCESADOR DE 8, [6 0 32 BITS Y QUE RELACION TIENE ELLO CON LOS REGISTROS, LA MEMORIA PRINCIPAL Y LAS LINEAS DE DATOS DEL BUS? aS CORRECTO AFIRMAR QUE LOS REGISTROS DE LA UCP CONFORMAN UNA PEQUENA RAM ? 26 EL SOFTWARE, LOS DATOS Y SU CODIFICACION (QUE ES EL SOFTWARE 0 “LOGICAL”? ZQUE ES EL FIRMWARE ? {QUE ES UN MICROPROCESADOR DEDICADO ? {COMO SE PREPARA FL PROCESO DE DATOS EN EL COMPUTADOR ANTES DEFINIDO, 'Y COMO SE LE ORDENA A ESTE QUE DEBE HACER ? 2QUE SERIA “ALTO” Y “BAJO” NIVEL EN LA CODIFICACION DE DATOS EFECTUADA ? 32 UTILIZACION DEL PROGRAMA DEBUG DEL DOS PARA VISUALIZAR EL INTERIOR DEL COMPUTADOR eCOMO SE USA EL DEBUG PARA ESCRIBIR DATOS £ INSTRUCCIONES EN MEMORIA? {COMO ENCUENTRA LA UC EN MEMORIA LA PRIMER INSTRUCCION Y LAS SIGUIENTES DE UN PROGRAMA A EJECUTAR, MEDIANTE EL REGISTRO IP? | | | | i | {QUIEN SE ENCARGA DE DAR LA DIRECCION DE LA PRIMER INSTRUCCION DE-CADA PROGRAMA A [COMO SE CANBIA MEDIANTE EL DEBUG LA DIRECCION DE INSTRUCCION QUE INDICA EL 1p? {COMO PUEDE VISUALIZARSE MEDIANTE EL DEBUG LA FORMA EN QUE SE VAN PROCESANDO {OS-DATOS-AL-EIECUTARSE LAS INSTRUCCIONES EN UNA D> (COMO ORDENAR QUE LOS CODIGOS DE MAQUINA DEL PROCESO ANTERIOR ENa'TRAS OTRO AUTOMATICAMENTE, CONFORME St PAPEL DE.LA UC Y DE LOS MHZ DEL RELOJ EN LA EJECUCION DE LAS INSTRUCCIONES {COMO SE EIECUTAN LAS INSTRUCCIONES 11 4 18. MEDIANTE MOVIMIENTOS SIMPLES ENTAE MEMORIA Y REGISTROS DE LA UCP ORDENADOS POR LA UC? QUE SECUENCIA DE PASOS ORDENA LA UC PARA EIECUTAR CADA INSTRUCCION ? sCOMO HACE LA UC PARA NO EQUIVOCARSE CON TANTOS NUMEROS CONTENIDOS EN MEMORIA ‘QUE PUEDEN SER INSTRUCCIONES, DATOS O DIRECCIONES ? 5 {QUE ANALOGIA DIDACTICA PUEDE ESTABLECERSE PARA VISUALIZAR LA ACTIVIDAD BASICA DE ORGANIZAR MOVIMIENTOS Y OPERACIONES QUE REALIZA LA UC ? ¢DE QUE FORMA LA UC PASA DE UN MOVIMIENTO A OTRO? {DONDE RESIDE LA “INTELIGENCIA” DE LA UC, PARA “SABI R” LOS MOVIMIENTOS A REALIZAR ? UAL: OPERACIONES LOGICAS Y DE COMPARACION E INDICADORES QUE GENERA ¢CUALES SON LAS OPERACIONES LOGICAS QUE REALIZALA UAL, Y COMO SE COMPARAN NUMEROS EN UN COMPUTADOR POR MEDIO DE ELLA? ; {QUE SON LOS INDICADORES (“FLAGS”) DE RESULTADO GENERADOS POR LA UAL ‘Y CONTENIDOS EN EL REGISTRO DE ESTADO DE LA UCP? GEN QUE SE DIFERENCIAN LA UAL Y EL COPROCESADOR MATEMATICO QUE OPERA ‘CON NUMEROS REALES REPRESENTADOS EN PUNTO “PUNTO FLOTANTES? {QUE SON LOS MIPS Y LAS MFLOPS ? UTILIDAD DE LAS INSTRUCCIONES DE SALTO realizaré '. Entonces esentacién| orar en el acién, y si or costo. os mental iducimos, iana, jcémo ha ‘momento lindo me ocurtirén, ral usando Figura 1.1 Los valores asf hallados a partir de los datos primarios conocidos serdn nuevos datos elaborades (informacin) Al realizar los célculos anteriores también se establecieron relaciones de orden, al suponer qué se hace primero Y¥ qué después. A continuacién relacionaria el pronéstico del tiempo con ta ropa mas adecuada y lista para usar fen esas condiciones climéticas, y establecerta relaciones de equivalencia, entre vestimentas que tienen propiedades de abrigo similares. Eso también supone que debi realizar una clasificacién. Luego podrfa usar su ‘memoria, para extraer el dato estimativo de cuénto tiempo Ie lleva vestrse de una manera o de ota, etc. 4) Conforme al resultado del procesamiento de datos efectuado en el paso anterior, poseerd la siguiente informacién, que en forma escrita podria expresarse asf: “Dispongo de mas de media hora hasta salir, tiempo suficiente para baflarme répido y vestirme con tal o tales prendas que estén listas para usar. Como méximo debo salir a las 19.45 hs". Ha resultado asi un nuevo conjunto de representaciones simbélicas significativas, obtenidas a partir de aquellas correspondientes a los datos primarios. Se han obtenido simbolos a partir de otros simbolos. ©) Elresultado aleanzado (informaci6n “interna”) puede ser exteriorizado como informacién externa, ya sea cn forma verbal o escrita, si el cerebro ordena a los mdsculos relacionados con el habla que actien, 0 a los misculos de la mano que escriban, respectivamente. Asf exteriorizada, esta informacién por ejemplo podria comunicarse a otra persona, para que lo ayude a decidir correctamente, Si queda en la memoria de la persona que la elabor6, ella tomar luego las decisiones pertinentes, Como punto de partida para comprender el funcionamiento de ui computador, describiremos un proceso de datos manual auxiliado por calculadora. Este proceso, también puede desglosarse en cuatro subprocess ‘entrada, memorizacién, procesamicnto y salida, esquematizados en la figura 1.2 ‘Antes de la aparicién de computadoras, una supuesta oficina de célculos de ingenierfa funcionaba de la siguiente forma. Una persona idénea en el manejo de una calculadora comin, se dedicaba a realizar operaciones con ésta. Calcutistas programaban la serie de operaciones a realizar por el “idéneo” con la calculadora, y otra persona “auniliar” las escribfa ordenadamente en una planilla con renglones mumerados, y también en ella los datos procesar. La tltima orden de la secuencia puede indicar escribir en otra planilla una copia del resultado obtenido Por ejemplo, una secuencia sencilla de operaciones ordenadas, que denominaremos “instrucciones” (simbolizadas lj, I, ..)escritas en renglones sucesivos, podria ser la siguiente: Ty: Registrar en el visor de la calculadora el ntimero que esta en el rengl6n 5000 (o sea el 1020) ‘Sumarle al mtimero del visor el ntimero que esté en el renglén 5000 (nuevamente el 1020) Ig: Restarle al nsimero del visor el ntimero que est en el renglén 5006 (0 sea el 2040) Escribir el resultado que totaliza el visor en el renglén 5010 (0 sea el 0000 iré al renglén 5010) 15; Copiar en la planilla auxiliar el valor que indica el rengl6n 5010. [7 Bs importante seguir en detalle esta secuencia de instrucciones, pues més adelante se repiten [como instrucciones de maquina que se ejecutaran en una PC M.Ginzt 1.2) Oatos a pocesar Insrucionas| Resutados (simbolos) {simboles) a EJECUCION DE I - Foun? a Lom STRUCOONES DAR ENTRADA —MEMORIZACION YCALCULOS DAR SALIDA El primer bloque del esquema de la figura 1.2 da cuenta de la entrada de datos e instrucciones a la planilla, merced a la acci6n de la persona que programé las operaciones a efectuar. El “idéneo” eerd en el orden dado cada instrucci6n, y digitard en la calculadora la tecla correspondiente a la operaciGn que se ordena. Luego localizaré en la planilla y leera el ntimero que intervene en dicha ‘operaciGn, el cual seré introducido a la calculadora por medio de su teclado, We {a operacién ordenada se levaré a cabo al pulsar la tecla igual (=). Un resultado parcial o total que) Mateti} esté en el visor de la calculadora podré registrarse (escribirse) en un rengl6n indicado de la planilia, cada vez que una instruccién (como l) asi lo ordene. Con el cuarto Bloque conversor se representa la accin del “idéneo” de dar salida hacia otra planilla auxiiar algrin resultado o dato existente en la planilla principal, cuando asi lo prescribe tna instruccion (como I.) i Para los valores numéricos supuestos en los renglones, la operacién realizada fue 1020 + 1020-2040 = 0. 'wstruet habiéndose asignado el resultado 0 al renglén 5010. Si llamamios R al resultado la secuencia de ' instrucciones anterior permite en general hallar el valor de la variable R en la expresién P+ P-Q=R Obssrvese qi tna caleiladora tonics tiene niémoria inleiia, ublZable'cor Ta tecla Mie @uelerden Sumar al niimero memorizado el que estd en el visor, y el resultado memorizarlo en reemplazo de dicho primer niimero). Asimismo, el valor memorizado puede verse en el visor, e lade i siguiente forma, Suponiendo que en el renun 5000 se haya escrito (miemorizado)| eli Para hacer Jo misino en Ta calculadors, primero babria que Gpear dicho ixGmero (1020) de forma que aparezca en el Visor. Luégo para memonizario se pulsaria MC (puesta a cero dela memoria) seguido de M+. Cuando se quiera geutar hse pulbaria MR, con To cual necesnamente 1020 pasard de la memoria al visor (6 por algiin motivo 1020 fue reemplazado por otro niamero). Para ejecutar Ty se debe pulsar la tecla + Seguida de MR, con lo cual al 1020, sele vuelve asumar'1020 comoen esencia ordenaly ¢Cudles son las operaciones primarias en los Procesos de datos ? Existen 8 acciones primarias (“primitivas”) que pueden encontrarse en distintos procesos de datos + Entrar datos al sistema encargado de procesarios Asignar un valor como perteneciente a un determinado nombre de datos 0 variables Comparar dos valores de datos para conocer la relacién (< = >) existente entre ellos Archivar: almacenar datos durante un tiempo en algiin medio Recuperar: leer, datos archivados en algtin medio Caleular: generar, un nuevo valor aplicando una funcién matematica 0 textual Borrar datos archivados Dar salida: exteriorizar, obtener del sistema datos resultantes. os os) sciones ala déneo” jente ala teen dicha | Lo total que a planilla, nilla awliar ‘como I.) 0~2080=0 scuencia de | +P-Q=R que Silay ‘mplazo de MR i Qué semejanzas tiene Instrucciones' py BASES. PREVIAS PARA EL ESTUDIO DEL INTERIOR DE UN COMPUTADOR con una fabrica que produce a pedido ? UNIDAD PRODUCTIVA in| | aes EE) Mesa VF ([ "| Estanteria ay" 14 instz PUA2} Figura 13 La Unidad Productiva (UP) de la fabrica de la fig. 1.3 produce piezas de metal a pedido (en este caso tomillos). Para ello se deben proveer (a través de Recepeidn) la materia prima y las insirucciones para producir cada pieza, que irin a boxes numerados del Depésito (D). Cada instruccién sera pedida al depésito y luego cumplimentada porla Oficina de Control (OC), para lo cual debe llegar desde su box a la Mesa de Instrucciones (MD) La materia prima (cilindro en este caso) iri desde el box donde se halla hacia una estanteria E, y de ésta al tomo utomético de la Unidad ‘Transformadora (UT) comandada por la OC segin lo que ordena cada instruccién. [La OC no puede ver qué hay en cada box. Las instrucciones siempre se ubican en boxes mumeradas conse- ‘aufivamente desde el 30. Para localizar cada instruccién Ia OC tiene en una mesa un contador mecénico para localizar instrucciones (CLI), que siempre arranca de 30 con un pulsador para avanzato, Funcionamiento: wna vez que instrucciones y materia prima estin en D susna el timbre, con lo cual la OC pide la instrccién (I) que esté en el box cuyo nimero (30) es el que aparece en el CLI, siendo que la misma ira hacia Ja MI. Luego desde la OC se pulsa el botn del CLI para que su nimero suba uno (31), a fin de que permitalocalizar J, cuando suene otra vez el timbre. Cuando I, llega a la MI en la OC se lee que ordena "Pasar la pieza que est.en el box 44 (cilindro en este caso) hacia B", por lo que la OC impart direativas para que se cumpla dicha orden Cuando ello acura, el cilindro que esta en 4 habra llegado a E, con lo cual sonara cl timbre. Entonces la OC pedira Ia instruccin (I) que esti en el box 31, indicado por el CLI, y pulsard su bot6n para que indique 32. Cuando fy Hega a MI para ser leida por la OC ordena “Pasar a la UT la pieza que esta en E (el cilindro), darle forma de cono y dejarlo en E”. La OC ordenaré los movimientos y a la UT la operacién a realizar para ejecutar la orden, luego de lo cual sonaré el timbre. Entonces la OC pedird la instruecién (IL) que esté en el box 32, indicado por el CLI, y pulsard su botén para que indique 33. Thordena "Pasar a la UT la pieza que esté em E (en este cas0 el cone), darle forma de tomilloy dejalo en E”. La OC Tevarda abo la orden, sonar el timbre, pediri I, y el CLI pasar. a 34 ,ordena "Pasar lo que estéen El box 21". 16 M.Ginzbuy y4.Ginzbur 12.0€ cumplimentard I. sonar el timbre, pedir ly el CLI pasar 35. 1g ordena "Pasar lo que est en el box 2} a Expedieién". En Expedicion el tomillo serd puesto en una caja para ser enviado at ext Goa wees a fancionamiento de un computador el proceso desripto serviré para sistematiary dein las funciony Clos subsistemas tratados,exstiendo las siguientes correspondeneias en relacin con las figuras 1.6 y 17 UP = UCP (Unidad Central de Proceso 0 Procesador) OC = UC (Unidad de Control) UT=UAL Unidad Arimético-Légiea) MI-= RI (Registro de Instrueciones) CLI= IP (Puntero de Instrucciones) _ E = AX (Registro Acumuladot AX) Depésito (D) = Merria FF Depésito (Memoria) sirve para almacener instrucciones y materia prima (datos) y piezas terminaday (resultados), Esta dividido en boxes (celdas) con nimeros (direcciones) para localizarloy. <¢Cuailes son las “reglas de juego” para que el proceso siga correctamente ? (aoa BOC (UC) no sae dinde ei ene! Dept (Memoria cada insruccn, com tampoco dnd et a mai ping (Gatos) opera, se deben eumplir las siguientes reglas para que el proceso sign corecnente ~ {is nici el procesuieno al Depdsto (Memoria) debenenrar ss insrucionsy lamer prima (aos) a proces Fe al ge atl precio az, pues con el CL sella cada inscein, yEnc Jone eat as opera + nciizar CLI AP) cn el nero de box (diecin) que puede sr cualquiera, donde s hala a pina inscion ~ bisa instrcciones de una seeuenca en boxes (celdas)consecutvos, siendo que cada una se localiza por au mero de asume quc en 4 es Ja nsruceién que sive. Deo sera, se piende el hilo del proceso, i ~ Constr eda instruesin de modo que prove el nimero (direecién) del box (celda) donde encontrar materia prima (dato. numérico) que se ordena opera, y que indigue implicit yexpicitamenteel gar adénde rin resultados Cada instruceién: 1) ordena una operacién; 2) permite localizaraquello que se va a operar, 3) indica donde va cll ‘ould: apr es slizcin permite qu se encuentra sigue stun a gjecuar mediante! CLIP) FE BRR UCP) existe una terer zona para almacenamiento temporaro donde estén E (AX), MI (RU) y CLI (OP), dc 0m bs) por el au pasa cada insiucién seguida (ono) de materia prima (datos) o resultados, Este psilo (bus) ‘st YezSeconecta con pasillos para la comunicacién entre el Depéstoy la Recepeisn ola Expedicin (periferees). Cardo en la Fbrica le materia prima pasa de un box hacia, de de estar en el box, peto con fs datos (smbolos) Senne naan Cl geto de leer una copia de fo que vemos pasa a nucsira retina sin que desapareacan det pepe hog simbolos leidos. En los procesos de datos, incluidos los que hace um computador, siempre que s¢ lee ntereacion almaccnada, una copia de Ia misma pasa al logar de destino, quedando sin modifica la informacion leida a on computador dicha copia destruye la informacion existente en el destino, ioe TRC w CT ra clic: nossa itn ee ee i) Daan Qué es lo bésico que se necesita conocer acerca de bits, bytes y de la equivalencia entre binario y hexa para operar con el programa debug ? ane enn nen eneeromen CR COG? fa ames aa en detalle qué es un sistema numérico el sistema binaro, el hexadecimal a sua y esta binaries y poses nzatin ASCH de caractere tipeades. En lo que sigue sedan eoceposbiscos pra entender el vatone tee Poder operar en hexa para experimentar con el programa Debug (Seesion 6), 100101 Geioattms esimal 3 0 9 simboiza que en un conjunto con ese nimero de elementos se formaron 3 grapos de 100 CxtO0n y aue con fos 309 - 300 9 elements restanes no se pudo formar ningin (0) grpo de 10 (Os10, now at 9 Bsrupos de 1 (9x1). O sex: 3x100+ Ox10 + Sut = 309 a eaReE on Ge I-10, 10,100, clemetos. Ca uno es 10 vcs ati, ind 10a ada sntaas ado (0 19) pa simbolzarcunguir mimeo, Pueden formas hasta 9 grupos de eat M.Ginzbus y4,Ginzburg La denel box [En genoa en cada sistema numérico posicionalparendo de grupos de un elemento, cada po de grupo es anas veces snayor que el anteror como la catidd de simbolosempleada en un sista (10 veces en decimal, ds veces en binario) Cassone es ruimero se quiere simbolicar. Se pueden formas basta k grupos de cada tipo, sindo kel simbolo mayor del sister | fsa 9 en decimal, slo hasa un grupo de ca tipo oningtno, en binario, y hasta 15= Fen hexadecimal | rol) acciones) = Memoria | Asien el sistema binario que usa dos sinbolos © y 1 para repe-sentar cualquier ‘mero (con el mismo signiticado de dchos simbolos en decimal), caia grupo sera el = Ox8 + Ox4 + 0x2 + OXI ble que el anterior Simbolizados en decimal sean: 1, 2, 4, 8 16, 32, 64, s termina + Oxd + 0x2 + Ix 5 a Ox8 + Ox + Ox2+ Ixl | 136 Camo el snbolo mayor eI, silos psd formar stam spo d= ol = 0x8 + Oc4-+ 12+ Ox | ca pseu que dein sane orm porn upd 0 veal = 0x8 + Od + 12+ Ix Bazi cpeacin y y 3 grupos de Denbinaro sen 1101 Ix8 + Ixd + Ox2 + Ox! os Ox2-+ OXI | big signiticn que se pudo formar un grupo de 8 (1x8), y que con los 13 ~ x8 + 1x4 +0x2+ 1x1 | elementos restants se poo formar un grupo de 4 (Ix Ox8 + Ind 1x2 + Onl | esis 0 pu omer ingin 0) rope 2, pe sun gup (xD, De w oek a tate tga ber | Ssemode Ix8Ixt-+ 002 + t= 13 Ox8-+ Ix + 1x2 + 1X1 | Por tanto ahora el mismo conjunto ue en decimal se habia divdidoen un grupo 8 "1x8 + 0x4 + 0x2-+ 0x1 | de toy 3 grupos de I, enbinaio se ha dividido en un grupo de 8, un ipo de 4 y =: 1x8 + Oxd + 0x2 + Ix1 } un grupo de 1. En la fig, 14 aparecenformados como cuartens los nimeros binarios queen decimal se corresponden con los nimeros del Oa 15, i | 8643216 8421 nimerode 7} [11 = 1x8 + 0x4 + 1x2 + Ix] | £1130 decimal en binario seria: 10000010 + numéricos) yf ’. teehee 1x8-+ Led + 0x2 + Ox1 | Cada uno de los simbolos que compone un nimero binario es un dito binario, en ; ae “ext | inelésbinary digit, abreviado bit > prima (dato Ix8 + Ind + 0X2 + ITY Vase decir que un bit puede valer 0.6 1. Fl 1101 tiene 4 bits, y et 10000010 1x8 + Ix4-+ 1x2 + Oxt | iene Bits Culquierconjunto de 8 bits se denomina byte (octeto en castellano) 1x8-+ Ixd + 1x2 + Ix El sistema numérico hexadecimal (Yhexa") usa 16 simbolos, del 0a F (con 1 dénde va ef su cortespondencia en decimal y binario indicada en la fig. 14), con los 2el CLICP).| Figura 1.4 cuales se puede formar cualquier nero, Los simbolo del al 9 ener eh + CLEP). ‘mismo significado que los andlogos decimales. reas de dates Pesto que en binaro se eqierepaarepresntar un mismo mer algo dal pede digo qu en decimal y Sill (bus) a dale ges nformacin et el inerir de un computador es de, 1,361 y hata a8 bi, renltaengrrom de vet sniferieos) ceee.diatbrey ocr medion yt pam sas, La abled ig peeps parent por simple reumplazo cule nero biraiosherayvicoves, = (simbolos Pana llose sepa visualenene elmer bar, suponiendo que sen 1000000 en carts: 1100 OX. papel os Enlnigua Laveen que 100 en hexa eC que OD es, por tanto 10000 = Cd eee Si usando el Debug, en Ia pantalla leemos que un registro contiene ASBA, hallando el cuarteto que le corresponde a cada simbolo y reemplazando, resulta: A'S B4= 1010 C101 1011 0100. © sea si leemos A5B4, en el interior del ‘computador existen esos 16 its, Vale la pena recalcar que en el interior de un computador no puede existir“hexa". Sélo hay binario, éCudl es la ventaja de operar en el interior de un computador con dos estados eléctricos correspondientes al Oy 1 binarios? ianeae / dela La breve explicacién conceptual que sigue hace hineapié en la complejidad teenoldgica y la menor eonfiabildad que implicaria Sablcer de estado elérios ners par representa digits demas {ee miloncs de wares que compenen ho dia os cts de un computador fron coro ls aves de ds esos, sn" a binarias y vsadas para la electricidad hogareta pero pot ser los transstres dispostvos clecrénicos, pueden cambiar de un estado al ot aabinarioy millones de veces por segundo, Estos, cada transistor opera en uno de dos extados perfectamentedefnidos: dea pasar I cmriente erica (1) 0 00) ‘Operartecnologicamente con dos estados es macho mis simple, y también mis confiable, que hacer trabajar alos transistores con diez valores de corrientes 0 tensiones elécricasdistintos, con el fin de generar diez estados diferentes, para poder ee representar los digitos 0 al 9 del sistema decimal pera x19 Por otra pare, dichos valores deberian permanecetfijos con la temperatura, con Ia complicacién que ademis, debido & las dispersiones propias del proceso de fabricacién de circuits integrados ("chips"), los valores de las corientes generadas osusados (0 ‘arirfan naturalmente en més 0 en menos dentro de un cierto rango respecto a valores nominales promedio— con cada >>Un mapa de buses aaat estd en la fig 1.80. | ¥ 13, aparecen repetid dronatts (as unidades de disquete y disco, y el médem). El blogue I ser refune ve Interfaz interme-- dliatia, necesaria para conectar su perifrico, la cual contiene lee registtos ports (>>Ver seccién 1.10) | deen Sts BUY Benerales, en las figuras 1.6 y 17 se supone lo que sigue. Un disco de la unidad de Eis Hibido provee un programa, cuyas instrucciones pasardn staves de buses hacia la memoria Tos dates legarén —también a través de buses~ a la memoria, Provenientes del teclado, feat Luego, dichas instrucciones son ejecutadas, sma ‘or vez. A tal fin primero cada una por un bus llega a eae tosmc 110 tro de instruccién (RI) de la Unidad Central de Procesamiento (Procesador), donde ermanece mientras se ejecuta, para que la Unidad de Control interprete qué operacién orden ella, —A continuacién, a través del mismo bus, el dato a operar por dicha instruccion lega desde memoria a un registro acumulador AX' del procesador, antes de ser operado (conforme a la operacién ordenada) en In Unidad Aritmética afin de obtener un resultado, Este puede susttuir en el registro AX al dato ya operado™ y luego pasar a memoria ~nuevamente a través del bus citado~ si una instruccién asi lo ordena, Sipor ejemplo se quiere enviar dicho resultado al exterior para ser visto en pantalla, o para ser guardado én el disco rigido o en un disquete ello e consigue mediante la elecucion de instrucciones que asilo ordenen, [EnTaaDy] HEWORTACTON ROCESAMIENTO} AA Pig. 1.6 En la figura 1.6 se ha reemplazado al “idéneo” de la figura 1.2 ~encargado de obtener de la memoria en el orden establecido cada instruccién y ejecutarla~ por un circuito denominado “Unidad de Control” (UC), capaz.de realizar sus mismas acciones basicas, pero millones de veces mas veloz, Dichas acciones formaban parte de una secuencia siempre repetitiva: ‘+ obtener de la memoria la proxima instruccién que corresponde ejecutar, ‘+ lecalizar los datos a operar (en la memoria principal, oen un registro como AX u otto, segtin se ordene) + ordenarle al circuito dela Unidad Aritmética que realice con dichos datos la operacién indicada, + guardar el resultado en un registro acumulador o en memoria principal Por lo tanto: La UC tiene a su cargo el secnenciamiento de las acciones necesarias que deben realizar los crcullos involucrados en Ja ejecucién de cada instruccién, seguin el cédigo de la misma; y también tiene a su [cuidado el orcien de ejecucién de las instrucciones de un programa, conforme como éste fue establecido La calculadora de la figura 1.2 se ha dividido en dos porciones: una que contiene los circuitos de cileulo, que denominaremos Unidad Aritmética Légica (UAL 0 ALU en inglés), y otra constituida ‘Det mismo mdo que al egistovsualizableen una calulaora ga un ade, o como ent figura 13 la mata prima queda _ganstorlamente en una extntera nts de ge ratada por el tr. ‘Como ene registro visulizabe de una caluladora el resultado reemplaza& un admero operado, ), donde naella raat xd) en operado', reuitos easu| os de ituida queda Ll ppor el registro! acumulador designado AX, para datos y resultados (que en la calculadora es su ro visualizable). La UC ordenaré mediante sefales eléctricas transmitidas por cables, las operaciones (Suma, Festa, multipiicacion, etc.) que debe realizar ia UAL. Esta forma de conticl Glectrénico directo reemplaza a las lentas teclas de una calculadora de la figura 1.2. Asimismo, el hecho de tener un registro separado, permite a la UC entrar al mismo datos a operar en forma electronica directa, mediante cables que legan a él, sin que tampoco se requiere teclas para ello. Ta UAL sirve para realizar las operaciones aritméticas 0 logicas que le ordena la UC, siendo auniliada por registros acumuladores para guardar transitoriamente resultados datos y resultados, Mientras que la UC es la encargada de ordenar operaciones de lectura-escritura de registros y de memoria, as{ como de las operaciones que debe realizar la UAL, ésta es pasiva: no puede emitir orden alguna. Por lo tanto, la UAL no ejecuta instrucciones. O sea, no puede ordenar las operaciones correspondientes a Jos pasos que requiere la jecucién una instruccién. Sélorealiza tno de ellos: la operacién aritmética 0 Logica ‘quella instrucci6n ordena, cuando asf lo requiere la UC. Mediante una operacién de la UAL, a parti de uno 6 dos ntimeros (materia prima) se puede obtener un niimero (resultado) que antes no existia. Conforme al proceso de la figura 1.2, no debe perderse munca de vista que el conjunto UAL- ‘Acumulador forman de hecho una calculadora con funciones semejantes a una de bolsillo, siendo la UC la encargada de manejarla, segiin la operacién ordenada. a palabra “Logica” de las siglas UAL puede llevar a equivocos, en el sentido de suponer intligencia. ‘Como se ejemplifica en 18, las operaciones “I6gicas” de la UAL son las operaciones AND, OR, negaciin, ete Se denomina Unidad Central de Proceso (UCP o CPU en inglés) al conjunto formado por Ja Unidad de Control Js la Unidad Aritmético-Légica Js os registros (como el AX, Rly otros) usados durante la ejecucién de cada instrucci6n. LaUCP es el bloque donde se lleva a cabo la ejecucién de las instrucciones. Hacia ella se dirigen las instruceiones que serén ejecutadas (una vez que la UC decodifique su c6digo), ¥ los datos para ser operados por la UAL; a la par que de la misma salen resultados generados por la UAL. ‘Como se veré, ademds del registro acumulador definido, en la UCP existen otros registros necesarios para la ejecucién de las instrucciones, que se iran definiendo, UR UGP ae ina microcompatadora “com6 Jo’ es tina PC— est contenida en el chip sprocesador ‘central! (par ejemplo, 1 80296/386,/486, Fentium, 68000, Alfa, Power PC, ete). £ Los términos UCP, microprocesador y procesador suelen ser sinénimnos. ril de la figura 13, la memoria principal o central o interna almacena materia Al igual que el depésito fabs na al Y los resultados del proceso realizado en circuitos electronicos’. © sea: ‘prima (datos), instrucciones, Ta memoria principal (MP) almacena instrucciones de programas, que proximamente serén| jecutadas en la UCP, y los datos que ellas ordenan procesar (operar); asi como resultados} intermedios y finales de operaciones sobre datos recientemente Ilevadas a cabo en la UCP. sito que puede almacenar (sea registartemporramente datos nsrucioes vaste y también podemos lamar registro a eada celda de 8 bits de memoria sie mter sca" sin ataments, implica un rezisto de UCP. 1a palabra “registro” en general indica an cic ‘Sibien ea un computador hay registos en dstintos su nepal ya cada “pot, wbicado como seren una plagues inset War wansiovamcae infomacin lacionada con a insruciGn en curso de eecuEGn,y Tos registos dela UCP sven para guar oe eet lin invcelones 4 ejecta, Por ejemplo, l 80386 y SO486 tienen 8 registro deus general de a UCP (a opearo resltodo)y direciones de memoria. sta informa se refiee a cgos de instrucién, datos aor maematico la emora cach el reloj de axeMEz(megaher) y ots. 2° "xe puede contener otro circuits, como el coproce 3 Enel chip de wn microprocesadorno esd contenda + Laexigenca de una memoria intema electinica par inst cla ipisamente en el interior del computador. Este, puesto ue | ta MP tn este chip boy encontrames el copocesador matemtico ta, ones 9 dos a. proses, ene ue ver con ln neces de aceder a TUCP opera a vlocdades eecrSnicas, debe poder lec o esc dicha con ac cidad compat con a sy Si UCP avira como memes un disco (rmerora exten) ext mada fos Gempos a eo anglican Ia wealzacign de movimientos mernicos. cot lo al se desaprovckaria la rapide de prosesaicnto To ae jen UCP. Pr lo tant, si una dela vrtdes de un eomputadore su opidz, la meme también debe estar contd por {fultes leetriicos pra el almacenamientoy letra de informicn Maur fl A wy fn "DEBUG . FLAES Li Vale decir, os datos que se procesan y el prog far en MP. Cada Programa comparte la MP con sus dates, pero ‘wna zona y ios datos en otra, pag informacion queda almacenada temporariomente minions sa opera con ella’; pudiendo ser fuego reemplazada por otras instrucciones a ejecutar ¥ datos que éstas procesan. También existen Programas que residen en MP en forma perm: anente, como los del sistema operativo, que facilitan ¢laso deun computador, cuya ejecucién se alterna cen by te Programas de los usuarios, {as instrucciones y datos a procesar que pasan ala UCP. egan a la MP. (Ggura1.6);y os resultados que egan a MP provenientes ac is Gone En una operacién de entrada, la MP es el destino de insérueciones yd iRaresan a través de unidades de discos odisquetes, teclado, Asimismo, en una operacién de salida, la MP es o1 origen (@ través del monitor, impresora, unidades de discos 6 disq uta para ese proceso debe desde el exterior del computador ‘deben Inego pasar al exterior: datos provenientes del exterior (que mouse, médem, u otros), de resultados que deben salir al exterior juetes, modem, u otros). [ipicamente los programas legan a MP —para ser ejecutados~ Provenientes de archi hivos en discos o disquetes tos datos a procesar pueden llegar a MP provenientes delecrene desde cualquier periférico. de seales. Del mismo modo (figura 1.1), nuestwon las transforman en seftales eléctticas que van ha Lay que diferenciar el perferco de lo que es su exterior. Asi, clisquetes), el exterior esta consttuido por el disco; para la modem es la linea telefnica, etc, Usualmente, en un sistema de computacién personal existe un conjunto de periféricos (teclado, Para los periféricos unidades de discos (0 impresora el exterior es el papel, para el de an de la figura 1.6 aparecen repetidos en la entrada y salida, aungue en de la misma wnidad actuando de una forma u otra, come ya Se expresé, ign "petiféricos” proviene de su posicién, vinculada al mundo exterior en relacion con la porcién central o interna, constituida por el microprocesados (GCP) y la memoria principal Por las razones que se exponen en la seccgn 1.10, un periftrico no se conecta directamente a la porcién os perifricos como el telad, el monitor, la impresor, el Braficador (“plotter”) y cualquier otro que Pas unidateunicecién directa mediante simbolos usados por los homibve, oe denominan terminales. Ba anridades de disco (magneético w eptico), de disquete de fee oon Petiféricos conocidos como unidades ae almacenamiento masivo, tambien denominadas mensorion wean ‘© externas 0 secundarias Distintos circuitos de un computador se comunican entre simediante un conjunto de conductores (cables o a En general los resuliades son guardados como archi ada en lor or lineas) que interconectan eléetricamente las patas de los c ips que contienen dichos circuitos. ae las ineas conductoras de electricidad que salen de las patas del chip de wn microprocesader para transmitirdlirecciones, in yy resultados, constituyen el denominado “bus local”, Gn bus de un computador es una estructura de interconexin para la comunicacién selectiva entre dos} ‘omés médulos de un computador, a fin de poder transmitirinformacin entre dos médulos por vez. zn general, en un bus encontramos lineas para direcciones, datos, y sefiales de control (a veces venorninadas bus de direcciones, bus de datos, y bus de control, respectivamente - Ver figura 18). fos Kneas de direccién, conducen de UCP a MP cada combinacién de unos y ceros que indica onde localizar instrucciones o datos en MP. Es unidireccional. {i liness de datos, en cada lectura de MP conducen de ésta hacia la UCP tanto dato a oper como instrc- bones, y en una escrtura conducen desde la UCP hacia MP datos resultant. Son pues, ineas biircronas {Las Hneas de control, son unidireccionales individuales para que la UCP dé érdenes -cémo leer o escribir MP- y para que ella reciba seRales ~como la que origina la MP para indicar lecturaefectivizads- Un bus presente en las PC es el bus PCI (Peripheral Component interconnect) creado por Ine, al cual == través de zécalos (figura 1.5)~se conectan plaquetas para conexiGn de periféricos, y de otros buses. Este bus taenbign emplea las tres clases de lineas itadas, No esté vinculado directament al procesador central inl sovcién 1.3 se detalla este bs, el USB y el SCSI, y en la figura 1.80 se da un mapa de cémo se com: aeean entre si (como sugieren las figs 1.6 17) a través de chips que hacen de "puente” entre distntes buses. Lins sefales eléctricas digitales se transmiten por las lineas de un bus como se indica en la fig 148 Las figuras 1.7 y 1.6 son en esencia similares, salvo la ubicacion relativa de la UCP (més acorde a la figura 113), y que los periféricos de entrada o salida (segrin indica el sentido de las flechas) aparecen espacial- mente en un mismo nivel de proceso, aunque como se aclar6, por ejemplo una unidad de disco cuando ‘ackia como periférico de entrada no puede simulté- neamente operar para salida, y viceversa. En ambas figuras se han respetado los orfgenes y destinos de los movimientos. tra diferencia menor, pero importante, es que por la forma en que se comunican los buses de la figura 17, es factible que datos o instrucciones que entraron por un periférico, en lugar de pasar directamente a memoria principal’, primero pasen a un registro de la UCP, y de fetea memoria, resultando una “triangulacion” Esto es lo que sucede en una PC cuando se entran datos desde el teclado, el mouse, o el disco rigido. ‘Asimnismo, en una operacion de salida, un resultado en memoria puede pasar aun registro de la UCP, y desde ‘Gite ira un periférico. Asi se realiza una impresién 0 tun almacenamiento en elrigido en una PC. En cambio, la unidad de disquete envia o recibe infor- ‘macién dinectamente a memoria, sin “triangulacién” Estas alternativas de triangulacién para entradas y ‘alidas no se han dibujado, para no complicar la figura. En la “mother” de una PC existen “chips” que inte- gran distintas funciones, constituyendo el “chipset” Figura 17, ee 1 Conacide como “Acceso Direct a Memaria™(ADMa sex DMA ening) Es forma tices mis rite de Se oun ee ag, gu erpeen samen ns omputndores medino® y grands, Fort meonss 5 poet ae a mF con un oct pd como 86 oe Pent esata més is a neni) os APE ee em ea a “vipa” Ge ae: FX (Tin, 420 HX Refi I y4S0VX ye 450K pao Peas Pn Z f D n PERNA 1d Para realizar esto, 18 UC ordenard una secuencia de operaciones de lectura y escuit ‘peracin a realizar por la UAL. A la UAL van los datos a operar, IP, para Iuego encaminarse hacia el exterior a través de un peri Suna instruccién ordena una transferencia de un dato desde la UCP hasta la plaqueta donde esta conect do un periférico, endré lugar una operacin de salida, encargandose el perférico de llovar los datos al ¢ terior (representado por la pantalla del monitor, un disco, etc). IJuakmente existeninstrucciones para lley tun dato que entré desde un cierto periféico hasta la UCP, mientras se desarrolla una operacién de entrada éQué registros de la UCP falta definir para realizar las primeras prdcticas con é Debug, a fin de operar en el interior de un = En la figura 1.2 el “idéneo” recuerda, en una zona de su cerebro, cul instruccin ejecut6, para lueg leer la instrucci6n siguiente en la planilla Esta sirve para escribir qué ordena realizar cada instraccien Si por razones de velocidad el “idéneo” s6lo pudiera leer una sola vez cada instruccién de la planill ~como ocurre con la UC- deberfa registrar en su mente o en algiin papel dicha informacién, Para tal fin, como antes se traté, el c6digo de cada instruccién lefdo en memoria principal (MP, queda registrado en el registro de instruccién (RD, para que la UC determine qué ordena el misme evar una cuenta para poder ubicar en MP la préxima instruccién a ejecutar Para localizar en MP Ia siguiente instruccién que sigue en orden de ejecucién, en la UCP existe of registro muy necesario para la UC, conocido como “contador de programa” (CP) o “registro dt préxima instrucci6n”, que en el modelo de PC que operaremos con el Debug sera el denominads: registro puntero de instruccién (IP - Instruction Pointer). E] IP indica un niimero, el cual permite Jocalizar en una zona de memoria principal dénde esta la pr6xima instruceién a ejecatar.* | ancl RgEiei lamados indicadores ace la UAL. Los ‘ atico de datos, Inismo subprograma, 0 sal un subprograitia a otro que Ree También una calculadora comtin muestra, junto con el resultado de una operacién, otras indicacio- nes de interés, que pueden asimilarse a dichos “flags”. Asi, un signo menos que aparezca en el Visor adelante del resultado de una resta, nos indica que el minuendo es menor que el sustraendo. ano aparicién de este indicador de signo, implica que el minuendo es mayor. Asimismo, si el resultado de {una resta es cero, significa que ambos ntimeros son iguales. Otro indicador es el de resultado excedido. Tgualmente, la UAL luego de cada operacién aritmética o légica que realiza, genera “flags” de estado del resultado: si fue positivo © negativo, si fue cero 0 no, si como miimero entero sobrepasé o no el miximo representable Cada uno de estos “si” 0 “no” es un bit que se guarda en el reistto de estado cited, actualizado por la UAL, Se rand ¢lidéneo" dea figura 1.2 tetas insrvsiones BI... 8 s4pone que oben una inforacin seman Gide este mero se forma sumando el valor de IP con el valor den registro del 80x86 denominado “de segmento de Seas0" (CS) mltlicado po 16, pues a memoria de una PC est vida en segments. Si alos fines didetcsy de singed, se ufone que el valor de CS ex cero ignorando su valor rel. quival a abajr con el primes segment de os que cococoen a sicado quel IP indica a posici del mismo que se quiets dsvionar, Z ue son las direcciones y los contenidos de la memoria principal 2. La memoria principal almacena bits (unos y ceros) en celdas independientes, aisladas entre si, que ay the dueea’ contienen un byte (8 bits) de informaci6n (figura 1.8, pagina 1.16). es maid Cada celda se localiza en el conjunto mediante un niimero binario identificatorio, que constituye su ifn pee " “direccién”, 0 indicacién de su “posicién” en ese conjunto. da Este nuimero no se puede alterar, pues esté establecido circuitalmente. ‘orb UG; Ae oro tanto, en felacin con cada celda se tiene dos ntimeros binarios aati «un néimero fijo, la direccién (de mas de 20 bits), que presentado en los circuitos de la memoria permite acceder a una celda; y Unmuimero de 8 bits, que es el contenido informativo de esa celda, o sea la combinacion de cas con? lunos ceros almacenada en ella. Este nsimero puede cambiasse sila memoria es alterable ee Es costumbre representar las celdas de una memoria, o una porcién de ella, mediante un conjunto de 16, para lueg ‘casilleros verticales formando una “escalera”, siendo sus direcciones ntimeros binarios consecutivos da instrucci6s Eatos nuimeros binarios se escriben en papel o en pantalla al lado de cada celda, en su equivalente vde la planill hexadecimal, como muestra la figura 1.8, a fin de no tener que visualizar largas cadenas de unos y ceros in, En la figura 1.8 (pag 1-16) se supone que en las lineas del bus de direcciones {ampliado con la “Iupa”) rincipal (MP, se envi la direcci6n 0000 0010 0000 0111 = 0207H, en la cual esté almacenado el byte 01100001 = 61 1 ena el misme . Puede ayudar a entender mejor el concepto de byte almacenado, si se piensa que en cada casillero existen 8 llaves del tipo “sino” (figura 1.9), como las oso er ed yrs encaner a ncaa napa ener un uno C3") 0 Grote a comune Pax Emomec, para una celia Jaa, como a soe cone os 01100001, la combinacién de unos y ceros que estén formando las 8 Ilaves es ae Permite 0 Ia informacién contenida en dicha celda, La informacién que almacena cada nee grupo de 8 llaves puede referirse a instrucciones 0 datos. El modelo de las Hlaves tambien es iitil para tener presente que en cada posicién de MP siempre exate une eierta combinacion de unos y ceros, 0 sea no es posible que ella no contenga “nada”, pues las 8 laves siempre estan presentes, cada una en “si” 0 en “no”. ‘paleaarainecciolde mreinoria (cela) S816 “1eaeSe OREHBINS Bits por’ eo Se coresriidad de bie Dun bial = 1s indicaco: eee — . varezca en el Puesto que la palabra “registro” en un significado general indica algdn lugar donde datos se I sustraendo, pueden registrar, guardar, podria designarse “registro” a cada celda ‘de memoria, y decir que la MP I resultado de std formada por un conjunto de registros independientes de 8 bits cada uno. Para evitar tener que «cedido. aclarar “registro de la UCP" y “registro de MP”, se entiende que “registro” a secas significa que ¢ le estado del de la UCP, y las celdas de MP se denominan “posiciones”. 2a86 0 no el Coando log datos o instruceiones ocupen més de un byte, se almacenan fragmentados en varios bytes, Ios eee Caan 8 as is ie conecuthas de mero, eae deecions sucess En una operacién de lectura 0 escritura de MP se pues Un cierto miimero de éstas (2,4, 1 8 bytes) suele denominarse sant “Tecnol6gicamente a MP reside en microcreuitos clectrénicos, que pueden guardar un cierto nimero de ‘de segmenin de bits corstruidos sobre una fina capa de silico (semiconductor), conformancio un “chip” (Ggura 8.12) Este se » simpli, se protege con un encapsulado de plistco o cerémica en forma de patlla con “patas’ metlicas para cone ‘en meni ersneco. Se requieren varias pasillas para lograr el total de memoria necesaria (igura L8, ala izquierda) ‘palabra (“word”) de memoria ineas de contol ineas de tection ~Lineas de datos tineas|E coldas Figura 1.8 Ana subconjunto de “patas” de ess pastas se le envia cada direecién en otro subconjunto aparecen les Contenicos, etc. Como aparece en la figura 1.8, en una PC varios chips de memoria estén invertos on we Bese Plaquela que consttaye un modulo obanco de memoria Este se incerta en un 26calo (‘slot’) a einseolsia de conexnado pude ser del io SIMI (ingen ine Menory Mal) DIN (Dual |g QUE € inline Memory Module, siendo que 2écalos DIMM aparecen en la motherboard dela figura 1.) j Cine se dreccions seleey se.escribe la memoriaprincipal? En relacién con la MP sélo son posibles dos operaciones que puede ordenat la UCP: la lecture on escrilura, pero antes de realizar cualquiera de ellas, la UCP debe direccionar la MP. | accion dl directions (direstionamiehte) cong ae ER TA colocar bias linea ide directions Tonemeg ‘us quellegana MP, la direccién dela celda ala que se quiere acceer, para leera sascha Figur Seana acon (gues 1.10 y 111) se repetré el esquema de la derecha de la igura'L8 para ilustar comme se ee y escribe la memeria principal. Los némeros binarios contenidos en las tldas demos anen Fo S835 figuras han sido convertidos a hexadecimal, y se supone que el procesador puede leer oescribiren Qué Si Operacién de lectura de ui La UCP “no sabe” su direccién, ina palabra en un acceso a memoria (figura 1.10): ué combinacion de unos y ceros existe en cada celda, Para conocerla debe indicar y la MP le proporcionaré la combinacién que guarda la celda direccionncs por la UCP. Side leer un word, la MP leenviaré dicha combinacién junto con la centeniner osicion siguiente, ‘Mas en detalle (figura 1.10), una operacién de lectura de un word comprende los siguientes pasos bisicos: 1.-La LCP ordena lectura mediante la linea de Lectura /Escritura (L,/E =1), que va de la UCP a MP. 3 Ena linens de dein, In UCP cole lacey cela panes celda gos ce ere eee (0207) 3. Luego de un tiempo, una copia del contenido de la posicién direccionada (61H) y del contenido de In siguiente (15H), apazecen juntas (6115 H) en la lineas de datos del bus, a disposicin de la UCP eee Con el modelo de las 8 ICROPROCESADOR lives por celda propuesto, = —— una iectura consite en Mil (207 dleerminar en gut estado 5 (‘si" 0 “no”) esté cada Tave,y lego tarsmitio i albusdedatos. Ss iclones) fF Operacién de escritura 7 Palabra Falabra de una palabra de dos q elegida “elegida bytes en un acceso a memoria (fig. 1.11) Consiste en cambiar la combinacién de unos y ceros contenida en las celdas que conforman la palabra de memoria direc- Figura 11 cionada, para lo cual: Lineas de | sreocén Figura 1.10 eal Xehido 1. Ena lineas de direccién del bus la UCP coloca la direccién de la primer celda que se quiere escribir 2 La combinacién binaria a almacenar en las celdas (por ejemplo 25B3 en hexa) ¢s colocada por la UCP en las lineas de datos del bus. 3. LaUCP ordena escritura mediante la Iinea de control L/E a cual queda brevemente en cero. 44 Luego de un tiempo, una copia de la combinacién enviada a MP queda almacenada en lacelda direc- cionada y en la siguiente (en cada una cambia la combinacién de unos y ceros que forman las llaves) ‘Se ha supuesto que las mismas celdas que antes fueron leidas, ahora son escritas con otro contenido distinto. Con la idea de las 8 Haves por celda, algunas o todas cambian su estado (de “si” a “no” o viceversa) para almacenar el nuevo contenido de unos y ceros. De esto se deduce que una escritura es destructiva, en el sentido que se pierde, desaparece, el contenido anterior, pues las llaves que cambian de estado no pueden vol ver al que tenfan antes de la escritura. En el ejemplo, los contenidos 61 y 15 fueron reemplazados por 25 y B3 ~Qué es tiempo de acceso a memoria y su medida en nanosegundos ? Tiempo de acceso: es el que transcurre entre que se direcciona una memoria, hasta que aparece en. | sus salidas (conectadas a las lineas de datos del bus) el contenido de a celda direccionada, Este tiempo suele indicarse en un chip de memoria al final de su cédigo (figura 1.12), wraola i como ser el imero 70. Esto significa que es tan corto como 70 nanosegundos. iid Ge eeisgo Ge “Signiica una’ Will willionesinia de Segianas seiones “To nanasequndos 10°" segundo), 0 sea mil veces menor que una millonésima de'segundo, Gans Figura 1.12. _ Enel presente los procesadores operan internamente en el orden del nanosegundo. ibiren | Qué significa que el acceso a la memoria principal es al azar (random)? En los televisores que tenian un dial rotatorio, para pasar, por ejemplo, del canal 2al 7 el dial debia reco- : rrerla secuencia de ntimeros que estan entre 2 y 7. Del mismo modo, en uuna memoria de cinta magnética CP. oe sto significa que dich Woea de contol eté en S vols. Si LE = 0. xa linea est en O volts, Los procesadores BOX86 puede leet : tambicnun byte de memoria, lo cual implica que debe exis or linea de cont! (no baja) pra indica eer un word oun byte CAA, _ TERA ~Cémo es mds en detalle el acceso random a una celda de memoria ? ere ronan eennnt acne como la de un casete de audio o TV- si se quiere acceder a una determinada porcién de la cinta, a —que-busearla pasando por toda: ir we e cabezal. Decimos que en ambos casos se trata de un acceso secuencial al lugar donde esta la informaci, tia ‘buscada, que si bien requiere dispositivos sencillos, los tiempos de buisqueda a veces son inaceptables. ” oa En cambio en una TV con control remota, mediante la botoner, : fee nes eee em ease ee & aparece direstamente en la pantalla sin necesidad de ver pag a ors niimeros de canales. * Esta forma directa de acceder, seleccionar 0 ubicar algo, = denomina “random” (al azar en el sentido de que con} = botonera de un control remoto puede formarse cualqui = rntimero de canal al azar, y éste aparecera en pantalla ¢ fs igual tiempo que cualquier otro mimero de can Po seleccionado, sin importar el niimero del mismo y ¢ ie brisqueda alguna. Un sistema de este tipo requiere wu ay mayor complejidad, tanto en el selector como en el televiso. & Tgualmente, acceso directo 0 “random access” en una memat implica que cualquier posicién puede encontrarse en igu @ fiempo (para ser leida 0 escrita), sin biisqueda alguna. Er Vale decir, que el tiempo de acceso es el mismo pa es cualquier direccién sin importar su niimero. A continuacién veremos que en la UCP existen funciones que’ se quiere son anélogas a las del control remoto de TV citad Fara tal fn, se equiere afadir en el modelo propuesto de UC 3 CGmo dos registros: RDI y RDA que ahora se definen, y que aparect, Sater: enelesquema de la figura 112, H En el registro de direcciones (RDI) de la UCP se forma cai le direccién que serd enviada a MP por las lineas de direccisy ci por lo cual est en contacto con éstas. Si bien en la UCP no existe ninguna botonera para form: « niimeros correspondientes a direcciones, la UC se encarga de indicar cémo se generaré una direcci, A en RDI, sea por que ella ya existe en otro registro de la UCP, 0 por que debe ser resultado de w P célculo a realizar. Lo que importa es que antes de que una direccién Ilegue a MP, la misma se forma en RD A registro del cual salen las lineas de direccién del bus local. o Del mismo modo, el ntimero del canal de TV seleccionado se forma primero en una memoria del contr: remoto, y luego autométicamente se transmite (mediante ondas infrarrojas) a los circuitos del televisor. Memoria En un computador, la UCP y MP no se comunican en esa forma inalémbrica, sino por sefale _vela Ol eléetricas que viajan por las liveas de direccién del bus que las interconecta. or10T10 Una vez que circuitos de MP decodifican la direccién enviada desde RDI, se accede a la cel 001111 direccionada Anélogamente, cada vez. que circuitos de un televisor reciben el mimero del cant seleccionado en el control remoto, se encargan de que sea el que aparece en pantalla ' ‘Asi como por RDI debe pasar cada direecién que se envia por las lineas de direccén el bus, existe 1 segistro en contacto con las lineas de datos del bus (en la fig 1.12. esté en la UCP, pero puede estar en MP, «que denominaremos registro de datos (RDA), Se usa para guardar en forma transitoria la informacién qu Ta UCP envia a MP por estas lineas, o que debe recibir desde MP a través de ellas. 1Los m bits de la direccién formada en RDI (supuesta 1010001100100000 = A320) viajan por las lineas dé ‘bus de direccién hasta las entradas del circuito decodificador, que forma parte de la memoria (fig. 1.12.3) ‘Cada una de las 2" lineas de salida del decodificador va a cada uno de las 2" celdas de la memoria det lineas de direccién.. Esto es, sihay un millon de celdas, a cada una llega una salida del decodificador. Para la combinacién binaria supuesta (A320) 1a sola de esas 2° lineas estar a 5 volts, y las restantes a volts. La celda de memoria conectada a la linea que esta 5 volts sera la accedida. ee 1 _ 2 1.19 Ia cinta, hy Dada que una ver que leg6 una direccién al decodificador cualquiera de sus 2" salidas tarda igual en . ara frente. pasar_a 5 volts, resulta que no importa cual el nimero que recibié el decodificador, la celda a informacig correspondiente se accederd en el mismo tiempo (esto permite el aceso random y sin brisquedta, ¢ ceptables, En un esquema de memoria al lado de cada celda se acostumbra a escrbir su direccion en hexadecimal a botoneray (que en este caso van de 0000 a FFF) sienio A320 la direccién de la celda supuestamente direccionada, E ny el can Se comprende que las celdas no tienen fisicamente ningin ntimero grabado para identificarlas, sino E de ver pas que es el decodificar el que se encarga de establecer la correspondencia entre el rimero binario que es i: la direccién de la celda a acceder y la celda asociada con dicho mimero, mediante el conductor icar algo, § conectado a dicha celda. Esto uitimo implica que para cada direccién que lega al decodificador, gue con § siempre se accedera a la misma celda, puesto que el conexionado viene fijado en la fabricacién de ve cualquig cada chip de memoria, y es idéntico para todos los chips del mismo tipo y fabricante. pantalla Esta técnica puede asimilarse a un supuesto sistema de localizacian de viviendas, en el cual en cada esquina de can existe una botonera en Ja que se entra el neimero de la casa a localiza, y luego se enciende una luz en Ja ismo y 8 entrada de dicha casa, para ubicara sin bisquedas Fillo exige que de la botonera debe ir un cable a cada ca- | sa, de modo que con cada direccion se energice el cable que enciende la luz de la vivienda correspondiente. el televis. an eee a Teast ChE EN RRR ON INTER ETMMBENRMRe RTA =| N se en igus, de datos del bus, para que esos 8 bits sean sensados (leidos) 0 modificadas (escritos) Seguin sé ordene, a sma Ena fig, 11224 se supuso un solo decodificador conceptual con una silida por ela, La figura iz nismo_ pay muestra que cada celda se localiza en la interseccién de dos Iineas, por ejemplo la horizontal Hy la vertical 01 para la direccién 1101. Por lo tanto en realidad se usan dos decodificadores: acada uno vala =~ ones quel rmitad de los bits de cada direccién. En nuestro caso A3 va al decodificador horizontal, y20 al vertical @ TV citady stodeUCl 3 Cémo se accede a celdas consecutivas en un solo acceso a memoria ? | tue aparece) Su i El decodificador de una memoria de 2 celdas (Figura 1.12.) silo permite aceder a una cea por vez para. forma cai, Jeerla o escribitla. Si se quiere accecer también a la celda siguiente, ésta también debe ser luego diree- | ‘e direccion cionada, para que luego el decodificador la identifique. Operando de esta forma, para acceder a dos cara forma celda consecutivas harian falta dos tiempos de acceso; y cuatro para cuatro celdas consecutivas, et. 1a direccié, A fin de poder acceder en un solo tiempo de acceso a 2 celdas consecutivas se debe disponer en princi Itado dew pio de 2 médulos (bancos) de memoria independientes. Para las DRAM existe la variante “interleaving” rma en RD, ‘Acceder por ejemplo a 2 celdas consecutivas (figura 1.10) supone 2 médulos (figura 1.12.22) cada uno ‘con su decodificador y 16 lineas para datos en el bus que va a la UCP. La idea basica es la siguiente: 2 del contr fevisor. | Memoria que DeRDI 8 ineas de -_i DeRDI Biineas de por sefale ve la UCP datos @ ROA datos a RDA {01101 700}000 . 3 000) salcadt Monit page —¢fi00ir17 7] 00(% or101 19] ba del cand) : 3 ~ ot =| 10(0) 's existe Lineas d 11(0) star en MP} emacién qu i Si bien la UCP direcciona una memoria de 8 celdas (000 a 111), ésta en realidad consta de dos i : miédulos separados de 4 celdas (00 a 11). Si la UCP necesita direccionar 2 bytes, como ser los de las, i ol celdas 000 y 001, enviard la direccién (par) de la primera (000) por el bus de direcciones. A. los dos as lineas de! decodificadores de los dos médulos no les llega el bit extremo derecho de la direccién emitida por la (ig. 1.2124) UCP, sino que a ambos les llega la direccién 00, y cada médulo en una lectura enviaré el contenido de smoria det 8 bits correspondiente a esa direccién al bus de dates, como se indica. Asf la UCP recibiré juntos los, ficador. dos bytes de las direcciones 000 y 001, en el tiempo que dura un acceso, siendo que se realizaron dos accesos de igual duracién simultaneamente. E] médulo izquierdo aportaré las direcciones pares (000, (010, 100 y 110) y el derecho las impares restantes, o sea que el valor 0 6 1 del ditimo bit derecho de 1-20 cada direccién selecciona el médulo donde esté su contenido. La direccién del primero de los doy bytes a acceder debe ser siempre par. Caso contrario se requieren dos accesos. i En caso de que se necesite leer el byte par o el impar en forma individual, la UCP seleccionara el quel sea entre los dos bytes que proveyé la memoria La linea que ordena lectara leg alos dos modukel siendo que ambos son leidos juntos, y la UCP toma los dos bytes o uno de ells, segtin necesite. i Para poder escribir uno u otro byte de los dos médulos en forma separada, hace falta que a cada) meédulo le legue una linea de escritura propia, En definitiva, en este ejemplo la UCP debe enviay, dos lineas para controlar la memoria. Por ejemplo en éstas 11 puede significar leer (uno 0 dos, bytes), mientras que 01 y 10 ordenan escribir el médulo izquierdo o el derecho, respectivamente. El mecanismo anterior esté pensado para la situacidn més probable de que una memoria «| accedida preferentemente en direcciones consecutivas, principio en que se basa el funcionamient de un caché (seccién 1.12). Un mfnimo porcentaje de accesos no siguen esta ley, por lo que par ellos no puede aprovecharse esta concepcién. EI modelo de la figura 1.12b puede generalizarse! para una memoria cualquiera de 2" celdas divididas en 4 médulos iguales de 2 celdas. Qué es el Controlador de Memoria ? { é éQué tienen de comun y diferente las zonas RAM y ROM de memoria ? ‘ En un chip programable que esté en la mother se encuentra el "memory control" junto al puente PCL (ig 1.80) vinculado a la memoria principal DRAM, el cual cumple entre otras las siguientes funciones: 1. Conforme al funcionamiento de una DRAM, divide la direccién emitida por la UCP en dos, mitades (para direccionar una fila y una columna de la DRAM, respectivamente) enviéndolas en forma sucesiva y en su correcta temporizacién a la DRAM, junto con las sefales de control que la controlan (como RAS y CAS). Asimismo, en relacién con la UCP, avisa cuando la informacién direccionada esta en el bus, y acepta la que se va escribir en ella. 2. Realiza el manejo de los "bancos" de memoria en que se divide una DRAM, a fin de poder operar en "page mode" y en “interleaving’, a los efectos de minimizar el tiempo de acceso cuando se direccionan posiciones sucesivas de la DRAM. } 3. Leva a cabo las tareas de “refresco” por bloques de los microscépicos capacitores que conforman las celdas de los chips DRAM, a fin de reponerles periddicamente su carga eléc- trica, que constituye el uno o cero que guarda cada capacitor. 4. Maneja el acceso a la porcién ROM (ROMBIOS) de la memoria principal, inclusive la opcién de copiar los bytes de la ROM en la DRAM ("shadow") a fin de poder acceder a ellos més répidamente. Naturalmente que esta intermediacién a cargo de este chip produce retardos en el acceso a la DRAM, en lo referente al contenido de la primera posicién direccionada, pero esto resulta compen sado con creces si se accede a un conjunto de posiciones sucesivas en la DRAM. 4 Las acciones de este controlador en gran medida estén programadas: durante el booteo del computador una | subrutina de la ROMBIOS jnicializa registros del mismo, que determinan sus funciones, el cual también depend de lo establecido en el "set-up" de la maquina, (como la opeién “shadow"). A los fines de evitar esperas, la UCP debe tener répido acceso a celdas de cualquier porcién de MP, | 0 sea que no tiene sentido tener celdas de acceso secuencial. Las primeras computadoras fabricadas comercialmente ya tenian MP con acceso random, © sea eran Random Acces Memory (RAM), en las que cualquier celda puede Las memorias volitiles por sus caracteristicas fisicas pierden la informaciGn almacenada cuando se corta el suministro de energia eléctrica al computador. Por lo tanto, la denominacién RAM que expresa memoria de acceso “random”, se usa también para indicar memoria voltil de lectura y esritura, Enel PRaRe lovepeue RAM) La palabra "dinsiica” identifica unk te tun byte en 8 microscépicos capacitores, que necesitan ce Como ciminutas baterias, lo cual implica una circulacion constante de corrientes el ada celda de x licamente recargados = kan :0 de los dq) La cuestién de las denominaciones se complica, desde que, para una porcion de la MP, a partir de los 4 aftos 70 se emplean chips de memoria ROM, siglas correspondientes a Read Only Memory (memoria fonare eT guy de s6lo Tectira). Estos chips contienen un programa para el arrangue inicial de los computadores ios médulog! (Gecci6n 1.15), y los programas del BIOS (ver mas abajo) a que a cadg tiempo que st lectura, pero que tiene la ventaja de ser “no volitil”,o sea que almacena la informacion debe envig en forma permanente. No necesita energi elétrca para mantener guardados los datos. Si para leerlos (uno 0 da [as miemorias RON taiibien son de “radon acces" como se exige que sea wn’ MP, aimiqiie SE vamente. | Hempo de acceso puede ser varias veces mas largo gue el de las DRAM. memoria @! Tipicamente la porcién ROM de MP de una PC esté en uno o varios chips ROM, Sapa | Por lo tanto: Jo que par’ : MEMORIA PRINCIPAL es RAM + ROM" eneralizarse ‘ Las porciones RAM y ROM tienen en comin, que al contenido de cualquier posicién de las mismas se puede acceder “al random”, 0 sea en igual tiempo, sin btisquedas,indicando un miimero que la identifica, que es su direccién, siendo dicho tiempo menor en la RAM. Difieren en que cada posicion RAM puede ser o leita escrta cuantas veces sea, siendo su contenido volétil, mientras que se accede al contenido no volt ae de una posicién ROM sélo para lerla Puente PC ee e + funciones ‘CP en do; g Qué contiene la porcién ROM de memoria principal (ROM BIOS) ? RViéndolag) Somes eects oem oO OS) Peres de control En una PC la porcién de memoria principal que es ROM se denomina ROM BIOS (“Basic Input Output cuando le System”), Contiene por un lado programas que se ejecutan al encender un computador y sven para ; + Verificar el correcto funcionamiento del hardware y su configuracién 1 de poder + Traer del disco a memoria principal (0 sea escribir en ésta) una copia de programas del sistema de acceso operativo del computador (accién conocida como “bootear” o “arrancar” el sistema) Por otro lado, almacena programas que se usan permanentemente para la transferencia de datos itores que) entre periféricos y memoria, sea en operaciones de entrada o salida de datos. carga eléc. ‘También la ROM BIOS contiene tablas, por ejemplo relativas a caracteristicas de discos copcién de! - : ’ | idamente, ¢ Qué tipos de memorias “random acces” de semiconductores se fabrican ? ae En el siguiente cuadro se clasifican las memorias a que hace mencién la pregunta en tres grupos, en relacién pen con lafacilidad y rapidez con que puede ser reesctto cada byte de las misma, utador una al también Memorias de semiconductores con “random acces” i Clase Tipos Caracteristicas de re-escritura Volatilidad j ‘Memorias de DRAM [Cada byte direccionado puede ser re-escrito en a lecturayescritura | SRAM | igual tiempo que se tarda su lectura, cuantas} Son volatiles nde MP VRAM | veces se necesite Memoras parser | EPROM] Ura vez que is memoda fe ea puede mayormente ida | EEPROM serine (seprogramar”) un romero imac 0] Noson “Read Mosly "| Flash ROM | muy grande de veces, pero la escrtura es lente | volte Memory” (RMM) /comparada con el tiempo de lectura de un byte.. j Memorias para PROM [Una vez que la memoria fue escrita, no se puede] Noson Sit eed ser sélo leidas ROM __|re-escribir volatiles Mis espectiament, desde un punto de vista eletrnico a memoria principal es por'o geneal. DRAM + EPROM ‘también hoy dia: SDRAM + FLASH ROM. (rns adelane se trata las subclses de RAM y ROM) ree ne m Las memorias DRAM 'tenen en cada celda un transistor yun capacitor microscépic. El capacitor presen dos estados: cargado guarda un uno, y descargado un cero. Al capacitor al igual que una pequefia bate hay-que-reponerle la carga el de, cada 10-20 milisegundos (accién de “‘reiresco”). Ey requiere una constante crculacién de corrientes eléctricas hacia las celdas de una DRAM. Por ello se lan memoria “dindmica”. En cambio, cada celda de las memorias SRAM ("Static RAM") consta de 4 6 6 transistores, gy forman un circuito con memoria, conocido como “flip-flop”. Este permanece “estdticamente” eng estado eléctrico (0) 6 en otro estado (1) mientras no se apague el computador (o se ordene pasar 4 un estado al otro en una escritura de la celda). Al no guardar la SRAM los bits en capacitores, requiere circulacién periédica de corrientes en su interior, como sucede en la DRAM. Dado que un flip-flop tarda varias veces menos en cambiar de estado que un capacitor, unz SRAM ins répida que wna DRAM, Pero debido a que es varias veces més cara que una DRAM (por su meng denomins hoy s6lo se justifica econémicamente si se encargan decenas de miles de chips iguales. ‘A diferencia, los chips PROM (“Programmable ROM’) se fabrican en serie, pero el ‘Namoresde interior de cada chip estd preparado para que ~en una segunda etapa quién utiice ietinentre uno o miles de estos chips pueda escribir una sola vez los contenidos que tendrén chpypatao sus celdas. Esto se realiza en un dispositivo electrénico que se vende para tal fin. nip ar tico UNA ver ast grabada (“programada’) una PROM no puede ser e-escrta. Grip dese 1 a5 ROM de la clase RMM, para ser mayormente lefdas, son reprogramables, 0 sea se pueden volver a escribir, siendo que la escritura es poco frecuente frente a Vertana crcular las operaciones corrientes de lectura ‘waneparerté Un tipo de RMM atin usada para ROM BIOS en las PC es la EPROM (“Erasable- Programmable ROM"), Los pastillas EPROM se carac-terizan por presentar una ventanilla transparente en su cara superior (fig. 1.13), que normalmente esta cubierta [por una etiqueta plateada autoadhesiva Se puede cambiar el contenido de todas las celdas, re-scribiendo el nuevo contenido Figura 113 velchip w. ‘que tendra cada una en un dispositivo semejante al usado para las PROM. Previo a ello waa la pa se debe “borrar” (“erase”) el contenido de todas las celdas'. Esto se logra haciendo pasar luz U.V_ por la ventana durante unos 15 minutos, 5 contra 38 ‘Una EEPROM, o EPROM (“Electrically Erasable ROM)’ no requiere el borrado de todas las celdas oe indo con luz U-V, dado que -como en una RAM- se puede seleccionar cada direccién que se quiere re- escribir, sin sacar la pastilla del circuito donde opera. Esto puede hacerse unas 10.000 veces. fodul) y tera (Obséneacal specs, que este proceso de borado no es necesro en una RAM, es una esr bora un contenido anterior. [A veees identifica con las denominadas RAROM (‘Electrically Alterable ROM") = b 5 gz é 2 e Las “flash” ROM son un tipo de EEPROM mejorado. eléctricamente por bloques, y luego se re-escriben las celdas consecutivas de un bloque. Este t ROM en el presente se usa en reemplazo de disqueteras en “notebooks”, y como parte ROM de! En una fraceién de segundo se bony ¢ ‘memoria principal. Asi puede actualizarse el BIOS con un programa, sn sacar el chip de la mother, | ‘Una FRAM (Ferroelectric RAM) es una memoria no volitil que incorpora hierzo magnetizable en su chip. ¢Qué es capacidad de memoria, y qué son las unidades KB, MB, GB ? ‘Capac ce LATCH TO) a ana ea ew cantina OURS eS UO PRR RRN, En el presente, lo comuin es que en cada celda se guarde un byte de informacién, Entonces una memot con N celdas tendra una capacidad de N bytes. Dicho ntimero es siempre una potencia de dos: N = 2" El ntimero de celdas (bytes) de una memoria se puede expresar en kilobytes (KB), Megabytes (Mt Gigabytes (GB), Terabytes (TB) ... seguin sea se denomina 1 KByte (KB) por ser 10; tun valor cercano a 1000 ("kilo"), Por lo tanto 1024 B = 1KB [ Un grupo de 2" = 1024 celdas sucesivas, 0 sea 1024 Bytes Dado por ej. una memoria de 2" = 65536 salidas, el cociente 65536/1024 = 64 indica que en 655} entran 64 grupos de 1024, o sea 64 grupos de 1 KB, por lo que se dice es una memoria de 64 KByte Bl miltiplo siguiente a 1 KB es 1024 veces mayor: 1 MB = 1024 x 1 KB = 1024 x 1024 bytes 1.048.576 byte: = 2x 2%=2" siendo 2” la potencia de dos més cercana a 1.000.000 (1 “mega’ Asi, para una memoria de 2° = 4.194.394 celdas (bytes), el cociente 4.194.394/1.048.572 = 27/2” = 4 indica que en 4.194.394 entran 4 grupos de 1.048.576; se dice que es una memoria de 4 MB, Asf evitamos manejar mtimeros como 4.194.394, redondeando en forma préctica hacia abajo. Siguen los miiltiplos. 1 GB 1B (024 x IMB = 1024x1.048.576 bytes (supera a mil millones = “giga”) 1024x1GB _(supera el millén de millone “tera”). Conforme a estas unidades, la siguiente tabla de potencias de dos es util para fijar y generalize conceptos, siendo que la columna con las unidades en bytes, = 1024/1024 2ose/1024 4096/1028 s1971024 16384/1024 2768/1024 = 65536/1024 = 131072/1026 =262144/1024 szazeevio24 1048576/1048 2097152/1048576 :94394/1048576 KBy MBes la que se acostumbra a usar Las unidades elegidas permiten compare répidamente el tamafio de una memor respecto a otra, y hacen mas simple | expresisn de la capacidad. Asi, en vez de decir “la memoria es d 1048576 bytes, y voy a pasar a una d 4194394 bytes, con lo cual la capacidal ‘aumentaré 4194394/1048576 = 4 veces’, es més préctico decir “la memoria € de 1 MB y voy a pasar a otra de 4 MB ‘con lo cual la capacidad aumentard { veces” }Se debe tener presente que para pass de bytes a KB se debe dividir por 102 Si un programa ocupe 8000 posicione: de memoria de 1 byte. No son 8 KB. Exactamente son: 8000/1024 = 7,8 KB En una PC cuando se habla de un memoria de por ejemplo 8 MB ct ‘capacidad, se asume que se trata de porcién DRAM de la misma, que esti et Jos médulos de tecnologia SIMM o DIMM :Qué que ti i | 12s > se bon, Qué relacion existe entre la capacidad de una memoria, la cantidad de bits Este S10: que tienen Sus direcciones y el numero de lineas de direccién ? ROM de ee nsu chip! Sara aa memo f >ytes (Mt or ser 1 een 655, 64 KByt 24 bytes “mega ahh :4MB. ajo. = "giga”) seneralia dra a usat [En una memoria que guarda un byte por posicién, debe haber tantas posiciones como bytes tenga la ‘memoria. Esto es, una memoria de 2 MB implica que se deben identificar 2097152 posiciones distintas, asignéndole un nimero binario distinto para cada una, que es su direccién. Se acostumbra a asignar el ero a la primer posicién, por lo cual la tiltima seria en decimal el néimero 2097151. Una memoria tiene un rtimero N de celdas que siempre es una potencia de dos, por lo cual las mismas se localizan mediante direcciones que son mimeros binarios que van de 000...000 hasta IL...111, siendo que a cada celda le corresponde uno de esos meimeros como direccién, Las potencias de dos de la figura 1.14 sirven para determinar cusntos bits deben tener los nimeros bina ros que son las direcciones de una memoria, de forma de adjudicar un mtimero distinto a cada posicién. De la figura 14 resulta que con 4 bits se pueden formar 16 = 24 combinaciones binarios (0 sea nimeros binarios) distintas. Inversamente, sie quiere formar 16 niimeros binarios distntos hacen falta bits. Del mismo modo, por ejemplo, dado que 2MB = 2%, resulta que el exponente 21 indica la cantidad de bits que debe tener cada direccién, para formar 2.097.152 de direcciones distintas, como se necesita. Por ejemplo, una direccién de 21 bits seria 0 1001 0111 1001 1010 1110 = 0979AE en hexa, segiin lo visto. La primer direccién de memoria serfa un niimero binario con 21 ceros = 0 0000 0000 0000 0000 0000 =00000 en hexa; y la titima otro de 21 unos = 1 1111 1111 1111 1111 1111 = 1FFFEF en hexa. De la tabla resulta que al subir uno el exponente del niimero dos, se duplica la cantidad de memoria © sea, si una memoria tiene el doble de eapacidad que otra, las nimeros que forman las direcciones de la primera deben tener un bit més que los nimeros que forman las direcciones de la segunda, 1KB, Si se quiere operar mentalmente, se debe tener presente que 2" yque 2 =2"x2""=1KB x1KB = 1024x1024 = 1 MB. ‘A fin de calcular cudntos bits tienen las direcciones de una memoria de 8 MB, partiendo de que 1 ‘MB necesita 20, que 2 MB necesitan 21, que 4 MB necesitan 22, resulta que 8 MB necesitan 23 bits. Puesto que por cada linea de direcciones de un bus transmite un bit, en principio deben utilizarse al menos tantas lineas de direccién como cantidad de bits tenga cada direcci6n. compan, Qué es el bit de paridad en memoria principal, y para qué se emplea ? ae a memor simple | oria es aunad capacida 4 veces! emoria ¢ de 4 ME nentaré ara past por 103 vosicione 18 KB, =78Ki ade us MB é ata de b ae est To DIMY ‘Supongamos que el contenido de una posicién de memoria leida es 01000001, pero que por un ruido (interferencia electromagnética) durante la operacién de lectura, la UCP recibe 01000011, 0 sea que el bit rmarcado se recibe invertido, Entonces la combinacién recibida ser4 otra, sin que se pueda notar el error. Como se verificard, ampliando la capacidad de una memoria de forma que cada posicién contenga un bit extra (e sea 9 bits), puede detectarse si se ha producido wn solo error por inversin, como el ejemplificado. EL bit denominado de “paridad”, que se agrega al byte a almacenar, debe ser siempre de valor tal que el conjunto de los 9 bits almacenados tenga un ntimero par de unos (paridad par de unos). En el momento en que se escribe cualquier posicién de memoria un circuito calcula el valor (0.6 1) que debe tener dicho bit; y cuando se lee cualquier posicién, el mismo circuito verifica que los 9 bits leidos presenten paridad par de unos. Caso contrario se interrumpe el programa en curso para avisar que hay un problema de error de paridad en memoria. En una memoria con paridad, cuando por ejemplo se escribe la combinacién 01000001 antes citada, dicho circuito le agregar4 un bit de valor 0 (en negrita): 010000010". Asi el nuevo conjunto de 9 bit. almacenado presentar4 un mtimero par de unos. De esta forma, si durante la lectura en lugar de leerse 010000010, se lee 010000110 por que el bit subrayado se invitié, se detectaré un error, dado que estos 9 bits tendrén un neimero impar de unos, en lugar de ser par Por lo tanto, esta convencién —de igual paridad en la escritura y lecture sirve para detectar si uno solo Ge los bits recibidos cambié de valor, que es la mayor probabilidad de errores en una lectura de memoria. Silos bits errados son dos, la paridad par seguir, y no hay forma de detectar una combinacién mal ecibida ser 0, mientras que ls que 01. regis. 1 ara todas las combinaciones de 8 bite a excibir que teagan un némero par de unos bit de pardad teagan un amet impar de unos, dicho bit vald 1, Por ejemplo 01101101 se almacenard en memoria como 011011 FECC (Eror Comesion Code) usado en servers, sand pardad no Slo permite detctar bits erados, sno también cor CRA MA a ue Pe LEBUE Se ues WAS ; } 1.26 ¢Qué es un microprocesador de 8, 16 6 32 bits y qué relacién tiene ello cq ——os registros, ve fa memoria princi = Anteriormente se distinguia entre procesadores de 8, 16 y 32 bits -segn sea- para indicar el ndmero més de bits que puede tener un dato a operar por la UAL. de cada uno. Desde el 80386 en adelante y hast Pentium 4 pueden operar en su UAL dos nimeros de 32 bits, siendo que en correspondencia sis regitos uso general pueden almacenar 32 bits. Lo mismo ocurre con la mayoria de los microprocesadores de distin fabricantes, por lo que el nimero 8, 16 6 32 que caracterizaba la potencia y por ende la velecidat Procesamiento de un procesador, ha dejado de usarse como distinivo de potencia § rec ona aatts Puede operat con nimero del dole de magnitud que otra de 16 bts. Asimismo, si . Tap ee ats y tesltados Son do 32 bits, a os efectos de una mayor velocidad de wansferenia ene? g QUES UCP y memoria, deben existir por lo menos 32 Iineas de datos en el bus. De esta forma, de una sola Se er ransfieren 32 bits entre memoria y UCP 0 viceversa. Esto también implica que la memoria debe ect Grzunizada para que en wn solo acceso puedan leers oeseribrse 3 bits (4 bytes consecutives), dando séle; direceién del primero, Fn consonancia con ello, ls registrs de la UCP para datos o resultados deben tener una longity igual al tamafio de los datos que opera la UAL. Por ejemplo, el Pentium 1' es un procesador de 32 bits’ con una longitud de palabra de 64 bts. O sea qe en cada acceso a MP puede leer /escribir 8 bytes consecutivos, para lo cual se debe indicar sélo la dite cién del primero de ellos. A tal efecto, este microprocesador tiene 64 patas destinadas a conectarse ad lineas de datos que forman parte del bus (“local bus”) que lo conecta con el caché extemo: 'y con la MP, For lo tanto, si bien la UAL del Pentium opera con 32 bits (y con 64 bits su coprocesade matemético incorporado), pueden llegar al mismo datos o instrucciones de a 6! bits por vez’, | cual acelera el procesamiento de los datos. Zambién son procesadores de 32 bits el 386 y el 486, pero operan la MP con palabras de 32 bits! Se comprende que un procesador de mayor nimero de its sea mas ripido que otto que opere con mens pes en una sola insruccign puede manipular ms bits. Por ejemplo, si un 286 (procesador de 16 bits) quice Sumar dos nimeros de 32 bits cada uno, primero mediante varias instrucciones debe sumnar los primeres 16 Gis g ambos nimeros, y luego mediante otras tantas instrucciones sumar los 16 bits restantes,’ |, éPuede decirse que los registros de la UCP conforman una pequefia RAM ? Smee nomenon eo Orman una pequefia RAM 2 Gon zelacin a una pregunta anterior, se vio que se podia considerar una RAM como constituida pa resists de un byte. Asi, una memoria de 1 MB puede considerarse formada por 1.048.576 registra de un byte, aunque en general no se acostumbra a llamar registros a las posiciones de memoria, Un registro de una UCP, por ejemplo de 32 bits, al igual que una posicién de memoria, se ped: Considerar constituido por 32 laves “si-no”, que operan como las 8 llaves de la figura 19), ‘Asimismo, tos registros de cualquier UCP (cuyo ntimero en general es 8, 16, 32) se identifican por un mimen intero gue ofcia de direcién dentro de la UCP (a parr de cero, como una pequeia memoria). Dicho nme sesel que debe figuraren el cédigo de una instruccién que hace mencién aun determinado registro de la UCP. Vale decir, que por ejemplo, los registros de un 80x86 designados simbdlicamente AX. BX, CX... como circuitos de la UCP tienen un niimero binario que permite localizarlos, de la misma form AL gual qo el Ps y la mayora de los microprocesidores tipo RISC {el defn para todos ss rocesadores un word como 16 bis, y como “lable word” un grapo de 32 bis (glabra dole). Er mui mea para insrccines (cache), pte ser ida de 32 bytes = 256 bis por ve (unas dir nstaciones juntas) “modelo 386SX lee la memoria seo de 16 bits por vez, como el 286. La UAL del 286 también opera con 16 bite, fade Tea ae roesadr nest opera en eu UALun dato cuyo tama ea menor que os its qu proces (pt Por fen on meee oseia 32). En consonancia debe poder orden leo escribir un numer acode ee poccenes ae Posting Se SA pode sar dot aos de 8 (616) bi cada tn, y ert ase nt Fo de yes 1 iia cama de bis gues puna Sexo exbiren meron Eno et eens pom geri noe ‘modelos de procsadres tan compa con os anton, de modo de ode ees is popamas Ju deatade fas ee a es ane ello cg LEL_SOFTWARE, sinew nll |S DATOS, Y does ded SU CODIFICACION > la velocidad! Asimismo, sij, asferencia in| Qué es el software o “logical” ? Se Oe ncn rmoria debe ex 08), dando s6la ‘Ademis de la velocidad y confiabilidad, no cabe duda que la versatilidad es otra de las caracteristicas rele- ‘antes de las computadoras. A partir de su uso inicial como calculadoras automticas, poco & poco han ido jnvadiendo distintas éreas de aplicacién: cientifica, industrial, administracién publica, apoyo profesional, centretenimientos, modelacidn, ensefianza, etc. (En el Apéndice se hace una resefia de estas aplicaciones). er una longit ie Esta versatilidad es también observable en muchas herramientas que usamos, incluidas las primeras: ‘A its. O sea g nnuestras manos. Pensemos también en los multiples usos que puede tener un simple cuchillo, segtin la car sélo la di forma de tomarlo, moverlo, porcién de filo usada, etc. En el conjunto cuerpo humano-cuchillo, el cambio \conectarse af de plan de uso se realiza fécil y répidamente en nuestro cerebro, sin modificaci6n fisica visible. »ycon la MP. Otra actividad o proceso cotidiano, itil para comprender los conceptos de hardware y software, es 1 coprocesad la elaboracién de comida. En ella distinguimos: dits por vez’, 1. Una parte fija, estable y tangible, constituida por una persona, la cocina y sus utensilios, que serdn los medios fisicos (“hardware”) con que se cuenta para llevar a cabo la elaboracién. des2bits. | pere con mene 2. Lareceta 0 procedimiento, que depende del plato deseado. Ella instruye ordenadamente cmo usar le 16 bits) quie Jos medios fisicos en cada paso de la elaboracién de los ingredientes. Es el plan l6gico (“software”). ‘imeros 16 bits ( [Nos encontramos con un tipo de proceso versétil, con miiltiples resultados (platos distintos),llevado a cabo ‘mediante un mismo equipamiento fisico, y un sinniimero de planes logicos de elaboracién posibles. Estos ‘son faciles de cambiar en nuestra mente. Estén pensados en funcién de los mectios disponibles, y estan. Jimitados a los mismos. Por ejemplo las recetas de una cocina a gas no sirven para un asador al aire libre. 1 RAM ? ‘Asimismo, con el equipamiento fisico solo no se puede hacer nada, si falta el plan I6gico correspondiente. eee Tin computador no sabe cOmo procesar datos. Se le debe indicar mediante instrucciones: dinde estén pt Ios dareraprocsas qué procsaanto realizar cm ellos, hacia que medi in ls resultados obtnidos voria, se pued Hacia 1946 en Ia Universidad de Pennsylvania funcionaba el prototipo de computador ENIAC 19). descripto en el apéndice A3 de esta unidad. El mismo, una vez programado realizaba velozmente * Por un niimer tuna serie de céleulos que se necesitaba efectuar en forma repetida, en cada oportunidad con datos 1 Dicho mimer Gistintos. Si hacfa falta realizar otros calculos distintos habia que reprogramarla cambiando el cableado rode Ia UCP. de un panel, 1o cual podia insumir horas. El matematico de esa universidad, John von Neumann, para XX, BX, CX, Solucionar esto planteé la necesidad de almacenar en una sola memoria interna electrénica de rapido jeceso (la memoria principal), por un lado el programa a ejecutar, y por otro los datos a procesar. Este es tuno de los postulados del lamado “modelo de Von Neumanan” (Ver apéndice A3 citado) De esta forma, de poderse cambiar répidamente en dicha memoria el programa a ejecutar, se podrian realizar nuevos célculos, sin necesidad de modificar el conexionado de circuitos de la méquina, con la pérdida de tiempo que ello implica. Tin programa (software) almacenado en la memoria principal de un computador, si bien est registrado en ella, no forma parte material de los circuitos que la constituyen (hardware) - Estar registrado significa que esos circuitos quedardn en determinacios estados eléctrcos en su interior, Sacha aque representarin a programa ctado, queen la figura L.9 hemos asimilado a posiciones de llaves “s-no” reciones jun) tos estados pueden hacerse equivaler a una determinada configuracién espacial de “unos” y “ceros” en la lordene memorizar ofro programa en reemplazo del existent. = ‘memoria, que se mantendrs mientras no ‘gue pose (pe De cer at tecultard otta configuracién interna de estados eléctricos, que corresponderin a los See “nanos” y “ceros” del nuevo programa ‘sa qoe io mere fetes a , _ 1.28 Entonces, cuando se cdmbia’el softward Ad Nay cainbio iaterial de Gomponénte alga y-— rslaton el hardware pernanece invariable. S610 +6 modifica el estado elvan d gtd ialerial semiconductor que compone los circuitos de la memoria coy Han ocurrido cambios energéticos localizados; la materia sigue constante. En el caso de las Day, “sino” citadas, en cada una se habré estirado o encogido un resorte por la accion de nuesten may, pero no hay cambios materiales. ror ala manera facil y veloz de cambiar de programa en el interior de un computador a resulta una herramienta tan versatil para efectuar cualquier proceso de datos, Combi iando; programa se modificard el comportamiento de la maquina, ; equipamiento fisico (hardware), como si cada procedimiento programado que se ordena realiag (software) generara un dispositive fisico ala medida del proceso que ordena ee plan (Cake ie ai SiS eR Gee arava prac pcos proeesat Por caida una de las instrucciones de un programa @jeculado segan elias, Cada marca y modelo de computador tiene un repertorio definido de cédigos de instrucciones Py puede efecutar, acorde a las posibilidades funcionales de su hardware Pe geePlainstrcciones que no pertenezcan al mismo. Una misma instraccié, como ser sumar, tieg Aistinto cédigo en dos procesadores distintos. Software de un computador, es cualquier programa’ que puede ser almacenado foul 6 ‘parc mente en sui memoria principal, para ser ejecutado por el procesador de dicho computador Su nombre hace referencia al hecho de que los programas son materia duictil, “blanda” “soft” @ inglés). Esto es, los programas son ficiles de modificar, yd eambiar unos por otros en la memoria Principe Bea computador, para que éste,siendo hardware fijo, sea una herramienta de maltiples ucos Dicha facilidad se debe a que los programas no forman, fisicamente, parte del hardware, sino que & {es sire de soporte material. Unicamente se modifica el estado eléctrico de los circuitos ce la seenon Principal, mediante sefiales eléctricas “transparentes” al operador o al proceso. Elsoftware también puede registrarse en cintas, discos magnéticos u otros medios. {a esencia del software son los algortms'que él exprea, representa. Ele son expesaes mediany, €@UE Programas usando deteminados lnguaj, Cada programa qus puede setans oo er ore emples inada se >a bajo ario las dos de igos de do por| ©. 1e ella 191 para endo A.continuacién se indican los pasos a dar para llamar al programa Debug desde el DOS (que también, esté en Windows 98 y NT), y luego poder leer y escribir los datos e instrucciones como se plantea en la figura 1.15. l procedimiento sirve en general para leer o escribir la memoria principal de una PC. En negrita aparece aquello que escribe el DOS (y que interesa a los fines didécticos), y en cursiva smaytiscula lo que debe escribir el usuario (con la tipografia que sea). El simbolo indica la tecla “Enter”. Los miimeros que se tipean y los que aparecen en pantalla son hexadecimales, aunque como sabemos en el interior de un computador solo puede haber unos y ceros. CAl> DEBUG 4 Un guién que aparece titilante debajo de la C, indica que el Debug esté listo para que a continuacién del gui6n se escriba un comando. Para leer o escribir la memoria se tipea la letra E (examinar) seguida de la primer direccién que se quiere leer o escribir. Por ejemplo, si se quiere conocer el contenido de posiciones de memoria a partir de la direccién 5000 H, primero se tipea el comando E 5000 seguido de un Enter (-J, con lo cual en la pantalla se veré, por ejemplo, lo siguiente: =F 5000 4 (tipeado por el usuario para examinar memoria) 309D:5000 1F. —_(mostrado por el Debug) Esto nos dice que la direccién 5000H (0101 0000 0000 0000) de memoria’ tiene por contenido la combinacién 1F H = 00011111. Esta combinacién es la que estaba almacenada en la direccién 5000H en la PC que hemos utilizado, pero que otto dia, o en otra PC sera distinta’, Lo mismo vale para 309D Si luego de leer la 5000H se quiere leer el contenido de la posicién siguiente 5001H, no hace falta repetir el comando E, Basta con pulsar la barra de espaciado luego del tltimo valor leido ~en este caso IF — para que ‘en pantalla aparezca el ntimero que guarda la posicién 5001 (06 en este caso como aparece a continuacién). E5000 (Examinar memoria) 309D:5000 IF. 06. 50. 8D. 46. BO. ADA 309D:5008 09. \ 6A FF. 9A. 66. DEA 00. 309D:5010 FD. \ 11. - 5000 \s001 soos \so07 Del mismo modo si se vuelve a pulsar la barra se conocers el contenido de la posicién 5002H, y ast de seguido para determinar contenidos de posiciones consecutioas de memoria. Por razones de claridad, aparecen hasta 8 lecturas de posiciones por rengl6n, y para no llenar la pantalla con ntimeros, slo se must “Aung eto pore! momento no es relevant, convene acura que eld se ata de una zona (segment) de memoria con més de £4000 posiciones (bytes), numerados co drones que van de OO0OH hasta FFEFFH. La direc OOQOH es la pimerposcn Je et Segmento de memoria, yno elo dela memoria, La drecin de memeia donde comicnza et segment stem relat come valor 08D que aparece ala zquerda de SOC0. Dicho 0000 coresponde ala deci de memoria 309D0 H (OID cone agexado de wn ce, confor a a convencn pra los 80x86 de nl, Si 30900 le sumamos 5000 H se tendra 35900 H = 0011 101 1001 1101 0000 ea ‘nario (20 its), que sea una decidn de memoria que et 5000 H posciones después de 309D. Pueso que ls dreceiones de memoria _femplifcads son de 20 bts, significa que tata de una memoria de | megabyte, como se deduce dela ira .14 (2° = 1 MB) Este es el tumaio de memoria que “ve” el DOS, desde dreecin 00000000000000000000 = 00000 H hasta la JUUUIUTIILUT11 = = PRRPP HE Este ema overt on dtl lta ete sistema operative en a Unidad 3 * Conforme al modelo de 8 laves “sno” por celda de memoria, lat mismasslempreestn frmando una combination de unos ‘eros determinada. Noe facile que no haya “nada en una pavcin. Cuando se entende un computador en cada poscin se forma un nimero al azar, que no tene pot qué serel IF ejempliicad en esta cra, LAS tuna direc al izquierda de cada renglén. Asi luego de la 5000 no aparecerin en pantalla S001 a 500? (ag eben de 7 Rochas dibujacas con los valozes),y luego aparece Sot COM Entonces, si a partir de la indicacién anterior pulsamos repetidamente la barra de espaciado, g Sigu/en obtendria un vuelco de memoria del tipo siguiente (distinto para cada oportunidad y computador): (Cuando se quiere dejar de leer se pulsa Enter (~), camo se indica en el tiltimo renglén, con lo cual vuelve! aparecer el guiGn titlante del Debug, esperando tun nuevo comando. En general se debe pulsar Enter de escribir un comando o cuando se quiere que aparezca el guiGn titilante, para indicarle un nuey commando al Debug, Los valores que aparecen varian de un computador a otro, y en un mismo computade, Con el Debug es factible leer cualquier zona de memoria, sea RAM 0 ROM. Escritura de los datos en memoria mediante el Debug: Elejemplo anterior most la lectura de posiciones consecutivas de memoria. También es posible luego 4 leer una posicién cambiar su contenido, 0 sea escribirle un niimero de dos digitos en hexa (equivalente a byte binario). Este rimero se debe escribir a continuacién del punto que acompagia a cada valor leido, eni espacio que para tal fin se ha reservado. Luego de escribir el nuevo contenido que tendré una posicién, puede leer la siguiente pulsando la barra de la forma vista. Si también se desea cambiar el contenido de es, pPosicién, debe escribirse el nuevo valor después del punto del contenido anterior, v aside seguido. Volviendo al proceso de datos de la figura 1.15 escribiremos en 5000 y 5001 10s contenidos 20 y 10 (qu oe ee ROTO D Figura Li6! Si se quiere corroborar que los valores recién escritos son los nuevos contenidos de las posicione modificadas, nuevamente se ordena examinar, debiendo resultar: £50001 (Examinar memoria) a ee ee eQuié. . de cac De esta manera se han escrito en las posiciones 5000, 5001, 5006 y 5007 los datos que en la figura 15" aparecen escritos en la “escalera” (que representa las posiciones de memoria). En las posiciones 5010 5011 deberd ir el resultado de la operacién a realizar, en reemplazo de los contenidos que existan (en est caso FD y 11, como surge de la primer lectura realizada), por lo que no interesa estos valores (FD y 11) Con el mismo procedimiento se escriben en memoria los cédigos de méquina de Iss instrucciones, a partir de la direccién elegida 0200H E200 (Examinar memoria y escribir en ella) 309D:0200 25.4) F3.00 AA.SO DD.03 09.06 $6.00 00.50 AB2B 309D:0208 49.05 FF.06 00.50 12.3 FF.IO. FASOJ Verificando luego si la escritura anterior es correcta, resulta: -E200-1 — (Examinar memoria) 309D:0200 AI. 00.50.03, 00.50, 309D:0208 06. 06.50. ABS De esta forma hemos realizado la escritura en memoria de las instrucciones. Suponiendo que se quiera salir del Debug, se debe tipear Q (Quit) para volver al DOS: -O-1 (para salir del Debug) CA> (el DOS espera comando) ‘Decdcn adelante se designa con a palabra “igus” a prciones de Ia pana que se verian urandoel programa Debus. 135, S07 Como. encuentra la UC en memoria la primer instruccién y las fit focut: I registro IP ? a prograr ia a Sjecitar, mediante el regisire t "Anteriormente se estableci6 que el registro puntero de instruccién (IP) tiene la funcién de indicar vache fa direccin de memoria donde se encuentra la préxima instruccién a ejecutar. iter Ig! En el programa codificado (figura 1.15) la primer instruccién comienza en la direccién 0200H, y las dos m rug siguientes en 0203H y en 0207H, Por lo tanto, en este caso IP debera contener sucesivamente los valores tad! spearios que en hexa so: (200H, O203H y 02071, como se vrifiaré cuando se ejecuten esas instrucciones i Suponiendo que IP empiece con el valor 0200H ~ya veremos cémo~ puesto que el cédigo de ocupa 3 bytes, (esto lo “conocer” la UC al ejecutar h), si la UC hace la suma (con su calculador que es la UAL) 4 0200 +3 = 0203, podré determinar el nuevo valor que debe tener IP, que es la direccién donde esta Is luego 4 Del mismo modo, cuando ejecuta I;—que ocupa 4 bytes-, podra calcular 0203 + 4 = 0207 para ubicar b, mead Por tltimo si a 0207 le sumamos 4 (cantidad de bytes de I), obtenemos 0208, direccién de Ts (en oe hexa después de 7 siguen 8, 9, A, B) Asf sucesivamente la UC va cambiando el valor de IP * para ir ae localizarrdo en memoria las sucesivas instrucciones que debe ejecuta. lead Esta es la forma pensada para que la UC localice y ejecute, en el orden establecido, cada una de las ae instrucciones que forman una secuencia. Por lo tanto, para respetar estas “reglas de juego” las, Daw instruccionss a gecutar deben estar eseritas en posciones consecutioas de memoria. *2040§ Una “instruccién de salto” -a tratar- permite no seguir la ejecucién de un programa con la instruccién que esta escrita a continuacién de ella en memoria, sino continuar con otra instruccién, cuya direccién debe permitir formar instruccién de salto. El valor de esta direcci6n debe pasar al IP. (Osea que igualmente esta instruccién permite encontrar la que le sigue. : Por la tanto, cada instrucciin permite determinar donde esta Ia siguiente a ejecutar, y por sicione [consiguiente, establecer el valor que tendrd el registro IP _gQuién se encarga de proporcionar Ia direccion de la primer instruccién _ de cada programa a ejecutar ? wa Lt 50105 En las pricticas que realizaremos con el Debug, seremos nosotros quienes nos encargaremos de fenest escribir en el IP la direccién de la primer instrucci6n de una secuencia que queremos ejecutar. ) Puesto que un computador pasa automticamente de la ejecuci6n de un programa a otro, se supone que tiene que existir un mecanismo para hacer esto. A continuacién daremos un esbozo acerca de de la cémo esto tiltimo tiene lugar, o sea quién se encarga de dar al IP la direcci6n donde comienza cada ‘nuevo programa a ejecutar, una vez que el mismo y los datos se han escrito en memoria. Cuando se enciende un computador, el primer programa que se ejecuta es siempre el mismo, Los cédigos de sus instrucciones estin permanentemente en la porcién ROM de memoria principal, siendo que el hardware (circuiterfa) provee la direccién de la primer instrucci6n a ejecutar. O se que el hardware inicializa el valor del IP al encender el equipo, asi como el valor de otros registros. Las primeras generaciones de computadoras que se consiruyeron ~hoy visibles en fotos © museos~ presentaban un gran panel frontal Ileno de llaves “si-no”. El operador tenia que cargar mediante dichas llaves, un registro equivalente al IP con la direccién donde estaba la primera instruccién del primer programa a cjecutar. Algo semejante haremos muy pronto mediante el teclado y el programa Debug. Como resultado de la ejecucién de dicho programa almacenado en ROM, se escribe en memoria principal una copia de programas que estan en el disco. Estos al ser ejecutados traen a memoria los programas del “sistema operativo”, que también estin en el disco como archivos. Luego de lo cual fen pantalla aparece C> o alguna imagen con opciones, para indicar al sistema operative mediante tun comando, qué programa se desea traer a memoria. . i e if ‘operative permite traer del disco'a memoria, Una Copia del programa que rio, se encarga de ue el IP gpanezea la direccion dela primer instruccitm del prograrna m yjecilar. Esto se consigue sila viltima instruccién del programa del SO que se encarga de esta tarea, es una instruc- ‘cién de salto, que indique la direccién donde esta la primer instruccion del programa del usuario a ejecutar 11 UC necesita “snot” en IPel valor dela direc que cleus mediante la UAL. De no memorial en IP, pede dicho valor Como registro CS (code sezment de la UCP que junto con IP consituyen contador de programa (CR) 1:36 8 ‘Como se describi6, esta direccién se instala en el IP, con lo cual en forma automatica, sin intervencigl __—turnana, Ja préxima instruccién que la UC. ego que ¢jecus la vltima instruccién de salto — sera la primera del programa de usuario. A partir de ésta se hallan las siguientes de la forma vista, Debe consignarse que el sistema operativo registra la direccién dénde dej6 en memoria la p: instruccion del programa que trajo del disco, la cual es proporcionada al IP por lainstrucciGn de salto i (Clan termina de gecutarse este programa, fa ultima in trucci6n del mismd llamara al sistema a ‘Serf una instruccion que en esencia ordena saltara la direvcion de memoria donde esta la primer ins ‘in de un programa del SO. Este decidira cusl es el proximo programa que debe ejecutarla UC De esta forma se pasa autométicamente de la ejecucién de un programa a otro, sin intervencién humana Las instrucciones de salto, som pues las que permiten cambiar autométicamente el valor del IP, y pasar, ejecutar una instruccién que esta en cualquier lugar de la memoria, que serd la primera de un Secuencia escrita en posiciones sucesivas de memoria. Esta secuencia puede ser del propi, Programa en ejecucién, o pertenecer a otro programa que debe ejecutarse a continuacién. ¢Como se cambia la direccién de instruccién que indica el IP ? f ence enecreneeen eecenen an an Gee ennnene Conforme a to anticipado mas arriba, mediante el Debug cargaremos en el IP la direccién de la prime instruecién a ejecutar, que como hemos establecido es 0200H. Para realizar esto, una vez que mediante « Debug hemos escrito los datos y las instrucciones, le dams la orden: ~Como puede visualizarse mediante el Debug Ia forma en que se van Procesando los datos, al ejecutarse las instrucciones en una PC ? As{ como el Debug permite examinar y modificar Ia memoria, también puede mostrar en pantalla un “radiografia” del contenido de registros del microprocesador (UCP). Observando los datos a procesar et memoria, y como a partir de ellos se obtienen resultados, puede seguirse Ia evolucién de un proceso de datos Ademés con el Debug esto puede hacerse paso a paso, dado que permite ejecutar en “cémara lenta” una a une ! las instrucciones de un programa o secuencia, de modo de poder ver como van cambiando de valor lo registtos de la UCP y posiciones de memoria. Esto es lo que haremos a continuacidn, con las instrueciones escritas anteriormente, experiencia que puede hacerse con cualquier PC. Antes de ejecutar dichat instrucciones, y por método, primero conviene examinar los registros de la UCP y otros datos que muestra e Debug', de los cuales s6lo nos interesan en esta etapa los que indicaremos en negrita. Hemos usado el comando R IP -Jpara conocer el valor de un registro particular’ y poder luego cambiarlo. Si se usa el comando R a secas, se visualiza el valor de registros de la UCP sin poder modificarlos: Figura 118, amet Deas sraltn 80285, eo com Ete compatib conc 386, 486 ye Pentium que deen ests de 32 bts) puede 4st con cualquier PC. Hay programas mas completos que el Debug, peo lo hemos elegdo porque es a mano en calguir Pe Este comando, eguido del nombre de cualquier repisto de a UCP, permite leer au valor y poderlo cambiar. Ast R AX permite |p" cambiar AX. La lista de todos los comands del Debug se btiene mediante la tecla ? seguida de Ener, Es cad eres rng ln derecha det ogo de miquinn del prima insirocig que se ejecta (en este caso 10050, siempre sparece su coifcarin equivalent cn lenguaje Assembler (neste caso MOV AX, [500], tata en a Unidad 3 dea presente oben 137 oe Los dos primeros renglones indican el estado de registros de la UCP, De éstos en primer lugar por el romentorinicamente-importan AX e IP’. Como primer medida verificamos que IP esta con el valor (0200 que le habiamos asignado mediante R IP. Si bien AX contiene 0000H (16 ceros en binario), este a valor particular no interesa, pues I; ordena escribir 1020H, destruyendo el valor anterior (0000E)). El tercer rengln se refiere a la memoria principal. El valor 0200 (igual al de IP) corrobora la direccién to cite aaa donde empieza la préxima instrucci6n a eecutar, y al lado del mismo el cédigo A10050, que es el que ae hhabiamos escrito en memoria para Iy, como puede verificarse (que sera el valor que tendré el registro RD) (O sea que es la instruccién que queremos ejecutar en primer lugar. En la parte derecha indica que ‘oman cen la direccién 5000 (involucrada en la instruccién) se tiene el valor 1020 (dato antes escrito) pasar} Puesto que IP=0200, el dato 1020 y el cédigo A10050 de la instruccién son correctos, podemos ae ul ejecutar ésta. Para ello simplemenie se da el comando T, y luego el Debug visualiza la misma Pronk informacin que la figura 1.18, pero con los cambios habidos luego de la ejecucin de a instruc =f 5 (Gecticion dela instruccién 1) : = i e100 Xt KOO. ~DK-DoOd — SPeFEE —Bp-oco0 —si-oo00 Ds-20D 09D CS=309D TP=0203. «NV UP EI ADD AX, (50001) « prim " ~ "Figura 119 . liane ¢ Constatamos que Iy se ha ejecutado correctamente, pues se ha cumplido la orden que portaba su cédigo: escribir en AX una copia del contenido de la posicién 5000, que era 1020. Si observamos el tercer renglén vemos que en 5000 sigue estando 1020. También ha cambiado IP a 0203, para apuntar la direccién de Iz, como habiamos previsto al hablar de IP. Asimismo vemos que el c6digo 03060050 de Ir es el correcto, pot lo que podemos ejecutar Ir": <1 (Bjecucién de la instruccién I) ‘AX=2040°BX=0000 CX=0000-«DX=0000-«SP=FFEE —BP=0000_—SI=0000 DI0000 gue | DS=309D -ES=309D $S=309D —«CS=309D «P0207 NV UP Ef PL NZ NA PO NC 3090:0207 28060650 SUB AX, [5006]? s:5006=2040 var Figura 1.20 Se ha realizado lo que ordenaba Ty: sumar al valor 1020 de AX el contenido de 5000 (que es 1020), y el resultado (2040) escribirlo en lugar de 1020. También se verifica que el dato es 2040, y que 28060650 es el cédigo de Ty, instruccién de resta que pasaremos a ejecutar: -T «1 Ejeoucidn de la instrucci6n I) ‘AX=0000-BX=0000 CX=0000 X00 SP=FFEE —BP=0000_—SI-0000._DI-0000 1P=0208 NV UP EI PL ZR NA PE NC DS=309D —ES=308D 309D:0208 31050 MOV [5010], AX Ds:S010=FDI1 Figura 1.21 1h ordenaba restar a AX el contenido de 5006, que es 2040H, o sea que se ha efectuado 2040H ~ 2040H = = 0000H, como aparece en AX. <1 4 Ejecucién de la instrucci6n 14) AX=0000 BX=0000 —-CX=0000»«-DX=0000 «= SP=FFEE —BP=0000_—SI=0000.DI-0000 ES=309D $$-309D-«CS=309D-—«sTP=020E NV UP EI PL ZR NA PE NC 309D:0208 BBI026 MOV BX.2610 Figura 1.22 En a Unidad 3 al ejemplifcarsecvenias mas comple asaremos cas todos ellos, al gual ge muy pronto fos lags nares de estado (NV UP El, te) Los registos DS, CS, 8S, FS, todos con el valor de referencia 309D mencionado en un pede pginaanteir, De tener valores difeenes cada uno, permite defini pra Datos, Osigo, Stack y Extensa, cuatro zona independents de memoria de (4000 dreciones(poscions de un bye). Como tos tienen gu alo, las cua 20m ("segments") estin superpuestasen una oa 2” Porazonesdidsetcass ha elegido el mismo dato pars Ie he, pudiendo estar en otra diescin el dato que se opera.en Ts = w1Ginzbur El registro IP pas6 a 0208 H. En esa posiién y en as dos siguientes quedaron al azar los valores sf A ___.26 (como zesulta de leer el tercer renglén) que el Debug interp wyA instruccién. Como ya hemos ejecutado I, I, ¢ Ly no seguimos ejecutando ninguna instruccién m | Un programa termina con tuna instruccién (que no hemos usado) cuyo cédigo ordena que se pase a ej tun programa del sistema operativo, para que éste decicla cual es el préximo programa que se debe eject Siqueremos verificar que en las direcciones 5010 y 5011 se escribié el resultado que esté en AX. Hacemos 1 aaa embeiay 309D:5010 00.00 : Col con lo cual constatamos que efectivamente se cumplié lo que ordena ly | Sime ~éComo ordenar que los cédigos de maquina del proceso anterior sea ejecutados una tras otro automaticamente, conforme sucede realmente: Por razones didécticas se ha ejecutado instruccién por instruccién, para ver luego de cada ejecucién cox cambiaba el interior del computador. Fue necesario antes de ejecutar cada instrucci6n la intervenciGn humay para pulsar T -J entre otras cosas, Esto se parece al manejo de una calculadora cada vez que apretamos} tecla = . Si las computadoras funcionaran de esa manera, no tendrfa mucho sentido su existencia, puesto gi justamente su velocidad de procesamiento de datos es quizas el mayor de sus atributos Con el Debug también es factible hacer que se ejecuten, una tras otra, a 1a velocidad del computador, & instrucciones escritas en memoria, y asi obtener casi instantneamente los resultados requeridos. Asi puede corroborarse que una vez que datos e instrucciones estén en memoria, la UCP realiza ¢ Proceso de datos en forma automdtica, sin intervencién humana, merced a la accién de citcuie clectrénicos que responden a las érdenes que portan las instrucciones. Luego de haber ejecutado las instrucciones una por una, puesto que los datos e instrucciones permanecen memoria sin cambios, y que Iy no requiere que AX esté en cero, si se ejecutan nuevamente dick instrucciones se obtendran los mismos resultados. Esto es lo que haremos, pero en vez de ejecutarlas una pc tuna, daremos Ia orden de ejecutar una tras otra, Ty, In, Ise Ty Antes de dar el comando debemos hacer quel | que quedé en 020B— pase a tener el valor 0200 H, para apuntar a la direccién donde comienza ly, paral cual debemos ordenar R IP de la forma vista. Después, como paso previo a la ejecucién, para constatar qe | todo esté en orden podemos hacer como antes: | -R -Examinar registros) AX=0000 BX=0000 DX=0000 SP=FFEE —BP=0000_—‘SI=0000 DI=0000 Ds=309D _ES=309D Cs=309D -1P=0200 NV UP EI PL NZ NA PO NC 3090-0200 10050 MOV AX,{5000} Ds:5000=1020 El comando para ejecutar las instrucciones que van de la direcci6n 200 a la 20F ' es AX=0000 -BX=0000 DX=0000 SP=FFEE —_BP=0000 1-000 D100 Ds=309D _ES=309D CS=309D IP=020E NV UP EI PL ZR NA PE NC 309D:0208 BBI026 MOV BX.2610 | “6 =02000208.- / | Puede verificarse que se ha obtenido el mismo resultado que en la figura 1.22, correspondiente al | mismo proceso realizado instruccién por instruccién con intervencién del operador. Para « del computador, entre otros: Como se estableci6, es mediante instrucciones de salto, antes citadas, que ¥ ‘sambia el valor del IP para que la UC en forma automdtioa pase de Ta ejecucién de un programa a otro. Direcidn donde comienza una instrucién que sigue Is que no queremos sec WP] PAPEL DE LA UC Y DE LOS MHz [ DEL RELOJ EN LA EJECUCION DE LAS INSTRUCCIONES ;Como se ejecutan las instrucciones |, a 1, mediante movimientos simples entre memoria y registros de la UCP ordenados por la UC ? Con el fin de comprender mejor como opera la UC, veremos mas en detale lz forma en que se gjecutan las instrucciones, a partir del esquema dela figura 8, con el agregado de los registos de direcciones (RDI) y de datos (RDA), definidos en la seecion 1.4 al tratar el acceso al azar. Como se vio en relacin con la figra 1.15 cada sentencia (orden) de un programa en alt nivel (como R= P+P-T)es traducide por un programa compilador en una secuencia de instrucciones (6rdenes més simples, en nuestro ejemplo I , Ip, Jy @ L) que una UC puede ejecutar. "A su vez, la ejecuci6n de cada instuccién se divide en pasos aiin mas simples (4 en nuestro caso, figs 123 @ 1.25), Las acciones que debe ordenaricontroiar la UC en cada uno de estos 4 pasos estin determinadas por 4] combinaciones binarias llamadas "microcédigos’ que van apareciendo una tras otra en las lineas de control [con cada uno de los pulsos que constituyen los Mhz (figurassl.29 y 1:30). Estas lineas salen de la UC hacia la UAL, los registros y la memoria (fig. 1.31). La ejecucién de una instruccién implica una secuencia de movimientos de transferencia de bytes entre memoria principal y regstros de la UCP (o entre estos tltimos), establecidos por la UC en un orden determinado, segin el e6digo de dicha instraccin. También puede ordenarse una operacién en la UAL Cada segundo puede ejecutarse algunos millones de instrucciones, para lo cual deben sucederse muchos millones de estos movimientos de pasaje de direcciones, cédigos, datos y resultados, al ritmo de millones de impulsos eléctricos por segundo (“megahertz”, abreviados MHz') que le Hegan a la UC, generados regularmente por un cristal piezo-eléctrico de cuarzo 0 “reloj” (“clock”) ‘Ast se habla de microprocesadores (con reloj) de 100 MHz, 1 GHz, etc. En principio, a mayor nimero de MHz podrin suceder mas de estos movimientos por segundo, con lo cual se podén ejecutar més instructiones por segundo. Un Pentium actual de 1 GHz puede ejecutar mas de mil millones de instrucciones por segundo (1000 MIPS), yen ciertos casos hasta 3000 MIPS. Describiremos en un modelo simplificado, el orden, origen y destino de estos movimientos, que deben llevarse a ccabo durante la ejecucién de una instruccién, para I, Is, Ise Ta, y los agruparemos por etapas Dichos movimientos el Debug no los puede mostrar, como tampoco muestra los registros RI, RDI y RDA. [Asi se comprenderd que la UC tiene como funcion primera dar drdenes de operaciones de lectura o eseritura| ‘a la memoria y registtos de Ia UCP, y ordenar qué operacién debe hacer la UAL, o sea controlar, em sentido de dar drdenes, a es0s dispositivos. De ali su nombre de “unidad de control” ‘Ain de hacer més simple la explicacidn, supondremos que cuando Ia UC ordena leer la zona de instrueciones de memoria ~a la cual apunta el valor de IP- pide 4 bytes consecutivos de eddigo de instrucciém”. Para ello, si por ejemplo es IP = 0200, asumiremos que primero pide leer 0200 y 0201, y luego 0202 y 0203". Los contenidos de «estas posiciones llegan al registro de instrucci6n RI (figura 1.23) Para leer dos (o més) direcciones consecutivas basta dar el nimero correspondiente a la primera de elas, Durante Ia obtencidn y ejecucién de una instruccién, ocurren en definitiva las siguientes acciones y 1 gn Electeidad, si un fenmeno sucede X veces por segundo se die que tiene una frecuencia de repaticion de X Hert hecios), em honor a Herts, deseubrider de as onda elecromagnéticas. Un Herz (Hz) es un ciclo por segundo; 1000 Ha, son un kilobert (Kh): 1000000 Fz son un megahertz Sha) 2° Enos miewoprocesadores actusles, para ganar tiempo, mientras se estin eecutand inst pedidasanteriormente, se van leyendo de MP eSdigos de intusciones a ser eecutados localizados en posciones eonsecutias. Las instucciones pedidas con jon se quardan en una memoria ntema del mieroprocesador, Esto se describe en la seccion 1.14 bits ssp 3 "Osea estamos suponiendo un mieroprocesador como ef 80286 que opera con un word 16 140 ‘movimientos principales (Hguras 123 a 1.26), con los objetivos que Se indican, que como se VaP comunes en general a todas ls instruecions, Paras operaciones de lctra dela memoria principal (Py debe tener presente el esquema dela figura 1,10. Comenzaremos con ly (figura 1.23), 1. Movimientos para direccionar para cualquier instruccién) UE pen el yok eral gn RD idle & Likiiajme oranda dpsten cis isp tty ose say 0 eet te aed el bus, hacia el registro RDA’, y de éste al RI. Luego siguen la misma rata los contenidos 50 y 03, ef Rl existira en binario la combinacién que en hexa es 1005003, que corresponde al cédigo de méquin la instruccién pedida (I, en este caso). obtener el cédigo de Ja instruccién en el registro RI (Igu ine ega aun eit doa UCP un dato a opear (Co eget UCP el go dena icin Figura 1.24 Figura 1.23 . Fs importante tar que en una letra de MP, los datos de las pasciones leds permanecen Intact, y una copia de lt imismos reemplaca a los que exstian en e repsro de destino, los cuales se pierden Osea que una lecoura de MP implica una exeritra en un registro de le vCP, Fag Gumsiante cuando en un caculadr se pulsa ls tecla RM, y una copia de lo que esti memorizado pas al visor, perdiéndose& mero qe éteconteniaentericrmente cor bs Pa qu Bi Lat xe ved iain OH in as ra er pra UC ar sir meson eect RLY ‘pal (MA pe para toda as instruccones) q ‘Cuando un cbaigo de maquina (en este caso A gaa regiszo Rl el edigo de opeacion (en RIG Gate caso At) es “decodifieado” por la UC. Esto es, el eddigo es detectado por eieuits de lt U IC. y su cae actin particular de unds y ceros desencadena una secuencia de acciones que ya han . corn aparadas para esa combinacin cuando se diseRé el procesador, a saber: legard a 4, Movimientos para direccionar y ler wn operando (dato a operat), euyo destino eel reise RDA (fig 124) 1 worse ga Ila linea LI (letra), yordena enviar l registro RDI una copia dela dessin osea en ‘a UC pore os dos byes del edigo de miguina que siguen lego de operacon en exe eas0 0050) reas de formetpuestos (se S000), con fo cual dicho nmr llega a MP através de as 16 nas de crecion Dy 08 de Get bus. vientos, 1. eM sia juntos ls consis de apo decionaday dea siguiente (500 y 5001), oseaen este maui ta ete 1020H. Los 6 bits del mismo llega por la lineas de datos al registro RDA. + copa del perdido 44. Movimientos y acciones para eumplimentar la operacin que ordena Ia instruecin: 1 eydena tansfrie desde MP hacia AX un dato, Puesto que éste ya se encuentra en RDA, slo restael mov qnento de pasar dicho dato del RDA al resist AX (figura 1.24), donde queda almacenado. De esta forma se ha ejecutado lo ordenado por I, &, Movimientos-y acciones para que IP contenga la direccién de la prxima instrucci6n a ejecutar: Tee UAL sa debe sumar al contenido del registro IP, la cantidad de bytes que ocupa a insruecin ejectada (en este caso 3), y reemplazar el valor anterior (£200) por el resultado def sua (0203) La gjecueién de (que ordena sumar al registro AX el dato que est en SOO0H) empieza con 1s pasos a.» 1b. de i igura 1.23 (gules para fodas las insruciones). En 1. se 0205 la ieecin que gpunta Is y <= Be alregistro Ri llegaré 0306 0050 que es cl cddigo de I; Adems, Is iene en contin con fel movimiento 3a. > 6 direceién en a eaecs también 5000 H En el movimiento 3. (Figura 1.25) el dato (en este ejemplo ora vez 1020H) obtenio Ge la lectura de la direcci6n S000H llega al registro RDA. Le operacién ordenada en el paso 4 ahora es sumar el operando (1020H) —que esté en RDA al dato ve oot on AX (1020), El resultado de la suma (20404) debe guardarse en AX reemplazando sl valor anterior 1020H, que se pierde (igual que una calculadora cuando se suma). El puso 5 consid en cambiar el valor de IP, de modo que apunte a I dreccin de Ts ars Yo cal Ja UC debe ‘uma (pues I ocupa 4 posiciones de memoria) al valor 0203, de forma que IP indique 0207 H rencia que la UC ordena una resta ala UAL.” Debug. (figura 1.21). Inego del movimiento 1b. (figura {se ejcuta con fos mismos movimientos que Ts con la tinia ite Puede verificarse que mediante ells e lega a los resultados hallados con el Para la instruceign Ly (que ordena guardar en SO1OH el contenido de AX), 1.23) se tondré en RI su cédigo A31050. Te iments ba, como en Irs ordena enviar al registro RDI una copia dela deen formad por los dos bys ‘idea de maguia que signe al cig de opeacion en ext caso 1050), pero waspuestos (0 sea SO10LD, on 0 tual dicho ndrneto llega a MP a través de las 16 lineas de dreocin del bus. fig, 126) nel paso 3b el dat (0000 H) que se debe enviar a MP para cumplimentar fa operacn, passes a) ED Pasty ane aperacién ordenada en esenciae5 una esrtura de memoria, el paso 4: consse siplements fue la UC pone en Ola lines LE (escritra), con lo cual enviar hacia MP, por las Hneas Os des, Wt oes Se eros RDA (en este caso 0000 H). Est se escribir en las posiciones 5010 y S011’, Enel paso Sel IP se actualiza en 020E (no dibujado). 77 gam sei cut no cs vnuliable en a ura 173 Sponirnos qe cuando 8 UC pines tne det oie 0) et Fae cmon y qu pres caa tn Po btn a UC asl “sab” usw iowa pe gn Se In suncn Recrar que ren envi has AX na pia nano t= Ia direcion 5000 (yeni 5001) ren pam dels insucrons fe sen ugar una lear de memrasgsin Ge una opersin width Ea qancraloo a operacion de seria ox MP (oon cua esr) 2 sie et somni fu ue nee 8 pee nay paca almacear el maco valor escrito. Las dat ides eve eo orien, 0h a Pes ee oe mmanecenimacos.asinsmo, una escrtura de MP supone ya lestra de wn registra deh UCP. ere i aS rucs Viac i oe i i sutura an memoria d unrest qu elon un ogi ! (Cima so suman dos naros ena UAL Figura 1.26 Figura 1.25 ' Qué secuencia de pasos ordena la UC para ejecutar cada instruccion ?_ Si recapitulamos (figuras 1.23 a 1.26) cémo se ejecutaron las instrucciones en el esquema de UC supuesto, resulta que la estructura de la UCP esté pensada para que repita permanentemente la siguiest secuencia de pasos, con las instrucciones del programa a ejecutar que esta en memoria principal (MP) ELIP indica la direccién de MP donde comienza el cédigo de maquina’ de! instruccion a jecutar, el cual luego de ser leido cde MP llega al registro RI } 2. Decodificar: | 1 | one haa en En inglés “fete Por ejemplo en la instruct I el ckdigo de maquina era ALOOSO (3 byte), sendo su eddigo de operactén AL, ¥ 1s 2 byt ‘estates 0050 permiten formar a dicecion $000 donde esti el dato operat. Iz es una instrucién cuyo codigo de maquina cs de! bytes, y su eign de operon es de 2 bytes. En general los bytes que siguen al digo de operacion permite determina I reso de MP cl repisrodénde esi el dato a operar o dbnde escribir un resultado. 143 ‘Obtener un dato a operar: - ‘3a, Siel dato estd en MP, con una direccién que resulta del cédigo de maquina de direcciona la MP para obtener un dato a operar (“operando”) 3b. Dicho dato llega al registro RDA (lo mismo en una escritura en MP) 3 stracci6n, 4, Realizar la operaci6n ordenada y almacenar el resultado: Segiin lo ordenado, puede tener lugar una operacién en la UAL y almacenar el resultado en un registro, o consistir la operacién en un simple movimiento de un registro a otro, donde queda guardado un dato, 5, Cambiar el contenido del registro IP, para que tome la direccién de la préxima instruccién a ejecutar, y vuelta al paso 1. (El cambio del contenido de IP puede hacerse junto con el paso 3.) Las etapas 0 pasos citados ~sintetizados en la figura 1.27 describen, al igual que las figuras 1.23 y 124, el ciclo de una instruccién, que puede dividirse temporalmente en una fase de obtencin de Ia instruccién seguida de otra fase de ejecucién. Obtener dato a operar Obtener nueva instruceién con el valor de IP actualizado Decodificar Figura 1.27 eCoémo hace la UC para no equivocarse con tantos ndmeros contenidos ‘én memoria que pueden ser instrucciones, datos o direcciones ? ‘En memoria principal existen almacenadas combinaciones dle unos y ceros, niimeros binarios que pueden representar codigos de instrucciones, datos o direcciones. E procesador “no sabe” con cus de estos tipos de informacién esta tratando, pero el orden, Ja secuencia repetitiva que realiza ~descripta en la respuesta anterior ha sido perfectamente planeada para que no existan problemas de intexpretacién al respecto. ste orden empieza cuando se enciende un computador, pues lo primero que pide la UCP de la MP es ‘un cédigo de maquina, el que corresponde ala primera instruccién del primer programa a ejecutar. La direceidn de dicha instruccién est preestablecida, y pertenece a la porcién ROM de MP, por lo que al encenderse el equipo el niimero de dicha direccién siempre debe formarse en el IP (y en el registro i CS}, Luego se suceden en orden los 4 pasos descriptos en la respuesta de la pregunta anterior. De esta i forma, lo primero que recibe la UCP de MP es el cddigo de maquina de una instruccién, que ird al RI. aS ae re esigesa ia) eve ie a oo i ae ae oo Conforme se establecié antes, luego de decodificar el cédigo de una instruccién (paso 2), la UCP esta pen- sada para que forme la direccién de MP donde esta un dato a operar. Entonces (paso 3a), fo siguiente que la UCP lee de MP (0 de un registro de la UCP si el cédigo lo ordena) es un miimero que es un dato Este dato si bien llega al RDA, no va al RI, como el c6digo de operacién, sino hacia.un registro de la UCP (como el AX ejemplificado, 0 es conducido a la UAL para ser operado). También puede ‘ocurrir que un niimero se escriba en esa direccién de MP (como en la ejecucién de 1.) Después de sumar al IP la cantidad de bytes que tenia la instruccién ejecutada, IP contends la direccién de la préxima instrucciGn a ser ejecutada, con lo cual vuelve a empezar otro ciclo, leyendo ‘Como ya se describ ete programe est en la porein ROM de MP, dado que primer programa a eect debe estar siempre en memo 1, y los 2 byt ri, augue se apg leap, para pode er del ico fs programa dl sistema operative gue Se pied en la orcén RAM de mem at agua es de {puerclcomplad. Al ser ejceuadocomienza una seevenca de pasos que periten tar tra el disco a MP oto programa, qu cuando es narla direce tJectado a uve trae de isco a MP programas de sistema perativo En un StKB6,e contenido de egisto de segmento CS multlieado por 16 siempre se suma IP pare formar cualquier direc, vn rae A v de Nun nero que ea digo de dieiaITaGHOy omo WI ws HSpIaTS SISOS Rlen reemplazo del cédigo anterior, y asi de sesrida { | | ELorden.establecio insirucciones deben estar escritas en posiciones sucesivay ‘memoria, y que los datos a operar por dichas instrucciones estn en otra zona de memoria, ‘corde con estas Tteglas de juego", si las intrucciones han sido escrta en posicionessucesivas de memg J ma8e & €l correcto, no habré problemas en lo concermiente a e6mo la maquina “interpreta” Gombinacion binaria que pide de memoria, Esto es as{ por que el orden establece que fo primero gue eg . in cedign, el cual permite localizar otro mimero que serd un dato, y lego nuevamente lo préximo que fe serd un eddigo, ete cena ite 8 UC decodtique en el RI un céigo que no reconoce, est prevsio que la UC pase a ejecuta Subratina, que de ser necesario, por ejemplo haga aparecer en pantalla un aviso de error insalvable ¢Qué analogia didactica puede establecerse para visualizar la actividy — ejeci basica de organizar movimient y operaciones que realiza la UC ? 7 ~ Si cbservamos los movimientos indcados en las figuras 123 a 1.26 podemos establecerciertassimiliudes So, am sistema de control automético de vias de irenes (gra 1.28) realizaria entre un gun son oe Seatane poi a manor) os annes de una estci6n de ten (is de reitor den UO aalados or una tea via biieccional (Smita al bus do dats), para gue cada ten vaya destino of corresponda, segiin una cierta planificacién establecida. i Sk el cat de conto se oranda, por ejemplo, que un ten quest estaconado en un a del gp, ep hacia un andén, y que luego otro tren estacionado en otro lugar se dirija a otro andén. Estos movimientos tendrian ¢ correlate el moviniento Ib y 35 dels figures. 123 y 124, Tambien es fate agin an ed (cnganchey desenganche de vagones) pra formar nuevos convyes sil dela UAL), Por erie ca nun andén seria conduido @ ese lugar para ser acoplado, total © parialmente, con ot fue viene femnindes un nuevo tren que ego irs land de donde piel prinero de los tenes cdo. algo sesh eure, cuando duane f eeucion de un programa procesador de textos nen as cares de cas aig formar uno nuevo. : 1 Andenes Ta funcién de Ia UC de encaminar datos hacia un registro 4 destino, puede apreciarse en este modelo “ferroviario”, en ¢ cambio de via que debe realizarse, para que un tren que view desde el galpén de estacionamiento —por la tinica via & comunicacién con la estacién~ vaya hacia el andén de destino, Dentro del microprocesador la UC permanentemente mediante lave electrénicas (transstores) que comanda- esté abriendo y_ cerrandi Jcaminos eléctricos (buses) intemos', para habilitar en cada movitnient Drevisto el camino que perita encaminar datos del registro de orga al registro de destino, deshabiltando los restantes caminos. Como # descrbird, el control de estos movimientos lo realiza la UC median lineas que salen de ella hacia los buses intemos, registeos y memori (cable de lectura/escritura) al ritmo de los pulsos que genera el “lock” Esta analogia también permite visualizar que el bus que comunicl memotia con el microprocesador s6lo permite un envio por ven en un sentido u otro. También la via principal de la figura 128 Figura 1.28 s6lo permite que circule por ella un solo tren por vez, sea de ut andén a.un lugar de la playa o en sentido inverso. Bste modelo que pone de relieve la funcién de la UC de abrir y cerrar caminos eléctricos mediante Uineas de control que salen de ella, puede también servir para aclarar ciertas asociaciones excovon en tomo a la palabra “control” que caracteriza ala UC! ! Galpén de estaclonamiento En inglés “ao ahs Sr con eg sulana realizads vale en cuanto alos movinienosordeados, importante por una diferencia sustanciale Fats de destin k dice, eB vi, por eempl si se ela meme na cope del dao dercionae aoe Heed ‘eHisto de denino. A diferencia, un tren “desapreec" del ligar donde extabaetacionado cuando vafasis iota doe 1.45 Ginzburg, a Fin paier lugar, en las figuras citadas resulta que ni datos ni instrucciones entran a la UC, sino que van a registos, ercargindose la UC de que ello ocura habiltando en cada caso los caminos correspondiente. Por ve tose ene: 12 UCP, o si un resultado! fe la UAL e8 correcto! o no, dado que fos datos no van a la UC. sino directamente a tegistros asociados 2 l| UAL. Lo mismo pasa con la materia prima en la figura 1.3 ‘Asimismo, cuando un cédigo de instruccién llega al registro RIL la UC determina qué ordena ella, para poner| fen marcha los movimientos preparados para ejecutarla, Sélo si el cédigo no corresponde a ninguna| instruccién, se interrumpe la ejecucién del programa en curso y se pasa a ejecutar una subrutina preparada pera tal eventualidad. Del mismo modo, en el modelo “feiroviario”, la oficina de control de vias no tiene por| bjetivo controlar cudntos vagones tiene cada tren que pasa, ola carga que lleva zqué relacién existe entre los movimientos que ocurren durante la jecucion de una instrucci6n y el reloj de sincronismo del procesador ? eet aetna iemeeseaensSesssesenatonateenan i eee "Anteriormente afirmamos que los movimientos que componen la ejecucién de cada instruccién se realizan en ‘Sincronismo con impulsos eléctricos que se suceden regularmente, a razin de millones de ellos por segundo, ‘generados por un cristal piezo-eléetrico de cuarzo, denominado “clock” (“reloj") Profundizaremos mas este tema, suponiendo que se generan 50 millones de impulsos por segundo. 1.60» | puso = 20 naos 20 l= a, Figura 1.29 ‘50 millones do pusos por segundo (50 MHz) Si dichos impulsos se visualizan con un instrumento apropiado, como un osciloscopio electrénico, tienen una forma de re TAT EE ET Eee pepe meray eel aa eee ma trai tj am ipa que titans alse io eal , ae eee cae ie nnn (100d mincing de sure) e ena 0 vols (ae gistro bajo), y en los siguientes diez nanosegundos, 5 volts (nivel alto). >”, en or definicién, un ciclo tiene lugar cada vez que se repite un mismo fenémeno, En la figura se ha indicado un [ue vient ciclo del reloj, considerado desde que comienza un nivel bajo, hasta que dicho nivel se inicia de nuevo. con i via df th nivel alto (puso) en el cielo, O sea que en un ciclo tene lugar un pulso stine. En el ejemplo, un eilo 0 pulso se repte 50 millones de veces por segundo, por lo cual se tiene una freeuen-ia de 4 ciclo por segundo, inte Havel oe >wimient| n f de orga! Son comues los microprocesadores con reloj de 100 Miw.a més de 1 Ghz. Elreloj esta incorporado al micro- Como # procesador. En general, un procesador seré mas ripido si funciona a més MHz? median) aaa Camo se planted, estos pulsos marcan, sincronizan, Tos instantes en que comienzan los leo Imovimientos que tienen lugar durante la ejecucién de cada instruccién. Vale decir, que un — movimiento empieza al comienzo de un pulso y tiene tiempo de consumarse hasta que el inicio omunia! el pulso siguiente, cuando comienza otro movimiento, br 13) Con un ej de 50 Mite de rel, un movimiento debe coneretarse durante un ciclo rel send que aan ste dura 1/30 millonésima de segundo, para el caso que ocurran 50 millones de ciclos por segundo. | [En la ig 120 se han indicaco los movimientos que empiezan en consonantia con cada pulso, para ls instruc- aediantt, cdones Ise antes ejecutadas (ver figs 123 y 124), suponiendo que con cada pulso tenga higar un paso de la orneat {Gecucién de una instrucion,y que se requiere 4 plsos (pasos) para gecutar cada una de dichasinstrucciones. i ‘RESUIRRATGNE EA Benieral a eit raunieripave BE Beciicidis Baws pul 5 aa ‘Al encender an computador in ecuein de un program de dagnéstco qu esti en ROM llevan cabo una seri de verifiaons en iomea thts ao on l coe nina dela UAL meron et obey a cofguacin el site cate es 2 La fleauencia 6 los puss elo) no sive para compara a performance de proesadores distinc. 1 E 3 & 8 2 ——_-caminos? 7 a = éDe qué forma la UC pasa de un movimiento a otro abriendo y cerrang “2% En la figura 1.25 se tiene que para leer en memoria el e6digo de maquina de una instruccién a ejecutr, en ‘movimiento ta, una copia del contenido de IP pasaba a RDI. Esto lo ordena la UC mediante una linea control que sale de ella (figura 131) que habilita ~por estar en 1~ el camino (“bus”) que une IP con RDI si [Los contenidos de memoria llegan al registro RDA pasando por el bus de datos que comunica ambes Este movimiento de lestura es ordenado por la UC mediante su linea de control L/E (de lectralescria que va de la UC a memoria, para lo cual dicha linea de control debia estar en I (5 volts). Una vez que dichos contenidos leidos legaron al RDA, tendrén como destino el registro RI, dado que se de un cédigo de instruccién. Para ello, la UC habilitard mediante otra linea de control de valor tel cam que une RDA con RI. Obsérvese en el esquema propuesto, que las restanes lineas de control que salen de UC por estar en 0 (0 volts), no permiten Ia transferencia de datos entre otros registros dela UCP, por corta ccomunicacién entre los caminos (buses) que los unen, i De manera andloga (figura 1.32), en la lectura del dato a operar, las lineas de control que estén en I permigl é DO los movimientos 3a. 3b y 4, que aparecen en la figura 1.24, Estos movimientos son ordenados por les I de control que en Ia figura 1.32 estin en 1 (que en la figura 1.31 estaban en 0), las cuales habilitan correspondientes caminos entre registros. Tambin salen lineas de control de la UC hacia la UAL, para ordenar sumar,restaru otra operacion : 5 Siel eddigo de una instuccién (como el de I), ordena un movimiento de eseriura en memoria, cuando tenga lard mismo, un cable de contol de Ia UC habilitaréel camino que va de un registro acumulador hacia el registo RDA. yi cable LIE que va a memoria deberi estar en 0 vols, para que se escriba la posicién de memoria previame Giresiona, en conespondnca cn os movies de fit 128. "| Por lo tanto, de la UC sale un conjunto de “lineas de control” que van 1. hacia la UAL 2. hacia los caminos entre registros de la UCP 3. hacia la memoria (linea de lectura/escritura -L/E) y hacia los ports de las interfaces (figuras 1.61 y 1.62) Segiin el valor (1 6 0) de estas lineas la UC ordena la operacién que hace la UAL, de qué registro a cual ott) | se pasard Ja informacién, y si la memoria seré leida 0 0 eserita —s CILADOA, went wee be) meal tanked | Figu | | Lig { Figura 1.31 ‘De sta init Se Vili 2° To wae CONTEL We UU. mean Ea Na rises. Seen UREN de lograr las moviinenios'y operaciones necesarios para ejecular cada pasa de sina insiruccion. Es como uk “director de orqiesia” que ordena en cada momento que tnstrumentos deben ponerse cn jucco Laz Ginzburg ——___ ‘la UCP dichos momentos son iniciados, sincronizados, por cada pulso Feloj Ei Pe P i ‘salen de Por ejemplo, si durante un pulso reloj la linea que en el movimiento 1b habilita la escritura de RI desde RDA. (figura 1.31), en el pulso siguiente debe inhabilitarla (cambiando de 1 a 0), para que el dato no vaya a RI, sino a AX, como aparece en la figura 1.32, ejecutar, una line » con RDI Por consiguiente, con cada pulso reloj avanza un movimiento 0 paso la ejecuelin de una instruccién, |y cambia la combinacién de unos y ceros presente en las lineas que salen de la UC, a fin de que Hwedan levarse a cabo dicho movimiento. Cada vez que se repite un determinado movimiento ~como el 1a 6 el 1b~ se repite también en las salidas de Ia UC la combinacién de unos y ceros que determina (controla) dichos movimientos ¢ Donde reside la “inteligencia” de la UC, para “saber” los movimientos y iciones en la UAL a realizar; y cémo localizar cada microcédigo ? eee eee cetera See eens fn Esta pregunta equivale a plantear de dénde sale cada combinacién de unos y ceros que aparecen con cada pulso reloj en las lineas de salida de la UC. ‘Seajin se deseribio (fig, 1.27) la ejecucidn de eada instruccion se divide en pasos ain mis simples (4 en nuestro caso, pero que son més en instrucciones complejas) Las aeciones que debe ordenaricontrolar la UC en cada uno de esios 4 pasos estin determinadas por 4 combinaciones binarias lamadas "microcédigos” (weod) que van apareciendo tuna tras otra con cada pulso reloj (Clock = Ck) en las lineas de control (LC), Estas salen dela UC con destino ala UAL, los regstros de la UCP, y laa mémoria (fig. 1.31). También van hacia ls pors Con cada Ck el valor (16 0) de cada LC que sale de la UC determina los movimientos (como ser de HP a RDI) aque deben tener lugar, si intervene la UAL, qué operacién debe hacer. El valor de cada LC puede cambiar con ly 1.63 cada Ck. Asi, para 500 Mhz (500 millones pulsos/seg) las LC cambian 500 millones de veces por segundo, o sea © acual of que se generan en ellas $00 millones de weod/seg.) Este funcionamiento es comiin a fodos los procesadores, sean CISC o RISC (seecién 1.14. ea aa Control ' (RC), que contiene escritas en su interior todas las combinaciones binarias que pueden Se jaf 7 sail cfatign coi de! salen de la UC son 1000101, y en la fig. 1.32 se asume que con el Ck siguiente dichos valores {ueaséen@ OMe! son 0001011. Ambos valores en la figura 1.33 aparecen guardados en 2 celdassueesivas de 7 val en un cierto bits de una RC. Como en cualquier ROM, cuando se accede a una celda una copia de su con- ee tenido (jucod) pasa a sus lineas de salida, que son las LC de la UC. Esto sucede con cada Ck. tantol de 2 UG Con xaxxx se indican otros cod en la RC, que como todos los weod constan de unos v ceros Figura 13. ‘Cuando el cod 1000101 esti en las LC permite realizar los movimientos de la figura 1.31 El esquema siguiente generaliza la fig. 1.33 e intenta acercarse conceptualmente a cémo se localizan lor cod en una ROM de Control, Sobre la base de la fig 1.33, y suponiendo que cada una de las instrucciones de la fig 1.15 se ejecute en 4 pasos indicados en la figura 1.30 en concordancia con 4 pulsos, hacen falta 4 jteod (eod!, peod2, peod3 y weodd) que deberin aparecer en las LC con cada pulso, para indicarle a la UC qué hhacer en cada uno de los 4 pasos de una instruccién, Con Ck, Ck2, Ck3, Ck, designamos a cada uno de los 4 ppulsos necesarios para que avance un paso la ejecucion de cada instruccion, ya sea I, 6 2 , 6 fs 6 L, (fig. 1.15) En las celdas de la RC de una UCP CISC se guardan los wend para pedir y ejecutar cada instrucci6n de su repertori. ep Seano Pe no ee nan ue ver co la ROM de memoria pina, ux contene los progr de rant BIOS (Base np Opt sen) runs PCa tampocotene que yer cone sfemn operat elegid para un computador. Esa concen cls mpl’ en 'Tanbign lamade ROM de mieroe@digo 0 de mlerostrucctones, inmodiicabey forma pate del chip del procesuor Esta. ROM. rocesadors Pentium I prevaleciendo luego ia ecncepcin RISC mieroprocesadores CISC de disins fabriantes, inclusive hasta. NOW aur i Maa Fucs PTAC 148 Puesto que una RC es una memoria random -cuyas celdas guardan tantos bits como LC existan- cada celdagy. —— RC se localiza por su direccién, Cada weod proveers Ia direccién del siguiente, salvo la direccidn del te ————} (weod3);-que se determina en la decodificaciGn 3 partir del cod-op de la instuccién que legs al RE | Como se tratard, dado que en la RC existen miles de wcod para gjecutar todo el repertario de instrucci de una UCP, la localizaciin de los sucesivas weddigas para efecutar la insruccion que llegs al RI y luego, siguiente, serealiza siempre a partir de la localizacion del ucod3, merced al cod-op de dcha instrcién OW DECONTROL Supondremos que después de los pulsos Ck1 y Ck2, en las LC han ap -TicaeSHHOSCOLD WWSYEEEE ueod y Iuego weod2, con lo cual lega a RI (fig. 1.34) la instruccién de 2B06; y que en Ia decoditicacion dicho cod-op 2B06 que esti en RI localiza a dteccion del “cod de 2B06” en la RC. O sea que cuando llegue iss I el nd de 2806 a pense hs Lab conrad aque corresponda mediante las laves que los gobieman, para que se levea cabo. 3 de2B06: direccionar el dato y levario a RDA. Asimismo, un subconjunto de bits del weod3 de 2B06 no van a ls LC sino que prow la direccién del peods, supuesio en la direccion que sigue ala del peod3. i Cuando se genere el plso Ck, el cod de 2B06 aparecerden las LC determinay, ‘ques leve a cabo el paso 4: realizar la esta ordenada por dicho cod-op 2B06, | ‘A su vez, un conjunto de bits del weod de 2B06 no van alas LC, sino que prove Jn irecién (Dir cod!) del peod! para pei de memoria la siguiente instucién ‘od-op supuesto A), Si al pulso que sigue a Ck lo volvemos a llamar Ck, al ocuy «ste pulso el wood! apareceréen las LC para que se levea cabo est paso I del pedi, ‘Del mismo mode, bits del wend que no van las LC provesrin la direecin (Dir cog el cod. que para cualquier instwccién sigue al peod!, supuesto en fa direcidn q! sigue a la del pod. El cod? permits que el cod-op AA3 de la instruccién supue shor en RI sta decotifcado, pra localiza el wood3 de A3, como sucediécrtescon 2, dado que e wend? no india la dreocién del weod3 de cada nueva nstrucién a eects De esta forma, luego de ejecutar cada instruccién (con weod3 y cod), se pide siguiente (con weod! y weod2), para seguir con los weod3 y pcod4 que determinant ejecucin de esta siguiente instruccién, y ast sucesivamente. En cada secuencia peod3 =>peod4 =>peod | =>p.cod la direccién de cada picod la provee el pod anterior, siendo que la direccién de weod3 la provee el cod-op dei instrccién que leg6 a RI, como lo sefialan las dos simbolizaciones del registro RI en grisado en lafigura 134. = Los dos primeros pasos (obtener instruccién en RI y decodificarla-fig 1.31) como se rat, son eomunes a todt | las instruceiones, por lo que los weod y cod? serin compartidos por todas las instrucciones, Tanto weod3 de XX como weod4 de XX hacen referencia a weod de otra instuccién que puede ejecutar la UCP. ‘epi aT cos ce at Dey Yon iy." pdt io Benoit MY fpodt ing ipl Bey st 0904 yoo 0205, Sistematizando: od Cada sentencia (por ¢j. R= P+P-Q de un programa de alto nivel se traduce en wi) cod strucciones (Ly, I, I, len este c4S0), y cada instrucciOn se ejecuta mediant a3 @ Ai | una secuencia de weédigos que en un CISC estin en una ROM de Control, y que aparecen 1 Jeod4 41 | tas tineas de control al ritmo de los pulsos rel}. Ello determinan las aeciones que det i cod realizar la UC en cada paso de la ejecucién de una instruccién. = I eos? |2)e0H3 eo 0306 Cuando el cddigo de operacién de una instrucci llega al reisto RI, el mismo pecmit v0t4 3805081 ubicar (en este ejemplo) latercera de dichas combinaciones que debe aparecer en las lines od de la UC para que comience la ejecucion de dicha intruceién a sce neat iso) de 2eng ESRB ood ge 2806) $id0_ prepara zat prot? Vd de AY fot éeA3 dice que son “miquinas microprogramadas”. Sentencia PeP-a)} 3 Todo sucede como si la UC fuera como un robot preprogramado, para que con cad! orden distinta que se le imparta(instruccién) responda mediante una serie de acciones especiticas (ordenada! Por las combinaciones que se generan en sus lineas de salida), programadas en su interior por sus creadores. ee, | + eada celda’ UAL: OPERACIONES LOGICAS, DE COMPARACION Y "FLAGS" EL COPROCESADOR MATEMATICO La operacién AND queda definida asf: 0A0 Ot=0 1A0=0 Ala Vale decir sien el visor hay un 0, y se pulsa la tecla A seguida de la tecla 1, al pulsar = resulta | un 0 en el visor, etc También pueden entrarse mas bits: como ser primero entrar al visor 10010110, después apretar la tecla de operacién a luego entrar la combinacién 00000010. Al apretar la tecla resultaria (0000010, como puede verificarse haciendo la operacién AND columna por columna, conforme ella fue definida, disponiendo los operandos como sigue: 10010110 : «90000010 00000010 esto mismo es Jo que hace en esencia la UAL para hacer la operacién légica AND Supongamos que se realiza una encuesta con ocho preguntas que se contestan por “si” (1) 0 pot “no” (0). Entonces la combinacién 10010110 representaria las 8 respuestas de una persona. Si ahora se desea conocer entre todos los encuestados, cudntos contestaron por el “no” a la antediltima pregunta, habria que detectar en cada grupo de 8 respuestas almacenadas (como la 10010110 anterior), si el bit anterior al de la extrema derecha es 0 6 1. De ocurrir lo primero, el programa encargado de este procesamiento hard incrementar en uno un determinado registro que oficiara de contador. Para detectar si el antetiltimo bit citado vale 0 6 1 (supuesto desconocido) hacemos la operacién AND con Ia combinacién 00000010 (llamada “miscara”). Puesto que en este caso dicho bit vale 1, se obtuvo un resultado distinto de cero. Cualquier otra combinacién que tenga ese bit en 1, daré como resultado 00000010, como puede verificarse. Si el bit en cuestién valiera 0, la combinacién que representa las respuestas seria 10010100. Haciendo la misma operacién AND con la mascara | (00000010, esta vez se obtendré 00000000, en lugar de 00000010. Lo mismo sucedera para cualquier combinacién que tenga 0 como anteiiltimo bit. Entonces, si el resultado es cero implica que dicho Dit es 0 (“no”), Si el resultado es distinto de cero implica que ese bit-vale 1 (respuesta “si”), con lo ‘cual se debe incrementar en uno el contador de respuestas positivas citado. | Aprovecharemos la operacin realizada para mostrar cémo puede usarse ella en la préctica, | | Cuando nos presentan dos mimeros escritos, basta con observarlos para darnos cuenta en forma mecénica por los simbolos que los componen, cual es el mayor, por la experiencia que hemos acumulado en cuanto al niimero de unidades que representan. La UC no “sabe” que esta operando nvimeros, ni el valor de una combinaci6n binaria. | 50 EI método usado en un computador para conocer, por ejemplo, si un ntimero binario es el 3192, restarle 3192. Si el resultado es cero, sera dicho mimero, caso contrario no. La UAL tamposy determina como es A respecto de B, s6lo efectiia A —B e indica si el resultado fue cero 0 no. necesita luego considerar esta indicacién para tal determinacién. 4 Por lo tanto, la comparacién es una operacién aritmética de resta, no légica, siendo que las otra operaciones aritméticas que realiza la Unidad Aritmético Légica son la suma, la multiplicacién divisi6n de ntimeros enteros y naturales. q 3 Qué son los indicadiores ("% eS enelRegisirodeEstadodelaUCP? [ADR IG egistro ce ai Corian eats — ea ee resulted WC pase a cjecular obra, que no ex la que sigue a contin e ‘este. ‘instruceiin debe ser indicada en ta instruccion de salto. Esta indicacién es semejante a la que aparece en el visor de un calculador, cuando al efectuar una reste de niimeros naturales, aparece el resultado con un signo negativo, indicador que el minuendo «| menor que el sustraendo, Si este signo no aparece deducimos que el resultado es positivo. Del sisal ‘modo, sial hacer una resta aparece un cero implica que los ntimeros restados son iguales;y si el. i tado es distinto de cero, que son distintos. Otro indicador aparece cuando el resultado sobrepasa e valor maximo que se puede representar. Si el mismo no aparece, asumimos que el resultado esta bien | ‘A continuiacin se definen tres indicadores importantes que genera la UAL, de los cuales en esta unidad ‘daremos un ejemplo de utilizacién del primero en una instruccién de salto, condicionada al valor del mistna Elindicador Z (de “zero”) vale 1 (ZR) si el resultado fue cero, y vale 0 si el resultado no fue cero (NZ). El indicador $ (de signo) para enteros vale 1 (NG) si el resultado fue nega fue positivo (PL) El indicador V (de “overflow”) vale 1 (OV) si el resultado como nuimero entero supera el maximo valor representable; caso contrario vale 0 (NV). Este indicador y los otros se tratan en detalle en la Unidad 4. y valor O si el resultado} Entre paréntesis se da la forma en que el Debug representa el valor de e50s indicadores, como aparecen en Jas figuras 1.18 a 1.22 despues de a eecucin de cada instruccién, acorde con el resultado obtenido. En esa secuencia de instrucciones antes ejecutada, el indicador Z luego de ejecutar la instruccién I quedé en 0 (NZ~ no zero, en la figura 1.20), y después de ejecutar I, cambi6 a 1 (ZR en la figura 1.21) Los flags se definen en detalleen la Unidad 4 de esta obra, asf como al tata las instruccones de salto | (Geccién 1.19 y en el modelo circuital del Apéndice de esta unidad), donde se ve camo la maquina toms decisiones en funcién del valor de los flags, tema también tratado en la Unidad 3 de esta obra En qué se diferencian la UAL y el coprocesadior matemético que opera con, numeros reales representados en “punto flotante” y como opera éste? f La UAL sélo realiza operaciones aritméticas con miimeros naturales 0 enteros, siendo que las} instrucciones para sumar y restar con estos nimeros son muy rapidas de ejecutar. Para operar en la} UAL niimeros fraccionarios, el programa que ordena las operaciones aritméticas debe controlar el lugar donde esté la coma, y operar los ntimeros como si fueran enteros. Esto es lo que hacemos co papel y lépiz cuando, por ejemplo, multiplicamos dos mimeros y luego al final ubicamos “| posicién de la coma en el resultado, sumando la cantidad de digitos fraccionarios que presenta cada uno de los operandos. Estas determinaciones y otras, demoran los resultados. (as oo que las, aren rola 1s can mos 1} resenta) 151 EI coprocesador matematico (‘copro’) es un microprocesador dedicado entre olras fundiones a realizar rpidamente operaciones con ntin.eros enteros y fracciona.ios, encargindose sus circuitos de controlar a {cada instante el lugar donde debe irla coma. Tambin realiza operaciones trigonométricas y logaritmicas De esta forma no se pierde tiempo en La ejecucién de instrucciores adicionales, que leven la cuenta de la ubicaci6n de la coma, como se requiere si se usa la UAL. Un programa con mrichas instrucc!>nes q:"> ordenen operaciones con el “copro", puede obtener resultados hasta cien veces més répido que otro programa que realice les mismos célculos simulando mtimeros con coma y usando la UAL. Esto se hacia cuando un "copro” era costoso. Los ntimeros enteros y fraccionarios (racionales) y los izrac‘onales (pi, raiz de dos, etc.) constituyen Jos nvimeros “reales”. Para que el coprocesador pued.s operarlos leben estar codificados en “punto flotante” (‘floating point” ~ FP), que en castellano seria “coma flotante o desplazable”. Por tal motivo el "copro" también se denomina "Linidad de Punto Flotante” (FPU las siglas en inglés). ista convencién -similar a la notacién cientifica~ implica que todos los miirheros que legan al ‘copro” deben representarse de una manera normalizada, que ejemplificaremos en decimal, siendo que en realidad en el interior del computador se representa s6lo con ntimeros binarios, sin comas. Cuando en el visor de una cierta calculadora “cientifica” aparece 3.078 E 3 se conviene que es 3,078x10" = 3078 6 sea que desplazamos la coma tres lugares hacia la derecha. De manera inversa, partiendo del 3078, este nimero queda representado con la notacién cientifica anterior compuesto por dos ntimeros, de los cuales uno es el exponente de diez. Del mismo modo 243,78 = 2,4378x100 = 2,4378x10" = 2.437 E 02 es, en decimal, una notacién semejante a la de punto flotante en binario. Esta se ve en detalle en la Unidad 4 de esta obra. ‘Siempre seré factible, corriendo la coma, representar un ntimero “srarmalizado” de la forma anterior, con un solo digito como parte entera, seguida de otra fraccionaria y otro muimero independiente que indique ccudntos lugares se debe correr la coma para obtener el ntimero originario en lugar del “normalizado’. Existen instrucciones para cada tipo de nimero a procesar, cuyos cédigos determinan, si la operaci6n aritmética se realizard en la UAL 0 en el "copro". Igualmente, dado un ntimero binario en memoria, si el mismo se quiere imprimir en decimal, segiin sea el tipo de datos que est operando el programa en ejecuci6n (Integers, Reales, etc.) serd interpretado dicho ntimero. Del mismo modo que 260850 puede interpretarse como el ntimero 260.850 6 como la fecha 26/08/50 Por otra parte, por ejemplo el "copro” de un Pentium permite operar en doble precisién extendida con néimeros de 80 bits, mientras que la UAL del mismo puede operar dos ntimeros de 32 bits. Esto permite realizar con un "copro” célculos que requieran una mayor precision (apreciar mayor mtimero de digitos), que de realizarse en la UAL requeririan tiempos adicionales, puesto que nuimeros que superen el tamafo que la UAL maneja, deben operarse por partes segtin este tamafo, Con el mismo fin, almacena en su interior con muchas cifras, reimeros como PI. EL 486DX y el Pentium I ya presentan el "copro" incorporado en su chip, (el de un Pentium es 5 veces ‘més répido que el del 486). En el 80286 y 80386 sus “copros" 80287y 80387 estaban en chips separados Las siglas 80X87 se refieren a "copros" de Intel, Estos tienen estructura distinta a los de otros fabricantes. Poseen 8 registros de 80 bits que el programador los ve como formando parte de una pila, con un registro oficiando de cima. O sea que tos 80X87 son méquinas para datos apilados (existen microprocesadores de este tipo). Las instrucciones para llevar datos de memoria al 'copro" los van apilando de forma que el timo en entrar quede siempre en el registro que es la cima de la pila (designado ST), como en una pila de platos, y sacan los resultados de la cima. Los 7 registros debajo de la cima se designan ST(i). Los niimeros son mas largos en los registros de la pila (80 bits) que cuando estan en memoria (64 bits). Realizan las cuaatro operaciones artméticas bésicas,calculan raiz cuadrada, exponenciaciones, valor absoluto, Jogaritmos, funciones trigonomeétricas y trascendentales en general (0 sea aquellas que no son polinémica). Procesan datos como ntimeros en FP (reales) de 32, 64 y 80 bits, enteros de 16, 32 y 64 bits, y datos BCD de 18 digitos decimales. En los 8 registres citados s6lo puede haber datos traducidos a FP, existiendo instrucciones indicadas para ello (como ser cargar en la pila en FP un niimero que en memoria es un entero) Las instrucciones para el Pentium y para el "copro” pueden ser ejecutadas por ambos en forma simulténea, Cada uno intercepta y ejecuta sus instrucciones. Si la instruccién empieza con 11011 (ascii de ESC) la ejecuta el "copro". En la pila de registros citada estén los operandos y se guardan ™ & = = g eS 8 152 resultados, Al respecto, al final de la Unidad 4 de esta obra se da un ejercicio integrador donde ———«jecutan instrucciones para el "copro" usando el registro que oficia de cima de la pila. EI Registro de Estado del “copro” informa entre otras, si un resultado no esti fuera de rango, representacién, o si un operando est mal representado, y acerca del valor de los flags del "copro Estos tiltimos permiten determinar si un ntimero es >= < que el de la cima (top) de la pila Un Registro de Control permite seleccionar Ia precisién (simple, doble) y el redondeo a uti Existe tna instruccién del "copro” que transfiere el contenido del Registro de Estado del “copro! registro AX de un Pentium. Asimismo “copro" y Pentium se pueden comunicar a través de *p direccionables reservados, que no pueden usarse para el manejo de periféricos. Asi, cuando el detecta una instruccién del "copro" la pasa a éste a través de un port mediante un ciclo de E/S. El “copro” s6lo puede acceder a memoria a través del 80x86 o Pentium. Las extensiones para multimedia (MMX™) de los actuales Pentiuun se realizan mediante instrucci para ese tipo de datos, las cuales se ejecutan en un coprocesador dedicado a MMX, el comparte los 8 registros del “copro” En un computador pueden existir otros coprocesadores, como ser para video, para Entradas/Salidas, af Un coprocesador es como una extensién de procesador central, que colabora con éste trabajando, paralelo y proporcionando registros extras. Qué son los MIPS y las MFLOPS ? _ i Actualmente un procesador puede ejecutar millones de instrucciones por segundo. Estas tiltimas palabras abrevian con la sigla MIPS'. Este dato puede servir relativamente para comparar, a una misma frecuencia ' operaci6n, la performance de un mismo procesador o de distintos procesadores entre si, ejecutando inst ciones de tipo semejante, siendo que los MIPS de un mismo procesador varfan de un programa a otto, lb ’jecucién de distintos tipos de programas es siempre la mejor medida de comparacién. Los procesadores 80x86 de Intel aumentaron sus MIPS en promedio como sigue: 8088 y 8086: 0,33 MIPS a5 MHz. 80286: 1,2 MIPS a 8 MHz, 80386 SX : 2,5 MIPS a 16 MHz 80386 DX: 6 MIPS a 16 MHz. ‘80486 SX: 20 MIPS a 25 MHz 80486 DX: 20 MIPS a 25 MHz y 40 MIPS a 50 MHz 80586 (Pentium 1): 100 MIPS a 66 MHz Un Pentium actual de 1 Ghz en promedio puede terminar de ejecutar hasta 3 instrucciones por ciclo, 1o cextrapolando implicarfa unos 3000 MIPS ! Dados los requerimientos actuales de las operaciones en punto flotante, Ia evaluacién de la performance: io scl procesadores para las mismas, pas6 a ser importante, Los MFLOPS ~pronunciados “megaFLOPS"- (& inglés mega floating points operations per second) son las millones de operaciones en punto flotante pi segundo que puede realizar un procesador,calclados como el cociente NNimero de operaciones en punto flotante de un programa/Tiempo de eecuciGn x 10° Conforme a esta definicién —a diferencia de los MIPS- te6ricamente la evaluacién de los MFLOPS depen del procesador y del programa elegido. O sea que se debieran comparar los MFLOPS de distintos procesadore sjecutando una misma trea con igual nimero de operaciones en punto flotante del mismo tipo, aunque # mismo programa en cada procesador en general tendri distinto nuimero de instrucciones, F Est unidad se ao con ls computndoes IBM 370 y VAK-II-780 de DEC, que comercalmente fueron los primero de | MIPS Dobe consgnarse que exist Ia MIPS Computer Sytem, nc propctara de la arquitectras RISC MIPS R2000 y MIPS 83000 | |

También podría gustarte