Está en la página 1de 256

Arquitectura de computadoras

Unidad Temas 1 Modelo de arquitecturas de cmputo. Subtemas 1.1 Modelos de arquitecturas de cmputo. 1.1.1 Clsicas. 1.1.2 Segmentadas. 1.1.3 De multiprocesamiento. 1.2 Anlisis de los componentes. 1.2.1 CPU. 1.2.1.1 Arquitecturas. 1.2.1.2 Tipos. 1.2.1.3 Caractersticas. 1.2.1. !uncionamiento. 1.2.2 Memoria. 1.2.2.1 Arquitecturas. 1.2.2.2 Tipos. 1.2.2.3 Caractersticas. 1.2.2. !uncionamiento. 1.2.3 "ispositi#os de $%&. 1.2.3.1 Arquitecturas. 1.2.3.2 Tipos. 1.2.3.3 Caractersticas. 1.2.3. !uncionamiento. 2.1 'uses. 2.1.1 'us (ocal. 2.1.2 'us de datos. 2.1.3 'us de direcciones. 2.1. 'us de control. 2.1.) 'uses normali*ados. 2.2 "ireccionamiento. 2.2.1 Modo real. 2.2.2 Modo prote+ido. 2.2.3 Modo real #irtual. 2.3 Tempori*acin. 2.3.1 ,elo- de sistema. 2.3.2 Reset del sistema. 2.3.3 Estados de espera. 2. $nterrupciones de .ard/are. 2. .1 0nmascarable. 2. .2 1o2enmascarable. 2.) Acceso "irecto a memoria. 2.5.1 Sistema de video. 2.5.2 Sistema de discos. 2.5.3 Otras aplicaciones. 3 Seleccin de componentes para 3.1 C3ip Set. 3.1.1 CPU.

Comunicacin interna en la computadora.

ensamble de equipos de cmputo.

3.1.2 Controlador del 'us. 3.1.3 Puertos de 0%S. 3.1. Controlador de $nterrupciones. 3.1.) Controlador de "MA. 3.1.4 Circuitos de tempori*acin 5 control. 3.1.6 Controladores de #ideo. 3.2 Aplicaciones. 3.2.1 Entrada/ Salida. 3.2.2 Almacenamiento. 3.2.3 !uente de alimentacin. 3.3 Ambientes de servicios. 3.3.1 egocios. 3.3.2 !ndustria. 3.3.3 Comercio electrnico. .1 Arquitectura. ".1.1 #erminales. .1.2 CPU. .1.3 0spacio de Memoria. .1. 0ntrada% Salida. .1.) Caractersticas especiales. .2 Pro+ramacin. .2.1 Modelo de pro+ramacin. .2.2 Con-unto de instrucciones. .2.3 Modos de direccionamiento. .2. (en+ua-e ensamblador. ".3 Aplicaciones. ".3.1 $omo sistema independiente. ".3.2 $omo subsistema de una computadora.

Microcontroladores.

Unidad 1. Modelo de arquitecturas de cmputo.


1.1 Modelos de arquitecturas de cmputo.
2 3 Tecnologas RISC y CISC:

RISC: %Reduced !nstruction Set $omputer& computadora de con'unto de instrucciones reducido Arquitectura de computadoras que e'ecuta un n(mero limitado de instrucciones. El concepto es que la ma)or*a de los programas usan generalmente unas pocas instrucciones+ ) si se acelera la e'ecuci,n de esas instrucciones b-sicas+ se me'ora el rendimiento.

.a arquitectura R!S$ elimina una capa de carga operativa llamada /microc,digo/+ que se emplea normalmente para 0acilitar la agregaci,n de nuevas ) comple'as instrucciones a una computadora. .as computadoras R!S$ poseen un peque1o n(mero de instrucciones montadas en los circuitos de nivel in0erior+ que traba'an a m-2ima velocidad. Aunque las m-quinas R!S$ son s,lo de un 153 a un 543 m-s veloces que sus contrapartidas $!S$ CISC: %$omple2 !nstruction Set $omputer& $omputadora de con'unto de instrucciones comple'o $omputadoras que poseen un con'unto de instrucciones mu) e2tenso. .as m-quinas $!S$ tienen de doscientas a trescientas instrucciones+ que est-n grabadas en microc,digo. 3ttp7%%///.mono+ra8ias.com%traba-os%re8ercomp%re8ercomp.s3tml

3.1.1 Clsicas.
El Concepto de von Neumann.
.os primeros computadores se programaban en realidad recable-ndolos. Esto pr-cticamente equival*a a reconstruir todo el computador cuando se requer*a de un nuevo programa. .a tarea era simpli0icada gracias a un panel de contactos %mu) similar al de los primeros conmutadores tele0,nicos que eran atendidos por operadoras+ ) que 5o) en d*a s,lo llegamos a ver en via'es pel*culas en blanco ) negro. 6er 0ig. 1& con el que era posible enla7ar circuitos para crear secciones dedicadas a una actividad espec*0icas. .a programaci,n del computador se llevaba a cabo+ literalmente+ reconstru)8ndolo.

9ig 1.: E !A$+ primer computador electr,nico ) su panel de cone2iones ;ientras que el recablear al computador establec*a una clara distinci,n entre los datos %representados por los estados o se1ales el8ctricas que ser*n mantenidas por los relevadores o a trav8s de los bulbos que con0ormaban al computador& ) el programa %las cone2iones que ser*an establecidas entre estos componentes del 5ard<are& la labor de /programaci,n/ requer*a sino del propio creador del computador si a un verdadero e2perto ) conocedor de electr,nica+ principios de l,gica digital ) del problema mismo. Esto vino a cambiar con el concepto del pro+rama almacenado+ un concepto te,rico mu) importante que 0ue establecido por el matem-tico =o5n von eumann el 34 de 'unio de 1>"5 en un borrador sobre el dise1o de la ED6A$. A di0erencia de los primeros

computadores+ von eumann propon*a que tanto el programa como sus datos 0ueran almacenados en la memoria del computador. Esto no solo simpli0icaba la labor de programaci,n al no tener que llevar a cabo el recableado del computador sino que adem-s libraba ) generali7aba el dise1o del 5ard<are para 5acerlo independientede cualquier problema ) en0ocado al control ) e'ecuci,n del programa. Este concepto 0ue tan importante ) decisivo que dio lugar al concepto de la arquitectura de #on 1eumann+ a(n presente en nuestros d*as. .a arquitectura de von eumann se compone de tres elementos?

1. .a Unidad Central de Procesamiento %$@A+ por sus siglas en ingl8s&+ que es considerada como el cerebro ) cora7,n del computador. !nternamente consiste de una Anidad Aritm8tico:.,gica %A.A&+ un con'unto de registros ) una Anidad de $ontrol %$A&. .a A.A es donde se reali7an todas las operaciones que involucran un procesamiento matem-tico %particularmente aritm8tico& o l,gico %operaciones booleanas&. .os registros permiten el almacenammiento de datos para estas operaciones ) sus resultados. En la $A es donde se e'ecutan todo el resto de las operaciones %decisi,n+ control+ movimiento de datos&. Ana $@A con todos estos elementos implementada en un solo c5ip recibe el nombre de microprocesador. 2. .a memoria+ que es donde datos ) programa es almacenado. .a memoria puede ser visto como un arreglo unidimensional 0inito en la que cada localidad es identi0icada por un valor asociado a su posici,n ) que es comunmente llamado direccin. E2isten diversos tipos de memoria+ identi0icados por el tipo de tecnolog*a usada+ aunque para un computador son generalmente clasi0icadas en dos grandes grupos por tipo de uso al que de destina. .a memoria RAM %Random Access ;emor)+ ;emoria de Acceso Aleatorio& ) que es aquella destinada al almacenamiento de datos ) programas %inclu)endo al sistema operativo&+ es considerada temporal o de tipo vol-til )a que pierde si contenido cuendo el computador es apagadoo reiniciali7ado. .a memoria ROM es aquella de tipo permanente+ aun cuando el computador sea desenergi7ado mantendr- su contenido. Es usada principalmente para el almacenamiento de peque1os programas destinados a la adminsitraci,n b-sica de recursos+ especialmente de entrada ) salida. 3. .as interfaces de entrada y salida (I/O). destinadas a liberar de traba'o a la $@A en la comunidaci,n con dispositivos de entrada %teclados+ ratones&+ salida %impresoras& ) entrada:salidas %discos+ cintas&.

Estos tres elementos est-n interconectados a trav8s de un con'unto de l*neas que llevan instrucciones %control bus&+ datos %data bus& ) que permiten dar los valores de direcciones de memoria ) dispositivos %memor) bus&.

9ig 2.: Esquema de la arquitectura de von 5ttp?//5omepage.mac.com/eravila/computer!!.5tml

eumann.

La arquitectura von Neumann se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las intrucciones como para los datos (a diferencia de la arquitectura Harvard). El trmino se acu en el documento First Draft of a Report on the EDVAC (194 )! escrito por el conocido matem"tico #o$n von %eumann! que propuso el concepto de pro&rama almacenado. 'ic$o documento fue redactado en vistas a la construccin del sucesor de la computadora E%()*! + su contenido fue desarrollado por ,resper Ec-ert! #o$n .auc$l+! )rt$ur /ur-s! + otros durante varios meses antes de que 0on %eumann redactara el 1orrador del informe. Los ordenadores con arquitectura 0on %eumann constan de cinco partes2 La unidad aritmtico3l&ica o )L4! la unidad de control! la memoria! un dispositivo de entrada5salida + el 1us de datos que proporciona un medio de transporte de los datos entre las distintas partes.

4n ordenador con arquitectura von %eumann realiza o emula los si&uientes pasos secuencialmente2 1. 61tiene la si&uiente instruccin desde la memoria en la direccin indicada por el contador de pro&rama + la &uarda en el re&istro de instruccin. 7. )umenta el contador de pro&rama en la lon&itud de la instruccin para apuntar a la si&uiente. 8. 'escodifica la instruccin mediante la unidad de control. 9sta se encar&a de coordinar el resto de componentes del ordenador para realizar una funcin determinada. 4. :e e;ecuta la instruccin. 9sta puede cam1iar el valor del contador del pro&rama! permitiendo as< operaciones repetitivas. El contador puede cam1iar tam1in cuando se cumpla una cierta condicin aritmtica! $aciendo que el ordenador pueda =tomar decisiones=! que pueden alcanzar cualquier &rado de comple;idad! mediante la aritmtica + l&ica anteriores. . 0uelve al paso 1. Ho+ en d<a! la ma+or<a de ordenadores est"n 1asados en esta arquitectura! aunque pueden incluir otros dispositivos adicionales! (por e;emplo! para &estionar las interrupciones de dispositivos e>ternos como ratn! teclado! etc). 5ttp?//<<<.programacion.com/blogs/""BdiarioBdeBunBpro0esorBdeBin0ormtica/a rc5ive/"4>BqueBesBlaBarquitecturaBin0ormtica.5tml

)rquitectura Harvard
El trmino Arquitectura Harvard ori&inalmente se refer<a a las arquitecturas de computadoras que utiliza1an dispositivos de almacenamiento f<sicamente separados para las instrucciones + para los datos (en oposicin a la )rquitectura von %eumann). El trmino proviene de la computadora Harvard .ar- (! que almacena1a las instrucciones en cintas perforadas + los datos en interruptores.

?odas las computadoras constan principalmente de dos partes! la *,4 que procesa los datos! + la memoria que &uarda los datos. *uando $a1lamos de memoria mane;amos dos par"metros! los datos en s<! + el lu&ar donde se encuentran almacenados (o direccin). Los dos son importantes para la *,4! pues muc$as instrucciones frecuentes se traducen a al&o as< como @co&e los datos de sta direccin + a"delos a los datos de sta otra direccin@ ! sin sa1er en realidad qu es lo que contienen los datos. En los Altimos aos la velocidad de las *,4s $a aumentado muc$o en comparacin a la de las memorias con las que tra1a;a! as< que se de1e poner muc$a atencin en reducir el nAmero de veces que se accede a ella para mantener el rendimiento. :i! por e;emplo! cada instruccin e;ecutada en la *,4 requiere un acceso a la memoria! no se &ana nada incrementando la velocidad de la *,4 3 este pro1lema es conocido como =limitacin de memoria=. :e puede fa1ricar memoria muc$o m"s r"pida! pero a costa de un precio mu+ alto. La solucin! por tanto! es proporcionar una pequea cantidad de memoria mu+ r"pida conocida con el nom1re de cac$. .ientras los datos que necesita el procesador estn en la cac$! el rendimiento ser" muc$o ma+or que si la cac$ tiene que o1tener primero los datos de la memoria principal. La optimizacin de la cac$ es un tema mu+ importante de cara al diseo de computadoras. La arquitectura Harvard ofrece una solucin particular a este pro1lema. Las instrucciones + los datos se almacenan en cac$s separadas para me;orar el rendimiento. ,or otro lado! tiene el inconveniente de tener que dividir la cantidad de cac$ entre los dos! por lo que funciona me;or slo cuando la frecuencia de lectura de instrucciones + de datos es apro>imadamente la misma. Esta arquitectura suele utilizarse en ':,s! o procesador de seal di&ital! usados $a1itualmente en productos para procesamiento de audio + video. @$ttp255es.Bi-ipedia.or&5Bi-i5)rquitecturaCHarvard@
Arquitectura Carvard El procesador de los modernos microcontroladores responde a la arquitectura R!S$ %$omputadores de =uego de !nstrucciones Reducido&+ que se identi0ica por poseer un repertorio de instrucciones m-quina peque1o ) simple+ de 0orma que la ma)or parte de las instrucciones se e'ecutan en un ciclo de instrucci,n. Otra aportaci,n 0recuente que aumenta el rendimiento del computador es el 0omento del paralelismo impl*cito+ que consiste en la segmentaci,n del procesador %pipe:line&+ descomponi8ndolo en etapas para poder procesar una instrucci,n di0erente en cada una de ellas ) traba'ar con varias a la ve7.

$ttp255BBB.unicrom.com5?utC,(*s1.asp .a arquitectura Carvard dispone de dos memorias independientes una+ que contiene s,lo instrucciones ) otra+ s,lo datos. Ambas disponen de sus respectivos sistemas de buses de acceso ) es posible reali7ar operaciones de acceso %lectura o escritura& simult-neamente en ambas memorias. 9igura 1.3.

9igura 1.3. .a arquitectura Carvard dispone de dos memorias independientes para datos ) para instrucciones+ permitiendo accesos simult-neos. $ttp255BBB.mono&rafias.com5tra1a;os175microco5microco.s$tml
ARQUITECTURA HARVARD Arquitectura Harvard, que utiliza antememorias de instrucciones y datos separadas. Esta tcnica, denominada Arquitectura Harvard, en cierto modo contrapuesta a la idea de Von Newmann, ya que utiliza memorias cach separadas para cdigo y datos. Esto tiene algunas venta as . ARQUITECTURA VECTORIAL El encadenamiento aumenta la velocidad de proceso, pero a!n se puede me orar a"adiendo tcnicas como el supersescalado. Esta tcnica permite hacer paralelas las mismas etapas so#re instrucciones di$erentes. %n procesador superescalar puede e ecutar m&s de una instruccin a la vez. 'ara sto es necesario que e(istan varias unidades aritmtico)lgicas, de punto $lotante y de control. El proceso que sigue el micro es transparente al programa, aunque el compilador puede ayudar analizando el cdigo y generando un $lu o de instrucciones optimizado. Veamos cmo se e ecutar*an las instrucciones en un procesador superescalar de que tiene duplicadas las su#unidades que lo componen+

Aunque esto me ora la velocidad glo#al del sistema, los con$lictos de datos crecen. ,i antes las instrucciones se encontra#an muy pr(imas, ahora se e ecutan simultaneamente. Esto hace necesario un chequeo din&mico para detectar y resolver los posi#les con$lictos.

ARQUITECTURA PIPE-LINE 'aralelismo -emporal+ 'ipe).ine /.ineal0 .a arquitectura pipe)line se aplica en dos lugares de la maquina, en la 1'% y en la %A.. Veamos en que consiste el pipe)line y tratemos de entender porque el pipe)line me ora el rendimiento de todo el sistema.

Veamos una 1'% no organizada en pipe)line+

,i se trata de una instruccin a ser e ecutada por la A.% podemos decir que la 1'% realiza a lo largo del ciclo de maquina estas 2 tareas. %na vez que termina de e ecutar una instruccin va a #uscar otra y tarda en e ecutarla un tiempo -, es decir cada - segundos e ecuta una instruccin. 34u sucede si dividimos en 2 unidades seg!n las 2 cosas que realiza la 1'%5

,upongamos la 1'% dividida en 2 unidades, de tal $orma que c6u tarde lo mismo en realizar su partecita. Es decir c6u tardar& -62. 'ara que una instruccin se e ecute se necesita - segundos entonces para que usar pipe)line. ,i ocurre esto en una 1'% normal a una con pipe)line, la cantidad de instrucciones que se hacen por segundo aumenta, es decir aumenta el $lu o de instrucciones que se e ecutan por segundo.

5ttp?//5tml.rincondelvago.com/computadoresBarquitectura:5arvard:pipeline: vectorial.5tml
Arquitectura '7'E).7NE. Ya hemos mencionado que una de las formas de lograr operaciones concurrentes en un procesador se utilizan dos tcnicas bsicas: paralelismo y pipelining. El paralelismo consegua la concurrencia multiplicando la estructura del hardware tantas veces como sea posible, de modo que las diferentes etapas del proceso se ejecuten simultneamente. Pipelining consiste en desdoblar la funcin a realizarse en varias partes, asignndole al hardware correspondiente a cada una de las partes tambin llamadas etapas. As como el agua fluye a travs de una tubera (pipeline) las instrucciones o datos fluyen a travs de las etapas de un computador digital pipeline a una velocidad que es independiente de la longitud de la tubera (numero de etapas del pipeline) y depende solamente de la velocidad a la cual los datos e instrucciones pueden ingresar al pipeline. Esta velocidad a su vez depende del tiempo que tarde el dato en atravesar una etapa. Este tiempo puede ser significativo ya que el computador no solo desplaza los datos o instrucciones de etapa en etapa sino que en cada una de ellas se realiza alguna operacin sobre los mismos. Como ejemplo en el caso de las instrucciones tendremos operaciones de bsqueda, decodificacin y ejecucin. Pipeline Fsico:

Pipeline digital. Mientras un tem en particular fluye a travs del pipeline, ste ocupa slo una etapa por vez. A medida que transcurre el tiempo la etapa que quedo vacante por un tem, ser ocupada por el siguiente. Este uso concurrente de diferentes etapas por diferentes tems se lo conoce por solapamiento. El resultado neto es que la mxima velocidad a la cual los nuevos tems pueden ingresar al pipeline depende exclusivamente del tiempo mximo requerido para atravesar una etapa y no del nmero de stas. La utilizacin del pipeline se traduce en una mejora del comportamiento o performance del procesador. Si una funcin se lleva a cabo en T segundos en un procesador de diseo convencional, al utilizar un procesador pipeline de N etapas esa misma funcin podr realizarse en T/N segundos. Esto a nivel terico, ya que la mejora de performance depender de la cantidad de operaciones que puedan estructurarse en pipeline y tambin de calidad de la particin o subdivisin de cada una de esas operaciones. La estructuracin en pipeline de un procesador se realiza en diferentes niveles como aritmtica de punto flotante, ciclo de instruccin, procesador de entrada/salida, etc. Esta divisin o particin de una funcin en varias subfunciones se podr realizar si se dan las siguientes condiciones: 1. La evaluacin de la funcin bsica es equivalente a la evaluacin secuencial de las subfunciones que la constituyen. 2. Las entradas a una subfuncin provienen nicamente de las salidas de subfunciones previas en la secuencia de evaluacin.

3. Excepto el intercambio de entradas y salidas no existe otra vinculacin entre las subfunciones. 4. Debe disponerse del hardware necesario para la evaluacin de dichas subfunciones. 5. El tiempo requerido por estas unidades de hardware para evaluar las subfunciones es aproximadamente el mismo. Este hardware mencionado en el punto 4 es el correspondiente o asociado con las distintas etapas del pipeline. A diferencia del pipeline fsico (tubera), el digital no maneja los datos en forma continua. Este maneja los datos en forma interrumpida y los va desplazando de etapa en etapa sincronizando con un reloj. Dado que la lgica que realiza el procesamiento en cada etapa generalmente carece de memoria y dado el carcter discontinuo de la aparicin de los datos en las etapas se impone la utilizacin de un elemento de memoria en la entrada y salida de cada etapa. De esta manera, bajo el control del reloj asociado a cada elemento de memoria, evitamos que los datos ingresen a una etapa antes que haya finalizado el proceso anterior.

Pipeline vs. Solapamiento.


Los conceptos de pipelining y solapamiento tienen significados parecidos pero no son equivalentes, pese a que en algunos casos se los utiliza indistintamente. Ambos se basan en la idea de particin o subdivisin de una funcin, pero se aplican en distintos entornos. Se dice que podr existir pipeline cuando se den las siguientes condiciones: 1. Cada evaluacin de la funcin bsica es independiente de las anteriores. 2. Cada evaluacin requieren aproximadamente la misma secuencia de subfunciones. 3. Cada subfuncin se encadena perfectamente con las anterior. 4. Los tiempos utilizados para evaluar las distintas subfunciones son aproximadamente iguales. Solapamiento se podr utilizar cuando se den las siguientes condiciones: 1. Existe dependencia entre las distintas evaluaciones. 2. Cada evaluacin puede requerir una secuencia diferente de subfunciones. 3. Cada subfuncin tiene un propsito distinto. 4. El tiempo por etapa no es necesariamente constante, sino que depende de la etapa y de los datos que la atraviesan. En muchos casos el pipeline propiamente dicho y que detallamos en primer lugar se lo suele llamar sincrnico o esttico, por otra parte el solapamiento se lo suele llamar pipeline asincronico o dinmico. Un ejemplo de pipeline esttico es el de una unidad destinada a realizar sumas en punto flotante sobre datos provenientes de otra unidad. Aqu la funcin bsica, suma en punto flotante es relativamente simple, el resultado de una sumo depende del anterior, prximo o de cualquier otro. Adems una vez que se realiz la particin, todas las sumas siguen la misma secuencia. El ejemplo ms simple de solapamiento o pipeline dinmico se da en un procesador donde la entrada/salida es manejada por un procesador, los cmputos por otro y la comunicacin se realiza a travs de un modulo de memoria comn. La realizacin de una funcin en este procesador alternara entre el procesador de computo y el de entrada/salida.

En otros casos la evaluacin de una funcin slo requerira de un procesador. En este caso vemos

que las distintas operaciones estn menos sincronizadas que en el caso del sumador en punto flotante. La participacin de la funcin bsica vara dinmicamente y an el tiempo empleado en cada etapa es difcil de predecir. Otro ejemplo de operacin por solapamiento es el de ejecucin de instrucciones de CPU's de alta velocidad. En este caso el hardware podr estar dividido en un nmero fijo de etapas como en el caso del sumador de punto flotante, pero de acuerdo con las diferencias de formato de las instrucciones cada una puede desarrollar un camino diferente a travs del pipeline. 'ipeline en maquinas ,7,8. Dependencia entre instrucciones y riesgos. En una maquina secuencial clsica todas las operaciones que involucran la ejecucin de una instruccin se completan antes que comience la prxima. En el caso de las maquinas SISD podemos intentar realizar pipeline a nivel de ejecucin de instrucciones. Esto consistir en solapar la ejecucin de las mismas de manera que algunas de las operaciones necesarias para las instrucciones i+1, i+2, .... puedan realizarse antes que finalice la ejecucin de la instruccin i. Puede ocurrir que las operaciones realizadas por i+1, i+2, dependan de los resultados de i que an no fue completada. Esta dependencia entre instrucciones crea riesgos que deben evitarse y resolverse. Se reconocen tres clases de riesgos, read-after-write, write-after-read y write-after-write. Veamos las diferencias considerando este segmento de cdigo de programa: Almacenar en x Sumar x Almacenar en x Almacenar en x El riesgo read-after-write entre dos instrucciones i y j (siendo j posterior a i) se presentara cuando j trata de leer un operando que es modificado por i. Si la operacin en i que modifica el operando no se completa antes que j lo acceda, entonces j leer el valor errneo. En el ejemplo el riesgo existir entre el primer almacenar en x y el sumar x, si el sumar x extrae el operando antes que haya sido actualizado por almacenar. El write-after-read ocurre cuando la instruccin j desea modificar un operando que es ledo por i. Si j modifica el operando antes que i lo haya ledo, este dato as ledo ser errneo. Este riesgo puede existir entre el sumar y el segundo almacenar en x. Finalmente el write-after-write existe cuando i y j tratan de actualizar el mismo operando, en el caso que j lo haga en primer lugar. En nuestro ejemplo se el segundo almacenar se realiza despus del tercero, obviamente el valor en x no es el que el programa espera.

3.1.2 Se+mentadas. 3.1.3 "e multiprocesamiento. 3.2 Anlisis de los componentes. 3.2.1 CPU.
Anidad central de proceso o A$@ %conocida por sus siglas en ingl8s+ $@A&+ circuito microsc,pico que interpreta ) e'ecuta instrucciones. .a $@A se ocupa del control ) el proceso de datos en las computadoras. Deneralmente+ la $@A

es un microprocesador 0abricado en un c5ip+ un (nico tro7o de silicio que contiene millones de componentes electr,nicos. El microprocesador de la $@A est- 0ormado por una unidad aritm8tico:l,gica que reali7a c-lculos ) comparaciones+ ) toma decisiones l,gicas %determina si una a0irmaci,n es cierta o 0alsa mediante las reglas del -lgebra de Eoole&F por una serie de registros donde se almacena in0ormaci,n temporalmente+ ) por una unidad de control que interpreta ) e'ecuta las instrucciones. @ara aceptar ,rdenes del usuario+ acceder a los datos ) presentar los resultados+ la $@A se comunica a trav8s de un con'unto de circuitos o cone2iones llamado bus. El bus conecta la $@A a los dispositivos de almacenamiento %por e'emplo+ un disco duro&+ los dispositivos de entrada %por e'emplo+ un teclado o un mouse& ) los dispositivos de salida %por e'emplo+ un monitor o una impresora&. .os 0actores relevantes de los c5ips de A$@ son? $ompatibilidad? o todo el so0t es compatible con todas las A$@. En algunos casos se pueden resolver los problemas de compatibilidad usando so0t<are especial. 6elocidad? .a velocidad de una computadora est- determinada por la velocidad de su relo' interno+ el dispositivo cronom8trico que produce pulsos el8ctricos para sincroni7ar las operaciones de la computadora. .as computadoras se describen en 0unci,n de su velocidad de relo'+ que se mide en mega 5ert7. .a velocidad tambi8n est- determinada por la arquitectura del procesador+ es decir el dise1o que establece de qu8 manera est-n colocados en el c5ip los componentes individuales de la $@A. Desde la perspectiva del usuario+ el punto crucial es que /m-s r-pido/ casi siempre signi0ica /me'or/. El @rocesador? El c5ip m-s importante de cualquier placa madre es el procesador. Sin el la computadora no podr*a 0uncionar. A menudo este componente se determina $@A+ que describe a la per0ecci,n su papel dentro del sistema. El procesador es realmente el elemento central del proceso de procesamiento de datos. .os procesadores se describen en t8rminos de su tama1o de palabra+ su velocidad ) la capacidad de su RA; asociada. #ama1o de la palabra? Es el n(mero de bits que se mane'a como una unidad en un sistema de computaci,n en particular. 6elocidad del procesador? Se mide en di0erentes unidades seg(n el tipo de computador? ;C7 %;ega5ert7&? para microcomputadoras. An oscilador de cristal controla la e'ecuci,n de instrucciones dentro del procesador. .a velocidad del procesador de una micro se mide por su 0recuencia de oscilaci,n o por el n(mero de ciclos de relo' por segundo. El tiempo transcurrido para un ciclo de relo' es 1/0recuencia. ;!@S %;illones de instrucciones por segundo&? @ara estaciones de traba'o+ minis ) macrocomputadoras. @or e'emplo una computadora de 144 ;!@S puede e'ecutar 144 millones de instrucciones por segundo.

9.O@S %0loating point operations per second+ operaciones de punto 0lotante por segundo&? @ara las supercomputadoras. .as operaciones de punto 0lotante inclu)en ci0ras mu) peque1as o mu) altas. Ca) supercomputadoras para las cuales se puede 5ablar de D9.O@S %Diga0lops+ es decir 1.444 millones de 9.O@S&. $apacidad de la RA;? Se mide en t8rminos del n(mero de b)tes que puede almacenar. Cabitualmente se mide en GE ) ;E+ aunque )a 5a) computadoras en las que se debe 5ablar de DE.
3ttp7%%///.mono+ra8ias.com%traba-os12%comptcn%comptcn.s3tml9UCP

3.2.1.1

Arquitecturas.

Arquitectura interna del 1'% La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros estn dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos. Dentro del conjunto bsico de registros de control se deben incluir a los siguientes: Contador de programa PC!. "egistro de direcciones de la memoria #A"!. "egistro de datos "D!. "egistro de instrucciones $"!. Palabra de estado de programa P%&!. 9'1:+ La 'unci(n del PC consiste en seguir la pista de la instrucci(n por buscar capturar! en el siguiente ciclo de maquina, por lo tanto contiene la direcci(n de la siguiente instrucci(n por ejecutar. $l PC es modi'icado dentro del ciclo de b)squeda de la instrucci(n actual mediante la suma de una constante. $l numero que se agrega al PC es la longitud de una instrucci(n en palabras. Por lo tanto, si una instrucci(n tiene una palabra de longitud se agrega * al PC, si una instrucci(n tiene dos palabras de largo se agrega +, y as, sucesivamente. ;egistro de direcciones de la memoria 9<A;:+ 'unciona como registro de enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la direcci(n es colocada en el #A" por la unidad de control y a-, permanece -asta que se completa la transacci(n. $l numero de bit que -ay en el #A" es igual al del canal de direcciones. La di'erencia que e.iste entre el PC y el #A" es que durante el ciclo de ejecuci(n de una instrucci(n, el PC y el #A" sirven al mismo 'in. %in embargo, muc-as de las instrucciones de la maquina -acen re'erencia a la memoria y operan con los datos que estn en ella. Como la direcci(n de los datos suele ser di'erente de la instrucci(n siguiente se necesita el #A".

;egistro de datos+ la 'unci(n del "D consiste en proporcionar un rea de almacenamiento temporal memoria intermedia, acumulada o bu''er! de datos que se intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones obtenidos en el ciclo de ejecuci(n! o datos del operando obtenidos en el ciclo de ejecuci(n!. Debido a su cone.i(n directa con el canal de datos el "D contiene el mismo numero de bit que dic-o canal. ;egistro de instrucciones 9E;:+ es un registro que conserva el c(digo de operaci(n de la instrucci(n en todo el ciclo de la maquina. $l c(digo es empleado por la unidad de control de la CPU para generar las se/ales apropiadas que controla le ejecuci(n de la instrucci(n. La longitud del $" es la longitud en bit del c(digo de operaci(n. 'ala#ra de estado de programa 9',=:+ la palabra de estado o condici(n de programa almacena in'ormaci(n pertinente sobre el programa que este ejecutndose. Por ejemplo al completarse una 'unci(n de la unidad aritm0tica l(gica se modi'ica un conjunto de bit llamados c(digos o se/ales de condici(n!. $stos bit especi'ican si el resultado de una operaci(n aritm0tica 'ue 1 o negativo o si el resultado se desbord(. $l programa puede veri'icar estos bit en las instrucciones siguientes cambiar en 'orma condicional su 'lujo de control seg)n su valor. Adems el P%& contiene bit que -acen posible que la computadora responda a solicitudes de servicio asincr(nicas generadas por dispositivos de $ntrada2%alida, o condiciones de error interno. $stas se/ales se denominan interrupciones. Los registros restantes que se pueden encontrar en un microprocesador son de uso general. $stos se utili3an para almacenar in'ormaci(n en 'orma temporal. 4ambi0n retienen operandos que participan en operaciones de la ULA. Algunas veces el conjunto de instrucciones de la computadora y el esquema de direccionamiento de la arquitectura restringe el uso de alguno de estos registros. %i bien en todas las maquinas la in'ormaci(n contenida en el registro puede manipularse como datos ordinarios durante la ejecuci(n de algunas instrucciones los datos se utili3an en 'orma e.pl,cita para decidir una direcci(n de la memoria. La ventaja de usar registros para retener datos de operaciones es la velocidad. -ttp:55-tml.rincondelvago.com5arquitectura2interna2de2la2cpu.-tml

Elementos que la componen


1. Unidad de control2 controla el funcionamiento de la *,4 + por tanto de el computador. 7. Unidad aritmtico-lgica (ALU)2 encar&ada de llevar a ca1o las funciones de procesamiento de datos del computador. 8. Registros proporcionan almacenamiento interno a la *,4. 4. !ntercone"iones C#U :on mecanismos que proporcionan comunicacin entre la unidad de control! la )L4 + los re&istros. Unidad de Control.

La 4nidad de *ontrol (4*) coordina la actividad de todos los elementos que de1en intervenir en un proceso concreto. 'iri&e todas las seales elctricas del ordenador! es decir! es responsa1le del correcto funcionamiento de todos los componentes de la *,4. 'e esta forma! de1e &o1ernar el funcionamiento de los perifricos de entrada! salida + almacenamiento! al mismo tiempo que el acceso a la memoria principal + la )L4. ,or esta razn la 4* es la encar&ada de interpretar el pro&rama! del que reci1e las instrucciones codificadas convenientemente! as< como de enviar las rdenes oportunas a las unidades perifricas implicadas. La 4* utiliza una seal &enerada por un relo; interno con o1;eto de sincronizar el funcionamiento operativo de cada elemento. Esta tarea es fundamental! +a que! en caso contrario! no podr<a esta1lecerse un ritmo de operacin adecuado que controle la velocidad de tra1a;o de cada componente. :e comprende f"cilmente que la ma+or o menor frecuencia del relo; interno! determinar" la capacidad de $acer un nAmero ma+or o menor de instrucciones por se&undo. Esta velocidad se suele medir actualmente en &i&a$ertzios (DHz). %o todas las instrucciones que ten&a que e;ecutar la 4* consumen el mismo nAmero de seales &eneradas por el relo;! sino que las instrucciones comple;as necesitar"n m"s ciclos que las instrucciones simples. En cualquier caso! la 4* se encar&ar" de las si&uientes funciones2

'eterminar si el ordenador est" en fase de introduccin o en fase de e;ecucin de pro&rama. En el primer caso! la 4* activa la unidad de entrada de datos + controla que las sucesivas instrucciones que componen el pro&rama va+an siendo almacenadas en posiciones conti&uas de memoria. En la fase de e;ecucin del pro&rama! la 4* decodifica la primera instruccin del pro&rama + se&An el tipo de instruccin pide su e;ecucin al dispositivo adecuado2 las entradas + salidas a los perifricos + las operaciones aritmticas + l&icas a la )L4. 'ecodificar la instruccin en curso +! se&An su cdi&o de operacin! mandar una seal para que actAe la 4nidad )ritmtico3L&ica o una 4nidad de entrada o de salida. 0erificar la transferencia de informacin entre los re&istros + la memoria principal + viceversa. *ontrolar qu instruccin se est" e;ecutando en cada momento + qu instruccin de1er" se&uirle a continuacin.

Unidad Aritmtico-Logica. La 4nidad )ritmtico3L&ica ()L4! Arithmetic-Logical Unit) es la encar&ada de e;ecutar las operaciones aritmticas 1"sicas (suma! resta! multiplicacin + divisin) + l&icas ()%'! 6E! %6?). :lo con estas operaciones 1"sicas es procesada toda la informacin + se o1tienen los resultados. Los datos so1re los que opera esta unidad provienen de la memoria principal + pueden estar almacenados temporalmente en al&unos re&istros internos de la propia unidad. La 4* se encar&a de enviarle los datos correspondientes e indicarle qu operacin tiene que realizar.

3.2.1.2
Tipos

Tipos.

/"sicamente nos encontramos con dos tipos de diseo de los microprocesadores2 E(:* (Eeduced3(nstruction3:et *omputin&) + *(:* (comple>3instruction3set computin&). Los microprocesadores RISC se 1asan en la idea de que la ma+or<a de las instrucciones para realizar procesos en el computador son relativamente simples por lo que se minimiza el nAmero de instrucciones + su comple;idad a la $ora de disear la *,4. )l&unos e;emplos de arquitectura E(:* son el :,)E* de :un .icros+stemFs! el microprocesador )lp$a diseado por la anti&ua 'i&ital! $o+ a1sor1ida por *ompaq + los .otorola GGHHH + ,oBer,*. Estos procesadores se suelen emplear en aplicaciones industriales + profesionales por su &ran rendimiento + fia1ilidad. Los microprocesadores CISC! al contrario! tienen una &ran cantidad de instrucciones + por tanto son mu+ r"pidos procesando cdi&o comple;o. Las *,4Is *(:* m"s e>tendidas son las de la familia GH>GJ de (ntel cu+o Altimo micro es el ,entium ((. Kltimamente $an aparecido otras compa<as como *iri> + ).' que fa1rican procesadores con el ;ue&o de instrucciones GH>GJ + a un precio sensi1lemente inferior al de los microprocesadores de (ntel. )dem"s! tanto (ntel con ..L como ).' con su especificacin 8'3%oBM est"n apostando por e>tender el con;unto de instrucciones de la *,4 para que tra1a;e m"s eficientemente con tratamiento de im"&enes + aplicaciones en 8 dimensiones.

3.2.1.3

Caractersticas.

La *,4 $a de cumplir dos caracter<sticas 1ien definidas2 1. :er capaz de reconocer + e;ecutar una serie de instrucciones elementales (pro&rama) en 1ase a las cuales se puede realizar cualquier proceso de datos deseado! por comple;o que sea. 7. ?ener separados dos estados diferentes. En una primera fase $a de poder reci1ir + memorizar las instrucciones que confi&uran el proceso pedido (introduccin del pro&rama) + en se&unda fase de1e e;ecutar en secuencia las instrucciones reci1idas (e;ecucin del pro&rama). )l realizar esta e;ecucin se leer"n los datos que se necesiten a travs de un dispositivo de entrada de datos en el momento en que sean requeridos! realizando las operaciones que forman el proceso $asta la o1tencin de los resultados! los cuales ser"n enviados al usuario a travs de un dispositivo de salida.

3.2.1.
Funciones que eali!a

!uncionamiento.

La 4nidad central de proceso o *,4! se puede definir como un circuito microscpico que interpreta + e;ecuta instrucciones. La *,4 se ocupa del control + el proceso de datos en los ordenadores. Ha1itualmente! la *,4 es un microprocesador fa1ricado en un

c$ip! un Anico trozo de silicio que contiene millones de componentes electrnicos. El microprocesador de la *,4 est" formado por una unidad aritmtico3l&ica que realiza c"lculos + comparaciones! + toma decisiones l&icas (determina si una afirmacin es cierta o falsa mediante las re&las del "l&e1ra de /oole)N por una serie de re&istros donde se almacena informacin temporalmente! + por una unidad de control que interpreta + e;ecuta las instrucciones. ,ara aceptar rdenes del usuario! acceder a los datos + presentar los resultados! la *,4 se comunica a travs de un con;unto de circuitos o cone>iones llamado 1us. El 1us conecta la *,4 a los dispositivos de almacenamiento (por e;emplo! un disco duro)! los dispositivos de entrada (por e;emplo! un teclado o un mouse) + los dispositivos de salida (por e;emplo! un monitor o una impresora).

3.2.2 Memoria.
Se denomina memoria a los circuitos que permiten almacenar ) recuperar la in0ormaci,n. En un sentido m-s amplio+ puede re0erirse tambi8n a sistemas e2ternos de almacenamiento+ como las unidades de disco o de cinta. Memoria de acceso aleatorio o ,AM %Random Access ;emor)& es la memoria basada en semiconductores que puede ser le*da ) escrita por el microprocesador u otros dispositivos de 5ard<are. El acceso a las posiciones de almacenamiento se puede reali7ar en cualquier orden. .os c5ips de memoria son peque1os rect-ngulos negros que suelen ir soldados en grupos a unas plaquitas con /pines/ o contactos. .a di0erencia entre la RA; ) otros tipos de memoria de almacenamiento+ como los disquetes o los discos duros+ es que la RA; es muc5*simo m-s r-pida+ ) que se borra al apagar el ordenador+ no como 8stos.

El interior de cada c$ip se puede ima&inar como una matriz o ta1la! en la cual cada celda es capaz de almacenar un 1it. ,or tanto! un 1it se puede localizar directamente proporcionando una fila + una columna de la ta1la. En realidad! la *,4 identifica cada celda mediante un nAmero ! denominado direccin de memoria. ) partir de una direccin! se calcula cu"l es la fila + columna correspondiente! con lo que +a se puede acceder a la celda deseada. El acceso se realiza en dos pasos2 primero se comunica la fila + lue&o la columna! empleando los mismos terminales de cone>in. 61viamente! esta tcnica (denominada multiple>ado) permite emplear menos terminales de cone>in para acceder a la E).! lo que optimiza la relacin entre el tamao del c$ip + la capacidad de almacenamiento. Eealmente! la *,4 no suele tra1a;ar con 1its independientes! sino m"s 1ien con a&rupaciones de los mismos en forma de pala1ras 1inarias. Esto $ace que la E). no se presente en un solo c$ip! sino m"s 1ien en a&rupaciones de los mismos.
Cemos de tener mu) en cuenta que esta memoria es la que mantiene los programas 0uncionando ) abiertos+ por lo que al ser Hindo<s >5/>I un sistema operativo multitarea+ estaremos a merced de la cantidad de memoria RA; que tengamos dispuesta en el ordenador. En la actualidad 5emos de disponer de la ma)or cantidad posible de 8sta+ )a que estamos supeditados al 0uncionamiento m-s r-pido o m-s lento de nuestras aplicaciones diarias. .a memoria RA; 5ace unos a1os era mu) cara+ pero 5o) en d*a su precio 5a ba'ado considerablemente. $uando alguien se pregunta cu-nta memoria RA; necesitar- debe sopesar con qu8 programas va a traba'ar normalmente. Si (nicamente vamos a traba'ar con aplicaciones de te2to+ 5o'as de c-lculo ) similares nos bastar- con unos 32 ;b de 8sta %aunque esta ci0ra se 5a quedado bastante corta&+ pero si traba'amos con multimedia+ 0otogra0*a+ v*deo o $AD+ por poner

un e'emplo+ 5emos de contar con la m-2ima cantidad de memoria RA; en nuestro equipo %unos 12I ;b o m-s& para que su 0uncionamiento sea ,ptimo+ )a que estos programas son aut8nticos devoradores de memoria. Co) en d*a no es recomendable tener menos de J" ;b+ para el buen 0uncionamiento tanto de Hindo<s como de las aplicaciones normales+ )a que notaremos considerablemente su rapide7 ) rendimiento+ pues generalmente los equipos actuales )a traen 12I ;b de RA;.

3.2.2.1

Arquitecturas.

Elementos que la componen 4na memoria vista desde el e>terior! tiene la estructura mostrada en la fi&ura 831. ,ara efectuar una lectura se deposita en el 1us de direcciones la direccin de la pala1ra de memoria que se desea leer + entonces se activa la seal de lectura (E)N despus de cierto tiempo (tiempo de latencia de la memoria)! en el 1us de datos aparecer" el contenido de la direccin 1uscada. ,or otra parte! para realizar una escritura se deposita en el 1us de datos la informacin que se desea escri1ir + en el 1us de direcciones la direccin donde deseamos escri1irla! entonces se activa la seal de escritura (O)! pasado el tiempo de latencia! la memoria escri1ir" la informacin en la direccin deseada. (nternamente la memoria tiene un re&istro de direccin (.)E! memor+ address re&ister)! un re&istro 1uffer de memoria o re&istro de datos (./! memor+ 1uffer! o .'E! memor+ data re&ister) +! un decodificador como se ve en la fi&ura 837. Esta forma de estructurar la memoria se llama or&anizacin lineal o de una dimensin. En la fi&ura cada l<nea de pala1ra activa todas las clulas de memoria que corresponden a la misma pala1ra.

,or otra parte! en una memoria E6. pro&rama1le por el usuario con or&anizacin lineal! las uniones de los diodos correspondientes a lu&ares donde de1a $a1er un @H@ de1en destruirse. ?am1in se pueden sustituir los diodos por transistores + entonces la clula de memoria tiene el esquema de la fi&ura 838 en este caso la unin que de1e destruirse para &ra1ar un @H@ es la del emisor.

En el caso de una memoria E). est"tica con or&anizacin lineal cada clula de memoria toma la forma mostrada en la fi&ura 834. En este esquema las primeras puertas )%' slo son necesarias en el una de las clulas de cada pala1ra. :e de1e comentar la necesidad de la puerta de tres estados a la salida del 1iesta1le2 esta puerta se pone para evitar que se unan las salidas de los circuitos de las clulas de diferentes pala1ras a travs del $ilo de 1it. :i esa puerta no se pusiera (o $u1iera otro tipo de puerta en su lu&ar! como una puerta )%') la informacin correspondiente a la pala1ra activa entrar<a por los circuitos de salida de las dem"s clulas! lo que los daar<a. 6r&anizar 1a memoria de esta forma! tiene el inconveniente de que la comple;idad del decodificador crece e>ponencialmente con el nAmero de entradas +! en una memoria de muc$a capacidad! la comple;idad del decodificador la $ace invia1le. Esto $ace necesaria una alternativa que simplifique los decodificadores. Esta alternativa la constitu+e la or&anizacin en dos dimensiones en que los 1its del re&istro de direccin se dividen en dos partes + cada una de ellas va a un decodificador diferente. En este caso! las l<neas procedentes de am1os decodificadores (L e P) se cruzan formando un sistema de coordenadas en que cada punto de cruce corresponde a una pala1ra de memoria. 'ado que en cada decodificador slo se activa una l<nea! slo se activar" la pala1ra correspondiente al punto de cruce de las dos l<neas activadas. Q"cilmente se puede comprender que los decodificadores se simplifican muc$o +a que cada uno tiene la mitad de entradas que en el caso anterior. Ha+ que decir! sin em1ar&o! que la clula de memoria se complica un poco porque $a+ que aadir una puerta )%' en cada pala1ra para determinar si coinciden las l<neas L e P.

La or&anizacin de la memoria en dos dimensiones tam1in es Atil para las memorias din"micas +a que el refresco de estas memorias se realiza por 1loques + stos pueden coincidir con una de las dimensiones (la que corresponda a los 1its de direccin de ma+or peso). En la pr"ctica! las memorias din"micas son m"s lentas que las est"ticas + adem"s son de lectura destructiva! pero resultan m"s 1aratas! aunque necesiten circuitos de refresco! si la memoria no es de muc$a capacidad.

3.2.2.2

Tipos.

Tipos y Funcionamiento Todas hacen la misma funcin, pero entre ellas las diferenciamos por el tiempo de acceso y la capacidad, o por el modo como trabajan: Registros del microprocesador: Interaccionan continuamente con la CPU, puesto que forman parte de ella, su tiempo de acceso es muy pequeo y una capacidad mnima, normalmente i ual a la !palabra! del microprocesador "de # a $ bytes%& Registros intermedios: '(sicamente es un paso intermedio entre dos memorias, un buffer& Tiene capacidad muy pequea y un tiempo de acceso tambi)n muy pequeo& Memoria cach: *s la m(s utili+ada por la CPU, y la m(s importante entre la principal y el microprocesador& ,unque sean de pequea capacidad, normalmente una fraccin de la memoria principal m(-ima posible, est( continuamente intercambiando informacin tanto con el procesador como con la memoria principal, aunque normalmente se utili+a para uardar la direccin de la memoria principal, en .e+ de almacenar el archi.o entero, as tarda menos a pasar la informacin hacia la CPU, que si lo hiciera mediante la cach)& / es por esta ra+n, que a menudo "e-cepto modelos especiales como Celeron y 0uron%, hay dos de memorias cach), dos ni.eles: Uno en el interior del microprocesador "1#%, y el otro entre la principal y la CPU "12%, al e-terior del !micro! de m(s capacidad que la de dentro& Memoria central o principal: 0onde se almacenan pro ramas y datos& 1a CPU lee y escribe en ella aunque en menos cantidades que en las anteriores& Tiempo de acceso relati.amente r(pido y ran capacidad& Memorias de masas o auxiliares: 3on dispositi.os e-teriores al ordenador o conectados a la placa base por un controlador de bus "disco duro, disquetes, etc&%& 0nde se almacenen todos los pro ramas y archi.os para un uso posterior& *n caso de que la memoria principal sea insuficiente, se hacen ser.ir como apoyo para )sta, denominada !memoria .irtual!&

Como he mencionado anteriormente, las memorias adem(s de clasificarse por su tiempo de acceso y capacidad, tambi)n se pueden clasificar por la forma en que se modifican los datos y la tecnolo a empleada& ,s, encontramos que hay dos randes rupos:

1. Memorias RAM (Random Acces Memory): 3on memorias en las que se puede leer y escribir& 3e componen electrnicamente por chips, dnde se pueden subdi.idir en: SRAM (Static RAM): 3u c)lula est( basada en un biestable& DRAM (Dinamic RAM): 3u c)lula est( basada en un pequeo condensador, car a del cual representa la informacin almacenada& *stas necesitan circuitos adicionales de refresco, puesto que como los condensadores son de baja capacidad, a tra.)s de la s fu as, la informacin se podra perder4 son de lectura destructi.a& 2. Memorias ROM (Read Only Memory): 3on memorias en las que slo se puede leer& 5ay de .arios tipos: ROM: pro ramadas por m(scara, la informacin es rabada enla f(brica y no tiene posible modificacin& PROM, o ROM: pro ramable una sola .e+& EPROM (Erasa le PROM) o RPROM (Reprograma le ROM): su contenido puede ser borrado mediante rayos ultra.ioletas, para acto se uido re rabarlas& EAROM (Electrically Altera le ROM) o EEROM (Electrically Erasa le ROM), son la frontera entre las 6,7 y las 687, su contenido puede ser re rabado el)ctricamente, se diferencian de las 6,7 en que no son .ol(tiles& Memoria FLASH, denominada as por la .elocidad en la que se puede repro ramar "en tan solo se undos%, usan el borrado el)ctrico& '(sicamente las 687 se basan en una matri+ de diodos unidos, esta unin puede ser destruida por una sobretensin& 0e esta forma, salen de la f(brica con las uniones juntas y para rabarlas se rompen dnde se quieran poner ceros& ,parte de los mdulos de memoria aqu mencionados tambi)n e-isten, aunque ya en desuso, de otros como los SIMM !Single "n<-#ine Memory Module) y los SIP !Single In$#ine Pac%ages), los cuales no son nada m(s que chips de memoria soldados entre ellos para formar un 9nico conjunto& Tambi)n hay modelos m(s nue.os como el DDR !Do leData Rate) que se usa b(sicamente en equipos basados en microprocesadores ,70, ahora implementados tambi)n en equipos Intel, aunque principalmente se usan en las tarjetas r(ficas, aunque Intel ya posee la del tipo RAMBUS& 1a 006 es el mismo que la 306 pero en doble sentido, de ida y de .uelta, mientras que la se unda"306% solamente puede hacer ser.ir un sentido ida o .uelta&

5ttp?//<<<.5ard<are12v.com/conocimientospc/5.p5p #ipos de ;emoria RA;


DRA; %D)namic Random Access ;emor)&? Es la memoria de traba'o+ tambi8n llamada RA;+ esta organi7ada en direcciones que son reempla7adas muc5as veces por segundo. Esta memoria lleg, a alcan7ar velocidades de I4 ) K4 nanosegundos %ns&+ esto es el tiempo que tarda en vaciar una direcci,n para poder dar entrada a la siguiente+ entre menor sea el n(mero+ ma)or la velocidad+ ) 0u8 utili7ada 5asta la 8poca de los equipos 3IJ. 9@; %9ast @age ;ode&? El nombre de esta memoria procede del modo en el que 5ace la trans0erencia de datos+ que tambi8n es llamado paginamiento r-pido. Casta 5ace apro2imadamente un a1o 8sta memoria era la m-s popular+ era el tipo de memoria normal para las computadores 3IJ+ "IJ ) los primeros @entiumL+ lleg, a 0abricarse en velocidades de J4ns ) la 0orma que presentaban era en m,dulos S!;; de 34 pines+ para los equipos 3IJ ) "IJ ) para los equipos @entiumL era en S!;; de K2 pines. EDO %E2tended Data Output&? Esta memoria 0ue una innovaci,n en cuesti,n de transmisi,n de

datos pudiendo alcan7ar velocidades de 5asta "5ns+ de'ando satis0ec5os a los usuarios. .a transmisi,n se e0ectuaba por bloques de memoria ) no por instrucci,n como lo ven*a 5aciendo las memorias 9@;. Se utili7a en equipos con procesadores @entiumL+ @entium @roL ) los primeros @entium !!L+ adem-s de su alta compatibilidad+ tienen un precio ba'o ) es una opci,n viable para estos equipos. Su presentaci,n puede ser en S!;; , D!;;. SDRA; %S)nc5ronous DRA;&? Esta memoria 0unciona como su nombre lo indica+ se sincroni7a con el relo' del procesador obteniendo in0ormaci,n en cada ciclo de relo'+ sin tener que esperar como en los casos anteriores. .a memoria SDRA; puede aceptar velocidades de EAS de 5asta 144;57+ lo que nos re0le'a una mu) buena estabilidad ) alcan7ar velocidades de 14ns. Se presentan en m,dulos D!;;+ ) debido a su trans0erencia de J" bits+ no es nesesario instalarlo en pares. RDRA; %Rambus DRA;&? Esta memoria tiene una trans0erencia de datos de J" bits que se pueden producir en r-0agas de 2ns+ adem-s puede alcan7ar ta7a de tran0erencia de 533 ;57 con picos de 1.JDb/s. ;u) pronto alcan7ar- dominio en el mercado+ )a que se estarutili7ando en equipos con el nuevo procesador @entium "L. Es ideal )a que evita los cuellos de botella entre la tar'eta gr-0ica AD@ ) la memoria del sistema+ 5o) en d*a se pueden encontrar 8ste tipo de memorias en las consolas ! #E DO J"L. Ser- lan7ada al mercado por SA;SA DL e C!#A$C!L.

#ipos de ;emoria RO;


E@RO; %Erasable @rogrammable Read:Onl) ;emor)&? Se utili7a para corregir errores de (ltima 5ora en la RO;+ el usuario no la puede modi0icar ) puede ser borrada e2poniendo la RO; a una lu7 ultravioleta. EE@RO; %Electricall) Erasable @rogrammable Read:Onl) ;emor)&? Esta memoria puede ser borrada ) volver a ser programada por medio de una carga el8ctrica+ pero s,lo se puede cambiar un b)te de in0ormaci,n a la ve7. ;E;OR!A 9.ASC? Es un tipo de memoria EE@RO; que es reprogramable+ su utili7aci,n por lo regular es en E!OS de a5* su nombre. Otros tipos de memoria RA; EEDO %Eurst E2tended Data Output&? 9ue dise1ada para alcan7ar ma)ores velocidades de EAS. #raba'a de igual 0orma que la SDRA;+ , sea+ la trans0erencia de datos se 5ace en cada ciclo de relo'+ pero esta memoria lo 5ace en r-0agas %burst&+ 5aciendo que los tiempos de entrega desapare7can casi totalmente. DDR SDRA; %Double Data Rate SDRA; , SDRA;:!!&? Esta memoria tendr- el mismo aspecto que un D!;;+ pero la di0erencia estar- en que tendr- m-s pines+ pasando de 1JI pines del actual D!;; a 1I" pines+ adem-s de tener s,lo una muesca en la tableta. 6iendo un poco de volta'e+ la DDR traba'ar- con tan s,lo 2.56+ siendo 8sta una reducci,n del 343 respecto a los actuales 3.36 de la SDRA;. #raba'ar- a velocidades de 244;57. 6RA;? Es como la memoria RA; normal+ pero la di0erencia redit(a en que podr- ser accedida al mismo tiempo por el monitor ) el procesador de la tar'eta de video+ se podr- leer ) escribir en ella al mismo tiempo. SDRA; %S)nc5ronous Drap5ic RA;&? O0rece las mismas capacidades de la memoria SDRA; pero para las tar'etas gr-0icas+ se utili7a en las nuevas tar'etas gr-0icas aceleradoras 3D.

5ttp?//<<<.monogra0ias.com/traba'os1"/dispositivos/dispositivos.s5tmlM =erarqu*a de memoria En un ordenador $a+ una ;erarqu<a de memorias atendiendo al tiempo de acceso + a la capacidad que. normalmente son factores contrapuestos por razones econmicas + en muc$os casos tam1in f<sicas. *omenzando desde el procesador al e>terior! es decir en orden creciente de tiempo de acceso + capacidad! se puede esta1lecer la si&uiente ;erarqu<a2

Registros de procesador Estos re&istros interaccionan continuamente con la *,4 (porque forman parte de ella). Los re&istros tienen un tiempo de acceso mu+ pequeo + una capacidad m<nima! normalmente i&ual a la pala1ra del procesador (1 a G 1+tes). Registros intermedios *onstitu+en un paso intermedio entre el procesador + la memoria! tienen un tiempo de acceso mu+ 1reve + mu+ poca capacidad. !emorias cac" :on memorias de pequea capacidad. %ormalmente una pequea fraccin de la memoria principal. + pequeo tiempo de acceso. Este nivel de memoria se coloca entre la *,4 + la memoria central. Hace al&unos aos este nivel era e>clusivo de los ordenadores &randes pero actualmente todos los ordenadores lo incorporan. 'entro de la memoria cac$ puede $a1er! a su vez! dos niveles denominados cach on chip$ memoria cac$ dentro del circuito inte&rado! + cac$ on %oard$ memoria cac$ en la placa de circuito impreso pero fuera del circuito inte&rado! evidentemente! por razones f<sicas! la primera es muc$o m"s r"pida que la se&unda. E>iste tam1in una tcnica! denominada )rquitectura Harvard! en cierto modo contrapuesta a la idea de 0on %eBmann! que utiliza memorias cac$ separadas para cdi&o + datos. Esto tiene al&unas venta;as como se ver" en este cap<tulo. !emoria central o principal En este nivel residen los pro&ramas + los datos. La *,4 lee + escri1e datos en l aunque con menos frecuencia que en los niveles anteriores. ?iene un tiempo de acceso relativamente r"pido + &ran capacidad. E#tensiones de memoria central :on memorias de la misma naturaleza que la memoria central que ampl<an su capacidad de forma modular. El tiempo de similar! a lo sumo un poco ma+or! al de la memoria central + su capacidad puede ser al&unas veces ma+or. !emorias de masas o au#iliares :on memorias que residen en dispositivos e>ternos al ordenador! en ellas se arc$ivan pro&ramas + datos para su uso posterior. ?am1in se usan estas memorias para apo+o de la memoria central en caso de que sta sea insuficiente (memoria virtual). Estas memorias suelen tener &ran capacidad pero pueden lle&ar a tener un tiempo de acceso mu+ lento. 'entro de ellas tam1in se pueden esta1lecer varios niveles de ;erarqu<a. Clasi$icaci%n de memorias semiconductoras de acceso aleatorio Las memorias se clasifican! por la tecnolo&<a empleada +! adem"s se&An la forma en que se puede modificar su contenido! ) este respecto! las memorias se clasifican en dos &randes &rupos2 1) .emorias E).2 :on memorias en las que se puede leer + escri1ir! si 1ien su nom1re (Eandom access memor+) no representa correctamente este $ec$o. ,or su tecnolo&<a pueden ser de ferritas (+a en desuso) o electrnicas! 'entro de stas Altimas $a+ memorias est"ticas (:E).! static E).)! cu+a clula de memoria est" 1asada en un 1iesta1le! + memorias din"micas ('E).! dinamic E).! en las que la clula de memoria es un pequeo condensador cu+a car&a representa la informacin almacenada. Las memorias din"micas necesitan circuitos adicionales de refresco +a que los condensadores tienen mu+ poca capacidad +! a travs de las fu&as! la informacin puede perderse! por otra parte! son de lectura destructiva.

7) .emorias E6. (Eead Hnl+ .emor+)2 :on memorias en las que slo se puede leer. ,ueden ser2 E6. pro&ramadas por m"scara! cu+a informacin se &ra1a en f"1rica + no se puede modificar. aa ,E6.! o E6. pro&rama1le una sola vez.
aa aa

E,E6. (erasa1le ,E6.) o E,E6. (repro&rama1le E6.)! cu+o contenido puede 1orrarse mediante ra+os ultravioletas para E)E6. (electricall+ altera1le E6.) o EEE6. (electricall+ erasa1le E6.)! que son memorias que est" en la frontera entre las E). + las E6. +a que su contenido puede re&ra1arse por medios elctricos! estas se diferencian de las E). en que no son vol"tiles. En ocasiones a este tipo de memorias tam1in se las denomina %PE). (no vol"til E).). .emoria QL):H! denominada as< por la velocidad con la que puede repro&ramarse! utilizan tecnolo&<a de 1orrado elctrico al i&ual que las EE,E6.. Las memorias flas$ pueden 1orrarse enteras en unos cuantos se&undos! muc$o m"s r"pido que las E,E6..

aa

aa

/"sicamente las memorias E6. se 1asan en una matriz de diodos cu+a unin se puede destruir aplicando so1re ella una so1retensin (usualmente comprendida ente 317. + 34H v.). 'e f"1rica la memoria sale con 1=s en todas sus posiciones! para &ra1arla se rompen las uniones en que se quieran poner H=s. Esta forma de realizar la &ra1acin se denomina tcnica de los fusi1les.
.os tipos m-s usados de memoria RA; son los siguientes? ",AM %Dinamic RAM)! .a primera memoria 5asta la aparici,n de los 3IJ+ era algo lenta %K4 , I4 ns&. En 0ormato D!;; o S!;; de 34 contactos. !ast Pa+e :!PM o ",AM;7 Algo m-s r-pida que la anterior %K4 , J4 ns&. Se presenta en 0ormato S!;; de 34 , K2 contactos. 0"&2,AM %"#tended Data Output RAM)! @ermite empe7ar a introducir nuevos datos mientras los anteriores est-n saliendo %K4+ J4 , 54 ns&+ lo que la 5ace algo m-s r-pida %un 53 m-s que la 9@;&. 6ienen en S!;;s de K2 contactos+ aunque tambi8n los 5a) en D!;; de 1JI. S",AM %$incronic RAM&? 9unciona sincroni7adamente con la velocidad de la placa %de 54 a JJ ;C7&+ para lo que debe ser rapid*sima %de 25 a 14 ns& ) se presenta en 0orma de D!;;s de 1JI contactos. PC1<< %$DRAM de %&& M'()! ;emoria SDRA; que 0unciona a 144 ;C7+ que utili7an los micros m-s modernos.

Seg(n los tipos de conectores que lleve la memoria+ al con'unto de 8stos se les denominan m,dulos+ ) 8stos a su ve7 se dividen en? S$MM %$in)le In line Memory Module)! @eque1a placa de circuito impreso con varios c5ips de memoria integrados. Se 0abrican con di0erentes velocidades de acceso

capacidades %"+ I+ 1J+ 32+ J" ;b& ) son de 34 , K2 contactos. Se montan por pares generalmente. "$MM7 Son m-s alargados+ cuentan con 1JI contactos ) llevan dos muescas para 0acilitar su correcta colocaci,n. @ueden montarse de 1 en 1.

&ipos de memoria RA!. La memoria E). del ordenador suele ser la m"s a1undante del sistema! +a que permite la &ra1acin + posterior recuperacin de la informacin contenida en la misma. ,odemos dividir la memoria E). en funcin del modo en el que tra1a;a2 memoria E). est"tica (:E).2 &tatic E).) + memoria E). din"mica ('E).2 D'namic E).). )m1os tipos de memoria almacenan los datos utilizando car&as elctricas. :e diferencian en que utilizan mtodos distintos para almacenarlos. La memoria :E). suele estar 1asada en transistores de tecnolo&<a .6: (:emiconductor de 6>ido3.etal)! que permiten el almacenamiento de una alta densidad de informacin. En este tipo de memoria la informacin se almacena en una red de osciladores 1iesta1les! es decir! osciladores que slo permiten dos estados2 cero o uno. La principal caracter<stica de las memorias E). est"ticas radica en que una vez introducida la informacin! sta se mantiene dentro de la memoria $asta que se desconecte la fuente de alimentacin. Las memorias 'E).! por el contrario! almacenan la informacin en forma de una car&a elctrica en un condensador! el cual slo puede almacenar una pequea cantidad de car&a que! unido a las inevita1les fu&as! provoca que la informacin se pierda a los pocos milise&undos. ,ara evitar el citado inconveniente! este tipo de memorias! que por otro lado son las m"s e>tendidas por ser las m"s econmicas + por ser las que ma+or densidad de informacin permiten! necesitan que se les refresque la informacin cada cierto tiempo. Ha+ que destacar que mientras la :E). necesita un m<nimo de siete transistores por cada 1it de informacin! la memoria 'E). solamente necesita un transistor .6:QE? + un condensador para la celda. El pequeo condensador! que se de1e recar&ar o refrescar miles de veces por se&undo! necesita de una circuiter<a adicional 1astante comple;a para sostener la informacin. ,ero esta comple;idad se ve compensada por lo reducido del tamao + del coste de cada celda de memoria. En &eneral! se emplea la 'E). como el sistema principal de almacenamiento de cdi&o + de datos! +a que es la m"s 1arata de fa1ricar. La :E). se utiliza cuando slo se necesitan pequeas cantidades de memoria! tal como en el caso de las memorias cac$s. La memoria cac$ es un tipo de memoria de acceso aleatorio especialmente r"pida que suele estar localizada! incluso! dentro del propio microprocesador. :uele ser de pequeo tamao + almacena la informacin mane;ada con ma+or frecuencia por la *,4. Los nuevos procesadores ,entium cuentan con dos memorias cac$s independientes! una para datos + otra para cdi&os.

) continuacin se descri1en 1revemente las tecnolo&<as de 'E). e>istentes en la actualidad2


E'6 (E"tended Data ()tp)t). (ncorpora varias innovaciones que permiten acelerar $asta un 1 R la velocidad de acceso a memoria. :'E). ('E). :<ncrona). Emplea una seal de relo;! sincronizada con la seal de relo; de la *,4! para coordinar las transferencias. *onsi&ue superar la velocidad de la memoria E'6 en un 7 R. ''E (Do)%le Data Rate) o :'E). ((. :e&unda &eneracin de las memorias :'E).. )provec$a tanto el estado alto como el 1a;o de la seal de relo; para sincronizar las transferencias. *onsi&ue duplicar la velocidad de transferencia sin modificar la frecuencia del relo; (es decir! con la misma *,4). E'E). (Ram%)s 'E).). Esta tecnolo&<a consi&ue multiplicar por 1H la velocidad de transferencia de una 'E). est"ndar! &racias a una tecnolo&<a e>clusiva denominada E:L (Eam1us :i&nalin& Lo&ic). :L'E). (s'nclin*). ?ecnolo&<a desarrollada por un consorcio de doce compa<as. Es una e>tensin de la :'E).! que permite ampliar el nAmero de 1ancos de 4 a 1J.

,or supuesto! para aprovec$ar una de estas tecnolo&<as! el ,* de1e estar preparado para ello. 0al&an como e;emplo los procesadores ,entium 4! que por medio de un acuerdo entre Eam1us e (ntel! vienen preparados para emplear E'E).. $ttp255ai1.um$.es51C(n?roduccionC(nformatica5tema75El,*pordentro.$tm

3.2.2.3

Caractersticas.

Caractersticas de la Memoria: $l tiempo de almacenamiento: voltil o no!. 6elocidad de acceso en operaciones de lectura 5 escritura. Capacidad de almacenamiento.

%in embargo: A mas velocidad mayor coste%7LUC89:Utili ar distintos tipos de memoria organi ada de forma !er"r#uica. $ipos: #emorias de solo lectura "7#: P"7# y $P"7# #emorias de lectura 5 escritura "A#: %D"A# y D"A# #emorias #agn0ticas 5 (pticas: Discos duros, CD"7#, D6D

%erar#ua de memoria, &iveles:

:86$L 1 Cac-e ;6$L7C8DAD :86$L * "am5"om <<..<<<<<<.

:86$L + #agn0tico 5 (ptico ;CAPAC8DAD

un sistema de memoria se puede clasificar en funcin de mu+ diversas caracter<sticas. Entre ellas se pueden destacar las si&uientes2 localizacin de la memoria! capacidad! mtodo de acceso + velocidad de acceso. En el caso de la memoria E).! tam1in denominada memoria principal o primaria! los valores de estas caracter<sticas son2

Localizacin2 interna! se encuentra en la placa 1ase. *apacidad2 $o+ en d<a no es raro encontrar ,* equipados con 17G o 7 J ./ de memoria E).. .todo de acceso2 memoria de acceso aleatorio. )dem"s! permite el acceso para lectura + escritura de informacin. 0elocidad de acceso2 actualmente se pueden encontrar sistemas de memoria E). capaces de realizar transferencias a frecuencias del orden de los D1ps (&i&a1its por se&undo).

?am1in es importante anotar que la E). es una memoria vol"til + por tanto requiere de alimentacin elctrica para mantener la informacin. Ca acte sticas #ienen matri7? .ugar 0*sico en el que se almacena in0ormaci,n. An punto es el lugar 0*sico donde se almacena un bit. I puntos es una celda E)te. $ada celda tiene asociada una direcci,n+ que indica la ubicaci,n 0*sica de la celda. $apacidad? n(mero de b)tes que puede almacenar. #iempo de acceso? El tiempo que transcurre desde que el @ solicita un dato ) la memoria se lo entrega %en ns&.
CA,ACT0,$ST$CAS "0 (A M0M&,$A CAPAC$"A"

$antidad de in0ormaci,n que puede almacenar en una memoria en concreto. Ca) dos tipos? NAtil? .A que puede almacenar el usuario. NEruta? (mero total de unidades de in0ormaci,n %bits , b)tes& que pueden ser

almacenadas en un dispositivo. =0(&C$"A"

!ndica el tiempo desde que se solicita un dato 5asta que se recibe. Dos grupos? N De acceso aleatorio? Si se tarde lo mismo independientemente de la situaci,n del dato. De acceso no aleatorio? !n0lu)e el tiempo de b(squeda ) el de latencia.

"U,AC$&1 "0 (A $1!&,MAC$&1

$apacidad de retener la in0ormaci,n a lo largo del tiempo. #iene que ver con la permanencia , no del suministro de energ*a el8ctrica. N6ol-tiles? @ierden su contenido sin electricidad. Est-n basadas en semiconductores. N o vol-tiles? @ermanentes. C&ST0S

Se divide en precio/unidad de in0ormaci,n ) depende 0uertemente de 0orma antag,nica con la velocidad de acceso. @recio #.acceso $oste Registros 24444 pts/;E 14 ns RA; 5444 pts/;E K4 ns Disco duro 144 pts/;E 14 ms Disquetes 54 pts/;E 2 s $intas Streamer 14 pts/;E 24 s @apel digital 4+41 pts/;E 2 min. #iempo M&"& "0 ACC0S&

Se re0iere a como se indica la direcci,n de la posici,n de memoria a la que se quiere acceder ) como se organi7a la in0ormaci,n en el interior de la memoria. >0,A,?U$AS "0 M0M&,$A

.o que interesa es utili7ar memorias r-pidas+ pero son mu) costosas+ por lo que se utili7an dispositivos caros%r-pidos& para los que operan en la $@A ) dispositivos baratos%lentos& pero con ma)or capacidad de almacenar in0ormaci,n que no se procesa en ese momento determinado. ns RED!S#RO En la $@A decenas de ns ;E;OR!A $A$CE ;E;OR!A @R! $!@A. @laca base de ms a seg. ;E;OR!A SE$A DAR!A 9uera del ordenador

3.2.2.

!uncionamiento.

Funci&n :ormada por condensadores, que continuamente se est(n car ando y descar ando, hacen posible almacenar los ceros y unos "ausencia y presencia de corriente respecti.amente%, el

tiempo que tarden a .ol.erse a car ar una .e+ se descar an recibe el nombre de tiempo de refresco4 tambi)n hay otro tiempo establecido, es el tiempo de acceso& 1a memoria de trabajo "normalmente compuesta de chips 6,7%, hace de cajn o caja al microprocesador dnde uarda los datos que necesita para operar con ellos, as s la CPU necesita al 9n dato, el disco duro la busca, y este lo en.a a la memoria de trabajo, y )ste .a a la CPU cuando se la pide& ,s pues .emos que es una memoria temporal, puesto que adem(s, al apa ar el PC se pierde toda la informacin que hay&

"ttp:##$$$."a d$a e%2v.com#conocimientospc#&.p"p Funciones que eali!a


La memoria de un computador se puede definir como los circuitos que permiten almacenar + recuperar la informacin. En un sentido m"s amplio! puede referirse tam1in a sistemas e>ternos de almacenamiento! como las unidades de disco o de cinta. Ho+ en d<a se requiere cada vez m"s memoria para poder utilizar comple;os pro&ramas + para &estionar comple;as redes de computadores.

3.2.3 "ispositi#os de $%&.


.as unidades de E/S constan de dos elementos? M0C@1$C&7 denominado OD!S@OS!#!6O DE E/SP. 0(0CT,A1$C&7 denominado O$O #RO.ADORESP. .os dispositivos de E/S que se conectan al ordenador se clasi0ican en? '(&?U07 .a in0ormaci,n se almacena en bloques+ esos bloques son de tama1o 0i'o. Donde cada bloque tiene una direcci,n que lo identi0ica. Se puede leer o escribir en un bloque independiente de los dem-s. Por e*emplo? disquete+ $D+ D6D+ disco duro. CA,@CT0,7 .a in0ormaci,n que se generan o reciben son 0lu'os de caracteres %no bloques&. Accede a los datos en secuencia? o sea+ para acceder a determinados datos+ la lectura ) escritura se debe 5acer seguido de los datos anteriores. Por e*emplo? teclado+ pantalla+ cinta+ ratones+ inter0a7 de comunicaci,n. .a l*nea de separaci,n no es r*gida+ 5a) dispositivos que pueden ser del tipo bloque %cintas ;agn8ticas& aunque son considerados del tipo car-cter. $on esta clasi0icaci,n+ un dispositivo que est- 0uera de ellas+ el ORE.O=P+ no es orientado ni a bloque ni de car-cter. Si es un dispositivo especial+ )a que lo (nico que 5ace es generar interrupciones. Otros aspectos importantes que 5acen la di0erencia entre dispositivos son? Comportamiento7 entrada+ salida+ almacenamiento. Tasa de trans8erencia7 tasa de peaQ de trans0erencia entre dispositivos ) memoria.

El siguiente cuadro 5ace re0erencia+ a las grandes di0erencias entre las clases de dispositivos?
"$SP&S$T$=& T0C(A"& M&US0 SCA110, =&S :Salida; $MP,0S&,A :(nea; $MP,0S&,A :(ser; M&"0M ,0" (A1 !(&PPD C" C$1TA MAC10T$CA "$SC& MAC10T$C& C&MP&,TAM$01T& Entrada / / Salida / / Entrada / salida / Almacenamiento / / / C(AS$!$CAC$&1 $ar-cter / / / / / / / Eloque / / / TASA B'%S0C. 4+41 4+42 "44 4+J 1+4 244 2+4:I+4 544:J444 144 1444 2444 2444:14444

E2isten otros 0actores que 5acen a su distinci,n? A !DADES DE $O #RO. RE@RESE #A$!R DE DA#OS $O D!$!R DE ERROR 5ttp?//e2a.unne.edu.ar/depar/areas/in0ormatica/SistemasOperativos/;onogSO/ DES#ES42.5tm

'rincipios del So$t(are de E ) S


La idea 1"sica es or&anizar el softBare como una serie de capas donde S78! ?anen1aumT2

Las capas inferiores se encar&uen de ocultar las peculiaridades del $ardBare a las capas superiores. Las capas s)periores de1en presentar una interfaz a&rada1le! limpia + re&ular a los usuarios.

*+,etivos del So$t(are de E ) S 4n concepto clave es la independencia del dispositi+o

'e1e ser posi1le escri1ir pro&ramas que se puedan utilizar con archi+os en distintos dispositi+os! sin tener que modificar los pro&ramas para cada tipo de dispositivo. El pro1lema de1e ser resuelto por el :. 6.

El o1;etivo de lo&rar nom%res )niformes est" mu+ relacionado con el de independencia del dispositivo. ?odos los arc$ivos + dispositivos adquieren direcciones de la misma forma! es decir mediante el nom%re de s) r)ta de acceso, 6tro aspecto importante del softBare es el mane-o de errores de e . s

Deneralmente los errores de%en mane-arse lo m/s cerca posi%le del hard0are, :olo si los niveles inferiores no pueden resolver el pro1lema! se informa a los niveles superiores. Deneralmente la recuperacin se puede $acer en un nivel inferior + de forma transparente.

6tro aspecto clave son las transferencias s1ncronas (por 1loques) o as1ncronas (controlada por interruptores)2 La ma+or<a de la e 5 s es as1ncrona la cpu inicia la transferencia + realiza otras tareas $asta una interrupcin. La pro&ramacin es m"s f"cil si la e 5 s es s1ncrona (por 1loques)2 el pro&rama se suspende autom"ticamente $asta que los datos estn disponi1les en el 1uffer. El :. 6. se encar&a de $acer que operaciones controladas por interruptores parezcan del tipo de 1loques para el usuario. ?am1in el :. 6. de1e administrar los dispositivos compartidos (e;.2 discos) + los de uso e#clusivo (e;.2 impresoras). 2eneralmente el soft0are de e . s se estr)ct)ra en capas (ver Qi&ura .8 S78! ?anen1aumT)2

.ane;adores de interrupciones. 'irectivas de dispositivos. :oftBare de :. 6. independiente de los dispositivos. :oftBare a nivel usuario.

So$t(are de E ) S Independiente del -ispositivo F)nciones generalmente reali3adas por el soft0are independiente del dispositi+o

(nterfaz uniforme para los mane;adores de dispositivos. %om1res de los dispositivos. ,roteccin del dispositivo. ,roporcionar un tamao de 1loque independiente del dispositivo. 4so de 1uffers. )si&nacin de espacio en los dispositivos por 1loques. )si&nacin + li1eracin de los dispositivos de uso e>clusivo. (nforme de errores.

Las f)nciones %/sicas del soft0are independiente del dispositi+o son Efectuar las funciones de e 5 s comunes a todos los dispositivos. ,roporcionar una interfaz uniforme del softBare a nivel usuario. El softBare independiente del dispositivo asocia los nom1res sim1licos de los dispositivos con el nom1re adecuado. 4n nom1re de dispositivo determina de manera Anica el nodo-i de un arc$ivo especial2

Este nodo3i contiene el n4mero principal del dispositi+o! que se utiliza para localizar el mane;ador apropiado. El nodo3i contiene tam1in el n4mero sec)ndario de dispositi+o! que se transfiere como par"metro al mane;ador para determinar la unidad por leer o escri1ir.

El soft0are independiente del dispositi+o de1e2

6cultar a los niveles superiores los diferentes tamaos de sector de los distintos discos. ,roporcionar un tamao uniforme de los 1loques! por e;.2 considerar varios sectores f<sicos como un solo 1loque l&ico.

So$t(are de E ) S en el Espacio del Usuario La ma+or<a del softBare de e 5 s est" dentro del :. 6. 4na pequea parte consta de 1i1liotecas li&adas entre s< con los pro&ramas del usuario. La 1i1lioteca est"ndar de e 5 s contiene varios procedimientos relacionados con e 5 s + todos se e;ecutan como parte de los pro&ramas del usuario. 6tra cate&or<a importante de softBare de e 5 s a nivel usuario es el sistema de spooling. El spoolin& es una forma de tra1a;ar con los dispositivos de e 5s de uso e>clusivo en un sistema de m)ltiprogramacin

El e;emplo t<pico lo constitu+e la impresora de l<neas. Los procesos de usuario no a1ren el arc$ivo correspondiente a la impresora. :e crea un proceso especial! llamado demonio en al&unos sistemas. :e crea un directorio de spooling,

,ara imprimir )n archi+o 4n proceso &enera todo el arc$ivo por imprimir + lo coloca en el directorio de spoolin&. El proceso especial! Anico con permiso para utilizar el arc$ivo especial de la impresora! de1e imprimir los arc$ivos en el directorio. :e evita el posi1le pro1lema de tener un proceso de usuario que manten&a un recurso tomado lar&o tiempo. 4n esquema similar tam1in es aplica1le para la transferencia de archi+os entre equipos conectados2 4n usuario coloca un arc$ivo en un directorio de spoolin& de la red. ,osteriormente! el proceso especial lo toma + transmite. 4n e;. son los sistemas de correo electrnico. 5ttp?//e2a.unne.edu.ar/depar/areas/in0ormatica/SistemasOperativos/SO5.5tm

3.2.3.1 3.2.3.2

Arquitecturas. Tipos.

Los dispositivos de entrada salida se dividen! en &eneral! en dos tipos2 dispositivos orientados a 1loques + dispositivos orientados a caracteres. Los dispositivos orientados a 1loques tienen la propiedad de que se pueden direccionar! esto es! el pro&ramador puede escri1ir o leer cualquier 1loque del dispositivo realizando primero una operacin de posicionamiento so1re el dispositivo. Los dispositivos m"s comunes orientados a

1loques son los discos duros! la memoria! discos compactos +! posi1lemente! unidades de cinta. ,or otro lado! los dispositivos orientados a caracteres son aquellos que tra1a;an con secuencias de 1+es sin importar su lon&itud ni nin&Ana a&rupacin en especial. %o son dispositivos direcciona1les. E;emplos de estos dispositivos son el teclado! la pantalla o displa+ + las impresoras. La clasificacin anterior no es perfecta! porque e>isten varios dispositivos que &eneran entrada o salida que no pueden en&lo1arse en esas cate&or<as. ,or e;emplo! un relo; que &enera pulsos. :in em1ar&o! aunque e>istan al&unos perifricos que no se puedan cate&orizar! todos est"n administrados por el sistema operativo por medio de una parte electrnica 3 mec"nica + una parte de softBare. 5ttp?//<<<.tau.org.ar/base/lara.pue.udlap.m2/sistoper/capituloJ.5tml

Dispositivos de entrada Estos dispositivos permiten al usuario del ordenador introducir datos! comandos + pro&ramas en la *,4. El dispositivo de entrada m"s comAn es un teclado similar al de las m"quinas de escri1ir. La informacin introducida con el mismo! es transformada por el ordenador en modelos reconoci1les. 6tros dispositivos de entrada son los l.pices %pticos! que transmiten informacin &r"fica desde ta1letas electrnicas $asta el ordenadorN ,o/stic0s + el rat%n o mouse! que convierte el movimiento f<sico en movimiento dentro de una pantalla de ordenadorN los esc.neres luminosos! que leen pala1ras o s<m1olos de una p"&ina impresa + los traducen a confi&uraciones electrnicas que el ordenador puede manipular + almacenarN + los mdulos de reconocimiento de vo1! que convierten la pala1ra $a1lada en seales di&itales comprensi1les para el ordenador. ?am1in es posi1le utilizar los dispositivos de almacenamiento para introducir datos en la unidad de proceso. 6tros dispositivos de entrada! usados en la industria! son los sensores. Dispositivos de Entrada/Salida Los dispositivos de almacenamiento e>ternos! que pueden residir f<sicamente dentro de la unidad de proceso principal del ordenador! est"n fuera de la placa de circuitos principal. Estos dispositivos almacenan los datos en forma de car&as so1re un medio ma&nticamente sensi1le! por e;emplo una cinta de sonido o! lo que es m"s comAn! so1re un disco revestido de una fina capa de part<culas met"licas. Los dispositivos de almacenamiento e>terno m"s frecuentes son los disquetes + los discos duros! aunque la ma+or<a de los &randes sistemas inform"ticos utiliza 1ancos de unidades de almacenamiento en cinta magntica. Los discos fle>i1les pueden contener! se&An sea el sistema! desde varios centenares de miles de 1+tes $asta 1astante m"s de un milln de 1+tes de datos. Los discos duros no pueden e>traerse de los recept"culos de la unidad de disco! que contienen los dispositivos electrnicos para leer + escri1ir datos so1re la superficie ma&ntica de los discos + pueden almacenar desde varios millones de 1+tes $asta al&unos centenares de millones. La tecnolo&<a de C--R*!! que emplea las mismas tcnicas l"ser utilizadas para crear los discos compactos (*') de audio! permiten capacidades de almacenamiento del orden de varios cientos de me&a1+tes

(millones de 1+tes) de datos. ?am1in $a+ que aadir los recientemente aparecidos -2- que permiten almacenar m"s de 4 D1 de informacin.

Dispositivos de salida

Estos dispositivos permiten al usuario ver los resultados de los c"lculos o de las manipulaciones de datos de la computadora. El dispositivo de salida m"s comAn es la unidad de visualizacin! que consiste en un monitor que presenta los caracteres + &r"ficos en una pantalla similar a la del televisor. ,or lo &eneral! los monitores tienen un tu1o de ra+os catdicos como el de cualquier televisor! aunque los ordenadores pequeos + port"tiles utilizan $o+ pantallas de cristal l<quido (L*'! acrnimo de Liquid *r+stal 'ispla+s) o electroluminiscentes. 6tros dispositivos de salida m"s comunes son las impresoras3 que permiten o1tener una copia impresa de la informacin que reside en los dispositivos de almacenamiento! las tar,etas de sonido + los m%dem. 4n mdem enlaza dos ordenadores transformando las seales di&itales en anal&icas para que los datos puedan transmitirse a travs de las l<neas telefnicas convencionales. "ispositi#os de entrada Son los que env*an in0ormaci,n a la unidad de procesamiento+ en c,digo binario. Dispositivos de entrada %entre otros&? #eclado? An teclado se compone de una serie de teclas agrupadas en 0unciones que podremos describir?
#eclado al0anum8rico? es un con'unto de J2 teclas entre las que se encuentran las letras+ n(meros+ s*mbolos ortogr-0icos+ Enter+ alt...etc. #eclado de 9unci,n? es un con'unto de 13 teclas entre las que se encuentran el ES$+ tan utili7ado en sistemas in0orm-ticos+ m-s 12 teclas de 0unci,n. Estas teclas suelen ser con0igurables pero por e'emplo e2iste un convenio para asignar la a)uda a 91. #eclado um8rico? se suele encontrar a la derec5a del teclado al0anum8rico ) consta de los n(meros as* como de un Enter ) los operadores num8ricos de suma+ resta+... etc. #eclado Especial? son las 0lec5as de direcci,n ) un con'unto de > teclas agrupadas en 2 gruposF uno de J %!nicio ) 0in entre otras& ) otro de 3 con la tecla de impresi,n de pantalla entre ellas.

Recomendaciones? En este apartado es conveniente distinguir entre dos tipos de teclado?


De ;embrana? 9ueron los primeros que salieron ) como su propio nombre indica presentan una membrana entre la tecla ) el circuito que 5ace que la pulsaci,n sea un poco m-s dura.

;ec-nico? Estos nuevos teclados presentan otro sistema que 5ace que la pulsaci,n sea menos traum-tica ) m-s suave para el usuario. ;ouse? A este peri08rico se le llam, as* por su parecido con este roedor. Suelen estar constituidos por una ca'a con una 0orma m-s o menos anat,mica en la que se encuentran dos botones que 5ar-n los 0amosos clicQs de rat,n siendo transmitidos por el cable al puerto P$/II o al puerto de serie %$O;1 normalmente&. Dentro de esta ca'a se encuentra una bola que sobresale de la ca'a a la que se pegan " rodillos ortogonalmente dispuestos que ser-n los que de0inan la direcci,n de movimiento del rat,n. El rat,n se mueve por una al0ombrilla ocasionando el movimiento de la bola que a su ve7 origina el movimiento de uno o varios de estos rodillos que se trans0orma en se1ales el8ctricas ) producen el e0ecto de despla7amiento del rat,n por la pantalla del ordenador.

E2isten modelos modernos en los que la transmisi,n se 5ace por in0rarro'os eliminando por tanto la necesidad de cableado. Otros presentan la bola en la parte superior de la ca'a no estando por tanto en contacto con la al0ombrilla ) teniendo que ser movida por los dedos del usuario aunque se origina el mismo e0ecto.
;icr,0ono? @eri08rico por el cual transmite sonidos que el ordenador capta ) los reproduce+ los salva+ etc. Se conecta a la tar'eta de sonido. Esc-ner? Es un dispositivo utili7a un 5a7 luminoso para detectar los patrones de lu7 ) oscuridad %o los colores& de la super0icie del papel+ convirtiendo la imagen en se1ales digitales que se pueden manipular por medio de un soft+are de tratamiento de im-genes o con reconocimiento ,ptico de caracteres. An tipo de esc-ner utili7ado con 0recuencia es el flat,edque signi0ica que el dispositivo de barrido se despla7a a lo largo de un documento 0i'o. En este tipo de esc-neres+ como las 0otocopiadoras de o0icina+ los ob'etos se colocan boca aba'o sobre una super0icie lisa de cristal ) son barridos por un mecanismo que pasa por deba'o de ellos. Otro tipo de esc-ner flat,ed utili7a un elemento de barrido instalado en una carcasa 0i'a encima del documento.

An tipo mu) popular de esc-ner es el esc-ner de mano+ tambi8n llamado .and .eld- porque el usuario su'eta el esc-ner con la mano ) lo despla7a sobre el documento. Estos esc-neres tienen la venta'a de ser relativamente baratos+ pero resultan algo limitados porque no pueden leer documentos con una anc5ura ma)or a 12 o 15 cent*metros.
.ector de c,digo de barras? dispositivo que mediante un 5a7 de l-ser lee dibu'os 0ormados por barras ) espacios paralelos+ que codi0ica in0ormaci,n mediante anc5uras relativas de estos elementos. .os c,digos de barras representan datos en una 0orma legible por el ordenador+ ) son uno de los medios m-s e0icientes para la captaci,n autom-tica de datos. $-mara digital? $-mara que se conecta al ordenador ) le transmite las im-genes que capta+ pudiendo ser modi0icada ) retocada+ o volverla a tomar en caso de que este mal. @uede 5aber varios tipos? $-mara de 0otos digital? #oma 0otos con calidad digital+ casi todas incorporan una pantalla .$D %.iquid $ristal Displa)& donde se puede visuali7ar la imagen obtenida. #iene una peque1a memoria donde almacena 0otos para despu8s transmitirlas a un ordenador. $-mara de video? Draba videos como si de una c-mara normal se tratara+ pero las venta'as que o0rece en estar en 0ormato digital+ que es muc5o me'or la imagen+ tiene una pantalla .$D por la que ves simult-neamente la imagen mientras grabas. Se conecta al @$ ) este recoge el video que 5as grabado+ para poder retocarlo posteriormente con el so0t<are adecuado. Hebcam? Es una c-mara de peque1as dimensiones. S,lo es la c-mara+ no tiene .$D. #iene que estar conectada al @$ para poder 0uncionar+ ) esta transmite las im-genes al ordenador. Su uso es generalmente para videocon0erencias por internet+ pero mediante el so0t<are adecuado+ se pueden grabar videos como una c-mara normal ) tomar 0otos est-ticas.

.-pi7 Rptico? dispositivo se1alador que permite sostener sobre la pantalla un l-pi7 que est- conectado al ordenador ) con el que es posible seleccionar elementos u opciones %el equivalente a un clic de mouse o rat,n&+ bien presionando un bot,n en un lateral del l-pi7 ,ptico o presionando 8ste contra la super0icie de la pantalla.

El l-pi7 contiene sensores luminosos ) env*a una se1al a la computadora cada ve7 que registra una lu7+ por e'emplo al tocar la pantalla cuando los p*2eles no negros que se encuentran ba'o la punta del l-pi7 son re0rescados por el 5a7 de electrones de la pantalla. .a pantalla de la computadora no se ilumina en su totalidad al mismo tiempo+ sino que el 5a7 de electrones que ilumina los p*2eles los recorre l*nea por l*nea+ todas en un espacio de 1/54 de segundo. Detectando el momento en que el 5a7 de electrones pasa ba'o la punta del l-pi7 ,ptico+ el ordenador puede determinar la posici,n del l-pi7 en la pantalla. El l-pi7 ,ptico no requiere una pantalla ni un recubrimiento especiales como puede ser el caso de una pantalla t-ctil+ pero tiene la desventa'a de que sostener el l-pi7 contra la pantalla durante periodos largos de tiempo llega a cansar al usuario.
=o)sticQ? dispositivo se1alador mu) conocido+ utili7ado ma)oritariamente para 'uegos de ordenador o computadora+ pero que tambi8n se emplea para otras tareas. An *oystic/ o palanca de 'uegos tiene normalmente una base de pl-stico redonda o rectangular+ a la que estacoplada una palanca vertical. .os botones de control se locali7an sobre la base ) algunas veces en la parte superior de la palanca+ que puede moverse en todas direcciones para controlar el movimiento de un ob'eto en la pantalla. .os botones activan diversos elementos de soft+are+ generalmente produciendo un e0ecto en la pantalla. An *oystic/ es normalmente un dispositivo se1alador relativo+ que mueve un ob'eto en la pantalla cuando la palanca se mueve con respecto al centro ) que detiene el movimiento cuando se suelta. En aplicaciones industriales de control+ el *oystic/ puede ser tambi8n un dispositivo se1alador absoluto+ en el que con cada posici,n de la palanca se marca una locali7aci,n espec*0ica en la pantalla. #ar'etas per0oradas? 0ic5a de papel manila de I4 columnas+ de unos K+5 cm %3 pulgadas& de anc5o por 1I cm %K pulgadas& de largo+ en la que pod*an introducirse I4 columnas de datos en 0orma de ori0icios practicados por una m-quina per0oradora. Estos ori0icios correspond*an a n(meros+ letras ) otros caracteres que pod*a leer un ordenador equipada con lector de tar'etas per0oradas. @antalla #-ctil? pantalla dise1ada o modi0icada para reconocer la situaci,n de una presi,n en su super0icie. Al tocar la pantalla+ el usuario puede 5acer una selecci,n o mover el cursor. El tipo de pantalla t-ctil m-s sencillo est- compuesto de una red de l*neas sensibles+ que determinan la situaci,n de una presi,n mediante la uni,n de los contactos verticales ) 5ori7ontales.

Otros tipos de pantallas m-s precisas utili7an una super0icie cargada el8ctricamente ) sensores alrededor de los bordes e2ternos de la pantalla+ para detectar la cantidad de cambio el8ctrico ) se1alar e2actamente donde se 5a reali7ado el contacto. An tercer tipo 0i'a diodos emisores de ra)os in0rarro'os %.EDs+ acr,nimo de .ig5t:Emitting Diodes& ) sensores alrededor de los bordes e2ternos de la pantalla. Estos .EDs ) sensores crean una red invisible de in0rarro'os en la parte delantera de la pantalla que interrumpe el usuario con sus dedos. .as pantallas t-ctiles de in0rarro'os se usan a menudo en entornos sucios+ donde la suciedad podr*a inter0erir en el modo de operaci,n de otros tipos de pantallas t-ctiles. .a popularidad de las pantallas t-ctiles entre los usuarios se 5a visto limitada porque es necesario mantener las manos en el aire para se1alar la pantalla+ lo que ser*a demasiado inc,modo en largos periodos de

tiempo. Adem-s no o0rece gran precisi,n al tener que se1alar ciertos elementos en programas de alta resoluci,n. .as pantallas t-ctiles+ sin embargo+ son enormemente populares en aplicaciones como los puestos de in0ormaci,n porque o0recen una 0orma de se1alar que no requiere ning(n 5ard<are m,vil ) porque presionar la pantalla es algo intuitivo. "ispositi#os de salida Son los dispositivos que reciben in0ormaci,n que es procesada por la $@A ) la reproducen para que sea perceptible para la persona. Dispositivos de salida %entre otros&?
;onitor? es la pantalla en la que se ve la in0ormaci,n suministrada por el ordenador. En el caso m-s 5abitual se trata de un aparato basado en un tubo de ra)os cat,dicos %$R#& como el de los televisores+ mientras que en los port-tiles es una pantalla plana de cristal l*quido %.$D&.

@untos a tratar en un monitor?


Resoluci,n %RESO.A#!O &? Se trata del n(mero de puntos que puede representar el monitor por pantalla+ en 5ori7ontal 2 vertical. As*+ un monitor cu)a resoluci,n m-2ima sea 142"2 KJI puntos puede representar 5asta KJI l*neas 5ori7ontales de 142" puntos cada una+ probablemente adem-s de otras resoluciones in0eriores+ como J"42"I4 u I442J44. Re0resco de @antalla? Se puede comparar al n(mero de 0otogramas por segundo de una pel*cula de cine+ por lo que deber- ser lo ma)or posible. Se mide en CS %5ert7ios& ) debe estar por encima de los J4 C7+ pre0eriblemente K4 u I4. A partir de esta ci0ra+ la imagen en la pantalla es sumamente estable+ sin parpadeos apreciables+ con lo que la vista su0re muc5o menos. #ama1o de punto %DO# @!#$C&? Es un par-metro que mide la nitide7 de la imagen+ midiendo la distancia entre dos puntos del mismo colorF resulta 0undamental a grandes resoluciones. En ocasiones es di0erente en vertical que en 5ori7ontal+ o se trata de un valor medio+ dependiendo de la disposici,n particular de los puntos de color en la pantalla+ as* como del tipo de re'illa empleada para dirigir los 5aces de electrones.

.o m*nimo+ e2igible en este momento es que sea de 4+25 mm+ no debi8ndose admitir nada superior como no sea en monitores de gran 0ormato para presentaciones+ donde la resoluci,n no es tan importante como el tama1o de la imagen.
$ontroles ) cone2iones? Aunque se va cada ve7 m-s el uso de monitores con controles digitales+ en principio no debe ser algo determinante a la 5ora de elegir un monitor+ si bien se tiende a que los monitores con dic5os controles sean los m-s avan7ados de la gama. ;ultimedia? Algunos monitores llevan acoplados altavoces+ e incluso micr,0ono )/o c-maras de video. Esto resulta interesante cuando se trata de un monitor de 15TT , 1KTT cu)o uso va)a a ser dom8stico+ para 'uegos o videocon0erencias. @antalla t-ctil? v8ase en dispositivos de entrada. !mpresoras? Dispositivo que sirve para captar la in0ormaci,n que le env*a la $@A ) imprimirla en papel+ pl-stico+ etc. Ca) varios tipos? ;atriciales? O0recen ma)or rapide7 pero una calidad mu) ba'a. !n)ecci,n? .a tecnolog*a de in)ecci,n a tinta es la que 5a alcan7ado un ma)or 82ito en las impresoras de uso dom8stico o para peque1as empresas+ gracias a su relativa velocidad+ calidad ) sobre todo precio reducidos+ que suele ser la d8cima parte de una impresora de las mismas caracter*sticas. $laro est- que 5a) ra7ones de peso que 'usti0ican 8stas

caracter*sticas+ pero para imprimir algunas cartas+ 0acturas ) peque1os traba'os+ el rendimiento es similar ) el coste mu) in0erior.

Cablamos de impresoras de color porque la tendencia del mercado es que la in0orm-tica en con'unto sea en color. Esta tendencia empe7, 5ace una d8cada con la implantaci,n de tar'etas gr-0icas ) monitores en color. #odav*a podemos encontrar algunos modelos en blanco ) negro pero )a no son recomendables. .as impresoras de in)ecci,n cuentan a 0avor con elementos como el coste+ tanto de adquisici,n como de mantenimiento+ la sencille7 de mane'o ) el tama1o. En contra tenemos su escasa velocidad ) calidad 0rente a otras tecnolog*as.
.-ser? O0recen rapide7 ) una ma)or calidad que cualquiera+ pero tienen un alto coste ) solo se suelen utili7ar en la mediana ) grande empresa. @or medio de un 5a7 de l-ser imprimen sobre el material que le pongamos las im-genes que le 5a)a enviado la $@A. Altavoces? Dispositivos por los cuales se emiten sonidos procedentes de la tar'eta de sonido. Actualmente e2isten bastantes e'emplares que cubren la o0erta m-s com(n que e2iste en el mercado. Se trata de modelos que van desde lo m-s sencillo %una pare'a de altavoces est8reo&+ 5asta el m-s complicado sistema de Dolb) Digital+ con nada menos que seis altavoces+ pasando por productos intermedios de " o 5 altavoces. Sin duda alguna+ se nota per0ectamente el es0uer7o que todos los 0abricantes 5an reali7ado para ponerse al d*a en esta tecnolog*a+ )a que en poco tiempo 5an incorporado a su tecnolog*a desarrollos basados en Dolb) Surround o Dolb) Digital.

.os m-s avan7ados constan de " altavoces %2 delanteros ) 2 traseros& de reducido tama1o+ otro m-s central para los di-logos ) un (ltimo altavo7 muc5o m-s voluminoso que se encarga de real7ar las 0uer7as de los graves. Casta aqu* todo parece indicar que se trata de otros 'uegos de altavoces cuadra0,nicos. @ero la di0erencia principal de estos sistemas es que incorporan un descodi0icador Dolb) Digital+ mediante el cual+ podremos a'ustar los vol(menes de cada 'uego de altavoces+ as* como aplicar di0erentes 0iltros de sonido en 0unc*on del tipo de sonido que estemos reproduciendo en cada momento %m(sica+ pel*cula...etc&. @ara sacar partido de estos altavoces es necesario que nuestra tar'eta de sonido cuente con una salida S/@D!9 de Dolb) Digital )a que a trav8s de 8sta es desde donde los con'untos de altavoces toman el sonido. .a desventa'a de este tipo de unidades suele ser la calidad de las mismas. #eniendo en cuenta el precio de este tipo de con'untos+ en el que se inclu)e un aparato decodi0icador+ la calidad de los Js altavoces no puede ser especialmente buena+ aunque para un uso casero resulta m-s que v-lida. Otra cuest*on es la potencia. #rat-ndose de altavoces peque1os ) baratos no conseguir-n una 0ildelidad de sonido mu) grande a poco que la 5abitaci,n tenga un tama1o medio. En cualquier caso los equipos basados en Dolb) Digital son mu) escasos por el momento ) debemos recurrir a equipos grandes si deseamos una calidad de sonido su0iciente ) por tanto ser- inevitable gastar una cantidad de dinero bastante importante.

Auriculares? son dispositivos colocados en el o*do para poder escuc5ar los sonidos que la tar'eta de sonido env*a. @resentan la venta'a de que no pueden ser escuc5ados por otra persona+ solo la que los utili7a. 9a2? Dispositivo mediante el cual se imprime una copia de otro impreso+ transmitida o bien+ v*a tel80ono+ o bien desde el propio 0a2. Se utili7a para ello un rollo de papel que cuando acaba la impresi,n se corta.

$ttp255BBB.mono&rafias.com5tra1a;os145dispositivos5dispositivos.s$tmlU

3.2.3.3
-ispositivos de E ) S

Caractersticas.

:e pueden clasi$icar en dos &randes cate&or<as2


Dispositi+os de %lo5)e, Dispositi+os de caracter,

Las principales caracter<sticas de los dispositi+os de %lo5)e son2 La informacin se almacena en 1loques de tamao fi;o. *ada 1loque tiene su propia direccin. Los tamaos m"s comunes de los 1loques van desde los 17G 1+tes $asta los 1.H74 1+tes. :e puede leer o escri1ir en un 1loque de forma independiente de los dem"s! en cualquier momento. 4n e;emplo t<pico de dispositivos de 1loque son los discos. Las principales caracter<sticas de los dispositi+os de caracter son2 La informacin se transfiere como un flu;o de caracteres! sin su;etarse a una estructura de 1loques. %o se pueden utilizar direcciones. %o tienen una operacin de 1Asqueda. 4n e;emplos t<pico de dispositivos de caracter son las impresoras de l<nea! terminales! interfaces de una red! ratones! etc. Alg)nos dispositi+os no se a-)stan a este es5)ema de clasificacin! por e;emplo los relo;es! que no tienen direcciones por medio de 1loques + no &eneran o aceptan flu;os de caracteres. El sistema de archi+os solo tra1a;a con dispositi+os de %lo5)e a%stractos! por lo que encar&a la parte dependiente del dispositi+o a un softBare de menor nivel! el soft0are mane-ador del dispositi+o, 5ttp?//e2a.unne.edu.ar/depar/areas/in0ormatica/SistemasOperativos/SO5.5tm Controladores de -ispositivos Las unidades de e ) s &eneralmente constan de2

4n componente mec/nico, 4n componente electrnico! el controlador del dispositi+o o adaptador,

.uc$os controladores pueden mane;ar m"s de un dispositivo. El :. 6. &eneralmente tra1a;a con el controlador + no con el dispositivo. Los modelos m"s frecuentes de com)nicacin entre la cp) ' los controladores son2

,ara la ma+or<a de las micro + mini computadoras2 o .odelo de %)s del sistema, ,ara la ma+or<a de los mainframes2 o .odelo de varios 1uses + computadoras especializadas en e 5 s llamadas canales de e . s,

La interfa3 entre el controlador ' el dispositi+o es con frecuencia de mu+ 1a;o nivel2 La comunicacin es mediante un fl)-o de %its en serie que2 o *omienza con un pre"m1ulo. o :i&ue con una serie de 1its (de un sector de disco! por e;.). o *onclu+e con una suma para verificacin o un cdi&o corrector de errores. El pre.m+ulo2 o :e escri1e al dar formato al disco. o *ontiene el nAmero de cilindro + sector! el tamao de sector + otros datos similares. El controlador de1e2 *onvertir el flu;o de 1its en serie en un 1loque de 1+tes. Efectuar cualquier correccin de errores necesaria. *opiar el 1loque en la memoria principal. *ada controlador posee registros que utiliza para comunicarse con la cpu2 ,ueden ser parte del espacio normal de direcciones de la memoria2 e . s mapeada a memoria, ,ueden utilizar un espacio de direcciones especial para la e 5 s! asi&nando a cada controlador una parte de l. El &, (, reali3a la e . s al escri%ir comandos en los registros de los controladoresN los par"metros de los comandos tam1in se car&an en los re&istros de los controladores. )l aceptar el comando! la cpu puede de;ar al controlador + dedicarse a otro tra1a;o. )l terminar el comando! el controlador pro+oca )na interr)pcin para permitir que el :. 6.2

61ten&a el control de la cpu. 0erifique los resultados de la operacin.

La cpu o%tiene los res)ltados + el estado del dispositivo al leer uno o m"s 1+tes de informacin de los re&istros del controlador.

E;emplos de controladores! sus direcciones de e . s + sus +ectores de interr)pcin en la ,* (/. pueden verse en la ?a1la .1 S78! ?anen1aumT.

Controlador de e ) s Eelo; ?eclado 'isco duro (mpresora 'isco fle>i1le Es787 primario Es787 secundario

-irecci%n de e ) s H4H 3 H48 HJH 3 HJ8 87H 3 87f 8VG 3 8Vf 8fH 3 8fV 8fG 3 8ff 7fG 3 7ff

2ector de interrupciones G 9 18 1 14 17 11

&a+la 4.5 Controladores de e ) s3 direcciones de e ) s / vector de interrupciones. 5ttp?//e2a.unne.edu.ar/depar/areas/in0ormatica/SistemasOperativos/SO5.5tm

3.2.3.
Funciones que eali!a

!uncionamiento.

0amos a sealar las funciones que de1e realizar un computador para e;ecutar tra1a;os de entrada5salida2 -ireccionamiento o selecci%n del dispositivo que de1e llevar a ca1o la operacin de E5:. &rans$erencia de los datos entre el procesador + el dispositivo (en uno u otro sentido). las operaciones. Esta Altima funcin es necesaria de1ido a la deferencia de velocidades entre los dispositivos + la *,4 + a la independencia que de1e e>istir entre los perifricos + la *,4 (por e;emplo! suelen tener relo;es diferentes). :e define una transferencia elemental de informacin como la transmisin de )na sola )nidad de informacin (normalmente un 1+te) entre el procesador ' el perifrico o +ice+ersa, ,ara efectuar una transferencia elemental de informacin son precisas las si&uientes funciones2 Esta+lecimiento de una comunicaci%n $6sica entre el procesador + el perifrico para la transmisin de la unidad de informacin. Sincroni1aci%n / coordinaci%n de

Control de los peri$ricos3 en que se inclu+en operaciones como prue1a + modificacin del estado del perifrico. ,ara realizar estas funciones la *,4 &estionar" las l<neas de control necesarias.

'efiniremos una operacin de E5: como el con-)nto de acciones necesarias para la transferencia de )n con-)nto de datos (es decir! una transferencia completa de datos). ,ara la realizacin de una operacin de E5: se de1en efectuar las si&uientes funciones2 Recuento de las unidades de in$ormaci%n transferidas (normalmente 1+tes) para reconocer el fin de operacin. Sincroni1aci%n de velocidad entre la *,4 + el perifrico. -etecci%n de errores (e incluso correccin) mediante la utilizacin de los cdi&os necesarios (1its de paridad! cdi&os de redundancia c<clica! etc.) Almacenamiento temporal de la in$ormaci%n. Es m"s eficiente utilizar un %)ffer temporal espec<fico para las operaciones de E5: que utilizan el "rea de datos del pro&rama. Conversi%n de c%digos! conversin serie5paralelo! etc. -ispositivos e#ternos 4na de las funciones 1"sicas del ordenador es comunicarse con los dispositivos e>teriores! es decir! el ordenador de1e ser capaz de enviar + reci1ir datos desde estos dispositivo. :in esta funcin! el ordenador no ser<a operativo porque sus c"lculos no ser<an visi1les desde el e>terior. E>iste una &ran variedad de dispositivos que pueden comunicarse con un ordenador! desde los dispositivos cl"sicos (terminales! impresoras! discos! cintas! etc.) $asta convertidores A)- + -)A para aplicaciones de medida + control de procesos! 'e todos los posi1les perifricos! al&unos son de lectura! otros de escritura + otros de lectura + escritura (es importante resaltar que este $ec$o siempre se mira desde el punto de vista del proceso). ,or otra parte! e>isten perifricos de almacenamiento tam1in llamados memorias au>iliares o masivas. La ma+or<a de los perifricos est"n compuestos por una parte mec"nica + otra parte electrnica. Estas partes suelen separarse claramente para dar una ma+or modularidad. ) la componente electrnica del perifrico se le suele denominar controlador del dispositivo o! tam1in! adaptador del dispositivo. :i el dispositivo no tiene parte mec"nica (como! por e;emplo! la pantalla de un terminal)! el controlador estar" formado por la parte di&ital del circuito. Qrecuentemente los controladores de los dispositivos est"n alo;ados en una placa de circuito impreso diferenciada del resto del perifrico. En este caso es 1astante $a1itual que un mismo controlador pueda dar servicio a dispositivos de caracter<sticas similares.

El principal pro1lema planteado por los perifricos es su &ran variedad que tam1in afecta a las velocidades de transmisin. ,or tanto! el ma+or inconveniente que encontramos en los perifricos es la diferencia entre sus velocidades de transmisin + la diferencia entre stas + la velocidad de operacin del ordenador.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectur aordenadores%capitulo14.3tm

Unidad 2. Comunicacin interna en la computadora.


2.4 'uses.
>%,E, 8E. ,7,-E<A F n!iones " e #eali$a $l bus se puede de'inir como un conjunto de l,neas conductoras de -ard=are utili3adas para la transmisi(n de datos entre los componentes de un sistema in'ormtico. Un bus es una ruta que conecta di'erentes partes del sistema, como el microprocesador, la controladora de unidad de disco, la memoria y los puertos de entrada5salida, para permitir la transmisi(n de in'ormaci(n. $n el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la direcci(n de la posici(n deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las l,neas carcter binario. $s decir solo pueden representar 1 o * y de esta manera 'orman conjuntamente el n)mero de la posici(n dentro de la memoria es decir: la direcci(n!

Est# !t #as %e inte#!one&i'n $.isten dos estructuras de operaciones $ntrada5%alida que tienen que ver con los buses, son: el bus )nico y el bus dedicado. $l bus dedicado trata a la memoria de manera distinta que a los peri'0ricos utili3a un bus especial! al contrario que el bus )nico que los considera a ambos como posiciones de memoria. $ste bus especial que utili3a el bus dedicado tiene > componentes 'undamentales:
o

Datos: 8ntercambio de in'ormaci(n entre la CPU y los peri'0ricos.

Control: Lleva in'ormaci(n re'erente al estado de los peri'0ricos petici(n de interrupciones!. Direcciones: 8denti'ica el peri'0rico re'erido. %incroni3aci(n: 4empori3a las se/ales de reloj.

o o

La mayor ventaja del bus )nico es su simplicidad de estructura que le -ace ser ms econ(mico, no permite que se realice a la ve3 trans'erencia de in'ormaci(n entre la memoria y el procesador y entre los peri'0ricos y el procesador. $l bus dedicado es muc-o ms 'le.ible y permite trans'erencias simultneas. %u estructura es ms compleja y por tanto sus costes son mayores. 7us es una voz in&lesa que si&nifica @transporte@. )plicada a la inform"tica! permite si&nificar la idea de las transferencias internas de datos que se dan en un sistema computacional en funcionamiento. En el 1us todos los nodos reci1en los datos aunque no se diri;an a todos los nodos! los nodos a los que no van diri&idos simplemente lo i&nor"n. Este sistema se usan! a veces! incluso en otras topolo&ias como la et$ernet que! aunque es en forma de estrella! se comporta como un 1us cuando el concentrador es un $u1 en vez de un sBitc$. En (nform"tica! 1us es el con;unto de conductores elctricos en forma de pistas met"licas impresas so1re la tar;eta madre del computador! por donde circulan las seales que corresponden a los datos 1inarios del len&ua;e m"quina con que opera el .icroprocesador. Ha+ tres clases de 1uses2 /us de 'atos! /us de 'irecciones + /us de *ontrol. El primero mueve los datos entre los dispositivos del $ardBare2 de Entrada como el ?eclado! el Esc"ner! el Eatn! etc.N de salida como la (mpresora! el .onitor o la tar;eta de :onidoN + de )lmacenamiento como el 'isco 'uro! el 'is-ette o la .emoria3Qlas$. Estas transferencias que se dan a travs del /us de 'atos son &o1ernadas por varios dispositivos + mtodos! de los cuales el *ontrolador ,*(! @,erip$eral *omponent (nterconnect@! (ntercone>in de componentes ,erifricos! es uno de los principales. :u tra1a;o equivale! simplificando muc$o el asunto! a una central de sem"foros para el tr"fico en las calles de una ciudad. El /us de 'irecciones! por otra parte! est" vinculado al 1loque de *ontrol de la *,4 para tomar + colocar datos en el :u13sistema de .emoria durante la e;ecucin de los procesos de cmputo! El /us de *ontrol transporta seales de estado de las operaciones efectuadas por el *,4 con las dem"s unidades.

4na tar;eta3madre tipo )?L tiene tantas pistas elctricas destinadas a 1uses! como anc$os sean los *anales de /uses del .icroprocesador de la *,42 J4 para el /us de datos + 87 para el /us de 'irecciones. El @anc$o de canal@ e>plica la cantidad de 1its que pueden ser transferidos simult"neamente. )s<! el /us de datos transfiere G 1+tes a la vez. ,ara el /us de 'irecciones! el @anc$o de canal@ e>plica as< mismo la cantidad de u1icaciones o 'irecciones diferentes que el microprocesador puede alcanzar. Esa cantidad de u1icaciones resulta de elevar el 7 a la 87 potencia. @7@ porque son dos las seales 1inarias! los 1its 1 + HN + @87 potencia@ porque las 87 pistas del /us de 'irecciones son! en un instante dado! un con;unto de 87 1its. )s<! el *anal de 'irecciones del .icroprocesador para una ,*3)?L puede @direccionar@ m"s de 4 mil millones de com1inaciones diferentes para el con;unto de 87 1its de su /us. $ttp255es.Bi-ipedia.or&5Bi-i5/usCdeCdatos
'oncepto y Funci&n *s el elemento responsable de establecer una correcta interaccin entre los diferentes componentes del ordenador, es por lo tanto, el dispositi.o principal de comunicacin& *n un sentido fsico, su descripcin es: conjunto de lneas de hard;are "met(licas o fsicas%, utili+adas para la transmisin de datos entre los componentes de un sistema inform(tico& *n cambio, en sentido fi urado es: una ruta compartida, que conecta diferentes partes del sistema& Componentes y estructura Un bus est( compuesto por conductos ".as%, )stas hacen posible la intercone-in de los diferentes componentes entre s, y principalmente con la CPU y la memoria& *n estos conductos se destacan dos subcate oras, el bus de datos y el bus de direcciones4 entre estos e-iste una fuerte relacin, puesto que para cada instruccin<archi.o en.iado por uno de los dos buses, por el otro .a informacin sobre esta instruccin<archi.o& *n lo referente a la estructura de intercone-in mediante los buses, e-isten de dos tipo:
(us )nico : considera a la memoria y a los perif)ricos como posiciones de memoria, y

hace un smil de las operaciones *<3 con las de escritura<lectura en memoria& Todas estas equi.alencias consideradas por este bus, hacen que no permita controladores 07, "0irect ,cces 7emory 4 de acceso directo a memoria%& (us dedicado : este en cambio, al considerar la memoria y perif)ricos como dos componentes diferentes, permite controladores 07, "dedicando un bus especial para )l%& =ste bus especial del bus dedicado, contiene cuatro subcate oras m(s:
(us de datos : transmite informacin entre la CPU y los perif)ricos& (us de direcciones : identifica el dispositi.o a qui)n .a destinada la informacin que se

transmite

por

el

bus

de

datos&

(us de control o de sistema : or ani+a y rediri e la informacin hacia el bus pertinente

para la informacin que se tiene que transmitir& *s el bus encar ado de hacer el direccionamiento, qui)n reali+a toda la funcin de direccionar es el controlador, diferente para cada tipo de dispositi.o& 1a capacidad operati.a del bus depende de: la inteli encia del sistema, la .elocidad de )ste, y la !anchura! del bus "n9mero de conductos de datos que operan en paralelo% ,qu tenemos una tabla de los difer entes procesadores que ha habido hasta ahora y su capacidad de bus:
Procesadores Bus de direcciones (bits) Bus de datos (bits)

$>$?$>#$? $>$$$>#$$ $>2$? $>A$? 3B $>A$? 0B $>@$? 3B $>@$? 0B P*CTIU7 P*CTIU7 II<III<ID ,70 EF<E?<EG ,70 ,T518C<T5UC0*6'I60 ,70 ,T518C BP<7P ICT*1 IT,CIU7 ,70 ,T518C?@

2> 2> 2@ A2
A2

#? $ #? #? A2

A2

?@

A2<?@

?@<#2$

$ttp255BBB.$ardBare17v.com5conocimientospc541.p$p

)$ora vamos a ver los distintos tipos de 1uses que se $an ido desarrollando + los que se emplean en la actualidad. E. EAS U# ) E. EAS !SA %A#& *uando en 19GH (/. fa1ric su primer ,*! este conta1a con un 1us de e>pansin conocido como L? que funciona1a a la misma velocidad que los procesadores (ntel GHGJ + GHGG (4.VV .$z). El anc$o de 1anda de este 1us (G 1its) con el procesador GHGG forma1a un tandem perfecto! pero la ampliacin del 1us de datos en el GHGJ a 1J 1its de;o en entredic$o este tipo de 1us (aparecieron los famosos cuellos de 1otella). 'ada la evolucin de los microprocesadores el 1us del ,* no era ni muc$o menos la solucin para una comunicacin fluida con el e>terior del micro. En definitiva no pod<a $a1larse de una autopista de datos en un ,* cuando esta slo ten<a un anc$o de G 1its. ,or lo tanto con la introduccin del )? apareci un nuevo 1us en el mundo del ,*! que en relacin con el 1us de datos ten<a finalmente 1J 1its ((:))! pero que era compati1le con su antecesor. La Anica diferencia fue que el 1us L? era s<ncrono + el nuevo )? era as<ncrono. Las vie;as tar;etas de G 1its de la poca del ,* pueden por tanto mane;arse

con las nuevas tar;etas de 1J 1its en un mismo dispositivo. 'e todas maneras las tar;etas de 1J 1its son considera1lemente m"s r"pidas! +a que transfieren la misma cantidad de datos en comparacin con las tar;etas de G 1its en la mitad de tiempo (transferencia de 1J 1its en lu&ar de transferencia de G 1its). %o tan solo se ampli el 1us de datos sino que tam1in se ampli el 1us de direcciones! concretamente $asta 74 1its! de manera que este se pod<a diri&ir al )? con memoria de 1J ./. )dem"s tam1in se aument la velocidad de cada una de las seales de frecuencia! de manera que toda la circulacin de 1us se desarrolla1a m"s r"pidamente. 'e 4.VV .$z en el L? se pas a G.88 .$z. *omo consecuencia el 1us forma un cuello de 1otella por el cual no pueden transferirse nunca los datos entre la memoria + la *,4 lo suficientemente r"pido. En los discos duros modernos por e;emplo! la relacin (ratio) de transferencia de datos +a es superior al ratio del 1us. ) las tar;etas de ampliacin se les $a asi&nado incluso un freno de se&uridad! concretamente en forma de una seal de estado de espera (Bait state)! que de;a todav<a mas tiempo a las tar;etas lentas para depositar los datos deseados en la *,4. Especialmente por este motivo el 1us )? encontr sucesores de m"s rendimiento en .icro *$annel + en el /us E(:)! que sin em1ar&o! de1ido a otros motivos! no $an tenido >ito. EAS ;!$RO $CA E. %;$A&

0istas las limitaciones que ten<a el diseo del 1us (:) en (/. se tra1a; en un nueva tecnolo&<a de 1us que comercializ con su &ama de ordenadores ,:57. El diseo .*) (.icro *$annel )rquitecture) permit<a una ruta de datos de 87 1its! m"s anc$a! + una velocidad de relo; li&eramente m"s elevada de 1H .$z! con una velocidad de transferencia m">ima de 7H .1ps frente a los G .1ps del 1us (:). ,ero lo que es m"s importante el novedoso diseo de 1us de (/. inclu+ un circuito de control especial a car&o del 1us! que le permit<a operar independientemente de la velocidad e incluso del tipo del microprocesador del sistema. /a;o .*)! la *,4 no es m"s que uno de los posi1les dispositivos dominantes del 1us a los que se puede acceder para &estionar transferencias. La circuiter<a de control! llamada *), (punto de decisin central)! se enlaza con un proceso denominado control del 1us para determinar + responder a las prioridades de cada uno de los dispositivos que dominan el 1us. ,ara permitir la cone>in de m"s dispositivos! el 1us .*) especifica interrupciones sensi1les al nivel! que resultan m"s fia1les que el sistema de interrupciones del 1us (:). 'e esta forma es posi1le compartir interrupciones. ,ero adem"s se impusieron est"ndares de rendimiento superiores en las tar;etas de e>pansin. Es cierto que el pro&reso conlleva un precio2 La arquitectura de (/. era totalmente incompati1le con las tar;etas de e>pansin que se inclu+en en el 1us (:). Esto viene derivado de que los conectores de las tar;etas de e>pansin .*) eran m"s pequeos que las de los 1uses (:). 'e esto se pueden sacar dos conclusiones. ,or un lado el coste

de estas tar;etas era menor + por otro ofrec<a un ma+or espacio interior en las pequeas ca;as de so1remesa. Las seales del 1us esta1an reor&anizadas de forma que se introduc<a una seal de tierra cada 4 conectores. 'e esta forma se a+uda1a a reducir las interferencias. E!SA %E2tended !SA& El principal rival del 1us .*) fue el 1us E(:)! tam1in 1asado en la idea de controlar el 1us desde el microprocesador + ensanc$ar la ruta de datos $asta 87 1its. :in em1ar&o E(:) mantuvo compati1ilidad con las tar;etas de e>pansin (:) +a e>istentes lo cual le o1li&o a funcionar a una velocidad de G .$z (e>actamente G.88). Esta limitacin fue a la postre la que ad;udico el papel de est"ndar a esta arquitectura! +a que los usuarios no ve<an facti1le cam1iar sus anti&uas tar;etas (:) por otras nuevas que en realidad no pod<an aprovec$ar al 1HHR. :u ma+or venta;a con respecto al 1us .*) es que E(:) era un sistema a1ierto! +a que fue desarrollado por la ma+or<a de fa1ricantes de ordenadores compati1les ,* que no aceptaron el monopolio que intent e;ercer (/.. Estos fa1ricantes fueron2 ):?! *ompaq! Epson! HeBlett ,ac-ard! %E*! 6livetti! ?and+! O+se + Wenit$. Esta arquitectura de 1us permite multiproceso! es decir! inte&rar en el sistema varios 1uses dentro del sistema! cada uno con su procesador. :i 1ien esta caracter<stica no es utilizada m"s que por sistemas operativos como 4%(L o OindoBs %?. En una m"quina E(:)! puede $a1er al mismo tiempo $asta J 1uses principales con diferentes procesadores centrales + con sus correspondientes tar;etas au>iliares. En este 1us $a+ un c$ip que se encar&a de controlar el tr"fico de datos sealando prioridades para cada posi1le punto de colisin o 1loqueo mediante las re&las de control de la especificacin E(:). Este c$ip reci1e el nom1re de *$ip del :istema ,erifrico (nte&rado ((:,). Este c$ip actAa en la *,4 como un controlador del tr"fico de datos. El motivo para que ni .*) ni E(:) $a+an sustituido por completo a (:) es mu+ sencillo2 Estas alternativas aumenta1an el coste del ,* (incluso m"s del HR) + no ofrec<an nin&una me;ora evidente en el rendimiento del sistema. Es m"s! en el momento en que se presentaron estos 1uses (19GV319GG) esta superioridad en el rendimiento no resulta1a e>cesivamente necesaria2 .u+ pocos dispositivos lle&a1an a los l<mites del rendimiento del 1us (:) ordinario. *uantas m"s l<neas $a+an disponi1les! ma+or es la direccin m">ima + ma+or es la memoria a la cual puede diri&irse de esta forma. En el 1us de direcciones ori&inal $a1<an +a 7H direcciones! +a que con 7H 1its se puede diri&ir a una memoria de 1 .1 + esto era e>actamente lo que correspond<a a la *,4. Esto que en le teor<a parece tan f"cil es 1astante mas complicado en la pr"ctica! +a que aparte de los 1us de datos + de direcciones e>isten tam1in casi dos docenas m"s de l<neas de seal en la comunicacin entre la *,4 + la memoria! a las cuales tam1in se acude. ?odas las tar;etas del 1us escuc$an! + se tendr" que encontrar en primer lu&ar una tar;eta que mediante el env<o de una seal adecuada indique a la *,4 que es

responsa1le de la direccin que se $a introducido. Las dem"s tar;etas se despreocupan del resto de la comunicacin + quedan a la espera del pr>imo ciclo de transporte de datos que quiz"s les incum1a a ellas.

Este mismo concepto es tam1in la razn por la cual al utilizar tar;etas de ampliacin en un ,* sur&en pro1lemas una + otra vez! si $a+ dos tar;etas que reclaman para ellas el mismo campo de direccin o campos de direccin que se solapan entre ellos. Los datos en si no se mandan al 1us de direcciones sino al 1us de datos. El 1us L? ten<a solo G 1its con lo cual slo pod<a transportar 1 1+te a la vez. :i la *,4 quer<a depositar el contenido de un re&istro de 1J 1its o por valor de 1J 1its! ten<a que desdo1larlos en dos 1+tes + efectuar la transferencia de datos uno detr"s de otro. 'e todas maneras para los fa1ricantes de tar;etas de ampliacin! cu+os productos de1en atenderse a este protocolo! es de una importancia 1"sica la re&ulacin del tiempo de las seales del 1us! para poder tra1a;ar de forma inme;ora1le con el ,*. ,ero precisamente este protocolo no $a sido nunca pu1licado por l/. con lo que se o1li&a a los fa1ricantes a medir las seales con la a+uda de tar;etas +a e>istentes e imitarlas. ,or lo tanto no es de e>traar que se pusieran en ;ue&o tolerancias que de;aron al&unas tar;etas totalmente eliminadas.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectu raordenadores%capitulo6.3tm
Estructuras de intercone#i%n E>isten dos or&anizaciones f<sicas de operaciones E5: que tienen que ver con los 1uses que son2 3 /us Anico 3 /us dedicado La primera &ran diferencia entre estas dos tipos de estructuras es que el 1us Anico no permite un controlador '.) (todo se controla desde la *,4)! mientras que el 1us dedicado si que soporta este controlador.

El 1us dedicado trata a la memoria de manera distinta que a los perifricos (utiliza un 1us especial) al contrario que el 1us Anico que los considera a am1os como posiciones de memoria (incluso equipara las operaciones E5: con las de lectura5escritura en memoria). Este 1us especial que utiliza el 1us dedicado tiene 4 componentes fundamentales2 3 -atos2 (ntercam1io de informacin entre la *,4 + los perifricos. 3 Control2 Lleva informacin referente al estado de los perifricos (peticin de interrupciones). 3 -irecciones2 (dentifica el perifrico referido. 3 Sincroni1aci%n2 ?emporiza las seales de relo;. La ma+or venta;a del 1us Anico es su simplicidad de estructura que le $ace ser m"s econmico! pero no permite que se realice a la vez transferencia de informacin entre la memoria + el procesador + entre los perifricos + el procesador. ,or otro lado el 1us dedicado es muc$o m"s fle>i1le + permite transferencias simult"neas. ,or contra su estructura es m"s comple;a + por tanto sus costes son ma+ores.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectu raordenadores%capituloF.3tm
'CI 8'erip"eral Component Interconnect9 0isto lo anterior! se puede ver que el 1us del futuro es claramente el ,*( de (ntel. 'CI signi$ica2 intercone>in de los componentes perifricos (,erip$eral *omponent (nterconnect) + presenta un moderno 1us que no slo est" meditado para no tener la relacin del 1us (:) en relacin a la frecuencia de relo; o su capacidad sino que tam1in la sincronizacin con las tar;etas de ampliacin en relacin a sus direcciones de puerto! canales '.) e interrupciones se $a automatizado finalmente de tal manera que el usuario no de1er" preocuparse m"s por ello. El 1us ,*( es independiente de la *,4! +a que entre la *,4 + el 1us ,*( se instalar" siempre un controlador de 1us ,*(! lo que facilita en &ran medida el tra1a;o de los diseadores de placas. ,or ello tam1in ser" posi1le instalarlo en sistemas que no estn 1asados en el procesador (ntel si no que pueden usar otros! como por e;emplo! un procesador )lp$a de 'E*. ?am1in los procesadores ,oBer.acintos$ de )pple se suministran en la actualidad con 1us ,*(. Las tar;etas de e>pansin ,*( tra1a;an eficientemente en todos los sistemas + pueden ser intercam1iadas de la manera que se desee. :olamente los controladores de dispositivo de1en naturalmente ser a;ustados al sistema anfitrin ($ost) es decir a su correspondiente *,4. *omo vemos el 1us ,*( no depende del relo; de la *,4! porque est" separado de ella por el controlador del 1us. :i se instalara una *,4 m"s r"pida en su ordenador no de1er<a preocuparse porque las tar;etas de e>pansin instaladas no pudieran soportar las frecuencias de relo; superiores! pues con la separacin del 1us ,*( de la *,4 stas no

son influidas por esas frecuencias de relo;. )s< se $a evitado desde el primer momento este pro1lema + defecto del 1us 0L. El 1us ,*( emplea un conector estilo .icro *$annel de 174 pines (1GG en caso de una implementacin de J4 1its) pero Anicamente 4V de estas cone>iones se emplean en una tar;eta de e>pansin (49 en caso de que se trate de un adaptador 1us3master)N la diferencia se de1e a la incorporacin de una l<nea de alimentacin + otra de tierra. *ada una de las seales activas del 1us ,*( est" 1ien ;unto o frente a una seal de alimentacin o de tierra! una tcnica que minimiza la radiacin. El l<mite pr"ctico en la cantidad de conectores para 1uses ,*( es de tresN como ocurre con el 0L! m"s conectores aumentar<an la capacitancia del 1us + las operaciones a m">ima velocidad resultar<an menos fia1les. ) pesar de presentar un rendimiento similar al de un 1us local conectado directamente! en realidad ,*( no es m"s que la eliminacin de un paso en el microprocesador. En lu&ar de disponer de su propio relo;! un 1us ,*( se adapta al empleado por el microprocesador + su circuiter<a! por tanto los componentes del ,*( est"n sincronizados con el procesador. El actual est"ndar ,*( autoriza frecuencias de relo; que oscilan entre 7H + 88 .$z. ) pesar que de que las tar;etas (:) no pueden ser instaladas en una ranura ,*(! no de1er<a renunciarse a la posi1ilidad de insercin de una tar;eta (:). )s< pues! a menudo se puede encontrar en un equipo con 1us ,*( la interfaz XpuenteY llamada X'CI-&oISA-7ridgeY. :e trata de un c$ip que se conecta entre los distintos slots (:) + el controlador del 1us ,*(. :u tarea consiste en transponer las seales provenientes del 1us ,*( al 1us (:). 'e esta manera pueden se&uir siendo utilizadas las tar;etas (:) al amparo del 1us ,*(. ) pesar de que el 1us ,*( es el presente! si&ue $a1iendo 1uses + tar;etas de e>pansin (:) +a que no todas las tar;etas de e>pansin requieren las ratios de transferencia que permite el 1us ,*(. :in em1ar&o las tar;etas &r"ficas! tar;etas :*:( + tar;etas de red se $an decantando cada vez m"s fuertemente $acia el 1us ,*(. La venta;a de la velocidad de este sistema de 1us es que este $ardBare puede participar del continuo incremento de velocidad de los procesadores.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectu raordenadores%capitulo12.3tm
SCSI 8Small Computer S/stem Inter$ace9 )dem"s de todas las arquitecturas mencionadas anteriormente! tam1in $a+ que mencionar a :*:(. Esta tecnolo&<a tiene su ori&en a principios de los aos GH cuando un fa1ricante de discos desarrollo su propia interface de E5: denominado SASI (:$u&art )sociates :+stem (nterface) que de1ido a su &ran >ito comercial fue presentado + apro1ado por )%:( en 19GJ.

:*:( no se conecta directamente al microprocesador sino que utiliza de puente uno de los 1uses anteriormente nom1rados. ,odr<amos definir :*:( como un su1sistema de E5: inteli&ente! completa + 1idireccional. 4n solo adaptador $ost :*:( puede controlar $asta V dispositivos inteli&entes :*:( conectados a l. 4na venta;a del 1us :*:( frente a otros interfaces es que los dispositivos del 1us se direccionan l&icamente en vez de f<sicamente. Esto sirve para 7 propsitos2 1.3 Elimina cualquier limitacin que el ,*3/ios impon&a a las unidades de disco. 7.3 El direccionamiento l&ico elimina la so1recar&a que el $ost podr<a tener en mane;ar los aspectos f<sicos del dispositivo como la ta1la de pistas daadas. El controlador :*:( lo mane;a. Es un 1us que a diferencia de otros 1uses como el ES-I puede tener $asta G dispositivos diferentes conectados al 1us (incluido el controlador). )unque potencialmente varios dispositivos pueden compartir un mismo adaptador :*:(! slo 7 dispositivos :*:( pueden comunicarse so1re el 1us al mismo tiempo. El 1us :*:( puede confi&urarse de tres maneras diferenciadas que le dan &ran versatilidad a este 1us2 1.3 :nico iniciador):nico o+,etivo2 Es la confi&uracin m"s comAn donde el iniciador es un adaptador a una ranura de un ,* + el o1;etivo es el controlador del disco duro. Esta es una confi&uracin f"cil de implementar pero no aprovec$a las capacidades del 1us :*:(! e>cepto para controlar varios discos duros. 7.3 :nico iniciador)!;ltiple o+,etivo2 .enos comAn + raramente implementado. Esta confi&uracin es mu+ parecida a la anterior e>cepto para diferentes tipos de dispositivos E5: que se puedan &estionar por el mismo adaptador. ,or e;emplo un disco duro + un reproductor de *'3E6.. 8.3 !;ltiple iniciador)!;ltiple o+,etivo2 Es muc$o menos comAn que las anteriores pero as< es como se utilizan a fondo las capacidades del 1us. 'entro de la tecnolo&<a :*:( $a+ 7 &eneraciones + una tercera que est" a punto de &eneralizarse. La primera &eneracin permit<a un anc$o de 1anda de G 1its + unos ratios de transferencia de $asta ./ps. El ma+or pro1lema de esta especificacin fue que para que un producto se denominara :*:( solo de1<a cumplir 4 cdi&os de operacin de los J4 disponi1les por lo que proliferaron en el mercado &ran cantidad de dispositivos :*:( no compati1les entre s<. Esto cam1i con la especificacin 7.H +a que e>i&<a un m<nimo de 17 cdi&os! por lo que aumenta1a la compati1ilidad entre dispositivos. 6tro punto a favor de :*:( 7.H es el aumento del anc$o de 1anda de G a 1J + 87 1its. Esto se consi&ue &racias a las implementaciones (ide (anc$o) + $ast (r"pido). *om1inando estas dos metodolo&<as se lle&a a conse&uir una transferencia m">ima de 4H .1ps con 87 1its de anc$o (7H .1ps con un anc$o de 1anda de 1J 1its).

El protocolo :*:( 8.H no esta1lecer" nuevas prestaciones de los protocolos! pero si refinar" el funcionamiento de :*:(.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectu raordenadores%capitulo13.3tm
A<' 8Accelerated <rap"ics 'ort9 La tecnolo&<a )D,! creada por Intel! tiene como o1;etivo fundamental el nacimiento de un nuevo tipo de ,*! en el que se preste especial atencin a dos facetas2 &r"ficos + conectividad. La especificacin A<' se 1asa en la especificacin ,*( 7.1 de JJ .$z (aunque sta apenas se usa! dado que la ma+or<a de las tar;etas &r"ficas disponi1les tan slo son capaces de utilizar la velocidad de 1us de 88 .$z)! + aade tres caracter<sticas fundamentales para incrementar su rendimiento2 operaciones de lectura5escritura en memoria con pipeline! demultiple>ado de datos + direcciones en el propio 1us! e incremento de la velocidad $asta los 1HH .$z (lo que supondr<a unos ratios de transferencia de unos GHH .1+tes por se&undo! superiores en m"s de 4 veces a los alcanzados por ,*(). ,ero el 1us )D, es tam1in un 1us e>clusivamente dedicado al apartado &r"fico! tal + como se deriva de su propio nom1re! )ccelerated Drap$ics ,ort o 1us acelerado para &r"ficos. Esto tiene como consecuencia inmediata que no se vea o1li&ado a compartir el anc$o de 1anda con otros componentes! como sucede en el caso del ,*(. 6tra caracter<stica interesante es que la arquitectura )D, posi1ilita la comparticin de la memoria principal por parte de la aceleradora &r"fica! mediante un modelo que (ntel denomina '(.E ('irect .emor+ E>ecute! o e;ecucin directa a memoria) + que posi1ilitar" me;ores te>turas en los futuros ;ue&os + aplicaciones 8'! al almacenar stas en la E). del sistema + transferirlas tan pronto como se necesiten.

3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitectur aordenadores%capitulo1 .3tm


Los buses. Son el conjunto de lneas o caminos por los cuales los datos fluyen internamente de una parte a otra de la computadora (CPU, disco duro, memoria). Puede decirse que en las computadoras modernas hay muchos buses, por ejemplo entre los puertos I ! y los dri"es, entre una placa #celeradora de "ideo y la memoria $am, entre el modem y el Chipset, etc. Pero %os buses b&sicos son' a) el bus interno (bus de datos), o sea el que comunica los diferentes componentes con la CPU y la memoria $#(, formado por los hilos conductores que "emos en el circuito impreso de la placa, y el bus de direcciones.

b) !l bus de e)pansi*n constituido por el conjunto de slots o ranuras en donde se insertan placas independientes de sonido, "ideo, modem, etc. !ste se+,n ha aumentado su capacidad de transmisi*n ha cambiado de nomenclatura' IS# (Industry Standard #rchitecture), -./-, solo trabaja con un ancho de banda de -0 bits, 1!S# (1ideo !lectronics Standard #ssociation), -..2, trabaja a 32 bits, pero cayo r&pidamente en desuso al aparecer el actual PCI (Peripheral Component Interconnect), -..2, cuyo ancho de banda es de 04 bits. e la "elocidad de transmisi*n del bus interno depende la selecci*n de al+unos componentes como el (icroprocesador y la memoria $am en una motherboard, entendi5ndose por ejemplo que una P%#C# 6#S! cuya "elocidad de transferencia es de -77 (89, no admite procesadores Pentium I1 (que necesitan buses con mayor "elocidad de transmisi*n) ni m*dulos de memoria que trabajan e)clusi"amente en buses con "elocidad de -33 (89. Por otra parte es importante resaltar la diferencia de conceptos que hay entre' numero de lneas de un bus (-0, 32, 04 bits) y la frecuencia de trabajo del bus. %a multiplicaci*n de estos dos factores representa al ancho de banda y se mide en (b:s. ;odo bus local esta compuesto de dos &reas' datos y direcciones. !l bus de datos lo forman las lneas dedicadas a la transmisi*n de se<ales u ordenes, el bus de direcciones lo constituyen las lneas que dan a conocer las posiciones de ubicaci*n de los datos en la memoria (re+istros). Buses actuales. !n conjunci*n con la Inform&tica, la electr*nica inno"a permanentemente para crear nue"as y mas eficientes rutas de comunicaci*n entre los PC y sus perif5ricos. (uchas de estas "as pueden realmente llamarse buses entre tanto que otras solo deben clasificarse como puertos. # continuaci*n una descripci*n de las principales tecnolo+as empe9ando por las de mayor rele"ancia.. 6US PCI. !s el bus local est&ndar en las motherboards actuales. !l nombre abre"iado pro"iene de Peripheral Component Interconnect y fue dado a conocer por Intel en -..3. PCI es un bus local compuesto por lneas fsicas que permiten comunicar el (icroprocesador con otro componente. %os puntos de cone)i*n de los componentes son los S%=;S o puertos de e)pansi*n que se obser"an en las motherboards, como bloques de pl&stico blanco. etalles t5cnicos de PCI. -. !s un bus de 04 bits (04 lneas de transmisi*n). Se lo utili9a principalmente como un bus de 32 bits. 2. ;rabaja con frecuencias "ariadas' 33 (89, 00 (h9, -77 (89, 477 (h9, etc., lo que permite alcan9ar un ancho de banda de +ran capacidad. 3. 32 lineas son utili9adas para transmitir datos y direcciones en forma multiple)ada (multiple)ado> utili9aci*n de una misma lnea para transmitir datos y direcciones). %as dem&s lneas sir"en para interpretar y "alidar las se<ales correspondientes a datos y direcciones. 4. # diferencia de su antecesor el bus #; (IS#), PCI utili9a circuitos PCI 6rid+e para comunicar al (icroprocesador con otros componentes, lo que permite que los dispositi"os acoplados en el bus PCI puedan trabajar con diferentes tipos de (icroprocesadores. ?. !l n,mero de dispositi"os que pueden conectarse al bus PCI est& limitado a 32. @o obstante, la norma PCI admite la jerarqui9aci*n de buses increment&ndose el n,mero de dispositi"os que pueden conectarse. !l softAare de confi+uraci*n debe ser capa9 de reali9ar transacciones de confi+uraci*n en todos los dispositi"os PCI que residen m&s all& del puente PCI:host (brid+e). 0. Control de error en la

transmisi*n, mediante el uso de bits de control de paridad (uso de se<ales de "erificaci*n de en"io B recepci*n entre los dispositi"os). 6US #CP. #ccelerated Craphics Port. Se trata de un bus independiente del bus +eneral constituido por un slot especfico para tarjetas +r&ficas. !s un bus de 32 bits que trabaja a 00 (89, pero tiene la posibilidad de doblar o cuadruplicar las caractersticas b&sicas, hasta una tasa de transferencia m&)ima de -704 (bits por se+undo. Puede decirse que no es un bus en el sentido estricto de la palabra sino m&s bien una e)tensi*n de la norma PCI, ra9*n por la cual en al+unos aspectos es id5ntico a aquel. #ctualmente es un puerto de uso e)clusi"o para dispositi"os +r&ficos de alta "elocidad. 1er aqu la foto de su ubicaci*n fsica en una motherboard. 6US US6. -..0. Uni"ersal serial bus. !s un nue"o est&ndar para comunicaciones serie que resuel"e muchos de los incon"enientes de los anti+uos puertos C=( ( dificultades en la adaptaci*n a un puerto C=( libre, conflicto de los "ectores de interrupci*n I$D, etc.). Presenta muchas "entajas frente a sistemas tradicionales' "elocidades de trabajo hasta de 4/7 (b:s (US6 2.7), incluye alimentaci*n el5ctrica para dispositi"os con bajo consumo de ener+a ( alrededor de los ? "oltios), permite conectar hasta -2E dispositi"os, todos ellos compartiendo el mismo canalF permite reali9ar cone)i*n y descone)i*n en GcalienteG (sin apa+ar el equipo), permite utili9ar cables de hasta ?m de lon+itud para dispositi"os de alta "elocidad. #ctualmente todos los PCs disponen de por lo menos un par de salidas US6 y muchos dispositi"os, como impresoras, ratones, esc&neres, Aebcams, equipos de foto+rafa di+ital, etc. que antes se conectaban a tra"5s de puertos C=( o %P; lo hacen ahora mediante US6. (as detalles en el apartado Puertos. 6US !BI !. !nhanced Inte+rated ri"e !lectronics. ebe ser considerado mas como una Interface. Se trata de una tecnolo+a electr*nica que basa el control de la comunicaci*n en una placa inte+rada en el propio dispositi"o. !l bus lo constituye un cable plano de 47 u /7 hilos conductores que comunica el conector del dispositi"o (disco duro, C B$=( o +rabador de C ) con el conector o puerto I ! de la motherboard. %as placas base actuales se fabrican con dos puertos' I ! 7 e I !-. ;eoricamente cada puerto I ! representa un canal. Cada canal permite la cone)i*n de hasta 2 dri"es (discos duros o unidades opticas). etalles de esta cone)ion se amplian bajo el tema HInterfaces del isco duroH. 6US SCSI. -./7, -./0. Small Computer System Interface. !s la interface de mayor capacidad, "elocidad y estabilidad para conectar dispositi"os directamente a una motherboard. !n las computadoras desItop, SCSI es una interface pues se fabrica sobre una placa que se inserta en un slot de la motherboard (actualmente en slots PCI). !sta independencia fsica del microprocesador tiene la +ran "entaja de hacer que los dispositi"os se direccionen l*+icamente en contraposici*n al direccionamiento fsico que utili9a I !. %a consecuencia inmediata es que los dispositi"os quedan liberados de las imposiciones que el 6ios pudiera imponer pues SCSI se encar+a de hacer el trabajo completo de comunicaci*n y confi+uraci*n. !sta capacidad lo ha hecho el preferido en equipos en los que se requiere estabilidad y alta "elocidad de transmisi*n, como los ser"idores. %a ultima "ersi*n de SCSI es la Jide Ultra2 SCSI, que usa un bus de -0 bits, un ancho de banda de /7(6:s y trabaja con cables planos de 0/ hilos. %a interface al trabajar como un dispositi"o I:= (de entrada y salida) permite en teora conectar / dispositi"os simult&neamente, en una cone)i*n en la que cada

dispositi"o se une al si+uiente y en donde cada dispositi"o tiene su propio I ante el host. !l mayor uso de SCSI se da en la cone)i*n de discos duros, tape dri"es, unidades *pticas, esc&neres e impresoras. %os dispositi"os e)ternos que trabajan con interface SCSI tienen dos puertos' uno para la entrada del cable y otro para conectarse al si+uiente dispositi"o. !l ultimo elemento debe cerrar la cadena mediante un circuito HterminadorH para que la cone)i*n funcione.

"ttp ))(((.servicioalpc.com)ensam+le4."tm

2.4.1

'us (ocal.

/us local. /us entre la *,4! la memoria + dispositivos perifricos que corre a la velocidad de la *,4. En un computador personal! el 1us 0L + el ,*( suministran una transferencia de datos m"s r"pida que el 1us (:) tradicional. ) partir del 8GJ! cuando las velocidades de la *,4 comenzaron a acelerarse enormemente! los computadores personales vienen con dos 1uses. La *,4 tiene acceso a sus c$ips de memoria a travs de una v<a de acceso interna de 87 1its (J8 1its con el ,entium)! conocida como 1us local! a la velocidad m"s alta del relo; de la *,4 (7 .Hz! 88.Hz! etc.). :in em1ar&o! tradicionalmente $a tenido acceso a sus dispositivos perifricos en forma m"s lenta! en un 1us (:) de 1J 1its slo a G.Hz. (ncluso en el 1us E(:) de 87 1its in$erentemente m"s r"pido corre en forma lenta para acomodar las tar;etas (:)! que se conectan a ste. Los est"ndares de 1us 0L de 0E:) + de 1us local ,*( de (ntel se crearon para aprovec$ar las velocidades m"s altas de la *,4. El ,* corre a 88.HzN el 1us 0L $asta a 4H.HzN esper"ndose m"s altas velocidades. Las tar;etas 1ase (:) + E(:) se constru+en a$ora con ranuras adicionales para el 1us 0L o las tar;etas ,*(! o am1os.
5ttp?//<<<.glosarium.com/term/I>3+1"+25tml .O$A. EAS ?eniendo en cuenta las mencionadas limitaciones del 1us )? + la infali1ilidad de los 1uses E(:) + .*) para asentarse en el mercado! en estos aos se $an ideado otros conceptos de 1us. :e inici con el llamado 0esa Local /us (0L3/us)! que fue conce1ido + propa&ado independientemente por el comit 0E:)! que se propuso el definir est"ndares en el "m1ito de las tar;etas &r"ficas + as< por primera vez + realmente tuviera poco que ver con el diseo del 1us del ,*. Queron + son todav<a las tar;etas &r"ficas quienes sufren la menor velocidad del 1us )?. ,or eso sur&i! en el *omit 0E:)! la propuesta para un 1us m"s r"pido que fue el 0E:) Local /us. =esa (ocal 'us )l contrario que con el E(:)! .*) + ,*(! el 1us 0L no sustitu+e al 1us (:) sino que lo complementa. 4n ,* con 1us 0L dispone para ello de un 1us (:) + de las correspondientes ranuras (slots) para tar;etas de ampliacin. )dem"s! en un ,* con 1us 0L puede $a1er! sin em1ar&o! una! dos o incluso tres ranuras de e>pansin! para la colocacin de tar;etas conce1idas para el 1us 0L! casi siempre &r"ficos. :olamente estos slots est"n conectados con la *,4 a travs de un 1us 0L! de tal manera que las otras ranuras permanecen sin ser molestadas + las tar;etas (:) pueden $acer su servicio sin inconvenientes.

El 0L es una e>pansin $omo&eneizada de 1us local! que funciona a 87 1its! pero que puede realizar operaciones a 1J 1its. 0E:) present la primera versin del est"ndar 0L3/4: en a&osto de 1997. La aceptacin por parte del mercado fue inmediata. Qiel a sus or<&enes! el 0L3/4: se acerca muc$o al diseo del procesador GH4GJ. 'e $ec$o presenta las mismas necesidades de seal de dic$o c$ip! e>ceptuando unas cuantas menos estrictas destinadas a mantener la compati1ilidad con los 8GJ. La especificacin 0L3/us como tal! no esta1lece l<mites! ni superiores ni inferiores! en la velocidad del relo;! pero una ma+or cantidad de conectores supone una ma+or capacitancia! lo que $ace que la fia1ilidad disminu+a a la par que aumenta la frecuencia. En la pr"ctica! el 0L3/4: no puede superar los JJ .$z. ,or este motivo! la especificacin 0L3/4: ori&inal recomienda que los diseadores no empleen m"s de tres dispositivos de 1us local en sistemas que operan a velocidades superiores a los 88 .$z. ) velocidades de 1us superiores! el total disminu+e2 a 4H .$z solo se pueden incorporar dos dispositivosN + a H .$z un Anico dispositivo que $a de inte&rarse en la placa. En la pr"ctica! la me;or com1inacin de rendimiento + funciones aparece a 88 .$z. ?ras la presentacin del procesador ,entium a J4 1its! 0E:) comenz a tra1a;ar en un nuevo est"ndar (0L3/us versin 7.H). La nueva especificacin define un interface de J4 1its pero que mantienen toda compati1ilidad con la actual especificacin 0L3/4:. La nueva especificacin 7.H redefine adem"s la cantidad m">ima de ranuras 0L3/4P: que se permiten en un sistema sencillo. )$ora consta de $asta tres ranuras a 4H .$z + dos a H .$z! siempre que el sistema utilice un diseo de 1a;a capacitancia. En el nom1re del 1us 0L queda de manifiesto que se trata de un 1us local. 'e forma distinta al 1us (:) ste se acopla directamente en la *,4. Esto le proporciona por un lado una me;ora su1stancial de la frecuencia de relo; (de la *,4) + $ace que dependa de las l<nea de control de la *,4 + del relo;. ) estas desventa;as $a+ que aadirle que no en todos los puntos est"n 1ien resueltas las especificaciones del comit 0E:)! $ec$o que a la lar&a le llevar" a que el >ito del 1us 0L se vea empaado por ello. En sistemas 4GJ econmicos se pod<a encontrar a menudo! pero su me;or momento +a $a pasado.

/us local. /us entre la *,4! la memoria + dispositivos perifricos que corre a la velocidad de la *,4. En un computador personal! el 1us 0L + el ,*( suministran una transferencia de datos m"s r"pida que el 1us (:) tradicional. ) partir del 8GJ! cuando las velocidades de la *,4 comenzaron a acelerarse enormemente! los computadores personales vienen con dos 1uses. La *,4 tiene acceso a sus c$ips de memoria a travs de una v<a de acceso interna de 87 1its (J8 1its con el ,entium)! conocida como 1us local! a la velocidad m"s alta del relo; de la *,4 (7 .Hz! 88.Hz! etc.). :in em1ar&o! tradicionalmente $a tenido acceso a sus dispositivos perifricos en forma m"s lenta! en un 1us (:) de 1J 1its slo a G.Hz. (ncluso en el 1us E(:) de 87 1its in$erentemente m"s r"pido corre en forma lenta para acomodar las tar;etas (:)! que se conectan a ste. Los est"ndares de 1us 0L de 0E:) + de 1us local ,*( de (ntel se crearon para aprovec$ar las velocidades m"s altas de la *,4. El ,* corre a 88.HzN el 1us 0L $asta a 4H.HzN esper"ndose m"s altas

velocidades. Las tar;etas 1ase (:) + E(:) se constru+en a$ora con ranuras adicionales para el 1us 0L o las tar;etas ,*(! o am1os.
3ttp7%%///.+losarium.com%term%FG3H1 HE3tml

EL BUS LOCAL PC

Cuando I6( dise<o su primer ordenador, el PC, dise<o un bus para la cone)i*n de perif5ricos, que aunque en aquel entonces era mas que suficiente para los dispositi"os e)istentes, quedo r&pidamente obsoleto con la aparici*n de los nue"os microprocesadores r&pidos y de los dispositi"os que necesitaban una +ran "elocidad de transferencia para comunicarse con el procesador del sistema. !ste bus fue denominado IS#, se encontraba disponible en dos "ersiones, una de / bits (que la inte+raban los primeros PC) y otra de -0 bits (que apareci* junto con los primeros #; con procesador /72/0). #mbas "ersiones del bus IS# funcionaban a una "elocidad de / (h9. si bien e)isten ordenadores compatibles en los que la "elocidad del bus se puede ele"ar hasta -7 o -2 (h9. !sta caracterstica hi9o que en poco tiempo los usuarios poseedores de ordenadores con procesadores 3/0 a 47 (h9 o 4/0 a 33 (h9. se "ieran frenados de forma considerable al hacer accesos al bus IS#. ejando a parte las soluciones propietarias desarrolladas por al+unos fabricantes de ordenadores, el primer bus local que tu"o una plena aceptaci*n por parte del publico en +eneral fue el bus local 1!S#. !sta tecnolo+a apro"echaba el bus local del propio procesador para implementar dos o tres ranuras de e)pansi*n, mediante los cuales el usuario conectaba las tarjetas que normalmente contenan los dispositi"os que podan representar en cuello de botella durante el funcionamiento del ordenador (;arjeta +rafica, y controladora de disco). Sin embar+o, esta tecnolo+a tenia como todo "entajas e incon"enientes. %a "entaja principal era su bajo coste de implementaci*n. Por otro lado los fabricantes se encontraron con una especificaci*n del bus que era un poco "a+a, por lo que r&pidamente aparecieron problemas de incompatibilidad entre al+unas placas base y determinadas tarjetas de e)pansi*n. #dem&s el dise<o el5ctrico de este bus hacia que solo se pudieran dise<ar placas con dos o a lo sumo tres ranuras de e)pansi*n 1!S#. Para completar este relati"amente desolador panorama, el bus 1!S# era de 32 bits, y al menos en un primer momento no e)ista una especificaci*n de 04 bits. Para crear un bus local que fuese aceptado tanto por la industria inform&tica como por los usuarios, una serie de compa<as, entre ellas Intel, se unieron en un comit5, el cual fue el encar+ado de crear las especificaciones de lo que hoy en da conocemos como bus PCI. !l bus local PCI es un bus de alto rendimiento de 32 o 04 bits de anchura (casi todas las implementaciones actuales soportan solo la "ersi*n de 32 bits) dotado de lneas de datos y direcciones multiple)adas. !ste bus esta dise<ado como mecanismo de intercone)i*n entre componentes de la placa base, tarjetas de e)pansi*n y subsistema de memoria, y el propio procesador. !n un sistema PCI tpico, el subsistema formado por el procesador, la memoria cache e)terna o de se+undo ni"el y la memoria principal se conectan al bus PCI mediante un brid+e o puente PCI. !ste puente proporciona un acceso mediante el cual el procesador puede acceder directamente a los dispositi"os PCI, ya sea

mediante entrada:salida mapeada en la memoria del sistema o utili9ando un espacio de direcciones separado para las operaciones de entrada:salida. %a especificaci*n PCI permite la e)istencia de dispositi"os PCI maestros o masteres, los cuales con capaces de acceder a la memoria principal de ordenador sin que sea necesaria la inter"enci*n del microprocesador. !l brid+e puede disponer de al+unas otras funciones destinadas a optimi9ar el rendimiento +eneral del sistema, como por ejemplo buffer de escritura y de arbitro del bus. %as confi+uraciones PCI tpicas permiten la cone)i*n de hasta cuatro tarjetas de e)pansi*n. !n cuanto al tama<o de las tarjetas de e)pansi*n, se han definido tres tama<os, tarjetas lar+as, cortas y cortas de lon+itud "ariable. @o es necesario que todos los sistemas soporten estos tres tipos de tarjetas. %os dos tipos de "oltajes soportados por el bus PCI (? y 3H3 "oltios) han tenido su influencia en el dise<o de las tarjetas de e)pansi*n, de forma que se han definido tres tipos de tarjetas' una tarjeta de cinco "oltios, que solo se puede conectar a las ranuras PCI de este tipo, una tarjeta Guni"ersalG que se puede conectar a ranuras de ? y 3H3 "oltios, y por ultimo otro tipo de tarjeta que solo se puede conectar a las ranuras de 3H3 "oltios. %a "elocidad est&ndar de funcionamiento del PCI es de 33 (h9, por lo que asumiendo un ancho de banda de 32 bits es posible obtener "elocidades superiores a los -27 (6:se+.

$ttp255BBB.dinastiasoft.com.ar5?ecnolo&ia5,*(.$tm

La conexin entre los elementos de un computador se realiza a travs de los BUSES. Un bus es un conjunto de cables (pistas de circuito impreso o hilos conductores) que proporciona un camino para el flujo de informacin entre los distintos elementos que forman el ordenador. Cuando un dato pasa de un componente a otro, viaja a lo largo de este camino comn para alcanzar su destino. Por cada pista o cable se transmite un bit; para transmitir un bloque de varios bytes, pueden transmitirse todos por el mismo hilo (un bit despus de otro), lo que se denomina transmisin en serie, o transmitir por distintos cables a la vez, lo que nos proporciona una transmisin en paralelo. Por el bus se debe transmitir distintos tipos de informacin: la direccin del dato al que se quiere acceder, el dato a transferir, o informacin de control para permitir la operacin de los distintos elementos.
$ttp255J4.788.1JV.1H45searc$Z q[cac$e2\LWO4e1m1&G#2BBBdi.u;aen.es5]mcdiaz5docencia5curH4CH 5fi5teoria5H4C6r denador.pdf^R77funcionamiento^de^la^memoriaR77informatica_$l[es

2.4.2

'us de datos.

Sirve para transmitir in0ormaci,n entre el microprocesador+ la memoria ) los peri08ricos. @or 8l circulan los datos ) las instrucciones. #iene tantas l*neas como bits se transmiten en paralelo %una para cada bit&. El 0lu'o es de doble sentido ) a ma)or n(mero de bits paralelos ma)or podr- ser la velocidad de transmisi,n que consigamos. El anc5o de este bus %nV de bits que puede transmitir simult-neamente en paralelo& es una medida de la potencia del microprocesador. Este bus es como

una autopista de datos electr,nicos ) cuanto m-s anc5o sea+ m-s datos podr-n moverse al mismo tiempo. El anc5o del bus de datos es una de las caracter*sticas m-s importantes del microprocesador. $uando decimos que un microprocesadores+ por e'.+ de 1J bits+ nos estamos re0iriendo al anc5o de su bus de datos. $ttp255BBB.laBe1delpro&ramador.com5diccionario5mostrar.p$pZletra[/_pa&ina[4 El /us de 'atos es 1idireccional! pues los datos pueden fluir $acia desde la *,4. Los m terminales de la *,4! de 'H 3 'm31 ! pueden ser entradas salidas! se&An la operacin que se este realizando ( lectura escritura ) . en todos los casos! las pala1ras de datos transmitidas tiene m 1its de lon&itud de1ido a que la *,4 mane;a pala1ras de datos de m 1itsN del nAmero de 1its del 1us de datos! depende la clasificacin del microprocesador. En al&unos microprocesadores! el 1us de datos se usa para transmitir otra informacin adem"s de los datos ( por e;emplo! 1its de direccin informacin de condiciones ). Es decir! el 1us de datos es compartido en el tiempo multiple>ado. En &eneral se adopt G 1its como anc$o est"ndar para el 1us de datos de los primeros computadores ,* + L?. 4sualmente el computador transmite un car"cter por cada pulsacin de relo; que controla el 1us (1us cloc-)! el cual deriva sus pulsaciones del relo; del sistema (s+stem cloc-). )l&unos computadores lentos necesitan $asta dos pulsaciones de relo; para transmitir un car"cter. Los computadores con procesador GH7GJ usan un 1us de datos de 1J 1its de anc$o! lo cual permite la comunicacin de dos caracteres o 1+tes a la vez por cada pulsacin de relo; en el 1us. Los procesadores GH8GJ + GH4GJ usan 1uses de 87 1its. El ,E%?(4. de (ntel utiliza 1us e>terno de datos de J4 1its! + uno de 87 1its interno en el microprocesador. Bus de datos de 16 bits Los procesadores dominantes antes de la introduccin del IBM PC, basado en el 8086, eran todos de 8 bits; con lo que nos refereimos al bus de datos. sto quiere decir que se pod!a accesar un b"te de memoria en un solo ciclo de relo#, pues e$ist!an 8 cables entre la memoria " el procesador, por donde %ia#aban a la %e& 8 bits de informacin. 'ue el procesador a(ora sea de )6 bits, quiere decir que pueden %ia#ar a la %e& )6 bits *+ b"tes, entre el procesador " la memoria; por tanto, el procesador puede mo%er bloques de memoria en la mitad del tiempo, " con la mitad de instrucciones. sto (ace m-s eficiente el acceso a memoria por parte del procesador. .l tama/o del bus de datos tambi0n suele llam-rsele tama/o de palabra.

Bus de datos, que transporta los datos que se transfieren entre unidades. El nmero de lneas (y por tanto el nmero de bits) que utilice el bus de datos en un ordenador determina el tamao de su palabra, es decir el tamao del dato que se puede transmitir. Es bidireccional, es decir, los mismos hilos se utilizan para transmitir informacin hacia dentro o hacia fuera de una unidad en instantes diferentes

Eus de datos? .leva los datos que es necesario enviar de un elemento a otro+ puede ser bidireccional %los datos pueden ir en uno u otro sentido&. E2iste un bus de datos interno? %e'emplo? entre el microprocesador ) la memoria& ) uno e2terno+ entre la computadora ) sus peri08ricos %e'emplo? $omputadora e impresora& 3ttp7%%///.unicrom.com%CmpIestructura.asp

El bus de datos
%os procesadores /7)/0 utili9an el bus de datos para intercambiar informaci*n entre los diferentes componentes del sistema. !l tama<o de 5stos buses es "ariable dependiendo del tipo de procesador, por esta ra9*n es com,n pensar en el tama<o del bus como una medida del Gtama<oG del procesador, puede haber buses de datos de / (/7//, /7-//), -0 (/7/0, /7-/0, /72/0), 32 (/73/0, /74/0) * 04 lneas (Pentium, Pentium Pro). !n cada lnea del bus de datos se transmite un bit de informaci*n pero un sistema no est& limitado a manejar informaci*n de acuerdo al tama<o del bus de datos, es decir, un bus de 32 bits no est& limitado a trabajar con tipos de datos m&)imos de 32 bits. !l tama<o del bus de datos por otro lado si limita el n,mero de bits que el sistema puede manejar por cada ciclo de memoria de tal manera que un sistema de -0 bits necesita dos ciclos de memoria para manejar un tipo de dato de 32 bits, naturalmente pero no necesariamente, un sistema de 32 bits es el doble de r&pido que un sistema de -0 bits, la limitaci*n es porque e)isten otros factores que influyen en el rendimiento de un sistema.

5ttp?//<<<.modelo.edu.m2/univ/virtec5/prograc/cb)n43.5tm

2.4.3

'us de direcciones.

Eus de direcciones? ;uc5os de los elementos de una computadora as* como las posiciones de memoria tienen una direcci,n (nica dentro del sistema. De esta direcci,n se puede leer un dato o en esta direcci,n podemos escribir un dato. En el bus de direcciones se coloca la direcci,n del elemento a accesar ) con a)uda del bus de datos movemos la in0ormaci,n de un elemento a otro. E'emplo? Si la $@A quiere leer unos datos de memoria para despu8s enviarlo a la impresora o la pantalla+ primero pone en el bus de direcciones la direcci,n del dato en memoria+ lo lee %lo obtiene a trav8s del bus de datos&+ despu8s pone en el bus de direcciones la otra direcci,n %la de pantalla o impresora& ) escribe %con a)uda del bus de datos&. WXui8n controla todo este proceso......Y 3ttp7%%///.unicrom.com%CmpIestructura.asp
>us de direcciones $s utili3ado por el microprocesador para se/alar la celda de memoria o el dispositivo de $5%! con el que se quiere operar. $l tipo de operaci(n ser de lectura o de escritura y los datos implicados viajarn por el bus de datos.

Por 0l circula la e.presi(n binaria de la direcci(n de memoria a la cual el microprocesador quiere acceder. 4iene sentido de 'lujo unidireccional desde el microprocesador -acia la memoria. Una ve3 locali3ados los datos perdidos, su transmisi(n -acia el microprocesador o -acia donde sea! se -ar a trav0s del bus de datos. Los dispositivos de $5% intercambian la in'ormaci(n con el microprocesador mediante los puertos de $5%. Cada puerto est asociado con un determinado dispositivo y tiene una direcci(n que lo identi'ica. $l anc-o de este bus tambi0n es una medida de la potencia del microprocesador, ya que determina la cantidad de memoria a la que 0ste puede acceder, es decir, la cantidad de espacio direccionable. $l espacio de direcciones es el rango de valores distintos que el microprocesador puede seleccionar. La cantidad m.ima de direcciones disponibles ser + a la n, siendo n el n)mero de l,neas del bus de direcciones. -ttp:55-tml.rincondelvago.com5bus2de2direcciones?dispositivo2dma.-tml

El 1us de 'irecciones es un medio de comunicacin unidireccional! de1ido a que los datos flu+en en un Anico sentido! de la *,4 a la memoria u otros dispositivos. La *,4 alimenta niveles l&icos en las l<neas de direccin! con lo cual se &eneran 7n posi1les direcciones diferentes. *ada una de estas direcciones corresponde a una localidad de la memoria dispositivo.

Los procesadores GHGJ + GHGG usados en los primeros computadores personales conta1an con un 1us de 7H l<neas o 1its de direccin! con lo cual eran capaces de direccionar $asta 1 me&a1+te de memoria (1.H4G. VJ 1+tes)! lo cual fue superado por los equipos )? (GH7GJ)! que con 74 1its de direccionamiento! pod<an administrar $asta 1J ./ de memoria (1J.VVV.71J 1+tes). :u1secuentemente! los procesadores GH8GJ'L direccionan directamente 4 &i&a1+tes de memoria principal! mientras que el procesador GH4GJ'L $asta J4 D/. $ttp255BBB.tecnotopia.com.m>5mecatronica51uses.$tm

Bus de direcciones, que transporta la direccin de la posicin de memoria o del perifrico que interviene en el trfico de informacin (de dnde procede el dato o a dnde se dirige). Permite la comunicacin entre el procesador y las celdas de la memoria RAM. Cuando el procesador quiere leer el contenido de una celda de

memoria, enva por el bus de direcciones la direccin de la celda que quiere leer, recibiendo a travs del bus de datos el contenido de la misma. El tamao de este bus define la cantidad de memoria RAM que la CPU puede gestionar. Puesto que hay dos valores posibles que pueden viajar a lo largo de cada una de las lneas de direcciones, tenemos que, por ejemplo: o con 10 bits podemos acceder a 1024 palabras, es decir, 1 Kbyte si la palabra equivale a 1 byte. o con 16bits accedemos a 65536 palabras (65KBytes) o con 32bits podemos acceder a 4294967296 palabras, es decir 4GB
Bus de direcciones de 20 bits 1ambi0n antes del 8086 (ab!a una limitante en la memoria de la que el procesador pod!a disponer. Los procesadores anteriores contaban con un bus de direcciones de )6 bits, con lo que pod!an inde$ar 62236 localidades distintas en memoria; siendo 0stas b"tes. Por tanto, su memoria m-$ima era de 64 5b. Intel reconoci que pronto, esta memoria ser!a insuficiente, por lo que decidi ampliarla. 6in embar7o, no pudieron ima7inar usos para una memoria ma"or a ) Mb.; parec!a infinita para los est-ndares de entonces. Por lo que aumentaron las l!neas del bus de direcciones a +0, con lo cual se pueden inde$ar memorias con )8048,296 elementos *) Mb.,

El bus de direcciones
!l bus de direcciones es el encar+ado de diferenciar las ubicaciones fsicas de cada elemento de un sistema de c*mputo, sea memoria * elemento de !:S, cuando un pro+rama necesita tener acceso a un elemento determinado del sistema coloca su direcci*n en el bus de direcciones, los circuitos electr*nicos asociados sea con la memoria * con un dispositi"o de !:S son los encar+ados de reconocer 5sta direcci*n y consecuentemente colocar los datos correspondientes en el bus de datos. Con una sola lnea de direcci*n es posible tener acceso a dos elementos diferentes, con n lneas de direcci*n se puede acceder a 2n direcciones diferentes, por lo tanto el n,mero de bits de un bus de direcciones determina la cantidad m&)ima de direcciones de memoria que un sistema puede acceder. Un procesador Pentium tiene un bus de direcciones de 32 bits por lo que su capacidad fsica real de direccionamiento de memoria de de 4 Ci+abytes, utili9ando la t5cnica de segmentacin 5stos procesadores pueden acceder a un mayor n,mero de direcciones de memoria.

5ttp?//<<<.modelo.edu.m2/univ/virtec5/prograc/cb)n43.5tm 'us de direcciones El bus del @$ U# contiene 24 l*neas identi0icadas SA< a SA1GF que en el A# se aumentaron a 2K+ a1adiendo las denominaciones (A16 a (A23. Estas l*neas contienen las direcciones que identi0ican la parte del ordenador que comunica. .as direcciones son de dos tiposF unas se re0ieren a direcciones de memoriaF

otras a direcciones de puertos de E/S+ pero en cualquier caso son de 24 bits para el @$ U# ) de 2K para los A#s. $on los datos anteriores+ resulta evidente % 4."& que el @$ U# pod*a mane'ar 1.4"I.5KJ direcciones %224&+ mientras que en el A# esta cantidad asciende a algo m-s de 13" millones %22K&. Sin embargo+ recordemos que tanto los procesadores I4II presentes en el U#+ como los I42IK del A#+ ten*an registros de 1J bits % C3b& que solo pod*an albergar J5.53J posiciones %2 1J&+ mu) ale'ado de los valores anteriores. @ara resolver el problema+ se utili7an las direcciones se+mentadas % C5.1&+ compuestas por dos palabras de 1J bits que se componen para 0ormar una direcci,n de 24 bits. 1ota? durante las operaciones E/S de puertos+ las direcciones SA1J: SA1> del I4II permanecen iguales a cero % C3.2.1&+ por lo que solo pueden utili7arse 1J bits para direcciones de puertos. 5ttp?//<<<.7ator.com/Card<are/C2.5tmM$ontrolador D;A

2.4.

'us de control.

Eus de control? Son 5ilos que transportan se1ales de control+ dan la in0ormaci,n del estado de ciertos componentes+ la direcci,n del 0lu'o de la in0ormaci,n+ controlan el momento %tempori7aci,n& en que suceden ciertos eventos de manera que no 5a)a c5oques de datos+ transmiten se1ales de interrupci,n+ etc. $ttp255BBB.unicrom.com5*mpCestructura.asp

El bus de control
!l bus de control es una colecci*n de lneas que transportan un conjunto de se<ales cuyo prop*sito es la sincrona de todas las operaciones efectuadas por el CPU con los diferentes subsistemas de un equipo de c*mputo, destacan las lneas para escritura (write) y lectura (read) de datos, el reloj del sistema, lneas de interrupci*n, lneas de estado, etc. !l uso de 5stas lneas se comprender& mejor conforme se a"ance en 5ste curso. %os procesadores de la familia /7)/0 pro"een dos espacios diferentes de direccionamiento, uno para la memoria y otro para la !:S, mientras que el direccionamiento de memoria "ara se+,n el procesador, las lneas de !:S son siempre de -0 bits, lo que permite direccionar 0?,?30 localidades diferentes. #l+unas lneas de control son las encar+adas de decidir qu5 direcciones son para memoria y cu&les son para !:S.

5ttp?//<<<.modelo.edu.m2/univ/virtec5/prograc/cb)n43.5tm El /us de *ontrol es utilizado para sincronizar las actividades + transacciones con los perifricos del sistema. )l&unas de estas seales! como E 5 O ! son seales que la *,4 env<a para indicar que tipo de operacin se espera en ese momento. Los perifricos tam1in pueden remitir seales de control a la *,4! como son (%?! EE:E?! /4: E\. Las seales m"s importantes en el 1us de control son las seales de cronmetro! que &eneran los intervalos de tiempo durante los cuales se realizan las operaciones. Este tipo de seales depende directamente del tipo del microprocesador.

Bus de control, que transporta las seales de control y de estado, indicando la direccin de la transferencia de datos, controlando la temporizacin de eventos durante la transferencia, transmitiendo las seales de interrupcin, etc. En definitiva, son las seales para controlar y sincronizar todos los componentes. Las seales de control parten desde la unidad de control hacia el resto de elementos, y las de estado parten del resto de los elementos hacia la unidad de control. Adems, se suele distinguir dos tipos de buses dependiendo de las partes del sistema que conectan: el bus que conecta la CPU con la memoria (bus interno o de CPU) y el que conecta la CPU con el resto de elementos (bus de expansin, que es una prolongacin del bus interno). El bus de CPU es interesante en relacin con los tipos de memoria que exige, puesto que se dedica a transferir datos entre la CPU y la memoria. Destaca por su velocidad, y existen arquitecturas con velocidades de ms de 100 Mhz. Pero la clase realmente interesante de los buses son los buses de expansin.
6 7)s de control o de sistema or&aniza + rediri&e la informacin $acia el 1us pertinente para la informacin que se tiene que transmitir. Es el 1us encar&ado de $acer el direccionamiento! quin realiza toda la funcin de direccionar es el controlador! diferente para cada tipo de dispositivo.
3ttp7%%///.3ard/are12#.com%conocimientospc% 1.p3p

El 'us del sistema


!l bus del sistema conecta a los elementos que forman una computadora 1on @eumann, en una m&quina Intel /7)/0 e)isten tres buses principales' el bus de datos, el bus de direcciones y el bus de control. Un bus es un conjunto de alambres por los cuales pasan se<ales el5ctricas entre los componentes de un sistema, 5stos buses "aran de procesador en procesador, sin embar+o cada bus transporta informaci*n equi"alente para todos los procesadores. Un tpico componente de un sistema /7)/0 utili9a ni"eles ;;% est&ndar de se<al, esto si+nifica que cada alambre en un bus utili9a un ni"el de "oltaje est&ndar para representar los ni"eles l*+icos de - y 7. 3ttp7%%///.modelo.edu.mE%uni#%#irtec3%pro+rac%cb5n<3.3tm

Papel del bus de control: a traves de este bus, la unidad de control activa el #A" el #D" y los demas registros involucrados en los procesos de lectura2escritura. %incroni3a el momento en que se activan A@ y D@, esto corresponde a un conjunto de microoperraciones necesarias para producir una lectura o escritura en memoria. -ttp:55-tml.rincondelvago.com5arquitectura2de2computadoras?+.-tml Bus de Control !l bus de control, al i+ual que el bus de direcciones es unidireccional y se utili9a para efectuar la lectura y escritura en las memorias y

puertos de !:S. !ste bus en +eneral lo emplea la CPU para controlar el flujo de los datos y las direcciones de forma or+ani9ada.
!uncionamiento del Bus del Sistema

!l bus de datos depende del tama<o de los datos que maneja el procesador, este puede tener /, -0 o 32 bits y el bus de direcciones +eneralmente tiene como mnimo -0 bits. !l bus del sistema se utili9a para transferir informaci*n entre la CPU y la memoria o para e)traer instrucciones almacenadas en memoria y datos presentes en los puertos de !:S. !l intercambio de informaci*n por el bus del sistema se reali9a con dos tipos de operaciones'

o o

Ciclo de %ectura' Cuando los datos en (emoria o puertos de E/S se transfieren a la CPU. Ciclo de !scritura' Cuando los datos de la CPU se transfieren a la (emoria o a los puertos de E/S.

%as lneas de control son aquellas con las que se controla el flujo de la informaci*n por los buses, y las m&s importantes son'

o o o

C8IPS!%!C; (CS) %!C;U$# (RD) !SC$I;U$# (WR)

Cada transferencia empie9a con la car+a de una direcci*n en el bus de direcciones. %as lneas correspondientes a la los bits menos si+nificati"os de la direcci*n se encuentran conectados directamente a las memorias. %as lneas de direcci*n de los bits m&s si+nificati"os se utili9an para seleccionar el dispositi"o del cual se desea e)traer la informaci*n, ya sea una EPRO , R! o un Puerto de E/S. !ntonces, el decodificador de direcciones se encar+a de seleccionar el dispositi"o que se debe acti"ar se+,n la direcci*n presente en el bus. Para ello, cada dispositi"o en el microcomputador debe tener una ,nica direcci*n que lo identifique. !n la fi+ura --.2.3 se muestra un dia+rama de los tiempos de las se<ales presentes durante el flujo de los datos y direcciones en el bus del sistema.

Ki+ura --.2.3.

ia+rama de tiempos de las se<ales del bus del sistema.

%a se<al CS selecciona el dispositi"o que debe transmitir los datos por el bus de datos. %ue+o una de las se<ales RD o WR se acti"a desde la CPU, con lo cual se ordena al dispositi"o seleccionado en"iar los datos a la CPU (ciclo de lectura) o recibirlos de la CPU (ciclo de escritura).

;odos los ciclos de lectura y escritura comien9an con una direcci*n "&lida de la CPU. %ue+o el decodificador de direcciones +enera una se<al CS para seleccionar uno de los dispositi"os. !ntonces la CPU en"a una se<al RD o WR para efectuar la lectura o escritura de los datos. Para una operaci*n de lectura el dispositi"o debe conducir a tra"5s del bus de datos, lo cual toma un tiempo corto (el tiempo de acceso de los datos), y los datos deben estar disponibles en el bus durante el flanco de subida de la se<al RD. urante este flanco de subida la CPU toma los datos y los almacena internamente en sus re+istros. urante un ciclo de escritura la CPU por si misma maneja de los datos. !n este caso, al i+ual que en el ciclo de lectura los datos deben estar disponibles en el bus antes de que ocurra el flanco de subida de la se<al WR" para que el dispositi"o seleccionado pueda recibir los datos correctamente. http'::AAA."irtual.unal.edu.co:cursos:in+enieria:27774EE:lecciones:--727-.htm

'us de control Adem-s de los datos ) la energ*a+ el bus transporta una serie de se1ales de control+ por lo que a estas l*neas se las denomina bus de control o del sistema. .as principales son las siguientes?

<JS %/Sero Hait State/&. Es utili7ado por los dispositivos r-pidos conectados al bus para prevenir al procesador que no inserte estados adicionales de espera. A01 %/Address Enabled/& Se utili7a para indicar si es la A$@ o el controlador D;A+ el que tiene control sobre las l*neas de datos ) de direcciones en ese momento. $uando est- alta+ el controlador D;A controla el bus de datos ) el de direcciones+ adem-s de las l*neas ;E;R+ ;E;H+ !OR e !OH+ A(0 %/Address .atc5 Enabled/& $uando est- alta+ se1ala que la A$@ 5a colocado una direcci,n v-lida en el bus de direcciones. C(B. Se1al del relo' que conecta directamente con una patilla del procesador % C3b1&. En el U# es de ".KK ;C7+ un tercio de la se1al del oscilador %OS$&. En el A# esta 0recuencia se elev, a K ;C7+ la mitad de la se1al del oscilador. &SC. Se1al del oscilador F basada en la 0recuencia de un cristal instalado en la placa:base. En el U# es de 1".31I1I ;C7. $%& C. C.B %/$5annel $5ecQ/&. Es una se1al de detecci,n de errores. $uando est- ba'a+ alg(n dispositivo del bus 5a detectado un error de paridad. $%& C. ,"D %/$5annel Read)/&. Sirve para avisar al procesador o al ;DA$ que un dispositivo lento necesita tiempo e2tra para estar preparado. $uando alg(n dispositivo necesita tiempo e2tra+ ba'a esta se1al+ aunque nunca durante un periodo de m-s de 14 ciclos $.G. $,? %/!nterrupt request/&. En el @$ U# e2isten J l*neas identi0icadas $,?2 a $,?6+ que 'uegan un papel 0undamental en el 0uncionamiento del

ordenador+ )a que la tecnolog*a de los ordenadores modernos se basa en un sistema de interrupciones al que nos re0eriremos m-s adelante % C2."&. Estas J l*neas 0ueron aumentadas posteriormente en el @$ A#+ a1adi8ndose I+ aunque no todas 0ueron destinadas al servicio de peri08ricos+ por lo que en el nuevo EAS solo aparecen $,?1<+ $,?11+ $,?12+ $,?1 e $,?1). Adelantamos aqu* que una interrupci,n es una se1al que se origina en un dispositivo %un peri08rico& para indicar al procesador que algo requiere su atenci,n inmediata %de a5* su nombre+ literalmente /@etici,n de interrupci,n/&. Se solicita al procesador que suspenda lo que est5aciendo para atender la petici,n.

$&, %/!/O Read/& Orden de lectura. Esta l*nea indica a un dispositivo E/S conectado al bus que debe colocar un dato en el bus de datos. $&J %/!/O Hrite/& Orden de escritura. Esta l*nea indica a un dispositivo E/S que debe leer el dato situado en el bus de datos. ,0S0T. Ana se1al en esta l*nea % C"&+ que conecta con una patilla especial del procesador+ origina el reinicio del sistema. $uando esta l*nea es puesta a masa %desaparece su tensi,n& ) despu8s vuelve a su valor normal+ se origina un reinicio del procesador. S'.0 %/S)stem Eus Cig5 Enable/&. $uando est- activado indica que se est- reali7ando una trans0erencia de datos. ",? %/D;A Request/&. Similares en concepto a las l*neas !RX+ pero utili7adas para solicitar acceso directo a memoria. E2isten tres de ellas+ se1aladas ",?1 a ",?3. "ACB %/D;A AcQno<ledge/&. Se utili7an para acusar recibo de la petici,n DRX correspondiente. E2isten cuatro+ se1aladas "ACB< a "ACB3+ aunque el mecanismo D;A solo utili7a las tres (ltimas+ DA$G4 es utili7ada en el U# para se1alar un ciclo de re0resco de memoria. M0M, %/;emor) Read/& $uando se activa+ esta se1al indica a la memoria conectada al bus que escriba los datos en el bus de datos. M0MJ %/;emor) Hrite/& $uando se activa+ indica a la memoria que almacene los datos situados en el bus de datos. T%C %/#erminal $ount/&. Sirve para se1alar que el controlador D;A 5a alcan7ado el 0inal de una trans0erencia % 2.3&.

El sistema de acceso directo a memoria D;A %/Direct ;emor) Access/& es mu) importante. $omo puede verse+ algunas l*neas del bus est-n destinadas a este servicio+ que ser- tratado m-s adelante con ma)or detalle % 2.3&. 3ttp7%%///.*ator.com%.ard/are%.2.3tm9Controlador "MA

2.4.)

'uses normali*ados.

>uses normalizados m&s comunes $l C-ipset marca las caracter,sticas del bus de la CPU 4ipos de buses de e.pansi(n 7,A Usado en los primeros PC. $s de oc-o bits por que usa oc-o l,neas para comunicarse con tarjeta de placas. 4ambi0n -ay de *A bits. Caracter,sticas: @aja capacidad y amplia di'usi(n. ? #its @A #its N1A $s un 8%D e.tendido de B+ bits. $s compatible con el 8%A. :o se usa para orden de alto nivel avan3ado y ms avan3ado. E7,8 $s un 8%D e.tendido de B+ y compatibles con 8%D. :o se usaba para ordenes de alto nivel. >ases locales 7btienen alto rendimiento entre la placa y las ranuras de e.pansi(n. 4rabaja a BB #-3. 48P7% V.)>%, 8nstalado en los >AC de gama alta. :o -ab,a acceso directo a "D#, y ten,a que intervenir o la CPU o un canal D#D y esto tardaba muc-o. '17 $vita el problema anterior creado por 8ntel. Caracter,sticas: 2 @us de B+ bit de datos y direcciones. 2 6elocidad de BB #-3. 2 Capacidad de trans'erir datos de *B+ #b5seg. 2 %oporta el bus masterinD @us master "#D! 2 Permite reali3ar casos concurrentes de escritura. 2 "eparte de 'orma inteligente la capacidad. 7torga ms capacidad al dispositivo que ms lo necesite. 2 Permite reali3ar casos concurrentes de escritura. 2 %oporta m.imo B ( > slots por cada bus PC8 2 Puede coe.istir con buses de otro tipo. 2 Preparado para multitud de plata'ormas. :o s(lo para PC. 2 8ncorpora 'acilidades Plug E Play!

2 $l coste de este tipo de buses es muy bajo. ABC' $spec,'ico para controladores de v,deo. @us de alto rendimiento de B+ bits y velocidad de AA #-3, su capacidad es muy superior. >uses normalizados de peri$ricos ,1,7 $ntndart universal para la conversi(n de todo tipo de peri'0ricos. Utili3ado para dispositivos de almacenamiento. 1aracter*sticas 2 %encille3 2 Los dispositivos conectados son espec,'icos para el %casi, es decir, son de tipo %CA%8, esto conlleva a que todos los dispositivos llevan conector de F$G y de F%G para el %CA%8. 2 Contienen altas prestaciones. 2 Alto coste de adquisici(n %C%8 * 7c-o bits permite conectar -asta C dispositivos. "ealmente son s(lo siente dispositivos, ya que uno lo ocupa la controladora. La trans'erencia es de B,B. #b5seg. Hasta I #b5seg. %C%8 + %e mejora la velocidad. Hay cuatro tipos de %C%8 . :ormal C bitss I #b5seg Jast C bits *1 #b5seg &ide *A bits *1 #b5seg Jast2&ide *A bits +1 #b5seg Ultra %C%8: %ali( en *KKA, aumenta las prestaciones del %C%8. Compatible con Jast2%C%8 + y con Jast5&ide2%C%8 +. Para buses de C bits. Alcan3a los +1 #b5seg, y para bus=es de *A bits llega -asta >1 #b5seg. %C%8 B: $s otro conjunto de estndares, muy especiali3ado. Por ejemplo, uno de esos conjuntos est orientado a serie en 'ibra (ptica, y alcan3a una gran velocidad en este campo. %C%8 B ya no es compatible con los otros, a 'avor de la velocidad. %,>+ universal serial @us!. La in'ormaci(n se transmite en serie. %u objetivo es superar los inconvenientes de la cone.i(n entre peri'0ricos y ordenador. 7EEE @DEF 4iene los mismos objet,vos =ire2'ire! -ttp:55-tml.rincondelvago.com5in'ormatica2basica?C.-tml

2.6 "ireccionamiento.

!*-*S -E -IRECCI*NA!IEN&* = >*R!A&*S Introducci%n El campo de operacin de una instruccin especifica la operacin que se de1e realizar. Esta de1e ser e;ecutada so1re al&unos datos almacenados en re&istros del computador o en pala1ras de memoria! es decir! so1re los operandos. El modo de direccionamiento especifica la forma de interpretar la informacin contenida en cada campo de operando para localizar! en 1ase a esta informacin! el operando. Los ordenadores utilizan tcnicas de direccionamiento con los si&uientes fines2 3 'ar versatilidad de pro&ramacin al usuario proporcionando facilidades tales como <ndices! direccionamientos indirectos! etc.! esta versatilidad nos servir" para mane;ar estructuras de datos comple;as como vectores! matrices! etc. 3 Eeducir el nAmero de 1its del campo de operando. )l usuario que tiene poca e>periencia! la variedad de modos de direccionamiento en un ordenador le puede parecer e>cesivamente complicada. :in em1ar&o! la disponi1ilidad de diferentes esquemas de direccionamiento le da al pro&ramador e>perimentado fle>i1ilidad para escri1ir pro&ramas que son m"s eficientes en cuanto a nAmero de instrucciones + tiempo de e;ecucin. Es tal la importancia de los modos de direccionamiento que la potencia de una m"quina se mide tanto por su repertorio de instrucciones como por la variedad de modos de direccionamiento que es capaz de admitir. 'efinicin2 Los modos de direccionamiento de un ordenador son las diferentes formas de transformacin del campo de operando de la instruccin en la direccin del operando. En esta definicin el trmino direccin de1e interpretarse en su sentido m"s &eneral de localizacin del operando! en cualquier lu&ar! + no en el sentido m"s estricto de direccin de memoria. ) la direccin o1tenida de las transformaciones anteriores la llamaremos direccin efectiva. Esta direccin! en el caso de tratarse de una direccin de memoria! es la que se car&ar" en el ..).E. o re&istro de direccin de memoria. Llamando > a la informacin del campo de operando + )ef. a la direccin efectiva! la funcin f que a partir de > nos da )ef. constituir" el modo de direccionamiento empleado2 )ef. [ f(>) En la evaluacin de la funcin f pueden intervenir otras informaciones adem"s de la informacin presente en el campo de operando de la instruccin. Estas informaciones pueden residir en re&istros del procesador o en memoria. La especificacin del modo de direccionamiento puede ir en el cdi&o de operacin o en el campo de cada operando. %ormalmente se codifica en el cdi&o de operacin si el

nAmero de modos es pequeo! en caso contrario se codifica con cada operando! esta Altima forma de codificacin favorece la orto&onalidad. !odos de direccionamiento m.s usuales En los p"rrafos si&uientes se ir"n descri1iendo los modos de direccionamiento m"s frecuentes. La ma+or<a de estos modos son comunes a muc$as m"quinas! sin em1ar&o! $a+ otros que slo se usan en determinados procesadores. 3 Direccionamiento implcito En este modo! llamado tam1in in$erente! el operando se especifica en la misma definicin de la instruccin. El modo impl<cito se usa para $acer referencia a operandos de dos tipos2 3 Registros2 En el caso de que el cdi&o de operacin se refiera en particular a un re&istro. 3 *perandos en la pila2 En el caso de que la operacin se realice siempre so1re el dato situado en la cima de pila. El primer caso es t<pico de las or&anizaciones de un solo acumulador. Deneralmente en un ordenador de este tipo todas las instrucciones que actAan so1re el acumulador utilizan direccionamiento impl<cito. En el se&undo caso est"n la ma+or<a de las instrucciones de los ordenadores con or&anizacin de pila. Estas operaciones llevan impl<citos los operandos que son los elementos de la cima de pila. Esto se de1e a que en este tipo de m"quinas la ma+or<a de las operaciones no tienen campos de direccin. ?am1in est"n en este caso las instrucciones ,4:H + ,6, de la ma+or<a de los ordenadores cu+o operando impl<cito tam1in es! como en el caso anterior! la cima de pila. 3 Direccionamiento inmediato (o literal) En este modo es el operando el que fi&ura en la instruccin no su direccin. En otras pala1ras el campo de operando contiene l mismo! sin transformacin al&una! la informacin so1re la que $a+ que operar. Este modo es Atil para inicializar re&istros o pala1ras de memoria con un valor constante. - Direccionamiento directo por registro :e mencion anteriormente que el campo de direccin de una instruccin puede especificar una pala1ra de memoria o un re&istro . procesador. *uando se da este Altimo caso se dice que el operando est" especificado con direccionamiento directo por re&istro! en tal caso! el operando reside en uno de los re&istros del procesador que es seleccionado por un campo de re&istro de - 1its en la instruccin. 4n campo de - 1its puede especificar uno de 7- re&istros. Este modo es t<pico de los ordenadores con or&anizacin de re&istros de uso &eneral. Las venta,as de este modo son2

3 El acceso a los re&istros es mu+ r"pido! por tanto el direccionamiento por re&istro de1e usarse en las varia1les que se usen con m"s frecuencia para evitar accesos a memoria que son m"s lentos! un e;emplo mu+ t<pico del uso de este direccionamiento son los <ndices de los 1ucles. 3 El nAmero de 1its necesarios para especificar un re&istro es muc$o m"s pequeo que el necesario para especificar una direccin de memoria! esto es de1ido a que el nAmero de re&istros del procesador es mu+ pequeo comparado con el nAmero de direcciones de memoria. :in em1ar&o! $a+ que tener en cuenta que en los ordenadores modernos el nAmero de re&istros $a aumentado considera1lemente. - Direccionamiento directo (o absoluto) Este es el modo de direccionamiento m"s sencillo. El campo de direccin no necesita transformacin al&una para dar la direccin efectiva! es decir la funcin que transforma el campo de operando en la direccin efectiva es la identidad. Esto si&nifica que el campo de operando es +a la direccin efectiva. Este direccionamiento slo se usa en ordenadores pequeos en que el pro&rama siempre se sitAa en la misma zona de memoria +a que dificulta la relocalizacin de los pro&ramas! es decir que el cdi&o de los pro&ramas no dependa de su situacin en memoria. 6rdinariamente este modo slo se usa para acceder a direcciones del sistema que normalmente se refieren a operaciones de entrada + salida +a que estas direcciones no dependen del pro&rama. - Direccionamiento indirecto En este modo el campo de operando de la instruccin indica la localizacin de la direccin efectiva del operando. El modo de direccionamiento indirecto puede adquirir diferentes formas se&An cu"l sea el lu&ar donde se encuentre la direccin del operando. En &eneral! todos los modos de direccionamiento tienen su versin indirecta que aade un esla1n m"s a la cadena del direccionamiento. ,or e;emplo e>iste el direccionamiento indirecto por re&istro! en el que el re&istro especificado contiene la direccin del operando! no el operando mismo. Este direccionamiento es Atil cuando se tra1a;a con punteros +a que los punteros son varia1les que contienen las direcciones de los operandos! no los operandos mismos. - Direccionamiento relativo Ha+ al&unos modos de direccionamiento en que se $ace uso de una propiedad mu+ &eneralizada de los pro&ramas denominada localidad de referencia! esta propiedad consiste en que las direcciones referenciadas por los pro&ramas no suelen ale;arse muc$o unas de otras +! por tanto! suelen estar concentradas en una parte de la memoria. Estas consideraciones nos llevan a la conclusin de que no es necesario utilizar todos los 1its de la direccin de memoria en el campo de operando! 1asta utilizar los 1its precisos para cu1rir la parte de memoria donde estn incluidas las direcciones a las que el pro&rama $ace referencia. Esto puede $acerse tomando corno referencia un punto de la memoria + tomando como campo de operando la diferencia entre ese punto + la direccin efectiva del operando. La direccin que se toma como punto de referencia

puede residir en un re&istro de la *,4 +! por tanto! sumando el contenido de ese re&istro con el campo de operando o1tendremos la direccin efectiva. Ha+ varios direccionamientos 1asados en esta tcnica que reci1en diferentes nom1res dependiendo de cu"l sea el re&istro en el que radica la direccin tomada como referencia. ?odos ellos podr<an catalo&arse como direccionamientos relativos a un re&istro. El direccionamiento denominado $a1itualmente relativo toma como valor de referencia el re&istro contador de pro&rama. *uando se usa este modo de direccionamiento! el campo de operando consiste en un nAmero (normalmente con si&no) que e>presa la diferencia entre la direccin del dato + la direccin si&uiente a la instruccin en curso (contenida en el contador de pro&rama). :i el campo de operando! llamado en este caso desplazamiento u offset! es positivo el operando residir" en una direccin posterior a la de la instruccin + si es ne&ativo! en una direccin anterior. Este modo de direccionamiento es usado mu+ frecuentemente en pro&ramas cu+o cdi&o de1a ser independiente de la posicin de memoria donde estn situados (pro&ramas relocaliza1les) +a que el desplazamiento es independiente de la localizacin del pro&rama. ?am1in se usa con muc$a frecuencia en instrucciones de 1ifurcacin. - Direccionamiento por base y desplazamiento Este modo de direccionamiento se fundamenta en la propiedad de localidad de referencia mencionada anteriormente. La direccin que se toma como referencia de la zona de memoria en la que est"n localizados los datos se deposita en un re&istro denominado re&istro 1ase + el campo de operando indica la diferencia entre el re&istro 1ase + la direccin . operando. %ormalmente se toma como referencia (re&istro 1ase) la direccin de comienzo de la zona de memoria ocupada por un pro&rama. ,or tanto! la direccin efectiva del operando se calcular" sumando el contenido del re&istro 1ase con el campo de operando. Este modo de direccionamiento se usa en ordenadores que pueden mantener en memoria varios pro&ramas +a que! de esta forma! los diferentes re&istros 1ase pueden contener las direcciones de comienzo de cada uno de los pro&ramas. Esto es mu+ Atil porque facilita la relocalizacin de los pro&ramas para situar el pro&rama en una zona de memoria diferente 1astar" con cam1iar el contenido de su re&istro 1ase! no ser" necesario cam1iar nin&uno de los campos de operando. - Direccionamiento indexado En este modo de direccionamiento! la direccin del operando tam1in se calcula sumando un re&istro de la *,4 al campo de operando! este re&istro es un re&istro espec<fico para este uso llamado re&istro <ndice. En los ordenadores con or&anizacin de re&istros &enerales! el re&istro <ndice puede ser cualquiera de los re&istros de la *,4. En los ordenadores en que el contador de pro&rama es considerado como un re&istro de uso &eneral (,', 11 + 0)L) el modo relativo es un caso particular del direccionamiento inde>ado. ) la cantidad que $a+ que sumar al re&istro <ndice para conse&uir la direccin del operando tam1in se le llama desplazamiento u offset. Este modo de direccionamiento es especialmente Atil para el direccionamiento de vectores + matrices en 1ucles +a que! si se quieren direccionar elementos consecutivos del vector o matriz! 1asta mantener en el desplazamiento la direccin del primer elemento e ir

incrementando el re&istro <ndice. ?am1in sirve para acceder de forma relativa a elementos de vectores cercanos a uno dado! para ello! se car&a la direccin del elemento de referencia en el re&istro <ndice + despus se accede mediante direccionamiento inde>ado! con el desplazamiento adecuado! al anterior! al si&uiente! etc.! esto mismo tam1in es aplica1le a pilas! en que! en ocasiones! $a+ que acceder a datos cercanos! por encima o por de1a;o! al dato sealado por al&An apuntador. 4na consecuencia de todo esto es una modalidad de direccionamiento inde>ado de que disponen al&unos ordenadores! denominada autoinde>acin! que $ace que el re&istro <ndice sea incrementado o decrementado en el tamao del operando antes o despus de acceder al mismo. Los ordenadores que poseen autoinde>acin incorporan los modos de direccionamiento descritos en los dos apartados si&uientes. En al&unos ordenadores e>isten variantes del direccionamiento inde>ado en que se o1tiene la direccin del operando sumando el contenido de varios re&istros con el desplazamiento! esto puede servir para especificar el comienzo de un vector mediante un desplazamiento respecto a un re&istro + el elemento del vector mediante un re&istro <ndice. - Direccionamiento autoincremental o postincremental En este modo! la direccin del operando se encuentra en un re&istro + ste es incrementado! despus de acceder al operando! en el tamao del mismo. Este modo es Atil para mane;ar vectores + matrices como se ve<a en el apartado anterior. ?am1in se puede utilizar para e>traer datos de pilas (que crezcan $acia direcciones 1a;as) +a que! si el re&istro so1re el que se aplica este modo es el apuntador de pila! despus de la operacin el apuntador sealar" al si&uiente elemento de la pila. - Direccionamiento autodecremental o predecremental En este modo para o1tener la direccin del operando $a+ que decrementar un re&istro en el tamao del operandoN el nuevo contenido del re&istro despus de efectuar esa operacin! es la direccin del operando. ,ara finalizar! veamos un resumen de las utilidades de los modos de direccionamiento usados con m"s frecuencia.

$ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo19.$tm $ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo7H.$tm $ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo71.$tm $ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo77.$tm

$ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo78.$tm $ttp255BBB.mail>mail.com5curso5informatica5arquitecturaordenadores5capitulo74.$tm

2.6.1

Modo real.

Se+mentos 5 prra8os Esta 0orma de representaci,n segmentada de las direcciones es en realidad una imagen de como son mane'adas internamente en el procesador. .os procesadores I4II tienen registros de 1J bits que pueden servir para almacenar los despla*amientos+ es decir+ cualquier direcci,n dentro de una 7ona de J" GE %que se conoce como se+mento&. Disponen adem-s de " re+istros de se+mento de 1J bits %$S+ SS+ DS ) ES C3.2&+ en los que se almacenan las direcciones de inicio del segmento activo en cada momento. Resulta as*+ que pueden direccionar un total absoluto de 1;E)te+ ) 5asta J" 2 " Z 25J GE sin necesidad de cambiar los registros de segmento. Esto es lo que se conoce como 0uncionamiento en modo real %como puede verse+ en realidad es una 0orma de mane'ar la memoria&. .a 0igura ad'unta muestra como se utili7an los registros para se1alar las direcciones de inicio de los diversos m,dulos de un programa cargado en memoria % E1.3.2& dentro del espacio de memoria direccionable con 24 bits %44444:999995&.

En la 0igura 1 se muestra una divisi,n de este /;ega/ en 1J segmentos cu)os despla7amientos son 'ustamente 45+ 15+ 25 ... 95. 5ttp?//<<<.7ator.com/Card<are/C5B1.5tm El GH8GJ tiene dos modos de operacin2 modo de direccionamiento real (modo real)! + modo de direccionamiento virtual prote&ido (modo prote&ido). En modo real el GH8GJ opera como un GHGJ mu+ r"pido! con e>tensiones de 87 1its si se desea. El modo real se requiere primariamente para preparar el procesador para que opere en modo prote&ido. 5ttp?//lorca.act.u'i.es/e4I/a)udas/intel/I43IJ.C#; Ese mismo a1o aparece en escena el I42IJ+ muc5o m-s comple'o que el I4IJ. Aunque el 'uego de instrucciones es pr-cticamente el mismo+ se dise1, pensando en la e'ecuci,n de sistemas multitarea. $ontaba con dos modos de e'ecuci,n+ el real ) el prote)ido. En el modo real el 2IJ opera como un I4IJF sin embargo en modo protegido cuando un programa intenta acceder a una regi,n de la memoria o e'ecutar una determinada instrucci,n se comprueba antes si tiene ese pri0ile)io. Si no es as* se activa un mecanismo de protecci,n que generalmente gestionar- el sistema operativo+ que es el programa que controla los derec5os del resto de programas. Adem-s este modo protegido permit*a mane'ar 5asta 1J;b de memoria RA; %por contar con un bus de direcciones de 2" bits&+ aunque como los registros segu*an siendo de 1J bits+ no posibilitaba el mane'o de bloques de memoria : se)mentos: de m-s de J"Qb. En cualquier caso+ m-s all- del mero aumento de la velocidad de relo' %5asta 14;C7 en el I4IJ+ 1J+ 24 e incluso 25;C7 en el 2IJ&+ o el espacio de memoria direccionable+ se produ'o una 0uerte reducci,n del n(mero de ciclos de relo' por instrucci,n+ lo que llev, a un incremento a(n ma)or del rendimiento. En 1>I5 sale el I43IJ+ lo que vendr*a a ser un peso pesado comparado a sus antecesores. @r-cticamente todos los registros quedaban e2tendidos a 32 bits+ e inclu*a un mecanismo de gesti,n de memoria m-s avan7ado que el 2IJ+ 0acilitando el uso de memoria virtual %disco duro como si 0uera ram&. $ontaba con un bus de direcciones de 32 bits+ llegando a direccionar "Db de memoria+ ) memoria cac58. Aparte del modo real inclu*a un nuevo modo protegido me'orado. En este modo protegido se permit*a la e'ecuci,n de programas en un modo 0irtual o 6IJ+ posibilitando la e'ecuci,n de m-quinas virtuales I4IJF el sistema puede pasar con cierta 0acilidad de un modo a otro+ permitiendo que 0uncionen varios /I4IJ/ en una especie de modo /real/ al tiempo+ cada uno con su memoria+ estado... 0uncionando completamente a'eno al resto del so0t<are. $uando se e'ecuta un programa de ;S:DOS %modo real& ba'o Hindo<s %modo protegido& en realidad entra en acci,n el modo virtual+ e'ecutando la aplicaci,n con relativa seguridad aislada del sistema ) resto de aplicaciones %) digo relativa porque 5e colgado muc5as Nmuc5asN veces el <indo<s enredando con un programilla DOSF los mecanismos de protecci,n del Hindo<s de'an bastante que desear&. 5ttp?//<<<.rinconsolidario.org/eps/asmI4IJ/$A@1.5tml

2.6.2

Modo prote+ido.

El modo prote&ido provee el acceso al sofisticado mane;o de memoria + pa&inado. 'entro del modo prote&ido! el softBare puede realizar un cam1io de tarea para entrar en tareas en modo GHGJ virtual (V89 mode) (esto es nuevo con este microprocesador). *ada una de estas tareas se comporta como si fuera un GHGJ el que lo est" e;ecutando! lo que permite e;ecutar softBare de GHGJ (un pro&rama de aplicacin o un sistema operativo). Las tareas en modo GHGJ virtual pueden aislarse entre s< + del sistema operativo (que de1e utilizar instrucciones del GH8GJ)! mediante el uso del pa&inado + el mapa de 1its de permiso de entrada5salida (!.( #ermission 7itmap). Qinalmente! para facilitar diseos de $ardBare de alto rendimiento! la interfaz con el 1us del GH8GJ ofrece pipelining de direcciones! tamao din"mico del anc$o del 1us de datos (puede tener 1J 87 1its se&An se desee en un determinado ciclo de 1us) + seales de $a1ilitacin de 1+tes por cada 1+te del 1us de datos. An 2IJ en modo protegido no pod*a volver al modo real salvo con un reset+ lo que supuso una seria traba al desarrollo de so0t<are que e2plotase este modo de 0uncionamiento %no olvidemos que por entonces el est-ndar de 0acto en sistemas operativos era ;SDOS&. Adem-s+ segu*amos estando limitados a segmentos de J"Q+ ) con el 3IJ al caer %siempre que se lan7a un procesador nuevo+ est-n los de las siguientes generaciones en di0erentes estados de desarrollo& no compensaba el es0uer7o. Debido a la escasa relevancia del modo protegido del 2IJ+ nos re0eriremos gen8ricamente a modo protegido cuando 5ablemos de 3IJ[. 5ttp?//lorca.act.u'i.es/e4I/a)udas/intel/I43IJ.C#; Modo prote+ido 5 memoria eEtendida .a especi0icaci,n E;S de .otus/!ntel/;icroso0t+ permit*a mane'ar grandes cantidades de datos %a5ora no nos parecen tan grandes&+ pero no resolv*a el problema de grandes cantidades de c,digo+ )a que el segmento de c,digo no pod*a mane'arse de esta 0orma. Esto presentaba problemas no solo para programas grandes+ sino para cualquier intento de multiprogramaci,n % 1.K&+ cuando varios programas deben coe2istir en memoria. $omo siempre+ la soluci,n vino de la mano de otro avance tecnol,gicoF en este caso+ la aparici,n del procesador !ntel I42IJ+ que en 1>I2 inici, la era del @$ A#. Este micro permite un acceso a memoria que recuerda vagamente la especi0icaci,n E;S+ pero de 0orma nativa+ )a que los mecanismos est-n incluidos en el procesador. $omo la pol*tica de !ntel 5a sido mantener compatibilidad con los micros anteriores+ el I42IJ pod*a traba'ar en modo real+ imitando el 0uncionamiento del I4II + mientras que la nueva 0orma se denomin, modo prote+ido. El modo protegido utili7a los registros de segmento como punteros a unos nuevos registros de direcci,n de 2" bits denominados tablas de descripci,n %/Descriptor tables/&+ que permiten acceder a un m-2imo de 2 2" %1J ;E)tes& de memoria 0*sica+ de 0orma que los registros de segmento son selectores que

marcan el inicio de una direcci,n de 2" bits. .a memoria que se 5ac*a accesible mediante este sistema se denomin, memoria eEtendida+ para distinguirla de la antigua E;S \3]. .a posterior introducci,n del I43IJ+ con registros de 32 bits+ permiti, direccionar 5asta 2 32 %" DE)tes& de memoria e2terna. .os nuevos micros inclu)eron otras me'oras que permit*an al Sistema Operativo un 0uncionamiento m-s c,modo ) seguro de las aplicaciones cuando operaba en modo prote+ido. .os mecanismos pertinentes estaban incluidos en el 5ard<are o al menos este proporcionaba recursos al SO para reali7arlos c,modamente+ aunque desde luego+ para sacar provec5o de estas me'oras el Sistema deb*a estar preparado e2 pro0eso. El DOS no pod*a utili7arlas+ s* en cambio los sistemas m-s avan7ados del momento+ como OS/2+ Ani2 o Hindo<s. E-sicamente estas me'oras se re0er*an a dos cuestiones?

.ane;o de memoria virtual :oporte nativo para multipro&ramacin

K6.1 Memoria #irtual Esta t8cnica consiste en 5acer creer al programa que dispone de m-s memoria que la 0*sicamente disponible en RA;. Este arti0icio tiene sentido porque en ese momento %) actualmente&+ la memoria e2tendida era ma)or que la 0*sicamente disponible en muc5os sistemas+ adem-s el disco duro era est-ndar en todos los equipos. Esta RA; 0icticia se conoce como memoria #irtualF una simulaci,n conocida de antiguo en el mundo de los main0rames+ que 0ue introducida en la in0orm-tica personal a partir del I42IJF este procesador )a dispon*a de un controlador 5ard<are para este menester+ de 0orma que su mane'o no signi0icaba una gran sobrecarga para el Sistema. Su 0uncionamiento se basa en que cuando una aplicaci,n necesita m-s espacio ) la memoria 0*sica estagotada+ el controlador de memoria virtual proporciona espacio au2iliar utili7ando un 0ic5ero de intercambio %/S<ap 0ile/& situado en memoria e2terna %disco duro generalmente C2&+ donde se almacena la in0ormaci,n que no cabe en la RA;. Adem-s de 0acilitar la apariencia de m-s RA; que la 0*sicamente disponible+ este mecanismo permite que diversas aplicaciones compartan la misma memoria 0*sica+ aunque para ello se requieran constantes maniobras de carga ) descarga %/s<apping/& de tro7os del 0ic5ero de intercambio a memoria+ por lo que el rendimiento global del sistema se resiente si la desproporci,n entre el 0ic5ero de intercambio ) la RA; es mu) notable \"]. 1ota? En el caso de los sistemas operativos de ;icroso0t+ la memoria virtual 0ue introducida de 0orma m-s o menos per0eccionada desde la aparici,n del primer Hindo<s 3.1 en 1.>IK. En Hindo<s >5+ el Sistema comien7a a 0uncionar directamente en modo protegido de 32 bits+ proporcionando a cualquier aplicaci,n un espacio de memoria de 5asta " DE. %siempre que est8 disponible el adecuado espacio en disco&. En este

Sistema+ el 0ic5ero de intercambio puede crecer a medida de las necesidades 5asta ocupar todo el espacio disponible en disco. 5ttp?//<<<.7ator.com/Card<are/C5B1.5tm
!l modo prote+ido utili9a los re+istros de se+mento como punteros a unos nue"os re+istros de direcci*n de 24 bits denominados tablas de descripci*n (G escriptor tablesG), que permiten acceder a un m&)imo de 224 (-0 (6ytes) de memoria fsica, de forma que los re+istros de se+mento son selectores que marcan el inicio de una direcci*n de 24 bits. %a memoria que se haca accesible mediante este sistema se denomin* memoria e)tendida, para distin+uirla de la anti+ua !(S L3M. %a posterior introducci*n del /73/0, con re+istros de 32 bits, permiti* direccionar hasta 232 (4 C6ytes) de memoria e)terna. %os nue"os micros incluyeron otras mejoras que permitan al Sistema =perati"o un funcionamiento m&s c*modo y se+uro de las aplicaciones cuando operaba en modo prote+ido. %os mecanismos pertinentes estaban incluidos en el hardAare o al menos este proporcionaba recursos al S= para reali9arlos c*modamente, aunque desde lue+o, para sacar pro"echo de estas mejoras el Sistema deba estar preparado e) profeso. !l =S no poda utili9arlas, s en cambio los sistemas m&s a"an9ados del momento, como =S:2, Uni) o JindoAs. 6&sicamente estas mejoras se referan a dos cuestiones' (anejo de memoria "irtual Soporte nati"o para multipro+ramaci*n

5ttp?//personales.com/colombia/bucaramanga/Qoll/;odo324protegido324) 324memoria324virtual.5tm

2.6.3
El I43IJ %DU&

Modo real #irtual.

El procesador GH8GJ si&nific un cam1io total en el mundo de las ,cs. El 8GJ'L cam1i radicalmente varios de los aspectos de los procesadores anteriores + esta1leci una &ran diferencia con los dem"s2 ,or primera vez! los pro&ramas requer<an de un procesador por sus caracter<sticas para poder correr + no por su velocidad! lo que &ener una especie de incompati1ilidad $acia atr"s2 los pro&ramas desarrollados para aprovec$ar sus caracter<sticas no pod<an funcionar en cualquier otro procesador anterior. Que el primer procesador de 87 1its! el 8GJ'L tiene un 1us de datos e instrucciones de 87 1its tanto interno como e>ternoN por lo tanto duplica el anc$o del 1us con respecto al de su predecesor2 el GH7GJ. El 1us de direcciones tam1in fue ampliado a 87 1its! por lo tanto el c$ip puede direccionar un m">imo de 4H9J .1 de memoria ( 4 D1 ). :us velocidades de relo; comenzaron con 1J .$z + se lle&aron a desarrollar c$ips de $asta 88 + 4H .$z. ?am1in se le a&re& una memoria cac$ e>terna para aumentar el rendimiento + solucionar el pro1lema de la lentitud de las memorias con respecto a la velocidad del procesador.

Las aplicaciones desarrolladas para correr so1re los procesadores anteriores al 8GJ'L simplemente correr"n m"s r"pido al ser e;ecutadas en un sistema con este procesador! pero las aplicaciones que aprovec$an las caracter<sticas avanzadas de este c$ip corren muc$<simo m"s r"pido que una aplicacin equivalente desarrollada para un c$ip anterior! +a que el anc$o del 1us de direccionamiento permite direccionar memoria sin los pro1lemas que &enera1a el de los procesadores de 1J 1its. )l ser un procesador de87 1its! el 8GJ'L tiene un nuevo con;unto de re&istros e>tendidos de 87 1its! lo que permite un ma+or rendimiento en las aplicaciones que mane;en los datos directamente en 87 1its en vez de tra1a;ar con datos de 1J 1its. ?am1in se introduce una nueva modalidad de tra1a;o2 el modo real virtual. Este modo de operacin permite una multitarea muc$<smo m"s avanzado que el que provee el GH7GJ. *ada una de las aplicaciones que se e;ecute en un entorno de tra1a;o multitarea! tendr"n su propia *,4 virtual con su memoria propia. Esto ser<a parecido a tener varias computadoras personales e;ecutando cada una su aplicacin + que cada una esperara para que la otra e;ecute una operacin para lue&o e;ecutar la su+a2 se distri1u+en los tiempos! pero cada aplicacin tiene su "rea de tra1a;o propia. Esta modalidad de tra1a;o fue el principio de funcionamiento de los sistemas operativos de 87 1its que sur&ieron 1astante tiempo despus que el primer 8GJ'L2 6:57 a partir de la versin 7.H! OindoBs a partir de la versin 9 + OindoBs %? en todas sus aplicaciones. ?am1in con estos procesadores aparece otro nuevo concepto2 la memoria virtual. *ualquier dispositivo de entrada + salida (como por e;emplo un disco duro) puede tener asi&nado un ran&o de direcciones de memoria + tra1a;ar como sta! de manera que si se posee memoria insuficiente! se puede recurrir al disco + utilizarlo de las misma forma que la memoria! aunque no se tendr"n las mismas velocidades. Esta capacidad es propia de los procesadores + no del sistema operativo! como suele pensarse. \ue el sistema operativo lo aprovec$e o no! es otra cosa. Los procesadores que ten&an un 1us de direcciones de 87 1its pueden direccionar tericamente $asta J4 ?1 de memoria virtual. El 8GJ'L puede procesar el do1le de datos que el GH7GJ en la misma cantidad de tiempo! &racias a su ;ue&o de comandos me;orados + el anc$o del 1us de datos. $ttp255personales.com5peru5lima5ensam1la;e5procesador.$tm Desde que el bus de direcciones se e2pandi, a 32 bits+ el c5ip puede direccionar directamente ".2>".>JK.2>J %2 elevado a la 32& locali7aciones de memoria+ o " gigab)tes de RA; . Esto 5ace posible direccionar incluso J" terab)tes de 0orma virtual+ lo que permite otro modo de operaci,n+ llamado el modo real virtual. $on este modo de operaci,n+ es posible e0ectuar la multitarea ba'o ;S: /@$:DOS porque cada aplicaci,n involucrada en el proceso de multitarea recibe una $@A virtual con 1 ;E de memoria.

2.F Tempori*acin.

!n m&quinas de arquitectura 1on @eumann la mayora de las operaciones son seriali#adas, esto si+nifica que la computadora ejecuta los comandos en un orden preestablecido. Para ase+urarnos de que todas las operaciones ocurren justo en el tiempo adecuado, las m&quinas /7)/0 utili9an una se<al alternante llamada el relo$ del sistema. !n su forma b&sica, el relo$ del sistema maneja toda la sincroni9aci*n de un sistema de c*mputo. !l reloj del sistema es una se<al el5ctrica en el bus de control que alterna entre los "alores de cero y uno a una tasa dada. %a frecuencia en la cual el reloj del sistema alterna entre cero y uno es llamada %recuencia del relo$ de sistema. !l timepo que toma para cambiar de cero a uno y lue+o "ol"er a cero se le llama &eriodo de relo$, tambi5n llamado ciclo de relo$. %a frecuencia del reloj es simplemente el n,mero de ciclos de reloj que ocurren en un se+undo, en sistemas actuales, 5ste "alor e)cede los 277 ciclos por se+undo, siendo ya com,n frecuencias del orden de los 300 (h9. ((e+a8ert9, que equi"ale a un mill*n de ciclos por se+undo). =bser"e que el periodo de reloj es el "alor in"erso de la frecuencia, por lo tanto, para un sistema de 277 (h9 el periodo es i+ual a ? nanose+undos. Para ase+urar la sincroni9aci*n, el CPU inicia una operaci*n ya sea en el flanco ascendente (cuando la se<al cambia de cero a uno) * en el descendente (cuando la se<al cambia de uno a cero). Como todas las operaciones de un CPU est&n sincroni9adas en torno a su reloj, un CPU no puede ejecutar operaciones m&s r&pido que la "elocidad del reloj.

3ttp7%%///.modelo.edu.mE%uni#%#irtec3%pro+rac%cb5n<3.3tm EL &E!'*RI?A-*R @A4B U @A4C. El G7 854 es un c$ip temporizador que puede ser empleado como relo; de tiempo real! contador de sucesos! &enerador de ritmo pro&rama1le! &enerador de onda cuadrada! etc. En este cap<tulo! la informacin vertida estar" relacionada con el G7 4 que equipa a los )?! al&o m"s potente que el G7 8 de los ,*5L?N sin em1ar&o! las pocas diferencias ser"n comentadas cuando lle&ue el caso. 17.8.1 3 'E:*E(,*(`% 'EL (%?EDE)'6. Este circuito inte&rado posee 8 contadores totalmente independientes! que pueden ser pro&ramados de J formas diferentes.
'V..'H2 *La H2 64? H2 D)?E H2 *La 12 64? 12 D)?E 12 *La 72 64? 72 D)?E 72 /4: de datos 1idireccional de 8 estados. *L6*a H! entrada de relo; al contador H. :alida del contador H. ,uerta de entrada al contador H. *L6*a 1! entrada de relo; al contador 1. :alida del contador 1. ,uerta de entrada al contador 1. *L6*a 7! entrada de relo; al contador 7. :alida del contador 7. ,uerta de entrada al contador 7. L<neas de direccin para seleccionar uno de los tres contadores o el re&istro de la pala1ra de )H..)12 control. 3*:2 Ha1ilita la comunicacin con la *,4.

3OE2 3E'2

,ermite al G7 4 aceptar datos de la *,4. ,ermite al G7 4 enviar datos a la *,4.

-ESCRI'CIDN >UNCI*NAL El dia&rama funcional del G7 4! con la estructura interna de las diversas partes que lo componen! se muestra a la izquierda. ) la derec$a! dia&rama de los 1loques internos de un contador2

El +u$$er del +us de datos! de G 1its + tres estados! comunica el G7 4 con la *,4. La l%gica de lectura / escritura acepta entradas del 1us + &enera seales de control para las partes funcionales del G7 4. Las l<neas )H..)7 seleccionan uno de los tres contadores o el re&istro de la pala1ra de control! para poder leerlos o escri1irlos. El registro de la pala+ra de control es seleccionado cuando )H[)1[1! este re&istro slo puede ser escrito (se puede o1tener informacin de estado! como se ver" m"s adelante! con el comando read31ac- del G7 4! no disponi1le en el G7 8). Los contadores 5! A + B son idnticos en su funcionamiento! por lo que slo se descri1ir" unoN son totalmente independientes + cada uno de ellos puede ser pro&ramado en una modalidad diferente. :i se o1serva el esquema de un contador! a la derec$a! se ver" el re&istro de la pala1ra de control2 aunque no es parte del contador propiamente dic$o! afecta a su modo de funcionamiento. El re&istro de estado! cuando es transferido al correspondiente latc$! contiene el valor en curso del re&istro de la pala1ra de control + al&una informacin adicional (como se ver" despus en el comando read31ac-). El contador propiamente dic$o est" representado en la fi&ura por *E (Co)nting Element) + es un contador descendente s<ncrono de 1J 1its que puede ser inicializado. 6L. + 6LL son dos latc$ de G 1its (6L si&nifica ()tp)t LatchN los su1<ndices . + L est"n relacionados con el m"s + el menos si&nificativo 1+te! respectivamente)N am1os son referenciados normalmente como un con;unto denominado 6L a secas. Estos latc$es si&uen normalmente la cuenta descendente de *E! pero la *,4 puede enviar un comando para congelarlos + poder leerlosN tras la lectura continuar"n si&uiendo a *E. La l&ica de control del contador se encar&a de que un slo latc$ est activo a un tiempo! +a que el 1us interno del G7 4 es de G 1its. *E no puede ser nunca le<do directamente (lo que se lee es 6L). 'e manera an"lo&a! e>isten un par de re&istros *E. + *EL (*E si&nifica Co)nt Register) que almacenan la cuenta del contador + se la transmiten convenientemente a *E. Los valores de cuenta se escri1en siempre so1re *E (+ no directamente so1re *E). La l&ica de control &estiona la cone>in con el e>terior a travs de las l<neas *La! D)?E + 64?. -ESCRI'CIDN *'ERACI*NAL ?ras el encendido del ordenador! el G7 4 est" en un estado indefinidoN con un modo! valor de cuenta + estado de salida aleatorios. Es entonces cuando $a+ que pro&ramar los contadores que se va+an a emplearN el resto! no importa de;arlos de cualquier manera. 'rogramaci%n del @A4C. ,ara pro&ramar un contador del G7 4 $a+ que enviar primero una pala1ra de control

+! despus! un valor de cuenta inicial. Los contadores se seleccionan con las l<neas )H + )1N el valor )H[)1[1 selecciona la escritura de la pala1ra de control (en la que se identifica el contador implicado). ,or tanto! el G7 4 ocupa normalmente 4 direcciones de E5: consecutivas li&adas a los contadores H! 1! 7 + al re&istro de la pala1ra de control. ,ara enviar la cuenta inicial se utiliza simplemente el puerto E5: li&ado al contador que se trate. El formato de la pala1ra de control es2

*peraciones de escritura. El G7 4 es mu+ fle>i1le a la $ora de ser pro&ramado. /asta con tener en cuenta dos cosas2 por un lado! escri1ir siempre primero la pala1ra de control! antes de enviar la cuenta inicial al contador. ,or otro! dic$a cuenta inicial de1e se&uir e>actamente el formato seleccionado en la pala1ra de control (enviar slo 1+te 1a;o! enviar slo 1+te alto! o 1ien enviar am1os consecutivamente). ?eniendo en cuenta que cada contador tiene su propio puerto + que la pala1ra de control indica el contador al que est" asociada! no $a+ que se&uir un orden especial a la $ora de pro&ramar los contadores. Esto si&nifica que! por e;emplo! se puede enviar la pala1ra de control de cada contador se&uida de su cuenta inicial! o 1ien enviar todas las pala1ras de control para los 8 contadores + despus las 8 cuentas inicialesN tam1in es v"lida cualquier com1inacin intermedia de estas secuencias (por e;emplo2 enviar la pala1ra de control para el contador H! despus la pala1ra de control para el contador 1! despus la parte 1a;a de la cuenta para el contador H! lue&o la parte 1a;a de la cuenta para el contador 1! la parte alta de la cuenta para el contador H! etc...). 4n nuevo valor de cuenta inicial puede ser almacenado en un contador en cualquier momento! sin que ello afecte al modo en que $a sido pro&ramado (el resultado de esta operacin depender" del modo! como se ver" m"s adelante). :i se pro&rama el contador para leer5escri1ir la cuenta como dos 1+tes consecutivos (1a;o + alto)! el sentido comAn indica que entre am1os env<os5recepciones no conviene transferir el control a una su1rutina que utilice ese mismo contador para evitar un resultado incorrecto. *peraciones de lectura. E>isten tres posi1les mtodos para leer el valor de un contador en el G7 4. El primero es el comando Eead3/ac-! slo disponi1le en el G7 4 (+ no en el G7 8)! como lue&o veremos. El se&undo consiste en leer simplemente el contador accediendo a su puerto correspondiente2 este mtodo requiere in$i1ir la entrada *La al contador (por e;emplo! a travs de la l<nea D)?E o utilizando circuiter<a e>terior de apo+o) con o1;eto de evitar leer la cuenta en medio de un proceso de actualizacin de la misma! lo que dar<a un resultado incorrecto. El tercer mtodo consiste en el comando de

enclavamiento. Comando de enclavamiento 8Counter Latc" Command9. Este comando se env<a cual si de una pala1ra de control se tratara ()1[)H[1)2 para diferenciarlo de ellas los 1its + 4 est"n a cero. En los 1its V + J se indica el contador afectado. Los dem"s 1its de1en estar a cero para compati1ilizar con futuras versiones del c$ip. *uando se env<a el comando! el 6L del contador seleccionado queda con&elado $asta que la *,4 lo lee! momento en el que se descongela + pasa de nuevo a se&uir a *E. Esto permite leer los contadores al +)elo sin afectar la cuenta en curso. :e pueden enviar varios de estos comandos a los diversos contadores! cu+os 6L=s quedar"n enclavados $asta ser le<dos. :i se env<an varios comandos de enclavamiento al mismo contador! separados por un cierto intervalo de tiempo! slo se considerar" el primero (por tanto! la cuenta le<da corresponder" al valor del contador cuando fue encla+ado por vez primera). ,or supuesto! el contador de1e ser le<do utilizando el formato que se defini al enviar la pala1ra de controlN aunque en el caso de leer 1J 1its! las dos operaciones no $an de ser necesariamente consecutivas (se pueden insertar en el medio otras acciones relacionadas con otros contadores). 6tra caracter<stica interesante (bdisponi1le tal vez slo en el G7 4Z) consiste en la posi1ilidad de mezclar lecturas + escrituras del mismo contador. ,or e;emplo! si $a sido pro&ramado para cuentas de 1J 1its! es v"lido $acer lo si&uiente2 1) leer el 1+te menos si&nificativo! 7) escri1ir el nuevo 1+te menos si&nificativo! 8) leer el 1+te m"s si&nificativo! 4) escri1ir el nuevo 1+te m"s si&nificativo. Comando Read-7ac0. :lo est" disponi1le en el G7 4! no en el G7 8. Este comando permite leer el valor actual de la cuenta! as< como averi&uar tam1in el modo pro&ramado para un contador + el estado actual de la patilla 64?! adem"s de verificar el 1ander<n de cuenta nula (%ull *ount) de los contadores que se indiquen. El formato del comando Eead3/ac- es el si&uiente2

El comando Eead3/ac- permite enclavar la cuenta en varios 6L=s de mAltiples contadores de una sola vez! sin requerir mAltiples comandos de enclavamiento! poniendo el 1it a cero. ?odo funciona a partir de aqu< como ca1r<a esperar (los contadores permanecen enclavados $asta ser le<dos! los que no son le<dos permanecen enclavados! si el comando se reitera slo actAa la primera vez reteniendo la primera cuenta...). ?am1in es posi1le enviar informacin de estado al latc$ 6L! enclav"ndola

para que puede ser le<da con comodidad por el puerto que corresponda a ese contador. La pala1ra de estado tiene el si&uiente formato2

En 'H..' se devuelve ;usto la misma informacin que se envi en la Altima pala1ra de controlN en el 1it 'V se entre&a el estado actual de la patilla 64? del G7 4! lo que permite monitorizar por softBare las salidas del temporizador economizando $ardBare en ciertas aplicaciones. El 1it %4LL *64%? ('J) indica cu"ndo la Altima cuenta escrita en *E $a sido transferida a *E2 el momento e>acto depende del modo de funcionamiento del contador. 'esde que se pro&rama un nuevo valor de cuenta! pasa un cierto tiempo $asta que ste valor pasa de *E a *E2 leer el contador antes de que se $a+a producido dic$a transferencia implica leer un valor no relacionado con la nueva cuenta. ,or ello! se&An las aplicaciones! puede lle&ar a ser necesario esperar a que %4LL *64%? alcance el valor H antes de leer. El funcionamiento es el si&uiente2 6peracin *onsecuencias ) 3Escri1ir al re&istro de la pala1ra de control (1) %4LL *64%? [ 1 / 3Escri1ir al re&istro contador (*E) (7) %4LL *64%? [ 1 * 3%ueva cuenta car&ada en *E (*E 3c*E) %4LL *64%? [ H %otas2 (1) :lo el contador especificado por la pala1ra de control tiene su %4LL *64%? a 1N los dem"s contadores! l&icamente! no ven afectado su correspondiente 1it %4LL *64%?. (7) :i el contador es pro&ramado para cuentas de 1J 1its! %4LL *64%? pasa a valer 1 inmediatamente despus de enviar el se&undo 1+te. :i se enclava varias veces se&uidas la pala1ra de estado! todas ser"n i&noradas menos la primera! por lo que el estado le<do ser" el correspondiente al contador en el momento en que se enclav por vez primera la pala1ra de estado. :e pueden enclavar simult"neamente la cuenta + la pala1ra de estado (en un comando Eead3/ac- con ' ['4[H)! lo que equivale a enviar dos Eead3/acconsecutivos. En este caso! + con independencia de quin de los dos $u1iera sido enclavado primero! la primera lectura realizada devolver" la pala1ra de estado + la se&unda la cuenta enclavada (que autom"ticamente quedar" de nuevo desencla+ada). !*-*S -E *'ERACIDN -EL @A4C !*-* E Interrupt *n &erminal Count 8Interrupci%n al $inal de la cuenta9. Es empleado t<picamente para contar sucesos. ?ras escri1ir la pala1ra de control! 64? est" inicialmente en estado 1a;o! + permanecer" as< $asta que el contador alcance el cero2 entonces se pone a 1 + no volver" a 1a;ar $asta que se escri1a una nueva cuenta o una nueva pala1ra de control. La entrada D)?E puesta a H permite in$i1ir la cuenta!

sin afectar a 64?. El contador si&ue evolucionando tras lle&ar a cero (HQQQQ$! HQQQE$! ...) por lo que lecturas posteriores del mismo devuelven valores pseudoaleatorios. ?ras escri1ir la cuenta inicial + la pala1ra de control en el contador! la cuenta inicial ser" car&ada en el pr>imo pulso del relo; conectado (*La)! pulso que no decrementa el contador2 para una cuenta inicial %! 64? permanecer" a H durante %^1 pulsos del relo; tras escri1ir la cuenta inicial. :i se escri1e una nueva cuenta en el contador! ser" car&ada en el pr>imo pulso del relo; + el contador comenzar" a decrementarseN si se env<a una cuenta de dos 1+tes! el primer 1+te enviado in$i1e la cuenta + 64? es puesto a cero inmediatamente (sin esperar a *La)2 tras escri1ir el se&undo 1+te! la cuenta ser" car&ada en el si&uiente pulso del relo;. Esto permite sincronizar la secuencia de conteo por softBare. :i se escri1e una nueva cuenta mientras D)?E[H! sta ser" car&ada en cualquier caso en el si&uiente pulso del relo;2 cuando D)?E su1a! 64? se pondr" en alto tras % pulsos del relo; (+ no %^1 en este caso).

!*-* 5 Hard(are Retriggera+le *ne-S"ot 8!onoesta+le programa+le9. 64? ser" inicialmente alta + 1a;ar" en el pulso de relo; que si&ue al flanco de su1ida de D)?E! permaneciendo en 1a;o $asta que el contador alcance el cero. Entonces! 64? su1e + permanece activo $asta el pulso del relo; que si&a al pr>imo flanco de su1ida de D)?E. ?ras escri1ir la pala1ra de control + la cuenta inicial! el contador est" preparado. 4n flanco de su1ida de D)?E provoca la car&a del contador (*E 3d *E) + que 64? 1a;e en el pr>imo pulso del relo;! comenzando el pulso 6ne3:$ot de % ciclos de relo; de duracinN el contador vuelve a ser recar&ado si se produce un nuevo flanco de su1ida de D)?E! de a$< que 64? permanezca en 1a;o durante % pulsos de relo; tras la Altima vez que suceda esto. El pulso 6ne3:$ot puede repetirse sin necesidad de recar&ar el contador con el mismo valor. D)?E no influ+e directamente en 64?. :i se escri1e una nueva cuenta durante un pulso 6ne3:$ot! el 6ne3:$ot en curso no resulta afectado! a menos! l&icamente! que se produzca un nuevo flanco de su1ida de D)?E2 en ese caso! el contador ser<a recar&ado con el nuevo valor.

!*-* A Rate <enerator 8<enerador de ritmo9. En este modo! el contador funciona como un divisor por %. Es empleado t<picamente

para las interrupciones de los relo;es de tiempo real. 64? estar" inicialmente en alto. *uando el contador se decremente $asta el valor 1! 64? pasar" a estado 1a;o durante un pulso del relo;N tras ello! volver" a su1ir + el contador se recar&ar" con la cuenta inicial! repitindose el proceso. Este modo es! por tanto! peridico! + la misma secuencia se repite indefinidamente. ,ara una cuenta inicial %! la secuencia se repite cada % ciclos de relo; (*La). :i D)?E[H la cuenta descendiente se detiene2 si D)?E es 1a;ado durante un pulso de salida! 64? su1e inmediatamente. 4n flanco de su1ida en D)?E provoca una recar&a del contador con el valor de cuenta inicial en el si&uiente pulso del relo; (despus! como ca1r<a esperar! 64? 1a;ar" tras los % pulsos del relo; correspondientes)2 D)?E puede ser utilizado para sincronizar el contador. ?ras escri1ir la pala1ra de control + la cuenta inicial! el contador ser" car&ado en el pr>imo pulso del relo;2 64? 1a;ar" % pulsos de relo; despus! lo que permite tam1in una sincronizacin por softBare. Escri1ir un nuevo valor de cuenta durante el funcionamiento del contador no afecta a la actual secuencia de cuentaN si se reci1e un flanco de su1ida de D)?E antes del final del per<odo el contador se recar&ar" con ese nuevo valor de cuenta inicial tras el pr>imo pulso del relo; + volver" a comenzar! en caso contrario se recar&ar" con el nuevo valor tras finalizar con normalidad el ciclo en curso.

!*-* B Square Fave !ode 8<enerador de onda cuadrada9. Este modo es empleado normalmente para la &eneracin de una seal de onda cuadrada. Este modo es similar al 7! con la diferencia de que la salida 64? conmuta al transcurrir la mitad de la cuenta2 inicialmente est" en alto! pero al pasar la mitad de la cuenta pasa a estado 1a;o $asta que la cuenta finaliza. Este modo es tam1in peridico2 la onda resultante para una cuenta inicial % tiene un per<odo de % ciclos. :i D)?E[H la cuenta descendiente se detiene2 si D)?E es 1a;ado durante un pulso de salida! 64? su1e inmediatamente sin esperar nin&An *La. 4n flanco de su1ida en D)?E provoca una recar&a del contador con el valor de cuenta inicial en el si&uiente pulso del relo;2 D)?E puede ser utilizado para sincronizar el contador. ?ras escri1ir la pala1ra de control + la cuenta inicial! el contador ser" car&ado en el pr>imo pulso del relo;2 tam1in puede ser sincronizado por softBare. Escri1ir un nuevo valor de cuenta durante el funcionamiento del contador no afecta a la actual secuencia de cuentaN si se reci1e un flanco de su1ida de D)?E antes del final del medio3per<odo el contador se recar&ar" con ese nuevo valor de cuenta inicial tras el pr>imo pulso del relo; + volver" a comenzar! en caso contrario se recar&ar" con el nuevo valor tras finalizar con normalidad el medio3ciclo en curso. ,ara valores de cuenta impares! la duracin a nivel alto de 64? ser" un per<odo de relo; ma+or que la duracin a nivel 1a;o.

!*-* C So$t(are &riggered !ode 8'ulso Strobe iniciado por so$t(are). 64? est" en alto al principioN cuando la cuenta inicial e>pira! 64? 1a;a durante un pulso de relo; + lue&o vuelve a su1ir. El proceso se inicia cuando se escri1e la cuenta inicial. D)?E[H in$i1e el contador + D)?E[1 lo $a1ilitaN D)?E no influ+e en 64?. ?ras escri1ir la pala1ra de control + la cuenta inicial! el contador ser" car&ado en el pr>imo pulso del relo;2 como ese pulso no decrementa el contador! para una cuanta inicial %! 64? no 1a;ar" $asta %^1 pulsos de *La. :i se escri1e una nueva cuenta durante el proceso! se car&ar" en el pr>imo pulso *La + continuar" el proceso de cuenta con la nueva cuenta escritaN si la cuenta es de 7 1+tes! al escri1ir el primero no se altera el funcionamiento del contador $asta que se env<e el se&undo.

!*-* 4 Hard(are &riggered Stro+e 8'ulso Strobe iniciado por "ard(are). 64? estar" en alto al principio2 con el flanco de su1ida de la seal D)?E! el contador comienza a decrementar la cuenta. *uando lle&a a cero! 64? 1a;a durante un pulso *La + lue&o vuelve a su1ir. 'espus de escri1ir la pala1ra de control + la cuenta inicial! el contador no ser" car&ado $asta el pulso de relo; posterior al flanco de su1ida de D)?E. Este pulso *La no decrementa el contador2 por ello! ante una cuenta inicial %! 64? no 1a;ar" $asta que pasen %^1 pulsos de relo;. D)?E no afecta a 64?. :i una nueva cuenta inicial es escrita durante el proceso! la actual secuencia del contador no ser" alteradaN si se produce un flanco de su1ida en D)?E antes de que la nueva cuenta sea escrita pero despus de que e>pire la cuenta actual! el contador ser" car&ado con la nueva cuenta en el pr>imo pulso del relo;.

17.8.7 3 EL G7 4 E% EL 6E'E%)'6E. ?odos los )? + ,:57 llevan instalado un G7 4 o al&o equivalenteN los ,*5L? van equipados con un G7 8! al&o menos vers"tilN los ,:57 m"s avanzados tienen un temporizador con un cuarto contador li&ado a la interrupcin no enmascara1le! si 1ien no lo consideraremos aqu<. ?odos los contadores van conectados a un relo; que oscila a una frecuencia de 1.198.1GH ciclos por se&undo (casi 1!7 .$z). La direccin 1ase en el espacio de E5: del ordenador ele&ida por (/. cuando dise el ,* es la 4H$. ,or tanto! los tres contadores son accedidos! respectivamente! a travs de los puertos 4H$! 41$ + 47$N la pala1ra de control se env<a al puerto 48$. La seal D)?E de los contadores H + 1 est" siempre a 1N en el contador 7 es selecciona1le el nivel de la l<nea D)?E a travs de 1it H del puerto E5: J1$. La /(6: pro&rama por defecto el contador H en el modo 8 (&enerador de onda cuadrada) + el contador 1 en el modo 7 (&enerador de ritmo)N el usuario normalmente pro&rama el contador 7 en el modo 7 8. La salida del contador H est" conectada a (E\ H (li&ado a la (%? G! que a su vez invoca a (%? 1*$)N este contador est" pro&ramado por defecto con el valor cero (equivalente a J 8J)! por lo que la cadencia de los pulsos es de 1.198.1GH5J . 8J [ 1G!7 veces por se&undo! valor que determina la precisin del relo; del sistema! ciertamente demasiado 1a;a. :e puede modificar el valor de recar&a de este contador en un pro&rama! llamando a la vie;a (%? G cada 151G!7 se&undos para no alterar el funcionamiento normal del ordenador! si 1ien no es conveniente instalar pro&ramas residentes que cam1ien permanentemente esta especificacin2 los pro&ramas del usuario esperan encontrarse el temporizador a la $a1itual + poco Atil frecuencia de 1G!7 interrupciones5se&undo. La salida del contador 1 controla el refresco de memoria en todas las m"quinas! su valor normal para el divisor es 1GN aument"ndolo se puede acelerar el funcionamiento del ordenador! con el ries&o 3eso s<3 de un fallo en la memoria! detectado por los c$ips de paridad 3si los $a+3! que provoca &eneralmente el 1loqueo del equipo. 'e todas maneras! en los ,*5L? se puede aumentar entre 19 + 1HHH sin demasiados ries&os! aceler"ndose en ocasiones $asta casi un 1HR la velocidad de proceso del equipo. En los )? la &anancia de velocidad es muc$o menor + adem"s este es un punto demasiado sensi%le que conviene no tocar para no correr ries&os! aunque se podr<a 1a;ar $asta un valor 731V para ralentizar el sistema. :in em1ar&o! no es conveniente alterar esta especificacin porque! como se ver" m"s adelante! $a+ un mtodo para realizar retardos (empleado por la /(6: + al&unas aplicaciones) que se ver<a afectado. El contador 7 puede estar conectado al altavoz del ordenador para producir sonidoN alternativamente puede emplearse para temporizar. Es el Anico contador que queda realmente li1re para el usuario! lo que suele dar que1raderos de ca1eza a la $ora de producir sonido. 17.8.8 3 ?E.,6E(W)*(`%.

Los contadores H + 1! especialmente este Altimo! +a est"n ocupados por el sistemaN en la pr"ctica el Anico disponi1le es el 7. Este contador $a sido conectado con el do1le propsito de temporizar + de &enerar sonido. ,ara emplearlo en las temporizaciones! es preciso $a1ilitar la puerta D)?E activando el 1it H del puerto J1$N tam1in $a+ que ase&urarse de que la salida del contador no est" conectada al altavoz (a menos que se desee mAsica mientras se cronometra) poniendo a H el 1it 1 del mismo puerto (J1$)2
I: .L,6)( .:; .L,))))))0)b contador + con el alta%o&, <= .L,0000000)b contador +, ?MP 6@<=1 AB+ <D1 6)(,.L ; borrar bit ) *cone$in del

; acti%ar bit 0 *l!nea >.1 ; estado de espera para C6

El si&uiente pro&rama de e;emplo! *E6%6:.):.! inclu+e dos su1rutinas para $acer retardos de alta precisin. La primera de ellas! inic:retardo! $a+ que llamarla al principio para que pro&rame el contador 7 del temporizadorN la rutina retardo se encar&a de $acer el retardo que se indique en )L (en unidades de 1511981GH se&undos).
; ; ; ; ; ; ; ; ; EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE E E E C=<:<6..6M F 6ubrutinas para (acer retardos de precisin. E E E E I:I1G= 1.=;<H llamarla al principio del todo. E E = 1.=;<H ntre7ar en .I el nJ de ))K3)80Fa%os de E E se7undo que dura el retardo *m-$imo 62400,. E E E EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 6 >M :1 .66DM C6Hpro7rama, ;6Hpro7rama <=> inicioH C.LL M<L M<L C.LL L<<P I:1 P=<C PD6@ I: .:; <= ?MP <D1 M<L ?MP <D1 P<P inicGretardo CI,+0 .I,2K62K retardo retard +0( ; +0 retardos ; de 20 milise7undos )00(

pro7rama

retardH

inicGretardo

.I .L,6)( .L,))))))0)b .L,) 6@<=1 AB+ 6)(,.L .L,)0))0)00b 6@<=1 AB+ 43(,.L .I

; contador +, modo +, binario

inicGretardo retardo

retardandoH

retardo pro7rama

= 1 :;P P=<C PD6@ PD6@ CLI <D1 M<L ?MP <D1 ?MP I: I<= ?MP <D1 I<= ?MP <D1 61I ?MP M<L M<L <D1 ?MP I: M<L ?MP I: IC@> CMP M<L ?B P<P P<P = 1 :;P :;6 :;

.I BI 4+(,.L .L,.@ 6@<=1 AB+ 4+(,.L 6@<=1 AB+ .L,6)( .L,) 6@<=1 AB+ 6)(,.L .L,) 6@<=1 AB+ 6)(,.L 6@<=1 AB+ BI,0MMMM( .L,)0000000b 43(,.L 6@<=1 AB+ .L,4+( .@,.L 6@<=1 AB+ .L,4+( .@,.L .I,BI BI,.I retardando BI .I ; parte ba#a de la cuenta ; parte alta ; ba#ar >.1 ; subir >.1

; encla%amiento ; leer contador

; .I N %alor del contador

inicio

El procedimiento inic:retardo pro&rama el contador 7 en el modo 7! con datos en 1inario + de;"ndolo listo para enviar5reci1ir secuencias de 7 1+tes para la cuenta (primero el 1+te menos si&nificativo + lue&o el alto). Las instrucciones #., :H6E? e ^7 colocadas oportunamente (para saltar a la si&uiente l<nea) evitan que las m"quinas )? m"s anti&uas fallen en dos operaciones de E5: consecutivas demasiado r"pidas. El procedimiento retardo env<a el nuevo valor de cuenta. ) continuacin 1a;a + vuelve a su1ir la seal D)?E! con o1;eto de provocar un flanco de su1ida en esta l<nea! lo cual provoca que el contador se car&ue con el valor recin enviado de manera inmediata (de lo contrario! no se recar&ar<a $asta aca1ar la cuenta anterior). Qinalmente! entramos en un 1ucle donde se enclava continuamente la cuenta + se espera $asta que aca1e. Lo m"s intuitivo ser<a compro1ar si la cuenta es cero! pero esto es realmente dif<cil +a que cam1ia nada menos que fm"s de 1 milln de veces por se&undoM. ,or tanto! nos limitamos a compro1ar si tras dos lecturas consecutivas la se&unda es ma+or que la primera ...fno puede serM... s<! si puede ser! si tras lle&ar a H el contador se $a recar&ado. 'e esta manera! el ma+or valor admitido en )L al llamar es J 8 ! aunque no conviene que sea superior a J 4HH! para permitir que las recar&as puedan ser detectadas en la

m"quina m"s lenta (un L? a 4.VV + en 18 511981GH se&undos dispone de unos 4H ciclos! en los que $ol&adamente cu1re este 1ucle). ) la $ora de emplear las rutinas anteriores $a+ que tener en cuenta dos consideraciones. ,or un lado! est"n diseadas para $acer pequeos retardos2 llam"ndolas repetidamente! el 1ucle que $a+ que $acer (+ las interrupciones que se producen durante el proceso) provoca que retarden m"s de la cuenta. ,or e;emplo! en el pro&rama principal! poniendo 17HH en *L en lu&ar de 7H! el retardo de1er<a ser de JH se&undosN sin em1ar&o! comparando este dato con el contador de $ora de la /(6: (en una versin li&eramente modificada del pro&rama) resulta ser de casi JH!7 se&undos. La se&unda consideracin est" relacionada con las interrupciones2 de la manera que est" el listado! se puede producir una interrupcin en la que al&An pro&rama residente utilice el contador 7 del temporizador! alterando el funcionamiento de las rutinas de retardo (por e;emplo! una utilidad de clic* en el teclado) o incluso provocando un fallo en la misma (si a sta no le da tiempo a compro1ar que 'a es la hora)2 este es un aspecto a tener en cuenta en un caso serio. :e puede! por e;emplo! in$i1ir todas las interrupciones (o enmascar slo las m"s molestas)! aunque anular la interrupcin del temporizador! la m"s peligrosa! provocar<a un retraso de la $ora del ordenador. ,ara $acer retardos o temporizaciones de m"s de H milise&undos! es m"s conveniente emplear el contador de $ora de la /(6: (varia1le de 87 1its en HH4H$2HHJ*$) que la (%? G se encar&a de incrementar 1G!7 veces cada se&undo + de volver a ponerlo a cero cada 74 $oras. %o es conveniente mirar el valor del contador de $ora de la /(6:! sumarle una cantidad + esperar a que alcance dic$a cantidad fi;a2 la e>periencia demuestra que eso produce a veces cuel&ues del ordenador! no solo de1ido a que suele fallar cuando son las 782 92 9 sino tam1in porque cuando se alcanza el valor esperado! por cualquier motivo (tal como un alar&amiento e>cepcional de la rutina que controla (%? G (%? 1*$ de1ido a al&An pro&rama residente) puede que el pro&rama principal no lle&ue a tiempo para compro1ar que +a es la $ora... + $a+a que esperar otras 74 $oras a pro1ar suerte. Lo ideal es contar las veces que cam+ia el contador de $ora de la /(6:. ,or Altimo! como e;emplo ameno! el si&uiente fra&mento de pro&rama $ace que la $ora del ordenador va+a diez veces m"s r"pida 3poco recomenda1le! aunque mu+ divertido3 pro&ramando el contador H con un valor de cuenta J 8 (frente al H[J 8J $a1itual)! de la si&uiente manera2
M<L datos binarios <D1 M<L M<L ?MP <D1 M<L ?MP <D1 .L,00))0))0b 43(,.L BI,6223 .L,BL 6@<=1 AB+ 40(,.L .L,B@ 6@<=1 AB+ 40(,.L ; contador 0, operacin ))b, ; %alor de cuenta ; en%iar b"te ba#o ; en%iar b"te alto

Un mtodo genial para "acer retardos / controlar timeouts en A&. )unque ausente en todos los manuales de referencia tcnica + en todos los li1ros relacionados con la pro&ramacin de ,*! e>iste un mtodo mu+ f"cil + eficiente para temporizar disponi1le en todos los ordenadores )?. ,ese a no estar documentado! un

pro&rama mu+ usual como es el aEP/ del .:3'6: (a partir de la versin .H del sistema) lo utiliza en todos los )?! sin importar el modelo. ,or ello! ca1e suponer que se&uramente los futuros equipos mantendr"n la compati1ilidad en este aspecto. :ucede que la salida del contador 1 del G7 4! encar&ada del refresco de la memoria! controla de al&una manera desconocida (tal vez a travs de un flip3flop) la &eneracin de una onda cuadrada de unos 88 aHz que puede leerse a travs del 1it 4 del puerto J1$ (no se trata de la salida 64? del contador 12 ste est" pro&ramado en modo 7 + no &enera precisamente una onda cuadrada). El contador 1 es pro&ramado por la /(6: en todos los ,* con una cuenta 1G! conmutando el nivel de la salida cada se&undo 11981GH51G [ JJ7GV!VV veces. ,ara $acer un determinado retardo 1asta con contar las veces que el 1it cam1ia de nivel2 la funcin en ensam1lador retardoGasm89 del pro&rama de e;emplo lo ilustra. Este mtodo es especialmente interesante en los pro&ramas residentes que precisen retardos de precisin! para sonido u otras tareas! tales como limitar la duracin m">ima de una compro1acin en un 1it de estado a unos milise&undos o microse&undos (control de timeouts)N la principal venta;a es que no se modifica en a1soluto la confi&uracin de nin&An c$ip que pueda estar empleando el pro&rama principal! empezando por el G7 4. )dem"s! no requiere preparacin previa al&una. ,ara los m"s curiosos! decir que el 1it del puerto J1$ es la salida 64? del contador 7 del G7 4 (la l<nea 64? del contador 7 del G7 8 de los ,*5L? tam1in puede consultarse a travs del 1it ! pero del puerto J7$). El Anico inconveniente del mtodo es la alta frecuencia con que cam1ia el 1it2 esta misma rutina escrita en * podr<a no ser suficientemente "&il para detectar todas las transiciones en las m"quinas )? m"s lentas a J .Hz. ) partir de G .Hz s< puede ser facti1le! como evidencian las prue1as realizadas! aunque $a+ que e>tremar las precauciones para que el cdi&o compilado sea lo 1astante r"pido2 utilizar las dos varia1les re&istro que realmente soportan los compiladores + $uir de la aritmtica de 87 1its! como puede o1servarse en la funcin retardoGc89 del pro&rama de e;emplo. 4na mala codificacin o compilador podr<an $acer inservi1le el mtodo incluso en una m"quina a 1J 7H .Hz. ,ara no tener pro1lemas! es me;or emplear la versin en ensam1lador! escrita en un * no muc$o menos est"ndar. La macro !ICR*89 a+uda a seleccionar con m"s comodidad el retardo! indic"ndolo en mus! aunque implica una operacin en coma flotante que por s< sola aade unos 1HH mus de retardo adicionales en un 8GJ37 sin coprocesador + con las li1rer<as de /orland.
)ncdota2 ,ara los m"s curiosos! decir que los pro&ramadores de .icrosoft emplean este mtodo en el aEP/ en dos ocasiones2 para limitar a un tiempo razona1le la espera $asta que el re&istro de entrada del GH47 se llene (1 ms) +! en otra li&era variante! para controlar la duracin del pitido de error. Los aficionados al ensam1lador pueden compro1arlo personalmente aplicando el comando 4 del 'E/4D so1re el aEP/ para desensam1lar a partir de los offsets HE89 + H'JH! respectivamente2 en el primer caso! la su1rutina slo es e;ecutada en )?N en el se&undo! veris como el aEP/ se ase&ura de que el equipo es un )? compro1ando el valor de /, antes de saltar a H'VH (e;ecuta un 1ucle vac<o en las dem"s m"quinas). Esta nueva tcnica $a permitido eliminar respecto a anteriores versiones del pro&rama al&unos test so1re tipos de ordenadores! cu+a finalidad m"s comAn era a;ustar las constantes de retardo. :on v"lidos tanto el aEP/ del .:3'6: .H castellano como el del .:3'6: J.H en in&ls o castellano indistintamente (flas direcciones indicadas coincidenM). ?am1in en las /(6: modernas suele $a1er e;emplos de esta tcnica! aunque las direcciones +a no coinciden...

CEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC CE EC CE Pro7rama de demostracin del m0todo de retardo basado en la EC

CE monitori&acin de los ciclos de refresco de memoria del .1. EC CE EC CEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEC Oinclude Pdos.(Q Odefine MIC=<*microse7, **lon7,*microse7C)2.082939+9,, %oid retardoGasm*,, retardoGc*,; %oid main*, R CE cuatro formas de (acer un mismo retardo de precisin EC retardoGasm retardoGasm retardoGc retardoGc U %oid retardoGasm *lon7 cuenta, CE m0todo ensamblador recomendado EC R asm pus( a$ asm pus( c$ asm pus( d$ asm mo% c$,Vord ptr cuenta CE ;IHCI N cuenta EC asm mo% d$,Vord ptr WcuentaB+X asm #c$& finGl CE posible cuenta ba#a nula EC espGrefH asm in al,6)( asm and al,)0( CE aislar bit 2 EC asm cmp al,a( asm #e espGref CE esperar cambio de ni%el EC asm mo% a(,al asm loop espGref CE completar cuenta ba#a EC finGlH asm and d$,d$ asm #& finGret CE posible cuenta alta nula EC asm dec d$ asm #mp espGref CE completar cuenta alta EC finGretH asm pop d$ asm pop c$ asm pop a$ U %oid retardoGc *lon7 cuenta, CE m0todo en C no recomendado EC R re7ister a, b; unsi7ned cuentaG(, cuentaGl; cuentaG(Ncuenta QQ )6; do cuentaGlNcuenta Y 0$MMMM; *66+69L,; *MIC=<*)000000L,,; *66+69L,; *MIC=<*)000000L,,; CE CE CE CE un se7undo EC otro se7undo *Sm-s claroT, EC a(ora en C EC la otra alternati%a EC

do R V(ile *aNN*bNinportb*0$6), Y 0$)0,,; aNb; U V(ile *cuentaGlFF,; V(ile *cuentaG(FF,; U

17.8.4 3 :g%?E:(: 'E :6%('6. La produccin de sonido es uno de los puntos m"s d1iles de los ordenadores compati1les! que slo superan por mu+ escaso mar&en a al&uno de los micros le&endarios de los GH! si 1ien las tar;etas de sonido $an solventado el pro1lema. ,ero aqu< nos conformaremos con descri1ir la pro&ramacin del altavoz. En todos los ,*s e>isten dos mtodos diferentes para &enerar sonido! con la utilizacin del G7 4 o sin l! que veremos por separado. Control directo del altavo1. El altavoz del ordenador est" li&ado en todas las m"quinas al 1it 1 del puerto E5: J1$. :i se $ace cam1iar este 1it (mantenindolo durante cierto tiempo alto + durante cierto tiempo 1a;o! repitiendo el proceso a &ran velocidad) se puede &enerar una onda cuadrada de sonido. *uanto m"s deprisa se realice el proceso! ma+or ser" la frecuencia del sonido. ,or fortuna! la 1a;a calidad del altavoz del ,* redondea la onda cuadrada + produce un sonido al&o m"s musical de forma involuntaria. %o e>iste! en cualquier caso! control so1re el volumen! que dada la calidad del altavoz tam1in est" en funcin de la frecuencia. Este mtodo de produccin de sonido tiene varios inconvenientes. ,or un lado! la frecuencia con que se $ace vi1rar al 1it que lo produce! si no se tiene muc$o cuidado! est" a menudo m"s o menos li&ada a la capacidad de proceso del ordenador2 esto si&nifica que el sonido es m"s &rave en m"quinas lentas + m"s a&udo en las r"pidas. Esto es particularmente &rave + evidente cuando las temporizaciones se $acen con 1ucles de retardo con re&istros de la *,42 la frecuencia del sonido est" totalmente a merced de la velocidad de la m"quina en que se produce. Es por ello que el pitido de error que produce el teclado es a menudo distinto de unos ordenadores a otros! aunque ten&an el mismo aEP/ instalado. 6tro &ran inconveniente de este mtodo es que las interrupciones! fundamentalmente la del temporizador! producen fuertes interferencias so1re el sonido. ,or ello! es normal tenerlas in$i1idas! con el consi&uiente retraso de la $ora. ,or Altimo! un tercer &ran inconveniente es que la *,4 est" completamente dedicada a la produccin de sonido! sin poder realizar otras tareas mientras tanto. )ntes de comenzar a producir el sonido con este mtodo $a+ que 1a;ar la l<nea D)?E del G7 4! +a que cuando est" en alto + se activa tam1in el 1it 1 del puerto E5: J1$! el temporizador es el encar&ado de producir el sonido (este es el se&undo mtodo! como veremos). ,or tanto! es preciso poner primero a cero el 1it H del mismo puerto (J1$)2 CLI otras I: .:; ?MP <D1 .L,6)( .L,)))))))0b 6@<=1 AB+ 6)(,.L ; e%itar posible I:1 8, entre

del 8+24 otroGcicloH

; estado de espera para C6 ; ba#ar >.1 del contador + ; +26 %ueltas ; in%ertir bit ) ; constante de retardo

M<L CI,)00( PD6@ CI I: .L,6)( I<= .L,+ ?MP 6@<=1 AB+ <D1 6)(,.L M<L CI,300 retardoH L<<P retardo P<P CI L<<P otroGciclo 61I Control del altavo1 por el tempori1ador.

El otro mtodo posi1le consiste en emplear el contador 7 del temporizador conectado al altavozN as<! enviando el per<odo del sonido (1.198.1GH5frecuenciaCenCHz) a dic$o contador (pro&ramado en modo 8)! ste se encar&a de &enerar el sonido. Esto permite o1tener sonidos idnticos en todos los ordenadores. E>iste el pequeo pro1lema de que la duracin del sonido $a de ser mAltiplo de 151G!7 se&undos si se desea utilizar el relo; del sistema para determinarla (un 1ucle de retardo ser<a! una vez m"s! dependiente de la m"quina) +a que el contador 7 est" a$ora ocupado en la produccin de sonido + no se puede usar

para temporizar (al menos! no sin $acer mala1arismos). )lternativamente! se podr<a evaluar la velocidad de la *,4 para a;ustar las constantes de retardo o aumentar la velocidad de la interrupcin peridica. ,ara emplear este sistema! primero se prepara el contador 7 para temporizar (poniendo a 1 el 1it H del puerto J1$) + lue&o se conecta su salida al altavoz (poniendo a 1 el 1it 1 del puerto J1$). )l final! conviene 1orrar am1os 1its de nuevo. )$ora no es preciso in$i1ir las interrupciones para &arantizar la calidad del sonido2 M<L .L,)0))0))0b operacin ))b, datos binarios <D1 43(,.L M<L .I,+9)) L., N +9)) ?MP 6@<=1 AB+ <D1 4+(,.L M<L .L,.@ ?MP 6@<=1 AB+ <D1 4+(,.L ?MP 6@<=1 AB+ I: .L,6)( <= .L,000000))b ?MP 6@<=1 AB+ <D1 6)(,.L M<L CI,0 demoraH L<<P demora por el peor m0todo I: .L,6)( .:; .L,))))))00b ?MP 6@<=1 AB+ <D1 6)(,.L ; contador +, modo 3, ; pro7ramar contador + ; ).)K3.)80 C 440 @& *nota

; frecuencia pro7ramada

; alta%o& sonando ; esperar un cierto tiempo

; alta%o& callado

Las frecuencias en Hz de las distintas notas musicales est"n oficialmente definidas + los mAsicos suelen tenerlas en cuenta a la $ora de afinar los instrumentos. La escala crom"tica temperada! adoptada por la )merican :tandards )sociation en 198J! esta1lece el L)4 como nota de referencia en 44H Hz. En &eneral! una vez conocidas las frecuencias de las notas de una octava! las de la octava si&uiente o anterior se o1tienen multiplicando + dividiendo por dos! respectivamente. La frmula de a1a;o permite o1tener las frecuencias de las notas asi&n"ndolas un nAmero (a partir de J + $asta GGN el L) de 44H Hz es la nota 49) con una precisin razona1le! m">ime teniendo en cuenta que van a ir a parar al altavoz del ,*. ?al curiosa relacin se verifica de1ido a que la respuesta del o<do $umano es lo&ar<tmica! lo que $a permitido reducir a simples matem"ticas el vie;o sa1er milenario de los mAsicos.

3ttp7%%atc.u+r.es%docencia%udi+ital%12<3.3tml

2.F.1

,elo- de sistema.

Acceso a memoria " el relo# del sistema


!l acceso a memoria es probablemente la acti"idad m&s com,n de un CPU, se trata en definiti"a de una operaci*n sincroni9ada al reloj del sistema, esto es, la lectura o escritura no puede ser m&s r&pida que un ciclo de reloj, de hecho, en muchos sistemas /7)/0 el acceso a memoria toma "arios ciclos de reloj. !l tiem&o de acceso a memoria es el n,mero de ciclos de reloj que el sistema necesita para

acceder a una ubicaci*n de memoria, este es un "alor importante ya que a mayor n,mero de ciclos menor desempe<o. !l tiempo de acceso a memoria es la cantidad de tiempo que transcurre desde que se solicita una operaci*n (sea de lectura * escritura) y el tiempo en que la memoria completa dicha operaci*n. !n procesadores de ? (h9 (/7)//, /7)/0) el tiempo de acceso a memoria es de apro)imadamente /77 ns. (nanose+undos), en cambio, un procesador de ?7 (h9 (/7)4/0) el tiempo es de apro)imadamente 27 ns. !l tiempo de acceso a memoria en el procesador /7)4/0 es casi 47 "eces m&s r&pido que en el caso del procesador /7)/0 porque 5ste ,ltimo consume m&s ciclos de reloj para el acceso a memoria adem&s del incremento en la "elocidad de reloj. %os dispositi"os de memoria presentan "arias caractersticas pero las principales son su capacidad de almacenamiento y el tiempo de acceso. Una memoria de acceso aleatorio ($#() tpica tiene una capacidad de -0 * m&s me+abytes y un tiempo de acceso de E7 nanose+undos * menos, con estos datos se+uramente se estar& pre+untando c*mo es posible que 5stas memorias relati"amente lentas trabajan en procesadores mucho m&s r&pidos. %a respuesta son los estados de es&era. Un estado de espera es una se<al que se coloca en el bus de control por parte del dispositi"o de memoria para detener temporalmente el trabajo reali9ado por el CPU, como consecuencia utili9ar uno o m&s estados de espera tiene el mismo efecto que reducir proporcionalmente la "elocidad de reloj, ob"iamente introducir estados de espera no es una opci*n deseable por la reducci*n en el desempe<o del sistema. %os dise<adores de hardAare han encontrado un mecanismo que tiene un efecto similar a introducir estados de espera pero sin afectar notablemente el rendimiento de la computadora, a este mecanismo se le llama memoria cac'e ( se pronuncia GcashG). Una memoria cache es un dispositi"o sin estados de espera que se encuentra construida como parte inte+ral del CPU, fsicamente se encuentra entre el CPU y los m*dulos de memoria $#(, su funci*n es e"itar la +eneraci*n de estados de espera por parte de los m*dulos de memoria $#( y as apro"echar al m&)imo el rendimiento esperado por el CPU, sin embar+o la memoria cache no es un dispositi"o perfecto pues hay ocasiones en que no es posible colocar en memoria cache los datos que requiere el pro+rama para ejecutarse for9ando al sistema a leer dichos datos directamente de los m*dulos de memoria $#( y por lo tanto +enerando estados de espera, cuando ocurre 5ste fen*meno se le llama &(rdida cac'e (cache miss), cuando tienen 5)ito las operaciones en memoria cache se le llama ()ito cac'e (cache hit). Por lo +eneral el radio entre 5)ito y p5rdida en memoria cache est& entre /? y .7N. !ste rendimiento disminuye al aumentar la cantidad de memoria cache y por esta ra9*n la memoria cache es relati"amente peque<a, sus "alores de almacenamiento oscilan entre 2?0 y ?-2 Ob.

$ttp255BBB.modelo.edu.m>5univ5virtec$5pro&rac5c1+nH8.$tm Eelo;es Los relo;es son esenciales para el 1uen funcionamiento de cualquier sistema porque ;ue&an un papel decisivo en la sincronizacin de procesos! en la calendarizacin de tra1a;os por lote + para la asi&nacin de turnos de e;ecucin entre otras tareas relevantes. Deneralmente se cuenta con dos relo;es en el sistema2 uno que lleva la $ora + fec$a del sistema + que oscila entre H + JH veces por se&undo + el relo; que oscila entre + 1HH millones de veces por se&undo + que se encar&a de enviar interrupciones al *,4 de manera peridica. El relo; de ma+or frecuencia sirve para controlar el tiempo de e;ecucin de los procesos! para despertar los procesos que est"n =durmiendo= + para lanzar o iniciar procesos que fueron calendarizados.

,ara mantener la $ora + fec$a del sistema &eneralmente se usa un re&istro alimentado por una pila de alta duracin que almacena estos datos + que se pro&raman de f"1rica por primera vez. )s<! aunque se suspenda la ener&<a la fec$a permanece. ,ara lanzar procesos (c$equeo de tiempo ocioso de un dispositivo! terminacin del time slice de un proceso! etc)! se almacena un valor en un re&istro (valor \4)%?4.) el cual se decrementa con cada ciclo del relo;! + cuando lle&a a cero se dispara un proceso que e;ecutar" las operaciones necesarias (esco&er un nuevo proceso en e;ecucin! verificar el funcionamiento del motor del disco fle>i1le! $acer eco de un caracter del teclado! etc). $ttp255BBB.tau.or&.ar51ase5lara.pue.udlap.m>5sistoper5capituloJ.$tml

2.F.2 ,eset del sistema. 2.F.3 0stados de espera. 2.G $nterrupciones de .ard/are.
Uso de interrupciones 4n computador de1e disponer de los elementos suficientes para que el pro&ramador ten&a un control total so1re todo lo que ocurre durante la e;ecucin de su pro&rama. La lle&ada de una interrupcin provoca que la C'U suspenda la e;ecucin de un pro&rama e inicie la de otro (rutina de servicio de interrupcin). *omo las interrupciones pueden producirse en cualquier momento! es mu+ pro1a1le que se altere la secuencia de sucesos que el pro&ramador $a1<a previsto inicialmente. Es por ello que las interrupciones de1er controlarse cuidadosamente. 'e esta forma! podemos resumir todas las etapas se&uidas ante una interrupcin en un sistema dotado de vectorizacin. Estos pasos son los si&uientes2 1.3 El dispositivo env<a la solicitud de interrupcin mediante la l<nea (%?E. 7.3 El procesador termina la e;ecucin de la instruccin en curso + analiza la l<nea de peticin de interrupcin! (%?E. :i esta l<nea no est" activada continuar" normalmente con la e;ecucin de la si&uiente instruccin! en caso contrario se pasa a la etapa si&uiente. 8.3 La *,4 reconoce la interrupcin! para informar al dispositivo de ello! activa la l<nea de reconocimiento de interrupcin! (%?). 4.3 El dispositivo que reci1a la seal (%?) env<a el cdi&o de interrupcin por el 1us de datos. .3 La *,4 calcula la direccin de memoria donde se encuentra la rutina de servicio de interrupcin (vector de interrupcin). J.3 El estado del procesador! + en particular el contador de pro&rama! se salva en la pila de la misma forma que en una llamada a procedimiento.

V.3 La direccin de la rutina de servicio de interrupcin se car&a en el contador de pro&rama! con lo que se pasa el control a la citada rutina. G.3 La e;ecucin continAa $asta que el procesador encuentre la instruccin de retorno de interrupcin. 9.3 *uando se encuentre la instruccin de retorno de interrupcin se restaura el estado del procesador! en especial el contador de pro&rama! + se devuelve el control al pro&rama interrumpido. %ormalmente la primera instruccin de la rutina de servicio tendr" como fin desactivar las interrupciones para impedir el anidamiento! por otra parte! antes de devolver el control al pro&rama interrumpido se volver"n a $a1ilitar si es necesario. 3ttp7%%///.mailEmail.com%curso%in8ormatica%arquitecturaordenadores%ca pitulo16.3tm Ha+ cuatro cate&or<as principales de interrupciones2 59 En primer lu&ar! $a+ interrupciones &eneradas por la circuiter<a del ordenador en respuesta a al&An acontecimiento! tal como la pulsacin de una tecla. Estas interrupciones est"n mane;adas por el c$ip controlador de interrupciones (el G7 9! tam1in conocido como ,(*)! que l as prioriza antes de enviarlas a la *,4 para que actAe. ) estas interrupciones se les suele llamar interr)pciones hard0are. A9 En se&undo lu&ar! $a+ interrupciones que son &eneradas por la *,4 como resultado de al&An suceso inusual producido por el pro&rama como! por e;emplo! una divisin por cero. ) estas interrupciones solemos referirnos como e"cepciones. B9 En tercer lu&ar! $a+ interrupciones &eneradas deli1eradamente por los pro&ramas para invocar! por e;emplo! las llamadas al sistema. Estas interrupciones son llamadas interr)pciones soft0are. C9 ,or Altimo! $a+ tam1in un tipo especial de interrupcin! llamada interr)pcin no enmascara%le (%.()! que se utiliza para solicitar la atencin inmediata de la *,4. ) menudo indica que se $a producido una emer&encia! como! por e;emplo! una ca<da de volta;e! o un error de paridad de memoria. *uando se env<a una %.( la *,4 la atiende antes que al resto de las interrupciones! por supuesto. Los pro&ramas en ensam1lador pueden desactivar! o lo que es lo mismo enmascarar! las interrupciones $ardBare. ,or esta razn! tam1in se las llama enmascara1lesN el resto de las interrupciones que interceptan errores especiales! como la divisin por cero! no se pueden enmascarar. :e pueden aducir dos razones para desactivar las interrupciones $ardBare2 a9 *uando se necesita e;ecutar un fra&mento de cdi&o especialmente cr<tico antes de que suceda nin&una otra tarea en el ordenador! interesa que todas las interrupciones queden 1loqueadas. ,or e;emplo! cuando se quiere $acer al&An cam1io en la ta1la de vectores de interrupcin. +9 ) veces interesa enmascarar ciertas interrupciones $ardBare cuando stas pueden interferir en al&una actividad cu+a dependencia temporal sea cr<tica. ,or e;emplo! si se est" e;ecutando una rut ina de E5: cu+a temporizacin tiene que estar e>quisitamente controlada! uno no puede permitirse el lu;o de esperar @aparcado@ mientras se e;ecuta una lenta interrupcin de disco. En el primer caso! se $a de tener en cuenta que en Altimo trmino! la e;ecucin de todas las interrupciones descansa so1re el fla& de interrupcin (1it 9) del re&istro de estado

(fla&s de estado) del procesador. *uando este 1it toma el valor H! acepta cualquier solicitud de interrupcin que permita el re&istro de m"scaras de int errupcin. *uando es uno! no se permiten interrupciones $ardBare. ,ara $acer que este fla& tome el valor cero! desactivando as< las interrupciones! se utiliza la instruccin *L(. ,ara volver a poner el fla& a uno! autorizando de nuevo las interrupciones! se utiliza la instruccin :?(. ,ara &estionar las interrupciones $ardBare! todos los ,*=s utilizan el llamado c$ip controlador de interrupciones pro&rama1le (,(*) (ntel G7 9. E>iste la posi1ilidad de que aparezca m"s de una solicitud de interrupcin simult"neamente! por lo que el c$ip esta1lece una -erar5)1a de prioridades. E>isten oc$o niveles de prioridad! e>cepto en el )?! que tiene diecisis! a los que se refieren con las a1reviaturas (E\H a (E\V ( (E\H a (E\1J en )?)! que corresponden a las si&las in&lesas de solicitud de interrupcin (interrupt request). La ma+or prioridad se consi&ue en el nivel H. En el caso del )?! los oc$o niveles de prioridad e>tra se &estionan con un se&undo c$ip G7 9 denominado sla+e! en contraposicin al primer c$ip G7 9 denominado masterN esta se&unda serie de niveles tiene una prioridad comprendida entre (E\7 e (E\8. En la si&uiente ta1la se muestra como se asi&nan los niveles de interrupcin a los distintos perifricos2 HErrorI !arcador no de$inido.

El G7 9 posee tres re&istros de un 1+te que controlan + &estionan las oc$o (o diecisis) l<neas de interrupcin $ardBare! pero a nosotros slo nos interesa el re&istro de m"scara de interrupciones ((.E). El G7 9 emplea este re&istro para averi&uar si una interrupcin de un determinado nivel est" permitida en cualquier momento. ,ara desactivar interrupciones $ardBare concretas! se env<a un patrn de 1its al puerto 71$ ((%?C*?L.):a)! que es la direccin del re&istro de m"scaras de interrupcin ((.E). El re&istro de m"scara del se&undo c$ip G7 9 del )? se sitAa en el puerto )1$ ((%?7C*?L.):a). En este patrn de 1its! se ponen a uno los 1its que corresponden a los nAmeros de interrupcin que se desea enmascarar.

2.G.10nmascarable.
7nterrupcin enmascara#le+ La solicitud de interrupci(n enmascarable se reali3a a trav0s de la entrada 8:4" 8nterrupt "equest!. 8:4" solicita una interrupci(n de FtipoG variable que se determina en el ciclo de reconocimiento.

8:4", es una entrada activa por nivel alto, que se muestrea durante el )ltimo ciclo de reloj de cada instrucci(n -ay instrucciones especiales en que esto no se cumple, ver nota!. $n ese momento se determina si el micro debe continuar ejecutando la pr(.ima instrucci(n o debe ingresar en el ciclo de reconocimiento de interrupci(n. Para que el pedido sea reconocido, 8:4" debe permanecer en alto al menos! durante el )ltimo ciclo de reloj de la ejecuci(n de la instrucci(n en curso. Luego 8:4" puede bajar en cualquier momento despu0s del 'lanco descendente del primer pulso de 8:4A, dentro de la secuencia de reconocimiento. $sta l,nea puede FenmascararseG a trav0s de un bit interno del micro 8J: interrupt enable 'lag bit! que se ubica en el Jlag "egister. %i la mscara se encuentra activada 8JL1! la l,nea es ignorada. %i por el contrario 8JL*, el pedido es aceptado y se dar inicio al ciclo de 8:4A. La mscara permite condicionar la atenci(n de las solicitudes de interrupci(n que ingresan a trav0s de 8:4". $sto es 'undamental para permitir o no el anidamiento de rutinas de atenci(n de interrupciones de esta clase. $s importante ver que, cuando comien3a la ejecuci(n de la rutina de atenci(n de la interrupci(n, 8J debe pasar a 1 al menos -asta que la l,nea 8:4" pase a bajo. %i esto no 'uera as,, solo llegar,a a ejecutarse la primera instrucci(n de esta rutina y el micro comen3ar,a nuevamente con otro ciclo de reconocimiento. Conceptualmente: las interrupciones activas por nivel deben ser enmascarables. :ota: Una e.cepci(n es la instrucci(n &A84 que espera un nivel bajo en la entrada 4$%4 para continuar con el programa. $sta instrucci(n muestrea continuamente la entrada de interrupciones FduranteG su ejecuci(n, permitiendo la atenci(n de interrupciones en el interior de la FesperaG. Cuando 'inali3a la rutina de atenci(n, el micro retorna a ejecutar la instrucci(n &A84.

$nterrupcin enmascarable signi0ica que+ ba'o control del so0t<are+ el procesador puede aceptar o ignorar %enmascarar& la se1al de interrupci,n. @ara ello se env*a una se1al a la patilla $1T, + ) el procesador la atiende o la ignora en 0unci,n del contenido de un bit %!9& en un registro %9.ADS& que puede estar 5abilitado o des5abilitado % C3.2&. En el primer caso+ cuando se recibe la se1al+ el procesador conclu)e la instrucci,n que estuviese en proceso ) a continuaci,n responde con una combinaci,n de se1ales en algunas de sus patillas componiendo una sucesi,n de dos se1ales ! #A %/!nterrupt AcQno<ledge/ C3.2.1&. .a primera se1al es simplemente un avisoF la segunda es una petici,n para que el @!$ coloque en el bus de datos un E)te con el n(mero de interrupci,n+ de 0orma que el procesador pueda locali7ar el servicio solicitado. El valor recibido %4:255& es multiplicado por " para calcular la direcci,n del vector correspondiente en la tabla de vectores de interrupci,n+ lo que se reali7a mediante un despla7amiento binario de dos posiciones a la i7quierda % ".>.3&. A continuaci,n+ el procesador salva en la pila los valores del registro de estado % C3.2&+ del contador de programa %PC& ) del segmento de c,digo

%CS&F des5abilita el bit $! del registro de estado+ para que la interrupci,n no pueda ser molestada con una nueva interrupci,n enmascarable 5asta que sea espec*0icamente permitido+ ) 0inalmente e'ecuta el servicio. .a pen(ltima secuencia de la rutina de servicio es enviar una se1al de que la interrupci,n 5a terminado %EO!& para que el @!$ pueda seguir enviando interrupciones. A continuaci,n debe restaurar los registros a su estado inicial %e2istente antes de que se produ'era la interrupci,n&. .a se1al de terminaci,n del servicio de la interrupci,n 0&$ %/End o0 interrupt/& es la siguiente secuencia? M<L ;I, PIC0 M<L .L, <I <D1 ;I, .L .a primera instrucci,n mueve el contenido @!$4 al registro DU %@!$4 es el nem,nico de la direcci,n m-s ba'a de puerto A4 Z 4&. .a segunda mueve el valor EO! %nem,nico del valor 245& al registro A.. .a tercera es una sentencia de escritura a puertoF escribe el contenido del registro A. %el valor EO! puesto en la sentencia anterior& en el puerto se1alado por el contenido del registro DU %establecido en la primera instrucci,n&.

@ara 0acilitar el mane'o de interrupciones+ el I4II ) sucesores disponen de algunas instrucciones espec*0icas?

$,0T Retorno de interrupci,n %/!nterrupt Return/&. Recupera de la pila el contador de programa PCF el segmento de c,digo CS %lo que supone devolver el programa al punto de e'ecuci,n original&+ ) el registro de estado !(ACS %lo que supone devolver las interrupciones enmascarables al estado inicial&. C($ .impiar la interrupci,n %/$lear !nterrupt/&F pone a cero el registro $!+ des5abilitando las interrupciones enmascarables. ST$ Es la instrucci,n opuesta %/Set !nterrupt/& pone a 1 el registro $! 5abilitando las interrupciones enmascarables.

.a idea importante a resaltar aqu*+ es que el P$C asocia un n(mero entre 4 ) 255 a cada petici,n. Este n(mero+ que se conoce como n(mero de interrupci,n+ no debe ser con0undido con el n(mero de l*nea !RXTs que reali7, la solicitud. El n(mero de interrupci,n sirve para identi0icar el servicio mediante la tabla $"T . Ana ve7 e'ecutado el servicio+ deben de'arse las cosas como estaban para que el programa original pueda continuar su e'ecuci,n.

-ttp:55===.3ator.com5Hard=are5H+?>.-tm

2.G.21o2enmascarable.
7nterrupcin no enmascara#le La solicitud de interrupci(n no enmascarable se reali3a a trav0s de la entrada :#8 :on masMable 8nterrupt!. :#8 solicita una interrupci(n de FtipoG 'ijo igual a +, por lo tanto no es necesario que se realice un ciclo de 8:4A. :#8 es una entrada asincr(nica activa por 'lanco ascendente. $l 'lanco ascendente en la entrada de :#8, se lac-ea en el interior del micro -asta que la instrucci(n en curso 'inali3a. :o es enmascarable por lo que su atenci(n es inevitable. $sto -ace que, independiente de la estructura que se monte para las interrupciones enmascarables, puede pensarse que, :#8 es siempre la interrupci(n ms prioritaria ya que puede interrumpir la ejecuci(n de cualquier servicio generado por 8:4". Para que el pedido se -aga e'ectivo, la entrada debe permanecer en alto, al menos dos ciclos de reloj, -asta que el micro la recono3ca. La l,nea puede bajar antes, durante o despu0s del servicio de :#8. Para que el micro vuelva a reconocer otro pedido, la l,nea debe -aber permanecido en bajo al menos dos ciclos de reloj despu0s de -aber bajado. Debe tenerse especial cuidado en que no -aya 'lancos espurios en el circuito de :#8 que puedan generar interrupciones indeseables. :#8, se usa para situaciones graves que requieran atenci(n incondicional del micro. Un uso t,pico de :#8, es la ejecuci(n de la rutina para ca,das de alimentaci(n del sistema o sistemas de =atc- 2 dog. $s importante ver que, como :#8 es no enmascarable, no podr,a ser activa por nivel, ya que ser,a imposible impedir que se repita el comien3o de la atenci(n cuando se ejecuta la primera instrucci(n de la rutina de servicio. Conceptualmente: las interrupciones no enmascarables deben ser activas por 'lanco.

$nterrupcin no enmascarable signi0ica que la interrupci,n no puede ser des5abilitada por so0t<are. Este tipo de interrupciones ocurren cuando se recibe una se1al en la patilla 1M$ %/ onmasQable !nterrupt/ ^5 & del procesador. Se reservan para casos en que es cr*tica la respuesta+ por e'emplo que se detecte un error de paridad en la memoria. Adem-s son de prioridad m-s alta que las enmascarables. 1ota? .a (nica 0orma de enmascarar estas interrupciones es a trav8s de circuitos e2ternos al procesador+ por e'emplo a nivel del @!$. $uando el procesador recibe una de estas instrucciones no se genera ning(n ciclo de reconocimiento de la instrucci,n %! #A&+ ) el procesador le asigna un 2 como n(mero de e2cepci,n.
-ttp:55===.3ator.com5Hard=are5H+?>.-tm

1iclo de reconocimiento de interrupcin+

$ste ciclo, tambi0n llamado ciclo de 8:4A, se utili3a para detectar el FtipoG de interrupci(n que desea ejecutarse como resultado de la solicitud que ingresa por 8:4". $sta secuencia de reconocimiento se genera solo como respuesta a una interrupci(n proveniente de 8:4". $n realidad el ciclo de reconocimiento est 'ormado por dos ciclos de 8:4A, cada uno de ellos es muy similar a un ciclo de lectura. $n el segundo ciclo de 8:4A, se lee un byte del bus de datos que identi'ica el FtipoG de la interrupci(n. Por tanto, 8:4A 8nterrupt AMno=ledge! es la salida de reconocimiento de interrupci(n y se usa como pulso de lectura del FtipoG en el ciclo de 8:4A. $s activa en bajo y pasa a este valor durante 4+, 4B y 4=! de los ciclos de reconocimiento de interrupci(n. %u objetivo es avisar al dispositivo solicitante que su pedido de interrupci(n -a sido aceptado y que debe noti'icar al micro cul es el FtipoG de interrupci(n que pide.

%egundo ciclo de 8:4A detallado:

:ota: Durante el ambos ciclos de 8:4A, el bus AD est 'lotante.

Atencin de 7nterrupcin+
Previo al comien3o de la ejecuci(n de la rutina de servicio de interrupci(n, y como parte de la respuesta a cualquier interrupci(n o pseudo interrupci(n! el micro reali3a una serie de tareas que 'orman parte de la secuencia de ejecuci(n de una interrupci(n. $n los casos en donde e.ista 8:4"!, la secuencia de ejecuci(n se reali3a luego de la de reconocimiento.

Las acciones que 'orman esta secuencia son: a PU%H del registro de banderas, el C% y el 8P en la pila. a "eset de los bits de trampa y de mscara para que , al menos por de'ault, la rutina de ejecuci(n de interrupci(n no sea ejecutada en modo paso a paso, ni sea interrumpida por interrupciones enmascarables ver nota!. a Carga de los nuevos C% e 8P provenientes de la 864!. Luego de estas acciones, se ejecuta la primera instrucci(n de la rutina de atenci(n. :ota: $stos dos bits pueden se re -abilitados en el interior de la rutina de servicio de la interrupci(n, permitiendo la ejecuci(n paso a paso de esa rutina ojo no se puede -acer en la ejecuci(n de la rutina de atenci(n de paso a paso! o permitir que otra interrupci(n enmascarable sea atendida durante la ejecuci(n de una interrupci(n dada anidamiento!. $n resumen: Cada ve3 que el micro 'inali3a la ejecuci(n de una instrucci(n, comprueba en este orden!: a %i est activa la trampa 4JL*! a %i -ubo pedido :#8 a %i -ay over'lo= en el segmento del coprocesador a %i -ay 8:4" a %i la pr(.ima es una instrucci(n 8:4 %i se da alguna de estas condiciones, entonces se produce la siguiente secuencia: a %i -ay un 8:4", se reali3a la secuencia de reconocimiento de interrupci(n. a %e salva el contenido del registro de banderas en pila a %e desactivan la mscara de interrupci(n 8J y el 4J a %e salva el contenido del C% en la pila a %e salva el contenido del 8P en la pila a %e recupera el contenido del vector de interrupci(n y se carga el C% y el 8P en con su contenido de manera que el micro contin)e ejecutando donde ellos indiquen. 4anto en la 8:4" como en la :#8, los tiempos de demora entre la activaci(n del pedido y la ejecuci(n de la primera instrucci(n de la rutina de servicio, dependen de la instrucci(n que se est0 ejecutando en el momento de esa activaci(n. Los tiempos que si pueden determinarse en 'orma e.acta son los de demora entre el 'inal de la instrucci(n en curso y el comien3o de la primera instrucci(n de la rutina de servicio. Por ejemplo, en el caso de una 8:4", el retardo desde el 'inal de la instrucci(n durante la cual ocurri( la interrupci(n, -asta el comien3o de la ejecuci(n de la primera instrucci(n de la rutina de atenci(n, es de A* ciclos de reloj. $n las interrupciones generadas por so't no -ay ciclos de 8:4A. $sto reduce el

2.1<

Acceso "irecto a memoria.

(cceso )i ecto a *emo ia +)*(,


El acceso directo a memoria se invent con el propsito de li1erar al *,4 de la car&a de atender a al&unos controladores de dispositivos. ,ara comprender su funcionamiento

vale la pena revisar cmo tra1a;a un controlador sin '.). *uando un proceso requiere al&unos 1loques de un dispositivo! se envia una seal al controlador con la direccin del 1loque deseado. El controlador lo reci1e a travs del =1us= + el proceso puede estar esperando la respuesta (tra1a;o s<ncrono) o puede estar $aciendo otra cosa (tra1a;o as<ncrono). El controlador reci1e la seal + lee la direccin del 1us. Env<a a su vez una o varias seales al dispositivo mec"nico (si es que lo $a+) + espera los datos. *uando los reci1e los escri1e en un 1uffer local + env<a una seal al *,4 indic"ndole que los datos est"n listos. El *,4 reci1e esta interrupcin + comienza a leer 1+te por 1+te o pala1ra por pala1ra los datos del 1uffer del controlador (a travs del device driver) $asta terminar la operacin. *omo se ve! el *,4 &asta varios ciclos en leer los datos deseados. El '.) soluciona ese pro1lema de la manera si&uiente. *uando un proceso requiere uno o varios 1loques de datos! el *,4 env<a al controlador la peticin ;unto con el nAmero de 1+tes deseados + la direccin de en dnde quiere que se almacenen de re&reso. El '.) actuar" como un =cpu secundario= S:tal97T en cuanto a que tiene el poder de tomar el control del =1us= e indicarle al verdadero *,4 que espere. *uando el controlador tiene listos los datos! el '.) =escuc$a= si el =1us= est" li1re aprovec$ando esos ciclos para ir le+endo los datos del 1uffer del controlador e ir escri1indolos en el "rea de memoria que el *,4 le indic. *uando todos los datos fueron escritos! se le env<a una interrupcin al *,4 para que use los datos. El a$orro con el '.) es que el *,4 +a no es interrumpido (aunque s< puede ser retardado por el '.)) salvando as< el =cam1io de conte>to= + adem"s el '.) aprovec$ar" aquellos ciclos en que el =1us= no fue usado por el *,4. El $ec$o de que los controladores necesiten 1uffers internos se de1e a que conforme ellos reci1an datos de los dispositivos que controlan! los de1en poder almacenar temporalmente! +a que el *,4 no est" listo en todo momento para leerlos. 5ttp?//<<<.tau.org.ar/base/lara.pue.udlap.m2/sistoper/capituloJ.5tml Acceso -irecto a !emoria 8-!A9 .uc$os controladores! especialmente los correspondientes a dispositivos de 1loque! permiten el -!A. :i se lee el disco sin D;A

El controlador lee en serie el 1loque (uno o m"s sectores) de la unidad2 o La lectura es 1it por 1it. o Los 1its del 1loque se &ra1an en el 1uffer interno del controlador. :e calcula la suma de verificacin para corro1orar que no e>isten errores de lectura. El controlador provoca una interrupcin. El :. 6. lee el 1loque del disco por medio del 1uffer del controlador2 o La lectura es por 1+te o pala1ra a la vez. o En cada iteracin de este ciclo se lee un 1+te o una pala1ra del re&istro del controlador + se almacena en memoria. :e desperdicia tiempo de la cpu.

D;A se ide para li%erar a la cp) de este tra%a-o de %a-o ni+el, La cpu le proporciona al controlador2

La direccin del 1loque en el disco. La direccin en memoria adonde de1e ir el 1loque. El nAmero de 1+tes por transferir.

Lue&o de que el controlador le+ todo el 1loque del dispositivo a su 1uffer + de que corro1or la suma de verificacin2 *opia el primer 1+te o pala1ra a la memoria principal. Lo $ace en la direccin especificada por medio de la direccin de memoria de '.). (ncrementa la direccin D;A + decrementa el contador D;A en el nAmero de 1+tes que aca1a de transferir. :e repite este proceso $asta que el contador se anula + por lo tanto el controlador provoca una interrupcin. )l iniciar su e;ecucin el :. 6. lue&o de la interrupcin provocada! no de1e copiar el 1loque en la memoria! porque +a se encuentra a$< (ver Qi&ura .1 S78! ?anen1aumT).

El controlador necesita )n %)ffer interno porque una vez iniciada una transferencia del disco2

Los 1its si&uen lle&ando del disco constantemente. %o interesa si el controlador est" listo o no para reci1irlos. :i el controlador intentara escri1ir los datos en la memoria directamente2 o ?endr<a que recurrir al 1us del sistema para c 5 u de las pala1ras (o 1+tes) transferidas. o El 1us podr<a estar ocupado por otro dispositivo + el controlador de1er<a esperar. o :i la si&uiente pala1ra lle&ara antes de que la anterior $u1iera sido almacenada! el controlador la tendr<a que almacenar en al&una parte.

:i el 1loque se &uarda en un %)ffer interno El 1us no se necesita sino $asta que el '.) comienza.

La transferencia '.) a la memoria +a no es un aspecto cr<tico del tiempo.

Los controladores simples no p)eden atender la e . s sim)lt/nea .ientras transfieren a la memoria! el sector que pasa de1a;o de la ca1eza del disco se pierdeN es decir que el 1loque si&uiente al recin le<do se pierde. La lectura de una pista completa se $ar" en dos rotaciones completas! una para los 1loques pares + otra para los impares. :i el tiempo necesario para una transferencia de un 1loque del controlador a la memoria por medio del 1us es ma+or que el tiempo necesario para leer un 1loque del disco2 o :er<a necesario leer un 1loque + lue&o saltar dos o m"s 1loques. o El salto de %lo5)es :e e;ecuta para darle tiempo al controlador para la transferencia de los datos a la memoria. :e llama separacin. )l formatear el disco! los 1loques se numeran tomando en cuenta el factor de separacin (ver Qi&ura .7 S78! ?anen1aumT). Esto permite al :. 6.2 Leer los 1loques con numeracin consecutiva. *onservar la m">ima velocidad posi1le del $ardBare.

5ttp?//e2a.unne.edu.ar/depar/areas/in0ormatica/SistemasOperativos/SO5.5tm

2.1<.1 2.1<.2 2.1<.3

Sistema de #ideo. Sistema de discos. &tras aplicaciones.

Unidad $. Seleccin de componentes para ensamble de equipos de cmputo.


3.1 C3ip Set.

El /c5ipset/ es el con'unto %set& de c5ips que se encargan de controlar determinadas 0unciones del ordenador+ como la 0orma en que interacciona el microprocesador con la memoria o la cac58+ o el control de los puertos ) slots !SA+ @$!+ AD@+ ASE... Antiguamente estas 0unciones eran relativamente sencillas de reali7ar ) el c5ipset apenas in0lu*a en el rendimiento del ordenador+ por lo que el c5ipset era el (ltimo elemento al que se conced*a importancia a la 5ora de comprar una placa base+ si es que alguien se molestaba siquiera en in0ormarse sobre la naturale7a del mismo. @ero los nuevos ) mu) comple'os micros+ 'unto con un mu) amplio abanico de tecnolog*as en materia de memorias+ cac58 ) peri08ricos que aparecen ) desaparecen casi de mes en mes+ 5an 5ec5o que la importancia del c5ipset cre7ca enormemente. De la calidad ) caracter*sticas del c5ipset depender-n? Obtener o no el m-2imo rendimiento del microprocesador. .as posibilidades de actuali7aci,n del ordenador. El uso de ciertas tecnolog*as m-s avan7adas de memorias ) peri08ricos.

Debe destacarse el 5ec5o de que el uso de un buen c3ipset no implica que la placa base en con-unto sea de calidad. $omo e'emplo+ muc5as placas con c5ipsets que dar*an soporte a enormes cantidades de memoria+ 512 ;E o m-s+ no inclu)en 7,calos de memoria para m-s de 12I , 25J. O bien el caso de los puertos ASE+ cu)o soporte est- previsto en la casi totalidad de los c5ipsets de los (ltimos dos a1os pero que 5asta 0ec5a reciente no 5an tenido los conectores necesarios en las placas base. #rataremos s,lo los c5ipsets para @entium ) superior+ )a que el c5ipset de un "IJ o in0erior no es de ma)or importancia %dentro de un l*mite ra7onable& por estar en general todos en un nivel similar de prestaciones ) rendimiento+ adem-s de totalmente descatalogados. #ampoco trataremos todas las marcas+ sino s,lo las m-s conocidas o de m-s inter8sF de cualquier 0orma+ muc5as veces se encuentran c5ipsets aparentemente desconocidos que no son sino c5ipsets 6!A+ A.! o S!S ba'o otra marca.

C"ipsets pa a -entium y -entium **.


"e $ntel :T itones;
9ueron la primera %) mu) e2itosa& incursi,n de !ntel en el mundo de los c5ipsets+ mundo en el cual 5a pasado de no 0abricar pr-cticamente ninguno a tener un monopolio casi total+ que es la 0orma en que a !ntel le gusta 5acer los negocios. Esto no resulta e2tra1o+ )a que nadie me'or que !ntel conoce c,mo sacar partido a sus microprocesadoresF adem-s+ el resto de 0abricantes dependen de la in0ormaci,n t8cnica que les suministra !ntel+ que lo 5ace cuando ) como quiere. 3< !L? el 1ritn cl-sico+ de apabullante 82ito. An c5ipset bastante apropiado para los @entium /normales/ %no ;;U& con memorias tipo EDO. Co) en d*a des0asado ) descatalogado. 3< .L? el 1ritn II+ la opci,n pro0esional del anterior. ;uc5o m-s r-pido ) con soporte para placas duales %con 2 micros&. Algo anticuado pero mu) bueno. 3< =L? Wel #rit,n !!!Y ;-s bien el 2.5F algo m-s lento que el CU+ pero con soporte para memoria SDRA;. Se puede decir que es la revisi,n del 9U+ o bien que se sac, para que la gente no se asustara del precio del CU... 3< TL? el (ltimo c5ipset de !ntel para placas @entium %placas soc/et 2&. Si queremos usar micros !ntel ) aplicaciones que se contenten con placas con 1 @entium+ la opci,n a elegir. Soporte ;;U+ SDRA;+ AltraD;A... An problema? si se le pone m-s de J" ;E de RA;+ la cac58 de'a de actuarF aunque m-s de J" ;E es muc.a RA;.

C3ipsets de $ntel para Pentium 5 Pentium MML

Concepto

3< !L

3< .L

3< =L

3< TL 1

(mero $@As m-2.

RA; m-2ima

12I ;E

512 ;E

12I ;E

25J ;E

#ipos de RA;

9@;+ EDO

9@;+ EDO+ SDRA;

RA; cac5eable m-2ima

J" ;E

512 ;E %seg(n placa+ no todas&

J" ;E

$ac58 .2 m-2ima

512 GE

6elocidad bus m-2.

JJ ;C7

@uertos adicionales

ASE

AltraD;A ) ASE

$omentarios

Des0asado

o adecuados para micros no !ntel de nueva generaci,n %no soportan AD@ ni bus 144 ;C7&

.o m-s destacable de estos c5ipsets+ su buen rendimiento+ especialmente con micros !ntel. .o peor+ su escaso soporte para micros no !ntel+ que en el campo socQet K tienen desarrollos superiores a los de !ntel+ como los A;D GJ %normal ) GJ:2& o los $)ri2:!E; J2IJ;U %;2&+ en general m-s avan7ados que los @entium ) @entium ;;U.

"e =$A :(pollos;


Anos c5ipsets bastante buenos+ se caracteri7an por tener soporte para casi todo lo imaginable %memorias SDRA; o EEDO+ AltraD;A+ ASE...&F su pelea est- en la gama del CU o #U+ aunque suelen ser algo m-s lentos que 8stos al equiparlos con micros !ntel+ no as* con micros de A;D o $)ri2:!E;.

C3ipsets de =$A para Pentium 5 Pentium MML

Concepto

=P2

=PL

=P3

M=P3

(mero $@As m-2.

RA; m-2ima

512 ;E

1 DE

#ipos de RA;

9@;+ EDO+ EEDO+ SDRA;

9@;+ EDO+ SDRA;

RA; cac5eable m-2ima

512 ;E %seg(n placa+ no todas&

512 ;E , 1 DE %seg(n placa+ no todas&

$ac58 .2 m-2ima

24"I GE

6elocidad bus m-2.

JJ ;C7

K5 ;C7

JJ ;C7

144 ;C7

@uertos adicionales

AltraD;A ) ASE

AltraD;A+ ASE ) AD@

$omentarios

o adecuados para micros no !ntel de Sin bus a 144 nueva generaci,n %no soportan AD@ ;C7 ni bus 144 ;C7&

;u) moderno+ con todos los avances

.o bueno de las placas con c5ipsets 6!A es que siguen en el mercado socQet K+ por lo que tienen soporte para todas las nuevas tecnolog*as como el AD@ o los buses a 144 ;C7+ adem-s de que su calidad suele ser intermedia:alta. En las placas con c5ipsets !ntel 5a) un abanico mu) amplio entre placas mu) buenas ) otras 0rancamente malas+ adem-s de estar )a des0asadas %ning(n c5ipset !ntel para socQet K soporta AD@+ por e'emplo&. El (ltimo c5ipset de 6!A para socQet K+ el ;@63+ o0rece todas las prestaciones del EU de !ntel %e2cepto soporte para placas duales&+ con0igurando lo que se denomina una placa $uper 2 %con AD@ ) bus a 144 ;C7&+ que con un micro como el nuevo A;D GJ:2 no tiene nada que envidiar a un equipo con @entium !!.

"e A($
;u) buenos c5ipsets+ tienen soluciones tan avan7adas como el c5ipset para placas Super K /Aladdin 6/+ que como el ;@63 de 6!A resulta equiparable a todos los e0ectos al EU de !ntel para placas @entium !! %bus a 144 ;C7+ AD@...&F una 0ant-stica elecci,n para micros como el A;D GJ:2.

C3ipsets de A($ para Pentium 5 Pentium MML

Concepto

M1)21%M1)23 :Aladdin M1)31%M1)L3 :Aladdin $$$; $=2$=M;

M1) 1%M1) 3 :Aladdin =;

(mero $@As m-2.

RA; m-2ima

1 DE

#ipos de RA;

9@;+ EDO+ SDRA;

9@;+ EDO+ SDRA;+ @$144

RA; cac5eable m-2ima

512 ;E %seg(n placa+ no todas&

$ac58 .2 m-2ima

1 ;E

6elocidad bus m-2.

K5 ;C7

I3+3 ;C7

144 ;C7

@uertos adicionales

ASE

AltraD;A ) ASE

AltraD;A+ ASE ) AD@

$omentarios

Apropiados para micros no !ntel pero no de (ltima generaci,n %A;D GJ:2& por carecer de bus a 144 ;C7

;u) moderna+ con todos los avances

"e SiS
$omo los anteriores+ sus capacidades son avan7adas+ aunque su velocidad sea a veces algo m-s reducida que en los de !ntel. Resultan recomendables para su uso 'unto a c5ips compati,les Intel como el GJ de A;D o el J2IJ;U %;2& de $)ri2:!E;+ aunque desgraciadamente no soportan por a5ora el bus a 144 ;C7 del nuevo GJ:2.

C3ipsets de S$S para Pentium 5 Pentium MML

Concepto

))G6%))GF

))F1%))F2

))G1%))G2

(mero $@As m-2.

RA; m-2ima

3I" ;E

KJI ;E

#ipos de RA;

9@;+ EDO+ SDRA;

RA; cac5eable m-2ima

12I ;E

25J ;E

$ac58 .2 m-2ima

512 GE

1 ;E

6elocidad bus m-2.

K5 ;C7

I3 ;C7

@uertos adicionales

AltraD;A+ ASE ) S6DA AltraD;A ) ASE integrada

AltraD;A+ ASE ) AD@

$omentarios

Apropiados para micros no !ntel %especialmente $)ri2& pero no los de (ltima

generaci,n %A;D GJ:2& por carecer de bus a 144 ;C7

C"ipsets pa a -entium II y Cele on


"e $ntel
A decir verdad+ a(n sin competencia seria+ lo que no es de e2tra1ar teniendo el @entium !! s,lo un a1ito... ) siendo de !ntel. Son bastante avan7ados+ e2cepto el anticuado ""4 9U %que no es propiamente un c5ipset para @entium !!+ sino m-s bien para el e2tinto @entium @ro& ) el barato EU+ basado en el .U pero con casi todas las capacidades reducidas.

C3ipsets de $ntel para Pentium $$ 5 Celeron

Concepto

< !L

< (L

< 'L

< 0L

(mero $@As m-2.

RA; m-2ima

512 ;E

1 DE EDO , 512 ;E SDRA;

1 DE

25J ;E

#ipos de RA;

9@;+ EDO

9@;+ EDO+ SDRA;

SDRA; ) @$144 SDRA;

9@;+ EDO+ SDRA;

RA; cac5eable m-2ima

o aplicable %dentro del microprocesador+ tama1o 0i'o&

$ac58 .2 m-2ima

6elocidad bus m-2.

JJ ;C7

144 ;C7

JJ ;C7

@uertos adicionales

AltraD;A ) ASE

AltraD;A+ ASE ) AD@

$omentarios

Des0asado

Apropiado s,lo para $eleron

"e otras marcas


o son demasiados+ pero los que 5a) tienen todas las capacidades que 5acen 0alta en una placa @entium !!. El problema con el que se encuentran no es su 0alta de e0icacia+ )a que aunque los de !ntel est-n algo m-s rodados+ el rendimiento es mu) similarF pero el 5ec5o de que durante un a1o la gente s,lo 5a)a o*do 5ablar de 9U+ .U+ EU ) EU 5ace di0*cil que entren en un mercado donde !ntel tiene un monopolio absoluto.

C3ipsets de otras marcas para Pentium $$ 5 Celeron

Concepto

=$A Apollo Pro

A($ Aladdin Pro $$ M1421%M1)L3

S$S )4<1

(mero $@As m-2.

1 , m-s dependiendo de la placa

RA; m-2ima

1 DE

1 DE SDRA; , 2 DE 9@; o EDO Y

#ipos de RA;

9@;+ EDO+ SDRA;+ @$144 SDRA;

RA; cac5eable m-2ima

o aplicable %dentro del microprocesador+ tama1o 0i'o&

$ac58 .2 m-2ima

6elocidad bus m-2.

144 ;C7

@uertos adicionales

AltraD;A+ ASE ) AD@

$omentarios

;u) avan7ados+ equivalentes al !ntel EU

En pro)ecto

/losa io de t0 minos elacionados


Resulta mu) bonito saber que el c5ipset soporta esto o aquello+ pero si saber 3u4 es esto o aquello no vamos a ning(n lado. .os t8rminos m-s importantes a conocer son? ACP? un tipo de puerto o slot especiali7ado para gr-0icos 3D. 'us :del sistema;? el canal por el que se comunica el micro con la memoria ) 5abitualmente con la cac58 .2. $uanto m-s anc5o sea+ me'or+ especialmente para micros mu) r-pidos. Cac3N (2? la cac58 secundaria o de nivel 2 %le0el 5&. Es la memoria cac58 e2terna+ que acelera el rendimiento del ordenadorF cuanta m-s memoria RA; tengamos+ m-s cac58 necesitaremos %por e'emplo+ unos 512 GE para 32 ;E de RA;&. PC1<<? el tipo normali7ado de memoria SDRA; de 144 ;C7. ,AM cac3eable? la cantidad de RA; m-2ima que es capa7 de mane'ar la cac58. Si superamos esta ci0ra es como si no tuvi8ramos memoria cac58. Ultra"MA? una tecnolog*a para los discos duros !DE modernos que la soportan que eleva la trans0erencia terica de datos 5asta 33+3 ;E/s. US'? un tipo de puerto moderno para conectar dispositivos e2ternos de velocidad media:ba'a+ con la venta'a de ser uni0ersal %el mismo para todos& ) poderse conectar en cadena unos a otros.

1a elecci2n del c"ipset


$5ipset ) placa base 0orman un con'unto indisoluble ) de la m-2ima importancia+ por lo que su compra debe estar acompa1ada de una cierta re0le2i,n. .o primero es recordar que un buen c3ipset slo no 3ace una buena placaF si encontramos dos placas con el mismo c5ipset pero una cuesta el doble que la otra+ por algo ser- %aunque a veces ese algo es simplemente la marca de la placa+ por e'emplo las placas !ntel+ que en general no son tan avan7adas como las Asus+ !<ill o Digab)te pero que cuestan lo mismo o m-s que 8stas...& As* mismo+ una placa debe ser comprada pensando en el 8uturo. @or e'emplo+ si vamos a comprar una para @entium !!+ merece la pena comprar una con un c5ipset capa7 de traba'ar a 144 ;C7 de bus %una !ntel EU+ Apollo @ro o Aladdin @ro !!&+ con lo que podremos ampliarla en el 0uturo a micros a 354 ;C7 o m-s+ cosa que no podremos 5acer si compramos una .U+ por e'emplo. 1o se obsesione con el Intel Inside. o es que le tenga una man*a especial a !ntel+ ) si la tuviera+ me la aguantar*aF se trata de que muc5a gente pre0iere de'arse llevar por el atractivo de una marca sin in0ormarse de las caracter*sticas de lo que compra. @or e'emplo+ si bien el c5ipset EU de !ntel para @entium !! es a(n el me'or de su categor*a+ en el campo socQet K los me'ores desarrollos no son de !ntel+ que lo 5a abandonado a 0avor del campo @entium !!. @or ello+ comprarse una placa #U a5ora ser*a un error+ no porque sea !ntel sino porque ese c5ipset est- anticuado %aunque 5ace unos meses era probablemente el me'or de su categor*a&F ) lo mismo pasa con el EU+ que es muc5o peor que los Apollo @ro o Aladdin @ro !!. _ por (ltimo+ estudie bien la compra. @uede ser que el c5ipset admita muc5a memoria+ pero que la placa tenga pocos 7,calos para instalarlaF o que estemos comprando una placa base o un ordenador de segunda mano+ ) realmente nos importe m-s que la memoria sea su0iciente ) 0-cilmente ampliable %EDO me'or que 9@;+ con 7,calos vac*os...& que el 5ec5o de que tenga un c5ipset sin AD@ o sin AD@ ni AltraD;A+ cuando puede que no va)amos a usar uno ni otro. 5ttp?//<<<.cono7casu5ard<are.com/quees/c5ipset.5tm

3.1.1 3.1.2

CPU. Controlador del 'us.

Controlador del bus Es una especie de controlador de tr-0ico. En el @$ U# es el c5ip I2II ) en el A# es el I22II. El procesador necesita del concurso de este c5ip para generar el 'uego completo de se1ales del bus de control.

Control del +us as6ncrono. 4na de las caracter<sticas principales del h, .*JGHHH es que la transferencias entre el h, + los dipspositivos e>ternos ( inclu<da la memoria ) se realizan de forma as<ncrona. Es decir! la velocidad de transferencia no viene dada por la frecuencia del relo; del sistema. 'e ec$o! en un sistema 1asado en el .*JGHHH cada dispositivo puede funcionar con una frecuencia de relo; distinta. 'e esta manera los datos se transfieren a la m">ima velocidad admisi1le por los distintos dispositivos . ,or e;emplo! si en un sistema determinado la memoria E6. tiene un tiempo de acceso de HH ns.! + el de la memoria E). es de 7 H ns.! el .*JGHHH podr" transferir los datos a la memoria E). al do1le de la velocidad con que los transfiere a la memoria E6.. El control del 1us

as<ncrono requiere unas seales que realizan el protocolo entre el microprocesador + los dispositivos e>ternos2 )ddress :tro1e ( ): ). Esta seal indica que $a+ una direccin v"lida en el 1us de direcciones. Eead5Oritee ( E5O ). Esta seal define la direccin de la transferencia por el 1us de datos . ) nivel alto indica que el h, desea realizar una lectura desde el dispositivo e>terno! + viceversa. %ormalmente est" a nivel alto. 4pper 'ata :tro1e ( 4': ) + LoBer 'ata :tro1e ( L': ). Estas seales indican qu parte del 1us de datos va a ser usada durante la transferencia del dato. :i la seal 4': est" activa! ello si&nifica que el h, desea leer o escri1ir ( se&An el estado de E5O ) un dato de G 1its por la parte alta del 1us de datos ( 'G3'1 ). :i la seal L': est" cativa! est" indicando que el h, desea transferir 5ttp?//<<<.ii.uam.es/`0'gome7/JI444/tutorial/cap5.5tmlMcap5:1:1

3.1.3

Puertos de 0%S.

La comunicacin entre un pro&rama + el $ardBare! es decir los c$ips de soporte + las tar;etas de ampliacin! se efectuar" mediante los llamados puertos. *omo puerto uno tiene que ima&inarse una entrada o salida de datos de G o 1J 1its de anc$o! que se identificar" por su direccin entre H + J 8 . 9ste autoriza el acceso a los diferentes re&istros de la correspondiente unidad de $ardBare + por re&la &eneral un &rupo de puertos queda cu1ierto por un dispositivo. ,ara la comunicacin con los puertos! la *,4 utiliza el 1us de datos + el 1us de direcciones + se comporta de forma mu+ similar que en el acceso a la memoria. 3 En primer lu&ar sta manda una seal mediante una cone>in especial de 1us! para que todas las unidades que estn reci1iendo el 1us sepan que a$ora no se va a diri&ir a un punto de memoria sino a un puerto. 3 :e&uidamente coloca la direccin del puerto en los 1J 1its inferiores del 1us de direcciones + espera que uno de los iescuc$asj del 1us declare su competencia. 3 4na vez esto $a sucedido! la *,4 manda los datos que de1en transmitirse por medio del 1us de datos. En direccin contraria ! el puerto actuar" de la misma forma al leer los datos! el Anico requisito es que el contenido del puerto lo mande la tar;eta de ampliacin a la *,4. ,ero slo mandar" los datos en caso de que le sea requerido + no cuando la tar;eta crea que tiene al&o importante para mandar. 4na Altima cosa por comentar es que $o+ en d<a las direcciones de puerto de los elementos m"s importantes del ,* est"n estandarizadas! es decir en todos los ordenadores dic$as direcciones son idnticas. Puertos 0ntrada%Salida 1ota7 @ara tener una visi,n de con'unto+ antes de adentrarse en este apartado+ dedicado a los puertos de E/S+ es recomendable leer el

ep*gra0e en que se tratan las Entradas/Salidas de 0orma gen8rica % C2.1& K1 Sinopsis $ualquier dispositivo %distinto de la memoria RA;& que intercambie datos con el sistema lo 5ace a trav8s de un /puerto/+ por esto se denominan tambi8n puertos de 0%S %/!/O ports/&. Desde el punto de vista del so0t<are+ un puerto es una inter0a7 con ciertas caracter*sticasF se trata por tanto de una abstracci,n %no nos re0erimos al enc5u0e con el que se conecta 0*sicamente un dispositivo al sistema&+ aunque desde el punto de vista del 5ard<are+ esta abstracci,n se corresponde con un dispositivo 0*sico capa7 de intercambiar in0ormaci,n %E/S& con el bus. $omo los dispositivos E/S tienen alg(n tipo de cone2i,n con el bus e2terno % C2&+ deben tener una direcci,n %o con'unto de ellas& que los identi0iqueF los 5emos comparado con un tel80ono+ un dispositivo con el que se puede enviar/recibir in0ormaci,n mediante una direcci,n. Cablar de un puerto E/S es casi siempre sin,nimo de una direcci,n+ ) es costumbre in0orm-tica re0erirse a estas direcciones en 5e2adecimal % 2.2."b&+ de modo que+ por e'emplo+ un puerto puede ser 4221 en un 0uente o 215 en un te2to in0orm-tico. 1ota? Al tratar de las E/S % C2.1& 5emos indicado que puerto es sin,nimo de peri08rico+ un dispositivo e2terno que comunica con el sistema a trav8s de una direcci,n. Sin embargo no todos son dispositivos e2ternos a la placa:base+ de 5ec5o algunos dispositivos 5ard<are incluidos en ella tienen la caracter*stica de /@uertos/. @or e'emplo+ durante muc5o tiempo algunos @$Ts dispon*an de un bot,n 0rontal se1alado /#urbo/+ con el que se pod*a cambiar la velocidad de 0uncionamiento. Este cambio de la velocidad del relo' tambi8n puede reali7arse por so0t<are. Easta para ello cambiar un par de bits en un /@uerto/ instalado en la propia placa:base %generalmente en el rango J2: J95&. K2 "irecciones de puertos El modelo de direccionamiento del @$ 5a adoptado dos modelos+ seg(n la naturale7a del dispositivo a conectar? "ireccionamiento dedicado para dispositivos de media/ba'a velocidad. @or e'emplo+ puertos serie ) paralelo %impresora&+ teclado+ Etc. ) direccionamiento mapeado en memoria para dispositivos r-pidos %t*picamente los adaptadores gr-0icos&. En el apartado dedicado a E/S se e2plican las di0erencias entre ambas modalidades % C2.1& K2.1 Respecto a los dispositivos de direccionamiento dedicado+ desde la introducci,n del !E;:@$+ es costumbre que determinados dispositivos mu) comunes se conecten mediante puertos de direcciones determinadas.

A+unas direcciones %5e2& de puertos en el PC LT%AT En la tabla ad'unta se muestran algunas de estas direcciones t*picas para dispositivos de E/S \3]. .as re0erencias a los c5ips se re0ieren a los utili7ados en los primeros @$sF actualmente 5an sido sustituidos por uno o dos integrados %$5ipset& que reali7an todas las 0unciones. "ispositi#o $ontrolador "MACM1 primario I23KA $ontrolador de interrupciones P$CM1 I25>A #empori7ador programable P$T I253 ) I25" $ontrolador peri08ricos PP$ I255 %U#& $ontrolador IK"2 %A#& Altavo7 del sistema $;OS RA; a ;! ;asQ Reg %A#& Registros de p-gina D;A $ontrolador de interrupciones P$CM2 %A#& "ireccin <<<2<<!

<2<2<21

< <2< 3

<4<2<43

<4<2<4 <412<41 <6<2<61

<F12<F!

<A<2<A1

;! ;asQ register %U#& <A22<A! $ontrolador "MACM2 secundario %A#& $lear / Reset del coprocesador matem-tico $oprocesador matem-tico I42IK $ontrolador de disco duro %A#& @uerto de 'uegos Anidad de e2pansi,n %U#& Rat,n %conectado al <C<2<"!

<!<2<!1

<!F2<!!

1!<21!!

2<<22<! 21<221!

23F223'

@uede observarse que para un mismo peri08rico se tienen varias direcciones %un /rango/&. .a ra7,n es que estos dispositivos tienen varios registros )/o son programables+ para lo que disponen de registros especiales %cada registro de un E)te tiene una direcci,n+ ) estas son correlativas&. @or e'emplo+ el controlador de puerto serie de los primeros @$s era un circuito integrado I254 de ational SemiconductorF que dispone de I registros+ aunque los datos se reciben ) transmiten por uno de ellos+ el resto sirve para programar ) controlar el 0uncionamiento del c5ip. 1ota? .os usuarios de Hindo<s >I pueden comprobar la asignaci,n de puertos del sistema mediante el programa $?bArc5ivos de programabArc5ivos comunesb;icroso0t S5aredb;S! 9Ob;S! 9O32.EUE. En .inu2 pueden consultarse en el 0ic5ero /proc/ioports % E'emplo&. K2.1a Respecto a las asignaciones /Estandar/ de algunos puertos+ es pertinente 5acer algunas observaciones? En realidad !E; de0ini, de 0orma distinta las direcciones de puerto de las inter0aces de impresora en los @$ monocromo ) en los de color. .as asignaciones 0ueron las siguientes? ,uerto .onocromo *olor L,?1 8/*38/Q$ 8VG38VQ$ L,?7 8VG38VQ$ 7VG37VQ$ L,?8 7VG37VQ$ 333

En lo re0erente a los puertos serie+ durante la secuencia inicial de identi0icaci,n del 5ard<are % ".2&+ la E!OS reali7a una b(squeda de dispositivos de E/S por direcciones en un orden determinado+ ) les asigna un nombre l,gico seg(n el orden de aparici,n. En el caso de los puertos serie el orden suele ser el siguiente? ,uerto *6.1 *6.7 *6.8 *6.4 'ireccin 8QG38QQ$ 7QG37QQ$ 8EG38EQ$ 7EG37EQ$

K2.2 .as direcciones mapeadas en memoria se eligieron para algunos dispositivos como los adaptadores gr-0icos+ que requer*an mover grandes cantidades de datos mu) r-pidamente. $on ob'eto de no causar con0lictos con la RA; general+ algunas de estas direcciones 0ueron mapeadas desde el principio por los dise1adores de !E;+ 0uera de la denominada memoria con#encional % C5.1&. Es decir+ 0uera del espacio de los J"4 GE que pod*an utili7arse en los primeros @$Ts para Sistema

) programas de aplicaci,n. @or e'emplo+ el adaptador de video utili7a un -rea de memoria de 12I GE mapeada entre las direcciones A4444:E99995. Sin embargo+ los decodi0icadores de direcciones de peri08ricos de los primitivos @$Ts solo pod*an utili7ar direcciones de 14 bits para tales accesos+ por lo que las direcciones de puertos estaban constre1idas a 2 14 %1 GE 4444:4"445&. En realidad el espacio era a(n m-s peque1o+ puesto que los primeros 25J E)tes estaban copados por algunos dispositivos de la placa:base+ resultando que los dispositivos E/S deb*an ser mapeados en KJI E)tes. Deneralmente se utili7aron 0ragmentos de 25J E)tes en la 0orma 2294:22995+ organi7ados de 0orma bastante desordenada. .a introducci,n del A# ampli, estas direcciones a 1J \2]. Sin embargo+ incluso los J" GE resultantes eran un espacio peque1o ) de organi7aci,n ca,tica+ dado que los nuevos dispositivos se constru*an de 0orma que 0ueran compatibles con las antiguas placas !SA que solo reconoc*an direcciones de 14 bits. !ncluso las placas para buses posteriores que 0ueron desarrollados pensando en J" GE porque deb*an ser compatibles 5acia atr-s con las antiguas placas !SA %que coe2ist*an en las nuevas&. El resultado de todo esto es que+ incluso los sistemas actuales con muc5os ;E. de RA;+ deben seguir lidiando con los puertos a trav8s de peque1as ventanas de memoria con locali7aciones absurdas. K3 Comunicar con los puertos os detendremos brevemente en anali7ar los aspectos involucrados en las operaciones E/S con los puertos desde una doble vertiente? .,gica ) 0*sicaF esta (ltima relativa a los mecanismos involucrados en el intercambio. K3.1 Aspectos l+icos El so0t<are utili7ado depende de la modalidad de direccionamiento % dedicado o mapeado& que se eli'a. En el segundo caso+ se dispone un amplio repertorio de recursos para mover datos entre los registros ) la memoria %la ma)or*a de las instrucciones del procesador operan de esta 0orma&+ as* como de los mecanismos au2iliares de trans0erencia+ como el acceso directo a memoria D;A. El panorama es distinto cuando se trata de puertos de direccionamiento dedicado. En este caso+ para reali7ar las operaciones E/S en los procesadores I4II ) descendientes+ solo se dispone de dos instrucciones espec*0icas? $1 ) &UT. .a primera lee un b)te del registro de salida del puerto ) lo sit(a en un registro del procesadorF la segunda escribe el contenido de un registro del procesador en un registro del puerto. Ambas instrucciones permiten dos variaciones sint-cticas? I: acumuladorFdestino, direccionFdeFpuertoFori7en I: acumuladorFdestino, acumuladorFori7en <D1 direccinFdeFpuertoFdestino, acumuladorFori7en

<D1 acumuladorFdestino, acumuladorFori7en .as dos primeras sit(an el dato contenido en el puerto origen en el acumuladorFdestino+ que puede ser AL o A(. Observe que el puerto puede ser e2presado directamente mediante una direcci,n %5e2adecimal& o mediante un acumuladorFori7en+ que debe ser "LF en este caso+ su contenido se toma como direcci,n del puerto que se lee. .as instrucciones OA# sit(an el valor contenido en el acumuladorFori7en+ que puede ser AL o A(+ en el puerto destino+ que puede ser identi0icado directamente mediante su direcci,n 5e2adecimal+ o por el valor se1alado por el acumuladorFdestino+ que debe ser "L. En el !E;:@$+ las direccionesFdeFpuerto utili7adas en estas instrucciones estan en el rango 44:995+ aunque en la pr-ctica solo 44:9K5+ porque !ntel reserva las direcciones 9I:995 para el coprocesador metem-tico % 4.3.2&. En cambio+ si se utili7a la direcci,n contenida en el registro "L el rango de direcciones puede moverse en el rango 4444:99995. @or supuesto+ cualquier programa que quiera utili7ar puertos deber- emplear directa o indirectamente estas dos instrucciones ensamblador+ aunque en muc5os casos no es imprescindible enredarse en demasiados detalles. .os usuarios de DOS pueden utili7ar servicios del SistemaF concretamente la interrupci,n 215 que reali7a operaciones de E/S con puertos %utili7ando ! ) OA# por supuesto&. @or e'emplo+ las instrucciones? M<L ;L,9 M<L .@,+ I:1 +) provocan un pitido en el sistema ba'o DOS. .a e2plicaci,n es la siguiente? .a (ltima instrucci,n invoca una interrupci,n so0t<are % C2."& n(mero 33 %215& que+ como 5emos indicado+ corresponde a los servicios del DOS. $uando esto ocurre+ se comprueba el contenido del registro AC % C3.2&+ que en este caso es 2 %valor previamente establecido en la segunda instrucci,n&+ lo que indica que debe escribirse un car-cter en pantalla %un dispositivo de salida&F en este caso+ el car-cter que se env*a al puerto es el contenido del registro D.+ que previamente se 5a establecido en el valor K con la primera instrucci,n. El K es el valor EE.. AS$!! % 2.2.1a&F cuando se intenta mostrar este car-cter+ se produce un pitido en el altavo7 del sistema. .os dem-s Sistemas disponen de utilidades an-logas. @or e'emplo+ los sistemas Hindo<s disponen de una D.. espec*0ica para este tipo de servicios.

K3.2 Aspectos 8sicos El procedimiento que se sigue el procesador para las E/S 5acia puertos+ es siempre el mismo? @oner el dato en el bus de datos ) la direcci,n en el de direcciones. $omo indicamos a continuaci,n+ el sistema sabe que se trata de una direcci,n de memoria %real o de puerto mapeado& o de un puerto de direcci,n dedicada+ ) cual es la acci,n esperada %lectura o escritura& porque se dispone de " l*neas espec*0icas en el bus de control % C2&?

$&, Orden de lectura para dispositivo E/S conectado al bus+ que debe colocar un dato en el bus de datos. $&J Orden de escritura para dispositivo E/S+ que debe leer el dato situado en el bus. M0M, Esta se1al indica a los dispositivos de memoria que deben colocar un dato en el bus de datos. M0MJ Se1al que indica a los dispositivos de memoria que deben almacenar el dato colocado en el bus de datos.

Ana cuesti,n adicional es que cuando la comunicaci,n debe establecerse desde el lado del puerto %es el puerto el que desea establecer comunicaci,n con el sistema&+ primero debe anunciarlo al procesador+ para lo que se utili7a un sistema de interrupciones cu)o mecanismo de 0uncionamiento se 5a detallado en el cap*tulo correspondiente % C2."&. .a consecuencia es que la ma)or*a de los puertos disponen de l*neas !RX asignadas para este menester.
$ttp255BBB.zator.com5HardBare5H7C .$tm

3.1.

Controlador de $nterrupciones.

Controlador de interrupciones .as interrupciones del @$+ a las que nos re0erimos m-s detenidamente en el ep*gra0e correspondiente % C2."&+ son mane'adas por un c5ip conocido como P$C %/@rogrammable !nterrupt $ontroller/&. Originariamente era un I25>A+ que puede mane'ar I peticiones de interrupci,n+ pero pronto se 5i7o evidente que eran un n(mero e2cesivamente corto+ por lo que en 1>I"+ !E; a1adi, un segundo controlador en el modelo A#. Este dise1o+ con dos controladores+ 5a permanecido invariable 5asta nuestros d*as en lo que se re0iere a su 0uncionalidad. Recientemente 5a sido sustituido por el denominado AP$C %/Advanced @rogrammable !nterrupt $ontroller/& en las m-quinas @entium ) sucesoras+ que est- basado en un c5ip I2"I>DU.

3.1.)
Controlador "MA

Controlador de "MA.

"MA es el acr,nimo de /Direct ;emor) Access/F se trata de un mecanismo incluido en la arquitectura del @$+ que permite intercambios de datos entre la memoria ) ciertos dispositivos sin intervenci,n del procesador %por esta ra7,n se denomina precisamente acceso directo a memoria&F est- controlado por un c5ip espec*0ico+ el "MAC %/D;A $ontroller/&. En los U# estaba integrado en un c5ip I23KA que proporcionaba " canales. @osteriormente en los A# se instalaron dos+ ampli-ndose a I el n(mero de canales. En el ep*gra0e dedicado al Acceso directo a memoria % C2.3&+ se e2pone con m-s detalle su 0uncionamiento. Controlador pro+ramable F236 "MA El controlador de D;A I23K suministra a la memoria ) al E/S se1ales de control e in0ormaci,n ) direccionamiento a la memoria durante la trans0erencia de D;A. El I23K es+ en realidad+ un microprocesador de prop,sito especial cu)a labor es la trans0erencia de datos a alta velocidad entre la memoria ) el espacio de E/S. Aunque este controlador qui7- no apare7ca como componente discreto en sistemas modernos basados en microprocesador+ se emplea en los con'untos de controladores integrados %c5ip:set& que 5a) en los sistemas m-s nuevos. El I23K tiene cuatro canales ) es compatible con los microprocesadores I4IJ ) I4II. El I23K puede e2pandirse para incluir cualquier n(mero de entradas de canal de D;A+ aunque parece ser que cuatro canales son adecuados para muc5os sistemas peque1os. El I23K puede e0ectuar trans0erencias de D;A a velocidades de 5asta 1.J ;b)tes por segundo. $ada una puede direccionar a una secci,n completa de J" Gb)tes de la memoria ) puede trans0erir 5asta J" Gb)tes con una sola programaci,n. 5ttp?//<<<.monogra0ias.com/traba'os5/tempori/tempori.s5tmlMcon

3.1.4

Circuitos de tempori*acin 5 control.

0lementos de tempori*acin .os ordenadores son m-quinas s*ncronas+ lo que signi0ica que todas sus partes 0uncionan de 0orma acompasada. Es 0recuente poner el e'emplo de los remeros en las pel*culas de galeras+ donde cada remero no va por su cuenta+ todos siguen el ritmo del gordo del tambor. En el @$ ocurre otro tanto+ aqu* el ritmo no lo marca un tambor+ sino un metr,nomo % relo-& que genera una se1al %seOal de relo-&+ que marca el ritmo de la /m(sica/ que es capa7 de e'ecutar el sistema. Esta se1al est- presente en el bus de control + la l*nea C(B. El cora7,n del relo' es un oscilador controlado por un cristal de cuar7o que act(a de patr,n %es un elemento 0-cilmente identi0icable con aspecto de almo5adilla plateada&. En los @$ originales la 0recuencia del cristal es de 1".31I1I ;C7. Esta se1al est- tambi8n presente en el bus de control+ l*nea &SC+ ) la denominaremos 8recuencia del oscilador. En los primitivos @$s la

se1al del relo' era de ".KK ;C7 es decir+ un tercio de la 0recuencia del oscilador \3]. .a se1al C(B es important*sima+ )a que sin ella ser*a imposible un 0uncionamiento arm,nico de los distintos elementos %inclu)endo el procesador+ una de cu)as patillas conecta directamente con ella&. #odos los sucesos internos tienen lugar al comp-s de este tic:tac electr,nico \J]. 1ota? Cemos se1alado + que a partir de la introducci,n del I4"IJ algunos elementos del ordenador no pueden 0uncionar al ritmo endiablado del relo'+ que resulta demasiado r-pido para el resto de c5ips instalados en la placa+ por lo que en esta se utili7an 0recuencias in0eriores. Esto se consigue utili7ando solo uno de cada tres+ cuatro o cinco pulsos de C(B. En este sentido es particularmente signi0icativa la denominada #elocidad del bus eEterno. Xue es la que se utili7a en dic5o bus. @or e'emplo+ un procesador que est8 traba'ando a 244 ;C7+ puede que est8 utili7ando una 0recuencia de JJ ;C7 en sus comunicaciones con el bus e2terno. E2actamente la misma que un procesador de /solo/ JJ ;C7 de relo' que utilice tambi8n JJ ;C7 para el bus e2terno. .a situaci,n actual es que las velocidades t*picas de las placas:base son de J4: JJ: 144: 133 ;C7 mientras que los procesadores 0uncionan a 0recuencias m(ltiplos de aquellasF t*picamente de 12 5asta 142+ es decir+ desde J4 a 1334 ;C7 %lo que se denomina #elocidad del nPcleo&. C3ip del reloEn el @$ original+ el oscilador antes mencionado est- montado en un c5ip I2I"A %II2I" en el A#&+ que se conoce como +enerador de relo- %no con0undir con el relo' programable &. .a 0ec5a ) 5ora+ que 5ab*a que introducir en la puesta en marc5a del sistema+ se perd*a cada ve7 que se apagaba el equipo. Durante el 0uncionamiento+ el sistema de 0ec5a ) 5ora era mantenido por una interrupci,n de alta prioridad % C2."& que ocurr*a unas 1I veces cada segundo. A partir de la introducci,n del @$ A#+ se instal, en la placa base el denominado c3ip del relo-+ abreviadamente ,TC %/Real #ime $locQ/&. Es un aut8ntico relo' que suministra la 0ec5a ) 5ora al sistema. $omo este relo' deb*a continuar su 0uncionamiento incluso estando el equipo desconectado+ se le dot, de una peque1a pila o bater*a. Aprovec5ando que este circuito dispon*a de su propia 0uente de energ*a+ se utili7, para a1adirle cierta cantidad de memoria CM&S %/$omplementar) ;etal: O2ide Semiconductor/& de ba'o consumo+ la denominada ,&M del sistema+ que se utili7a para guardar in0ormaci,n relativa a la con0iguraci,n del equipo. Estos datos son accesibles pulsando una combinaci,n de teclas en los momentos iniciales de arranque+ lo que inicia un programa de con0iguraci,n grabado en la E!OS conocido generalmente como Set:up.

1ota? .a bater*a de bacQup de la placa base+ es un elemento 0-cilmente identi0icableF tiene 0orma de pila de bot,n reempla7able+ o de elementos soldados recubiertos de una 0unda pl-stica. Este (ltimo es el caso mostrado en la 0ig. 2. .a bater*a es el elemento a7ulF por encima est- el conector del teclado ) sobre 8ste+ 'unto al letrero EA##ER_+ se distinguen tres de los " pines del conector para la bater*a au2iliar \K]. Qi&. 7 Esta bater*a se agota con el tiempo+ especialmente si el equipo permanece muc5o tiempo apagado+ en cu)o caso se pierde la 0ec5a ) %lo que es m-s importante& los datos de con0iguraci,n establecidos con el programa de Set:up. Aunque la ma)or*a de equipos 0uncionan bien con la con0iguraci,n por de0ecto+ en caso de sustituir la bater*a es posible que sea necesario recon0igurar el Set:up. #radicionalmente este circuito CM&S%,TC era un ;otorola ;$1"JI1I. En los modelos iniciales esta memoria era de 12I b)tes. Actualmente es de 25J GE+ ) 'unto con algunos otros elementos est-n incluidos en un c5ipset de solo dos circuitos integrados. A su ve7 el programa de con0iguraci,n es cada ve7 m-s so0isticado+ de 0orma que simpli0ica la con0iguraci,n del sistema. @or e'emplo+ dispone de un sistema de protecci,n %/@ass<ord/& de acceso ) de autodetecci,n del tipo de disco instaladoF algo que en los modelos antiguos deb*a 5acerse manualmente. Tempori*ador pro+ramable =unto con el anterior se encuentra un circuito que recibe varios nombres? P$T %/@rogrammable !nterval #imer/& tempori7ador programable+ relo' programable+ tempori7ador %/timer/&+ Etc. $onstituido por un c5ip I253 %I25" en el A# ) m-quinas con bus E!SA/;$A& que dispone de tres tempori7adores programables independientes numerados del 4 al 2. En realidad son divisores de 0recuencia que obtienen la se1al del generador de relo'. #ienen cuatro modos de 0uncionamiento programables que pueden generar diversas se1ales?

,ulsos de anc$ura varia1le. Denerar una interrupcin al final de la cuenta de una serie de pulsos de relo;! para lo que dispone de tres contadores independientes de 1J 1its. 6ndas cuadradas que sean una fraccin de la frecuencia de entrada (relo;). ,or e;emplo! podemos conse&uir que &eneren una seal por cada 1HHH seales de la frecuencia del relo; R&C! con lo que en un ,* L? o1tendr<amos una frecuencia de 4.VV aHz. .edir el intervalo entre sucesos.

Estas capacidades se utili7an para cuestiones tales como producir se1ales de sincroni7aci,n para re0resco de la RA;+ o tonos audibles de diversas 0recuencias en el altavo7 del @$. .a distribuci,n de tareas es como sigue?

*anal H2 ,roduce una interrupcin cada 4.94 ms en IRJE! que activa la rutina de actualizacin del relo; de tiempo real R&C . *anal 12 ,roduce una interrupcin cada 1 .17 microse&undos que marca el comienzo del ciclo de refresco de las memorias E). din"micas ( .8.7). *anal 72 Este canal se destina a &enerar tonos para el altavoz del sistema.

3ttp7%%///.*ator.com%.ard/are%.2.3tm9Controlador "MA

3.1.6

Controladores de #ideo.

Q?uN es la tar-eta de #ideoR .a tar'eta de video+ %tambi8n llamada controlador de video+ ver 0igura 2&+es un componente electr,nico requerido para generar una se1al de video que semanda a una pantalla de video por medio de un cable. .a tar'eta de video seencuentra normalmente en la placa de sistema de la computadora o en una placa dee2pansi,n. .a tar'eta gr-0ica re(ne toda la in0ormaci,n que debevisuali7arse en pantalla ) act(a como inter0a7 entre el procesador ) elmonitorF la in0ormaci,n es enviada a 8ste por la placa luego de 5aberlarecibido a trav8s del sistema de buses. Ana tar'eta gr-0ica se compone+ b-sicamente+de un controlador de video+ de la memoria de pantalla o RA; video+ ) elgenerador de caracteres+ ) en la actualidad tambi8n poseen un acelerador de gr-0icos.El controlador de video va le)endo a intervalos la in0ormaci,n almacenada en laRA; video ) la trans0iere al monitor en 0orma de se1al de videoF el n(mero deveces por segundo que el contenido de la RA; video es le*do ) transmitido almonitor en 0orma de se1al de video se conoce como 0recuencia de re0resco de lapantalla. Entonces+ como )a di'imos antes+ la 0recuencia depende en gran medidade la calidad de la placa de video. #ipos de tar'eta de video #ar'eta gr-0ica C8rcules $on 8sta tar'eta se pod*a visuali7ar gr-0icos ) te2tos simult-neamente. Enmodo te2to+ soportaba una resoluci,n de I4225 puntos. En tanto que en los gr-0icoslo 5ac*a con K242354 puntos+ dic5a tar'eta serv*a s,lo para gr-0icos de unsolo color. .a tar'eta C8rcules ten*a una capacidad total de J"Q de memoriavideo RA;. @ose*a una 0recuencia de re0resco de la pantalla de 54CS. $olor Drap5ics Adapter %$DA& .a $DA utili7a el mismo c5ip que la C8rcules ) aporta resoluciones ) coloresdistintos. .os tres colores primarios se combinan digitalmente 0ormando un m-2imode oc5o colores distintos. .a resoluci,n var*a considerablemente seg(n elmodo de gr-0icos que se est8 utili7ando+ como se ve en la siguiente lista? N 1J4 U 144 @A #OS $O 1J $O.ORES N 324 U 244 @A #OS $O " $O.ORES N J"4 U 244 @A #OS $O 2 $O.ORES .a tar'eta EDA Enc5anced Drap5ics Adapter %EDA&. Se trata de una tar'eta gr-0ica superiora la $DA. En el modo te2to o0rece una resoluci,n de 1"21I puntos ) en el modogr-0ico dos resoluciones di0erentes de J"42244 ) J"42354 a " bits+ lo que dacomo resultado una paleta de 1J colores+ siempre ) cuando la tar'eta est8equipada con 25JGE de memoria de video RA;.

.a tar'eta 6DA .a 6ideo Drap5ics Adapter %6DA& signi0ic, la aparici,n de un nuevo est-ndardel mercado. Esta tar'eta o0rece una paleta de 25J colores+ dando como resultadoim-genes de colores muc5o m-s vivos. .as primeras 6DA contaban con 25JGE dememoria ) solo pod*an alcan7ar una resoluci,n de 3242244 puntos con lacantidad de colores mencionados anteriormente. @rimero la cantidad de memoriavideo RA; se ampli, a 512GE+ ) m-s tarde a 142"GE+ gracias a 8sta ampliaci,nes posible conseguir una resoluci,n de+ por e'emplo+ 142"2KJI p*2eles con Ibits de color. En el modo te2to la 6DA tiene una resoluci,n de K242"44 pi2eles+adem-s posee un re0resco de pantalla de J4CS+ ) con 1J colores soporta 5astaJ"4U"I4 puntos. .a tar'eta S6DA .a tar'eta S6DA %Super 6ideo Drap5ics Adapter& contiene con'untos de c5ips deuso especial+ ) m-s memoria+ lo que aumenta la cantidad de colores ) laresoluci,n.

3ttp7%%///.ilustrados.com%publicaciones%0p5pSA005pTq3-TBb0.p3p Controladores de peri8Nricos En la placa:base e2isten diversos c5ips destinados espec*0icamente al control de peri08ricos serie ) paralelo. A continuaci,n rese1aremos brevemente algunos de los m-s conocidos. El PP$ %/@rogrammable perip5eral inter0ace/&+ tambi8n conocido como P$& %/@rogrammable !nput/Output/& era originariamente un I255. Se trata de un c5ip de 2" patillas que pueden ser programadas individualmente en dos grupos de 12+ de las cuales I son de datos ) " bits au2iliares inclu)en se1ales de control %S#ROEEF A$G OH.EDDEF EA99ER 9A..+ Etc.& Este c5ip tiene gran variedad de aplicaciones+ entre ellas almacenar in0ormaci,n sobre el estado de con0iguraci,n de la placa:base ) controlar otros c5ips+ como el tempori7ador programable ) la inter0a7 del teclado+ pero su uso caracter*stico es como inter0ase paralelo bidireccional para peri08ricos que utili7an este tipo de comunicaci,n %por e'emplo impresoras+ esc-neres+ Etc.& El altavo7 del sistema est- conectado a dos patillas de este integrado. Desde el punto de vista l,gico este dispositivo responde a las direcciones 4J45:4J35+ que son sus n(meros de puerto ) dispone de tres registros de 1 b)te conocidos como A+ ' ) C+ cu)as direcciones respectivas son 4J45+ 4J15 ) 4J25. .a direcci,n 4J35 se utili7a para con0igurar el dispositivo. 1ota? $omo 5emos se1alado anteriormente+ a partir del A#+ el estado de con0iguraci,n de la placa:base se almacena en un integrado alimentado con bater*a que contiene tambi8n el relo' de tiempo real. En realidad el A# no tiene un I255 como tal+ pero emula su comportamiento. En este caso el controlador es un IK"2 responde a las direcciones 4J45:4J"5+ ) reali7a otras 0unciones no directamente relacionadas con el teclado+ como resetear la A$@+ controlar la puerta A24 ) mane'ar el rat,n \>]. El I254 AC0 %/As)nc5ronous communication equipment/&+ es una inter0a7 entre el bus paralelo del sistema ) los peri08ricos que utili7an comunicaci,n serie+ como m,dems ) ratones. @uede generar las se1ales de control de la popular inter0a7 RS:232 \I]F dispone de un generador de velocidad de transmisi,n que permite generar cualquiera de las m-s 0recuentes. @uede 0uncionar ba'o

control de programa o mediante interrupciones % C2a& ) dispone de una cierta capacidad de comprobaci,n ) correcci,n de los errores t*picos de las comunicaciones serie. El @DKJ5+ que controlaba el disquete en los U#+ m-s conocido como !"C %/9lopp) Disc $ontroller/&. 9ue sustituido por el I24K2A en el A# ) por el I24KKA en el @S/2.

3.2

Aplicaciones. 3.2.1 0ntrada% Salida. 3.2.2 Almacenamiento. 3.2.3 !uente de alimentacin.

Es un trans0ormador recti0icador a 224 6. #rans0ormador porque pasa de 224 6 a 5 ) 12 6+ ) recti0icador porque trans0orma corriente alterna %A$& en continua %D$&. Es una ca'a grande de la que salen cables. #iene un re0rigerador que re0rigera la unidad central. .a 0uente de alimentaci,n es el dispositivo que se encarga de distribuir la energ*a a todos los componentes internos de la computadora. #iene un ventilador propio que la mantiene 0resca a ella misma como a todas dem-s partes de la computadora. Adem-s+ la 0uente puede operar un ventilador au2iliar ubicado en cualquier otra parte de la computadora. .as 0uentes est-n clasi0icadas por su potencia en <atts+ que 5ablando 0-cil se trata de la cantidad de energ*a el8ctrica que pueden entregar a todo el sistema. $uanto mas alta sea la potencia+ me'or+ porque la 0uente se encontrara en me'ores condiciones de en0rentarse con las necesidades de la computadora+ ale'ando la probabilidad de 0allas. .as 0uentes generalmente vienen en capacidades que oscilan entre los >5 a 344 <atts. #odas son apro2imadamente del mismo tama1o+ )a que est-n dise1adas siguiendo un est-ndar para las A#s. 5ttp?//<<<.monogra0ias.com/traba'os/acmot5er/acmot5er.s5tml

3.3

Ambientes de ser#icios. 3.3.1 1e+ocios. 3.3.2 $ndustria. 3.3.3 Comercio electrnico.

DE9! !$!O ES @ondremos a continuaci,n tres de0iniciones que nos parecen apropiadas al t8rmino $omercio Electr,nico?
/Es la aplicaci,n de la avan7ada tecnolog*a de in0ormaci,n para incrementar la e0icacia de las relaciones empresariales entre socios comerciales/. %Automotive Action Droup in ort5 America& /.a disponibilidad de una visi,n empresarial apo)ada por la avan7ada tecnolog*a de in0ormaci,n para me'orar la e0iciencia ) la e0icacia dentro del proceso comercial./ %E$ !nnovation $entre& /Es el uso de las tecnolog*as computacional ) de telecomunicaciones que se reali7a entre empresas o bien entre vendedores ) compradores+ para apo)ar el comercio de bienes ) servicios./

$on'ugando estas de0iniciones podemos decir que el comercio electr,nico es una metodolog*a moderna para 5acer negocios que detecta la necesidad de las empresas+ comerciantes ) consumidores de reducir costos+ as* como me'orar la calidad de los bienes ) servicios+ adem-s de me'orar el tiempo de entrega de los bienes o servicios. @or lo tanto no debe seguirse contemplando el comercio electr,nico como una tecnolog*a+ sino que es el uso de la tecnolog*a para me'orar la 0orma de llevar a cabo las actividades empresariales. A5ora bien+ el comercio electr,nico se puede entender como cualquier 0orma de transacci,n comercial en la cual las partes involucradas interact(an de manera electr,nica en lugar de 5acerlo de la manera tradicional con intercambios 0*sicos o trato 0*sico directo. Actualmente la manera de comerciar se caracteri7a por el me'oramiento constante en los procesos de abastecimiento+ ) como respuesta a ello los negocios a nivel mundial est-n cambiando tanto su organi7aci,n como sus operaciones. El comercio electr,nico es el medio de llevar a cabo dic5os cambios dentro de una escala global+ permitiendo a las compa1*as ser m-s e0icientes ) 0le2ibles en sus operaciones internas+ para as* traba'ar de una manera m-s cercana con sus proveedores ) estar m-s pendiente de las necesidades ) e2pectativas de sus clientes. Adem-s permiten seleccionar a los me'ores proveedores sin importar su locali7aci,n geogr-0ica para que de esa 0orma se pueda vender a un mercado global. 2. &,$C01 D 0=&(UC$&1 .$ST&,$CA El comercio+ actividad ancestral del ser 5umano+ 5a evolucionado de muc5as maneras. @ero su signi0icado ) su 0in en siempre el mismo. Seg(n el diccionario consultor de econom*a+ el $omercio es /el proceso ) los mecanismos utili7ados+ necesarios para colocar las mercanc*as+ que son elaboradas en las unidades de producci,n+ en los centros de consumo en donde se aprovisionan los consumidores+ (ltimo eslab,n de la cadena de comerciali7aci,n. Es comunicaci,n ) trato/. En l*neas generales+ ) con un sentido amplio+ el comercio implica la investigaci,n de mercado con el 0in de interpretar los deseos del consumidor+ la publicidad que anuncia la e2istencia del producto+ la posibilidad de adquirirlo+ )

en que lugar+ a la ve7 que se utili7an los m8todos de persuasi,n+ la venta al por menor ) 0inalmente+ la adquisici,n por parte del p(blico. Seg(n lo e2puesto+ a trav8s de los a1os 5an aparecido di0erentes 0ormas o tipos de comercio. A principio de los a1os 1>24 en .os Estados Anidos apareci, la venta por cat-logo+ impulsado por las grandes tiendas de ma)oreo. Este sistema de venta+ revolucionario para la 8poca+ consiste en un cat-logo con 0otos ilustrativas de los productos a vender. Este permite tener me'or llegada a las personas+ )a que no 5a) necesidad de tener que atraer a los clientes 5asta los locales de venta. Esto posibilit, a las tiendas poder llegar a tener clientes en 7onas rurales+ que para la 8poca que se desarrollo dic5a modalidad e2ist*a una gran masa de personas a0ectadas al campo. Adem-s+ otro punto importante de esto es que los potenciales compradores pueden escoger los productos en la tranquilidad de sus 5ogares+ sin la asistencia o presi,n+ seg(n sea el caso+ de un vendedor. .a venta por cat-logo tom, ma)or impulso con la aparici,n de las tar'etas de cr8ditoF adem-s de determinar un tipo de relaci,n de ma)or anonimato entre el cliente ) el vendedor. A mediados de 1>I4+ con la a)uda de la televisi,n+ surgi, una nueva 0orma de venta por cat-logo+ tambi8n llamada venta directa. De esta manera+ los productos son mostrados con ma)or realismo+ ) con la din-mica de que pueden ser e25ibidos resaltando sus caracter*sticas. .a venta directa es concretada mediante un tel80ono ) usualmente con pagos de tar'etas de cr8dito. A principio de los a1os 1>K4+ aparecieron las primeras relaciones comerciales que utili7aban una computadora para transmitir datos. Este tipo de intercambio de in0ormaci,n+ sin ning(n tipo de est-ndar+ tra'o apare'ado me'oras de los procesos de 0abricaci,n en el -mbito privado+ entre empresas de un mismo sector. Es por eso que se trataron de 0i'ar est-ndares para reali7ar este intercambio+ el cual era distinto con relaci,n a cada industria. An e'emplo conocido de esto es el caso del Supermercado ma)orista Amiga7o. A mediados de los a1os 1>I4 esta empresa desarroll, un sistema para procesar ordenes de pedido electr,nicas+ por el cual los clientes de esta empresa emit*an ordenes de pedido desde sus empresas ) esta era enviada en 0orma electr,nica. Esta implementaci,n tra'o importantes bene0icios a Amiga7o+ )a que se eliminaron gran parte de errores de entregas ) se redu'eron los tiempos de procesamiento de dic5as ordenes. El bene0icio 0ue su0iciente como para que la empresa Amiga7o+ instale un equipo a sus clientes 5abituales. @or otra parte+ en el sector publico el uso de estas tecnolog*as para el intercambio de datos tuvo su origen en las actividades militares. A 0ines de los a1os 1>K4 el ;inisterio de De0ensa de Estados Anidos inicio un programa de investigaci,n destinado a desarrollar t8cnicas ) tecnolog*as que permitiesen intercambiar de manera transparente paquetes de in0ormaci,n entre di0erentes redes de computadoras+ el pro)ecto encargado de dise1ar esos protocolos de comunicaci,n se llamo /!nternetting pro'ect/ %de este pro)ecto de investigaci,n proviene el nombre del popular sistema de redes&+ del que surgieron el #$@/!@ %#ransmission $ontrol @rotocol&/%!nternet @rotocol& que 0ueron desarrollados con'untamente por 6inton $er0 ) Robert Ga5n ) son los que actualmente se

emplean en !nternet. A trav8s de este pro)ecto se logr, estandari7ar las comunicaciones entre computadoras ) en 1>I> aparece un nuevo servicio+ la HHH %Horld Hide Heb+ #elara1a Dlobal&+ cuando un grupo de investigadores en Dinebra+ Sui7a+ ideo un m8todo a trav8s del cual empleando la tecnolog*a de !nternet enla7aban documentos cient*0icos provenientes de di0erentes computadoras+ a los que pod*an integrarse recursos multimedia %te2to+ gr-0icos+ m(sica+ entre otros&. .o m-s importante de la HHH es su alto nivel de accesibilidad+ que se traduce en los escasos conocimientos de in0orm-tica que e2ige de sus usuarios. El desarrollo de estas tecnolog*as ) de las telecomunicaciones 5a 5ec5o que los intercambios de datos cre7can a niveles e2traordinarios+ simpli0ic-ndose cada ve7 mas ) creando nuevas 0ormas de comercio+ ) en este marco se desarrolla el $omercio Electr,nico. 3. =01TA>AS =enta-as para los Clientes @ermite el acceso a m-s in0ormaci,n. .a naturale7a interactiva del Heb ) su entorno 5iperte2to permiten b(squedas pro0undas no lineales que son iniciadas ) controladas por los clientes+ por lo tanto las actividades de mercadeo mediante el Heb est-n m-s impulsadas por los clientes que aquellas proporcionadas por los medios tradicionales. 9acilita la investigaci,n ) comparaci,n de mercados. .a capacidad del Heb para acumular+ anali7ar ) controlar grandes cantidades de datos especiali7ados permite la compra por comparaci,n ) acelera el proceso de encontrar los art*culos. Abarata los costos ) precios. $on0orme aumenta la capacidad de los proveedores para competir en un mercado electr,nico abierto se produce una ba'a en los costos ) precios+ de 5ec5o tal incremento en la competencia me'ora la calidad ) variedad de los productos ) servicios. =enta-as para las empresas ;e'oras en la distribuci,n. El Heb o0rece a ciertos tipos de proveedores %industria del libro+ servicios de in0ormaci,n+ productos digitales& la posibilidad de participar en un mercado interactivo+ en el que los costos de distribuci,n o ventas tienden a cero. @or poner un e'emplo+ los productos digitales %so0t<are& pueden entregarse de inmediato+ dando 0in de manera progresiva al intermediarismo. #ambi8n compradores ) vendedores se contactan entre s* de manera directa+ eliminando as* restricciones que se presentan en tales interacciones. De alguna 0orma esta situaci,n puede llegar a reducir los canales de comerciali7aci,n+ permitiendo que la distribuci,n sea e0iciente al reducir sobrecosto derivado de la uni0ormidad+ automati7aci,n e integraci,n a gran escala de sus procesos de administraci,n. De igual 0orma se puede disminuir el tiempo que se tardan en reali7ar las transacciones comerciales+ incrementando la e0iciencia de las empresas.

$omunicaciones de mercadeo. Actualmente+ la ma)or*a de las empresas utili7a el Heb para in0ormar a los clientes sobre la compa1*a+ a parte de sus productos o servicios+ tanto mediante comunicaciones internas como con otras empresas ) clientes. Sin embargo+ la naturale7a interactiva del Heb o0rece otro tipo de bene0icios conducentes a desarrollar las relaciones con los clientes. Este potencial para la interacci,n 0acilita las relaciones de mercadeo as* como el soporte al cliente+ 5asta un punto que nunca 5ubiera sido posible con los medios tradicionales. An sitio Heb se encuentra disponible las 2" 5oras del d*a ba'o demanda de los clientes. .as personas que reali7an el mercadeo pueden usar el Heb para retener a los clientes mediante un di-logo asincr,nico que sucede a la conveniencia de ambas partes. Esta capacidad o0rece oportunidades sin precedentes para a'ustar con precisi,n las comunicaciones a los clientes individuales+ 0acilitando que 8stos soliciten tanta in0ormaci,n como deseen. Adem-s+ esto permite que los responsables del -rea de mercadeo obtengan in0ormaci,n relevante de los clientes con el prop,sito de servirles de manera e0ica7 en las 0uturas relaciones comerciales. .os sitios Heb m-s sencillos involucran a los clientes mediante botones para enviar mensa'es de correo electr,nico a la empresa. En otros centros m-s so0isticados+ los clientes rellenan 0ormularios+ con el ob'eto de que desarrollen una relaci,n continua con la compa1*a+ cu)o 0in es in0ormar tanto sobre los productos ) servicios como obtener in0ormaci,n sobre las necesidades que los clientes tienen sobre los mismos. De esta manera+ se obtiene publicidad+ promoci,n ) servicio al cliente a la medida. El Heb tambi8n o0rece la oportunidad de competir sobre la base de la especialidad+ en lugar de 5acerlo mediante el precio+ )a que desde el punto de vista del mercadeo+ rara ve7 es deseable competir tan s,lo en 0unci,n del precio. El mercadeo intenta satis0acer las necesidades de los clientes en base a los bene0icios que buscan+ lo que quiere decir que el precio depende de la valori7aci,n del cliente+ ) no de los costosF tales oportunidades surgen cuando lo o0recido se di0erencia por elementos de mercadeo distintos al precio+ lo cual produce bene0icios cargados de valor+ como por e'emplo+ la comodidad producida por el reparto directo mediante la distribuci,n electr,nica de so0t<are. Eene0icios operacionales. El uso empresarial del Heb reduce errores+ tiempo ) sobrecostos en el tratamiento de la in0ormaci,n. .os proveedores disminu)en sus costos al acceder de manera interactiva a las bases de datos de oportunidades de o0ertas+ enviar 8stas por el mismo medio+ ) por (ltimo+ revisar de igual 0orma las concesionesF adem-s+ se 0acilita la creaci,n de mercados ) segmentos nuevos+ el incremento en la generaci,n de venta'as en las ventas+ la ma)or 0acilidad para entrar en mercados nuevos+ especialmente en los geogr-0icamente remotos+ ) alcan7arlos con ma)or rapide7. #odo esto se debe a la capacidad de contactar de manera sencilla ) a un costo menor a los clientes potenciales+ eliminando demoras entre las di0erentes etapas de los subprocesos empresariales. . CAT0C&,$AS El comercio electr,nico puede subdividirse en cuatro categor*as?

.a categor*a compa1*a : compa1*a+ se re0iere a una compa1*a que 5ace uso de una red para 5acer ordenes de compra a sus proveedores+ recibir 0acturas ) reali7ar los pagos correspondientes. Esta categor*a 5a sido utili7ada por muc5os a1os+ particularmente 5aciendo uso de ED! %/Electronic Data !nterc5ange/& sobre redes privadas o redes de valor agregado %/6alue added et<orQs:6A /&. .a categor*a compa1*a : cliente+ se puede comparar con la venta al detalle de manera electr,nica. Esta categor*a 5a tenido gran aceptaci,n ) se 5a ampliado sobre manera gracias al HHH+ )a que e2isten diversos centros comerciales %del !ngl8s malls& por todo !nternet o0reciendo toda clase de bienes de consumo+ que van desde pasteles ) vinos 5asta computadoras. .a categor*a compa1*a : administraci,n+ se re0iere a todas las transacciones llevadas a cabo entre las compa1*as ) las di0erentes organi7aciones de gobierno. @or e'emplo en Estados Anidos cuando se dan a conocer los detalles de los requerimientos de la nueva administraci,n a trav8s de !nternet+ las compa1*as pueden responder de manera electr,nica. Se puede decir que por el momento esta categor*a esta en sus inicios pero que con0orme el gobierno empiece a 5acer uso de sus propias operaciones+ para dar auge al $omercio Electr,nico+ est- alcan7ar- su ma)or potencial. $abe 5acer menci,n que tambi8n se o0recer-n servicios de intercambio electr,nico para reali7ar transacciones como el regreso del !6A ) el pago de impuestos corporativos. .a categor*a cliente : administraci,n+ a(n no 5a nacido+ sin embargo despu8s del nacimiento de las categor*as compa1*a : cliente ) compa1*a : administraci,n+ el gobierno 5ar- una e2tensi,n para e0ectuar interacciones electr,nicas como ser*an pagos de asistencia social ) regreso de pago de impuestos. ). ,$0SC&S $omo medio comercial el Heb presenta las siguientes de0iciencias+ derivadas tanto de su tecnolog*a como de su naturale7a interactiva? Entorno empresarial ) tecnol,gico cambiante. Empresas ) clientes desean tener 0le2ibilidad para cambiar+ seg(n su voluntad+ de socios comerciales+ plata0ormas ) redes. o es posible evaluar el costo de esto+ pues depende del nivel tecnol,gico de cada empresa+ as* como del grado deseado de participaci,n en el comercio electr,nico. $omo m*nimo una empresa necesitaruna computadora personal con sistema operativo Hindo<s o ;ac5intos5+ un m,dem+ una suscripci,n a un proveedor de servicios de !nternet+ una l*nea tele0,nica. Ana compa1*a que desee involucrarse m-s+ deber- prepararse para introducir el comercio electr,nico en sus sistemas de compras+ 0inancieros ) contables+ lo cual implicar- el uso de un sistema para el intercambio electr,nico de datos %ED!& con sus proveedores )/o una intranet con sus diversas sedes. @rivacidad ) seguridad. .a ma)or*a de los usuarios no con0*a en el Heb como canal de pago. En la actualidad+ las compras se reali7an utili7ando el n(mero de la tar'eta de cr8dito+ pero a(n no es seguro introducirlo en !nternet sin

conocimiento alguno. $ualquiera que trans0iera datos de una tar'eta de cr8dito mediante el Heb+ no puede estar seguro de la identidad del vendedor. An-logamente+ 8ste no lo est- sobre la del comprador. Xuien paga no puede asegurarse de que su n(mero de tar'eta de cr8dito no sea recogido ) sea utili7ado para alg(n prop,sito maliciosoF por otra parte+ el vendedor no puede asegurar que el due1o de la tar'eta de cr8dito rec5ace la adquisici,n. Resulta ir,nico que )a e2istan ) 0uncionen correctamente los sistemas de pago electr,nico para las grandes operaciones comerciales+ mientras que los problemas se centren en las operaciones peque1as+ que son muc5o m-s 0recuentes. $uestiones legales+ pol*ticas ) sociales. E2isten algunos aspectos abiertos en torno al comercio electr,nico? valide7 de la 0irma electr,nica+ no repudio+ legalidad de un contrato electr,nico+ violaciones de marcas ) derec5os de autor+ p8rdida de derec5os sobre las marcas+ p8rdida de derec5os sobre secretos comerciales ) responsabilidades. @or otra parte+ deben considerarse las le)es+ pol*ticas econ,micas ) censura gubernamentales. 4. US&S El comercio electr,nico puede utili7arse en cualquier entorno en el que se intercambien documentos entre empresas? compras o adquisiciones+ 0inan7as+ industria+ transporte+ salud+ legislaci,n ) recolecci,n de ingresos o impuestos. _a e2isten compa1*as que utili7an el comercio electr,nico para desarrollar los aspectos siguientes?
$reaci,n de canales nuevos de mercadeo ) ventas. Acceso interactivo a cat-logos de productos+ listas de precios ) 0olletos publicitarios. 6enta directa e interactiva de productos a los clientes. Soporte t8cnico ininterrumpido+ permitiendo que los clientes encuentren por s* mismos+ ) 0-cilmente+ respuestas a sus problemas mediante la obtenci,n de los arc5ivos ) programas necesarios para resolverlos. ;ediante el comercio electr,nico se intercambian los documentos de las actividades empresariales entre socios comerciales. .os bene0icios que se obtienen en ello son? reducci,n del traba'o administrativo+ transacciones comerciales m-s r-pidas ) precisas+ acceso m-s 0-cil ) r-pido a la in0ormaci,n+ ) reducci,n de la necesidad de reescribir la in0ormaci,n en las computadoras. .os tipos de actividad empresarial que podr*an bene0iciarse ma)ormente de la incorporaci,n del comercio electr,nico+ son? Sistemas de reser#as. $entenares de agencias dispersas utili7an una base de datos compartida para acordar transacciones. 0Eistencias comerciales. Aceleraci,n a nivel mundial de los contactos entre mercados de e2istencias. 0laboracin de pedidos. @osibilidad de re0erencia a distancia o veri0icaci,n por parte de una entidad neutral. Se+uros. 9acilita la captura de datos. 0mpresas que suministran a 8abricantes. A5orro de grandes cantidades de tiempo al comunicar ) presentar inmediatamente la in0ormaci,n que intercambian.

6. T0C1&(&C$AS ?U0 0MP(0A El comercio electr,nico utili7a un amplio rango de tecnolog*as como son?

!ntercambio Electr,nico de Datos %ED!:Electronic Data !nterc5ange& $orreo Electr,nico %E:mail o Electronic ;ail& #rans0erencia Electr,nica de 9ondos %E9#: Electronic 9unds #rans0er& Aplicaciones !nternet? Heb+ e<s+ Dop5er+ Arc5ie Aplicaciones de 6o7? Eu7ones+ Servidores #rans0erencia de Arc5ivos Dise1o ) 9abricaci,n por $omputadora %$AD/$A;& ;ultimedia #ableros Electr,nicos de @ublicidad 6ideocon0erencia

F. T$P&S "0 ,0(AC$&10S ?U0 PU0"01 P,0S01TA,S0 El comercio electr,nico es un m8todo contempor-neo para la transacci,n empresarial que en0oca la necesidad percibida+ tanto por las empresas como por sus clientes+ de disminuir los costos de los bienes ) servicios+ manteniendo la cantidad e incrementando la velocidad de entrega. .as actividades de mane'o de la in0ormaci,n que se reali7an en el comercio electr,nico mediante transacciones empresariales pueden clasi0icarse en las siguientes categor*as?
#ransacciones entre una empresa ) sus clientes mediante una red p(blica de telecomunicaciones %tel80ono[m,dem& con el prop,sito de reali7ar compras desde el 5ogar %/5ome s5opping/&+ o el banco en su casa %/5ome banQing/& utili7ando t8cnicas de ci0rado para mane'ar los aspectos de seguridad ) dinero electr,nico. #ransacciones con socios comerciales usando ED!. #ransacciones para la obtenci,n de in0ormaci,n? investigaci,n de mercados utili7ando e2ploradores de c,digos de barras+ tratamiento de in0ormaci,n para la toma de decisiones directivas o la soluci,n de problemas organi7ativos+ ) la manipulaci,n de in0ormaci,n para la organi7aci,n de operaciones+ como la administraci,n de la cadena de proveedores de una empresa. #ransacciones para la distribuci,n de in0ormaci,n con clientes potenciales+ tales como mercadeo+ publicidad+ ) ventas interactivas. .a conectividad entre los participantes es una cuesti,n esencial para la viabilidad del comercio electr,nico+ e !nternet lo consigue a un costo ba'o.

>. $A;E!OS E .AS E;@RESAS El continuo avance en el me'oramiento de la in0raestructura de las telecomunicaciones 5a proporcionado los medios para el intercambio casi instant-neo de los datos. El comercio electr,nico 5ace uso de estos 0lu'os de datos de una 0orma e0ica7. El intercambio e0iciente de la in0ormaci,n determina el 82ito de una empresaF cuando se logra asegurar que el personal de una compa1*a consume m-s tiempo en la producci,n o venta de productos ) servicios+ en lugar de reprocesar innecesariamente los datos+ podemos decir que 5a iniciado la optimi7aci,n de su potencial. !nternet 5a demostrado que estamos viviendo en una comunidad global+ esto quiere decir que no importa las di0erencias de 5orario+ ni la ubicaci,n geogr-0ica+ lo que implica que la actividad empresarial puede reali7arse con cualquier persona ) en cualquier parte del mundo de manera instant-nea. Esto signi0ica que las empresas deben replantear sus estrategias empresariales+ sean cuales 0ueran sus ob'etivos? ampliaci,n del mercado+ obtenci,n de bienes por parte de proveedores nuevos+

e2ternali7aci,n de servicios %/outsourcing/&+ o b(squedas de nuevas alian7as.El comercio electr,nico se introduce en las empresas en tres 0ases?
Sustituci,n de las operaciones manuales basadas en papel por alternativas electr,nicas. Replanteamiento ) simpli0icaci,n de los 0lu'os de in0ormaci,n. Aso novedoso ) din-mico de los 0lu'os de in0ormaci,n.

.a sustituci,n de los sistemas basados en papel+ tanto dentro de una empresa+ como entre ellas+ produce pocos bene0icios reales. Es cierto que reduce los costos administrativos ) me'ora el nivel de precisi,n en el intercambio de datos+ pero no aborda las cuestiones relacionadas con que las actividades comerciales se 5agan e0icientemente a la primera. .as aplicaciones del comercio electr,nico a)udan a re0ormar las maneras de reali7ar las actividades comerciales+ ) con 0recuencia+ act(an como un catali7ador para que las empresas utilicen la reingenier*a de procesos empresariales. 1<. 0!0CT&S A continuaci,n se mencionan algunas consecuencias derivadas del desarrollo del comercio electr,nico?
Empresas virtuales. Es la oportunidad para utili7ar socios comerciales e2ternos sin una ubicaci,n 0*sica+ pues se establece una relaci,n basada en transacciones electr,nicas. .os vendedores peque1os acceden al mercado global. #radicionalmente estos mercados que tan s,lo 5an estado abiertos para las multinacionales+ se vuelven accesibles a las compa1*as m-s peque1as debido a la escasa cantidad de recursos necesarios para 0uncionar en el e2tran'ero. #rans0ormaci,n de tiendas de venta al menudeo. El crecimiento de las compras desde el 5ogar ) de la venta directa por parte de los 0abricantes provocar- una disminuci,n en los precios+ ) en consecuencia+ una reducci,n de las comisiones. @resi,n sobre el servicio al cliente+ el ciclo de desarrollo ) los costos. Aumentar- la necesidad de la entrega r-pida ) directa. .a cadena de valor ser- cada ve7 menos tolerante con la necesidad de inventarios ) almacenamiento. Ser- inevitable el incremento de la competencia+ as* como de la necesidad de dinero electr,nico.

11. (&S $1T0,M0"$A,$&S El advenimiento de in0raestructuras ubicuas de in0ormaci,n 5a provocado predicciones respecto a que uno de los e0ectos de los mercados ser- la eliminaci,n de los intermediarios+ bas-ndose en la capacidad de las redes de telecomunicaciones. Sin embargo+ la realidad puede ser bien distinta puesto que las tecnolog*as de la in0ormaci,n no s,lo re0or7ar-n la posici,n de los intermediarios tradicionales+ sino que adem-s promover-n la aparici,n de nuevas generaciones de intermediarios. En un mercado tradicional puede considerarse que los intermediarios proporcionan un servicio de coordinaci,n+ sin embargo+ es necesario de0inir con ma)or precisi,n esta actividad para identi0icar como a0ectar- !nternet a esta tarea? 'Psqueda 5 e#aluacin. An cliente que elige una tienda especiali7ada sobre unos grandes almacenes escoge impl*citamente entre dos alternativas de b(squeda ) criterios de evaluaci,n. En cualquier caso el cliente delega una

parte del proceso de b(squeda del producto en el intermediario+ quien tambi8n suministra un control de calidad ) evaluaci,n del producto. =aloracin de necesidades 5 empare-amiento de necesidades. En muc5os casos no es ra7onable asumir que los clientes posean el conocimiento individual necesario para evaluar 0idedignamente sus necesidades e identi0icar los productos que las cumplir-n e0ica7mente. @or lo tanto los intermediarios pueden suministrar un servicio valioso a)udando a sus clientes a determinar sus necesidades. @roporcionando in0ormaci,n no s,lo del producto+ sino sobre su utilidad+ e incluso proporcionando la asistencia e2pl*cita de un e2perto para identi0icar las necesidades de los clientes+ los intermediarios proporcionan a los clientes servicios sobre la evaluaci,n de los productos. Mane-o de los ries+os del cliente. .os clientes no siempre tienen la in0ormaci,n per0ecta ) por tanto pueden comprar productos que no satis0agan sus necesidades+ en consecuencia en cualquier transacci,n al detalle el cliente se en0renta con ciertos riesgos. Estos pueden ser el resultado de una incertidumbre en las necesidades del cliente+ un 0allo en la comunicaci,n con respecto a las caracter*sticas+ o un 0allo intencionado o accidental del 0abricante al proporcionar un producto adecuado. Otro servicio que proporcionan muc5os intermediarios est- relacionado con el mane'o de este riesgo+ suministrando a los clientes la opci,n de devolver los productos de0ectuosos o proporcionando garant*as adicionales+ los intermediarios reducen la e2posici,n de los clientes a los riesgos asociados con los errores de los 0abricantes. Si el cliente tiene la opci,n de devolver los productos por cualquier motivo+ el intermediario reduce m-s la e2posici,n del cliente a los riesgos asociados con los 0allos de los clientes para valorar las necesidades con precisi,n ) compararlas con las caracter*sticas del producto. @or lo tanto+ eligiendo un intermediario que proporciona estos servicios+ los clientes est-n comprando impl*citamente al intermediario un seguro. "istribucin de productos. ;uc5os intermediarios 'uegan un papel importante en la producci,n+ envasado ) distribuci,n de bienes. .a distribuci,n es un 0actor cr*tico en la determinaci,n del valor de la ma)or*a de los bienes de consumo. @or e'emplo un litro de gasolina a mil Gm del 5ogar de un cliente 0rente al que est- a un Gm es signi0icativamente di0erente+ debido principalmente a los servicios de distribuci,n proporcionados. "i8usin de in8ormacin sobre productos. Se trata de que el intermediario in0orme a los clientes sobre la e2istencia ) las caracter*sticas de los productos. .os 0abricantes con0*an en una variedad de intermediarios+ inclu)endo a las tiendas de venta al menudeo+ casas de ventas por correo/cat-logo+ agencias de publicidad ) puntos de venta para in0ormar a los clientes. $n8luencia sobre las compras. A 0in de cuentas+ a los 0abricantes no s,lo les interesa proporcionar in0ormaci,n a los clientes+ sino vender productos. Adem-s de los servicios de in0ormaci,n+ los 0abricantes tambi8n valoran los servicios relacionados con la in0luencia en las elecciones de compra de los clientes? la colocaci,n de los productos por parte de los intermediarios puede in0luir en la elecci,n de los mismos+ como poder asesorarse e2pl*citamente

mediante un vendedor. Esquemas para la compensaci,n de comisiones+ pagos por el espacio en estanter*as ) descuentos especiales son 0ormas en las que los 0abricantes o0recen servicios de asesor*as de compras a los intermediarios. Suministro de in8ormacin. Esta in0ormaci,n que es recogida por intermediarios especiali7ados como empresas de investigaci,n de mercados+ es utili7ada por los 0abricantes para evaluar nuevos productos ) plani0icar la producci,n de los e2istentes. Mane-o de los ries+os del 8abricante. El 0raude ) robo reali7ado por los clientes es un problema que tradicionalmente 5a sido tratado por los detallistas e intermediarios crediticios. En el pasado+ estos intermediarios 5an proporcionado sistemas ) pol*ticas para limitar este riesgo. $uando no pod*a eliminarse+ eran los intermediarios quienes a0rontaban la e2posici,n a este riesgo. $nte+racin de las necesidades de los clientes 5 de los 8abricantes. .os intermediarios deben ocuparse de problemas que surgen cuando las necesidades de los clientes c5ocan con las de los 0abricantes. En un entorno competitivo+ un intermediario satis0actoriamente integrado proporciona un 5a7 de servicios que equilibra las necesidades de los clientes ) de los 0abricantes de una 0orma aceptable para ambos. 11.1 #!@OS A continuaci,n se identi0ican diversos tipos de intermediarios basados en !nternet?
1. "irectorios. A)udan a los clientes a encontrar productos clasi0icando instalaciones Heb ) proporcionando men(s estructurados para 0acilitar la navegaci,n. En la actualidad son gratuitos+ pero en el 0uturo podr*an ser de pago. E2isten tres tipos de directorios? o Denerales. $omo por e'emplo+ _a5oo que proporciona un cat-logo general de una gran variedad de di0erentes sitios Heb. Cabitualmente e2iste un esquema para organi7ar ) elegir los sitios que ser-n incluidos. Estas instalaciones suelen soportar /bro<sing/ as* como b(squeda del cat-logo mediante palabras clave. $omerciales. $omo El !ndice que se centra en proporcionar cat-logos de sitios comerciales. o proporcionan in0raestructura o servicios de desarrollo para los 0abricantes+ sino que tan s,lo act(an como un directorio de instalaciones e2istentes. #ambi8n pueden suministrar in0ormaci,n sobre una -rea comercial espec*0ica+ con 0recuencia a empresas que no tienen Heb. Estos intermediarios son equivalentes a los editores de gu*as en papel. Especiali7ados. Est-n orientados a temas+ ) son incluso tan sencillos como una p-gina creada por una persona interesada en un tema. Estas p-ginas pueden suministrar al cliente in0ormaci,n sobre un bien o 0abricante en particular. 1. Ser#icios de bPsqueda. Similares a Alta6ista+ proporcionan a los usuarios capacidades para reali7ar b(squedas basadas en palabras clave sobre grandes bases de datos de p-ginas o instalaciones Heb. 2. Centros comerciales. Son instalaciones que proporcionan una in0raestructura al 0abricante o al detallista a cambio de una cuota. @ueden estar compuestos de una gran variedad de tiendas que venden m(ltiples productos. 3. 0ditoriales. Son generadores de tr-0ico que o0recen contenidos de inter8s para los clientes+ que parecen peri,dicos o revistas interactivas. .as editoriales se convierten en

".

5.

J.

K.

I.

>. 14.

intermediarios cuando o0recen v*nculos con los 0abricantes a trav8s de publicidad o listas de productos relacionadas con sus contenidos. ,e#endedores #irtuales. Estos intermediarios e2isten para vender a los clientes centr-ndose en productos especiali7ados que obtienen directamente de los 0abricantes+ quienes pueden dudar en dirigirse directamente a los clientes por temor a ale'ar a los detallistas de los que dependen. 0#aluadores de los sitios Jeb. .os clientes pueden dirigirse a un 0abricante a trav8s de un sitio que o0rece alguna 0orma de evaluaci,n+ lo que puede a)udar a reducir su riesgo. Algunas veces las evaluaciones se basan en la 0recuencia de acceso+ mientras que en otros casos son una revisi,n e2pl*cita de las instalaciones. Auditores. #ienen 0unciones similares a las de los servicios de medici,n de audiencia en medios tradicionales. El comercio electr,nico requiere de los mismos servicios adicionales que 0acilitan el comercio tradicional. .os anunciantes requieren in0ormaci,n sobre las tasas de uso asociadas con la publicidad en el Heb+ as* como in0ormaci,n 0idedigna sobre las caracter*sticas de los clientes. !orosH clubes de a8icionados 5 +rupos de usuarios. Estos tipos de instalaciones no son necesariamente intermediarios directos+ pero pueden 'ugar un gran papel al 0acilitar la retroalimentaci,n entre clientes ) 0abricantes+ as* como soportar la investigaci,n de mercados. .os me'ores e'emplos de estos grupos son las listas relacionadas con productos que conectan al 0abricante con los clientes. !ntermediarios 8inancieros. $ualquier 0orma de comercio electr,nico debe permitir alguna manera de reali7ar o autori7ar pagos del comprador 5acia el vendedor. .os sistemas de pago podr-n ser desde autori7aci,n de cr8dito+ c5eques electr,nicos+ pago en e0ectivo ) env*o de correo electr,nico seguro para autori7ar un pago. ,edes de trueque. Es posible que las personas cambien un bien o un servicio por otro+ en ve7 de pagarlo con dinero. Aparecer-n intermediarios similares a las casas de subastas ) bolsas de mercanc*as para capitali7ar estas oportunidades. A+entes $nteli+entes. Son programas que mediante un criterio preliminar de b(squeda proporcionado por el usuario+ 0acilitan la locali7aci,n de recursos a trav8s de !nternet+ aprendiendo de los comportamientos pasados para optimi7ar las b(squedas. Esto puede convertirse en un nuevo servicio de intermediaci,n que los clientes adquieren cuando necesitan cierto bien o servicio.

12. C&1T,ATAC$&1 $1!&,MAT$CA Ea'o la de0inici,n de contrataci,n in0orm-tica+ se encuentra la contrataci,n de bienes o servicios in0orm-ticos. De esta manera entendemos por contrataci,n in0orm-tica+ aquella cu)o ob'eto sea un bien o un servicio in0orm-tico :o ambos: o que una de las prestaciones de las partes tenga por ob'eto ese bien o servicio in0orm-tico. Eienes in0orm-ticos son todos aquellos elementos que 0orman el sistema %ordenador& en cuanto al 5ard<are+ )a sea la unidad central de proceso o sus peri08ricos+ as* como todos los equipos que tienen una relaci,n directa de uso con respecto a ellos ) que+ en con'unto+ con0orman el soporte 0*sico del elemento in0orm-tico. Asimismo+ se consideran bienes in0orm-ticos los bienes inmateriales que proporcionan las ordenes+ datos+ procedimientos e instrucciones+ en el tratamiento autom-tico de la in0ormaci,n ) que+ en su con'unto+ con0orman el soporte l,gico del elemento in0orm-tico. $omo Servicios in0orm-ticos se entiende todos aquellos servicios que sirven de apo)o ) complemento a la actividad in0orm-tica en una relaci,n de a0inidad directa con ella. 12.1 PA,T0S "0 U1 C&1T,AT& $1!&,MAT$C&

En la contrataci,n in0orm-tica se ven involucrados varios elementos+ a los que podemos denominar complementarios+ que se interrelacionan entre s*. As*+ distinguiremos entre? contratantes+ parte e2positiva+ cl-usulas o pactos ) ane2os+ que se anali7an a continuaci,n. 12.1.1 (&S C&1T,ATA1T0S o es lo mismo la contrataci,n in0orm-tica reali7ada entre pro0esionales de la in0orm-tica+ que la contrataci,n in0orm-tica reali7ada entre un pro0esional de la in0orm-tica ) un tercero. @or ello+ la identi0icaci,n ) situaci,n pro0esional de los intervinientes reviste gran importancia+ debiendo 0i'ar+ no solamente quien adquiere cada responsabilidad proveniente de la contrataci,n ) a quien representa+ sino tambi8n que conocimientos o 0ormaci,n pro0esional+ o empresarial+ relacionada con el tema ob'eto del contrato+ tiene cada uno debido a la obligaci,n e2istente+ desde la ,ptica de una buena 0e contractual+ de in0ormar correctamente a la otra parte ) de proporcionar claridad a las cl-usulas ) obligaciones del contrato. .a 0ormaci,n de la voluntad ) las responsabilidades de cada una de las partes+ tienen una relaci,n con la identi0icaci,n personal ) pro0esional de las mismas+ que la convierten en dato de gran importancia en este tipo de contratos. 12.1.2 PA,T0 0LP&S$T$=A En esta parte se e2pone+ de 0orma clara ) concreta+ el por qu8 ) el para qu8 del contrato. Es importante se1alar que dentro de los contratos in0orm-ticos es imprescindible 0i'ar de 0orma sencilla+ por que se reali7a el contrato ) cuales 5an sido los condicionantes o circunstancias que 5an movido a las partes a unirse mediante esta relaci,n contractual. @ara ello+ se 0i'aran los intereses de cada cual+ especi0icando las necesidades de uno ) la o0erta del otroF de'ando bien claro que es lo que o0rece una parte ) que es lo que acepta la otra ) debiendo e2istir una coincidencia real sobre el ob'eto+ o concepto que de el ) de su utilidad respecto al 0in perseguido+ tienen cada una de las partes. @or otro lado es de especial inter8s establecer claramente el negocio 'ur*dico en el cual luego+ de acuerdo con la teor*a general para ese negocio en el ordenamiento+ se pueda subsumir el caso e interpretar el contrato. 12.1.3 C(AUSU(AS & PACT&S @artiremos del principio de buena 0e )+ estableceremos una /obligaci,n/ de colaboraci,n en ambos sentidosF el suministrador debe colaborar con el usuario )+ lo que es igual de importante+ el usuario debe colaborar con el suministrador. Adem-s+ el usuario debe respetar ) seguir las directrices que+ respecto al bien contratado ) su implementaci,n en el circuito de in0ormaci,n+ le indique el

suministrador )+ consecuentemente+ utili7ar el equipo in0orm-tico o los programas+ siguiendo las instrucciones que+ para su optima utili7aci,n+ le se1ale. El suministrador+ por su parte+ se e2onera de responsabilidad en el caso en que e2ista una anomal*a consecuencia del incumplimiento por parte del usuario de estas instrucciones de 0uncionamiento o mane'o. Estas cl-usulas o pactos 5an de cumplir los siguientes requisitos+ aunque son orientativos?
Obligaciones de las partes+ claras ) concisas. El deber de asesoramiento. El cumplimiento del pla7o. .a 0ormaci,n del usuario. @ro5ibici,n de subarrendar. Sustituci,n del equipo. De0inici,n de t8rminos o conceptos oscuros. El mantenimiento preventivo. $l-usulas de garant*a.

12.1. (&S A10L&S Es 0undamental que los contratos in0orm-ticos va)an acompa1ados de unos Ane2os que incorporados a ellos ) con la misma 0uer7a de obligar+ contengan di0erentes desarrollos de elementos que 0orman parte sustancial del contrato. Entre los Ane2os tipo+ que a)udan a describir el ob'eto ) que siempre deben 0igurar+ en un contrato in0orm-tico destacan? Especi0icaciones del sistema a contratar. Especi0icaciones de los programas a desarrollar. @ruebas de aceptaci,n. Resultados a obtener ) que+ en alg(n caso+ 0ormaran el propio ob'eto del contrato. An-lisis. 12.2 T$P&S "0 C&1T,AT&S $1!&,MAT$C&S Ante la gran diversidad de contratos in0orm-ticos que e2isten en la actualidad+ dividiremos su estudio en dos grupos di0erenciados. El primero+ respecto al ob'eto+ debido a las caracter*sticas especiales de los distintos ob'etos sobre los que pueden versar estos contratos :)a sea 5ard<are+ so0t<are+ servicios de mantenimiento ) 0ormaci,n+ o llave en mano: que llevan a la necesidad de su estudio ) tratamiento individuali7ado. El segundo+ respecto al negocio 'ur*dico+ debido a que los contratos in0orm-ticos+ m-s com(nmente reali7ados+ se 5an llevado a cabo ba'o el paraguas protector de una determinada 0igura 'ur*dica en la que 5an

encontrado acomodo+ pero casi todos los casos+ 5a sido necesario adecuar el ob'eto del contrato al negocio 'ur*dico reali7ado. A 2 P&, 0( &'>0T& @or el ob'eto del contrato distinguiremos contratos de 5ard<are+ contratos de so0t<are+ contratos de instalaci,n llave en mano ) contratos de servicios au2iliares. $ontratos de Card<are. En los que 5a) que conceptuar como 5ard<are todo aquello que+ 0*sicamente+ 0orme parte del equipo+ considerando como tal+ tambi8n+ a los equipos de comunicaciones u otros elementos au2iliares para el 0uncionamiento del sistema que se va a implementar. $ontratos de So0t<are. Ca) que di0erenciar en el momento de anali7ar una contrataci,n de so0t<are+ si se trata de un so0t<are de base o de sistema+ o se trata de u so0t<are de utilidad+ o de aplicaci,n o usuario+ )a que este ultimo+ debe responder a unas necesidades particulares+ las del propio usuario+ el que encarga la aplicaci,n+ ) que+ por tanto+ tendr-n que quedar claramente especi0icadas en el contratoF sin embargo+ el so0t<are de base o sistema ) el so0t<are de utilidad responden a unas caracter*sticas generales que son las del propio sistema o las de la utilidad a la que sirven ) es un producto )a con0ormado de antemano que no se somete a peticiones o particularidades del usuario. $ontratos de instalaci,n llave en mano. En los que ir-n incluidos tanto el 5ard<are como el so0t<are+ as* como determinados servicios de mantenimiento ) de 0ormaci,n del usuario. $ontratos de servicios au2iliares. $omo pueden ser+ el mantenimiento de equipos ) programas o la 0ormaci,n de las personas que van a utili7ar la aplicaci,n respecto a equipos+ sistema o aplicaciones. ' 2 P&, 0( 10C&C$& >U,$"$C& De acuerdo con el negocio 'ur*dico del contrato+ e2istir-n tantos tipos de contratos como negocios 'ur*dicos se realicen sobre este ob'eto. As*+ algunos de los mas utili7ados en el campo de la in0orm-tica son los llamados de venta+ de arrendamiento 0inanciero+ de alquiler+ de opci,n de compra+ de mantenimiento+ de prestaci,n de servicios+ de arrendamiento de obra+ de pr8stamo+ de deposito. De venta. $uando sea un contrato en el que el suministrador+ o vendedor en este caso+ se obliga a entregar una cosa determinada+ un bien in0orm-tico+ ) la otra parte+ comprador+ a pagar por 8l a un precio cierto %art. 1""5 $$&. .a venta tambi8n puede ser de servicios. De arrendamiento 0inanciero. ;ediante el que se requiera que participen tres partes+ el suministrador+ vendedor+ del equipo in0orm-tico+ una entidad o intermediario 0inanciero que compra el bien+ para un tercero que es el usuario+

) el usuario del bien que lo poseer-+ pero lo tendr- en r8gimen de arrendamiento 0inanciero 5asta que 5a)a cumplido con unas determinadas caracter*sticas o requisitos. De alquiler. El arrendamiento sobre bienes in0orm-ticos es un arrendamiento tipo de los regulados en el $,digo $ivil+ art. 15"3 ) ss.+ caracteri7ado porque el suministrador se obliga a dar al usuario el goce o uso de un bien in0orm-tico durante un tiempo determinado ) por un precio cierto. De opci,n de compra. Aunque la opci,n de compra no esta de0inida en nuestro ordenamiento ) solamente se recoge para bienes inmuebles en la legislaci,n 5ipotecaria %art.1"&+ nuestra doctrina ) 'urisprudencia la tienen bien delimitada e2igiendo que para que e2ista este tipo de contrato+ tienen que darse tres requisitos principales? Respecto al optante+ que le debe conceder la decisi,n unilateral de la reali7aci,n de la opci,n de compra. @recio de compraventa+ que debe quedar per0ectamente se1alado para el caso de que el optante decida acceder a dic5a compraventa. @la7o del e'ercicio de la opci,n de compra+ que debe quedar determinado con claridad en el acuerdo de las partes. "e mantenimiento. @uede ser tanto de equipos como de programas+ o incluso+ mantenimiento integral en el que se puede incluir un servicio de 0ormaci,n+ asesoramiento ) consulta. "e prestacin de ser#icios. En los que incluir*amos an-lisis+ especi0icaciones+ 5oras maquina+ tiempo compartido+ programas+ etc.+ que los pod*amos cali0icar como unos contratos de arrendamientos de servicios. El arrendamiento de servicios se da cuando una parte se obliga con la otra a prestarle unos determinados servicios+ con independencia del resultado que se obtenga mediante la prestaci,n. "e e-ecucin de obraH consistente en el compromiso de una de las partes+ en nuestro caso el suministrador del bien o servicio in0orm-tico+ a e'ecutar una obra+ ) de la otra parte reali7ar una contraprestaci,n en pago por la obra llevada a cabo. "e prNstamoH caracteri7ado porque una parte entrega a otra el bien in0orm-tico para que use de 8l durante un tiempo determinado ) le devuelva una ve7 cumplido ese tiempo ) de ComodatoH consistente en un tipo de contrato de pr8stamo en el que el suministrador trans0iere el uso del bien in0orm-tico prestado. El $,digo $ivil %art. 1K"4&+ se re0iere al comodato como un contrato de pr8stamo+ en el que una de las partes entrega a la otra alguna cosa no 0ungible para que use de ella por cierto tiempo ) se la devuelva+ indicando que es esencialmente gratuito. En el caso de que se acuerde entre las partes una retribuci,n+ de'a de ser comodato para pasar a ser un arrendamiento de cosas.

"e depsito+ que se constitu)e+ de acuerdo con lo establecido en el $,digo $ivil %art. 1K5I&+ desde que una persona recibe una cosa a'ena con la obligaci,n de guardarla ) restituirla+ siendo un contrato gratuito+ salvo pacto contrario %art.1KJ4&+ pero que en el caso de cumplirse los requisitos establecidos en el $,digo de $omercio %art.343&+ se trata de un deposito mercantil+ en el que el depositario tendr- derec5o a e2igir retribuci,n por el deposito+ salvo pacto contrario %art.34"&+ con las obligaciones para el depositario de conservaci,n de la cosa+ en este caso+ del bien in0orm-tico+ de acuerdo con lo establecido en los arts.34J ) concordantes del mismo cuerpo legal. .a contrataci,n de bienes ) la prestaci,n de servicios in0orm-ticos no tiene una cali0icaci,n uni0orme que la pueda situar+ en cada caso+ en un modelo o tipo de contrato de los que 0iguran en nuestro ordenamiento. .os contratos in0orm-ticos est-n 0ormados por elementos dispares que e2igen la me7cla o uni,n de dos o m-s tipo de contratos para poder con0igurar sus caracter*sticas+ siendo su ob'eto m(ltiple ) diversi0icado+ pudiendo darse multitud de 0iguras que desequilibrar*an cualquier relaci,n tipo que se pueda pensar. #odo ello debido a la pluralidad de las partes que intervienen ) la dispersi,n de intereses entre ellas+ as* como a la particularidad de determinadas cl-usulas que 0orman parte de este tipo de contratos. Asimismo el desconocimiento por el usuario+ en t8rminos generales+ de las posibilidades ) limites de la in0orm-tica+ 5ace que no todo en el contrato pueda estar basado en el )a mencionado principio de la autonom*a de la voluntad de los contratantes. En muc5as ocasiones+ son contratos de ad5esi,n+ en los que una de las partes 0i'a las cl-usulas del contrato ) lo otra se ad5iere a las mismas+ sin tener posibilidad de modi0icar ninguna de ellas. Estos contratos de ad5esi,n son producto de la contrataci,n en masa que+ 0recuentemente+ violan los derec5os de los consumidores de bienes ) servicios in0orm-ticos por el gran desequilibrio que se produce al 0altar la emisi,n libre de voluntad por una de las partes en la 0i'aci,n de las cl-usulas del contrato. En algunos casos+ como el de las conocidas contrataciones llave en mano+ seria adecuada la aplicaci,n de la teor*a del resultado en le contrataci,n in0orm-tica+ en un claro arrendamiento de obra. A5ora bien+ ello implica que los resultados se especi0iquen en el contrato de0iniendo cuales son+ dentro de unos limites ra7onables+ o dic5o de ora 0orma+ cuando la 0unci,n b-sica de tratamiento de la in0ormaci,n sea cumplida aunque se puedan dar algunos comportamientos de la misma que+ sin tener gran carga sobre la aplicaci,n+ no sean los adecuados o adole7can de algunos errores o 0allos. En de0initiva la contrataci,n in0orm-tica+ en general+ adolece de determinadas caracter*sticas que la 5acen e2tremadamente complicada en la redacci,n de los contratos ) en la 0i'aci,n de los derec5os ) obligaciones de las partes. A ello 5a) que a1adir a ine2istencia de una normativa adecuada a los mismo ) la di0icultad en la 0i'aci,n del ob'eto cuando son contratos comple'os. Es por ello+

que se deben redactar teniendo en cuenta un equilibrio de prestaciones ) evitar en lo posible la e2istencia de cl-usulas oscuras. A continuaci,n ad'untamos un e'emplo de los contratos in0orm-ticos m-s e2tendidos ) utili7ados en la actualidad. C&1T,AT& U((A=0 01 MA1&U "0 C0S$&1 "0 US& "0 P,&"UCT&S $1!&,MAT$C&S Entre? Domicilio? $!9? A continuaci,n denominado el ASAAR!O _ E;@RESA a continuaci,n denominado el 9AER!$A #E H con $!9 U:>>>>>>. _ domicilio social en? .a calle de la empresa+ Sarago7a. Se convienen las $.AASA.AS que a continuaci,n se mencionan? P,$M0,A. &'>0T& "0( C&1T,AT& El 9AER!$A #E concede al ASAAR!O una licencia de uso de productos in0orm-ticos %en adelante denominado el @RODA$#O&+ descrito en el A EUO ! que 0orma parte de este contratoF esta licencia de uso no tiene el car-cter de e2clusiva ) ser- intrans0erible. El @RODA$#O ser- instalado en una sola unidad central+ propiedad del Asuario. El 9AER!$A #E se compromete a prestar al ASAAR!O los siguientes servicios+ tal ) como se de0inen en las cl-usulas de este contrato? !nstalaci,n del producto ) soporte correspondiente. Documentaci,n del producto. Soporte del producto. S0CU1"A. US& "0( P,&"UCT& El producto que se de0ine en el A EUO correspondiente+ esta dise1ado para 0uncionar como se describe en la documentaci,n entregada con el mismo. El inicio del uso del @RODA$#O sea considerado desde la 0ec5a de su recepci,n por el ASAAR!O. Esta 0ec5a se denominara en adelante 9E$CA DE ! !$!O. T0,C0,A. $1STA(AC$&1 D S&P&,T0

Se entiende por ! S#A.A$!O las acciones reali7adas por el 9AER!$A #E para que el @RODA$#O pueda ser utili7ado por el ASAAR!O en el Card<are designado. En el momento de la ! S#A.A$!O se entregara al usuario la documentaci,n correspondiente del @RODA$#O en igual cantidad al numero de licencias contratadas. @ara cada subsistema se recibir- 0ormaci,n t8cnica ) asesor*a en las cuestiones relacionadas con el producto+ tambi8n de adaptaci,n param8trica. CUA,TA. C&P$AS A"$C$&1A(0S Se entiende por .!$E $!A AD!$!O A. cualquier nueva instalaci,n de los @RODA$#OS. El ASAAR!O que necesite una .!$E $!A AD!$!O A. deberrequerirlo por escrito al 9AER!$A #E. .as .!$E $!AS AD!$!O A.ES se especi0ican en sucesivos A EUOS al presente contrato. @ara las siguientes licencias de uso se establece un descuento del 253 sobre el precio de la primera. ?U$1TA. CA,A1T$A El @RODA$#O go7a de una garant*a de J4 d*as+ contados a partir de la 9E$CA DE ! !$!O. Esta 0ec5a resultante+ se denominara 9E$CA E9E$#!6A para el SO@OR#E. $aso de la instalaci,n de varios subsistemas en distintas 0ec5as se establecer- una garant*a por subsistema a partir de la cual se iniciara el SO@OR#E+ que deber- contratarse aparte. Durante el periodo de DARA #!A+ el ASAAR!O contara con un soporte tele0,nico que de 0orma ra7onable cubrir- las incidencias presentadas. El interlocutor del ASAAR!O debe tener in0ormaci,n su0iciente de operatoria del @RODA$#O. .a DARA #!A asegura el cumplimiento de las especi0icaciones del @RODA$#O. Si as* no ocurriese ) siempre que los 0allos no se deban al mal uso o negligencia del ASAAR!O se proceder- a su correcci,n o reempla7o. Dentro de la garant*a no quedan incluidos los gastos que puedan originarse como consecuencia del env*o de material+ de despla7amientos al domicilio del usuario ) dem-s gastos suplidos+ que ser-n siempre por cuenta del usuario. Ana ve7 transcurrido el periodo de garant*a+ el ASAAR!O se responsabili7a de la veri0icaci,n de la idoneidad de los productos con licencias contratados para alcan7ar los resultados adecuados. $ualquier modi0icaci,n+ alteraci,n o ampliaci,n de cuantas especi0icaciones se contemplan en este contrato ) sus correspondientes A EUOS+ se entender-n e2cluidas de los mismos+ )+ consiguientemente+ en caso de que por acuerdo

mutuo sean considerados cambios o modi0icaciones necesarios para la viabilidad de los e2tremos pactados en este documento+ deber-n ser contemplados en otro aparte que ser- ampliaci,n del presente contrato. S0LTA. C&1!$"01C$A($"A" A causa de la naturale7a con0idencial del @RODA$#O el ASAAR!O queda obligado a no vender+ alquilar o poner a disposici,n de terceros el @RODA$#O o cualquier in0ormaci,n con0idencial relacionada con el @RODA$#O. El ASAAR!O reconoce ) declara que el @RODA$#O suministrado por el 9AER!$A #E ) cualquier copia del mismo son ) seguir-n siendo propiedad del 9AER!$A #E o de la 0irma representada por el 9AER!$A #E+ declarando e2presamente esta propiedad en cualquier copia+ total o parcial+ reali7ada por el ASAAR!O en desarrollo ) con0ormidad con lo acordado en este contrato. El 9AER!$A #E por su parte se obliga a no divulgar o utili7ar+ sin consentimiento previo+ in0ormaci,n perteneciente al ASAAR!O considerada como con0idencial. S0PT$MA. T,A1SM$S$&1 "0 &'($CAC$&10SH 1U($"A" "0 C(AUSU(AS. .as obligaciones del ASAAR!O ) del 9AER!$A #E+ contra*das por el presente contrato+ se transmitir-n a los respectivos sucesores o apoderados ) a cualquier otra entidad en la que cualquiera de las partes pueda incorporarse o 0usionarse de manera permanente o accidental. .os contratantes declaran que consideran las cl-usulas del presente contrato independientes+ por lo que la nulidad de una de ellas no origina la nulidad ni de la totalidad del presente contrato+ ni de las dem-s acordadas. &CTA=A. ,0SP&1SA'$($"A"0S 0 $1"0M1$TAC$&10S. El 9AER!$A #E no ser- responsable de los retrasos en la e'ecuci,n de las obligaciones derivadas de este contrato o interrupci,n del servicio+ cuando estos sucedan por causas a'enas a su voluntad ) no le sean imputables. El 9AER!$A #E no se 5ace responsable de las perdidas o da1os su0ridos por el ASAAR!O+ sus empleados o clientes+ directamente o indirectamente originados por errores en los programas+ su documentaci,n+ la operaci,n de los programas o el uso de un 5ard<are no autori7ado por el 9AER!$A #E. En el caso de que el 9AER!$A #E se disolviera por el motivo que 0uera+ se compromete a depositar las 0uentes del @RODA$#O ante un otario e'erciente de los de su ciudad para que el ASAAR!O+ pueda cubrir sus necesidades relativas a ellos+ seg(n las tari0as vigentes en esas 0ec5as. 1&=01A. A,'$T,A>0. @ara cualquier divergencia del presente contrato+ ambas parte se someten e2presamente+ ) con renuncia a su 0uero propio+ a la decisi,n del asunto o

litigio planteado+ mediante el arbitra'e institucional de ARE!#E$+ Asociaci,n Espa1ola de Arbitra'e #ecnol,gico+ a la cual encomiendan la administraron del arbitra'e ) la designaci,n de los -rbitros. El arbitra'e se reali7ara con0orme al procedimiento establecido en el Reglamento Arbitral de ARE!#E$ ) en la .e) de Arbitra'e+ de 5 de diciembre de 1>II. El laudo arbitral deber- dictarse durante los noventa d*as siguientes a la aceptaci,n del cargo por parte de los -rbitros designados+ oblig-ndose ambas partes a aceptar ) cumplir la decisi,n contenida en 8l. @ara el caso en que arbitra'e no legara a reali7arse por mutuo acuerdo o 0uese declarado nulo+ ambas partes se someten a los =u7gados ) #ribunales de Sarago7a con renuncia a u propio 0uero si este 0uese otro. "0C$MA. ACTUA($TAC$&1. En el caso de que alguna o algunas de las cl-usulas del contrato pasen a ser invalidas+ ilegales o ine'ecutables en virtud de alguna norma 'ur*dica+ se consideraran ine0icaces en la medida que corresponda+ pero en lo dem-s+ este contrato conservara su valide7. .as partes contratantes acuerdan sustituir la cl-usula o cl-usulas a0ectadas por otra u otras que tengan los e0ectos econ,micos m-s seme'antes a los de las sustituidas. Este contrato ) sus correspondientes ane2os reempla7an a cualquier otro compromiso o ane2o establecido anteriormente sea verbalmente o por escrito+ que se re0iera al mismo producto que en ellos se mencionan. _ para que as* conste+ ) en prueba de con0ormidad ) aceptaci,n al contenido de este escrito+ ambas partes lo 0irman por duplicado ) a un solo e0ecto en la 0ec5a ) lugar indicados en el encabe7amiento. 0MP,0SA 0( USUA,$& @or? @or? $argo? $argo? 9irma? 9irma? 9ec5a?9ec5a? A10L& C&1T,AT& U((A=0 01 MA1&U "0 C0S$&1 "0 US& "0 P,&"UCT&S $1!&,MAT$C&S. A EUO !

DES$R!@$!O @RODA$#OS / ;ODA.OS

A;ERO DE .!$E $!AS

!;@OR#E

CORAS ! S#. SO@.

T&TA( %!6A no incluido& Este Ane2o 0orma parte del $O #RA#O DE $ES!O DE ASO DE @RODA$#OS ! 9OR;A#!$OS (m. UUU/2c222222 ) esta su'eto a los t8rminos que en el mismo 0iguran. C&1"$C$&10S "0 PAC& C&M0,C$A(H P,$MAS D P,&"UCC$&1 343 a la aceptaci,n del pedido. "43 a la aceptaci,n de cada modulo. 343 a la aceptaci,n de la instalaci,n de todos los m,dulos. DES#!O DE @ERSO A. _ AREA E$O O;!$O:9! A !ERA

343 a la aceptaci,n del pedido. K43 a la puesta en marc5a de cada modulo. "&M$C$($AC$&1 'A1CA,$A. .as 0acturas de E;@RESA+ ser-n presentadas al cobro. El ASAAR!O se compromete a atenderlas a trav8s de? EA $O? SA$ARSA.? D!RE$$!O ? c;. $#A.? 0MP,0SA 0( USUA,$&

@or? @or? $argo? $argo? 9irma? 9irma? 13. 0( PAC& P&, $1T0,10T o cabe duda que uno de los elementos 0undamentales en el comercio en general ) en el comercio electr,nico en particular+ es la reali7aci,n del pago correspondiente a los bienes o servicios adquiridos. En este -mbito el comercio electr,nico presenta una problem-tica seme'ante a la que plantea en otros sistemas de compra no presencial+ es decir+ en aquella en la que las partes no se re(nen 0*sicamente para reali7ar la transacci,n+ como por e'emplo en la compra por cat-logo o tele0,nica?
El comprador debe tener garant*a sobre calidad+ cantidad ) caracter*sticas de los bienes que adquiere. El vendedor debe tener garant*a del pago. .a transacci,n debe tener un aceptable nivel de con0idencialidad.

En ocasiones+ se entiende que para garanti7ar estos 5ec5os+ comprador ) vendedor deben acreditar su identidad+ pero realmente s,lo necesitan demostrar su capacidad ) compromiso respecto a la transacci,n. De esta manera cada ve7 m-s sistemas de pago intentan garanti7ar la compra /an,nima/. En el comercio electr,nico se a1ade otro requerimiento que generalmente no se considera en otros sistemas de venta no presencial+ a(n cuando e2iste?
El comprador debe tener garant*a de que nadie pueda+ como consecuencia de la transacci,n que e0ect(a+ suplantar en un 0uturo su personalidad e0ectuando otras compras en su nombre ) a su cargo.

Se observa que al tratar los medios de pago en el comercio electr,nico+ se abordan 0undamentalmente los temas de seguridad+ garant*a ) acreditaci,n. A(n queda un requerimiento respecto a los medios de pago de cualquier tipo de comercio?
El costo por utili7ar un determinado medio de pago debe ser aceptable para el comprador ) el vendedor.

Al igual que cuando se utili7a una tar'eta de cr8dito para pagar en una tienda+ el comerciante acepta el pago de un porcenta'e sobre el importe de la compra a cambio del ma)or n(mero de ventas que espera reali7ar aceptando este medio de pagoF los medios de pago asociados al comercio electr,nico suelen conllevar un costo que los puede 5acer inapropiados o incluso inaceptables para importes peque1os+ los denominados micropagos. @ara reali7ar estos micropagos los sistemas suelen ser de uno de estos dos tipos? 1. El comprador adquiere dinero anticipadamente %prepago& para poder gastarlo
en peque1os pagos.

2. El comprador mantiene una cuenta que se liquida peri,dicamente ) no


transacci,n a transacci,n. Este sistema se utili7a 0recuentemente para el acceso a peque1as pie7as de in0ormaci,n de pago+ como por e'emplo+ art*culos de la prensa econ,mica.

En el comercio electr,nico pueden distinguirse dos tipos de medios de pago? Medios de pa+o tradicionalesH utili7ados en cualquier tipo de transacci,n comercial+ electr,nica o no. @or e'emplo? Contrarrembolso. Es el (nico medio de pago utili7ado en el comercio electr,nico que implica la utili7aci,n de dinero en e0ectivo. Co) d*a es uno de los medios de pago pre0eridos por el consumidor en general+ pues garanti7a la entrega de los bienes antes del pago. Desde el punto de vista del vendedor este medio de pago conlleva dos inconvenientes 0undamentales? el retraso del pago ) la necesidad de recolectar 0*sicamente el dinero por parte de quien reali7a la entrega. Car+os en cuenta %domiciliaci,n&. Suele emplearse para cargos peri,dicos o suscripciones+ por e'emplo+ el Eolet*n O0icial del Estado. Tar-eta de dNbito 5 de crNdito. Son el medio m-s popular ) tradicionalmente usado en el comercio electr,nico. @ara el comprador supone el pago al momento de reali7ar la transacci,n %d8bito& o a posteriori+ con o sin devengo de intereses %cr8dito&. @ara el vendedor+ suponen un cobro r-pido+ a cambio de una comisi,n que le descuenta el banco. Medios de pa+o espec8icosH para el nuevo entorno del comercio electr,nico+ especialmente !nternet. @or e'emplo? #ar'eta de cr8dito o d8bito+ s,lo utili7able para el comercio electr,nico. Su uso es escaso. !ntermediarios electr,nicos para sistemas basados en tar'etas de cr8dito tradicionales? $)ber$as5. 9irst 6irtual. ;oneda electr,nica En cualquiera de los casos+ los medios de pago utili7ados pueden ser de pago anticipado %prepago o /pa) be0ore/&+ inmediato %/pa) no</& o posterior %/pa) a0ter/&. Tar-etas de crNdito 5 dNbito Ampliamente usadas 5o) en d*a como medio de pago en el comercio electr,nico+ las tar'etas de cr8dito ) d8bito tradicionales 5an permitido la reali7aci,n de transacciones comerciales en el nuevo medio a trav8s de la

utili7aci,n de los procedimientos de liquidaci,n ) pago preestablecidos. Si se reali7a una compra en !nternet utili7ando una tar'eta de cr8dito como medio de pago+ la transacci,n comercial se ordena en la red+ pero la validaci,n ) la reali7aci,n e0ectiva del pago se e0ect(a a trav8s de los circuitos tradicionales de procesamiento de operaciones con tar'eta de cr8dito.En el esquema m-s general+ intervienen en este proceso los siguientes actores?
El comprador. El vendedor %/merc5ant/&. El banco emisor %/issuer/& de la tar'eta de cr8dito o d8bito que presenta el cliente. El banco que en nombre del vendedor recibe la transacci,n %/acquirer/& ) en el cual reside la cuenta en la que a 8ste se le va a liquidar el pago. .a red de medios de pago %/sc5eme/& como 6!SA o ;aster$ard.

El proceso de pago es como sigue? 1. Ana ve7 reali7ado el pedido+ el comprador proporciona su n(mero de tar'eta al
vendedor a trav8s de la red.

2. El centro servidor donde reside el vendedor env*a la transacci,n al banco /acquirer/ o


directamente a la red de medios de pago. Este env*o suele producirse 0uera de la red p(blica ) se reali7a de 0orma an-loga a como se e0ectuar- desde una terminal punto de venta %#@6& 0*sico que e2istiese en una tienda real. El banco receptor pide autori7aci,n al banco emisor a trav8s de la red de medios de pago. Si la transacci,n se autori7a+ la liquidaci,n del pago %trans0erencia de dinero desde la cuenta del comprador en el banco emisor 5asta la cuenta del vendedor en el banco receptor& se reali7a a trav8s de la red tradicional de medios de pago.

3. ".

$omo puede observarse el punto cr*tico de este proceso se produce cuando el comprador env*a su n(mero de tar'eta al vendedor a trav8s de una red p(blica potencialmente insegura como !nternet.El est-ndar que se utili7a en !nternet para asegurar esta trans0erencia da datos es el SS. %del !ngl8s+ Secure SocQets .a)er&.@ara la reali7aci,n de una transacci,n utili7ando SS. se requiere de dos elementos? 1. Xue el vendedor se 5a)a certi0icado con una organi7aci,n reconocida por las partes+ lo que supone un procedimiento administrativo ) el pago de unas tari0as de alta+ as* como la renovaci,n de tal certi0icaci,n. 2. Xue el comprador utilice un visor o navegador %/bro<ser/& compatible como SS.. 3. $on el uso del SS.? ". El comprador tiene garant*a de que el vendedor es quien dice ser ) que+ por tanto+ no est- entregando su n(mero de tar'eta a un posible impostor. 5. .a in0ormaci,n que env*a el comprador se ci0ra+ impidiendo el acceso a la misma por alguien distinto al vendedor. J. Se garanti7a la no:manipulaci,n de los datos entre el comprador ) el vendedor. K. .a versi,n 3 de SS. permite la autenticaci,n del comprador+ que debe recibir sus claves previamente de una autoridad de certi0icaci,n. .o que SS. no garanti7a es el aspecto econ,mico de la transacci,n+ de tal manera que s,lo con proporcionar un n(mero de tar'eta v-lido con saldo su0iciente cualquier persona podr*a intentar comprar electr,nicamente de 0orma 0raudulenta+ sobre todo si no e2iste una entrega 0*sica de los bienes en s* con una autoridad de certi0icaci,n. Ante esta limitaci,n+ en 1>>5 se constitu)eron dos grupos de traba'o liderados respectivamente por 6!SA ) ;aster$ard+ que comen7aron a de0inir dos est-ndares incompatibles para asegurar las transacciones dentro de !nternet. A0ortunadamente+ a principios de 1>>J debido a la presi,n del mercado %consumidores+ vendedores+ ) 0abricantes de tecnolog*a& ambos grupos se 0usionaron para la de0inici,n del est-ndar SE# %Secure Electronic #ransactions& en el que participan adem-s de

6!SA ) ;aster$ard+ empresas como ;icroso0t+ etscape+ !E;+ #erisa+ D#E+ SA!$+ 6eriSign ) otras compa1*as tecnol,gicas. SE# resuelve las siguientes necesidades? 1. $on0idencialidad de los datos+ tanto econ,micos+ como respecto a la naturale7a de los bienes comprados. 2. !ntegridad de los datos en la transacci,n+ sin la posibilidad de modi0icaciones intermedias. 3. Autenticaci,n del comprador como leg*timo usuario de un medio de pago. ". Autenticaci,n del comercio como poseedor de una cuenta de liquidaci,n con un banco vendedor. 5. $ompatibilidad entre m(ltiples plata0ormas /5ard<are/ ) /so0t<are/.

Antes de poder reali7ar una transacci,n SE#+ el cliente debe poseer un medio de pago ) recibir un certi0icado de la instituci,n 0inanciera emisora que inclu)e la 0irma digital de esa instituci,n ) una 0ec5a de e2piraci,n. De igual manera+ cada comercio debe tambi8n certi0icarse con la instituci,n 0inanciera donde posee la cuenta de liquidaci,n. As*+ cada uno de los agentes %comprador+ vendedor+ banco emisor+ banco adquirente& de una transacci,n posee una 0irma digital emitida por una autoridad de certi0icaci,n SE#. Tar-etas c3ip En pleno desarrollo+ las tar'etas c5ip o tar'etas inteligentes son aquellas que poseen una capacidad de almacenar in0ormaci,n en un c5ip que incorporan. 9undamentalmente esta in0ormaci,n suele ser? Ana identi0icaci,n que inclu)e determinadas claves ci0radas. Ana cantidad de dinero disponible. Antes de comprar es preciso cargarlas con dinero a trav8s de un ca'ero autom-tico. #ras reali7ar esta operaci,n 0uncionan como si contuvieran dinero en e0ectivo %/cas5/&. Este tipo de tar'etas son ideales para reali7ar micropagos+ tanto en el comercio del mundo 0*sico como en el virtual. o obstante+ su utili7aci,n en el comercio electr,nico requiere de un dispositivo conectado a la computadora personal+ un m,dem o l*nea de tel80ono que permita su lectura ) actuali7aci,n al reali7ar transacciones por la red. En contrapartida+ la e2istencia de /inteligencia/ local posibilita su utili7aci,n para m(ltiples aplicaciones? cupones de descuento+ aplicaciones de 0ideli7aci,n ) almacenamiento de datos espec*0icos del cliente. C5bercas3 @rocedente de la compa1*a 6eri0one+ especiali7ada en terminales punto de venta+ $)bercas5 es un sistema de reali7aci,n de transacciones en !nternet mediante el uso de tar'etas de cr8dito. Ana ve7 reali7ada la compra+ el comprador env*a sus datos ci0rados al vendedor. Este a1ade sus propios datos que lo identi0ican ) solicita autori7aci,n a $)ber$as5. A partir de aqu*+ $)ber$as5 se comunica con la red tradicional de medios de pago+ ) una ve7 obtenida la autori7aci,n de la transacci,n+ se la pasa al comercio.

$)ber$as5 tiene una 0ortale7a basada en la emisi,n de m-s de "44+444 carteras de clientes ) la cone2i,n con el I43 de los bancos estadounidenses pero puede verse seriamente a0ectada por la puesta en marc5a de SE#+ que reducir*a sensiblemente el valor a1adido de esta soluci,n+ por lo que estintentando adaptarse al nuevo est-ndar. !irst =irtual 9irst 6irtual %96& es un sistema de pagos operado por 9irst ASA ) EDS+ basado en el mantenimiento de cuentas virtuales de clientes que se liquidan peri,dicamente contra tar'etas de cr8dito. $ada posible comprador debe darse previamente de alta+ recibiendo un n(mero de identi0icaci,n personal % !@& s,lo utili7able en transacciones por !nternet. Al 5acer cada transacci,n+ el comprador env*a su !@ por correo electr,nico al vendedor+ el cual lo comprueba contra 96. Ana ve7 reali7ada la operaci,n de compra+ 96 solicita a trav8s de correo electr,nico la aceptaci,n del comprador+ por lo que no se precisa ning(n elemento de ci0rado para proteger los mensa'es+ ) procede a reali7ar el cargo en la cuenta. 96 se convierte as* en un centro de compensaci,n independiente de los bancos tradicionales ) al liquidar las operaciones peri,dicamente+ posibilita el uso de este medio para micropagos. 1 . ASP0CT&S T,$'UTA,$&S .as autoridades deben prever que el comercio electr,nico no socave la capacidad del Dobierno para recaudar los ingresos p(blicos v*a tributaci,n. Asimismo+ los principios de tributaci,n que rigen a los gobiernos en relaci,n con el comercio tradicional deber*an adecuarse para su aplicaci,n a esta nueva v*a de comerciali7aci,n. .a relaci,n e2istente entre la 'urisdicci,n tributaria ) el comercio electr,nico no es tan sencilla como se puede imaginar+ dado que el t8rmino /comercio electr,nico/ re(ne transacciones mu) diversas+ tanto en sus contenidos como en los su'etos intervinientes+ incluso en la 0orma de su e'ecuci,n+ pues la transacci,n puede concluirse ) reali7arse a trav8s de la propia Heb /on line/ o por medio de otros medios /o00 line/ como ser correo electr,nico. En Argentina+ las operaciones de comercio electr,nico se encuentran alcan7adas por los grav-menes que integran el sistema tributario argentino+ entre ellos+ el !mpuesto al 6alor Agregado. o obstante ello+ se 5a estimado conveniente evaluar su impacto para determinar si ) en qu8 medida la legislaci,n en vigor deber*a ser adaptada. A mediados de 1>>I se cre, en el -mbito del ;inisterio de Econom*a ) Obras ) Servicios @(blicos+ un Drupo de #raba'o sobre $omercio Electr,nico ) $omercio E2terior+ en el cual participaron distintos sectores del gobierno relacionados con el tema.

El ob'etivo de este Drupo 0ue e2aminar las implicancias de las distintas modalidades del comercio electr,nico en la Rep(blica Argentina ) los requerimientos que ellas plantean en materia de pol*ticas p(blicas+ partiendo de la premisa de que a las transacciones electr,nicas deber*an aplicarse los mismos principios de imposici,n que rigen respecto del comercio tradicional? %neutralidad+ e0iciencia+ seguridad ) simplicidad+ e0icacia e imparcialidad ) 0le2ibilidad&. El citado Drupo se encontraba dividido en cinco subgrupos de traba'o tem-ticos a saber? comercial+ legal+ tributario+ 0inanciero ) tecnol,gico. Debe destacarse que al Subgrupo de Asuntos #ributarios le correspondi, la tarea de anali7ar el impacto en la recaudaci,n 0iscal como consecuencia del avance de las operaciones de comercio electr,nico. En tal sentido+ dic5o subgrupo se aboc,+ en primer t8rmino+ al estudio del 0en,meno de la elusi,n ) la evasi,n tributaria como 0actor de distorsi,n del comercio electr,nico+ as* como la situaci,n impositiva ) aduanera de los bienes intangibles ) los servicios+ todo esto en el marco de la legislaci,n vigente ) de los compromisos internacionales asumidos. El Subgrupo de Aspectos #ributarios e0ectu, un an-lisis del comercio electr,nico ) de las distintas modalidades de imposici,n+ destac-ndose que resulta sumamente importante la distinci,n entre comercio electr,nico directo e indirecto. Ello en virtud de que+ el primero involucra bienes inmateriales que se trasmiten por la red+ mientras que el segundo+ no guarda di0erencia alguna con las ventas tele0,nicas. En atenci,n a ello+ se consider, necesario de0inir adecuadamente cada uno de los contratos involucrados a e0ectos de establecer el tratamiento impositivo a dispensarles. Ea'o ese entendimiento+ su in0orme aclara que se debe distinguir en primer lugar si el comprador es un su'eto individual o una empresa+ para seguidamente anali7ar cada tipo de transacci,n en particular. As* pues+ en el caso de que el adquirente sea una persona 0*sica ) el producto digitali7ado sea destinado a su consumo personal+ se estar- ante una prestaci,n de servicio+ pudiendo presentarse en el !mpuesto al 6alor Agregado las siguientes alternativas? a& Operaci,n e0ectuada con un prestador del e2terior? en este caso la transacci,n no se encuentra alcan7ada por el impuesto. b& Operaci,n e0ectuada por un prestador local a un no residente? la operaci,n se encuentra gravada a tasa 4. c& Operaci,n e0ectuada con un prestador local? la misma se encuentra su'eta al tributo. En cuanto a las transacciones reali7adas con empresas+ sean 8stas personas 'ur*dicas o empresas unipersonales+ corresponder- anali7ar cada contrato en

particular para tipi0icar adecuadamente el mismo. En particular+ pueden presentarse los siguientes casos? A& #ransmisi,n de So0t<are. En este caso se debe distinguir el ob'eto del contrato a 0in de determinar si se est- en presencia de una licencia de uso o una licencia de e2plotaci,n. En el primer caso+ la operaci,n recibir- el tratamiento de una prestaci,n de servicios+ mientras que en el segundo caso se le dispensar- el tratamiento de e2plotaci,n de derec5os de autor. #rat-ndose de una licencia de uso+ se pueden presentar diversas alternativas las que merecer-n el siguiente tratamiento en el !mpuesto al 6alor Agregado? Operaci,n e0ectuada con un prestador del e2terior? en este caso la transacci,n est- alcan7ada por el impuesto+ siempre que el prestatario no sea un su'eto e2ento o no alcan7ado por el impuesto. Operaci,n e0ectuada con un prestador local? la misma se encuentra su'eta al impuesto. @or el contrario+ si se tratara de una licencia de e2plotaci,n+ dic5a transacci,n se encuentra 0uera del ob'eto del !mpuesto al 6alor Agregado. En este caso no resultar*a aplicable la previsi,n contenida en el (ltimo p-rra0o del art*culo 3d de la le) del gravamen+ por cuanto los derec5os cedidos di0*cilmente se relacionar*an con una prestaci,n gravada+ en el sentido entendido por el dispositivo legal. E& #ransmisi,n de in0ormaci,n digitali7ada %e'emplo m(sica+ libros+ acceso a base de datos+ etc.&. Al igual que en el caso anterior+ se deber- distinguir el destino dado al producto. As*+ en caso de uso+ se estar- ante una prestaci,n de servicios+ mientras que si la transmisi,n est- destinada a permitir la reproducci,n del bien+ e2istir- trans0erencia de derec5os de autor+ pudiendo 8stos ser acompa1ados o no de trans0erencia de marca. $& #rans0erencia de in0ormaci,n t8cnica %e'emplo planos+ 0,rmulas+ etc.& En estos casos+ independientemente del destino dado al intangible+ se estarante una trans0erencia de tecnolog*a+ no resultando la operaci,n alcan7ada por el !mpuesto al 6alor Agregado. D& .ocaci,n de espacios publicitarios en sitios de la red. El in0orme se1al, que otro negocio que puede ser e2plotado a trav8s de una red es la locaci,n de espacios publicitarios en los llamados sitios Heb. Ana ve7 desarrollado el sitio Heb+ sus propietarios pueden ceder espacios publicitarios a aquellas empresas interesadas en dar a conocer sus productos o

reali7ar publicidad institucional en !nternet. De esta manera+ se genera la aparici,n de un negocio similar a la publicidad en los medios 5abituales de comunicaci,n. A 0in de establecer la imposici,n aplicable a los servicios de publicidad prestados por propietarios de sitios Heb+ corresponde se1alar que en el inciso b de su art*culo 1d de la .e) de !mpuesto al 6alor Agregado+ se inclu)e dentro del ob'eto del impuesto /... las prestaciones de servicios... reali7adas en el territorio de la aci,n/. En este sentido+ la norma dispone que en el caso de las telecomunicaciones internacionales+ /... se las entender- reali7adas en el pa*s en la medida en que su retribuci,n sea atribuible a la empresa ubicada en 8l/. Al respecto+ el Drupo de #raba'o se e2pidi, en el sentido de que dic5a norma podr*a ampliarse con la 0inalidad de incluir las prestaciones reali7adas a trav8s de sitios Heb+ debiendo establecerse en qu8 casos deber*a considerarse la e2istencia de e2portaci,n e importaci,n de servicios. A tales e0ectos+ ) de acuerdo con la le) del tributo+ se deber- dilucidar si el servicio es utili7ado econ,micamente en el territorio nacional+ por lo que se estim, necesario incorporar como presunci,n legal que el servicio serutili7ado en el territorio nacional si la empresa prestataria es residente en el pa*s. $aso contrario+ el servicio constituir- una e2portaci,n de servicio. El in0orme comentado 0inali7a a0irmando que la normativa actual del impuesto al valor agregado en lo atinente a las de0iniciones de ob'eto ) su'eto resulta comprensiva de las transacciones e0ectuadas electr,nicamente+ sin per'uicio de destacar la ausencia de algunos elementos constitutivos del 5ec5o imponible. Atento a ello+ se estim, conveniente sugerir la incorporaci,n en la .e) del !mpuesto al 6alor Agregado+ de disposiciones legales re0eridas al momento de nacimiento de la obligaci,n tributaria ) su base de c-lculo. Asimismo+ ) en relaci,n con la locaci,n de espacios publicitarios en la red+ se estim, conveniente sugerir el dictado de los supuestos legales+ relativos a la utili7aci,n e0ectiva de los servicios en el impuesto al valor agregado.

Unidad %. Microcontroladores.
&u' es un Microcontrolador

(uchos de los sistemas di+itales pueden dise<arse empleando procesadores o microcontroladores, la selecci*n del dispositi"o depende del tipo de aplicaci*n y la diferencia b&sica que e)iste entre estos dos dispositi"os se e)plica a continuaci*n'

%os procesadores son empleados para procesar informaci*n. # manera de ejemplo, con un procesador se podra hallar todas las personas en 6o+ot& entre edades de -? y 37 a<os, de se)o femenino, y ordenados por el #pellido. %os procesadores usan un conjunto de instrucciones ,tiles para procesar datos, lo cual los hace muy "ers&tiles para manejar informaci*n. %os microcontroladores son utili9ados como su nombre lo indica para controlar. Son muy utili9ados para implementar controles autom&ticos. Como ejemplo, un microcontrolador puede sensar la temperatura de un proceso, compararla con un "alor almacenado en memoria y tomar la decisi*n de encender un equipo de calefacci*n si la temperatura baja de cierto "alor, y adem&s de ello mostrar el "alor en un dis&la*.

%os microcontroladores +eneralmente tienen instrucciones especiales que permiten controlar procesos como el indicado anteriormente y otros m&s complejosF todo depende de la habilidad del pro+ramador para +enerar el c*di+o para manejar el proceso. Un microcontrolador es simplemente un procesador con memoria RO y R! , puertos de E/S y otros dispositi"os de prop*sito especial como con"ersores !/D, contadores, tempori9adores y puertos de comunicaci*n, o en otras palabras es un microcomputador con funciones especiales. !n la fi+ura --.E.- se indica la estructura interna tpica de un microcontrolador.

Ki+ura --.E.-. !structura tpica de un microcontrolador !stos dispositi"os +eneralmente incluyen "ariedad de funciones especiales que se pueden utili9ar +racias a los dispositi"os internos incluidos dentro de ellos. !ntre las caractersticas mas rele"antes de un microcontrolador, se pueden enunciar las si+uientes' o %a memoria de pro+rama +eneralmente es una Klash !!P$=(. o ;iene puertos de !ntrada y Salida (Confi+urables por softAare). o Poseen contadores de prop*sito especial. o ;iene incluido un reloj del sistema que permite contabili9ar tiempo. o #l+unos modelos incluyen con"ersores #: . o ;iene (emoria !!P$=( para almacenar datos. o ;iene puerto de comunicaciones. o (anejan "elocidades de operaci*n hasta 27 (89.

o
comunicaciones serial.

#l+unos de estos dispositi"os tienen puerto de ;ienen entradas para interrupci*n. %a pro+ramaci*n es r&pida. %as herramientas de desarrollo son econ*micas y se encuentran disponibles en a red, las cuales incluyen el ensamblador y simulador.

o o o

%os microcontroladores se pueden encontrar en "arias aplicaciones que se relacionen con medida, almacenamiento, control, c&lculo entre otras. ;ambi5n se pueden encontrar dentro de los teclados, m*dems, impresoras y otros perif5ricos. Como se puede notar los microcontroladores son dispositi"os muy "ers&tiles que pueden ser utili9ados en muchas aplicaciones, donde todo el potencial se encuentra en la pro+ramaci*n.
Como seleccionar un microcontrolador

entro de cada familia de dispositi"os, usted encontrar& normalmente una selecci*n de "arios microcontroladores dependiendo de los dispositi"os internos que ten+a disponibles, y la capacidad de memoria de pro+rama y datos. %os microcontroladores tambi5n se especifican por la cantidad de bits que pueden procesar por unidad de tiempo. Un n,mero alto de bits indica que se trata de un dispositi"o r&pido y de altas prestaciones. %os microcontroladores de / bits son muy populares y se emplean en proyectos simples, sin embar+o se encuentran arquitecturas que manejan hasta 32 bits, para aplicaciones m&s complejas. !l consumo de potencia es otra especificaci*n que se debe tener en cuenta, sobre todo para sistemas alimentados por bateras. %os C'i&s normalmente son fabricados con tecnolo+a C OS debido al consumo bajo que ofrece. #l+unos de estos dispositi"os C OS tienen disponible un estado de espera o modo +slee&+, como el de los compuatdores cuando se suspenden, el cual limita el consumo de corriente en unos cuantos microamperios cuando los circuitos se encuentran inacti"os. Usando este modo de funcionamiento, el consumo de potencia puede ser reducido cuando se da espera a la entrada de datos durante la ejecuci*n de un pro+rama.
Microcontroladores disponibles en el mercado

!n esta secci*n se describen al+unos microcontroladores populares que pueden ser empleados para infinidad de aplicaciones. %o m&s recomendable en la selecci*n de un microcontrolador es tener disponible un buen jue+o de herramientas de desarrollo y que su costo no sea tan ele"ado, adem&s de ello tambi5n es importante tener acceso a la documentaci*n del dispositi"o para conocer su arquitectura y funciones. Para iniciarse en la pro+ramaci*n de estos dispositi"os +eneralmente son recomendables los microcontroladores de I@;!%, (=;=$=%# y (IC$=C8IP entre otros, de los cuales se consi+uen con facilidad sus herramientas de desarrollo y documentaci*n. # continuaci*n de dar& una bre"e descripci*n de los dispositi"os de cada una de estas (arcas. ,! -.-! /012" /03/4 5 -67E. %os microcontroladores de la serie /7?-, son la se+unda +eneraci*n despu5s del /74/. !ste dispositi"o es muy poderoso y f&cil para pro+ramar. ;iene arquitectura 8ar"ard, es decir, que los la memoria de datos y pro+rama se encuentran por separado en su estructura. %a memoria del pro+rama es de 04O y la memoria de datos es de -2/ bytes y 2?0 bytes para los /7?2. 8ay disponible +ran cantidad de softAare de desarrollo para los microcontroladores de esta familia que puede ser encontrado en Internet. %a tercera +eneraci*n de estos microcontroladores son los de la familia /7C-.0, los cuales manejan palabras de -0 bits. !ntre las principales caractersticas de estos

dispositi"os se pueden enumerar las si+uientes' efect,an operaciones de multiplicaci*n y di"isi*n el hardAare multiplica y di"ide, 0 modos de direccionamiento, Sistema de !:S de alta "elocidad, Con"ersor #: , m*dulo de comunicaci*n serial, / fuentes de interrupci*n, +enerador de PJ(, Jatchdo+ ;imer. !)iste tambi5n el microcontrolador /08/4 E2, el cual tiene toda la potencialidad de un procesador /73/0 pero con dispositi"os adicionales que lo con"ierten en un microcontrolador muy potente y "ers&til. !ste dispositi"o tiene puerto serial, modos de ahorro de ener+a, contadores y tempori9adores, memoria $#( y fuentes de interrupci*n. ,! -.-! 4/9C33 5 O7ORO.!

!l 0/8C-- es un microcontrolador de / bits. !ste microcontrolador tiene bus de direcciones interno de -0 bits con un jue+o de instrucciones similar al de sus predecesores de las familias 0/7-, 0/7? y 0/7.. %a arquitectura de estos microcontroladores es 1onB@eAman, es decir, que las direcciones y los datos comparten el mismo espacio en memoria. ependiendo de la "ariedad, los 0/8C-- tienen !!P$=( incorporada, $#(, entradas y salidas di+itales, tempori9adores, con"ersor #: , +enerador de PJ(, contadores de pulsos, puerto de comunicaciones seriales sincr*nicas y asincr*nicas, entre otras funciones. P-C34C 5 -CROC9-P

%os microcontroladores de (icrochip fueron los primeros dispositi"os $ISC. $ISC si+nifica que el dispositi"o tiene un n,mero reducido de instrucciones, lo cual implica simplicidad en su arquitectura y bajo costo. #unque estos microcontroladores tienen pocas instrucciones (33 para el PIC-0CPP) en la actualidad son muy utili9ados por su facilidad de pro+ramaci*n y costo reducido. !stos dispositi"os son de arquitectura 9ar:ard, por lo cual teien buses de datos y direcciones separados. %os beneficios que tiene este dispositi"o frente a los dem&s es su sencille9, lo cual permite fabricarlo en c'i&s muy peque<os, con la "entaja adicional de consumir muy poca ener+a. !stos dispositi"os son muy populares y +eneralmente se encuentran en aplicaciones en re"istas de electr*nica e Internet. #ctualmente e)isten "arias familias de este microcontrolador entre las cuales se pueden destacar la PIC-0C?P, PIC-0CPP, y la PIC-ECPP, que tambi5n se pueden conse+uir con memoria Klash en las familias PIC-0KPPP

.1

Arquitectura.

Arquitectura Von Neumann La arquitectura tradicional de computadoras y microprocesadores est basada en la arquitectura 6on :eumann, en la cual la unidad central de proceso CPU!, est conectada a una memoria )nica donde se guardan las instrucciones del programa y los datos. $l tama/o de la unidad de datos o instrucciones est 'ijado por el anc-o del bus que comunica la memoria con la CPU. As, un microprocesador de C bits con un bus de C bits, tendr que manejar datos e instrucciones de una o ms unidades de C bits bytes! de longitud. %i tiene que acceder a una instrucci(n o dato de ms de un byte de longitud,

tendr que reali3ar ms de un acceso a la memoria. N el tener un )nico bus -ace que el microprocesador sea ms lento en su respuesta, ya que no puede buscar en memoria una nueva instrucci(n mientras no ?nalicen las trans'erencias de datos de la instrucci(n anterior. "esumiendo todo lo anterior, las principales limitaciones que nos encontramos con la arquitectura 6on :eumann son: *. La limitaci(n de la longitud de las instrucciones por el bus de datos, que -ace que el microprocesador tenga que reali3ar varios accesos a memoria para buscar instrucciones complejas. +. La limitaci(n de la velocidad de operaci(n a causa del bus )nico para datos e instrucciones que no deja acceder simultneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso.

Arquitectura Harvard La arquitectura Harvard tiene la unidad central de proceso CPU! conectada a dos memorias una con las instrucciones y otra con los datos! por medio de dos buses di'erentes. Una de las memorias contiene solamente las instrucciones del programa #emoria de Programa!, y la otra s(lo almacena datos #emoria de Datos!. Ambos buses son totalmente independientes y pueden ser de distintos anc-os. Para un procesador de %et de 8nstrucciones "educido, o "8%C "educed 8nstrucci(n %et Computer!, el set de instrucciones y el bus de memoria de programa pueden dise/arse de tal manera que todas las instrucciones tengan una sola posici(n de memoria de programa de longitud. Adems, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecuci(n de una instrucci(n, y al mismo tiempo leer la siguiente instrucci(n a ejecutar. 6entajas de esta arquitectura: *. $l tama/o de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimi3ado para que cualquier instrucci(n ocupe una sola posici(n de memoria de programa, logrando as, mayor velocidad y menor longitud de programa. +. $l tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operaci(n. Una peque/a desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran ',sicamente en la

memoria de programa por ejemplo en la $P"7# de un microprocesador!.

$l microcontrolador P8C *AJC> posee arquitectura Harvard, con una memoria de datos de C bits, y una memoria de programa de *> bits. $n la Jigura I vemos la arquitectura interna organi3ada en bloques interconectados, en donde se incluye la memoria "A#, la memoria $$P"7#, los puertos de entrada y salida 857!, etc. El procesador $s el elemento ms importante del microcontrolador y determina sus principales caracter,sticas, tanto a nivel -ard=are como so't=are. %e encarga de direccionar la memoria de instrucciones, recibir el c(digo 7P de la instrucci(n en curso, su decodi?caci(n y la ejecuci(n de la operaci(n que implica la instrucci(n, as, como la b)squeda de los operandos y el almacenamiento del resultado. $.isten tres orientaciones en cuanto a la arquitectura y 'uncionalidad de los procesadores actuales. 17,1 Un gran n)mero de procesadores usados en los microcontroladores estn basados en la ?loso',a C8%C Computadores de Ouego de 8nstrucciones Complejo!. Disponen de ms de C1 instrucciones mquina en su repertorio, algunas de las cuales son muy so?sticadas y potentes, requiriendo muc-os ciclos para su ejecuci(n. Una ventaja de los procesadores C8%C es que o'recen al programador instrucciones complejas que act)an como macros, es decir, ;7,1 4anto la industria de los computadores comerciales como la de los microcontroladores estn decantndose -acia la ?loso',a "8%C Computadores de Ouego de 8nstrucciones "educido!. $n estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencille3 y rapide3 de las instrucciones permiten optimi3ar el -ard=are y el so't=are del procesador.

,7,1 $n los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es espec,?co, o sea, las instrucciones se adaptan a las necesidades de la aplicaci(n prevista. $sta 'iloso',a se -a bauti3ado con el nombre de %8%C Computadores de Ouego de 8nstrucciones $spec,'ico!.

,eg)n la arquitectura interna de la memoria del microcontrolador se puede distinguir entre:


#icrocontroladores con arquitectura 6on :eumann. #icrocontroladores con arquitectura Harvard.

8nicialmente, todos los microcontroladores adoptaron la arquitectura clsica de 6on :eumann. Actualmente, muc-os microcontroladores utili3an esta arquitectura, pero poco a poco se impone la arquitectura Harvard. .a arquitectura de 6on :eumann se caracteri3a por disponer de una sola memoria principal donde se almacenan datos e instrucciones de 'orma indistinta. A dic-a memoria se accede por un sistema de buses

)nico direcciones, datos y control!. $sta arquitectura presenta algunos problemas cuando se demanda rapide3. .a arquitectura Harvard dispone de dos memorias independientesP una, que contiene s(lo instrucciones y otra, s(lo datos. Ambas, disponen de sus respectivos sistemas de buses de acceso y es posible reali3ar operaciones de acceso lectura o escritura! simultneamente en ambas memorias. $sta estructura no modi'ica nada desde el punto de vista del usuario y la velocidad de ejecuci(n de los programas es impresionante. -ttp:55-tml.rincondelvago.com5adquisicion2de2magnitudes2'isicas2 mediante2microcontrolador.-tml Arquitectura cerrada o abierta. Entre los 'abricantes de microcontroladores -ay dos tendencias para resolver las demandas de los usuarios. .os microcontroladores con arquitectura cerrada poseen una determinada UCP, cierta cantidad de memoria de datos, cierto tipo y capacidad de memoria de instrucciones, un n)mero de $5% y un conjunto de recursos au.iliares muy concreto. $l modelo no admite variaciones ni ampliaciones. La aplicaci(n a la que se destina debe encontrar en su estructura todo lo que precisa, y en caso contrario, -ay que desec-arlo. .os microcontroladores con arquitectura abierta se caracteri3an porque, adems de poseer una estructura interna determinada, emplean sus l,neas de $5% para sacar al e.terior los buses de datos, direcciones y control, con lo que se posibilita la ampliaci(n de la memoria y las $5% con circuitos integrados e.ternos. $sta soluci(n se asemeja a la que emplean los clsicos microprocesadores. La l,nea que separa unos de otros es muy delgada, pero el concepto de microcontrolador se acerca posiblemente ms a la arquitectura cerrada.
.os microcontroladores @!$ est-n basados en la arquitectura .ar#ard que posee buses ) espacios de memoria di0erenciados para los datos ) las instrucciones. Dracias a ella se puede acceder de 0orma simult-nea e independiente a la memoria de datos ) a la memoria de instrucciones+ por tanto son m-s r-pidos que los microcontroladores basados en la arquitectura tradicional de =on 1euman. @or otro lado+ esta independencia entre datos e instrucciones permite que cada uno tenga el tama1o m-s adecuado. As*+ los datos tienen una longitud de I bits+ mientras que las instrucciones son de 1" bits %9igura J:J&.

$omo se observa en la 9igura J:K el @!$1J9I" consta de un procesador con una A.A ) un Decodi0icador de !nstrucciones+ una memoria de programa tipo 9.ASC de 1G palabras de 1" bits+ una memoria de datos SRA; con JI posiciones de I bits. #ambi8n e2iste una 7ona de J" b)tes de EE@RO; para datos no vol-tiles. 9inalmente dispone de interrupciones+ un tempori7ador+ perro guardi-n ) dos puertas A ) E de entrada ) salida de in0ormaci,n digital.

5ttp?//<<<.dte.upct.es/docencia/temarios/tecnBelectricidadBelectBdig/#emaJ.@D9

.1.1 .1.2

Terminales. CPU.

Arquitectura del procesador o UCP. ,eg)n la 'iloso',a de la arquitectura del procesador se puede distinguir entre:

#icrocontroladores C8%C. #icrocontroladores "8%C. #icrocontroladores %8%C.

%n microcontrolador basado en la 'iloso',a C8%C Computadores de Ouego de 8nstrucciones Complejo! dispone de ms de C1 instrucciones mquina en su repertorio, algunas de las cuales son muy so'isticadas y potentes, requiriendo muc-os ciclos para su ejecuci(n. Una ventaja de los procesadores C8%C es que o'recen al programador instrucciones complejas que act)a como macros. -anto la industria de los computadores comerciales como los de los microcontroladores estn decantndose -acia la 'iloso',a "8%C Computadores de Ouego de 8nstrucciones "educido!. $n estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecuta en un solo ciclo. La sencille3 y rapide3 de las instrucciones permiten optimi3ar el -ard=are y el so't=are del procesador. En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es espec,'ico, o sea, las instrucciones se adaptan a las necesidades de la aplicaci(n prevista. $sta 'iloso',a se -a bauti3ado con el nombre de %8%C Computadores de Ouego de 8nstrucciones $spec,'ico!. -ttp:55-tml.rincondelvago.com5adquisicion2de2magnitudes2'isicas2 mediante2microcontrolador.-tml

2.%. - ocesado .
Es el elemento m-s importante del microcontrolador tanto a nivel 5ard<are como so0t<are. Se encarga de direccionar la memoria de instrucciones+ recibir el c,digo O@ %opcode& de la instrucci,n en curso+ su decodi0icaci,n ) la e'ecuci,n de la operaci,n aritm8tica o l,gica que implica la instrucci,n+ as* como la b(squeda de los operandos ) el almacenamiento del resultado. .a necesidad de conseguir rendimientos elevados en el procesamiento de las instrucciones 5a desembocado en el empleo generali7ado de procesadores de arquitectura .ard#ard+ 0rente a los tradicionales que segu*an la arquitectura de =on 1euman. Esta (ltima se caracteri7a porque la $@A se conectaba a una memoria (nica donde coe2ist*an datos e instrucciones a trav8s de un sistema de buses. En la arquitectura .ar#ard son independientes la memoria de instrucciones ) la memoria de datos ) cada una dispone de su propio sistema de buses para el acceso. Esto propicia el paralelismo %9igura J:5&.

El procesador o $@A.
El procesador responde a la arquitectura R!S$+ que se identi0ica porque el 'uego de instrucciones se reduce a 35+ donde la ma)or*a se e'ecutan en un solo ciclo de relo'+ e2cepto las instrucciones de salto que necesitan dos ciclos. .a A.A %Arit.metic 6o)ic Unit& ubicada dentro del procesador reali7a las operaciones l,gicas ) aritm8ticas con dos operandos+ uno que recibe desde el registro J %registro de traba'o& ) otro que puede provenir de cualquier registro interno %9igura J:K&.

.1.3

0spacio de Memoria.

<emoria $n los microcontroladores la memoria de instrucciones y datos est integrada en el propio c-ip. Una parte debe ser no voltil, tipo "7#, y se destina a contener el programa de instrucciones que gobierna la aplicaci(n. 7tra parte de memoria ser tipo "A#, voltil, y se destina a guardar las variables y los datos. Hay dos peculiaridades que di'erencian a los microcontroladores de los computadores personales: :o e.isten sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador s(lo se destina a una tarea en la memoria "7#, s(lo -ay que almacenar un )nico programa de trabajo. La "A# en estos dispositivos es de poca capacidad pues s(lo debe contener las variables y los cambios de in'ormaci(n que se produ3can en el transcurso del programa. Por otra parte, como s(lo e.iste un programa activo, no se requiere guarda r una copia del mismo en la "A# pues se ejecuta directamente desde la "7#. Los usuarios de computadores personales estn -abituados a manejar #egabytes de memoria, pero, los dise/adores con microcontroladores trabajan con capacidades de "7# comprendidas

entre I*+ bytes y C M bytes y de "A# comprendidas entre +1 y I*+ bytes. %eg)n el tipo de memoria "7# que dispongan los microcontroladores, la aplicaci(n y utili3aci(n de los mismos es di'erente. %e describen las cinco versiones de memoria no voltil que se pueden encontrar en los microcontroladores del mercado. ;G< con m&scara $s una memoria no voltil de s(lo lectura cuyo contenido se graba durante la 'abricaci(n del c-ip. %i tenemos idea de c(mo se 'abrican los circuitos integrados, sabremos de donde viene el nombre. $stos se 'abrican en obleas que contienen varias decenas de c-ips. $stas obleas se 'abrican a partir de procesos 'otoqu,micos, donde se impregnan capas de silicio y o.ido de silicio, y seg)n convenga, se erosionan al e.ponerlos a la lu3. Como no todos los puntos -an de ser erosionados, se sit)a entre la lu3 y la oblea una mascara con agujeros, de manera que donde deba incidir la lu3, esta pasar. Con varios procesos similares pero ms complicados se consigue 'abricar los transistores y diodos microm0tricos que componen un c-ip. A-ora ya sabes de donde viene la mscara y no te acostars sin saber una cosa ms. $l elevado coste del dise/o de la mscara s(lo -ace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. G-' $l microcontrolador contiene una memoria no voltil de s(lo lectura programable una sola ve3 por el usuario. 74P 7ne 4ime Programmable!. $s el usuario quien puede escribir el programa en el c-ip mediante un sencillo grabador controlado por un programa desde un PC. La versi(n 74P es recomendable cuando es muy corto el ciclo de dise/o del producto, o bien, en la construcci(n de prototipos y series muy peque/as. 4anto en este tipo de memoria como en la $P"7#, se suele usar la encriptaci(n mediante 'usibles para proteger el c(digo contenido. E';G< Los microcontroladores que disponen de memoria $P"7# $rasable Programmable "ead 7n8y #emory! pueden borrarse y grabarse muc-as veces. La grabaci(n se reali3a, como en el caso de los 74P, con un grabador gobernado desde un PC. %i, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su super?cie por la que se somete a la $P"7# a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los microcontroladores con memoria 74P que estn -ec-os con material plstico. EE';G<, EH';G< o EHPRO( %e trata de memorias de s(lo lectura, programables y borrables el0ctricamente $$P"7# $lectrical $rasable Programmable "ead 7n8y #emory!. 4anto la programaci(n como el borrado, se reali3an

el0ctricamente desde el propio grabador y bajo el control programado de un PC. $s muy c(moda y rpida la operaci(n de grabado y la de borrado. :o disponen de ventana de cristal en la super'icie. Los microcontroladores dotados de memoria $$P"7# una ve3 instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dic-o circuito. Para ello se usan Qgrabadores en circuitoQque con'ieren una gran 'le.ibilidad y rapide3 a la -ora de reali3ar modi?caciones en el programa de trabajo. $l n)mero de veces que puede grabarse y borrarse una memoria $$P"7# es 'inito, por lo que no es recomendable una reprogramaci(n continua. %on muy id(neos para la ense/an3a y la 8ngenier,a de dise/o. %e va e.tendiendo en los 'abricantes la tendencia de incluir una peque/a 3ona de memoria $$P"7# en los circuitos programables para guardar y modi'icar c(modamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. $ste tipo de memoria es relativamente lenta, como ya veremos ms adelante. I.A,H %e trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Junciona como una "7# y una "A# pero consume menos y es ms peque/a. A di'erencia de la "7#, la memoria JLA%H es programable en el circuito. $s ms rpida y de mayor densidad que la $$P"7#. La alternativa JLA%H est recomendada 'rente a la $$P"7# cuando se precisa gran cantidad de memoria de programa no voltil. $s ms velo3 y tolera ms ciclos de escritura5borrado. Las memorias $$P"7# y JLA%H son muy )tiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados en circuito, es decir, sin tener que sacar el circuito integrado de la tarjeta. As,, un dispositivo con este tipo de memoria incorporado al control del motor de un autom(vil permite que pueda modi?carse el programa durante la rutina de mantenimiento peri(dico, compensando los desgastes y otros 'actores tales como la compresi(n, la instalaci(n de nuevas pie3as, etc. La reprogramaci(n del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.

'uertas de Entrada y ,alida

.1.

0ntrada% Salida.

Las puertas de $ntrada y %alida $5%! permiten comunicar al procesador con el mundo e.terior, a trav0s de inter'aces, o con otros dispositivos. $stas puertas, tambi0n llamadas puertos, son la principal utilidad de las patas o pines de un microprocesador. %eg)n los controladores de peri'0ricos que posea cada modelo de microcontrolador, las l,neas de $5% se destinan a proporcionar el soporte a las se/ales de entrada, salida y control.

@eri08ricos digitales de entrada.


Pulsadores. Estos dispositivos permiten introducir un nivel l,gico en el momento que se les acciona+ pasando al nivel contrario cuando se de'a de 5acerlo %vuelven a la posici,n de reposo&. En el esquema de la i7quierda de la 9igura J:1" la l*nea de entrada %! & recibe un nivel

l,gico alto cuando el pulsador est- reposo ) un nivel l,gico ba'o cuando se acciona. El pulsador de la derec5a 0unciona al rev8s.

Ca) multitud de detectores+ 0inales de carrera ) sensores digitales que 0uncionan de la misma manera que los pulsadores. $nterruptores. .os interruptores tienen dos estados estables ) 5a) que accionarlos para cambiar de uno a otro. El interruptor admite el estado a,ierto ) el estado cerrado. .as 0ormas de conectar un interruptor a una entrada del microcontrolador son iguales a las de la 0igura J:1"+ sustitu)endo el pulsador por el interruptor. #odos los circuitos electromec-nicos %pulsadores+ interruptores+...& originan un 0en,meno denominado OrebotesP? las l-minas se abren ) se cierran varias veces en el momento de la transici,n %9igura J:15&. El e0ecto que produce es seme'ante a abrir ) cerrar el interruptor o pulsador varias veces+ por lo que puede provocar resultados err,neos.

El e0ecto de los rebotes se puede solucionar bien mediante so0t<are+ o bien por 5ard<are. En la 9igura J:1J se muestran dos circuitos 5ard<are antirrebotes. El circuito de la i7quierda emplea un condensador ) el de la derec5a un 0lip:0lop R:S.

@eri08ricos digitales de salida


"iodos (0". El diodo led es un elemento que se emplea como indicador luminoso. $uando la di0erencia de potencial entre su -nodo ) su c-todo supere un determinado valor umbral el diodo led se encender-. .as l*neas de los @!$ pueden suministrar su0iciente corriente como para encender a un diodo led+ por eso se pueden conectar directamente a trav8s de una

resistencia como muestra la 9igura J:1K. Si empleamos la cone2i,n de la i7quierda de la 0igura+ el diodo led se encender- al poner a e1f la salida del microcontrolador+ mientras que con la cone2i,n de la derec5a lo 5ar- cuando la salida se ponga a e4f.

En ocasiones+ los diodos u otro tipo de carga necesitan m-s corriente que la que pueden entregar las l*neas de los @!$. En ese caso es necesario intercalar una etapa ampli0icadora. ,elNs .a activaci,n ) desactivaci,n de un rel8 brinda la oportunidad de poder controlar cargas muc5o ma)ores %m-s corriente& porque pueden ser controladas por los contactos de dic5o rel8 %9igura J:1I&. $uando la l*nea de salida+ OA#+ aplica un nivel alto a la base del transistor Darlington %etapa ampli0icadora& 5ace que condu7ca ) se active el rel8. Al cerrarse los contactos del rel8 se controla una carga ma)or. El valor de la resistencia depende del tipo de rel8 ) del transistor.

-ttp:55===.dte.upct.es5docencia5temarios5tecn?electricidad?elect?dig54emaA.PDJ

;elo principal

.1.)

Caractersticas especiales.

4odos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta 'recuencia, que con'igura los impulsos de reloj usados en la sincroni3aci(n de todas las operaciones del sistema. $sta se/al del reloj es el motor del sistema y la que -ace que el programa y los contadores avancen. Reneralmente, el circuito de reloj est incorporado en el microcontrolador y s(lo se necesitan unos pocos componentes e.teriores para seleccionar y estabili3ar la 'recuencia de trabajo. Dic-os componentes suelen consistir en un cristal de cuar3o junto a elementos pasivos o bien un resonador cermico o una red "2C. Aumentar la 'recuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energ,a y de calor generado.

;E1%;,G, E,'E17A.E,
Cada 'abricante o'erta numerosas versiones de una arquitectura bsica de microcontrolador. $n algunas ampl,a las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al m,nimo para aplicaciones muy simples, etc. La labor del dise/ador es encontrar el modelo m,nimo que satis'aga todos los requerimientos de su aplicaci(n. De esta 'orma,

minimi3ar el coste, el -ard=are y el so't=are. Los principales recursos espec,'icos que incorporan los microcontroladores son: 4empori3adores o -imers. Perro guardin o=atchdog. Protecci(n ante 'allo de alimentaci(n o >rownout. $stado de reposo o de bajo consumo ,leep mode!. Conversor A5D Anal(gico 2SDigital!. Conversor D5A Digital 2SAnal(gico!. Comparador anal(gico. #odulador de anc-ura de impulsos o P&# 'ulse=ide <odulation!. Puertas de $5% digitales. Puertas de comunicaci(n. A continuaci(n pasamos a ver con un poco ms de detalle cada uno de ellos

-emporizadores o -imers
%e emplean para controlar periodos de tiempo tempori3adores! y para llevar la cuenta de acontecimientos que suceden en el e.terior contadores!. Para la medida de tiempos se carga un registro con el valor adecuado y a continuaci(n dic-o valor se va incrementando o decrementando al ritmo de los impulsos de reloj o alg)n m)ltiplo -asta que se desborde y llegue a 1, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materiali3an por cambios de nivel o 'lancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dic-os impulsos. 6aya, nos -emos metido en t0rminos de microcontroladores demasiado pronto. @ueno, con el 'in de aclarar que es un registro, anticipamos que es un valor num0rico en una posici(n 'ija de memoria. Un ejemplo: esto es igual que el segundero de nuestro reloj digital, este va aumentando -asta que llega a A1 segundos, pero en la pantalla pone 11, esto quiere decir que se desborda. Pero cuando cambia da un aviso y se incrementan los minutos. $n este ejemplo, el registro es el segunderoP estos son 'ijos ya que sabemos que son los de la derec-a del todo y no se van a cambiar.

'erro guardi&n o=atchdog


Cuando el computador personal se bloquea por un 'allo del so't=are u otra causa, se pulsa el bot(n del reset y se reinicia el sistema. Pero un microcontrolador 'unciona sin el control de un supervisor y de 'orma continuada las +> -oras del d,a. $l Perro Ruardin consiste en un contador que, cuando llega al m.imo, provoca un reset automticamente en el sistema. %e debe dise/ar el programa de trabajo que controla la tarea de 'orma que resetee al Perro Ruardin de ve3 en cuando antes de que provoque el reset. %i 'alla el programa o se bloquea si cae en bucle in?nito!, no se re'rescar al Perro guardin y, al completar su tempori3aci(n, provocar el reset del sistema.

'roteccin ante $allo de alimentacin o >rownout


%e trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentaci(n 6DD! es in'erior a un voltaje m,nimo bro=nout!. #ientras el voltaje de alimentaci(n sea in'erior al de bro=nout el dispositivo se mantiene reseteado, comen3ando a 'uncionar normalmente cuando sobrepasa dic-o valor. $sto es muy )til para evitar datos err(neos por transiciones y ruidos en la l,nea de alimentaci(n

Estado de reposo de #a o consumo


%on abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin -acer nada, a que se produ3ca alg)n acontecimiento e.terno que le ponga de nuevo en 'uncionamiento. Para a-orrar energ,a, 'actor clave en los aparatos porttiles!, los microcontroladores disponen de una instrucci(n especial %L$$P en los P8C!, que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son m,nimos. $n dic-o estado se detiene el reloj principal y se congelan sus circuitos asociados, quedando sumido en un pro'undo

sue/o. Al activarse una interrupci(n ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo. Para -acernos una idea, esta 'unci(n es parecida a la opci(n de %uspender en el men) para apagar el equipo en aquellos PCs con administraci(n avan3ada de energ,a!

1onversor A68 91A8:


Los microcontroladores que incorporan un Conversor A5D Anal(gico5Digital! pueden procesar se/ales anal(gicas, tan abundantes en las aplicaciones. %uelen disponer de un multiple.or que permite aplicar a la entrada del CAD diversas se/ales anal(gicas desde las patillas del circuito integrado.

1onversor 86A 918A:


4rans'orma los datos digitales obtenidos del procesamiento del computador en su correspondiente se/al anal(gica que saca al e.terior por una de las patillas del c-ip. $.isten muc-os circuitos que trabajan con se/ales anal(gicas.

1omparador analgico
Algunos modelos de microcontroladores disponen internamente de un Ampli'icador 7peracional que act)a como comparador entre una se/al 'ija de re'erencia y otra variable que se aplica por una de las patitas de la cpsula. La salida del comparador proporciona un nivel l(gico * ( 1 seg)n una se/al sea mayor o menor que la otra. 4ambi0n -ay modelos de microcontroladores con un m(dulo de tensi(n de re'erencia que proporciona diversas tensiones de re'erencia que se pueden aplicar en los comparadores.

<odulador de anchura de impulsos o '=<


%on circuitos que proporcionan en su salida impulsos de anc-ura variable, que se o'recen al e.terior a trav0s de las patitas del encapsulado.

'uertos digitales de E6,


4odos los microcontroladores destinan parte de su patillaje a soportar l,neas de $5% digitales. Por lo general, estas l,neas se agrupan de oc-o en oc-o 'ormando Puertos. Las l,neas digitales de las Puertos pueden con'igurarse como $ntrada o como %alida cargando un * ( un 1 en el bit correspondiente de un registro destinado a su con'iguraci(n. 7tra ve3 ms nos volvemos a meter con unos, ceros y registros paciencia que pronto llega lo mejor.

'uertas de comunicacin
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos e.ternos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan: UA"4, adaptador de comunicaci(n serie as,ncrona. $j: Puerto %erie! U%A"4, adaptador de comunicaci(n serie s,ncrona y as,ncrona Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores. U%@ Universal %erial @us!, que es un moderno bus serie para los PC. @us 8+C, que es un inter'a3 serie de dos -ilos desarrollado por P-ilips. CA: Controller Area :et=orM!, para permitir la adaptaci(n con redes de cone.ionado multiple.ado desarrollado conjuntamente por @osc- e 8ntel para el cableado de dispositivos en autom(viles. $n $$.UU. se usa el O*CI7. 4anto el 8+C en televisores, como el @us CA: en autom(viles, 'ueron dise/ados para simpli'icar la circuiter,a que supone un bus paralelo de C l,neas dentro de un televisor, as, como para librar de la carga que supone una cantidad ingente de cables en un ve-,culo.

.2

Pro+ramacin. .2.1 Modelo de pro+ramacin.

Modelo de programacin El modelo de pro&ramacin es un dia&rama de 1loques simplificado en el que slo aparecen los elementos que el pro&ramador puede mane;ar mediante el con;unto de instrucciones. En el !CK@EEE se dispone de 1J re&istros de 87 1its de propsito &eneral 8-E--L3 AEAL9! un puntero contador de pro&rama 8'C9 de 87 1its! + un re&istro de cdi&os de condicin 8CCR9 de G 1its. Los primeros G re&istros 8-E--L9 se utilizan como re&istros de datos para 1+tes (G 1its)! Bords (1J 1its) + lon& Bords (87 1its). Los re&istros del se&undo 1loque de G 8AE-AL9 pueden ser utilizados como punteros de pila o como 1ases de direcciones. En concreto el re&istro AL es adoptado por el microprocesador como puntero de la pila del sistema. )dem"s! los re&istros de direcciones pueden ser utilizados en operaciones con Bords + lon& Bords. ?odos los re&istros pueden utilizarse como re&istros <ndice. Ee&istro de datos

Ee&istros de direcciones

(4:,) ,untero de pila de usuario ,untero de pro&rama

**E Ee&istro de cdi&os de condicin

Esquema de los registros del !CK@EEE.

En estado supervisor se dispone de otros dos re&istros2 ,or una parte! el puntero de la pila del supervisor (SS' :upervisor :tac- ,ointer) que sustitu+e al US' + por tanto se esta1lece como AL en modo supervisor. )dem"s se dispone del re&istro de estado (SR :tatus Ee&ister) que es una ampliacin del CCR. ,untero de pila de supervisor

Ee&istro de estado Estos re&istros son e>clusivos del modo supervisor.

EL EED(:?E6 'E E:?)'6 (:E) Es un re&istro de 1J 1its. El formato del re&istro de estado es el si&uiente2

? :

(7 (1 (H

L%W0 *

Estructura del re&istro de estado (:E).


Esta dividido l&icamente en sus dos 1+tes! el 1+te alto denominaod /P?E del :(:?E.)! + el 1+te 1a;o! EED(:?E6 de *6'(D6: 'E *6%'(*(6%.

/P?E del :(:?E.)2 slo puede ser modificado desde el modo supervisor! posee 1its si&nificaativos que controlan el funcionamiento del microprocesador. La funcin espec<fica de cada 1it es2 o ? 2 /(? 'E ?E)W)! *uando este 1it est" a 1! la *,4 entra en el modo de e;ecucin paso a paso. 'espus de e;ecutarse una instruccin se &enera una e>cepcin! que dar" paso a la correspondiente su1rutina. 4til para prue1a + depuracin. o :2 /(? de E:?)'6! *uando este 1it est" a 1 el microprocesador opera en modo supervisor! cuando est" a H! en modo usuario. Este 1it permite el paso de modo supervisor a modo usuario. o (7!(1!(H 2 .):*)E) 'E (%?EEE4,*(6%! Estos 8 1its constitu+en el nivel de la m"scara de interrupcin. Esto quiere decir que! para que una interrupcin sea atendida! de1e ser de un nivel superior al indicaado por estos 8 1its.

EED(:?E6 'E *6'(D6: 'E *6%'(*(6% (**E)2 :olo son si&nificativos los 1its m"s 1a;os. *ada uno de estos 1its! llamados @fla&s@! tiene la funcin de sealar la ocurrencia de un $ec$o concreto2 * 2 /(? 'E )*)EEE6! :irve para notificar que el resultado de uan operacin aritmtica supera el nAmero de 1its de los operandos. 'epende de la instruccin concreta como se ver" afectado el 1it * + la interpretacin correcta de su valor. ?am1isn se modifica por instrucciones de rotacin + desplazamiento. 6tras instrucciones lo ponen a H. 0 2 /(? de 'E:/6E').(E%?6. ?iene sentido cuando se tra1a;a con valores numricos con si&no (en complemento a 7 con el 1it mas si&nificativo reservado para el si&no) + se pone a 1 cuando el resultado de una operacin no se puede almacenar en el numero de 1its que permite la representacin del numero W 2 /(? de *EE6! :e pone a 1 cuando el resultado de una operacin o de una transferencia de datos es cero. %2 /(? 'E :(D%6! *ontiene el valor del 1it m"s si&nificativo del resultado de una operacin aritmtica l&ica. L2 /(? 'E EL?E%:(6%! 4tilizado en operaciones de precisin mAltiple ! toma el valor del 1it *! salvo en operaciones de rotacin e>tendida.

$ttp255BBB.ii.uam.es5]f;&omez5JGHHH5tutorial5cap1.$tml

.2.2
)'' 3 )dd /inar+

Con-unto de instrucciones.

A-Suma 'inaria

3pe aci2n
Quente ^ 'estino 3c 'estino

Sinta4is en Ensam'lado
13 )'' deac!'n 73 )'' 'n!deac

(t i'utos
?amaos[(/+te! Oord! Lon&)

)esc ipci2n
:uma el operando fuente con el operando destino! + &uarda el resultado en el operando destino. El tamao de los operandos puede ele&irse entre /+te! Oord + Lon&. El .odo de la instruccin que diferencia entre las dos sint">is (1 o 7) indica que operando es el fuente + cual es el destino asi como los tamaos de los operandos.

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) en otro caso. W2 :e pone a 1 (:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :e pone a 1 (:et) si se &enera des1ordamiento (overfloB). :e pone a H (*leared) en otro caso. *2 :e pone a 1 (:et) si se &enera acarreo. :e pone a H (*leared) en otro caso. L2 ?oma el mismo valor que el *.

Codi5icaci2n 6ina ia
1 1 H 1 Ee&. 'atos .odo 6peracin 'ireccin Efectiva La :uma 1inaria admite dos .odos 2 1. .odo 1 si se utiliza )'' ddir. efectivac!'> 7. con el *ampo .odo 6peracion [ HHH! HH1! H1H :e&An sea /P?E! O6E' + L6%D. 1. .odo 7 si se utiliza )'' '>! ddir. efectivac 7. con el *ampo .odo 6peracion [ 1HH! 1H1! 11H :e&An sea /P?E! O6E' + L6%D. Los operandos pueden ser tamao /+te! Oord! o Lon&.

)/*' 3 )dd 'ecimal Bit$ E>tend )'') 3 )dd )ddress )''( 3 )dd (mmediate

A--I Suma $nmediata

3pe aci2n
'ato (nmediato ^ 'estino 3c 'estino

Sinta4is en Ensam'lado
)''( Uddatac!deac

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
:uma el dato inmediato al operando destino! + almacena el resultado en el operando destino. El tamao del operando puede ser /+te ! Oord o Lon&. El tamao del dato inmediato se $ace i&ual al del operando

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo. W2 :e pone a 1 (:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :e pone a 1 (:et) si se &enera des1ordamineto (overfloB). :e pone a H (*leared) en otro caso. *2 :e pone a 1 (:et) si se &enera acarreo. :e pone a H (*leared) en otro caso. L2 ?oma el mismo valor que el *.

Codi5icaci2n 6ina ia
El campo ?amao distin&ue entre 2 1. /P?E [ HH 1. O6E' [ H1 1. L6%D [ 1H Los operandos son tamao /+te!Oord o Lon& H H H H H 1 1 H ?amao .odo Ee&istro O6E' [ ,ala1ra (1J 1its) /P?E [ /+te ( G 1its) ,ala1ra lar&a [ L6%D (87 1its)

)''\ 3 )dd \uic-

A--J Suma ,apida

3pe aci2n
'ato (nmediato ^ 'estino 3c 'estino

Sinta4is en Ensam'lado
)''\ Uddatac!deac

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
:uma el dato inmediato al operando destino + queda el resultado en destino. El ran&o de valores del dato inmediato es de 1 a G. El tamao de la operacin puede especificarse como /+te! Oord o Lon&. En operaciones de tamao Oord o Lon& est" tam1in permitido usar re&istros de direcciones! en cu+o caso el re&istro de cdi&os de condicin no se ve afectado. *uando se suma el re&istro de direcciones! se emplea el tamao total del re&istro de direcciones independientemente del tamao de operacin.

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo. W2 :e pone a 1 (:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :e pone a 1 (:et) si se &enera des1ordamineto (overfloB). :e pone a H (*leared) en otro caso. *2 :e pone a 1 (:et) si se &enera acarreo. :e pone a H (*leared) en otro caso. L2 ?oma el mismo valor que el *. Los cdi&os de condicin no se alteran si el operando destino es un re&istro de direcciones

Codi5icaci2n 6ina ia
1 1 H H 'ato H ?amao 'ir. Efectiva .odo Ee&istro

El campo ?amao distin&ue entre 2 1. /P?E [ HH 1. O6E' [ H1 1. L6%D [ 1H

La operacin puede ser tamao /+te!Oord o Lon&

)''L 3 )dd E>tended

A--M Suma 0Etendida

3pe aci2n
Quente ^ 'estino ^ L 3c 'estino

Sinta4is en Ensam'lado
)''L '+!'> )''L 3()+)!3()>)

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
:uma el operando fuente con el destino + con el 1it L! &uarda el resultado en el operando destino Los operandos pueden direccionarse de dos maneras2

Ee&istro de 'atos a re&istro de 'atos2 Los operandos estan contenidos en los re&istros de datos especificados en la instruccin. .emoria a .emoria2 :e indican los operandos con direccionamiento indirecto con predecremento usando el re&istro de direcciones especificado en la instruccin.

El tamao de los operandos puede ser 1+te! Bord! or lon&.

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo. W2 :e pone a 1 (:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :e pone a 1 (:et) si se &enera des1ordamineto (overfloB). :e pone a H (*leared) en otro caso. *2 :e pone a 1 (:et) si se &enera acarreo. :e pone a H (*leared) en otro caso. L2 ?oma el mismo valor que el *.

<ota %ormalmente el 1it W se pone a 1 via pro&rama antes de iniciar una operacin. Esto admite compro1ar si el resultado es cero despues de realizar una operacin de multiple3precisin

Codi5icaci2n 6ina ia
1 1 H H Ee&. 'estino 1 ?amao H H E5. Ee&. Quente )dmite dos .odos 2 1. E5.[H si se utiliza )''L '+!'> 1. E5.[1 si se utiliza )''L 3()+)!3()>) El campo ?amao distin&ue entre 2 1. /P?E [ HH 1. O6E' [ H1 1. L6%D [ 1H Los operandos son tamao /+te! Oord o Lon& )%' 3 )nd Lo&ical

ANAnd (+ico

3pe aci2n
Quente _ 'estino 3c 'estino

Sinta4is en Ensam'lado
)%' deac!'n )%' 'n!deac

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
Eealiza la funcin l&ica )%'! 1it a 1it! entre el operando fuente + el destino &uardando el resultado en el destino. El tamao de la operacin puede ser /+te! Oord o Lon&.

%o se puede usar como operando el contenido de un re&istro de direcciones.

Regist o de C2digos de Condici2n


I F : E Z E L 0 C 0

%2 :e pone a 1 (:et) si el 1it mas si&nificativo del resultado esta a 1. :e pone a H (*leared) de otro modo. W2 :e pone a 1(:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :iempre a H (cleared). *2 :iempre a H (cleared). L2 %o se ve afectado.

Codi5icaci2n 6ina ia
1 1 H H Ee&. 'atos .odo 6pera. 'ir. Efectiva .odo Ee&istro

El )nd l&ico admite dos .odos 2 1. .odo 1 si se utiliza )%' ddir. efectivac!'> 7. con el *ampo .odo 6peracion [ HHH! HH1! H1H :e&An sea /P?E! O6E' + L6%D. 1. .odo 7 si se utiliza )%' '>! ddir. efectivac 7. con el *ampo .odo 6peracion [ 1HH! 1H1! 11H :e&An sea /P?E! O6E' + L6%D. Los operandos pueden ser tamao /+te! Oord! o Lon&. )%'( 3 )%' (mmediate

AN-I A1" $nmediato

3pe aci2n
'ato (nmediato _ 'estino 3c 'estino

Sinta4is en Ensam'lado
)%'( Uddatac!deac

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
Eealiza la operacin )%' l&ico entre el dato inmediato + el operando destino! almacenado el resultado en el destino. El tamao de la operacin puede especificarse como /+te! Oord o Lon&. El tamao de la operacin se $ace i&ual al tamao del operando.

Regist o de C2digos de Condici2n


I F : E Z E L 0 C 0

%2 :e pone a 1 (:et) si el 1it mas si&nificativo del resultado esta a 1. :e pone a H (*leared) de otro modo. W2 :e pone a 1(:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :iempre a H (cleared). *2 :iempre a H (cleared). L2 %o se ve afectado.

Codi5icaci2n 6ina ia
El campo ?amao distin&ue entre 2 1. /P?E [ HH 1. O6E' [ H1 1. L6%D [ 1H Los operandos son tamao /+te!Oord o Lon& H H H H H 1 1 H ?amao .odo Ee&istro O6E' [ ,ala1ra (1J 1its) /P?E [ /+te ( G 1its) ,ala1ra lar&a [ L6%D (87 1its) )%'( to **E 3 )%'( (mmediate to *ondition *odes

AN-I a CCR A1"$ $nmediato con el re+istro de Codi+os de Condicin

3pe acion
Quente _ **E 3c **E

Sinta4is en Ensam'lado
)%'( Uddatac!**E

(t i'utos
?amao[(/+te)

)esc ipci2n
Eealiza la operacin )%' entre el dato inmediato + el re&istro de codi&os de condicin! almacenando el resultado en el 1+te 1a;o del re&istro de estado.

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a H (*leared) si el 1it 8 del dato inmediato es cero. %o cam1ia en otro caso. W2 :e pone a H (*leared) si el 1it 7 del dato inmediato es cero. %o cam1ia en otro caso. 02 :e pone a H (*leared) si el 1it 1 del dato inmediato es cero. %o cam1ia en otro caso. *2 :e pone a H (*leared) si el 1it H del dato inmediato es cero. %o cam1ia en otro caso. L2 :e pone a H (*leared) si el 1it 4 del dato inmediato es cero. %o cam1ia en otro caso.

Codi5icaci2n 6ina ia
)%'( a **E HHHHHH1H H H 1 1 1 1 H H H H H H H H H H /P?E de datos ( G 1its) )%'( to :E 3 )%'( (mmediate to t$e :tatus Ee&ister (,riviled&ed (nstruction)

)''\ 3 )dd \uic):L!):E 3 )rit$metic :$ift

ASL "espla*amiento aritmNtico a la i*quierda

3pe aci2n

Sinta4is en Ensam'lado
):L '+!'> ):L Uddatoc!'> ):L ddireccionamiento indirecto de memoriac

(t i'utos
?amao[(/+te! Oord! Lon&)

)esc ipci2n
:uma el operando fuente con el destino + con el 1it L! &uarda el resultado en el operando destino Los operandos pueden direccionarse de dos maneras2

Ee&istro de 'atos a re&istro de 'atos2 Los operandos estan contenidos en los re&istros de datos especificados en la instruccin. .emoria a .emoria2 :e indican los operandos con direccionamiento indirecto con predecremento usando el re&istro de direcciones especificado en la instruccin.

El tamao de los operandos puede ser 1+te! Bord! or lon&.

Regist o de C2digos de Condici2n


I E : E Z E L E C E

%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo. W2 :e pone a 1 (:et) si el resultado es cero. :e pone a H (*leared) en otro caso. 02 :e pone a 1 (:et) si se &enera des1ordamineto (overfloB). :e pone a H (*leared) en otro caso. *2 :e pone a 1 (:et) si se &enera acarreo. :e pone a H (*leared) en otro caso. L2 ?oma el mismo valor que el *.

<ota %ormalmente el 1it W se pone a 1 via pro&rama antes de iniciar una operacin. Esto admite compro1ar si el resultado es cero despues de realizar una operacin de multiple3precisin

Codi5icaci2n 6ina ia
1 1 H H Ee&. 'estino 1 ?amao H H E5. Ee&. Quente )dmite dos .odos 2 1. E5.[H si se utiliza )''L '+!'> 1. E5.[1 si se utiliza )''L 3()+)!3()>) El campo ?amao distin&ue entre 2 1. /P?E [ HH 1. O6E' [ H1 1. L6%D [ 1H Los operandos son tamao /+te! Oord o Lon& ):L!):E 3 )rit$metic :$ift /cc 3 /ranc$ *onditionall+

7cc 'ranc3 Conditionall5

3pe ation
(f (condition true) t$en ,* ^ d 3c ,*

(ssem'le Synta4
/cc dla1elc

(tt i'utes
:ize[(/+te! Oord! Lon&)

)esc iption
(f t$e specified condition is met! pro&ram e>ecution continues at location (,*) ^ displacement. ?$e displacement is a tBo=s complement inte&er B$ic$ counts t$e relative distance in 1+tes. ?$e value in t$e ,* is t$e si&n3e>tend instruction location plus tBo. (f

t$e G31it displacement in t$e instruction Bord is zero! t$en t$e 1J31it displacement (Bord immediatel+ folloBin& t$e instruction) is used. (f t$e G31it displacement in t$e instruction Bord is all ones (eQQ)! t$en t$e 8731it displacement (lon& Bord immediatel+ folloBin& t$e instruction) is used. @cc@ ma+ specif+ t$e folloBin& conditions2
CC C6 ' > >1 @I L L6 L1 MI : PL LC L6 carr" clear carr" set equal 7reater or equal 7reater t(an (i7( less or equal loV or same less t(an minus not equal plus o%erfloV clear o%erfloV set *TC, C Z :ELB*T:,E*TL, :ELE*TZ,B*T:,E*TL,E*TZ, *TC,E*TZ, ZB:E*TL,B*T:,EL CBZ :E*TL,B*T:,EL : *TZ, *T:, *TL, L

Condition Codes
%ot affected. /*HD 3 ?est a /it and *$an&e

7CH< Test a 'it and C3an+e

3pe ation
](d1it num1erc of 'estination) 3c WN ](d1it num1erc of 'estination) 3c (1it num1er) of 'estination

(ssem'le Synta4
/*HD 'n!deac /*HD Uddatac!deac

(tt i'utes
:ize[(/+te! Lon&)

)esc iption
) 1it in t$e destination operand is tested and t$e state of t$e specified 1it is reflected in t$e W condition code. )fter t$e test! t$e state of t$e specified 1it is c$an&ed in t$e destination. (f a data re&ister is t$e destination! t$en t$e 1it num1erin& is a modulo 87 alloBin& 1it manipulation on all 1its in a data re&ister. (f a memor+ location is t$e destination! a 1+te is read from t$at location! t$e 1it operation is performed usin& t$e 1it

num1er! modulo G! and t$e 1+te is Britten 1ac- to t$e location. (n all cases! 1it zero refers to t$e least si&nificant 1it. ?$e 1it num1er for t$is operation ma+ 1e specified in tBo different Ba+s2

(mmediate2 t$e 1it num1er is specified in t$e second Bord of t$e instruction. Ee&ister2 t$e 1it num1er is contained in a data re&ister specified in t$e instruction.

Condition Codes
I F : F Z E L F C F

% %ot affected. W :et if t$e 1it tested is zero. *leared ot$erBise. 0 %ot affected. * %ot affected. L %ot affected. /*LE 3 ?est a /it and *lear

7CLR Test a 'it and Clear

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. /E) 3 /ranc$ )lBa+s

7RA 'ranc3 Al/a5s

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. /:E? 3 ?est a /it and :et

7SE& Test a 'it and Set

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. /:E 3 /ranc$ to :u1routine

7SR 'ranc3 to Subroutine

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. /?:? 3 ?est a /it *Ha 3 *$ec- Ee&ister a&ainst /ounds

CHN C3ecS ,e+ister a+ainst 'ounds

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. *LE 3 *lear an 6perand

CLR Clear an &perand

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. *., 3 *ompare

C!' Compare

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. *.,) 3 *ompare )ddress

C!'A Compare Address

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. *.,( 3 *ompare (mmediate

C!'I Compare $mmediate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. *.,. 3 *ompare .emor+

C!'! Compare Memor5

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. '/** 3 ?est *ondition! 'ecrement and /ranc$

-7CC Test ConditionH "ecrement and 'ranc3

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. '(0: 3 :i&ned 'ivide

-I2S Si+ned "i#ide

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. '(04 3 4nsi&ned 'ivide

-I2U Unsi+ned "i#ide

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. E6E 3 E>clusive 6E Lo&ical

E*R 0Eclusi#e &, (o+ical

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. E6E( 3 E>clusive 6E (mmediate

E*RI 0Eclusi#e &, $mmediate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ELD 3 E>c$an&e Ee&isters

EM< 0Ec3an+e ,e+isters

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. EL? 3 :i&n E>tend

EM& Si+n 0Etend

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. #., 3 #ump

O!' >ump

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. #:E 3 #ump to :u1routine

OSR >ump to Subroutine

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. LE) 3 Load Effective )ddress

LEA (oad 088ecti#e Address

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. L(%a 3 Lin- and )llocate

LINN (inS and Allocate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. L:L!L:E 3 Lo&ical :$ift .60E 3 .ove 'ata from :ource to 'estination

!*2E Mo#e "ata 8rom Source to "estination

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E from :E 3 .ove from t$e :tatus Ee&ister

!*2E $rom SR Mo#e 8rom t3e Status ,e+ister

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E to **E 3 .ove to *ondition *odes

!*2E to CCR Mo#e to Condition Codes

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E to :E 3 .ove to t$e :tatus Ee&ister

!*2E to SR Mo#e to t3e Status ,e+ister

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E 4:, 3 .ove 4ser :tac- ,ointer

!*2E US' Mo#e User StacS Pointer

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E) 3 .ove )dress

!*2EA Mo#e Adress

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E. 3 .ove .ultiple Ee&isters

!*2E! Mo#e Multiple ,e+isters

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E, 3 .ove ,erip$eral 'ata

!*2E' Mo#e Perip3eral "ata

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .60E\ 3 .ove \uic-

!*2EJ Mo#e ?uicS

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. .4L: 3 :i&ned .ultipl+

!ULS Si+ned Multipl5

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. %/*' 3 %e&ate 'ecimal Bit$ E>tend

N7C1e+ate "ecimal /it3 0Etend

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. %ED 3 %e&ate

NE< 1e+ate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. %EDL 3 %e&ate Bit$ E>tend

NE<M 1e+ate /it3 0Etend

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. %6, 3 %o 6peration

N*' 1o &peration

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. %6? 3 Lo&ical *omplement

N*& (o+ical Complement

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. 6E 3 (nclusive 6E Lo&ical

*R $nclusi#e &, (o+ical

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. 6E( 3 (nclusive 6E (mmediate

*RI $nclusi#e &, $mmediate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ,E) 3 ,us$ Effective )ddress

'EA Pus3 088ecti#e Address

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. EE:E? 3 Eeset E>ternal 'evices E6L!E6E 3 Eotate (Bit$out E>tend) E6LL!E6LE 3 Eotate Bit$ E>tend E?E 3 Eeturn from E>ception

R&E ,eturn 8rom 0Eception

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. E?E 3 Eeturn and Eestore *ondition *odes

R&R ,eturn and ,estore Condition Codes

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. E?: 3 Eeturn from :u1routine

R&S

,eturn 8rom Subroutine

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :/*' 3 :u1tract 'ecimal Bit$ E>tend

S7CSubtract "ecimal /it3 0Etend

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :** 3 :et )ccordin& to *ondition

SCC

Set Accordin+ to Condition

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :?6, 3 Load :tatus Ee&ister and :top

S&*' (oad Status ,e+ister and Stop

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :4/ 3 :u1tract /inar+

SU7

Subtract 'inar5

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :4/) 3 :u1tract )ddress

SU7A Subtract Address

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :4/( 3 :u1tract (mmediate

SU7I

Subtract $mmediate

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :4/\ 3 :u1tract \uic-

SU7J Subtract ?uicS

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :4/L 3 :u1tract Bit$ E>tend

SU7M

Subtract /it3 0Etend

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. :O), 3 :Bap Ee&ister Halves

SFA' S/ap ,e+ister .al#es

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ?): 3 ?est and :et an 6perand

&AS

Test and Set an &perand

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ?E), 3 ?rap

&RA' Trap

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ?E),0 3 ?rap on 6verfloB

&RA'2

Trap on &#er8lo/

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. ?:? 3 ?est an 6perand

&S& Test an &perand

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L. 4%La 3 4nlin-

UNLN

UnlinS

3pe ation (ssem'le Synta4 (tt i'utes


:ize[(/+te)

Condition Codes
I F : F Z F L F C F

%. W. 0. *. L.

$ttp255BBB.ii.uam.es5]f;&omez5JGHHH5tutorial5cap4.$tml

3pe aciones de movimiento de datos


Los transvases de datos + direcciones son realizados principalmente por la instruccin .60E. Esta instruccin con sus diversos modos de direccionamiento + las tres lon&itudes de operandos permite todo tipo de movimiento entre re&istros + memoria. )dem"s de esto se permiten ciertos tipos de movimiento de datos especiales que son e;ecutados por las instrucciones2 .60E. ( mueve mAltiples re&istros de una sola vez)! .60E, (mueve valores a direcciones de perifricos de G 1its)! .60E\ (e;ecuta un movimiento r"pido de valores inmediatos pequeos)! ELD (intercam1ia el contenido de dos re&istros entre s<)! LE) (car&a una direccin efectiva)! ,E) ( introduce en el stac- una direccin efectiva)! L(%a ( esta1lece un encadenamiento)! 4%L(a ( elimina un encadenamiento). Instrucci%n ELD LE) L(%a .60E .60E) .60E. .60E, Sinta#is de los operandos En! Em d ea c ! )n )n! U d d c d ea c! d ea c d ea c! list list ! d ea c d ea c ! list 'n ! (d1J ! )n ) &amaPo 87 87 1J 3 c87 G ! 1J ! 87 1J ! 87 3c 87 1J ! 87 1J ! 87 3c 87 1J ! 87 *peraci%n En d[c Em d ea c [c )n :,34 [c :, N )n [c (:,) :, [c )n N :, ^ d [c :, 6ri&en [c 'estino Ee& de lista [c 'estino 6ri&en [c Ee& de lista 'n S 81274 T [c ( )n ^ d ) N

(d1J ! )n )! 'n

'n S 7821J T [c ( )n ^ d ^ 7 ) N 'n S 1 2G T [c ( )n ^ d ^ 4 ) N 'n S V2H T [c ( )n ^ d ^ J ) N ( )n ^ d ) [c 'n S 81274 T N ( )n ^ d ^ 7 ) [c 'n S 7821J T N ( )n ^ d ^ 4 ) [c 'n S 1 2G T N ( )n ^ d ^ J ) [c 'n S V2H T N G 3c 87 87 87 'ato inmediato [c 'estino :, 3 4 [c :, N d ea c [c ( :, ) )n [c :, N ( :, ) [c )n N :, ^ 4 [c :,

.60E\ ,E) 4%La

U d data ! 'n d ea c )n

fi&. 437 3 (nstrucciones de movimientos de datos.

3pe aciones a itm0ticas con ente os


Las operaciones aritmticas son 1"sicamente cuatro2 )'' (suma)! :4/ (resta)! .4L (multiplicacin) + '(0 (divisin). ) estas de1en aadirse *.,5*.,. (comparacin)! *LE (1orrado) + %ED (ne&acin o cam1io de si&no). Las operaciones de multiplicacin + divisin tienen dos variantes se&An se trate de aritmtica con si&no o sin si&no (.4L:5.4L4 + '(05'(04). :e pueden realizar operaciones multiprecisin mediante las operaciones )''L! :4/L! %EDL + EL? (e>tensin de un operando de un determinado tamao $asta otro superior). Instrucci%n )'' )'') )''( )''\ )''L *LE *., *.,) *.,( *.,. Sinta#is de los operandos 'n ! d ea c d ea c ! 'n d ea c ! )n U d data c ! d ea c U d data c ! d ea c 'n ! 'n 3 ( )n) ! 3 ( )n) d ea c d ea c ! 'n d ea c ! )n U d data c ! d ea c ( )n ) ^ ! ( )n ) ^ &amaPo G ! 1J ! 87 G ! 1J ! 87 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 *peraci%n 6ri&en ^ 'estino [c 'estino 'ato inmediato ^ 'estino [c 'estino 6ri&en ^ 'estino ^ L [c 'estino H [c 'estino 'estino 3 6ri&en 'estino 3c 'ato inmediato 'estino 3 6ri&en

'(0: '(04 EL? .4L: .4L4 %ED %EDL :4/ :4/) :4/( :4/\ :4/L

d ea c ! 'n

875 1J [c 1J

'estino 5 6ri&en [c 'estino con 5 sin si&no 'estino si&no e>t. [c 'estino 'estino 5 6ri&en [c 'estino con 5 sin si&no H 3 'estino [c 'estino H 3 'estino 3 L 3c 'estino 'estino 3 6ri&en [c 'estino 'estino 3 'ato inm. [c 'estino 'estino 3 6ri&en 3 L [c 'estino

'n 'n d ea c ! 'n

G [c 1J 1J [c 87 1J k 1J [c 87

d ea c d ea c 'n ! d ea c d ea c ! 'n d ea c ! )n U d data c ! d ea c U d data c ! d ea c 'n ! 'n 3 ( )n) ! 3 ( )n)

G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87

fi&. 438 3 (nstrucciones de operaciones aritmticas. 4.1.8.3 6peraciones de l&ica. Las operaciones l&icas disponi1les son )%'! 6E! E6E + %6E. Estas admiten todo tipo de operando entero con cualquier tamao. ,ara realizar operaciones l&icas con datos inmediatos e>isten las si&uiente variantes de las anteriores operaciones2 )%'(! 6E( + E6E(. ) este con;unto de instrucciones se puede aadir la ?:?! que realiza una comparacin del operando con cero! afectando en consecuencia a los cdi&os de condicin. (nstruccin :inta>is de los operandos )%' )%'( E6E E6E( %6? 6E 'n! d ea c d ea c ! 'n U d data c ! d ea c 'n! d ea c U d data c ! d ea c d ea c 'n! d ea c d ea c ! 'n ?amao G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 G ! 1J ! 87 6peracin 6ri&en 'estino [c 'estino 'ato inm. l 'estino [c 'estino 6ri&en 'estino [c 'estino 'ato inm. 'estino 3c 'estino ] 'estino [c 'estino 6ri&en 0 'estino [c 'estino

6E( ?:?

U d data c ! d ea c d ea c

G ! 1J ! 87 G ! 1J ! 87

'ato inm. 0 'estino [c 'estino 'estino 3 H [[c *ondiciones del **E

fi&. 434 3 (nstrucciones de operaciones de l&ica. 4.1.4.3 6peraciones de rotacin + desplazamiento. :e dispone de instrucciones de desplazamiento de los 1its en un operando en los dos sentidos! derec$a e izquierda! + en modo aritmtico (con si&no) + l&ico. Estas son ):L! L:L + L:E Las operaciones de rotacin tam1in pueden realizarse en los dos sentidos! + adem"s pueden afectar o no al 1it de e>tensin en el re&istro de cdi&os de condicin (**E). se tienen por tanto cuatro instrucciones que son2 E6E! E6L! E6LE! E6LL. Las operaciones de rotacin + desplazamiento so1re re&istros admiten todos los tamaos de operando + un nAmero de 1its a desplazar entre 1 + G. :i el operando est" en memoria slo se admite el tamao Bord + movimientos de un 1it. La instruccin sBap intercam1ia los contenidos de las dos mitades de 1J 1its de un re&istro. Instrucci%n Sinta#is de los operandos ):L 'n! 'n U d data c! 'n d ea c 'n! 'n U d data c! 'n d ea c 'n! 'n U d data c! 'n d ea c 'n! 'n U d data c! 'n d ea c 'n! 'n U d data c! 'n d ea c 'n! 'n U d data c! 'n d ea c 'n! 'n &amaPo G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J G ! 1J ! 87 *peraci%n

):E

L:L

L:E

E6L

E6E

E6LL

U d data c! 'n d ea c E6LE 'n! 'n U d data c! 'n d ea c 'n

G ! 1J ! 87 1J G ! 1J ! 87 G ! 1J ! 87 1J 87

:O),

fi&. 43 3 (nstrucciones de rotacin + desplazamiento. 4.1. .3 6peraciones de manipulacin de 1its. :e pueden realizar operaciones con 1its mediante las instrucciones2 /?:? ( testeo de un 1it ). /:E? ( testeo + puesta a uno de un 1it )! /*LE ( testeo + puesta a cero de un 1it ) + /*HD ( testeo + cam1io del estado de un 1it ). *uando el operando es un re&istro el tamao asumido es de 87 1its! pero si el operando est" en memoria el tamao se toma como 1+te.

Instrucci%n /*HD /*LE /:E? /?:?

Sinta#is de los operandos 'n ! d ea c U d data c ! d ea c 'n ! d ea c U d data c ! d ea c 'n ! d ea c U d data c ! d ea c 'n ! d ea c U d data c ! d ea c

&amaPo G ! 87 G ! 87 G ! 87 G ! 87 G ! 87 G ! 87 G ! 87 G ! 87

*peraci%n ] 'estino S,T [c W [c 'estino S,T ] 'estino S,T [c WN H [c 'estino S,T ] 'estino S,T [c WN 1 [c 'estino S,T ] 'estino S,T [c W N

fi&. 43J 3 (nstrucciones de manipulaacin de 1its. 4.1.J.3 6peraciones con decimal codificado en 1inario ( /*' ). ,ueden realizarse operaciones aaritmticas multiprecisin con formato decimal codificado en 1inario (/*') mediante2 )/*' ( suma decimal con e>tensin )!:/*' ( resta decimal con e>tensin ) + %/*' ( ne&acin o cam1io de si&no decimal con e>tensin ).

Instrucci%n

Sinta#is de los operandos

&amaPo

*peraci%n

)/*'

'n! 'n 3 ( )n )! 3 ( )n ) d ea c 'n! 'n 3 ( )n )! 3 ( )n )

G G G G G

6ri&en ^ 'estino ^ L [c 'estino 1H 1H 1H H 3 'estino ^ L [c 'estino 1H 1H 'estino 3 6ri&en 3 L [c 'estino 1H 1H 1H

%/*' :/*'

fi&. 437 3 (nstrucciones de movimientos de datos. 4.1.V.3 6peraciones de control del pro&rama. El flu;o del pro&rama se controla mediante tres &rupos de instrucciones2 saltos condicionales ( /cc + '/cc )! saltos incondicionales ( /E)! /:E! #., + #:E ) + retornos ( E?E + E?: ). Las instrucciones de salto condicional admiten las condiciones de test vistas en el apartado 8.7. La instruccin %6, no tiene nin&An efecto! por lo que puede considerarse dentro de este &rupo como un salto a la si&uiente posicin. Instrucci%n Sinta#is de los operandos d la1el c 'n ! d la1el c d ea c &amaPo *ondicionales /cc '/cc :cc G ! 1J 1J G :i cc cierta! ,* ^ d [c ,* :i cc falsa! 'n 3 1 [c 'nN si 'n distinto 3 1! ,* ^ d [c ,* :i cc cierta 11111111 [c 'estino si no! H [c 'estino ,* ^ d [c ,* :, 3 4 [c :,N ,* [c ( :, )N ,* ^ d [c ,* d ea c [c ,* :, 3 4 [c:,N ,* [c ( :, )N d ea c [c ,* 3 *peraci%n

(ncondicionales /E) /:E d la1el c d la1el c G! 1J G! 1J

#., #:E

d ea c d ea c

3 3

%6,

3 Eetornos

E?E

:, [c **EN :, ^ 7 [c :,N ( :, ) [c ,*N :, ^ 4 [c :, ( :, ) [c ,*N :, ^ 4 [c :,

E?:

fi&. 43G 3 (nstrucciones de control de pro&rama. 4.1.G.3 6peraciones de control del sistema. Las operaciones de control del sistema se realizan mediante las instrucciones privile&iadas ( EE:E?! E?E! :?6,! 6E( to :E! .60E 4:,! )%'( to :E! E6E( to :E + .60E E)) to :E )! las de &eneracin de traps ( ?E),! ?E),0 + *Ha ) + aquellas que utilizan o modifican el re&istro de estado :E ( )%'( **E! E6E( **E! .60E **E to E)! 6E( **E + .60E :E to E) ). Instrucci%n Sinta#is de los operandos U d data c ! :E U d data c ! :E d ea c ! :E 4:,! )n )n! 4:, U d data c ! :E 3 3 &amaPo ,rivile&iadas )%'( E6E( .60E .60E 6E( EE:E? E?E 1J 1J 1J 87 1J 3 3 'ato inmediato l :E [c:E 'ato inmediato :E [c :E 6ri&en [c :E 4:, [c )n )n [c 4:, 'ato inmediato :E [c :E )ctiva la linea EE:E? ( :, ) [c :EN :, ^ 7 [c :,N ( :, ) [c ,*N :, ^ 4 [c :,N 'ato inmediato [c :EN ,arar :i 'n d H 'n c ( d ea c )! entonces e>cepcin *Ha ::, 3 4 [c ::,N ,* [c ( ::, )N ::, 3 7 [c ::,N :E [c ( ::, )N 0ector trap nm d data c [c ,* *peraci%n

:?6, *Ha ?E),

U d data c d ea c! 'n U d data c

1J 1J 1J

Deneracin de ?raps

?E),0 )%'( E6E( .60E .60E 6E(

3 U d data c ! **E U d data c ! **E :E! d ea c d ea c ! **E U d data c ! **E

3 G G 1J 1J G

:i 0 es 1! proceso de e>cepcin 'ato inmediato l **E [c **E 'ato inmediato **E [c **E :E [c 'estino 6ri&en [c **E 'ato inmediato **E [c **E

Ee&istro de condiciones

fi&. 439 3 (nstrucciones de control del sistema. 4.1.9.3 6peraciones multiprocesador. ,ara tra1a;ar con sistemas multiprocesador se dispone de la instruccin ?): que e;ecuta un ciclo de lectura3modificacin3escritura indivisi1le. Instrucci%n ?): Sinta#is de los operandos d ea c &amaPo G *peraci%n 'estino 3 HN 1 [c 'estino

fi&. 431H 3 (nstrucciones multiprocesador.

.2.3

Modos de direccionamiento.
*3)3S )E )IRECCI3N(*IENT3

2. .-Direccionamiento y !ormato de las instrucciones. La codificacin de instrucciones del JGHHH contiene dos tipos de datos2 la operacin a realizar + la localizacin de los operandos. Esta localizacin de operandos puede $acerse de una de las tres si&uientes formas2 =Especificacin de re&istro=. En la codificacin de la instruccin $a+ un campo en el que se determina un nAmero de re&istro. ='ireccin efectiva=. Este sistema se ver" detalladamente a continuacin. =Eeferencia impl<cita=. ,or definicin de la operacin a realizar est" impl<cito el uso de determinados re&istros. Los 14 modos de direccionamiento se a&rupan en seis tipos 1"sicos2 1.3'ireccionamiento directo a re&istro

k 'irecto a re&istro de datos k 'irecto a re&istro de direcciones 7.3 'ireccionamiento a1soluto k )1soluto corto k )1soluto lar&o 8.3 'ireccionamiento relativo al puntero de pro&rama k Eelativo con desplazamiento k Eelativo con <ndice + desplazamiento 4.3'ireccionamiento indirecto k (ndirecto k (ndirecto con postincremento k (ndirecto con predecremento k (ndirecto con <ndice + desplazamiento .3 'ireccionamiento inmediato k (nmediato k (nmediato r"pido J.3 'ireccionamiento impl<cito k Ee&istro impl<cito

!odos de direccionamiento.

A.A.5- >ormato de las instrucciones. La codificacin de instrucciones puede ocupar desde una Bord $asta cinco. En la primera Bord se especifica la operacin a realizar + el tamao de los operandos.

*uando no se utiliza direccionamiento por direccin efectiva! la Bord de operacin puede llevar tam1in la especificacin de re&istros. En caso de utilizar el mtodo de direccin efectiva se necesitan otras Bords de e>tensin que en al&una ocasin pueden ser $asta cuatro. 1 14 18 17 11 1H 9 G V J 4 8 7 1 H

Bord de operacin ( especifica la operacin + el modo ) operando inmediato o e>tensin de direccin efectiva

de ori&en ( si es necesario! una o dos Bords ) direccin efectiva del destino ( si es necesario! una o dos Bords ) >ormato de las instrucciones A.A.A- -irecci%n e$ectiva. La ma+or<a de los direccionamientos en el JGHHH se realizan mediante el mtodo de =direccin efectiva=. Este mtodo consiste en codificar dentro de la Bord de operacin el tipo de direccionamiento a usar se&An la pauta de la si&uiente fi&ura.

Codi$icaci%n de la direcci%n e$ectiva *odificacin2 .6'6 'E '(EE**(6%).(E%?6 'irecto por re&istro de datos. 'irecto por re&istro de direcciones (ndirecto por re&istro de direcciones. idem con postincremento. idem con predecremento. idem con desplazamiento. idem con <ndice + desplazamiento. )1soluto corto )1soluto lar&o ,* con desplazamiento ,* con indice + desplazamiento (nmediato %otacin 'n )n ()n) ()n)^ 3()n) (d1J!)n) (dG!)n!Lm) >>>.O >>>.L (d1J!,*) (dG!,*!Ln) 111 Uddatoc 111 -ireccionamientos por direcci%n e$ectiva 1HH H11 .6'6 Ee&istro HHH HH1 H1H H11 1HH 1H1 11H 111 111 111 nAmero nAmero nAmero nAmero nAmero nAmero nAmero HHH HH1 H1H

A.A.B- !odos directos a registro. Estos modos especifican como operando uno de los 1J re&istros multifuncin del JGHHH. El tamao a utilizar de los mismos queda especificado en la Bord de operacin. *onsidrese como e;emplo la instruccion )''.O deac!'8 que realizar" la si&uente suma con operandos de tamao Bord 2 'n ^ deac 3c 'n.

\ue tiene como formato &eneral

La codificacin de esta instruccion a falta de decidir el modo de direccionamiento empleado para el operando fuente ser"

donde

1its 1 317 indican el cdi&o de operacion para )'' (11H1) 1its 1139 indican que el re&istro de datos '8 es el destino (8 [H11) 1its G3J indican el tamao de operando (HH1 [ O6E') 1its 38 indicar"n el modo de direccionamiento de la fuente 1its 73H indicaran el re&istro(caso de ser necesario de la fuente).

7.7.8.13 -irecto a registro de datos. ser<a por e;emplo )''.O '1!'8 El operando fuente es el re&istro de datos indicado en el cdi&o.

donde modo[HHH indica un re&istro de datos + HH1 indica que es '1 7.7.8.73 -irecto a registro de direcciones. ser<a por e;emplo )''.O )1!'8 El operando fuente es el re&istro de direcciones indicado en el cdi&o.

donde modo[HH1 indica un re&istro de direcciones + HH1 indica que es )1

A.A.C- !odos de direccionamiento de memoria. Estos modos especifican como operando una posicin de memoria mediante diferentes c"lculos para o1tener la direccin de la misma. 7.7.4.13 Indirecto por registro de direcciones.

ser<a por e;emplo )''.O ()H)!'8

El operando se encuentra en memoria! en una posicin cu+a direccin se corresponde con el contenido del re&istro )n.

donde modo[H1H indica indirecto por re&istro de direcciones + HHH indica que es el re&istro )H 7.7.4.73 Indirecto con postincremento. ser<a por e;emplo )''.O ()H)^!'8 El operando se encuentra en memoria! en una posicin cu+a direccin se corresponde con el contenido del re&istro )n. 4na vez determinada dic$a direccin se incrementa el contenido del re&istro )n en 1! 7 4 en funcin de la lon&itud de los operandos (1+te! Bord lon& Bord respectivamente).

donde modo[H11 indica indirecto por re&istro de direcciones + HHH indica que es el re&istro )H <(=A :i el re&istro es )V (stac-) + el tamao de la operacin es 1+te! el postincremento es de dos unidades para mantener el alineamiento en direcciones pares del stac-. El 1+te queda almacenado en la direccin par! de;ando sin si&nificado el contenido de la direccin impar inmediatamente si&uiente. 7.7.4.83 Indirecto con predecremento. ser<a por e;emplo )''.O 3()H)!'8 :e comienza por decrementar el contenido del re&istro )n en 1! 7 4 en funcin de la lon&itud de los operandos (1+te! Bord lon& Bord respectivamente). ) continuacin se considera que el operando se encuentra en memoria! en una posicin cu+a direccin se corresponde con el contenido del re&istro )n.

donde modo[H11 indica indirecto por re&istro de direcciones + HHH indica que es el re&istro )H %6?)2 :i el re&istro es )V (stac-) + el tamao de la operacin es 1+te! el predecremento es de dos unidades para mantener el alineamiento en direcciones paresdel stac-. El 1+te queda almacenado en la direccin impar inmediatamente si&uiente. 7.7.4.43 Indirecto con despla1amiento. )'' 4()H)!'8 )l contenido del re&istro )n se le suma un entero de 1J 1its previamente e>tendido a 87! que de1e encontrarse en la primera Bord de e>tensin (detr"s de la Bord de

operacin). El resultado de dic$a operacin es la direccin de memoria que determina el operando. 7.7.4. 3 Indirecto con 6ndice / despla1amiento. El formato de la instruccin ser<a

donde

En es el numero de re&istro empleado como indice (1) (ndica el tipo de re&istro indice ! [ re&istro de datos + 1 re&istro de direcciones (7) (ndica el tamao del re&istro empleado como indice ! H [ O6E'! 1 [ L6%D! 'esplazamietno de G 1its. ( es un numero en complemento a 7)

*omo por e;emplo 2 )'' 4()H!'J)!'8 )l contenido del re&istro )n se le suma un entero de G 1its previamente e>tendido a 87! que de1e encontrarse en la primera Bord de e>tensin (detr"s de la Bord de operacin). ) continuacin! al resultado o1tenido se le suma el re&istro <ndice (tam1in codificado en la Bord de e>tensin). :i el re&istro <ndice est" tomado en tamao Bord! es e>tendido a 87 1its con anterioridad a la suma. Qinalmente el resultado de am1as sumas es la direccin de memoria que determina el operando. La operacin realizada ser<a la suma si&uiente2 o tam1in puede ser )'' 4()H!'J.L)!'8

A.A.4- !odos especiales de direccionamiento. Estos modos de direccionamiento no se 1asan en la utilizacin de re&istros. 7.7. .13 -ireccionamiento a+soluto corto. por e;emplo )'' E?(\4E?)!'8

donde modo[111 indic modo especial + HHH indica que la direccion especificada en la etiqueta ca1e en un O6E'. Este modo de direccionamiento se 1asa en una Bord de e>tensin de la que se o1tiene la direccin del operando una vez que se le $a e>tendido el si&no $asta 87 1its. ,or tanto este direccionamiento se puede utilizar dentro de los 87 -1+tes primeros de la memoria (HHHH3VQQQ) + dentro de los 87 -1+tes finales (QQGHHH3QQQQQQ). 7.7. .7- -ireccionamiento a+soluto largo. por e;emplo )'' E?(\4E?)!'8

donde modo[111 indic modo especial + HH1 indica que la direccion especificada en la etiqueta ca1e en un L6%D. Este modo de direccionamiento utiliza dos Bords de e>tensin de las que se o1tiene la direccin del operando por concatenacin! situando la primera como parte alta de la direccin + la se&unda como parte 1a;a. 7.7. .83 Indirecto por 'C con despla1amiento. )l contenido del puntero de pro&rama (pro&ram counter) se le suma un entero de 1J 1its previamente e>tendido a 87! que de1e encontrarse en la primera Bord de e>tensin (detr"s de la Bord de operacin). El resultado de dic$a operacin es la direccin de memoria que determina el operando. La direccin que contiene el puntero de pro&rama al tomar su contenido para $acer la suma es la de la Bord de e>tensin. 7.7. .43 Indirecto por 'C con 6ndice. )l contenido del contador de pro&rama (pro&ram counter) se le suma un entero de G 1its previamente e>tendido a 87! que de1e encontrarse en la primera Bord de e>tensin (detr"s de la Bord de operacin). ) continuacin! al resultado o1tenido se le suma el re&istro <ndice (tam1in codificado en la Bord de e>tensin). :i el re&istro <ndice est" tomado en tamao Bord! es e>tendido a 87 1its con anterioridad a la suma. Qinalmente el resultado de am1as sumas es la direccin de memoria que determina el operando. La direccin que contiene el puntero de pro&rama al tomar su contenido para $acer la suma es la de la Bord de e>tensin. El formato de la instruccin tiene la misma estructura que la e>plicada con anterioridad el el direcionamiento indirecto con <ndice + desplazamiento.

7.7. . 3 -ato inmediato. *on este tipo de direccionamiento el operando se encuentra en una o dos Bords de e>tensin! dependiendo de la lon&itud de la operacin. :i la operacin es de 1+te se utiliza una Bord de e>tensin cu+os 1its H3V son el operando + los G31 se ponen a cero. En el caso de una operacin de tamao Bord se utiliza tam1in una sola Bord + toda ella es el operando. ,or Altimo! en el caso de un tamao de operacin lon& Bord! el operando se forma por concatenacin de dos Bords de e>tensinN la primera es la parte alta (1its 1J381) + la se&unda la parte 1a;a (1its H31 ). ,or e;emplo )''( UV!'8 El formato &eneral de esta instruccin es

que en el caso del e;emplo es

4n caso particular es el direecionamiento inmediato r"pido )''\ UV!'8 con el si&uiente formato &eneral

que se reduce por tanto a

A.A.K- -ireccionamiento impl6cito. )l&unas instrucciones llevan impl<cito el uso de determinados re&istros. Estas son las si&uientes2 .nemnico /:E *Ha '/cc '(0: '(04 (nstruccin :alto a su1rutina *$equeo de re&istros entre l<mites ?est de condicin! decremento + salto 'ivisin con si&no 'ivisin sin si&no Ee&istros afectados ,* ,*! :, ::,! :E ,* ::,! :E ::,! :E

/cc! /E) :alto condicional e incondicional

#., #:E L(%a

:alto :alto a su1rutina Encadena + reserva espacio

,* ,*! :, :, :E :E 4:, :, ,*! :,! :E ,*! :,! :E ,*! :, ::,! :E ::,! :E :,

.60E **E .over los cdi&os de condicin .60E :E .over el re&istro de estado .60E 4:, .over el apuntador de pila de usuario ,E) E?E E?E E?: ?E), ?E),0 4%La )pilar la direccin efectiva Eetorno de una e>cepcin Eetorno resta1lecido cdi&os condicin Eetorno de su1rutina ?rap ?rap si $a+ re1ose 'esencadenar

http ..000,ii,)am,es.>f-gome3.98???.t)torial.cap@,html ;odos de direccionamiento sin ning4n componente, El modo de direccionamiento sin componente! normalmente llamado direccionamiento inmediato! es una forma particular +a que no tiene componente de direccin. El valor del operando se especifica directamente en la misma instruccin. La importancia del direccionamiento inmediato es o1via de1ido a la frecuencia con que esta ocurre. La ma+or<a de las constantes en un pro&rama son especificadas usando direccionamiento inmediato lo cual es venta;oso de1ido a que las constantes suelen ser nAmeros pequeos (cero + uno ocurren frecuentemente). *onsecuentemente! esto es mas eficiente para especificar las constantes! me;or que la u1icacin de una direccin de memoria. )dem"s las constantes no necesitan ser cam1iadas! porque ellas pueden ser colocadas en la misma instruccin. Ha+ dos lu&ares! 1"sicamente diferentes! en los cuales se almacena el dato inmediato 2 1. -entro de la instrucci%n +.sica esto es frecuentemente llamado direccionamiento inmediato corto o r"pido. Las constantes pueden ser solamente pequeas (de1ido a que ellas tienen que a;ustarse dentro del primer 1+te o pala1ra de instruccin)! sin em1ar&o ellas usan memoria mas eficientemente. 7. -entro de e#tensiones de instrucciones este mtodo usa constantes con la lon&itud i&ual a la lon&itud de instruccin 1"sica o un mAltiplo de ellas. La lon&itud del dato inmediato es normalmente especificada dentro de la parte 1"sica + el dato si&ue inmediatamente a esta parte 1"sica por ello se llama direccionamiento inmediato. ;odos de direccionamiento de )n componente Estos modos de direccionamiento especifican la direccin efectiva del valor del operando mediante el uso de un Anico componente en la operacin especifica. Este componente puede ser un numero de re&istro o una direccin a1soluta de un operando. )m1os componentes pueden ser usados en forma directa o indirecta. -ireccionamiento registro-directo. En este modo! se especifica un numero de re&istro que indica al re&istro que contiene el valor del operando. Este modo es usado frecuentemente por su eficiencia + velocidad. Pa que son pocos los re&istros que est"n

disponi1les (t<picamente G o 1J)! se puede o1tener una especificacin compacta del operando! usando 8 o 4 1its. )dem"s! porque el arc$ivo del re&istro esta localizado normalmente en un c$ip! este tiempo de acceso es mu+ pequeo comparado con el tiempo de acceso a memoria o incluso al cac$e. ?odas las arquitecturas modernas poseen m"s de un re&istro para soportar este modo. En arquitecturas con solo un re&istro! este es a menudo especificado impl<citamente. La arquitectura .*JGH7H divide su set de re&istro en dos &rupos 2 uno denominado Registros de datos los cuales est"n destinados principalmente para utilizarse como fuente o destino para las operaciones aritmticas + l&icas. P el otro &rupo denominado Registros de direcciones los cuales se utilizan principalmente para especificar direcciones de operandos -ireccionamiento a+soluto. En este modo de direccionamiento una instruccin esta compuesta por el cdi&o de operacin + a continuacin la direccin del operando! directamente especificada en uno o m"s 1+te se&An el alcance del campo de direcciones. El direccionamiento a1soluto es necesario en muc$as arquitecturas para la especificacin de un vector de entrada 5 salida + direcciones del re&istro de estado (asumiendo que ellas forman una superposicin l&ica con la memoria principal. -ireccionamiento indirecto. Este direccionamiento es mu+ usado cuando las direcciones de las estructuras de datos no son conocidas! $asta que se corra el pro&rama! porque las direcciones de1en ser calculadas con instrucciones + almacenadas en un re&istro! despus de lo cual el operando puede ser recuperado v<a este re&istro. -ireccionamiento indirecto con modi$icaci%n de registro. :on posi1les muc$as variaciones del modo de direccionamiento re&istro indirecto 1"sico. .uc$as arquitecturas soportan modos de direccionamiento en los cuales el re&istro contiene la direccin del operando! la cual es modificada antes o despus de usado. :on entonces posi1les 4 modos! dependiendo de la direccin de la modificacin (incremento o decremento) + del tiempo de modificacin (pre o pos modificacin). Modos de direccionamientos de dos componentes. :e pueden com1inar dos componentes 1"sicos para formar un modo de direccionamiento de dos componentes. Deneralmente uno de los componentes es denominado 7ase! mientras que el otro se denomina -espla1amiento! a menudo el desplazamiento es la distancia que $a+ entre la direccin 1ase + la direccin del operando. La direccin 1ase + el desplazamiento pueden ser fi;os (conociendo el tiempo de compilacin) o varia1les (calculando el tiempo de e;ecucin del pro&rama). -ireccionamiento inde#ado. En este modo se especifica la direccin 1ase (fi;a) en el cdi&o de instruccin (compara1le al direccionamiento a1soluto)! as< para formar la direccin del operando se suma a la direccin 1ase! el contenido de un re&istro denominado <ndice. Este modo se emplea cuando la direccin 1ase de una estructura de datos! tal como un vector! se conoce en el momento de la compilacin pero la posicin e>acta del elemento solo se puede determinar en el momento de la e;ecucin. ,ara acondicionar el tamao del operando de varias lon&itudes! el indice es a menudo multiplicado por un $actor de escala. :i un vector ) SH .. 1HHT posee datos ocupando 4 1+te! el factor de escala es 4! asumiendo una resolucin de direccin de un 1+te. 'ado que la direccin 1ase para el vector )SH..1HHT! cu+a direccin de comienzo es 1HHH! el elemento )S8T puede ser encontrado en la direccin 1HHH ^ 84 [ 1H17. ?am1in e>iste el modo de inde>ado indirecto! el cual presenta dos variantes 2 'reinde#ado indirecto + 'os-inde#ado indirecto. En el modo de pre3inde>ado! el desplazamiento se suma a la direccin 1ase! produciendo una direccin intermedia. Los contenidos de estas direcciones intermedias son lue&o usados como direcciones de

operandos. En el modo de posinde>ado! la direccin 1ase es usada como una direccin intermedia. 'espus! el desplazamiento se adiciona al contenido de la direccin intermedia para o1tener la direccin del operando. -ireccionamiento +ase. , ( ) , , . , . , . -ireccionamiento +ase-inde#ado. En este modo! tanto la direccin 1ase como el desplazamiento son varia1les! + estos son calculados en el tiempo de e;ecucin. Esto permite el acceso a un elemento ar1itrario en una estructura de datos! con la direccin de comienzo que es desconocida al compilar. -ireccionamiento relativo al contador de programa. Esta es una clase especial de modo de direccionamiento de dos componentes! la cual usa el contador de pro&rama (,*) como el re&istro que contiene la direccin 1ase. En este modo se o1tiene la direccin efectiva como la suma de un desplazamiento contenido como se&undo 1+te de la instruccin con el contenido del ,*. 'ado que el valor de la direccin 1ase es varia1le $a+ dos modos de direccionamiento posi1les 2 el 'C +ase (llamado &eneralmente direccionamiento relativo)/ el 'C +ase inde#ado. El uso m"s comAn del direccionamiento ,* relativo es en instrucciones divididas! las cuales son esenciales para la implementacin de estructuras de control en len&ua;es de alto nivel. ;odos de direccionamiento de m)lti-componentes, ?odos los modos de direccionamiento previamente tratados pueden ser com1inados para formar todas los tipos de modos de direccionamiento multi3componentes (al&unos mu+ utilizados)

.2.

(en+ua-e ensamblador.

Estructura general de un programa en ensamblador.


En una programa escrito en lengua'e ensamblador+ adem-s de las 35 instrucciones que interpreta el procesador tambi8n se colocan directivas+ que son comandos para reali7ar ciertas operaciones con el programa. A continuaci,n se comentan las partes que generalmente 5a) en un programa? 1d. Modelo de procesador 5 sistema de numeracin. .os programas comien7an con la directiva list que re0erencia el modelo de microcontrolador. #ambi8n se suele especi0icar el tipo de numeraci,n que se emplear- con la directiva radi#. .o usual es emplear el sistema 5e2adecimal+ en el que los valores se e2presan precedidos de O42P. En los e'emplos que se desarrollar-n a lo largo del tema comen7aremos el programa ensamblador con las siguientes directivas %detr-s del punto ) coma se pueden a1adir comentarios&? List pN)6M84 FSe utili7a el microcontrolador @!$1J9I" =adi$ (e$ F Se usar- el sistema 5e2adecimal

2d. =ariables. .as posiciones de la memoria de datos se utili7an para guardar operandos ) resultados+ adem-s de almacenar registros especiales. @ara que al programador le sea m-s sencillo con0eccionar el programa+ en lugar de 5acer re0erencia a las posiciones de la memoria donde se encuentran los datos que va a emplear+ a cada una de estas posiciones se le asocia un nombre. .a directiva e3u relaciona un nombre con la direcci,n que se asigna+ as* el programador traba'a con nombres ) el compilador traduce autom-ticamente 8stos a las direcciones correspondientes. @or e'emplo el registro que contiene la in0ormaci,n de estado se encuentra en la direcci,n 4243+ el puerto de entrada A en 4245+ etc.. Si queremos emplear nombres de variables para estas direcciones de memoria escribir*amos? 61.;< equ 0$03 F.a etiqueta OES#ADOP est- asociada a la direcci,n 4243 PD =1.. equ 0$02 F.a etiqueta O@AER#AAP est- asociada a la direcci,n 4245 3d. &ri+en del pro+rama. Antes de comen7ar a escribir instrucciones m-quina debe de0inirse la direcci,n de la memoria de programa a partir de la cual se desea comen7ar a cargar el programa. @ara ello se emplea la directiva or). En los @!$ el origen del programa siempre se pone en la direcci,n 4244 porque es donde comien7a a e'ecutarse el programa despu8s de 5acer un reset. De0iniremos el origen de la siguiente manera? or7 0$00 F!nicio de programa $uando el programa mane'a interrupciones+ no se comien7a a cargar el programa desde la direcci,n 4244+ porque si se genera una interrupci,n el programa que la atiende comien7a en la direcci,n 424" %vector de interrupci,n&. En este caso lo que se suele 5acer es poner en la direcci,n 4244 un salto a una direcci,n de la memoria de programa posterior al vector de reset+ por e'emplo saltar*amos a una posici,n etiquetada como ! !$!O que se encuentra en la direcci,n 4245. or7 0$00 F.a siguiente instrucci,n estar- al inicio de la memoria 7oto I:ICI< FSalta a la direcci,n etiquetada con ! !$!O or7 0$02 F.a siguiente instrucci,n estar- en la direcci,n 4245 I:ICI< FFFFFFF FFFFFFF end "d. Cuerpo del pro+rama 5 8inal. #ras indicar la direcci,n donde se comen7ar- a cargar el programa+ sigue el cuerpo del mismo compuesto por las instrucciones m-quina ) los operandos de 8stas. El c,digo se estructura en columnas. .a primera columna se utili7a para las etiquetas que se emplean para 5acer re0erencia a partes del programa ) nos permiten reali7ar saltos a estas partes %como I:ICI< en el e'emplo anterior&. .as siguientes columnas contienen el campo de instrucciones+ el campo de datos ) el campo de comentarios. .os comentarios comien7an con F &. Al 0inal del programa se coloca la directiva end.

3.".2. E'emplos de programaci,n.


E emplo A.@. %umar el contenido de la posici(n de memoria 1C- I! con el contenido de la posici(n de memoria 1D- +! y almacenar el resultado en la posici(n de memoria 1$-. El sumador %A.A& del @!$ es capa7 de sumar dos datos de I bits cada uno+ pero debido a su con0iguraci,n uno de los sumandos debe proceder del registro de traba'o H %9igura J:K&. El e'emplo mane'a tres posiciones de la memoria de datos de prop,sito general %0igura J:1>&. En la posici,n 4$5 se colocar- el primer operando con el valor 5F en la posici,n 4D5 el segundo con el valor 2 ) el resultado se almacenar- en 4E5. $omo se vio en la 9igura J:> las direcciones 4$5+ 4D5 ) 4E5 son las tres primeras posiciones de la memoria de datos RA; %banco 4& que el usuario puede emplear para 0ines propios. Antes de e2poner el c,digo del programa se e2plican las instrucciones que se van a utili7ar?

!nstrucci,n mov @ermite trans0erir el contenido de un registro 0uente f a un registro destino d. En los @!$ todos los datos residen en posiciones de la memoria de datos a e2cepci,n del registro H. .a instrucci,n mo0 puede mover tres tipos 0undamentales de operandos? 1. El contenido del registro H. 2. El contenido de una posici,n de memoria de datos. 3. An literal o valor. mov5 57d ? mueve el contenido del operando 0uente f %posici,n de la memoria de datos& al destino d %puede ser H o la propia 0uente&.

'rograma $uente El pro&rama fuente esta compuesto por una sucesin de l<neas de pro&rama. *ada l<nea de pro&rama esta compuesta por 4 campos separados por uno o m"s espacios o ta1ulaciones. Estos campos son2 QEtiquetaR Comando Q*perando8s9R QSComentarioR

La etiqueta es opcional. El comando puede ser un mnemnico del con;unto de instrucciones. El operando esta asociado al comando! si no $a+ comando no $a+ operando! e inclusive al&unos comandos no llevan operando. El comentario es opcional para el compilador aunque es 1uena pr"ctica considerarlo o1li&atorio para el pro&ramador. La etiqueta! es el campo que empieza en la primer posicin de la l<nea. %o se pueden insertar espacios o ta1ulaciones antes de la etiqueta sino ser" considerado comando. (dentifica la l<nea de pro&rama $aciendo que el compilador le asi&ne un valor autom"ticamente. :i se trata de una l<nea cu+o comando es una instruccin de pro&rama del microcontrolador! se le asi&na el valor de la direccin de memoria correspondiente a dic$a instruccin (location counter). En otros casos se le asi&na un valor de una constante! o la direccin de una varia1le! o ser" el nom1re de una macroinstruccin! etc. El comando puede ser un cdi&o mnemnico de instruccin del microcontrolador! o una directiva o pseudoinstruccin para el compilador. En el primer caso ser" directamente traducido a cdi&o de maquina! en el se&undo caso ser" interpretado por el compilador + realizara al&una accin en tiempo de compilacin como ser asi&nar un valor a una etiqueta! etc. El campo de par"metros puede contener uno o m"s par"metros separados por comas. Los par"metros dependen de la instruccin o directiva. ,ueden ser nAmeros o literales que representen constantes o direcciones. El campo de comentario de1e comenzar con un caracter punto + coma. %o necesita tener espacios o ta1ulaciones separ"ndolo del campo anterior! e incluso puede empezar en la primer posicin de la l<nea. El compilador i&nora todo el te>to que conten&a la l<nea despus de un caracter punto + coma. 'e esta manera pueden incluirse l<neas que conten&an solo comentarios! + es mu+ 1uena pr"ctica $acer uso + a1uso de esta posi1ilidad para que los pro&ramas resulten autodocumentados. 3ttp7%%///.+eocities.com%microsIuan%cap2.3tml

Con,unto de instrucciones

El con;unto de instrucciones de los microprocesadores ,(* 1J* L consiste en un pequeo repertorio de solo 88 instrucciones de 17 1its! que pueden ser a&rupadas para su estudio en tres a cinco &rupos. En este curso se $a optado por clasificarlas! desde el punto de vista del pro&ramador! en cinco cate&or<as 1ien definidas de acuerdo con la funcin + el tipo de operandos involucrados. En primer lu&ar se a&rupan las instrucciones que operan con 1+tes + que involucran al&An re&istro de la memoria interna. En se&undo lu&ar se analizaran las instrucciones que operan solo so1re el re&istro O + que permiten car&arle una constante impl<cita o incluida literalmente en la instruccin (literales). En tercer lu&ar se a&rupan las instrucciones que operan so1re 1its individuales de los re&istros de la memoria interna. En cuarto lu&ar se clasifican las instrucciones de control de flu;o del pro&rama! es decir las que permiten alterar la secuencia lineal de e;ecucin de las instrucciones. ,or Altimo se a&rupan unas pocas instrucciones que llamaremos especiales! cu+as funciones o tipos de operandos son mu+ espec<ficos + no enca;an en nin&una de las clasificaciones anteriores. Instrucciones de 7/te que operan con Registros Estas instrucciones pueden ser de simple o do1le operando de ori&en. El primer operando de ori&en ser" siempre el re&istro seleccionado en la instruccin! el se&undo! en caso de e>istir! ser" el re&istro O. El destino! es decir donde se &uardara el resultado! ser" el re&istro seleccionado o el O! se&An se seleccione con un 1it de la instruccin. El formato &enrico de estas instrucciones es el si&uiente 2 11 1H 9 G V J 4 H d $ $ 8 7 1

Los 1its H a 4 ( 1its)! denominados ifj permiten seleccionar uno de 87 re&istros de la memoria interna. El 1it ! denominado idj! permite especificar el destino del resultado. :i d [ 1 el resultado se &uardara en el re&istro seleccionado. :i d [ H el resultado se &uardara en O. Los 1its J a 11 identifican la instruccin especifica a realizar. Las instrucciones si&uientes son las tres operaciones l&icas de do1le operando 2 AN-F> $3d Soperaci%n AN- l%gica3 destino T F $ I*RF> $3d Soperaci%n *R l%gica3 destino T F $ M*RF> $3d Soperaci%n M*R l%gica3 destino T F $ Los nom1res mnemnicos de estas instrucciones provienen de 2 )%' O con Q! (nclusive 6E O con Q + L6E O con Q. Las que si&uen son las cuatro operaciones aritmticas + l&icas sencillas de simple operando 2 !*2> $3d Smovimiento de datos3 destino T $ C*!> $3d Scomplemento l%gico3 destino T N*& $ INC> $3d Sincremento aritmtico3 destino T $ U 5 -EC> $3d Sdecremento aritmtico3 destino T $ - 5

Los mnemnicos de estas instrucciones provienen de 2 .60e Qile! *6.plement Qile! (%*rement Qile + 'E*rement Qile. En las siete instrucciones anteriores el Anico 1it afectado de la pala1ra de estado del procesador es el W! que se pone en 1 si el resultado de la operacin es HHHHHHHH! + se pone en H si el resultado tiene cualquier otro valor. ) continuacin si&uen las dos instrucciones de rotacin de 1its a travs del *)EEP 2 RL> $3d Srotaci%n a la i1quierda3 destino T $ R*& RR> $3d Srotaci%n a la derec"a3 destino T $ R*& En estas operaciones (Eotate Left Qile + Eotate Ei&$t Qile) los 1its son desplazados de cada posicin a la si&uiente! en sentido derec$o o izquierdo. El desplazamiento es cerrado! formando un anillo! con el 1it * (*)EEP) de la pala1ra de estado. En estas dos instrucciones! el Anico 1it afectado de la pala1ra de estado del procesador es el 1it *! que tomar" el valor que tenia el 1it V o el 1it H! se&An sea el sentido del desplazamiento. Estas instrucciones son mu+ Atiles para la manipulacin de 1its! + adem"s para realizar operaciones aritmticas! +a que en numeracin 1inaria! desplazar un nAmero a la izquierda es equivalente a multiplicarlo por 7! + $acia la derec$a! a dividirlo por 7. La instruccin si&uiente realiza el intercam1io de posiciones entre los cuatro 1its menos si&nificativos + los cuatro m"s si&nificativos (ni11le 1a;o + ni11le alto). SFA'> $3d Sintercam+ia ni++les3 destino T SFA' $

Esta instruccin (:O), Qile) no afecta nin&uno de los 1its de la pala1ra de estado del procesador. Esta instruccin es mu+ Atil para el manipuleo de nAmeros /*' empaquetados! en los que en un solo 1+te se &uardan dos d<&itos /*' (uno en cada ni11le). Las dos operaciones que si&uen son la suma + la resta aritmticas 2 A--F> $3d Ssuma aritmtica3 destino T $ U F SU7F> $3d Sresta aritmtica3 destino T $ - F Estas operaciones ()'' O a Q + :4/stract O de Q) afectan a los tres 1its de estado *! '* + W. El 1it W se pone en 1 si el resultado de la operacin es HHHHHHHH! + se pone en H si el resultado tiene cualquier otro valor. La suma se realiza en aritmtica 1inaria pura sin si&no. :i $a+ un acarreo del 1it V! es decir que el resultado es ma+or que 7 ! el 1it * (carr+) resulta 1! en caso contrario resulta H. :i $a+ un acarreo del 1it 8! es decir que la suma de las dos mitades (ni11les) menos si&nificativas (1its H a 8) resulta ma+or que 1 ! se pone en 1 el 1it '* (di&it carr+)! en caso contrario se pone en H.

E;emplos 2 1H1H HH1H 11H1 HHHH ^ H1HH 1111 C -C ? ^ H11H 1111 C -C ? 1111 HHH1 H 1 H HH11 1111 1 H H La resta se realiza sumando! en 1inario puro sin si&no! el re&istro f m"s el complemento a dos de O (el complemento a 1! o complemento l&ico! m"s 1) E;emplos 2 f O H1HH H1HH 3 HH1H 1HHH C -C ? HHH1 11HH 1 H H HH1H 1HHH 3 H1HH H1HH C -C ? 111H H1HH H 1 H

equivalente a 2 f H1HH H1HH cmp.7 O ^ 11H1 1HHH C -C ? HHH1 11HH 1 H H

HH1H 1HHH ^ 1H11 11HH C -C ? 111H H1HH H 1 H

Los 1its de estado * + '* toman el valor normal correspondiente a la suma de f con el complemento a 7 de O. 'e esta manera el si&nificado para la operacin de resta resulta invertido! es decir que * (carr+) es 1 si no $u1o des1orde en la resta! o dic$o de otra manera! si el contenido de O es menor que el de f. El 1it '* se comporta de manera similar! es decir que '* es 1 si no $u1o des1orde en la mitad menos si&nificativa! lo que equivale a decir que el ni11le 1a;o del contenido de O es menor que el del re&istro f. Las instrucciones que si&uen son de simple operando! pero son casos especiales +a que el destino es siempre el re&istro seleccionado 2 CLR> $ S+orrado de contenido3 $ T E !*2F> $ Scopia contenido F $3 $ T F La instruccin *LEQ (*LeaE Qile) afecta solo al 1it W que resulta siempre H. La instruccin .60OQ (.60e O a Q) no afecta nin&An 1it de la pala1ra de estado. Instrucciones de 7/te que operan so+re F / Literales Estas instrucciones se refieren todas al re&istro O! es decir que uno de los operandos de ori&en + el operando de destino son siempre el re&istro O. En las instrucciones de este &rupo que tienen un se&undo operando de ori&en! este es siempre una constante de pro&rama literalmente incluida en la instruccin! llamada constante literal o simplemente literal. El formato &enrico de estas instrucciones es el si&uiente 2

11 H

1H

Los 1its H a V especifican la constante literal de G 1its que se utilizara en la operacin. Las tres instrucciones que si&uen son las operaciones l&icas tradicionales! similares a las que +a vimos anteriormente! pero realizadas entre una constante de pro&rama + el re&istro O 2 I*RLF 0 S operaci%n *R l%gica3 F T F 0 AN-LF 0 S operaci%n AN- l%gica3 F T F 0 M*RLF 0 S operaci%n M*R l%gica3 F T F 0 En estas tres instrucciones ((nclusive 6E Literal O! )%' Literal O + L6E Literal O) el Anico 1it afectado de la pala1ra de estado del procesador es el W! que se pone en 1 si el resultado de la operacin es HHHHHHHH! + se pone en H si el resultado tiene cualquier otro valor. La instruccin que si&ue sirve para car&ar una constante de pro&rama en el re&istro O 2 !*2LF 0 Scarga constante en F3 FTN

Esta (.60e Literal O) instruccin no afecta nin&uno de los 1its de estado del procesador. La instruccin que si&ue (*LeaE O) no corresponder<a incluirla en este &rupo! + pertenece en realidad al primero! el de las instrucciones que operan so1re re&istros! +a que se trata de un caso especial de la instruccin *LEQ! con destino O! + f [ H. La incluimos aqu< porque como se le $a asi&nado un mnemnico particular referido espec<ficamente al re&istro O! creemos que! desde el punto de vista del pro&ramador! es m"s Atil verla dentro del &rupo de instrucciones referidas a O. CLRF S+orra el contenido de F3 F T E )l i&ual que en la instruccin *LEQ! el Anico 1it de estado afectado es el W que resulta 1. Instrucciones de 7it El formato &enrico de estas instrucciones es el si&uiente 2 11 H + + + $ $ $ $ $ 1H 9 G V J 4 8 7 1

Los 1its H a 4 ( 1its)! denominados ifj! permiten seleccionar uno de 87 re&istros de la memoria interna. Los 1its a V! denominados i1j! permiten especificar el numero de 1it

(H a V) so1re el que se operara. Estas instrucciones operan solamente so1re el 1it especificado! el resto de los 1its del re&istro no son alterados. Estas instrucciones no tienen especificacin de destino! +a que el mismo es siempre el re&istro seleccionado. 7C> $3+ S+orra el +it + de $ S+it $8+9 T E 7S> $3+ Scoloca en uno el +it + de $ S+it $8+9 T 5 Estas instrucciones (/it *lear Qile + /it :et Qile) no afectan nin&An 1it de la pala1ra de estado del procesador. Instrucciones de Control <*&* 0 Ssalto a la posici%n 0 8V +its9 del programa Esta es la t<pica instruccin de salto incondicional a cualquier posicin de la memoria de pro&rama (que en la ma+or<a de los microprocesadores convencionales se llama #4.,). La constante literal - es la direccin de destino del salto! es decir la nueva direccin de memoria de pro&rama a partir de la cual comenzar"n a leerse las instrucciones despus de e;ecutar la instruccin D6?6. Esta instruccin simplemente car&a la constante - en el re&istro ,* (contador de pro&rama). La Anica complicacin de esta instruccin es que la constante - es de solo 9 1its! mientras que el re&istro ,* es de 11 1its! +a que en el 1J* V de1e permitir direccionar una memoria de pro&rama de 7 a. Los dos 1its faltantes! 1it 9 + 1H del ,*! son tomados respectivamente de los 1its de seleccin de p"&ina ,)H + ,)1 de la pala1ra de estado. Este comportamiento particular $ace que la memoria de pro&rama aparezca como dividida en pa&inas de 17 posiciones como se vera m"s adelante. El pro&ramador de1e tener en cuenta que antes de e;ecutar una instruccin D6?6 es posi1le que $a+a que pro&ramar los 1its ,)H + ,)1. La que si&ue es la instruccin de llamado a su1rutina2 CALL 0 Ssalto a la su+rutina en la posici%n 0 8@ +its9 :u comportamiento es mu+ similar al de la instruccin D6?6! salvo que adem"s de saltar &uarda en el stac- la direccin de retorno de la su1rutina (para la instruccin EE?LO). Esto lo $ace simplemente &uardando en el stac- una copia del ,* incrementado! antes de que el mismo sea car&ado con la nueva direccin -. La Anica diferencia con la instruccin D6?6 respecto de la forma en la que se realiza el salto! es que en la instruccin *)LL la constante - tiene solo G 1its en vez de 9. En este caso tam1in se utilizan ,)H + ,)1 para car&ar los 1its 9 + 1H del ,*! pero adem"s el 1it G del ,* es car&ado siempre con H. Esto $ace que los saltos a su1rutina solo puedan realizarse a posiciones que estn en las primeras mitades de las pa&inas mencionadas. El pro&ramador de1e tener en cuenta este comportamiento + ase&urarse de u1icar las posiciones de inicio de las su1rutinas en las primeras mitades de las pa&inas. La instruccin que aparece a continuacin es la de retorno de su1rutina2 RE&LF 0 Sretorno de su+rutina con constante 03 FT0

Esta (EE?urn con Literal in O) instruccin produce el retorno de su1rutina con una constante literal - en el re&istro O. La operacin que realiza consiste simplemente en sacar del stac- un valor + car&arlo en el ,*. Ese valor es el ,* incrementado antes de realizar el salto! de la ultima instruccin *)LL e;ecutada! por lo tanto es la direccin de la instruccin si&uiente a dic$o *)LL.. 'ado que el stac- es de 11 1its! el valor car&ado en el ,* es una direccin completa! + por lo tanto se puede retornar a cualquier posicin de la memoria de pro&rama! sin importar como estn los 1its de seleccin de pa&ina. Esta instruccin adem"s car&a siempre una constante literal en el re&istro O. Pa que esta es la Anica instruccin de retorno de su1rutina de los ,(*1J* L! no $a+ en estos microprocesadores forma de retornar de una su1rutina sin alterar el re&istro O. ,or otro lado! + con una metodolo&<a especial de pro&ramacin! un con;unto de sucesivas instrucciones EE?LO puede ser usado como una ta1la de valores constantes incluida en el pro&rama (E;. 2 ta1las /*'5V se&.! $e>a5):*((! etc.).

) continuacin se presentan las dos Anicas instrucciones de isalteoj (s-ip) condicional. Estas instrucciones son los Anicos medios para implementar 1ifurcaciones condicionales en un pro&rama. :on mu+ &enerales + mu+ poderosas +a que permiten al pro&rama tomar decisiones en funcin de cualquier 1it de cualquier posicin de la memoria interna de datos! + eso inclu+e a los re&istros de perifricos! los puertos de entrada5salida e incluso la pala1ra de estado del procesador. Estas dos instrucciones reemplazan + superan a todo el con;unto de instrucciones de salto condicional que poseen los microprocesadores sencillos convencionales (salto por cero! por no cero! por carr+! etc.). 7&>SC $3+ 7&>SS $3+ Ssalteo si +it T E3 +it T $8E9 saltea Ssalteo si +it T 53 +it T $859 saltea

/?Q:* (/it ?est Qile and :-ip if *lear) saltea la pr>ima instruccin si el 1it 1 del re&istro f es cero. La instruccin /?Q:: (/it ?est Qile and :-ip if :et) saltea si el 1it es 1. Estas instrucciones pueden usarse para realizar o no una accin se&An sea el estado de un 1it! o! en com1inacin con D6?6! para realizar una 1ifurcacin condicional. E,emplo 5

3333333333333 3333333333333 1tfsc fla&s!run Ns< $a arrancado el relo; incf tiempo Nincremento contador de tiempo 3333333333333 3333333333333

E,emplo A

3333333333333 3333333333333 movf tiempo!B Ntesteo por tiempo [ JH >orlB JH 1tfss :?)?4:!W &oto accC7 Nsalto si tiempo dc JH 3 3 3 3 3 3 3 3 3 3 3 3 3 Naccin 1 3333333333333 3333333333333 &oto accCfin accC7 3 3 3 3 3 3 3 3 3 3 3 3 3 Naccin 7 3333333333333 3333333333333 accCfin Nac" se unen los caminos

Las instrucciones que si&uen son casos especiales de las de incremento + decremento vistas anteriormente. Estas instrucciones podr<an cate&orizarse dentro del &rupo de instrucciones orientadas a 1+te so1re re&istros (primer &rupo)! +a que efectivamente operan so1re los mismos! + el formato del cdi&o de la instruccin responde al de ese &rupo! pero! a diferencia de las otras! pueden adem"s alterar el flu;o lineal del pro&rama + por eso se les inclu+ en este &rupo. -EC>S? $3d Sdecrementa / saltea s6 E3 destinoT $ - 53 T E saltea INC>S? $3d Sincrementa / saltea s6 E3 destinoT $ U 53 T E saltea Estas dos instrucciones ('E*rement Qile and :-ip if Wero! e (%*rement Qile and :-ip if Wero) se comportan de manera similar a 'E*Q e (%*Q! salvo que no afectan a nin&An 1it de la pala1ra de estado. 4na vez realizado el incremento o decremento! si el resultado es HHHHHHHH! el microprocesador salteara la pr>ima instruccin del pro&rama. Estas instrucciones se utilizan &eneralmente en com1inacin con una instruccin de salto (D6?6)! para el diseo de ciclos o lazos (loops) de instrucciones que de1en repetirse una cantidad determinada de veces. E,emplo clrf 1H Npon&o cero en la posicin 1H de la memoria interna loop Nlo que si&ue se e;ecutar" 7 J veces ..................................... ..................................... ..................................... Nincremento la posicin 1H $asta que lle&ue a H Nsi no lle&o a cero vo+ a repetir la secuencia Ncuando lle&ue a cero salteo el &oto ..................................... N+ si&ue la continuacin del pro&rama ..................................... ..................................... Instrucciones Especiales incfsz 1H!1 &oto loop

En este &rupo se reunieron las instrucciones que controlan funciones espec<ficas del microprocesador o que actAan so1re re&istros especiales no direccionados como memoria interna normal. La instruccin que si&ue es la t<pica %6 6,EE)?(6%! e>istente en casi todos los microprocesadores. N*' Sno "ace nada3 consume tiempo

Esta instruccin solo sirve para introducir una demora en el pro&rama! equivalente al tiempo de e;ecucin de una instruccin. %o afecta nin&An 1it de la pala1ra de estado. La si&uiente es una instruccin especifica de control de los puertos de entrada5salida. &RIS $ Scarga el tristate control3 &RIS$ T F Esta instruccin (?E(:tate) car&a el re&istro de control de los 1uffers tristate de un puerto de entrada salida (data direccin re&ister)! con el valor contenido en O. El par"metro f de1e ser la direccin de memoria interna del puerto! aunque el valor O no ser" car&ado en el puerto sino en el re&istro de tristate del mismo. Los valores validos para f son 4 + en los 1J* 45 J + 4! + J en los 1J* 5 V. Esta instruccin no afecta nin&An 1it de la pala1ra de estado. La si&uiente instruccin sirve para pro&ramar el re&istro 6,?(6% que controla el E?** + prescaler *'&I*N Scarga el registro *'&I*N3 *'&I*N T F El re&istro 6,?(6% no es accesi1le como memoria interna + solo se lo puede pro&ramar con esta instruccin. Esta instruccin no afecta nin&An 1it de la pala1ra de estado. La instruccin que si&ue 1orra el contador del Batc$ do& timer. Este re&istro tampoco esta accesi1le como memoria! + esta es la Anica instruccin que lo modifica. CLRF-& S+orra el (atc" dog timer3 F-& T E Esta instruccin! adem"s! coloca en uno los 1its ,' (poBer doBn) + ?6 (time3out) de la pala1ra de estado. La si&uiente es una instruccin especial de control del microcontrolador que lo pone en el modo poBer doBn. En este modo el microprocesador se detiene! el oscilador se apa&a! los re&istros + puertos conservan su estado! + el consumo se reduce al m<nimo. La Anica forma de salir de este estado es por medio de un reset o por time3out del Batc$ do& timer. SLEE' Scoloca el WC en modo sleep3 F-& T E Esta instruccin! adem"s! 1orra el 1it ,' (poBer doBn) + setea el 1it ?6 (time3out) de la pala1ra de estado.

Resumen de instrucciones 8clasi$icaci%n seg;n el $a+ricante en tres grupos9 "nstrucciones orientadas a byte#

"nstrucciones orientadas a bit#

"nstrucciones orientadas a literal y control#

En esta ta1la de resumen del con;unto de instrucciones se pueden o1servar los mnemnicos! la e>plicacin! el nAmero de ciclos! el cdi&o de m"quina + los 1its afectados del re&istro :?)?4: para cada una de las instrucciones. 3ttp7%%///.+eocities.com%microsIuan%cap21.3tml

!odos de direccionamiento

-ireccionamiento de la memoria de datos 8RA!9 La memoria interna se direcciona en forma directa por medio de los 1its ifj contenidos en las instrucciones que operan so1re re&istros. 'e esta manera se puede direccionar cualquier posicin desde la HH a la 1Q. *omo se vi en el cap<tulo correspondiente a los mapas de memoria! las direcciones 1H a 1Q corresponden a los 1ancos de re&istros! por lo tanto! en los microcontroladores que ten&an m"s de un 1anco! antes de acceder a al&una varia1le que se encuentre en esta zona! el pro&ramador de1er" ase&urarse de $a1er pro&ramado los 1its de seleccin de 1anco en el re&istro Q:E. Los re&istros especiales + de uso &eneral de la posicin HH a la Hf est"n presentes en todos los ,(*1J* L! al i&ual que el 1anco H de re&istros. Los 1ancos 1! 7 + 8 de re&istros est"n presentes solo en el 1J* V. El re&istro Q:E! adem"s de servir para seleccionar el 1anco activo! sirve como puntero para direccionamiento indirecto. La posicin HH del mapa de E). es la llamada direccin indirecta. :< en cualquier instruccin se opera con la direccin HH! en realidad se estar" operando con la direccin a donde apunte el contenido del Q:E. ,or e;emplo si el Q:E contiene el valor 14! una instruccin que opere so1re la direccin H! operara en realidad so1re la direccin 14. :e puede decir en este e;emplo que la posicin 14 de memoria fue direccionada en forma indirecta a travs del puntero Q:E. $%emplo # N Esta porcin de pro&rama 1orra Q:E equ H4 ..................................... ..................................... movlB movBf HG movlB 17$ movBf Q:E N loop2 clrf H N1orra una posicin de memoria incf Q:E Napunta a la si&uiente decfsz HG Nsi todav<a no 1orra todas &oto loop Nsi&e 1orrando ..................................... ..................................... El direccionamiento indirecto es mu+ Atil para el procesamiento de posiciones consecutivas de memoria! como en el e;emplo! o para el direccionamiento de datos en su1rutinas. -ireccionamiento de la memoria de programa 8E'R*!3 *&'9 La instruccin D6?6 dispone solo de 9 1its en el cdi&o de operacin para especificar la direccin de destino del salto. )l e;ecutar una instruccin D6?6 el microprocesador toma los dos 1its que restan para completar la direccin de 11 1its! de los 1its + J de la pala1ra de estado. Estos Altimos son llamados 1its de seleccin de p"&ina (,)H + ,)1). posiciones de memoria a partir de la direccin 17

N(definicin al comienzo del pro&rama)

Nprepara para repetir veces N(el re&istro HG es el contador del loop) Napunta a la direccin 17$

El pro&ramador de1er" ase&urarse de que estos dos 1its ten&an el valor correcto antes de toda instruccin D6?6. 0er fi&ura 7.7.1

>I< A.A.5 -ireccionamiento directo con instrucci%n <*&* 'e1er" tenerse en cuenta adem"s que es posi1le avanzar de una p"&ina a otra en forma autom"tica cuando el ,* se incrementa. Esto ocurre si el pro&rama empieza en una p"&ina + si&ue en la si&uiente. :in em1ar&o! al incrementarse el ,* desde la Altima posicin de una p"&ina a la primera de la si&uiente! los +its 'AE / 'A5 no se modi$ican! + por lo tanto s< se e;ecuta una instruccin D6?6! *)LL o al&una que actAe so1re el ,*! esta producir" un salto a la p"&ina anterior! a menos que el pro&ramador ten&a la precaucin de actualizar el valor de dic$os 1its. ,or este motivo es conveniente dividir el pro&rama en mdulos o rutinas que estn confinados a una p"&ina. En el caso de la instruccin *)LL! el direccionamiento se complica un poco m"s! +a que la misma solo dispone de G 1its para especificar la direccin de destino salto. En este caso tam1in se utilizan los mismos 1its de seleccin de p"&ina para completar los 1its dcimo + decimoprimero de la direccin! pero falta el noveno 1it. En estas instrucciones este 1it se car&a siempre con H! lo que implica que solo se pueden realizar saltos a su1rutina a las mitades inferiores de cada p"&ina. En este caso tam1in el pro&ramador de1er" ase&urarse que el estado de los 1its ,)H + ,)1 sea el correcto al momento de e;ecutarse la instruccin. 0er fi&ura 7.7.7

>I<. A.A.A -ireccionamiento directo con instrucci%n CALL Las instrucciones que operan so1re el ,* como re&istro + alteran su contenido provocando un salto! responden a un mecanismo mu+ similar al de las instrucciones *)LL para la formacin de la direccin de destino. En este caso los 1its H a V son el resultado de la instruccin! el 1it G es H + los 1its restantes se toman de ,)H + ,)1. Este mecanismo se llama pa&inado! + a pesar de que representa una complicacin 1astante molesta para el pro&ramador! resulta mu+ Atil +a que permite ampliar la capacidad de direccionamiento de memoria de pro&rama para las instrucciones de salto. 3ttp7%%///.+eocities.com%microsIuan%cap22.3tml

Herramientas de desarrollo
UNA !IRA-A RA'I-A AL !'LA7

Ju es el !'LA7 X EL .,L)/ es un iEntorno de 'esarrollo (nte&rado i ((nte&rated 'evelopment Environment! ('E) que corre en iOindoBs i! mediante el cual 4sted puede desarrollar aplicaciones para los microcontroladores de las familias ,(* 1J51V. EL .,L)/ le permite a 4sted escri1ir! depurar + optimizar los pro&ramas (firmBare) de sus diseos con ,(* 1J51V. EL .,L)/ inclu+e un editor de te>to! un simulador + un or&anizador de pro+ectos. )dem"s! el .,L)/ soporta el emulador ,(*.):?EE + a otras $erramientas de desarrollo de .icroc$ip como el ,(*:?)E? 3 ,lus. -e que $orma le a/uda el !'LA7 X Con el !'LA7 Usted puede

'epurar sus pro&ramas fuente. 'etectar errores autom"ticamente en sus pro&ramas fuente para editarlos. 'epurar los pro&ramas utilizando puntos de corte (1rea-points) mediante valores de los re&istros internos. 61servar el flu;o del pro&rama con el simulador .,L)/ 3:(.! se&uirlo en tiempo real utilizando el emulador ,(*.):?EE. Eealizar medidas de tiempo utilizando un cronmetro. .irar varia1les en las ventanas de o1servacin. Encontrar respuestas r"pidas a sus pre&untas! utilizando la )+uda en l<nea del .,L)/.

LAS HERRA!IEN&AS -EL !'LA7 El 6r&anizador de ,ro+ectos (,ro+ect .ana&er). El or&anizador de pro+ectos (,ro+ect .ana&er) es parte fundamental de .,L)/. :in crear un pro+ecto 4sted no puede realizar depuracin sim1lica. *on el 6r&anizador de ,ro+ectos (,ro+ect mana&er) puede utilizar las si&uientes operaciones2

*rear un pro+ecto. )&re&ar un arc$ivo de pro&rama fuente de pro+ecto. Ensam1lar o compilar pro&ramas fuente. Editar pro&ramas fuente. Eeconstruir todos los arc$ivos fuente! o compilar un solo arc$ivo. 'epurar su pro&rama fuente.

So$t(are ensam+lador El softBare ensam1lador que presenta .icroc$ip viene en dos presentaciones! una! para entorno '6: llamado .,):..ELE + la otra! para entorno OindoBs llamado .,):.O(%.ELE Las dos presentaciones soportan a ?6'6: los microcontroladores de la familia ,(* de .icroc$ip.

El con;unto de instrucciones de los microcontroladores ,(* es en esencia la 1ase del len&ua;e ensam1lador soportado por este softBare. -irectivas de uso $recuente :on instrucciones para el compilador. Y-E>INE e;. Udefine dnom1rec Sdvalor a remplazarcT e>plicacin2 declara una cadena de te>to como su1stituto de otra ENe;. end e>plicacin2 indica fin de pro&rama EJU e;. status equ H e>plicacin2 define una constante de ensam1le INCLU-E e;. include d,(*1JQG4.$c e>plicacin2 inclu+e en el pro&rama un arc$ivo con cdi&o fuente *R< e;. or& H>1HH e>plicacin2 ensam1la a partir de la direccin especificada ,ara informacin m"s completa referirse a la &u<a r"pida del .,):.. 4na vez instalado adecuadamente el .,L)/! para realizar la simulacin de un pro&rama de1en se&uirse los si&uientes pasos2 Edite en un arc$ivo de te>to el si&uiente pro&rama2 Se,emplo status equ H>H8 N$ace equivalencia entre el s<m1olo status indic"ndolo como 8 en $e>adecimal *ont equ H>7H Q equ 1 or& H Nindica posicin de memoria desde donde se ensam1la (nicio movlB H>HQ Ncar&a de B con el valor constante 1 (literal) movBf *ont Nel contenido de B se pasa al re&. *6%? Loop decfsz *ont!Q Ndecremento de *ont + elude si&uiente si[H &oto Loop Nsalto incondicional a Loop &oto e N:alto incondicional aqui mismo end NQin del cdi&o

Lista de pasos2 1. Ha&a do1le clic- en el <cono correspondiente a .,L)/. 7. *rear el arc$ivo fuente correspondiente (menA Qile...%eB :ource). 8. :alve el arc$ivo (con e>tensin .):.) una vez terminada su edicin (menA Q(LE...:ave). 4. 'e1e a continuacin crearse un nuevo pro+ecto (menA ,ro;ect...%eB ,ro;ect). . *uando aparezca la ventana de %eB ,ro;ect editar las ca;as de te>to2 ,ro;ect pat$ and %ame + 'evelopment .ode! $acer clic- en d6ac. J. En la si&uiente ventana Edit ,ro;ect! $acer clic- en la seccin %on3pro;ect files so1re el nom1re del arc$ivo fuente realizado en los pasos 7 + 8. V. Ha&a clic- en el 1otn d[add + lue&o de que ste aparezca en la seccin ,ro;ect Qiles $a&a clic- so1re el 1otn d6ac. G. :alvar el pro+ecto (en el menA ,ro;ect...:ave pro;ect). 9. Eealizar la @construccin de todo el pro+ecto@ (menA ,ro;ect.../uild )ll). 1H. En esta etapa se realiza en forma autom"tica el ensam1le de nuestro pro&rama fuente + el vaciado de ste en memoria de simulacin. El proceso de ensam1le &enerar" un arc$ivo de errores en caso de que estos e>istan! s< es as< de1en corre&irse directamente so1re el arc$ivo fuente! salvar las correcciones + reconstruir el pro+ecto (menA ,ro;ect.../uild )ll). dddEn esta etapa del proceso +a se tiene el entorno listo para la simulacinccc 2ista t6pica del entorno !'LA7

*omo en la ma+or<a de las aplicaciones OindoBs la pantalla se divide en varias secciones2 1. /arra de t<tulo2 :e o1serva el nom1re del pro+ecto 7. /arra de menus2 )cceso a las diferentes opciones del entorno 8. /arra de $erramientas2 *ada <cono e;ecuta las acciones correspondientes 4. /arra de estados2 (ndica el estado del entorno + sus ventanas

Simulaci%n 1. Eesetear el procesador (menA 'e1u&...Eun...Eeset) con QJ con el <cono correspondiente en la 1arra de $erramientas. 7. *rear una nueva ventana donde se inclu+an las varia1les que queremos tener en cuenta (OindoB...%eB Oatc$ OindoB) 8. Empezar a correr paso a paso el pro&rama $aciendo el se&uimiento detallado de todos + cada uno de los pasos (menA 'e1u&...Eun...:tep) con la tecla QV con el <cono correspondiente en la 1arra de $erramientas. El proceso de simulacin nos permite detectar + corre&ir pro1lemas de l&ica! pro1lemas de situaciones que no $a+amos tenido en cuenta que son errores que no pueden ser detectados en el momento del ensam1le del pro&rama. %ota2 El pro&rama .,L)/ puede o1tenerse en forma &ratuita de la direccin2 $ttp255BBB.microc$ip.com51H5?ools5m?ools5.,L)/5inde>.$tm 3ttp7%%///.+eocities.com%microsIuan%cap23.3tml

$mportancia del len+ua-e ensamblador .a importancia del lengua'e ensamblador radica principalmente que se traba'a directamente con el microprocesadorF por lo cual se debe de conocer el 0uncionamiento interno de este+ tiene la venta'a de que en el se puede reali7ar cualquier tipo de programas que en los lengua'es de alto nivel no lo pueden reali7ar. Otro punto ser*a que los programas en ensamblador ocupan menos espacio en memoria. 2. =enta-as 5 des#enta-as del (en+ua-e 0nsamblador 6enta'as 1. 6elocidad .: $omo traba'a directamente con el microprocesador al e'ecutar un programa+ pues como este lengua'e es el mas cercano a la m-quina la computadora lo procesa mas r-pido. 2. E0iciencia de tama1o .: An programa en ensamblador no ocupa muc5o espacio en memoria porque no tiene que cargan librer*as ) dem-s como son los lengua'es de alto nivel 3. 9le2ibilidad .: Es 0le2ible porque todo lo que puede 5acerse con una m-quina+ puede 5acerse en el lengua'e ensamblador de esta m-quinaF los lengua'es de alto nivel tienen en una u otra 0orma limitantes para e2plotar al m-2imo los recursos de la m-quina. O sea que en lengua'e ensamblador se pueden 5acer tareas especi0icas que en un lengua'e de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permiten

Desventa'as #iempo de programaci,n .: $omo es un lengua'e de ba'o nivel requiere m-s instrucciones para reali7ar el mismo proceso+ en comparaci,n con un lengua'e de alto nivel. @or otro lado+ requiere de m-s cuidado por parte del programador+ pues es propenso a que los errores de l,gica se re0le'en m-s 0uertemente en la e'ecuci,n. @rogramas 0uente grandes .: @or las mismas ra7ones que aumenta el tiempo+ crecen los programas 0uentesF simplemente requerimos m-s instrucciones primitivas para describir procesos equivalentes. Esto es una desventa'a porque di0iculta el mantenimiento de los programas+ ) nuevamente reduce la productividad de los programadores. @eligro de a0ectar recursos inesperadamente .: Xue todo error que podamos cometer+ o todo riesgo que podamos tener+ podemos a0ectar los recursos de la maquina+ programar en este lengua'e lo m-s com(n que pueda pasar es que la m-quina se bloquee o se reiniciali7e. @orque con este lengua'e es per0ectamente posible %) sencillo& reali7ar secuencias de instrucciones inv-lidas+ que normalmente no aparecen al usar un lengua'e de alto nivel. 9alta de portabilidad.: @orque para cada m-quina e2iste un lengua'e ensambladorF por ello+ evidentemente no es una selecci,n apropiada de lengua'e cuando deseamos codi0icar en una m-quina ) luego llevar los programas a otros sistemas operativos o modelos de computadoras. 3. ,elacin del len+ua-e ensamblador con los componentes internos del procesador En la memoria se almacena la in0ormaci,n en celdas especiales llamados registros los cuales tienen un nivel alto ) un nivel ba'o. Anidad aritm8tica ) l,gica es la responsable de reali7ar como su nombre lo indica operaciones aritm8ticas ) l,gicas. Anidad de control Se encarga de coordinar de que los otros componentes e'ecuten las operaciones correctamente. Eus interno son los canales por donde pasa la in0ormaci,n que la m-quina va a procesar %bus de entrada& o procesada %bus de salida&. Registros de uso general AU Z Registro acumulador+ dividido en AC ) A. %I bits cada uno&.: !nterviene en las operaciones aritm8ticas ) l,gicas+ despu8s de la operaci,n arro'a un resultado. EU Z Registro base+ dividido en EC ) E..: Se utili7a en trans0erencias de datos entre la memoria ) el procesador. $U Z Registro contador+ dividido en $C ) $..: Se utili7a como contador en bucles%.OO@&+ en operaciones con cadenas%RE@&+ ) en despla7amientos%$.&. DU Z Registro de datos+ dividido en DC ) D..: Se utili7a en operaciones de multiplicaci,n ) divisi,n 'unto con A2 ) en operaciones de entrada ) salida de puertos+ su mitad in0erior D. contiene el n(mero de puertos. Registros de Estado Ca) nueve indicadores de un bit en este registro de 1J bits. .os cuatro bits m-s signi0icativos est-n inde0inidos+ mientras que 5a) tres bits con valores determinados? los bits 5 ) 3 siempre valen cero ) el bit 1 siempre vale uno.

$9 %$arr) 9lag+ bit 4&? Si vale 1+ indica que 5ubo /arrastre/ %en caso de suma& o /pr8stamo/ %en caso de resta&. Este indicador es usado por instrucciones que suman o restan n(meros que ocupan varios b)tes. .as instrucciones de rotaci,n pueden aislar un bit de la memoria o de un registro poni8ndolo en el $9. @9 %@arit) 9lag+ bit 2&? Si vale uno+ el resultado tiene paridad par+ es decir+ un n(mero par de bits a 1. Este indicador se puede utili7ar para detectar errores en transmisiones. A9 %Au2iliar) carr) 9lag+ bit "&? Si vale 1+ indica que 5ubo /arrastre/ o /pr8stamo/ del nibble %cuatro bits& menos signi0icativo al nibble m-s signi0icativo. Este indicador se usa con las instrucciones de a'uste decimal. S9 %Sero 9lag+ bit J&? Si este indicador vale 1+ el resultado de la operaci,n es cero. S9 %Sign 9lag+ bit K&? Re0le'a el bit m-s signi0icativo del resultado. $omo los n(meros negativos se representan en la notaci,n de complemento a dos+ este bit representa el signo? 4 si es positivo+ 1 si es negativo. #9 %#rap 9lag+ bit I&? Si vale 1+ el procesador est- en modo paso a paso. En este modo+ la $@A autom-ticamente genera una interrupci,n interna despu8s de cada instrucci,n+ permitiendo inspeccionar los resultados del programa a medida que se e'ecuta instrucci,n por instrucci,n. !9 %!nterrupt 9lag+ bit >&? Si vale 1+ la $@A reconoce pedidos de interrupci,n e2ternas. Si vale 4+ no se reconocen tales interrupciones D9 %Direction 9lag+ bit 14&? Si vale 1+ las instrucciones con cadenas su0rir-n /auto:decremento/+ esto es+ se procesar-n las cadenas desde las direcciones m-s altas de memoria 5acia las m-s ba'as. Si vale 4+ 5abr- /auto:incremento/+ lo que quiere decir que las cadenas se procesar-n de /i7quierda a derec5a/. O9 %Over0lo< 0lag+ bit 11&? Si vale 1+ 5ubo un desborde en una operaci,n aritm8tica con signo+ esto es+ un d*gito signi0icativo se perdi, debido a que tama1o del resultado es ma)or que el tama1o del destino. Relaci,n entre el c,digo binario ) el lengua'e ensamblador En el c,digo binario se utili7an ceros ) unos+ mientras que el lengua'e ensamblador es una colecci,n de s*mbolos mnem,nicos que representan? operaciones+ nombres simb,licos+ operadores ) s*mbolos especiales. .a relaci,n entre estos dos lengua'es ser*a que el binario es el lengua'e que la m-quina entiende ) el ensamblador se acerca mas lengua'e de esta. . Mane-o de la memoria7 "ireccionamiento :interno 5 eEterno; El mane'o de la memoria depende de que procesador tenga la m-quina+ entre los cuales a continuaci,n se mencionan los siguientes? ;emoria de @rograma ;emoria E2terna de Datos ;emoria !nterna de Datos Registros de 9unciones Especiales ;emoria de Eit. El espacio de la ;emoria de @rograma contiene todas las instrucciones+ datos+ tablas ) cadenas de caracteres %strings& usadas en los programas. Esta memoria se direcciona principalmente usando el registro de 1J bits llamado

Data @ointer. El tama1o m-2imo de la ;emoria de @rograma es de J" Gb)tes. .a ;emoria E2terna de Datos contiene todas las variables ) estructuras de datos que no caben en la memoria interna del ;icroprocesador. Esta memoria se direcciona principalmente por el registro de 1J bits Data @ointer + aunque tambi8n se puede direccionar un banco de ;emoria E2terna de Datos de 25J b)tes usando los dos primeros registros de prop,sito general . El espacio de ;emoria !nterna de Datos 0uncionalmente es la memoria de datos m-s importante+ )a que a5* es donde residen cuatro bancos de registros de prop,sito generalF la pila o stacQ del programaF 12I bits de los 25J bits de un -rea de memoria direccionable por bit ) todas las variables ) estructuras de datos operadas directamente por el programa. El tama1o m-2imo de la ;emoria !nterna de Datos es de 25J b)tes. $ontiene un espacio para los denominados Registros de 9unciones Especiales destinado para los puertos de entrada/salida+ tempori7adores ) puerto serie del circuito integrado. Estos registros inclu)en al StacQ @ointerF al registro de la palabra de estado del programa ) al Acumulador. .a cantidad m-2ima de Registros de 9unciones Especiales es 12I. #odos los Registros de 9unciones Especiales tienen direcciones ma)ores a 12K ) se ubican en los 12I b)tes superiores de la ;emoria !nterna de Datos. Estas dos -reas de la ;emoria !nterna de Datos se di0erencian por el modo de direccionamiento usado para accesarlas. .os Registros de 9unciones Especiales solo se pueden accesar usando el modo de direccionamiento Directo+ mientras que los 12I b)tes superiores solo se pueden accesar con el modo de direccionamiento !ndirecto. @or otra parte+ el espacio de ;emoria de Eit se usa para almacenar variables ) banderas de un bit. El tama1o m-2imo de la ;emoria de Eit es de 25J bits+ 12I de los bits comparten su espacio con 1J b)tes del espacio de la ;emoria !nterna de Datos ) los otros 12I bits lo 5acen con los Registros de 9unciones Especiales. 3ttp7%%///.mono+ra8ias.com%traba-os1 %len+uensambla%len+uensambla.s 3tml

.3

Aplicaciones. .3.1 Como sistema independiente. .3.2 Como subsistema de una computadora.

También podría gustarte