La Pc Por Dentro

download La Pc Por Dentro

of 348

Transcript of La Pc Por Dentro

ifalioteca Tcnica SuperiorM.C.GINZBURGV no "21409iJUclIUb lili b viamonte 2051 Cap. Fed.B O OKS Jlii!8!0.

. Cuitum9www.buenosairesbooks.comLA PC POR DENTROARQUITECTURA Y FUNCIONAMIENTO DE COMPUTADORAS

CMARIO CARLOS GINZBURGINGENIERO ELECTRNICO (UBA)A Piyi, Jernimo y RafaelINTRODUCCIN GENERAL A LA INFORMTICA:1 LA PC POR DENTRO, ARQUITECTURA Y FUNCIONAMIENTO DE COMPUTADORAS Cuarta EdicinM.C.GinzburgEs propiedad - Queda hecho el depsito que marca la ley Impreso en la Argentina - Printed In ArgentinaDERECHOS RESERVADOS 2006ISBN-10:987-05-0916-9 ISBN-13: 978-987-05-0916-5Ginzburg, Mario Carlos

Introduccin general a la informtica : la pe por dentro :arquitectura y

funcionamiento de ordenadores / Mario Carlos Ginzburg ;ilustrado por

Rafael Ginzburg - 4a ed. - Buenos Aires : el autor, 2006.

232 p.; 20x28 cm.

ISBN 987-05-0916-9

1. Informtica. I. Ginzburg, Rafael, ilus. II. Ttulo

CDD 004.1

Fecha de catalogacin: 03/05/2006No se permite la reproduccin total o parcial de esta obra, ni el almacenamiento en un sistema de informtica, ni transmisin en cualquier forma o por cualquier medio electrnico, mecnico, fotocopia, registro u otros medios, sin el permiso previo y la autorizacin escrita del autor.PROLOGOEsta obra ha sido pensada para un lector sin experiencia previa alguna en el terreno de la computacin o informtica.Al comenzar cada tema nuevo se buscan analogas con la vida real. As, como paso previo al esquema general de un computador, se considera una fbrica, que de forma similar produce productos segn las instrucciones que dejan los clientes. El contenido de cada posicin 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 cmo se le ordena al computador qu debe hacer, se pone de relieve la semejanza con la forma de operar con una calculadora porttil comn. Del mismo modo, el "pipe Une" de un procesador i> comprende a travs de un lavadero automtico de autos; el concepto de "buffer" mediante buzones y del papel que juega la pileta en la descarga de un lavarropas, etc.Esta primera unidad abarca los temas fundamentales del funcionamiento de un computador.Con ella se busca brindarle al lector en forma clara, concisa, y prctica, los conocimientos bsicos para entender cmo funciona el interior de una PC moderna, y en general cualquier computador. Se eligi, por ser ms didctico el mtodo de preguntas-respuestas acerca de los temas esenciales que se deben conocer.Las primeras secciones constituyen el tronco o basamento medular de la presente unidad y de la obra en general. Las siguientes son desarrollos ms detallados de las primeras.De esta forma, el lector progresa en el estudio del libro y de cada tema conforme a sus necesidades de profundizacin o aplicacin prctica.Completan la Unidad 1 apndices sobre el sistema binario, software (en especial sistemas operativos y virus), una Historia del desarrollo del hardware y software hasta 2006, un modelo circuital didctico de funcionamiento de un procesador, con elementos RISC, y un Complemento para enteros y punto flotante.La segunda unidad de la presente obra, trata en detalle el funcionamiento y uso prctico de los perifricos, algunos de los cuales se comienzan a ver en esta unidad.Temas como la programacin en Assembler, y la confeccin de pequeos programas tpicos estn contenidos en la Unidad 3. Se incluyen llamados a subrutinas, vectores interrupcin y manejo de pilas.Los circuitos lgicos de un computador: compuertas, UAL, flip flops, registros, secuenciadores, descriptos ailadamente se integran en un modelo didctico sencillo pro RISC muy sencillo, y se tratan en la obra "De la Compuerta al Computador" prxima a aparecer. En la presente edicin se ha conservado un Modelo Circuital: didctico de una UCP capaz de ejecutar instrucciones, que no requiere ningn conocimiento de circuitos lgicos.Por qu emplear un microcomputador como modelo de funcionamiento de computadoras:Cuando Intel lanz el 80386 en 1985, que poda ejecutar 6 millones de instrucciones por segundo (mips), tuvo lugar un salto notable en la performance de los microprocesadores. Ya el 80286 ejecutaba 2,5 mips,. y permita operar en multitarea {multitasking), con un sistema operativo apropiado.Luego, en 1991 y 1993 Intel produjo el 80486 y el Pentium I. Los siguientes procesadores de Intel contienen un ncleo RISC, siendo que los procesadores RISC (Power PC, Alpha, MIPS, 860, etc.), se lanzaron en la dcada de 1980.La tendencia actual es usar cada vez en mayor medida la conexin en red de microcomputadoras (sean personales o estaciones de trabajo) para nuevos emprendimientos o en reemplazo de las grandes mainframes. Estas quedan restringidas para reas reservadas o muy especiales..Un 486 o un Pentium, al igual que los microprocesadores RISC tienen una elevada complejidad interna. Procesadores RISC operando en paralelo forman parte de supercomputadoras.Los microprocesadores han ido incorporando paulatinamente todas las innovaciones que antes eran privativas de las grandes computadoras y supercomputadoras. As, el "pipe fine" (ya presente en el 8086), el modo protegido para "multitasking", la memoria "cach" interna, el coprocesador matemtico y la concepcin superescalar pasaron a formar parte del cualquier microprocesador actual.Al aparecer en el mercado en 1986 los primeros RISC, ocurri que estos mieroprocesadores presentaban innovaciones que los procesadores de las grandes y minicor iputadoras (del tipo CISC) no posean. Los buses rpidos como el PCI express mejoraron notablemente la performance de los computadores personales.Por lo tanto, hoy da conocer el funcionamiento de un microprocesador moderno implica estar actualizado con las principales innovaciones tecnolgicas ocurridas en el desarrollo de las computadoras

mpmnnaLos principios de mcio/iamiento de ios dos nivele.-, de cach en una m/crocomputLdora son los mismos que para computadoras ms grandes. Lo mismo respecto al pipe Une, modo protegido, coprocesador. etc. Igualmente son comunes a todos los procesadores las funciones de !a Unidad de Control la UAL. los registros, la principal, las interface, los perifricos, ios buse.-. etc.Resulta as que conocer estos temas en un fmcrocomputador permite abordarlas en cualquier tipo de computador corriente, siendo que todos esn basados en el modelos de Von Neumann.Pero adems de servir como modelos para explicar cmo funciona un computador, los microcomputadores tiene la ventaja de ser accesibles a ms personas por su bajo costo. Ahora, quienes estudian estos temas pueden visualizar en la pantalla de una PC aspectos de su funcionamiento que antes se vean en forma abstracta en los libros, por la imposibilidad de experimentar en minis o grandes computadorasEsta cuarta edicin conserva el carcter terico-prctico de esta obra con el uso del Debug para visualizar en "cmara lenta" los resultados de la ejecucin de cada instruccin de un programa, y agrega ejercicios integradores para nmeros enteros, flags y reales, as como las bases para la comprensin de stos en el Complemento final.Asimismo, la presente edicin, en funcin 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 rpida.Agradecimientos:A mis hijos Rafael1 que tambin en esta edicin interpret y realiz con claridad dibujos complementarios, y Jernimo (AnaMsta de Sistemas U. de Sistemas FCEyN) por su lectura crtica d las novedades escritas.A mi ayudante Pablo Salaberri que siempre me acerca informacin sobre distintos temas, y que seguramente pronto colaborar en prximas ediciones de unidades de'esta obra.A mis alumnos, cujas preguntas, dudas e inquietudes rne permiten aprender cmo mejorar distintos tenias.E3 autor

SIMB(QUES QUECBASEQU S QU I ENTRE CUL 0 Y 1HARIQU! CUL YQUI QU < INFOR CMi QU CONLAMQUE CbQUQUQUI QUQUIQUIQUi sus QUi QUJLAN ES iEL SQU QU QU cYCQUUTII DELcoi*DEU^s mismos que c Igualmente >s. la memoria

NDICE DE TEMASie computador'Utadores tieneden visualizarlibros, por lavisualizar en > integradores to final, lan puesto de ira rpida.mentados, y | seguramente " cenias.autor

SMBOLOS, DATOS, PROCESOS DE DATOS E INFORMACINQU SIGNIFICA QUE UN COMPUTADOR REALIZA AUTOMTICAMENTE PROCESOS DE DATOSQUE CONSTAN DE ENTRADA, MEMORIZACIN, PROCESAMIENTO Y SALIDA1BASES PREVIAS PARA EL ESTUDIO DEL INTERIOR DE UN COMPUTADORQU SEMEJANZAS TIENE UN COMPUTADOR CON UNA FBRICA QUE PRODUCE A PEDIDO ?5QU ES LO BSICO QUE SE NECESITA CONOCER ACERCA DE BITS, BYTES Y DE LA EQUIVALENCIAENTRE BINARIO Y HEXA PARA OPERAR UN COMPUTADOR ?6CUL ES LA VENTAJA DE OPERAR CON DOS ESTADOS ELCTRICOS CORRESPONDIENTES AL0 Y 1 BINARIOS ?8HARDWARE DEL COMPUTADOR8QU ES EL HARDWARE?8CULES SON LOS BLOQUES CONSTITUYENTES BSICOS DEL HARDWARE DE UN COMPUTADORY QU FUNCIONES CUMPLEN EN SU FUNCIONAMIENTO ?10QU CORRESPONDENCIA DE FUNCIONES PUEDEN ESTABLECERSE ENTRE LA PRODUCCIN DEINFORMACIN POR UN COMPUTADOR Y UNA PRODUCCIN FABRIL ?15CMO PUEDE RESUMIRSE EL FUNCIONAMIENTO BSICO DE UN COMPUTADOR ?15QU REGISTROS DE LA UCP FALTA DEFINIR PARA REALIZAR LAS PRIMERAS PRCTICASCON EL PROGRAMA DEBUG, A FIN DE OPERAR EN EL INTERIOR DE UN COMPUTADOR ?15LA MEMORIA PRINCIPAL O CENTRAL16QUE SON LAS DIRECCIONES Y LOS CONTENIDOS DE LA MEMORIA PRINCIPAL ?16CMO SE DIRECCIONA, SE LEE Y SE ESCRIBE LA MEMORIA PRINCIPAL ?18QU ES TIEMPO DE ACCESO A MEMORIA Y SU MEDIDA EN NANOSEGUNDOS ?19QU SIGNIFICA QUE EL ACCESO A LA MEMORIA PRINCIPAL ES AL AZAR (RANDOM) ?20QU TIENEN DE COMN Y DIFERENTE LAS ZONAS RAM Y ROM DE MEMORIA ?20QU CONTIENE LA PORCIN ROM DE MEMORIA PRINCIPAL (ROM BIOS) ?21QU TIPOS DE MEMORIAS DE SEMICONDUCTORES CON "RANDOM ACCES" SE FABRICAN ?22QU ES CAPACIDAD DE MEMORIA, Y QU SON LAS UNIDADES KB, MB, GB ?23QU RELACIN EXISTE ENTRE LA CAPACIDAD DE UNA MEMORIA, LA CANTIDAD DE BITS QUE TIENENSUS DIRECCIONES Y EL NMERO DE LNEAS DE DIRECCIN ?24QU ES EL BIT DE PARIDAD EN MEMORIA PRINCIPAL, Y PARA QU SE EMPLEA ?25QU ES UN MICROPROCESADOR DE 8, 16 32 BITS Y QU RELACIN TIENE ELLO CON LOS REGISTROS,LA MEMORIA PRINCIPAL Y LAS LNEAS DE DATOS DEL BUS ?25ES CORRECTO AFIRMAR QUE LOS REGISTROS DE LA UCP CONFORMAN UNA PEQUEA RAM ?26EL SOFTWARE, LOS DATOS Y SU CODIFICACINQU ES EL SOFTWARE O "LOGICAL" ? QU ES EL FIRMWARE ?QU ES UN MICROPROCESADOR DEDICADO ?CMO SE PREPARA EL PROCESO DE DATOS EN EL COMPUTADOR ANTES DEFINIDO, Y CMO SE LE ORDENA A STE QU DEBE HACER ? QU SERA "ALTO" Y "BAJO" NIVEL EN LA CODIFICACIN DE DATOS EFECTUADA ?

27 27 29 2930 32UTILIZACIN DEL PROGRAMA DEBUG DEL DOS PARA VISUALIZAR EL INTERIOR DEL COMPUTADORCMO SE USA EL DEBUG PARA ESCRIBIR DATOS E INSTRUCCIONES EN MEMORIA? CMO ENCUENTRA LA UC EN MEMORIA LA PRIMER INSTRUCCIN Y LAS SIGUIENTES DE UN PROGRAMA A EJECUTAR, MEDIANTE EL REGISTRO IP ?

3335OUIN SE ENCARGA DE DAR LA DIRECCIN DE LA PRIMER INSTRUCCIN DE CADA PROGRAMA AEJECUTAR J>-) CMO SE CAMBIA MEDIANTE EL DEBUG LA DIRECCIN DE INSTRUCCIN QUE INDICA EL IP ?366CMO PUEDE VISUALIZARSE MEDIANTE EL DEBUG LA FORMA EN QUE SE VAN PROCESANDO4os-OA-T^s^AL-&JEGLLTARSE LAS INSTRUCCIONES EN UNA PC ?36 1V* CMO ORDENAR QUE LOS CDIGOS DE MQUINA DEL PROCESO ANTERIOR SEAN EJECUTADOSQUNA TRAS OTRO AUTOMTICAMENTE, CONFORME SUCEDE REALMENTE ?38 ^cPAPEL DE LA UC Y DE LOS MHZ DEL RELOJ EN LA EJECUCIN DE LAS INSTRUCCIONES 39CMO SE EJECUTAN LAS INSTRUCCIONES II A 15 MEDIANTE MOVIMIENTOS SIMPLES ENTREMEMORIA Y REGISTROS DE LA UCP ORDENADOS POR LA UC ?39DQU SECUENCIA DE PASOS ORDENA LA UC PARA EJECUTAR CADA INSTRUCCIN ?43^CMO HACE LA UC PARA NO EQUIVOCARSE CON TANTOS NMEROS CONTENIDOS EN MEMORIA;QUE PUEDEN SER INSTRUCCIONES, DATOS O DIRECCIONES ?43L^QU ANALOGA DIDCTICA PUEDE ESTABLECERSE PARA VISUALIZAR LA ACTIVIDAD BSICAJ:DE ORGANIZAR MOVIMIENTOS Y OPERACIONES QUE REALIZA LA UC ?44QU RELACIN EXISTE ENTRE LOS MOVIMIENTOS QUE OCURREN DURANTE LA EJECUCINDE UNA INSTRUCCIN Y EL RELOJ DE SINCRONISMO DEL PROCESADOR ?45DE QU FORMA LA UC PASA DE UN MOVIMIENTO A OTRO ?47PiCDNDE RESIDE LA "INTELIGENCIA" DE LA UC, PARA "SABER" LOS MOVIMIENTOS A REALIZAR ?48(:UAL: OPERACIONES LGICAS Y DE COMPARACIN E INDICADORES QUE GENERA49lcCULES SON LAS OPERACIONES LGICAS QUE REALIZA LA UAL, Y CMO SE COMPARANLZ.NMEROS EN UN COMPUTADOR POR MEDIO DE ELLA ? '49pQU SON LOS INDICADORES ("FLAGS") DE RESULTADO GENERADOS POR LA UALY CONTENIDOS EN EL REGISTRO DE ESTADO DE LA UCP ?50EN QU SE DIFERENCIAN LA UAL Y EL COPROCESADOR MATEMTICO QUE OPERA]CON NMEROS REALES REPRESENTADOS EN PUNTO "PUNTO FLOTANTE" ?51(QU SON LOS MIPS Y LAS MFLOPS ?52(UTILIDAD DE LAS INSTRUCCIONES DE SALTO53CMO OPERAN LAS INSTRUCCIONES DE SALTO CONDICIONADO Y POR QU SON ESENCIALES ?53ARENTRADAS Y SALIDAS: SEALES, PERIFRICOS, BUSES Y PORTS EN EL CAMINO QUES]REALIZAN LOS DATOS58!CMO VIAJAN LOS BITS DE UN LUGAR A OTRO EN UN COMPUTADOR ?58QU DIFERENCIA EXISTE ENTRE TRANSMISIN DE BITS EN PARALELO Y EN SERIE ?60,QU ES INFORMACIN DIGITAL, Y QU SIGNIFICA COMPUTADOR "DIGITAL" ?61QU IMPLICA UNA CONVERSIN ANALGICA-DIGITAL (A/D) Y EN QU PERIFRICOS TIENE LUGAR ?65oQU IMPLICA UNA CONVERSIN DIGITAL-ANALGICA (D/A) Y QU PERIFRICOS LA LLEVAN A CABO? 66,QU HARDWARE ENCONTRAMOS PARA LA ENTRADA/SALIDA DE DATOS, DESDE LOS PERIFRICOSPHASTA LA PORCIN CENTRAL DE UN COMPUTADOR ?67^DE QU FORMA INTERVIENEN LOS CUATRO SUBSISTEMAS CITADOS EN OPERACIONES DE E/N UNA PC? 68QU ES UN PORT? ,.76CPOR QU OPERAN COMO "BUFFERS" CIERTAS ZONAS DE MEMORIA, LOS PORTS DE UNA INTERFAZ,. LA MEMORIA CACH Y OTRAS MEMORIAS ?766QU SON LAS DIRECCIONES DE LOS PORTS DE UNA INTERFAZ, Y CMO SE VINCULA STA(CON LA PORCIN CENTRAL A TRAVS DEL BUS AL CUAL SE CONECTA?78cCMO SE ESCRIBE O LEE DESDE UN MICROPROCESADOR 80X86 UN REGISTRO PORT.,MEDIANTE LAS INSTRUCCIONES IN Y OUT ?79QU SE DENOMINA "PORT SERIE" Y "PORT PARALELO" ?8 ]ECUL ES LA ESTRUCTURA INTERNA DE UNA INTERFAZ "PORT PARALELO", Y QU PROTOCOLOCUMPLE UNA IMPRESORA CONECTADA A ELLA ?82CUL ES LA ESTRUCTURA INTERNA DE UNA INTERFAZ "PORT SERIE", Y CMO EST PREPARADAPARA CONECTAR UN MDEM USANDO EL PROTOCOLO RS232C ?84sCULES SON LAS CARACTERSTICAS DE OTRAS INTERFACES, COMO LA DE UNIDAD DE DISQUETE.cLA DE UNIDAD DE DISCO RGIDO Y LA DE VIDEO ?88EN QU SE DIFERENCIA UNA E/S POR ACCESO INDIRECTO A MEMORIA (AIM),LAS INTERRUPCIONES POR HARDWARE: "TIMBRES" PARA LLAMAR A SUBRUTINAS91QUE SON LAS INTERRUPCIONES ?91/CMO OPERA UNA INTERRUPCIN POR HARDWARE EXTERNA ? 92 PCOMO OPERAN LAS INTERRUPCIONES POR SOFTWARE ?93CMO SE RETORNA AL PROGRAMA INTERRUMPIDO ?94IDE UNA E/S POR ACCESO DIRECTO A MEMORIA (ADM) ?88QU ES LA ZONA DE MEMORIA PRINCIPAL DENOMINADA "PILA" ?

9436383939 4343 44

-MEMORIA CACHE Y JERARQUA DE MEMORIAS EN UN COMPUTADORQU ES UNA MEMORIA CACH ?CMO ES LA ESTRUCTURA DE UN CACHE DE CORRESPONDENCIA DIRECTA ? QU ES LA NENIRUA CACH DE CORRESPONDENCIA DIRECTA POR CONJUNTOS? QU COMPRENDE LA JERARQUA DE MEMORIAS DE UN COMPUTADOR ?DETALLES DE LOS BUSESQUE CARACTERSTICAS TIENEN LOS BUSES COMPARTIDOS ? QU ES UNA JERARQUA DE BUSES ? CMO FUNCIONA EL BUS PCI ? QU ES EL CONEXIONADO SCSI ? CMO FUNCONA EL BUS USB ?

969697101102103 103 104 105 107 10945 47 48495051 52 53 5358 58 60 61 6567 687676 7879 81

PARA ENTENDER EL PENTIUM Y LOS ACTUALES PROCESADORES RISC114QU ES EL "MODELO DE VON NEUMANN", Y EN QU MEDIDA LOS PROCESADORES ACTUALESLO CUMPLEN?114QU MEJORA EN LA VELOCIDAD PRESENTAN LOS PROCESADORES ACTUALES CON "PIPE LINE"?114QU ES EL MULTIPROCESAMIENTO O PROCESAMIENTO EN PARLELO116CMO FUNCIONA BSICAMENTE UN MICROPROCESADOR 486 ?116QU TIENE EN COMN Y CMO FUNCIONA EL PENTIUM EN RELACIN CON LA OPERACINDE UN 486?'120Qu caractersticas tienen los procesadores CISC ?123EN QU SE DIFERENCIAN LOS PROCESADORES RISC DE LOS CISC?\124CMO FUNCIONA LA FAMILIA P6 (PENTIUM PRO, II, III, Y EL CELERON ?125CMO FUNCIONA EL XEON Y PENTIUM 4 CON HYPER THREADING ?130APNDICE 1133REPRESENTACIN DE DATOS EN UN COMPUTADOR OPERACIONES CON BINARIOS133SISTEMAS NUMRICOS POSICIN ALES133QU ES UN SISTEMA NUMRICO POSICIONAL ?133CULES SON LAS CARACTERSTICAS DE LOS SISTEMAS NUMRICOS POSICIONALES?134SISTEMAS NUMRICOS OCTAL, BINARIO Y HEXADECIMAL135QU SMBOLOS SE EMPLEAN EN OTRAS BASES NUMRICAS ?135SISTEMA BINARIO137SISTEMA HEXADECIMAL138CONVERSIONES ENTRE BASES NUMRICAS140CONVERSIN DE UNA BASE CUALQUIERA A BASE DIEZ140CONVERSIN DE BASE DIEZ A OTRA BASE CUALQUIERA POR EL MTODO DE LAS PESAS141CMO SE PASA DIRECTAMENTE DE BINARIO A HEXA, Y VICEVERSA ?142OPERACIONES ARITMTICAS CON NMEROS BINARIOS NATURALES143DE QU FORMA LA UAL SUMA DOS NMEROS ?143CMO EFECTA LA UAL UNA ARESTA SIN PEDIR PRESTADO, MEDIANTE UNA SUMA ?144CMO SE MULTIPLICAN Y DIVIDEN MANUALMENTE NMEROS BINARIOS NATURALES ?144CODIFICACIN ASCII DE CARACTERES ALFANUMRICOS Y UNICODE145QU ES EL CDIGO ASCII ?145QU ES EL UNICODE146EJERCICIO SISTEMATIZADOR DE CDIGOS Y EJERCICIO INTEGRADOR DE CONOCIMIENTOS148APNDICE 2 SISTEMAS OPERATIVOS CLASIFICACIN DEL SOFTWARE

153 153 153APNDICE 3:HISTORIA DE LA COMPUTACIN

157APNDICE 4MODELO CIRCUITAL DIDCTICO DE UCPCMO SE EJECUTA EL PROGRAMA CONSTITUIDO POR II, 12,13 ,14 EN EL MODELO DE LA FIGURA A.4.6 Y SIGUIENTES

173 176COMPLEMENTO COBIXICACO^y-OPERAGN DE ENTEROS Y REALES. FLAGS DE LA UALRESTA DE NMEROS NATURALES SIN PEDIR PRESTADO. MEDIANTE LA SUMA DELMINUENDO MAS EL COMPLEMENTO DEL SUSTRAENDOREPRESENTACIN DE ENTEROS USANDO DGITO DE SIGNO Y EL COMPLEMENTODE SU MAGNITUDCOMPLEMENTO AL MDULO O A LA BASENMEROS BINARIOS CON BIT DE SIGNO CORRESPONDIENTES A "INTEGERS"CALCULO DEL COMPLEMENTO AL MDULO A TRAVS DEL COMPLEMENTO ALMODULO MENOS UNOPROPAGACIN DE SIGNOSUMA DE E-NTEROS REPRESENTADOS CON DGITO O BIT DE SIGNOSUMA DE ENTEROS REPRESENTADOS POR BINARIOS NATURALES CONBIT DE SIGNORESTA DE BINARIOS ENTEROS CON BIT DE SIGNOEJERCICIOS RELACIONADOS CON ENTEROSINDICADORES DE ESTADO SZVCEJERCICIOS SOBRE FLAGSNMEROS BINARIOS FRACCIONARIOSREPRESENTACIN EN PUNTO FLOTANTE DE NMEROS REALESCODIFICACIN Y SUMA EN BCD NATURALDECIMAL EMPAQUETADO (PACKED)EJERCICIO INTEGRADOR DE CONOCIMIENTOS PARA INTEGERSEJERCICIO INTEGRADOR DE CONOCIMIENTOS PARA REALESNDICE ALFATEMATICO DE LA UNIDAD 1 BIBLIOGRAFA

185 CUI-ICU 1-3 CU 1-5 CU1-3CU1-6 CU 1-8 CU 1-9 CU1-10 CU1-12 CU1-15 CU1-17 CU 1-23 CU 1-25 CU1-27 CU 1-31 CU1-32 CU1-33 CU 1-35230232

Qut queco1-1

SMBOLOS, DATOS, PROCESOS DE DATOS E INFORMACINCU 1-6 CU 1-8 CU 1-9 3U1-10

Qu significa que un computador realiza automticamente procesos de datos que constan de entrada, memorizacin, procesamiento y salida?:ui-23 :ui-25 :ui-27 :ui-3i :ui-32 :ui-33Ul-35 230232

Se debe tener siempre presente que en esencia un computador lleva a cabo 'procesos de datos, con la particularidad que puede operar velozmente gran cantidad de datos en forma automtica, sin intervencin humana.Como primer paso para ubicarse en el funcionamiento de un computador es importante tener en claro los cuatro subprocesos principales que realiza (Entrada, Memorizacin, Procesamiento y Salida), y ver que nos son familiares, por estar presentes en cualquier proceso de datos mental, manual, o con calculadora- que hacemos sin computador.En los prrafos siguientes se pasa revista a procesos semejantes a los que ocurren dentro de un sistema de computacin, a la par que se tratan, conceptos tales como smbolos, datos, e informacin asociada a decisin.Para no sucumbir, los seres vivientes debemos permanentemente llevar a cabo anticipaciones previsoras que aseguren una buena adaptacin al mundo exterior. Por ejemplo, cuando sin darnos cuenta exponemos alguna parte de nuestro cuerpo a una fuente de calor excesivo, la retiramos rpidamente, sin pensar. En "cmara lenta" podemos descomponer el proceso ocurrido en cuatro subprocesos:1. Las clulas de nuestra piel de la zona expuesta han convertido la accin calorfica intensaproveniente del exterior en seales elctricas que van hacia la mdula, sin pasar por el cerebro.As se ha internalizado dicha accin, o sea que se dio entrada a nuestro sistema de algo exteriorrepresentado por seales internas que podemos operar.2. Clulas de la mdula memorizan informaciones anteriores vitales -va cdigo gentico- acercade seales elctricas que son "normales", por no superar su intensidad cierto umbral ancestralde "peligrosidad". Las seales que de modo continuo llegan del exterior tambin son retenidasmuy brevemente.3. Este tiempo es el necesario para que mediante otras funciones de la mdula se puedadeterminar, cotejar, comparar -como quiera llamarse- si no se super dicho umbral. En esenciase han procesado seales elctricas, con un cierto resultado.4. Si del cotejo llevado a cabo resulta que la seal recibida supera ese umbral, cdigos genticosalmacenados desatan reacciones, a partir de seales elctricas enviadas a msculos del cuerpopara alejar la zona en peligro de la fuente calorfica externa. Esta vez se han convertido sealesinternas en acciones (movimientos) hacia el mundo exterior. O sea que nuestro organismo diosalida, exterioriz, el resultado del cotejo efectuado.En un nivel de anticipacin ms abstracto, cerebral, no es necesario por ejemplo, que una fuente calorfica peligrosa est cerca nuestro para alejarnos de ella. Basta que alguien nos comunique de la existencia de un incendio prximo para que, de ser necesario, tomemos la decisin de alejarnos del peligro. El mensaje que recibimos consiste en seales audibles, que simbolizan, representan, el incendio, sin necesidad que el mismo est presente frente nuestro. Estas seales audibles, merced al rgano del odo o la vista, se convierten en seales elctricas que permiten almacenar ese dato simblicamente en el cerebro. De igual forma, cuando pensamos en relacin con cualquier tema, mentalmente realizamos operaciones con imgenes y palabras que son smbolos que representan sucesos, objetos, personas,1-2etc., que no necesitan estar presentes necesariamente.Ms concretamente, realizamos operaciones sobre representaciones simblicas de propiedades cualidades conocidas de entes o sucesos.Estas representaciones simblicas son datos que seleccionamos, reunimos, y sobre los cuales operamos. La operatoria realizada con smbolos que seleccionamos y reunimos, da por resultado informacin, qut tambin son smbolos de propiedades de entes y sucesos, que antes desconocamos. Si bien datos e infor-macin pueden ser sinnimos en el lenguaje comn, en Informtica son "input"-"output" de un procesoDatos

Operaciones sobre datos

Informacin

DecisinLa informacin sirve para tomar decisiones, con vistas a un accionar concreto (presente o futuro), y se obtiene realizando operaciones sobre datos. Su elaboracin permite tomar conocimiento de algn aspecto de la realidad desconocido, lo cual disminuye la ^certidumbre existente antes de tomar una decisin.

FiguraPor ejemplo, supongamos que una persona tiene que comprar un mismo artculo en tres comercios diferentes. Antes de concretar su compra, en su mente podr tener las siguientes alternativas:Si en el comercio A el precio es ms barato, entonces compro en A S en el comercio B el precio es ms barato, entonces compro en B Si en el comercio C el precio es ms barato, entonces compro en CDicha persona por los medios apropiados obtendr el valor de venta de dicho artculo en cada comercio (datos), como ser en el A: $20; en el B: $19, y en el C: $ 21. Luego realizar operaciones de comparacin entre los datos a fin de determinar cul es el precio ms bajo. Entonces habr elaborado la informacin que le interesaba, supuestamente constituida por la representacin simblica "en B venden ms barato", la cual le permitir tomar la decisin de comprar en el comercio B entre las tres alternativas posibles. Obviamente, de no haber elaborado informacin, y si compra sin ms en A en C, la decisin hubiese sido mal tomada, si el objetivo es el menor costo.Los pasos necesarios para obtener informacin (resultado) a partir de datos (materia prima) constituyen un proceso de datos, o tratamiento de datos.La informacin producida en un proceso de datos puede servir como dato en otro proceso.A continuacin determinaremos cuatro subprocesos en que puede dividirse un proceso de datos mental entre los innumerables que realizamos con el fin de obtener informacin, para poder conducirnos, para determinar por medio de representaciones simblicas qu hacer en cada situacin cotidiana. Supongamos que alguien debe ir al cine a cierta hora, y debe decidir, si alcanza a baarse o no; cmo ha de vestirse acorde al clima reinante, y a qu hora debe salir para llegar a horario. En este momento podra tener expectativas tales como "si tengo tiempo me gustara baarme", "si el tiempo est lindo me gustara usar tal vestimenta", etc.El procesamiento de datos que llevar a cabo puede descomponerse en una serie de acciones que ocurrirn en su interior, que estn en relacin con los bloques referenciados de a) hasta e) en la siguiente figura 1.1 La persona en cuestin podra proceder as:a) Entrada: primero incorporara selectivamente los datos pertinentes necesarios, usandotpicamente la vista y el odo para sensarlos del exterior.b) Memorizacin: los registrara en su mente, reunidos: Ir al cine Hora de inicio de la funcin: 20 hs (leda en un peridico)

Hora actual: 19 hs (leda en un reloj)

Estado y pronstico del tiempo (de la radio o televisin)

Ropa de vestir para ese tiempo (dato en su memoria) Tiempo que tarda en baarse: 15' (dato en su memoria) Tiempo de viaje normal: 15' (dato en su memoria)

1-3

Smbolos escritosCerebro: zona de memoriaCerebro: zona de creacinpropiedades2s operamos, marin, latos e infor. in procesoBLOQUE*" CON MEMORIABLOQUE SENSOR-CONVERSORfuturo), y se' Figura 1.1gn aspectoisin.i

BLOQUECO^iVERSQf4^]5?m^ e m^5 ^\ ACCIONADOR {media hora hasta ea\\r) comercios ivas:lo en cada ) realizar >. Entonces esentacin srar en el acin, y si >r costo.ia prima)os mentaliducirnos, iana.; cmo ha momento lindo me iocurrirn ral.l !usando

Los valores as hallados a partir de los datos primarios conocidos sern nuevos datos elaborados (informacin) Al realizar los clculos anteriores tambin se establecieron relaciones de orden, al suponer qu se hace primero y qu despus. A continuacin relacionara el pronstico del tiempo con la ropa mas adecuada y lista para usar en esas condiciones climticas, y establecera relaciones de equivalencia, entre vestimentas que tienen propiedades de abrigo similares. Eso tambin supone que debi realizar una clasificacin. Luego podra usar su memoria, para extraer el dato estimativo de cunto tiempo le lleva vestirse de una manera o de otra, etc.d) Conforme al resultado del procesamiento de datos efectuado en el paso anterior, poseer la siguienteinformacin, que en forma escrita podra expresarse as: "Dispongo de ms de media hora hasta salir,tiempo suficiente para baarme rpido y vestirme con tal o tales prendas que estn listas para usar. Comomximo debo salir a las 19.45 hs". Ha resultado as un nuevo conjunto de representacionessimblicas significativas, obtenidas a partir de aquellas correspondientes a los datos primarios.Se han obtenido smbolos a partir de otros smbolos.e) El resultado alcanzado (informacin "interna") puede ser exteriorizado como informacin externa, ya seaen forma verbal o escrita, si el cerebro ordena a los msculos relacionados con el habla que acten, o alos msculos de la mano que escriban, respectivamente. As exteriorizada, esta informacin por ejemplopodra comunicarse a otra persona, para que lo ayude a decidir correctamente. Si queda en la memoria dela persona que la elabor, ella tomar luego las decisiones pertinentes.Como punto de partida para comprender el funcionamiento de un computador, describiremos un proceso de datos manual auxiliado por calculadora. Este proceso, tambin puede desglosarse en cuatro subprocesos: entrada, memorizacin, procesamiento y salida, esquematizados en la figura 1.2Antes de la aparicin de computadoras, una supuesta oficina de clculos de ingeniera funcionaba de la siguiente forma. Una persona idnea en el manejo de una calculadora comn, se dedicaba a realizar operaciones con sta. Calculistas programaban la serie de operaciones a realizar por el "idneo" con la calculadora, y otra persona "auxiliar" las escriba ordenadamente en una planilla con renglones numerados, y tambin en ella los datos a procesar. La ltima 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 I1? I2,...) escritas en renglones sucesivos, podra ser la siguiente:Registrar en el visor de la calculadora el nmero que est en el rengln 5000 (o sea el 1020) Sumarle al nmero del visor el nmero que est en el rengln 5000 (nuevamente el 1020) Restarle al nmero del visor el nmero que est en el rengln 5006 (o sea el 2040) Escribir el resultado que totaliza el visor en el rengln 5010 (o sea el 0000 ir al rengln 5010) Copiar en la planilla auxiliar el valor que indica el rengln 5010.V Es importante seguir en detalle esta secuencia de instrucciones, pues ms adelante se repitencomo instrucciones de mquina que se ejecutarn en una PC

1-4Figura 1.2

EJECUCIN DE INSTRUCCIONES DAR ENTRADA MEMORIZACIN Y CLCULOS

DAR SALIDA

Resultados (smbolos)

N-l.Ginzb

Qu iEl primer bloque del esquema de la figura 1.2 da cuenta de la entrada de datos e instrucciones a laplanilla, merced a la accin de la persona que program las operaciones a efectuar. El "idneo"leer en el orden dado cada instruccin, y digitar en la calculadora la tecla correspondiente a laoperacin que se ordena. Luego localizar en la planilla y leer el nmero que interviene en dichaoperacin, el cual ser introducido a la calculadora por medio de su teclado.La operacin ordenada se llevar a cabo al pulsar la tecla igual (=). Un resultado parcial o total queest en el visor de la calculadora podr registrarse (escribirse) en un rengln indicado de la planilla,cada vez que una instruccin (como I4) as lo ordene.Con el cuarto bloque conversor se representa la accin del "idneo" de dar salida hacia otra planilla auxiliaralgn resultado o dato existente en la planilla principal, cuando as lo prescribe una instruccin (como I5)Para los valores numricos supuestos en los renglones, la operacin realizada fue 1020 + 1020 - 2040 = 0 habindose asignado el resultado 0 al rengln 5010. Si llamamos R al resultado la secuencia de instrucciones anterior permite en general hallar el valor de la variable R en la expresin P + P - Q = R Obsrvese que una calculadora comn tiene memoria interna, utilizable con la tecla M+ (que ordena sumar al nmero memorizado el que est en el visor, y el resultado raemorizario en reemplazo de dicho primer nmero). Asimismo, el valor memorizado puede verse en el visor, pulsando MR. Pero se trata de una memoria para un solo nmero. Con ella slo se podran llevar a cabo las instrucciones lt e h de la siguiente forma. Suponiendo que en el rengln 5000 se haya escrito (memorizado) el nmero 1020, para hacer lo mismo en la calculadora, primero habra que ripear dicho nmero (1020) de forma que aparezca en el visor. Luego para memorizarlo se pulsara MC (puesta a cero dla memoria) seguido de M+. Cuando se quiera ejecutar Ii se pulsara MR, con lo cual necesariamente 1020 pasar de la memoria al visor (si por algn motivo 1020 fue reemplazado por otro nmero). Para ejecutar I2 se debe pulsar la tecla + seguida de MR, con lo cual al 1020, se le vuelve a sumar 1020 como en esencia ordena I>

Instrucc Cules son las operaciones primaras en los procesos de datos ?Existen 8 acciones primarias ("primitivas") que pueden encontrarse en distintos procesos de datos: Entrar datos al sistema encargado de procesarlos Asignar un valor como perteneciente a un determinado nombre de datos o variables

Comparar dos valores de datos para conocer la relacin (< = >) existente entre ellos Archivar: almacenar datos durante un tiempo en algn medio Recuperar: leer, datos archivados en algn medio Calcular: generar, un nuevo valor aplicando una funcin matemtica o textual Borrar datos archivados Dar salida: exteriorizar, obtener del sistema datos resultantes.

M.Ginzburg

1-5

_BASS_PREVIAS PARA EL ESTUDIO DEL INTERIOR DE UN COMPUTADORados )os)aciones a la idneo" iente a la ie en dicha1 o total que 3 la planilla,'nula auxiliar 'como Is)0 - 2040 = 0 icuencia de fP-Q=R que ordena tnplazo de MR.succiones Ix nero 1020, forma que iido de M+. memoria al pulsar lalatos ?

Qu semejanzas tiene un computador con una fbrica que produce a pedido ?UNIDAD TRANSFORMADORPRODUCTIVAOFICINA DE C0NTR0UNIDAD

DEPOSITO CENTRALRECEPCIN

Figura 1.3La Unidad Productiva (UP) de la fbrica de la fg. 1.3 produce piezas de metal a pedido (en este caso tornillos). Para ello se deben proveer (a travs de Recepcin) la materia prima y las instrucciones para producir cada pieza, que irn a bbxes numerados del Depsito (D). Cada instruccin ser pedida al depsito y luego cumplimentada por la Oficina de Control (OC), para lo cual debe llegar desde su box a la Mesa de Instrucciones (MI). La materia prima (cilindro en este caso) ir desde el box donde se halla hacia una estantera E, y de sta al torno automtico de la Unidad Transformadora (UT) comandada por la OC segn lo que ordena cada instruccin. La OC no puede ver qu hay en cada box. Las instrucciones siempre se ubican en boxes numerados consecutivamente desde el 30. Para localizar cada instruccin la OC tiene en una mesa un contador mecnico para localizar instrucciones (CLI), que siempre arranca de 30 con un pulsador para avanzarlo. Funcionamiento: una vez que instrucciones y materia prima estn en D suena el timbre, con lo cual la OC pide la instruccin (Ii) que est en el box cuyo nmero (30) es el que aparece en el CLI, siendo que la misma ir hacia la MI. Luego desde la OC se pulsa el botn del CLI para que su nmero suba uno (31), a fin de que permita localizar12cuando suene otra vez el timbre. Cuando I, llega a la MI en la OC se lee que ordena "Pasar la pieza que est en elbox 44 (cilindro en este caso) hacia E", por lo que la OC impartir directivas para que se cumpla dicha orden.Cuando ello ocurra, el cilindro que est en 44 habr llegado a E, con lo cual sonar c 1 timbre. Entonces la OC pedirla instruccin (I2) que est en el box 31, indicado por el CLI, y pulsar su botn para que indique 32.Cuando I2 llega a MI para ser leda por la OC ordena "Pasar a la UT la pieza que est en E (el cilindro), darle forma de cono y dejarlo en E". La OC ordenar los movimientos y a la UT la operacin a realizar para ejecutar la orden, luego de lo cual sonar el timbre. Entonces la OC pedir la instruccin (I3) que est en el box 32, indicado por el CLI, y pulsar su botn para que indique 33.13ordena "Pasar a la UT la pieza que est en E (en este caso el cono), darle forma de tomillo y dejarlo en E". La OCllevar a cabo la orden, sonar el timbre, pedir I4 y el CLI pasar a 34.14 ordena "Pasar lo que est en E al box 21".1-6

M.GinzbuiI M.GinzbursLa OC cumplimentar I4, sonar el timbre, pedir I5 y el CLI pasar a 35.15 ordena "Pasar lo que est en el box 2\ a Expedicin". En Expedicin el tornillo ser puesto en una caja para ser enviado al exterior.Con vistas al funcionamiento de un computador el proceso descripto servir para sistematizar y definir las funciones de los subsistemas tratados, existiendo las siguientes correspondencias en relacin con las figuras 1.6 y 1.7:UP = UCP (Unidad Central de Proceso o Procesador)OC = UC (Unidad de Control)UT = UAL (Unidad Aritmtico-Lgica)MI = RI (Registro de Instrucciones)CLI = IP (Puntero de Instrucciones) E = AX (Registro Acumulador AX) Depsito (D) = MemoriaEl Depsito (Memoria) sirve para almacenar instrucciones y materia prima (datos) y piezas terminadas(resultados). Est dividido en boxes (celdas) con nmeros (direcciones) para localizarlos.;La UP (UCP) opera conforme a una secuencia de instrucciones que la OC (UC) obtiene, una por una, del Depsito (Memoria) para luego ejecutar cada una bajo su control. Una instruccin ordena un movimiento, o una operacin y movimientos relacionados con ella. La operacin la realiza la UT (UAL) que recibe materia prima (datos numricos) y, produce productos (resultados numricos) que antes no existan, segn la operacin que ordena la OC (UC). Cules son las "reglas de juego "para que el proceso siga correctamente ?Dado que la OC (UC) no sabe dnde est en el Depsito (Memoria) cada instruccin, como tampoco dnde est la materia prima (datos) a operar, se deben cumplir las siguientes reglas para que el proceso siga coirectamente:-Antes de iniciar el procesamiento al Depsito (Memoria) deben entrar las instrucciones y la materia prima (datos) a procesar.Esto como se vio no afecta el proceso a realizar, pues con el CLI se localiza cada instruccin, y sta indica dnde est lo que operar Inicializar CLI (IP) con el nmero de box (direccin) que puede ser cualquiera, donde se halla la primera instruccin. Ubicar las instrucciones de una secuencia en boxes (celdas) consecutivos, siendo que cada una se localiza por su nmero debox dado por el CLI (IP), y luego pasa a MI (RI) donde es leda (decodificad) por la OC (UC). Si por ej. CLI pasa de 33 a 34 seasume que en 34 est la instruccin que sigue. De no ser as, se pierde el hilo del proceso. Construir cada instruccin de modo que provea el nmero (direccin) del box (celda) donde encontrar la materia prima (datonumrico) que se ordena operar, y que indique implcita y explcitamente el lugar a dnde irn resultados.I

Cada instruccin: 1) ordena una operacin; 2) permite localizar aquello que se va a operar; 3) indica donde va el resultado; 4) a partir de su loealizaein permite que se encuentre la siguiente instruccin a ejecutar, mediante el CLI (IP).

8_42

000

10.00

2001

bi

40-10

5010

60i1

70;i1

8-t-0 0

9100

A1oi

BX0i

QJi0

D116

E1i1

F111

En la UP (UCP) existe una tercer zona para almacenamiento temporario donde estn E (AX), MI (RI) y CLI (IP). La UP (UCP) y el Depsito (Memoria) -de una sola abertura cada una- se comunican por un pasillo (lneas d datos de un bus) por el que pasa cada instruccin seguida (o no) de materia prima (datos) o resultados. Este pasillo (bus) a su vez se conecta con pasillos para la comunicacin entre el Depsito y la Recepcin o la Expedicin (perifricos).Cuando en la fbrica la materia prima pasa de un box hacia E, deja de estar en el box, pero con los datos (smbolos) es distinto. En el acto de leer, una copia de lo que vemos pasa a nuestra retina sin que desaparezcan del papel los smbolos ledos. En los procesos de datos,, incluidos los que hace un computador, siempre que se lee informacin almacenada, una copia de la misma pasa al lugar de destino, quedando sin modificar la informacin leda. En un computador dicha copia destruye la informacin existente en el destino.En definitiva, continuamente s repite ei siguiente ciclo: con el CLI (IP) se localiza Ja instruccin a ejecutar que va a MI (RI), y luego CLI (P) toma el valor para localizar la instruccin siguiente una vez que se ejecute aque lleg a MI (RI). ,Esta a. su-vez- permite localizar fa.materia prima (dato) a operar segn la operacin ordenada, cuyo resultada ir a] destno -indicado n dicha instruccin.-Luego otra vez con el CLI (IP) se-localiza la instruccin a ejecutar qu&va a MI (Rf), etc

Cul e elctrictQu es lo bsico que se necesita conocer acerca de bits, bytes y de la equivalencia entre binario y hexa para operar con el programa debug ?El Apndice 1 trata en detalle qu es un sistema numrico, el sistema binario, el hexadecimal, la suma y resta binarias y la codificacin ASCII de caracteres tipeados. En lo que sigue se dan conceptos bsicos para entender el sistema binario y poder operar en hexa para experimentar con el programa Debug (Seccin 1.6).100 10 1En el sistema decimal 3 0 9 simboliza que en un conjunto con ese nmero de elementos se formaron 3 grupos de 100 (3x100), y que con los 309 - 300 = 9 elementos restantes no se pudo formar ningn (0) grupo de 10 (0x10), pero s 9 grupos de 1 (9x1). Osea: 3x100 + 0x10 + 9x1 =309.Los grupos son de 1, 10, 100, 1000,... elementos. Cada uno es 10 veces el anterior, siendo 10 la cantidad de smbolos usados (0 al 9) para simbolizar cualquier nmero. Pueden formarse hasta 9 grupos de cada tipo1-7

En general, en cada sistema numrico posicional, partiendo de grupos de un elemento, cada tipo de grupo es tantas veces mayor que el anterior como la cantidad de smbolos empleada en un sistema (10 veces en decimal, dos veces en binario) ~CaacTssiemuTiujnTco es una manera, distinta de dividir en grupos de ese sistema al conjunto de elementos cuyo nmero se quiere simbolizar. Se pueden formar hasta k grupos de cada tipo, siendo k el smbolo mayor del sistema: hasta 9 en decimal; slo hasta un grupo de cada tipo, o ninguno, en binario, y hasta 15 = F en hexadeciamal." lasfuncin^n.i\rol)^acciones) 1 = Memorias terminadas, del Depsito-' a operacin y! ; numricos) y;enel box2j0'00 000= 0x8+0x4+0x2+0x1

1-oi1= 0x84-0x4+ 0x2+lxl

bi1o:v2= 0x8+0x4+1x2 + 0x1

0^013= 0x8+0x4+1x2+lxl

4-01ao/4= 0x8+1x4+ 0x2 +0x1

5-o101 v5= 0x8+1x4+0x2+lxl

|;61'1Q;6= 0x8+1x4+1x2 +0x1

t11X7= 0x8+1x4+1x2+lxl

Ai0ao -8= 1x8+0x4 + 0x2+0x1

i0019= 1x8+0x4+0x2+lxl

ki0i10= 1x8+0x4+1x2+0x1

::\0ii11= 1x8+0x4+1x2+lxl

'&ii00 "registro dedenominado cual permite r.2"registro deutaes pueden trucciones de tas veces unas indicacio-'arezca en el i sustraendo. 1 resultado de as o no el estado citado,jante.'de segmento de 5 simplicidad, se nen la memoria.

Es costumbre representar las celdas de una memoria, o una porcin de ella, mediante un conjunto de casilleros verticales formando una "escalera", siendo sus direcciones nmeros binarios consecutivos Estos nmeros binarios se escriben en papel o en pantalla al lado de cada celda, en su equivalente hexadecimal, como muestra la figura 1.8, a fin de no tener que visualizar largas cadenas de unos y ceros. En la figura 1.8 (pag 1-16) se supone que en las lneas del bus de direcciones (ampliado con la "lupa") se enva la direccin 0000 0010 0000 0111 = 0207H, en la cual est almacenado el byte 01100001 = 61HFigura 1.9Puede ayudar a entender mejor el concepto de byte almacenado, si se piensa que en cada casillero existen 8 llaves del tipo "si-no" (figura 1.9), como las comunes de pared para encender la luz, cada una para retener un uno ("si") o un cero ("no")1. Entonces, para una celda dada, como la que contiene 01100001, la combinacin de unos y ceros que estn formando las 8 llaves es la informacin contenida en dicha celda. La informacin que almacena cada grupo de 8 llaves puede referirse a instrucciones o datos.El modelo de las llaves tambin es til para tener presente que en cada posicin de MP siempre existe una cierta combinacin de unos y ceros, o sea no es posible que ella no contenga "nada", pues las 8 llaves siempre estn presentes, cada una en "si" o en "no".En cada direccin de memoria (celda) slo pueden leerse o escribirse 8 bits por vez, sin posibilidadde operar menor cantidad de bits, o un bit aislado.,,. .Puesto que la palabra "registro" en un significado general indica algn lugar donde datos se pueden registrar, guardar, podra designarse "registro" a cada celda de memoria, y decir que la MP est formada por un conjunto de registros independientes de 8 bits cada uno. Para evitar tener que aclarar "registro de la UCP" y "registro de MP", se entiende que "registro" a secas significa que e de la UCP, y las celdas de MP se denominan "posiciones".Cuando los datos o instrucciones ocupen ms de un byte, se almacenan fragmentados en varios bytes, los cuales deben estar contenidos en celdas consecutivas de memoria, o sea en direcciones sucesivas En una operacin de lectura o escritura de MP se puede acceder a varias celdas consecutivas. Un cierto nmero de stas (2,4, u 8 bytes) suele denominarse palabra ("word") de memoriaTecnolgicamente la MP reside en microcircuitos electrnicos, que pueden guardar un cierto nmero de bits, construidos sobre una fina capa de silicio {semiconductor), conformando un "chip" (figura 8.12) Este se protege con un encapsulado de plstico o cermica en forma de pastilla con "patas" metlicas para conexionado. Se requieren varias pastillas para lograr el total de memoria necesaria (figura 1.8, a la izquierda)1-16

lneas de control lneas de direccinLneas de datosLineas de datosDireccin seleccionada0110000V01011010 !Qiips de memoria principal DRAM en mdulos SIMM. Las celdas que ellos contienen estn esquematizadas en los casilleros de la figura de la derechaLneas de direccin contra 33 o se indica

1-23la primer direccin, el nmero de bytes, y si es lectura o escritura.J-a-SDRAMJSyjichronous DRAM) intercambia datos con el cach o la UCP al ritmo de una seal de reloj externa relacionada con los Mhz de la UCP, operando as con sus entradas y salidas en sincronismo con ella. As se evitan retardos y esperas. Si en un determinado ciclo del reloj es direccionada, luego de una cantidad fija de ciclos se obtiene el dato. Tambin existen las ESDRAM (Enhanced DRAM) con un cach SRAM incorporado Las DDR SDRAM (Double Data Rate SDRAM) realizan transacciones en ambos flancos del reloj. En los chips SDRAM figura un nmero dado en nseg. (por ej. 10 nseg.), que no se refiere al tiempo de acceso, sino a la duracin del periodo del reloj que se puede aplicar (o sea 100 Mhz para 10 nseg) Con un bus de 100 Mhz (100 millones ciclos/seg) que tenga 64 lneas, se pueden transferir 8 bytes en cada ciclo, o sea 64 Bytes/ciclo x 100 millones ciclos/seg = 64 Mbytes/seg.Entre las memorias estticas (SRAM) muy usadas en los caches externos (4 nseg < tace < 20 nseg) encontramos: La SRAM asincrnica (Async SRAM): en el momento que pone un dato en las lneas de datos, activa una lnea que va a la UCP. Es la ms lenta de las SRAM para cach externo.La SRAM sincrnica rpida (Sync burst SRAM), que funciona en sincronismo con los pulsos reloj de la UCP. As, cada dato ledo llega a la UCP en sincronismo con un pulso reloj.La "pipe lined burst" SRAM (PB SRAM): merced a sus registros de entrada y salida, una vez que ellos estn cargados, permiten que mientras est presente en las salidas el contenido de una celda direccionada, se realicen accesos a celdas de direcciones siguientes ("pipe line"). Para buses de hasta 133 MhzLos chips de memoria de vdeo VRAM (Video RAM) forman parte de la memoria principal, pero estn en la plaqueta de vdeo (fig 1.65). Guardan la informacin que sale por pantalla. Estos chips tienen casi el doble de patas que los de cualquier RAM. Esto se debe a que una VRAM tiene un bus de direcciones y datos para ser escritos por la UCP, y otro bus para direcciones y datos para ser ledos por los circuitos de la plaqueta de vdeo, que manejan el monitor. Por eso se dice que la VRAM es una memoria de "dos puertas", dado que simultneamente que es escrita por la UCP, puede ser leda por la plaqueta. Tambin existen EDOVRAM, semejantes a las subclases DRAM antes citadas. Otras RAM para las plaquetas de vdeo son: la WRAM (Window RAM) que acelera la generacin de grficos, dado que ha sido pensada para anticipar las operaciones tpicas que se realizan en vdeo; y la 3D RAM, especialmente creadas para manejar grficos en tres dimensiones. Contienen varias UAL en su interior.Los primeros chips ROM (hoy denominados ROM "fabricados a medida" se encargaban a los fabricantes de chips, indicndole el contenido que deba tener cada celda. Entonces, cuando se fabricaba cada chip, se grababan los contenidos que siempre tendra. La adquisicin de estos chips hoy slo se justifica econmicamente si se encargan decenas de miles de chips iguales.Alambres e conexin entre chip y patasChip e silicio con circuitosA diferencia, los chips PROM ("Programmable ROM") s fabrican en serie, pero el interior de cada chip est preparado para que -en una segunda etapa- quin utilice uno o miles de estos chips pueda escribir una sola vez los contenidos que tendrn sus celdas. Esto se realiza en un dispositivo electrnico que se vende para tal fin. Una vez as grabada ("programada"), una PROM no puede ser re-escrita. Las ROM de la clase RMM, para ser mayormente ledas, son reprogramables, o sea se pueden volver a escribir, siendo que la escritura es poco frecuente frente a Ventana circular \as operaciones corrientes de lectura.transparente Un tipo de RMM an 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 est cubierta por una etiqueta plateada autoadhesivaFigura 1.13Se puede cambiar el contenido de todas las celdas, re-escribiendo el nuevo contenidoque tendr cada una en un dispositivo semejante al usado para las PROM. Previo a ello se debe "borrar" ("erase") el contenido de todas las celdas1. Esto se logra haciendo pasar luz U.V por la ventana durante unos 15 minutos.Una EEPROM, o E2PROM ("Electrically Erasable ROM")2 no requiere el borrado de todas las celdas con luz U.V, dado que -como en una RAM- se puede seleccionar cada direccin que se quiere re-escribir., sin sacar la pastilla del circuito donde opera. Esto puede hacerse unas 10.000 veces.

i--iiSilodule), y en Jtherboard"

Obsrvese al respecto, que este proceso de borrado no es necesario en una RAM, pues una escritura borra un contenido anterior. A veces identificada con las denominadas EAROM ("Electrically Alterable ROM")1-24Las "flash" ROM son un tipo de EEPROM mejorado. En una fraccin de segundo se bor| . Qu elctricamente por bloques, y luego se re-escriben las celdas consecutivas de un bloque. Este tipo! ^ * ROM en el presente se usa en reemplazo de disqueteras en "notebooks", y como arte ROM^!Sf! memoria principal. As puede actualizarse el BIOS con un programa, sin sacar el chip de la mother. "^ Una FRAM (Ferroelectric RAM) es una memoria no voltil que incorpora hierro magnetizable en su chip IQu es capacidad de memoria, y qu son las unidades KB, MB, GB ?Capacidad (de almacenamiento) de una memoria es la cantidad total de bytes que puede guarda?; En el presente, lo comn es que en cada celda se guarde un byte de informacin. Entonces una memoij con N celdas tendr una capacidad de N bytes. Dicho nmero es siempre una potencia de dos: N = 2k El nmero de celdas (bytes) de una memoria se puede expresar en kilobytes (KB), Megabytes (MB Gigabytes (GB), Terabytes (TB)... segn sea.Un grupo de 2iU = 1024 celdas sucesivas, o sea 1024 Bytes se denomina 1 KByte (KB) por ser 102; un valor cercano a 1000 ("kilo"). Por lo tanto 1024 B = 1 KB

2= 1byte= 1byte

21= 2bytesbytes

22= 4bytes= 4bytes

23= 8bytes= 8bytes

24= 16bytes= 16bytes

25= '32bytes= 32bytes

26= 64bytes= 64bytes

27= 128bytes= 128bytes

28= 256bytes= 256bytes

29= 512bytes= 512bytes

210= 1024bytes= 1KB= 1024/1024

2n= 2048bytes= 2KB= 2048/1024

212= 4096bytes= 4KB= 4096/1024

213= S192bytes= 8KB= 8192/1024

214= 16384bytes= 16KB= 16384/1024

215= 32768bytes= 32KB= 32768/1024

216= 65536bytes= 64KB= 65536/1024

217= 131072bytes= 128KB= 131072/1024

218= 262144bytes= 256KB= 262144/1024

219= 524288bytes= 512KB= 524288/1024

= 1048576bytes= 1O24KB = 1MB= 1048576/1048

221= 2097152bytes= 2MB= 2097152/1048576

222= 4194394bytes= 4MB= 4194394/1048576

Figura 1L.141

Dado por ej. una memoria de 2 = 65536 salidas, el cociente 65536/1024 = 64 indica que en 6553 entran 64 grupos de 1024, o sea 64 grupos de 1 KB, por lo que se dice es una memoria de 64 KByteEl mltiplo siguiente a 1 KB es 1024 veces mayor: 1 MB = 1024 x 1 KB = 1024 x 1024 bytes: 1.048.576 bytes = 210 x 2W = 22, siendo 22 la potencia de dos ms cercana a 1.000.000 (1 "mega"). As, para una memoria de 222 = 4.194.394 celdas (bytes), el cociente 4.194.394/1.048.572 = 222/220: = 22 = 4 indica que en 4.194.394 entran 4 grupos de 1.048.576; se dice que es una memoria de 4 MB.As evitamos manejar nmeros como 4.194.394, redondeando en forma prctica hacia abajo. Siguen los mltiplos 1 GB = 1024 x 1MB = 1024xl.048.576 bytes (supera a mil millones = "giga") 1 TB = 1024 x 1GB (supera el milln de millones = "tera").Conforme a estas unidades, la siguiente tabla de potencias de dos es til para fijar y generaliza conceptos, siendo que la columna con las unidades en bytes, KB y MB es la que se acostumbra a usar:Las unidades elegidas permiten compara rpidamente el tamao de una memori respecto a otra, y hacen ms simple 1 expresin de la capacidad. As, en vez d decir "la memoria es df 1048576 bytes, y voy a pasar a una df 4194394 bytes, con lo cual la capacidac aumentar 4194394/1048576 = 4 veces", es ms prctico decir "la memoria es de 1 MB y voy a pasar a otra de 4 MB, con lo cual la capacidad aumentar k veces"- Se debe tener presente que para pasai de bytes a KB se debe dividir por 1024 Si un programa ocupe 8000 posiciones de memoria de 1 byte. No son 8 KB. Exactamente son: 8000/1024 = 7,8 KB. En una PC cuando se habla de una memoria de por ejemplo 8 MB de capacidad, se asume que se trata de la porcin DRAM de la misma, que est en los mdulos de tecnologa SIMM o DIMM

Qu1-25

se bo^jQu relacin existe entre la capacidad de una memoria, la cantidad de bits sus direcciones y el nmero de lneas de direccin ?ROVfmother. ! n su chip.i guardar, ia memor : N = 2^ :>ytes (MBor ser 10;.e en 6553 64 KByte24 bytes "mega"). = 222/22-;4MB.ajo.generaliza >ra a usar \ compara a memoii simple 1oria es d 'a uad capacida : 4 veces' emoria e de 4 ME nentar ara pasa ' por 102 >osicione 18KB.= 7,8KB i de un; MB d( ata de 1: ie est ei [ o " ^, En una memoria que guarda un byte por posicin, debe haber tantas posiciones como bytes tenga la memoria. Esto es, una memoria de 2 MB implica que se deben identificar 2097152 posiciones distintas asignndole un nmero binario distinto para cada una, que es su direccin. Se acostumbra a asignar el cero a la primer posicin, por lo cual la ltima sera en decimal el nmero 2097151. Una memoria tiene un nmero N de celdas que siempre es una -potencia de dos, por lo cual las mismas se localizan mediante direcciones que son nmeros binarios que van de 000....000 hasta 111....111/ siendo que a cada celda le corresponde uno de esos nmeros como direccin.Las potencias de dos de la figura 1.14 sirven para determinar cuntos bits deben tener los nmeros bina ros que son las direcciones de una memoria, de forma de adjudicar un nmero distinto a cada posicin. De la figura 1.4 resulta que con 4 bits se pueden formar 16 = 24 combinaciones binarios (o sea nmeros binarios) distintas. Inversamente, si se quiere formar 16 nmeros binarios distintos hacen falta 4 bits. Del mismo modo, por ejemplo, dado que 2 MB = 221, resulta que el exponente 22 indica la cantidad de bits que debe tener cada direccin, para formar 2.097.152 de direcciones distintas, como se necesita. Por ejemplo, una direccin de 21 bits sera 010010111100110101110 = 0979AE en hexa, segn lo visto. La primer direccin de memoria sera un nmero binario con 21 ceros = 0 0000 0000 0000 0000 0000 = 00000 en hexa; y la ltima otro de 21 unos = 111111111111111111111 = 1FFFFF en hexa.De la tabla resulta que al subir uno el exponente del nmero dos, se duplica la cantidad de memoria. O sea, si una memoria tiene el doble de capacidad que otra, los nmeros que forman las direcciones de la primera deben tener un bit ms que los nmeros que forman las direcciones de la segunda.Si se quiere operar mentalmente, se debe tener presente que 210 = 1 KB,y que 220 = 210x 210 = 1 KB x 1KB = 1024 x 1024 = 1 MB.A fin de calcular cuntos bits tienen las direcciones de una memoria de 8 MB, partiendo de que 1MB necesita 20, que 2 MB necesitan 21, que 4 MB necesitan 22, resulta que 8 MB necesitan 23 bits.Puesto que por cada lnea de direcciones de un bus transmite un bit, en principio deben utilizarseal menos tantas lneas de direccin como cantidad de bits tenga cada direccin.Qu es el bit de paridad en memoria principal, y para qu se emplea ?Supongamos que el contenido de una posicin de memoria leda es 01000001, pero que por un ruido (interferencia electromagntica) durante la operacin de lectura, la UCP recibe 01000011, o sea que el bit marcado se recibe invertido. Entonces la combinacin recibida ser otra, sin que se pueda notar el error. Como se verificar, ampliando la capacidad de una memoria deforma que cada posicin contenga un bit extra (o sea 9 bits), puede detectarse si se ha producido un 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 nmero par de unos (paridad par de unos). En el momento en que se escribe cualquier posicin de memoria un circuito calcula el valor (0 1) que debe tener dicho bit; y cuando se lee cualquier posicin, el mismo circuito verifica que los 9 bits ledos 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 combinacin 01000001 antes citada, dicho circuito le agregar un bit de valor 0 (en negrita): 0100000101. As el nuevo conjunto de 9 bit-almacenado presentar un nmero par de unos.De esta forma, si durante la lectura en lugar de leerse 010000010, se lee 010000110 por que el bit subrayado se invirti, se detectar un error, dado que estos 9 bits tendrn un nmero impar de unos, en lugar de ser par Por lo tanto, esta convencin -de igual paridad en la escritura y lectura- sirve para detectar si uno solo de los bits recibidos cambi de valor, que es la mayor'probabilidad de errores en una lectura de memoria. Si los bits errados son dos, la paridad par seguir, y no hay forma de detectar una combinacin mal recibida.Para todas las combinaciones de 8 bits a escribir que tengan un nmero par de unos, el bit de paridad ser 0, mientras que las que tengan un nmero impar de unos, dicho bit valdr 1. Por ejemplo 01101101 se almacenar en memoria como 011011011. ECC (Error Correction Code) usado en servers, usando paridad no slo permite detectar bits errados, sino tambin corregirlos.1-26

Qu es un microprocesador de 8, 16 32 bits y qu relacin tiene ello cq Jos-registres, y ia memoria principal ?Anteriormente se distingua entre procesadores de 8, 16 y 32 bits -segn sea- para indicar el nmero mxii de bits que puede tener un dato a operar por la UAL de cada uno. Desde el 80386 en adelante y hasta Pentium 4 pueden operar en su UAL dos nmeros de 32 bits, siendo que en correspondencia sus registros uso general pueden almacenar 32 bits. Lo mismo ocurre con la mayora de los microprocesadores de distint fabricantes, por lo que el nmero 8, 16 32 que caracterizaba la potencia y por ende la velocidad ( procesamiento de un procesador, ha dejado de usarse como distintivo de potencia.Una UAL de 32 bits puede operar con nmero del doble de magnitud que otra de 16 bits. Asimismo, si 1q registros para datos y resultados son de 32 bits, a los efectos de una mayor velocidad de transferencia entre UCP y memoria, deben existir por lo menos 32 lneas de datos en el bus. De esta forma, de una sola vez $ transfieren 32 bits entre memoria y UCP o viceversa. Esto tambin implica que la memoria debe est$ organizada para que en un solo acceso puedan leerse o escribirse 32 bits (4 bytes consecutivos), dando slo 1 direccin del primero.En consonancia con ello, los registros de la UCP para datos o resultados deben tener una longitvn igual al tamao de los datos que opera la UAL.Por ejemplo, el Pentium I1 es un procesador de 32 bits2, con una longitud de palabra de 64 bits. O sea qu en cada acceso a MP puede leer/escribir 8 bytes consecutivos, para lo cual se debe indicar slo la direc cin del primero de ellos. A tal efecto, este microprocesador tiene 64 patas destinadas a conectarse a 6 lneas de datos que forman parte del bus ("local bus") que lo conecta con el cach externo y con la MP. Por lo tanto, si bien la UAL del Pentium opera con 32 bits (y con 64 bits su coprocesado: matemtico incorporado), pueden llegar al mismo datos o instrucciones de a 64 bits por vez3,1( cual acelera el procesamiento de los datos.Tambin son procesadores de 32 bits el 386 y el 486, pero operan la MP con palabras de 32 bits4. Se comprende que un procesador de mayor nmero de bits sea ms rpido que otro que opere con menos pues en una sola instruccin puede manipular ms bits. Por ejemplo, si un 286 (procesador de 16 bits) quien sumar dos nmeros de 32 bits cada uno, primero mediante varias instrucciones debe sumar los primeros 16 bits d ambos nmeros, y luego mediante otras tantas instrucciones sumar los 16 bits restantes.5

QuPuede decirse que los registros de la UCP conforman una pequea RAM ?Con relacin a una pregunta anterior, se vio que se poda considerar una RAM como constituida poiregistros de un byte. As, una memoria de 1 MB puede considerarse formada por 1.048.576 registrosde 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 posicin de memoria, se puedeconsiderar constituido por 32 llaves "si-no", que operan como las 8 llaves de la figura 1.9).Asimismo, los registros de cualquier UCP (cuyo nmero en general es 8, 16, 32) se identifican por un nmerointerno que oficia de direccin dentro de la UCP (a partir de cero, como una pequea memoria). Dicho nmeroes el que debe figurar en el cdigo de una instruccin que hace mencin a un determinado registro de la UCP.Vale decir, que por ejemplo, los registros de un 80x86 designados simblicamente AX, BX, CX,..,como circuitos de la UCP tienen un nmero binario que permite localizarlos, de la misma formaque se localiza una posicin de memoria por su direccin, siendo su acceso del orden del nanoseg.Entonces, salvo aspectos cuantitativos referidos a la cantidad de registros de una UCP, y al nmero de bytque guardan los mismos (4 bytes en un 386/ 486 o Pentium), los registros de h UCP constituyen una pequeaRAM, siendo que cada registro se localiza al random mediante un nmero, para ser ledo o escrito.'*AI igual que el P6 y la mayora de los microprocesadores tipo RISCIntel define para todos sus procesadores un word como 16 bits, y como "doble word" un grupo de 32 bits (palabra doble).La memoria interna para instrucciones (cach), puede ser leda de a 32 bytes = 256 bits por vez (unas diez instrucciones juntas) .El modelo 386SX lee la memoria slo de 16 bits por vez, como el 286. La UAL del 286 tambin opera con 16 bits.Asimismo, es factible que un procesador necesite operar en su UAL un dato cuyo tamao sea menor que los bits que procesa (por ejemplo de 8 16 bits, si procesa 32). En consonancia debe poder ordenar leer o escribir un nmero acorde de posiciones de memoria. Por ejemplo, un Pentium o un 3/486 pueden sumar dos nmeros de 8 ( 16) bits cada uno, y ordenar acceder a una (o dos para 16) posicin(es) de memoria (8 es la mnima cantidad de bits que se pueden leer o escribir en memoria). Esto est pensado para que los nuevos modelos de procesadores sean compatibles con los anteriores, de modo de poder ejecutar los programas ya desarrollados para estos ltimos.l nmero delante y hast; ia sus registro, tdores de - la velocidadAsimismo, si;!e una sola vez *'' mora debe esi os), dando sloer una longitiA bits. O sea y con la MP. i coprocesadt >its por vez3, |de 32 bits4. -pere con meno le 16 bits) quiei imeros 16 bits

_____l-27_

i.1, SOFTWARE,LOS DATOS, Y SU CODIFICACINes el software o "logical" ?Adems de la velocidad y confiabilidad, no cabe duda que la versatilidad es otra de las caractersticas relevantes de las computadoras. A partir de su uso inicial como calculadoras automticas, poco a poco han ido invadiendo distintas reas de aplicacin: cientfica, industrial, administracin pblica, apoyo profesional, entretenimientos, modelacin, enseanza, etc. (En el Apndice se hace una resea de estas aplicaciones). Esta versatilidad es tambin observable en muchas herramientas que usamos, incluidas las primeras: nuestras manos. Pensemos tambin en los mltiples usos que puede tener un simple cuchillo, segn la forma de tomarlo, moverlo, porcin de filo usada, etc. En el conjunto cuerpo humano-cuchillo, el cambio de plan de uso se realiza fcil y rpidamente en nuestro cerebro, sin modificacin fsica visible. Otra actividad o proceso cotidiano, til para comprender los conceptos de hardware y software, es la elaboracin de comida. En ella distinguimos:1. Una parte fija, estable y tangible, constituida por una persona, la cocina y sus utensilios, quesern los medios fsicos ("hardware") con que se cuenta para llevar a cabo la elaboracin.2. La receta o procedimiento, que depende del plato deseado. Ella instruye ordenadamente cmo usarlos medios fsicos en cada paso de la elaboracin de los ingredientes. Es el plan lgico ("software").Nos encontrarnos con un tipo de proceso verstil, con mltiples resultados (platos distintos), llevado a cabo mediante un mismo equipamiento fsico, y un sinnmero de planes lgicos de elaboracin posibles. stos son fciles de cambiar en nuestra mente. Estn pensados en funcin de los medios disponibles, y estn limitados a los mismos. Por ejemplo las recetas de una cocina a gas no sirven para un asador al aire libre. Asimismo, con el equipamiento fsico solo no se puede hacer nada, si falta el plan lgico correspondiente.constituida po 18.576 registre e memoria. Loria, se pued 1.9).t por un numen). Dicho nmer!ro de la UCP.^X, BX, CX,...nsma formdel nanoseg.nerodebygyen tma pequSjlscrito.|.'>ra doble), xucciones juntas) its.ts que procesa (por >nes de memoria. ia (o dos para 16} >ara que los nuevos ara estos ltimos.

Un computador no sabe cmo procesar datos. Se le debe indicar mediante instrucciones: dnde estn los datos a procesar, qu procesamiento realizar con ellos, y hacia que medio irn los resultados obtenidosHacia 1946 en la Universidad de Pennsylvania funcionaba el prototipo de computador ENIAC descripto en el apndice A3 de esta unidad. El mismo, una vez programado realizaba velozmente una serie de clculos que se necesitaba efectuar en forma repetida, en cada oportunidad con datos distintos. Si haca falta realizar otros clculos distintos haba que reprogramarla cambiando el cableado de un panel, lo cual poda insumir horas. El matemtico de esa universidad, John von Neumann, para solucionar esto plante la necesidad de almacenar en una sola memoria interna electrnica de rpido acceso (la memoria principal), por un lado el programa a ejecutar, y por otro los datos a procesar. Este es uno de los postulados del llamado "modelo de Von Neumanan" (Ver apndice A3 citado) De esta forma, de poderse cambiar rpidamente en dicha memoria el programa a ejecutar, se podran realizar nuevos clculos, sin necesidad de modificar el conexionado de circuitos de la mquina, con la prdida de tiempo que ello implica.Un 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 quedarn en determinados estados elctricos en su interior, que representarn al programa citado, que en la figura 1.9 hemos asimilado a posiciones de llaves "si-no" Estos estados pueden hacerse equivaler a una determinada configuracin espacial de "unos" y "ceros" en la memoria, que se mantendr mientras no se ordene memorizar otro programa en reemplazo del existente. De ser as resultar otra configuracin interna de estados elctricos, que correspondern a los "unos" y "ceros" del nuevo programa.1-28Entonces, cuando se cambia el software no hay cambio material de componente alguno computador: el hardware permanece invariable. Slo se modifica el estado elctrico ~ material semiconductor que compone los circuitos de la memoriaHan ocurrido cambios energticos localizados; la materia sigue constante. En el caso de las llav "si-no" citadas, en cada una se habr estirado o encogido un resorte por la accin de nuestra mai^ pero no hay cambios materiales.Por esta manera fcil y veloz de cambiar de programa en el interior de un computador, sfresulta una herramienta tan verstil para efectuar cualquier proceso de datos. Cambiando programa se modificar el comportamiento de la mquina.iUna computadora para aplicaciones comerciales puede convertirse en una de tipo cientfV utilizando un programa adecuado. Se modifica el procedimiento sin cambiar de equipo. En todos los casos descriptos nos encontramos con el aprovechamiento mltiple de un misn. equipamiento fsico (hardware), como si cada procedimiento programado que se ordena realiza (software) generara un dispositivo fsico a la medida del proceso que ordena ese plan.Conforme con lo anterior, resulta que el hardivare provee funciones procesadoras, que son activadi.por cada una de las instrucciones-de un programa ejecutado segn ellas. _,;Cada marca y modelo de computador tiene un repertorio definido de cdigos de instrucciones qu puede ejecutar, acorde a las posibilidades funcionales de su hardware.No acepta instrucciones que no pertenezcan al mismo. Una misma instruccin, como ser sumar, tien distinto cdigo en dos procesadores distintos.

I i Ic1n a r I 1 crc 1 I I t 1Software de un computador, es cualquier programa1 que puede ser almacenado total o parcial mente en su memoria principal, para ser ejecutado por el procesador de dicho computador.Su nombre hace referencia al hecho de que los programas son materia dctil, "blanda" ("soft" er ingls). Esto es, los programas son fciles de modificar, y de cambiar unos por otros en la memoria principa. de un computador, para que ste, siendo hardware fijo, sea una herramienta de mltiples usos. Dicha facilidad se debe a que los programas no forman, fsicamente, parte del hardware, sino que s les sirve de soporte material. nicamente se modifica el estado elctrico de los circuitos de la memori principal, mediante seales elctricas "transparentes" al operador o al proceso. El software tambin puede registrarse en cintas, discos magnticos u otros medios.La esencia del software son los algoritmos2que l expresa, representa. Ellos son expresados mediant programas usando determinados lenguajes. Cada programa que puede ejecutarse en un computada -al ser almacenado en memoria, y luego ejecutado- permite llevar a cabo un cierto proceso de datos. Debido a esta relacin del software con algoritmos, es que a veces se lo denomina "logical".Un computador con todos sus circuitos electrnicos energizados, pero sin ningn programa & memoria principal, no puede procesar datos. No sabe qu hacer. Es slo "puro hardware/JI Cada instruccin que es ejecutada por la UC da lugar a una secuencia predeterminada de movimientos de datos/y operaciones en la UAL, que se desarrollan con los pulsos reloj. O sea que cada cdigo de im truccin determina implcitamente qu partes d hardware se activarn y en que orden, segn se ver.,Por lotanto, puede afirmarse que "el software controla al hardware". En ese sentido cuando de una se cuenda de instrucciones se salta a otra distinta,, correspondiente a una subrutina o a otro programa, se habla de "transferencia de control", vale decir que el control se ha transferido a la nueva secuencia en ejecucin. "En el apndice A.2 se encontrar una clasificacin del software, donde se incluyen la funcin de un sistema operativo y de programas utilitarios, as como el software constituido por los denominados "virus".

QutSean del sistema operativo, del usuario (procesadores de texto, base de dato, traductores de lenguajes, de juegos), de diagnstico, etc. 2 Un algoritmo es un procedimiento que asegura, mediante un nmero finito de pasos, una salida requerida, a partir de una entrada dada, independientemente del tiempo en que se realiza. Las conocidas reglas aprendidas en la escuela primaria para realizaf manualmente las cuatro operaciones aritmticas, son algoritmos.1-29alguno ctrico2 las llave* istra

Qu es e! firmware

nada.

i (que verifican el correcto racionamiento ylorlurac2UMw -te! de traer el SO), y programas que son invocados cada vez que se realizar una entrada /salida, constituyentes del BIOS (Baste Input Output System). pues dejare que est permanentemente fijo en el hardware, o sea que una veztador, s| tibiando Icientficaun misn na realizat actma%;i'I 'dones cju,tunar, tien

o "buteo" ^ ^.^ ^ Mp ^ pequefio programa en forma " dispuestas en el pane, frontal de! computador. Al ser ejecutado este programa se \av He1 disco o cinta, programas constituyentes del SO.^e preste al encen/er "un computador el arranque es automtico, sin intervencin manual merced a que est almacenado en la porcin ROM de MP un primer programa, que permite traer a

Q1 o parcial. idor. 1' {"soft" ei: ia princip5 USOS.ino que si a memori

En forma extensiva, se denomina firmware al software (programas) almacenado permanentemente en el hardware constituido por una memoria ROM soportada por circuitos electrnicos.Decimos en forma extensiva, por que la palabra "firmware" se acu en relacin con la ROM que existe en la UC de los procesadores "CISC"1, como los 80x86 de Intel. Segn se ver (seccin 1.7), en esta ROM estn guardadas las combinaciones binarias ("micro-cdigos") que le indican a la UC la secuencia de acciones necesarias para ejecutar cada instruccin. Ellas constituyen la "inteligencia" de un procesador. Un programa contenido en un disco CD ROM no es firmware, pues no es una ROM circuital.

S14s mediant amputada de datos. ti".agrama eitovimient ligo de imm se ver." de una s na, se hbB sjecucin.,.deunsiste; s "virus". Jagnstico, etc. de una entrada . para realizai;

Ques unmicroprocesador dedicado ?El microprocesador (80x86, Pentium, Power PC, 88000, etc.) que caracteriza un computador, es su procesador "central". La memoria de ia cual lee las instrucciones a procesar, es predominantemente RAM, si bien tiene una pequea porcin ROM para el arranque y el BIOS. Esto es as por que en un computador para uso general debe poderse cambiar el software residente en memoria principal, segn las necesidades del usuario (programas para procesar texto, para planillas de clculo, para base de datos, para juegos, etc.).Un sistema de computacin tambin presenta "procesadores dedicados" y microcontroladores (stos en el chip tambin contienen memoria principal y registros "ports". Son como una computadora en un solo chip). Dada la complejidad de los perifricos actuales, su electrnica requiere de un microprocesador para controlar las operaciones que realiza, siendo que su costo en general es mucho menor que el del procesador central citado Encontramos procesadores dedicados en el teclado, en una impresora lser, en la plaqueta de un mdem, en la electrnica de una unidad de disco rgido, entre otros.Puesto que un procesador dedicado se caracteriza por ejecutar siempre los mismos programas , stos se encuentran residentes en algn tipo de memoria ROM (firmware) que oficiar de memoria principal del procesador dedicado. No debe confundirse con la memoria principal del procesador central. En general, para este ltimo, los procesadores dedicados y los programas de los mismos le son "transparentes". Se comprende que un procesador dedicado necesita que slo una pequea porcin de su memoria principal sea RAM. Esta puede no necesitarse si los datos que procesa y los resultados que obtiene entran en los registros del procesador dedicado, en cuyo caso la memoria principal del mismo sera totalmente ROM.f Anr n instrucciones complejas en su repertorio de instrucciones. Siglas de Complex Instruction Set Computer, o sea computad^ con ^t^ne pPor lo cual, dada su sencillez, en general no requiere de un sistema operativo.

-perar.H estar et o veremos datos.'cdigo dide la UCenr, sumar j sigue una UCP, si sele manejar la de Windows a ejecutar, de que dependejnidades que:s didcticas.ido sea cero.posiciones= 1111 un';le memoriai asignado a 040H)tro se trata, particular.

OenPara un procesador de Intel o de AMD el cd-op que ordena la operacin escrita entre comillas es A1H = 10100001 2.AX-AX-M500fi/7 (AX = P + P - Q)UU 5010/11+- AX (M500/NP+Q-T)El cdigo de mquina de Ij comprende su cod-op Al, seguido de la direccin del dato a operar (en este caso fue elegida 5000H3). Por lo tanto, el cdigo de mquina completo que se escribir en memoria (figura 1.15) es A10050H = 1010 0001 0000 0000 0101 0000 en binario, o sea que Ij consta de 24 bits = 3 bytes, por lo que ocupar tres posiciones consecutivas de memoria. Se ha elegido arbitrariamente para Ii (y tambin para la secuencia de instrucciones a ejecutar) que la primer direccin a partir de la cual se escriben los tres bytes que la forman sea 0200H. O sea que Ij ocupa las direcciones 0200H a 0202H, con su cdigo de mquina fraccionado en Al , 00 y 50 en esas direcciones.Es importante notar que 00 50 o sea 5000 es la direccin del dato, que forma parte del cdigo de la instruccin, sin la cual cuando se ejecuta Ij no habra manera de encontrar el dato que es 20.10 o sea 1020.La instruccin I2 ordena "sumar al nmero contenido en el registro AX, una copia del nmero de 2 bytes localizable en la direccin de memoria que indican los dos ltimos bytes de la instruccin" (que en este caso vuelve a ser 5000U, por haberse sumado P + P).En smbolos: AX s visto )6OO50

Cmo se usa el Debug para escribir datos e instA continuacin se indican los pasos a dar para llamar al program, est en Windows 98 y NT), y luego poder leer y escribir los datos figura 1.15. El procedimiento sirve en general para leer o escribir En negrita aparece aquello que escribe el DOS (y que interesa mayscula lo que debe escribir el usuario (con la tipografa que sea' Los nmeros que se tipean y los que aparecen en pantalla son h en el interior de un computador solo puede haber unos y ceros.C:\> DEBUG JUn guin que aparece titilante debajo de la C, indica que el Debug est listo para que a continuacin del guin se escriba un comando. Para leer o escribir la memoria se tipea la letra E (examinar) seguida de la primer direccin que se quiere leer o escribir. Por ejemplo, si se quiere conocer el contenido de posiciones de memoria a partir de la direccin 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:-E5000J 309D:50001F.(tipeado por el usuario para examinar memoria) (mostrado por el Debug)

Aiada se

Esto nos dice que la direccin 5000H (0101 0000 0000 0000) de memoria1 tiene por contenido la combinacin 1F H = 00011111. Esta combinacin es la que estaba almacenada en la direccin 5000H en la PC que hemos utilizado, pero que otro da, o en otra PC ser distinta2. Lo mismo vale para 309D Si luego de leer la 5000H se quiere leer el contenido de la posicin siguiente 5001H, no hace falta repetir el comando E. Basta con pulsar la barra de espaciado luego del ltimo valor ledo -en este caso 1F - para que en pantalla aparezca el nmero que guarda la posicin 5001 (06 en este caso como aparece a continuacin).B0. 0E.8D. 9A.46. 66.

E 5000 J (Examinar memoria)309D:5000 1F.06.50.309D:5008 09. \ 6A.\ FF. 309D:5010 FD. \ 11. \5007\5000 \5001 ..

fe kDel mismo modo si se vuelve a pulsar la barra se conocer el contenido de la posicin 5002H, y as de seguido para determinar contenidos de posiciones consecutivas de memoria. Por razones de claridad, aparecen hasta 8 lecturas de posiciones por rengln, y para no llenar la pantalla con nmeros, slo se muestra9 le

Aunque esto por el momento no es relevante, conviene aclarar que realidad se trata de una zona (segmento) de memoria con ms de 64000 posiciones (bytes), numerados con direcciones que van de 0000H hasta FFFFH. La direccin 0000H es la primer posicin de este segmento de memoria, y no el cero de la memoria. La direccin de memoria donde comienza este segmento est en relacin con el valor 309D que aparece a la izquierda de 5000. Dicho 0000 corresponde a la direccin de memoria 309D0 H (309D con el agregado de un cero, conforme a la convencin para los 80x86 de Intel). Si a 3O9DO le sumamos 5000 H se tendra 359DO H = 0011 0101 1001 1101 0000 en binario (20 bits), que sera una direccin de memoria que est 5000 H posiciones despus de 309D. Puesto que las direcciones de memoria ejemplificadas son de 20 bits, significa que se trata de una memoria de 1 megabyte, como se deduce de la figura 1.14 (2 =1 MB) Este es el tamao de memoria que "ve" el DOS, desde la direccin 00000000000000000000 = 00000 H hasta la 1111111111111111111= = FFFFF H. Este tema se ver en detalle al tratar este sistema operativo en la Unidad 3. 2 Conforme al modelo de 8 llaves "si-no" por celda de memoria, las mismas siempre estn formando una combinacin de unos y ceros determinada. No es factible que no haya "nada" en una posicin. Cuando se enciende un computador, en cada posicin se forma un nmero al azar, que no tiene por qu ser el 1F ejemplificado en esta obra.

5

SO DEL PROGRAMA DEBUG DEL DOS PARA VISUALIZAR EL INTERIOR DEL COMPUTADORqueda en: ccin que i memoria i progre.direccin, n y de las' nmero a cide cual cargador.,;as, cuyolenguaje ios visto 3060050to proce-s que los n un len->mpuseto uina. ; empleainada se3 a bajo lario lasdos de igos de

Cmo se usa el Debug para escribir datos e instrucciones en memoria ?A continuacin se indican los pasos a dar para llamar al programa Debug desde el DOS (que tambin est en Windows 98 y NT), y luego poder leer y escribir los datos e instrucciones como se plantea en la figura 1.15. El 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 didcticos), y en cursiva mayscula lo que debe escribir el usuario (con la tipografa que sea). El smbolo J indica la tecla "Enter". Los nmeros 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.C:\> DEBUG JUn guin que aparece titilante debajo de la C, indica que el Debug est listo para que a continuacin del guin se escriba un comando. Para leer o escribir la memoria se tipea la letra E (examinar) seguida de la primer direccin que se quiere leer o escribir. Por ejemplo, si se quiere conocer el contenido de posiciones de memoria a partir de la direccin 5000 H, primero se tipea el comando E 5000 seguido de un Enter (-/), con lo cual en la pantalla se ver, por ejemplo, lo siguiente:-E5000J 309D:50001F.(tipeado por el usuario para examinar memoria) (mostrado por el Debug)Esto nos dice que la direccin 5000H (0101 0000 0000 0000) de memoria1 tiene por contenido la combinacin 1F H = 00011111. Esta combinacin es la que estaba almacenada en la direccin 5000H en la PC que hemos utilizado, pero que otro da, o en otra PC ser distinta2. Lo mismo vale para 309D Si luego de leer la 5000H se quiere leer el contenido de la posicin siguiente 5001H, no hace falta repetir el comando E. Basta con pulsar la barra de espaciado luego del ltimo valor ledo -en este caso 1F - para que en pantalla aparezca el nmero que guarda la posicin 5001 (06 en este caso como aparece a continuacin).8D. 9A.B0. 0E.46. 66.

E 5000 J (Examinar memoria)309D:5000 1F.06.50.5007309D:5008 09. \ 6A.\ FF. 309D:5010 FD. \ 11. J\\5000 \5001 ..Del mismo modo si se vuelve a pulsar la barra se conocer el contenido de la posicin 5002H, y as de seguido para determinar contenidos de posiciones consecutivas de memoria. Por razones de claridad, aparecen hasta 8 lecturas de posiciones por rengln, y para no llenar la pantalla con nmeros> slo se muestra

'414iido poro.le ella s, msal 9 lea para endo

Aunque esto por el momento no es relevante, conviene aclarar que realidad se trata de una zona (segmento) de memoria con ms de 64000 posiciones (bytes), numerados con direcciones que van de 0000H hasta FFFFH. La direccin 0000H es la primer posicin de este segmento de memoria, y no el cero de la memoria. La direccin de memoria donde comienza este segmento est en relacin con el valor 309D que aparece a la izquierda de 5000. Dicho 0000 corresponde a la direccin de memoria 309DO H (309D con el agregado de un cero, conforme a la convencin para los 80x86 de Intel). Si a 309D0 le sumamos 5000 H se tendra 359D0 H = 0011 0101 1001 1101 0000 en binario (20 bits), que sera una direccin de memoria que est 5000 H posiciones despus de 309D. Puesto que las direcciones de memoria ejemplificadas son de 20 bits, significa que se trata de una memoria de 1 megabyte, como se deduce de la figura 1.14 (2~ =1 MB) Este es el tamao de memoria que "ve" el DOS, desde la direccin 00000000000000000000 = 00000 H hasta la 1111111111111111111 = = FFFFF H. Este tema se ver en detalle al tratar este sistema operativo en la Unidad 3.Conforme al modelo de 8 llaves "si-no" por celda de memoria, las mismas siempre estn formando una combinacin de unos y ceros determinada. No es factible que no haya "nada" en una posicin. Cuando se enciende un computador, en cada posicin se forma un nmero al azar, que no tiene por qu ser el 1F ejemplificado en esta obra.

2

1-34una direccin a la izquierda de cada rengln. As, luego de la 5000 no aparecern en pantalla 5001 a 5007 (cJ -deban-determinarse visualmente, corno sealan las flechas dibujadas con los valores), y luego aparece 500^, Entonces, si a partir de la indicacin anterior pulsamos repetidamente la barra de espaciado, obtendra un vuelco de memoria del tipo siguiente {distinto para cada oportunidad y computador): ; Cuando se quiere dejar de leer se pulsa Enter (J), como se indica en el ltimo rengln, con lo cual vuelve-aparecer el guin titilante del Debug, esperando un nuevo comando. En general se debe pulsar Enter le* de escribir un comando o cuando se quiere que aparezca el guin titilante, para indicarle un nuev( comando al Debug. Los valores que aparecen varan de un computador a otro, y en un mismo computad^ Con el Debug es factible leer cualquier zona de memoria, sea RAM o ROM.

CmoEscritura de los datos en memoria mediante el Debug:El ejemplo anterior mostr la lectura de posiciones consecutivas de memoria. Tambin es posible luego (el DOS espera comando)De ac en adelante se designa con la palabra "figura" a porciones de la pantalla que se veran usando el programa Debug.

1-35encuentra la UC en memoria la primer instruccin y las unprograma a ejecutar, mediante el registro IP ?itermputadojluego { altean do, en( Bidn, s o de est10 (qu = 2040B.

Anteriormente se estableci que el registro puntero de instruccin (IP) tiene la funcin de indicar la direccin de memoria donde se encuentra la prxima instruccin a ejecutar. En el programa codificado (figura 1.15) la primer instruccin comienza en la direccin 0200H, y las dos siguientes en 0203H y en 0207H. Por lo tanto, en este caso IP deber contener sucesivamente los valores binarios que en hexa son: 0200H, 0203H y 0207H, como se verificar cuando se ejecuten esas instrucciones. Suponiendo que IP empiece con el valor 0200H -ya veremos cmo- puesto que el cdigo de \x ocupa 3 bytes, (esto lo "conocer" la UC al ejecutar Ii), si la UC hace la suma (con su calculador que es la UAL) 0200 + 3 = 0203, podr determinar el nuevo valor que debe tener IP, que es la direccin donde est I2 Del mismo modo, cuando ejecuta I2-que ocupa 4 bytes-, podr calcular 0203 + 4 = 0207 para ubicar I3. Por ltimo si a 0207 le sumamos 4 (cantidad de bytes de I3), obtenemos 020B, direccin de I4 (en hexa despus de 7 siguen 8, 9, A, B) As sucesivamente la UC va cambiando el valor de IP x para ir localizando en memoria las sucesivas instrucciones que debe ejecutar.Esta es la forma pensada para que la UC localice y ejecute, en el orden establecido, cada una de las instrucciones que forman una secuencia. Por lo tanto, para respetar estas "reglas de juego" las instrucciones a ejecutar deben estar escritas en -posiciones consecutivas de memoria.Una "instruccin de salto" -a tratar- permite no seguir la ejecucin de un programa con la instruccin que est escrita a continuacin de ella en memoria, sino continuar con otra instruccin, cuya direccin debe permitir formar instruccin de salto. El valor de esta direccin debe pasar al IP. O sea que igualmente esta instruccin permite encontrar la que le sigue.

hI,'15icione

Por la tanto, cada instruccin permite determinar donde est la siguiente a ejecutar, y por consiguiente, establecer el valor que tendr el registro IPira l.lf 5010) (en este 11)de las

Quin se encarga de proporcionar la direccin de la primer instruccin de cada programa a ejecutar ?En las prcticas que realizaremos con el Debug, seremos nosotros quienes nos encargaremos de escribir en el IP la direccin de la primer instruccin de una secuencia que queremos ejecutar. Puesto que un computador pasa automticamente de la ejecucin de un programa a otro, se supone que tiene que existir un mecanismo para hacer esto. A continuacin daremos un esbozo acerca de cmo esto ltimo tiene lugar, o sea quin se encarga de dar al IP la direccin 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 ejec