Está en la página 1de 255

Arquitectura de computadoras

Unida
d
Temas Subtemas
1 Modelo de
arquitecturas de
cmputo.
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 Comunicacin
interna en la
computadora.
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.
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.
Microcontroladores
.
.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.
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 eumann.
5ttp?//5omepage.mac.com/eravila/computer!!.5tml
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 AR!AR"
Arquitectura .ar#ard9 que utili*a antememorias de instrucciones 5 datos separadas. 0sta t:cnica9 denominada
Arquitectura .ar#ard9 en cierto modo contrapuesta a la idea de ;on 1e/mann9 5a que utili*a memorias cac3:
separadas para cdi+o 5 datos. 0sto tiene al+unas #enta-as .
ARQUITECTURA !ECT#RIA$
0l encadenamiento aumenta la #elocidad de proceso9 pero a<n se puede me-orar a=adiendo t:cnicas como el
supersescalado. 0sta t:cnica permite 3acer paralelas las mismas etapas sobre instrucciones di8erentes. Un
procesador superescalar puede e-ecutar ms de una instruccin a la #e*. Para :sto es necesario que e>istan
#arias unidades aritm:tico2l+icas9 de punto 8lotante 5 de control. 0l proceso que si+ue el micro es
transparente al pro+rama9 aunque el compilador puede a5udar anali*ando el cdi+o 5 +enerando un 8lu-o de
instrucciones optimi*ado. ;eamos cmo se e-ecutaran las instrucciones en un procesador superescalar de
que tiene duplicadas las subunidades que lo componen7
Aunque esto me-ora la #elocidad +lobal del sistema9 los con8lictos de datos crecen. Si antes las instrucciones
se encontraban mu5 pr>imas9 a3ora se e-ecutan simultaneamente. 0sto 3ace necesario un c3equeo dinmico
para detectar 5 resol#er los posibles con8lictos.
ARQUITECTURA %I%E&$INE
Paralelismo Temporal7 Pipe2(ine ?(ineal@
(a arquitectura pipe2line se aplica en dos lu+ares de la maquina9 en la CPU 5 en la UA(.
;eamos en que consiste el pipe2line 5 tratemos de entender porque el pipe2line me-ora el rendimiento de todo
el sistema.
;eamos una CPU no or+ani*ada en pipe2line7
Si se trata de una instruccin a ser e-ecutada por la A(U podemos decir que la CPU reali*a a lo lar+o del ciclo
de maquina estas ) tareas.
Una #e* que termina de e-ecutar una instruccin #a a buscar otra 5 tarda en e-ecutarla un tiempo T9 es decir
cada T se+undos e-ecuta una instruccin.
ABu: sucede si di#idimos en ) unidades se+<n las ) cosas que reali*a la CPUC
Supon+amos la CPU di#idida en ) unidades9 de tal 8orma que c%u tarde lo mismo en reali*ar su partecita. 0s
decir c%u tardar T%).
Para que una instruccin se e-ecute se necesita T se+undos entonces para que usar pipe2line.
Si ocurre esto en una CPU normal a una con pipe2line9 la cantidad de instrucciones que se 3acen por se+undo
aumenta9 es decir aumenta el 8lu-o de instrucciones que se e-ecutan por se+undo.
5ttp?//5tml.rincondelvago.com/computadoresBarquitectura:5arvard:pipeline:
vectorial.5tml
Arquitectura PIPE-LINE.
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.
Pipeline en maquinas SISD.
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.s3tmlDUCP
3.2.1.1 Arquitecturas.
Arquitectura interna del CPU
.a $@A contiene un con'unto de localidades de almacenamiento temporal de datos de alta
velocidad llamada registro. Algunos de los registros est-n dedicados al control+ ) solo la unidad
de control tiene acceso a ellos. .os registros restantes son los registros de uso general ) el
programador es el usuario que tiene acceso a ellos.
Dentro del con'unto b-sico de registros de control se deben incluir a los siguientes?
H $ontador de programa %@$&.
H Registro de direcciones de la memoria %;AR&.
H Registro de datos %RD&.
H Registro de instrucciones %ER&.
H @alabra de estado de programa %@SI&.
H EPCF7 .a 0unci,n del @$ 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
e'ecutar. El @$ es modi0icado dentro del ciclo de b(squeda de la instrucci,n actual mediante la
suma de una constante. El numero que se agrega al @$ es la longitud de una instrucci,n en
palabras.
@or lo tanto+ si una instrucci,n tiene una palabra de longitud se agrega 1 al @$+ si una
instrucci,n tiene dos palabras de largo se agrega 2+ ) as* sucesivamente.
H ,e+istro de direcciones de la memoria EMA,F7 0unciona como registro de enlace entre la
$@A ) el canal de direcciones. $uando se logra el acceso a la memoria la direcci,n es
colocada en el ;AR por la unidad de control ) a5* permanece 5asta que se completa la
transacci,n. El numero de bit que 5a) en el ;AR es igual al del canal de direcciones.
.a di0erencia que e2iste entre el @$ ) el ;AR es que durante el ciclo de e'ecuci,n de una
instrucci,n+ el @$ ) el ;AR sirven al mismo 0in. Sin embargo+ muc5as de las instrucciones de la
maquina 5acen re0erencia a la memoria ) operan con los datos que est-n en ella. $omo la
direcci,n de los datos suele ser di0erente de la instrucci,n siguiente se necesita el ;AR.
H ,e+istro de datos7 la 0unci,n del RD consiste en proporcionar un -rea de almacenamiento
temporal %memoria intermedia+ acumulada o bu00er& de datos que se intercambian entre la @$A
) la memoria. .os datos pueden ser instrucciones %obtenidos en el ciclo de e'ecuci,n& o datos
del operando %obtenidos en el ciclo de e'ecuci,n&. Debido a su cone2i,n directa con el canal de
datos el RD contiene el mismo numero de bit que dic5o canal.
H ,e+istro de instrucciones E0,F7 es un registro que conserva el c,digo de operaci,n de la
instrucci,n en todo el ciclo de la maquina. El c,digo es empleado por la unidad de control de la
$@A para generar las se1ales apropiadas que controla le e'ecuci,n de la instrucci,n. .a
longitud del ER es la longitud en bit del c,digo de operaci,n.
H Palabra de estado de pro+rama EPSGF7 la palabra de estado o condici,n de programa
almacena in0ormaci,n pertinente sobre el programa que este e'ecut-ndose. @or e'emplo al
completarse una 0unci,n de la unidad aritm8tica l,gica se modi0ica un con'unto de bit llamados
c,digos %o se1ales de condici,n&. Estos bit especi0ican si el resultado de una operaci,n
aritm8tica 0ue 4 o negativo o si el resultado se desbord,.
El programa puede veri0icar estos bit en las instrucciones siguientes cambiar en 0orma
condicional su 0lu'o de control seg(n su valor.
Adem-s el @SI contiene bit que 5acen posible que la computadora responda a solicitudes de
servicio asincr,nicas generadas por dispositivos de Entrada:Salida+ o condiciones de error
interno. Estas se1ales se denominan interrupciones.
.os registros restantes que se pueden encontrar en un microprocesador son de uso general.
Estos se utili7an para almacenar in0ormaci,n en 0orma temporal. #ambi8n retienen operandos
que participan en operaciones de la A.A.
Algunas veces el con'unto de instrucciones de la computadora ) el esquema de
direccionamiento de la arquitectura restringe el uso de alguno de estos registros.
Si bien en todas las maquinas la in0ormaci,n contenida en el registro puede manipularse como
datos ordinarios durante la e'ecuci,n de algunas instrucciones los datos se utili7an en 0orma
e2pl*cita para decidir una direcci,n de la memoria. .a venta'a de usar registros para retener
datos de operaciones es la velocidad.
5ttp?//5tml.rincondelvago.com/arquitectura:interna:de:la:cpu.5tml
Elementos 'ue 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.
T(pos
/"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. !uncionamiento.
)unc(ones 'ue *eal(+a
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 Iindo<s >5/>J 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 12J ;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 K" ;b+
para el buen 0uncionamiento tanto de Iindo<s como de las aplicaciones normales+ )a que
notaremos considerablemente su rapide7 ) rendimiento+ pues generalmente los equipos
actuales )a traen 12J ;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 iual 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 proramas 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
proramas 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
tecnoloa 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, cara 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 fuas, 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: proramadas por m(scara, la informacin es rabada enla f(brica y no tiene posible
modificacin&
PROM, o ROM: proramable una sola .e+&
EPROM (Erasale PROM) o RPROM (Reprogramale ROM): su contenido puede ser borrado
mediante rayos ultra.ioletas, para acto seuido rerabarlas&
EAROM (Electrically Alterale ROM) o EEROM (Electrically Erasale ROM), son la frontera entre
las 6,7 y las 687, su contenido puede ser rerabado 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 reproramar "en tan solo
seundos%, 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 !DoleData 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
seunda"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 J4 ) L4 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 3JK.
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 3JK+ "JK ) los primeros @entiumM+ lleg, a 0abricarse en velocidades de K4ns
) la 0orma que presentaban era en m,dulos S!;; de 34 pines+ para los equipos 3JK ) "JK )
para los equipos @entiumM era en S!;; de L2 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 @entiumM+ @entium @roM ) los
primeros @entium !!M+ 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 K" bits+ no es nesesario
instalarlo en pares.
RDRA; %Rambus DRA;&? Esta memoria tiene una trans0erencia de datos de K" bits
que se pueden producir en r-0agas de 2ns+ adem-s puede alcan7ar ta7a de tran0erencia de 533
;57 con picos de 1.KDb/s. ;u) pronto alcan7ar- dominio en el mercado+ )a que se estar-
utili7ando en equipos con el nuevo procesador @entium "M. 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 !#EDO K"M. Ser- lan7ada al mercado por
SA;SADM e C!#A$C!M.
#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 1KJ
pines del actual D!;; a 1J" 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.s5tmlN
=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
. a E6. pro&ramadas por m"scara! cu+a informacin se &ra1a en f"1rica
+ no se puede modificar.
. b ,E6.! o E6. pro&rama1le una sola vez.
. c E,E6. (erasa1le ,E6.) o E,E6. (repro&rama1le E6.)! cu+o
contenido puede 1orrarse mediante ra+os ultravioletas para re&ra1arlas.
. d 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).).
. 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..
/"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 %DinamicRAM)! .a primera memoria 5asta la aparici,n de los 3JK+ era algo
lenta %L4 , J4 ns&. En 0ormato D!;; o S!;; de 34 contactos.
!ast Pa+e E!PM o ",AMF7 Algo m-s r-pida que la anterior %L4 , K4 ns&. Se presenta
en 0ormato S!;; de 34 , L2 contactos.
0"&2,AM %"#tended Data OutputRAM)! @ermite empe7ar a introducir nuevos datos
mientras los anteriores est-n saliendo %L4+ K4 , 54 ns&+ lo que la 5ace algo m-s r-pida
%un 53 m-s que la 9@;&. 6ienen en S!;;s de L2 contactos+ aunque tambi8n los 5a)
en D!;; de 1KJ.
S",AM %$incronicRAM&? 9unciona sincroni7adamente con la velocidad de la placa %de
54 a KK ;C7&+ para lo que debe ser rapid*sima %de 25 a 14 ns& ) se presenta en 0orma
de D!;;s de 1KJ contactos.
PC1HH %$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 Inline Memory Module)! @eque1a placa de circuito impreso con varios
c5ips de memoria integrados. Se 0abrican con di0erentes velocidades de acceso
capacidades %"+ J+ 1K+ 32+ K" ;b& ) son de 34 , L2 contactos. Se montan por pares
generalmente.
"$MM7 Son m-s alargados+ cuentan con 1KJ 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 1R 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 7R.
''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.
Caracter*sticas de la Memoria!
El tiempo de almacenamiento? %vol-til o no&.
6elocidad de acceso en operaciones de lectura / escritura.
$apacidad de almacenamiento.
Sin embargo? A mas +elocidad mayor costeSO.A$!OUtili(ar distintos tipos de memoria
or)ani(ada de forma ,er-r.uica.
/ipos!
;emorias de solo lectura RO;? @RO; ) E@RO;
;emorias de lectura / escritura RA;? SDRA; ) DRA;
;emorias ;agn8ticas / ,pticas? Discos duros+ $DRO;+ D6D
0erar.u*a de memoria1 2i+eles!
!6E. 4 $ac5e P6E.O$!DAD
!6E. 1 Ram/Rom QQ..QQQQQQ.
!6E. 2 ;agn8tico / ,ptico P$A@A$!DAD
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 7J ./ 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*st(cas
#ienen matri7? .ugar 0*sico en el que se almacena in0ormaci,n. An punto es el
lugar 0*sico donde se almacena un bit. J 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?
RAtil? .A que puede almacenar el usuario.
REruta? (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?
R 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.
R6ol-tiles? @ierden su contenido sin electricidad. Est-n basadas en semiconductores.
Ro 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 L4 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.
I0,A,BU$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$ADAR!A 9uera del ordenador
3.2.2. !uncionamiento.
Funci&n
:ormada por condensadores, que continuamente se est(n carando y descarando, hacen
posible almacenar los ceros y unos "ausencia y presencia de corriente respecti.amente%, el
tiempo que tarden a .ol.erse a carar una .e+ se descaran 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 al9n 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 apaar el PC se pierde toda la informacin que hay&
,ttp:--....,a*d.a*e/2v.com-conoc(m(entospc-0.p,p
)unc(ones 'ue *eal(+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?

M0CJ1$C&7 denominado SD!S@OS!#!6O DE E/ST.
0(0CT,K1$C&7 denominado S$O#RO.ADOREST.

.os dispositivos de E/S que se conectan al ordenador se clasi0ican en?
'(&BU07 .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,JCT0,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
SRE.O=T+ 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 peaU de trans0erencia entre
dispositivos ) memoria.

El siguiente cuadro 5ace re0erencia+ a las grandes di0erencias entre las
clases de dispositivos?

"$SP&S$T$;& C&MP&,TAM$01T& C(AS$!$CAC$&1 TASA L'%S0M.
T0C(A"& Entrada $ar-cter 4+41
M&US0 / / 4+42
SCA110, / / "44
;&S ESalidaF Salida / 4+K
$MP,0S&,A
E(neaF
/ / 1+4
$MP,0S&,A
E(serF
/ / 244
M&"0M Entrada / salida / 2+4:J+4
,0" (A1 / / 544:K444
!(&PPN Almacenamiento Eloque 144
C" / / 1444
C$1TA
MAM10T$CA
/ / 2444
"$SC&
MAM10T$C&
/ / 2444:14444



E2isten otros 0actores que 5acen a su distinci,n?
A!DADES DE $O#RO.
RE@RESE#A$!O DE DA#OS
$OD!$!O 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 Arquitecturas.
3.2.3.2 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/capituloK.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 K2 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 K %!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 clicUs 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 soft3are de tratamiento de im-genes o con
reconocimiento ,ptico de caracteres. An tipo de esc-ner utili7ado con 0recuencia es el flat4ed1
que 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 flat4ed 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 5and
5eld1 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.
Iebcam? 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 Optico? 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)sticU? dispositivo se1alador mu) conocido+ utili7ado ma)oritariamente para 'uegos
de ordenador o computadora+ pero que tambi8n se emplea para otras tareas. An ,oystic6 o
palanca de 'uegos tiene normalmente una base de pl-stico redonda o rectangular+ a la que est-
acoplada 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
soft3are+ generalmente produciendo un e0ecto en la pantalla. An ,oystic6 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 ,oystic6 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 J4 columnas+ de unos L+5 cm %3
pulgadas& de anc5o por 1J cm %L pulgadas& de largo+ en la que pod*an introducirse J4
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
LKJ puntos puede representar 5asta LKJ l*neas 5ori7ontales de 142" puntos cada una+
probablemente adem-s de otras resoluciones in0eriores+ como K"42"J4 u J442K44.
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 CV %5ert7ios& ) debe
estar por encima de los K4 C7+ pre0eriblemente L4 u J4. 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 15WW , 1LWW 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 Ks 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 Caractersticas.
-ispositivos de E ) S
: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
-irecci%n de e ) s 2ector de interrupciones
Eelo; H4H 3 H48 G
?eclado HJH 3 HJ8 9
'isco duro 87H 3 87f 18
(mpresora 8VG 3 8Vf 1
'isco fle>i1le 8fH 3 8fV 14
Es787 primario 8fG 3 8ff 17
Es787 secundario 7fG 3 7ff 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. !uncionamiento.
)unc(ones 'ue *eal(+a
0amos a sealar las funciones que de1e realizar un computador para e;ecutar tra1a;os
de entrada5salida2
W -ireccionamiento o selecci%n del
dispositivo que de1e llevar a ca1o la operacin de E5:.
W &rans$erencia de los datos entre el
procesador + el dispositivo (en uno u otro sentido).
W Sincroni1aci%n / coordinaci%n de
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
W Esta+lecimiento de una
comunicaci%n $6sica entre el procesador + el perifrico para la transmisin de la
unidad de informacin.
W 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
W Recuento de las unidades de
in$ormaci%n transferidas (normalmente 1+tes) para reconocer el fin de operacin.
W Sincroni1aci%n de velocidad entre
la *,4 + el perifrico.
W -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.)
W 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.
W 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%%///.mail>mail.com%curso%in8ormatica%arquitectur
aordenadores%capitulo14.3tm
Unidad 2. Comunicacin interna en la
computadora.
2.4 'uses.
'US0S "0( S$ST0MA
)unc(ones 'ue *eal(+a
El bus se puede de0inir como un con'unto de l*neas conductoras de
5ard<are utili7adas para la transmisi,n de datos entre los componentes
de un sistema in0orm-tico. An bus es una ruta que conecta di0erentes
partes del sistema+ como el microprocesador+ la controladora de unidad
de disco+ la memoria ) los puertos de entrada/salida+ para permitir la
transmisi,n de in0ormaci,n.
En el bus se encuentran dos pistas separadas+ el bus de datos ) el bus
de direcciones. .a $@A 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 car-cter binario. Es decir solo pueden
representar 4 o 1 ) de esta manera 0orman con'untamente el n(mero de
la posici,n dentro de la memoria %es decir? la direcci,n&
Est*uctu*as de (nte*cone1(2n
E2isten dos estructuras de operaciones Entrada/Salida que tienen que
ver con los buses+ son? el bus (nico ) el bus dedicado.
El bus dedicado trata a la memoria de manera distinta que a los
peri08ricos %utili7a un bus especial& al contrario que el bus (nico que los
considera a ambos como posiciones de memoria. Este bus especial que
utili7a el bus dedicado tiene " componentes 0undamentales?
o Datos? !ntercambio de in0ormaci,n entre la $@A ) los peri08ricos.
o $ontrol? .leva in0ormaci,n re0erente al estado de los peri08ricos
%petici,n de interrupciones&.
o Direcciones? !denti0ica el peri08rico re0erido.
o Sincroni7aci,n? #empori7a las se1ales de relo'.
.a ma)or venta'a del bus (nico es su simplicidad de estructura que le
5ace ser m-s econ,mico+ no permite que se realice a la ve7
trans0erencia de in0ormaci,n entre la memoria ) el procesador ) entre los
peri08ricos ) el procesador.
El bus dedicado es muc5o m-s 0le2ible ) permite trans0erencias
simult-neas. Su estructura es m-s comple'a ) por tanto sus costes son
ma)ores.
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 fiurado 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 subcateoras, 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 subcateoras 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 : orani+a y redirie la informacin hacia el bus pertinente
para la informacin que se tiene que transmitir& *s el bus encarado 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 inteliencia 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> #?
$>$$$>#$$ 2> $
$>2$? 2@ #?
$>A$? 3B A2 #?
$>A$? 0B
$>@$? 3B
$>@$? 0B
A2 A2
P*CTIU7 P*CTIU7 II<III<ID
,70 EF<E?<EG
,70 ,T518C<T5UC0*6'I60
,70 ,T518C BP<7P
A2 ?@
ICT*1 IT,CIU7
,70 ,T518C?@
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 X# ) 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 $CAE. %;$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 + Xenit$.
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%%///.mail>mail.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%%///.mail>mail.com%curso%in8ormatica%arquitectu
raordenadores%capituloO.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 YpuenteZ llamada Y'CI-&o-
ISA-7ridgeZ. :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%%///.mail>mail.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%%///.mail>mail.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%%///.mail>mail.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, CB$=( 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/J>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%OP3919>3tml
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$[
q\cac$e2]LXO4e1m1&G#2BBBdi.u;aen.es5^mcdiaz5docencia5curH4CH5fi5teoria5H4C6r
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 %nY 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 1K
bits+ nos estamos re0iriendo al anc5o de su bus de datos.
$ttp255BBB.laBe1delpro&ramador.com5diccionario5mostrar.p$p[letra\/`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%CmpQestructura.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&. Z[ui8n controla todo este proceso......\
3ttp7%%///.unicrom.com%CmpQestructura.asp
'us de direcciones
Es utili7ado por el microprocesador para se1alar la celda de memoria %o el dispositivo de E/S&
con el que se quiere operar. El tipo de operaci,n ser- de lectura o de escritura ) los datos
implicados via'ar-n por el bus de datos.
@or 8l circula la e2presi,n binaria de la direcci,n de memoria a la cual el microprocesador
quiere acceder. #iene sentido de 0lu'o unidireccional desde el microprocesador 5acia la
memoria. Ana ve7 locali7ados los datos perdidos+ su transmisi,n 5acia el microprocesador %o
5acia donde sea& se 5ar- a trav8s del bus de datos.
.os dispositivos de E/S intercambian la in0ormaci,n con el microprocesador mediante los
puertos de E/S. $ada puerto est- asociado con un determinado dispositivo ) tiene una
direcci,n que lo identi0ica.
El anc5o de este bus tambi8n es una medida de la potencia del microprocesador+ )a que
determina la cantidad de memoria a la que 8ste puede acceder+ es decir+ la cantidad de
espacio direccionable. El espacio de direcciones es el rango de valores distintos que el
microprocesador puede seleccionar. .a cantidad m-2ima de direcciones disponibles ser- 2 a la
n+ siendo n el n(mero de l*neas del bus de direcciones.
5ttp?//5tml.rincondelvago.com/bus:de:direccionesBdispositivo:dma.5tml
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 2
n
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 @$ X# contiene 24 l*neas identi0icadas SAH a SA1PF que en el A# se
aumentaron a 2L+ 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 @$ X# ) de 2L para los A#s.
$on los datos anteriores+ resulta evidente % 4."& que el @$ X# pod*a mane'ar
1.4"J.5LK direcciones %2
24
&+ mientras que en el A# esta cantidad asciende a
algo m-s de 13" millones %2
2L
&. Sin embargo+ recordemos que tanto los
procesadores J4JJ presentes en el X#+ como los J42JL del A#+ ten*an
registros de 1K bits % C3b& que solo pod*an albergar K5.53K posiciones %2
1K
&+
mu) ale'ado de los valores anteriores. @ara resolver el problema+ se utili7an las
direcciones se+mentadas % C5.1&+ compuestas por dos palabras de 1K bits
que se componen para 0ormar una direcci,n de 24 bits.
1ota? durante las operaciones E/S de puertos+ las direcciones SA1K:
SA1> del J4JJ permanecen iguales a cero % C3.2.1&+ por lo que solo
pueden utili7arse 1K bits para direcciones de puertos.
5ttp?//<<<.7ator.com/Card<are/C2.5tmN$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 3us del s(stema
!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.m>%uni#%#irtec3%pro+rac%cb5nH3.3tm
@apel del bus de control? a traves de este bus+ la unidad de control activa el
;AR el ;DR ) los demas registros involucrados en los procesos de lectura:
escritura. Sincroni7a el momento en que se activan AE ) DE+ esto corresponde
a un con'unto de microoperraciones necesarias para producir una lectura o
escritura en memoria.
5ttp?//5tml.rincondelvago.com/arquitectura:de:computadorasB2.5tml
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 Ciclo de %ectura' Cuando los datos en (emoria o puertos
de E/S se transfieren a la CPU.
o 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 C8IPS!%!C; (CS)
o %!C;U$# (RD)
o !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?
HGS %/Vero Iait 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;I+ !OR e !OI+
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(L. Se1al del relo' que conecta directamente con una patilla del
procesador % C3b1&. En el X# es de ".LL ;C7+ un tercio de la se1al
del oscilador %OS$&. En el A# esta 0recuencia se elev, a L ;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 X# es de 1".31J1J ;C7.
$%& C. C.L %/$5annel $5ecU/&. Es una se1al de detecci,n de errores.
$uando est- ba'a+ alg(n dispositivo del bus 5a detectado un error de
paridad.
$%& C. ,"N %/$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.
$,B %/!nterrupt request/&. En el @$ X# e2isten K l*neas identi0icadas
$,B2 a $,B6+ 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 K l*neas 0ueron aumentadas posteriormente en el @$ A#+
a1adi8ndose J+ aunque no todas 0ueron destinadas al servicio de
peri08ricos+ por lo que en el nuevo EAS solo aparecen $,B1H+ $,B11+
$,B12+ $,B1 e $,B1).
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 est-
5aciendo 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.
$&G %/!/O Irite/& 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.
",B %/D;A Request/&. Similares en concepto a las l*neas !R[+ pero
utili7adas para solicitar acceso directo a memoria. E2isten tres de ellas+
se1aladas ",B1 a ",B3.
"ACL %/D;A AcUno<ledge/&. Se utili7an para acusar recibo de la
petici,n DR[ correspondiente. E2isten cuatro+ se1aladas "ACLH a
"ACL3+ aunque el mecanismo D;A solo utili7a las tres (ltimas+ DA$G4
es utili7ada en el X# 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.
M0MG %/;emor) Irite/& $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.3tmDControlador "MA
2.4.) 'uses normali*ados.
'uses normali*ados ms comunes
El $5ipset marca las caracter*sticas del bus de la $@A
#ipos de buses de e2pansi,n
$SA Asado en los primeros @$. Es de oc5o bits por que usa oc5o l*neas para
comunicarse con tar'eta de placas. #ambi8n 5a) de 1K bits.
$aracter*sticas?
Ea'a capacidad ) amplia di0usi,n.
O bits 14 bits
1CA Es un !SD e2tendido de 32 bits. Es compatible con el !SA. o se usa para orden
de alto nivel avan7ado ) m-s avan7ado.
0$S" Es un !SD e2tendido de 32 ) compatibles con !SD. o se usaba para ordenes de
alto nivel.
'ases locales Obtienen alto rendimiento entre la placa ) las ranuras de e2pansi,n.
#raba'a a 33 ;57.
#!@OS
;(2'US !nstalado en los "KJ de gama alta. o 5ab*a acceso directo a RD;+ ) ten*a
que intervenir o la $@A o un canal D;D ) esto tardaba muc5o.
PC$ Evita el problema anterior creado por !ntel.
$aracter*sticas?
: Eus de 32 bit de datos ) direcciones.
: 6elocidad de 33 ;57.
: $apacidad de trans0erir datos de 132 ;b/seg.
: Soporta el bus masterin] %Eus master R;D&
: @ermite reali7ar casos concurrentes de escritura.
: Reparte de 0orma inteligente la capacidad. Otorga m-s capacidad al dispositivo que
m-s lo necesite.
: @ermite reali7ar casos concurrentes de escritura.
: Soporta m-2imo 3 , " slots por cada bus @$!
: @uede coe2istir con buses de otro tipo.
: @reparado para multitud de plata0ormas. o s,lo para @$.
: !ncorpora 0acilidades % @lug ^ @la)&
: El coste de este tipo de buses es mu) ba'o.
AMRP Espec*0ico para controladores de v*deo. Eus de alto rendimiento de 32 bits )
velocidad de KK ;57+ su capacidad es mu) superior.
'uses normali*ados de peri8:ricos
SCS$ Ent-ndart universal para la conversi,n de todo tipo de peri08ricos. Atili7ado para
dispositivos de almacenamiento.
Caractersticas
: Sencille7
: .os dispositivos conectados son espec*0icos para el Scasi+ es decir+ son de tipo
S$AS!+ esto conlleva a que todos los dispositivos llevan conector de SET ) de SST para
el S$AS!.
: $ontienen altas prestaciones.
: Alto coste de adquisici,n
S$S! 1 Oc5o bits permite conectar 5asta J dispositivos. Realmente son s,lo siente
dispositivos+ )a que uno lo ocupa la controladora. .a trans0erencia es de 3+3. ;b/seg.
Casta 5 ;b/seg.
S$S! 2 Se me'ora la velocidad. Ca) cuatro tipos de S$S! .
ormal J bitss 5 ;b/seg
9ast J bits 14 ;b/seg
Iide 1K bits 14 ;b/seg
9ast:Iide 1K bits 24 ;b/seg
Altra S$S!? Sali, en 1>>K+ aumenta las prestaciones del S$S!. $ompatible con 9ast:
S$S! 2 ) con 9ast/Iide:S$S! 2.
@ara buses de J bits. Alcan7a los 24 ;b/seg+ ) para bus<es de 1K bits llega 5asta "4
;b/seg.
S$S! 3? Es otro con'unto de est-ndares+ mu) especiali7ado. @or e'emplo+ uno de esos
con'untos est- orientado a serie en 0ibra ,ptica+ ) alcan7a una gran velocidad en este
campo. S$S! 3 )a no es compatible con los otros+ a 0avor de la velocidad.
US'7 %universal serial Eus&. .a in0ormaci,n se transmite en serie. Su ob'etivo es
superar los inconvenientes de la cone2i,n entre peri08ricos ) ordenador.
$000 13P #iene los mismos ob'et*vos %<ire:0ire&
5ttp?//5tml.rincondelvago.com/in0ormatica:basicaBJ.5tml
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 J4JJ tienen registros de 1K bits que pueden servir para
almacenar los despla*amientos+ es decir+ cualquier direcci,n dentro de una
7ona de K" GE %que se conoce como se+mento&. Disponen adem-s de "
re+istros de se+mento de 1K 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 K" 2
" _ 25K 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 1K 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/e4J/a)udas/intel/J43JK.C#;
Ese mismo a1o aparece en escena el J42JK+ muc5o m-s comple'o que el
J4JK. 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 2JK opera como un J4JKF
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 pri+ile)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 1K;b de memoria RA; %por contar con un bus de
direcciones de 2" bits&+ aunque como los registros segu*an siendo de 1K bits+
no posibilitaba el mane'o de bloques de memoria :se)mentos: de m-s de K"Ub.
En cualquier caso+ m-s all- del mero aumento de la velocidad de relo' %5asta
14;C7 en el J4JK+ 1K+ 24 e incluso 25;C7 en el 2JK&+ 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>J5 sale el J43JK+ 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 2JK+
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 +irtual o 6JK+ posibilitando la e'ecuci,n de m-quinas virtuales J4JKF el
sistema puede pasar con cierta 0acilidad de un modo a otro+ permitiendo que
0uncionen varios /J4JK/ 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 Iindo<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 Rmuc5asR veces el <indo<s enredando con
un programilla DOSF los mecanismos de protecci,n del Iindo<s de'an
bastante que desear&.
5ttp?//<<<.rinconsolidario.org/eps/asmJ4JK/$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 2JK 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 K"U+ ) con el 3JK 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 2JK+ nos re0eriremos gen8ricamente a modo protegido
cuando 5ablemos de 3JKP.
5ttp?//lorca.act.u'i.es/e4J/a)udas/intel/J43JK.C#;
Modo prote+ido 5 memoria e>tendida
.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.L&+
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 J42JK+ que en 1>J2 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 J42JK pod*a traba'ar en modo real+
imitando el 0uncionamiento del J4JJ + 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"
%1K ;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 e>tendida+ para
distinguirla de la antigua E;S `3a. .a posterior introducci,n del J43JK+ 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
Iindo<s. E-sicamente estas me'oras se re0er*an a dos cuestiones?
.ane;o de memoria virtual
:oporte nativo para multipro&ramacin
S6.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 J42JKF 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 est-
agotada+ 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 `"a.
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 Iindo<s 3.1 en 1.>JL. En Iindo<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 (Gescriptor
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/Uoll/;odo324protegido324)
324memoria324virtual.5tm
2.6.3 Modo real #irtual.
El J43JK %DX&
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>".>KL.2>K %2 elevado a la 32& locali7aciones de
memoria+ o " gigab)tes de RA; . Esto 5ace posible direccionar incluso K"
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.O 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.m>%uni#%#irtec3%pro+rac%cb5nH3.3tm
EL &E!'*RI?A-*R @A4B U @A4C.
El G7854 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 G74 que equipa a los )?! al&o m"s potente que
el G78 de los ,*5L?N sin em1ar&o! las pocas diferencias ser"n
comentadas cuando lle&ue el caso.
17.8.1 3 'E:*E(,*(a% 'EL (%?EDE)'6.
Este circuito inte&rado posee 8 contadores totalmente independientes!
que pueden ser pro&ramados de J formas diferentes.
'V..'H2 /4: de datos 1idireccional de 8 estados.
*Lb H2 *L6*b H! entrada de relo; al contador H.
64? H2 :alida del contador H.
D)?E H2 ,uerta de entrada al contador H.
*Lb 12 *L6*b 1! entrada de relo; al contador 1.
64? 12 :alida del contador 1.
D)?E 12 ,uerta de entrada al contador 1.
*Lb 72 *L6*b 7! entrada de relo; al contador 7.
64? 72 :alida del contador 7.
D)?E 72 ,uerta de entrada al contador 7.
)H..)12
L<neas de direccin para seleccionar uno de los tres contadores o el re&istro de la pala1ra de
control.
3*:2 Ha1ilita la comunicacin con la *,4.
3OE2 ,ermite al G74 aceptar datos de la *,4.
3E'2 ,ermite al G74 enviar datos a la *,4.
-ESCRI'CIDN >UNCI*NAL
El dia&rama funcional del G74! 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 G74 con la *,4. La l%gica de lectura / escritura acepta
entradas del 1us + &enera seales de control para las partes
funcionales del G74. 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 G74! no disponi1le en el G78). 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
.
+ 6L
L
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 G74 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
.
+ *E
L
(*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 *Lb! D)?E +
64?.
-ESCRI'CIDN *'ERACI*NAL
?ras el encendido del ordenador! el G74 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 G74 $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 G74 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 G74 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 G74. El
primero es el comando Eead3/ac-! slo disponi1le en el G74 (+ no en el G78)! 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 *Lb 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 (cdisponi1le tal vez slo en el G74[) 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 G74! no en el G78. 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 G74! 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 3d*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/ac-
consecutivos. 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 (*Lb)! 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 *Lb)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 3e *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; (*Lb).
: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 *Lb. 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 *Lb. :i se escri1e una nueva cuenta durante el
proceso! se car&ar" en el pr>imo pulso *Lb + 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 *Lb + 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 *Lb
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 G74 E% EL 6E'E%)'6E.
?odos los )? + ,:57 llevan instalado un G74 o al&o equivalenteN los ,*5L? van
equipados con un G78! 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 J8J)! 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(X)*(a%.
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 ; borrar bit ) *cone$in
contador + con el alta%o&,
<= .L,0000000)b ; acti%ar bit 0 *l!nea >.1 del
contador +,
?MP 6@<=1 AB+ ; estado de espera para C6
<D1 6)(,.L
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
pro7rama 6>M:1
.66DM C6Hpro7rama, ;6Hpro7rama
<=> )00(
inicioH
C.LL inicGretardo
M<L CI,+0 ; +0 retardos
M<L .I,2K62K ; de 20 milise7undos
retardH C.LL retardo
L<<P retard
I:1 +0(
inicGretardo P=<C
PD6@ .I
I: .L,6)(
.:; .L,))))))0)b
<= .L,)
?MP 6@<=1 AB+
<D1 6)(,.L
M<L .L,)0))0)00b ; contador +, modo +, binario
?MP 6@<=1 AB+
<D1 43(,.L
P<P .I
=1
inicGretardo :;P
retardo P=<C
PD6@ .I
PD6@ BI
CLI
<D1 4+(,.L ; parte ba#a de la cuenta
M<L .L,.@
?MP 6@<=1 AB+
<D1 4+(,.L ; parte alta
?MP 6@<=1 AB+
I: .L,6)(
I<= .L,) ; ba#ar >.1
?MP 6@<=1 AB+
<D1 6)(,.L
I<= .L,) ; subir >.1
?MP 6@<=1 AB+
<D1 6)(,.L
61I
?MP 6@<=1 AB+
M<L BI,0MMMM(
retardandoH M<L .L,)0000000b
<D1 43(,.L ; encla%amiento
?MP 6@<=1 AB+
I: .L,4+( ; leer contador
M<L .@,.L
?MP 6@<=1 AB+
I: .L,4+(
IC@> .@,.L ; .I N %alor del contador
CMP .I,BI
M<L BI,.I
?B retardando
P<P BI
P<P .I
=1
retardo :;P
pro7rama :;6
:; 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? f
_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 gm"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 ...gno 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 J8! aunque no conviene
que sea superior a J4HH! para permitir que las recar&as puedan ser detectadas en la
m"quina m"s lenta (un L? a 4.VV + en 18511981GH 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 782929 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 J8 (frente al H\J8J
$a1itual)! de la si&uiente manera2
M<L .L,00))0))0b ; contador 0, operacin ))b,
datos binarios
<D1 43(,.L
M<L BI,6223 ; %alor de cuenta
M<L .L,BL
?MP 6@<=1 AB+
<D1 40(,.L ; en%iar b"te ba#o
M<L .L,B@
?MP 6@<=1 AB+
<D1 40(,.L ; 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 bEP/ 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 G74! 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 bHz 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 G74. )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 G74 (la
l<nea 64? del contador 7 del G78 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 bEP/ 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 bEP/ 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 bEP/ 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
bEP/ del .:3'6: .H castellano como el del .:3'6: J.H en in&ls o castellano
indistintamente (glas 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 *66+69L,; CE un se7undo EC
retardoGasm *MIC=<*)000000L,,; CE otro se7undo *Sm-s claroT, EC
retardoGc *66+69L,; CE a(ora en C EC
retardoGc *MIC=<*)000000L,,; CE la otra alternati%a EC
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; cuentaGlNcuenta Y 0$MMMM;
do
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 :h%?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 G74
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 bEP/ 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 G74! +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 ; e%itar posible I:1 8, entre
otras
I: .L,6)(
.:; .L,)))))))0b
?MP 6@<=1 AB+ ; estado de espera para C6
<D1 6)(,.L ; ba#ar >.1 del contador +
del 8+24
M<L CI,)00( ; +26 %ueltas
otroGcicloH PD6@ CI
I: .L,6)(
I<= .L,+ ; in%ertir bit )
?MP 6@<=1 AB+
<D1 6)(,.L
M<L CI,300 ; constante de retardo
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 ; contador +, modo 3,
operacin ))b, datos binarios
<D1 43(,.L ; pro7ramar contador +
M<L .I,+9)) ; ).)K3.)80 C 440 @& *nota
L., N +9))
?MP 6@<=1 AB+
<D1 4+(,.L
M<L .L,.@
?MP 6@<=1 AB+
<D1 4+(,.L ; frecuencia pro7ramada
?MP 6@<=1 AB+
I: .L,6)(
<= .L,000000))b
?MP 6@<=1 AB+
<D1 6)(,.L ; alta%o& sonando
M<L CI,0
demoraH L<<P demora ; esperar un cierto tiempo
por el peor m0todo
I: .L,6)(
.:; .L,))))))00b
?MP 6@<=1 AB+
<D1 6)(,.L ; 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%12H3.3tml
2.O.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.O.2 ,eset del sistema.
2.O.3 0stados de espera.
2.P $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%%///.mail>mail.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 G79!
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 G79. 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 G79 denominado
sla+e! en contraposicin al primer c$ip G79 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 G79 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 G79 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.):b)! que es la direccin del re&istro de m"scaras de interrupcin ((.E).
El re&istro de m"scara del se&undo c$ip G79 del )? se sitAa en el puerto )1$
((%?7C*?L.):b). En este patrn de 1its! se ponen a uno los 1its que corresponden a
los nAmeros de interrupcin que se desea enmascarar.
2.P.10nmascarable.
$nterrupcin enmascarable7
.a solicitud de interrupci,n enmascarable se reali7a a trav8s de la entrada !#R
%!nterrupt Request&. !#R solicita una interrupci,n de StipoT variable que se determina
en el ciclo de reconocimiento.
!#R+ es una entrada activa por nivel alto+ que se muestrea durante el (ltimo ciclo de
relo' de cada instrucci,n %5a) instrucciones especiales en que esto no se cumple+ ver
nota&. En ese momento se determina si el micro debe continuar e'ecutando la pr,2ima
instrucci,n o debe ingresar en el ciclo de reconocimiento de interrupci,n.
@ara que el pedido sea reconocido+ !#R debe permanecer en alto %al menos& durante
el (ltimo ciclo de relo' de la e'ecuci,n de la instrucci,n en curso. .uego !#R puede
ba'ar en cualquier momento despu8s del 0lanco descendente del primer pulso de !#A+
dentro de la secuencia de reconocimiento.
Esta l*nea puede SenmascararseT a trav8s de un bit interno del micro %!9? interrupt
enable 0lag bit& que se ubica en el 9lag Register. Si la m-scara se encuentra activada
%!9_4& la l*nea es ignorada. Si por el contrario !9_1+ el pedido es aceptado ) se dar-
inicio al ciclo de !#A.
.a m-scara permite condicionar la atenci,n de las solicitudes de interrupci,n que
ingresan a trav8s de !#R. Esto es 0undamental para permitir o no el anidamiento de
rutinas de atenci,n de interrupciones de esta clase.
Es importante ver que+ cuando comien7a la e'ecuci,n de la rutina de atenci,n de la
interrupci,n+ !9 debe pasar a 4 al menos 5asta que la l*nea !#R pase a ba'o. Si esto
no 0uera as*+ solo llegar*a a e'ecutarse la primera instrucci,n de esta rutina ) el micro
comen7ar*a nuevamente con otro ciclo de reconocimiento.
$onceptualmente? las interrupciones activas por nivel deben ser enmascarables.
ota? Ana e2cepci,n es la instrucci,n IA!# que espera un nivel ba'o en la entrada
#ES# para continuar con el programa. Esta instrucci,n muestrea continuamente la
entrada de interrupciones SduranteT su e'ecuci,n+ permitiendo la atenci,n de
interrupciones en el interior de la SesperaT. $uando 0inali7a la rutina de atenci,n+ el
micro retorna a e'ecutar la instrucci,n IA!#.
$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
AcUno<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 DX
%@!$4 es el nem,nico de la direcci,n m-s ba'a de puerto A4 _ 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 DX
%establecido en la primera instrucci,n&.
@ara 0acilitar el mane'o de interrupciones+ el J4JJ ) 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 !(AMS %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 !R[Ws 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.
5ttp?//<<<.7ator.com/Card<are/C2B".5tm
2.P.21o2enmascarable.
$nterrupcin no enmascarable
.a solicitud de interrupci,n no enmascarable se reali7a a trav8s de la entrada ;!
%on masUable !nterrupt&. ;! solicita una interrupci,n de StipoT 0i'o igual a 2+ por lo
tanto no es necesario que se realice un ciclo de !#A.
;! es una entrada asincr,nica activa por 0lanco ascendente. El 0lanco ascendente en
la entrada de ;!+ se lac5ea en el interior del micro 5asta que la instrucci,n en curso
0inali7a.
o es enmascarable por lo que su atenci,n es inevitable. Esto 5ace que+
independiente de la estructura que se monte para las interrupciones enmascarables+
puede pensarse que+ ;! es siempre la interrupci,n m-s prioritaria )a que puede
interrumpir la e'ecuci,n de cualquier servicio generado por !#R.
@ara que el pedido se 5aga e0ectivo+ la entrada debe permanecer en alto+ al menos
dos ciclos de relo'+ 5asta que el micro la recono7ca. .a l*nea puede ba'ar antes+
durante o despu8s del servicio de ;!.
@ara que el micro vuelva a reconocer otro pedido+ la l*nea debe 5aber permanecido en
ba'o al menos dos ciclos de relo' despu8s de 5aber ba'ado.
Debe tenerse especial cuidado en que no 5a)a 0lancos espurios en el circuito de ;!
que puedan generar interrupciones indeseables.
;!+ se usa para situaciones graves que requieran atenci,n incondicional del micro.
An uso t*pico de ;!+ es la e'ecuci,n de la rutina para ca*das de alimentaci,n del
sistema o sistemas de <atc5 : dog.
Es importante ver que+ como ;! es no enmascarable+ no podr*a ser activa por nivel+
)a que ser*a imposible impedir que se repita el comien7o de la atenci,n cuando se
e'ecuta la primera instrucci,n de la rutina de servicio.
$onceptualmente? las interrupciones no enmascarables deben ser activas por 0lanco.
$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$ %/onmasUable !nterrupt/ b5 & 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.
5ttp?//<<<.7ator.com/Card<are/C2B".5tm
Ciclo de reconocimiento de interrupcin7
Este ciclo+ tambi8n llamado ciclo de !#A+ se utili7a para detectar el StipoT de
interrupci,n que desea e'ecutarse como resultado de la solicitud que ingresa por !#R.
Esta secuencia de reconocimiento se genera solo como respuesta a una interrupci,n
proveniente de !#R.
En realidad el ciclo de reconocimiento est- 0ormado por dos ciclos de !#A+ cada uno
de ellos es mu) similar a un ciclo de lectura. En el segundo ciclo de !#A+ se lee un
b)te del bus de datos que identi0ica el StipoT de la interrupci,n.
@or tanto+ !#A %!nterrupt AUno<ledge& es la salida de reconocimiento de interrupci,n
) se usa como pulso de lectura del StipoT en el ciclo de !#A. Es activa en ba'o ) pasa
a este valor durante #2+ #3 %) #<& de los ciclos de reconocimiento de interrupci,n. Su
ob'etivo es avisar al dispositivo solicitante que su pedido de interrupci,n 5a sido
aceptado ) que debe noti0icar al micro cu-l es el StipoT de interrupci,n que pide.
Segundo ciclo de !#A detallado?
ota? Durante el ambos ciclos de !#A+ el bus AD est- 0lotante.
Atencin de $nterrupcin7
@revio al comien7o de la e'ecuci,n de la rutina de servicio de interrupci,n+ ) como
parte de la respuesta a cualquier interrupci,n %o pseudo interrupci,n& el micro reali7a
una serie de tareas que 0orman parte de la secuencia de e'ecuci,n de una
interrupci,n.
En los casos en donde e2ista %!#R&+ la secuencia de e'ecuci,n se reali7a luego de la
de reconocimiento.
.as acciones que 0orman esta secuencia son?
H @ASC del registro de banderas+ el $S ) el !@ en la pila.
H Reset de los bits de trampa ) de m-scara para que + al menos por de0ault+ la rutina
de e'ecuci,n de interrupci,n no sea e'ecutada en modo paso a paso+ ni sea
interrumpida por interrupciones enmascarables %ver nota&.
H $arga de los nuevos $S e !@ %provenientes de la !6#&.
.uego de estas acciones+ se e'ecuta la primera instrucci,n de la rutina de atenci,n.
ota? Estos dos bits pueden se re 5abilitados en el interior de la rutina de servicio de la
interrupci,n+ permitiendo la e'ecuci,n paso a paso de esa rutina %o'o no se puede
5acer en la e'ecuci,n de la rutina de atenci,n de paso a paso& o permitir que otra
interrupci,n enmascarable sea atendida durante la e'ecuci,n de una interrupci,n dada
%anidamiento&.
En resumen?
$ada ve7 que el micro 0inali7a la e'ecuci,n de una instrucci,n+ comprueba %en este
orden&?
H Si est- activa la trampa %#9_1&
H Si 5ubo pedido ;!
H Si 5a) over0lo< en el segmento del coprocesador
H Si 5a) !#R
H Si la pr,2ima es una instrucci,n !#
Si se da alguna de estas condiciones+ entonces se produce la siguiente secuencia?
H Si 5a) un !#R+ se reali7a la secuencia de reconocimiento de interrupci,n.
H Se salva el contenido del registro de banderas en pila
H Se desactivan la m-scara de interrupci,n !9 ) el #9
H Se salva el contenido del $S en la pila
H Se salva el contenido del !@ en la pila
H Se recupera el contenido del vector de interrupci,n ) se carga el $S ) el !@ en con
su contenido de manera que el micro contin(e e'ecutando donde ellos indiquen.
#anto en la !#R como en la ;!+ los tiempos de demora entre la activaci,n del
pedido ) la e'ecuci,n de la primera instrucci,n de la rutina de servicio+ dependen de la
instrucci,n que se est8 e'ecutando en el momento de esa activaci,n.
.os tiempos que si pueden determinarse en 0orma e2acta son los de demora entre el
0inal de la instrucci,n en curso ) el comien7o de la primera instrucci,n de la rutina de
servicio.
@or e'emplo+ en el caso de una !#R+ el retardo desde el 0inal de la instrucci,n durante
la cual ocurri, la interrupci,n+ 5asta el comien7o de la e'ecuci,n de la primera
instrucci,n de la rutina de atenci,n+ es de K1 ciclos de relo'.
En las interrupciones generadas por so0t no 5a) ciclos de !#A. Esto reduce el
2.1H Acceso "irecto a memoria.
Acceso "(*ecto a 4emo*(a 5"4A6
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/capituloK.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.1H.1 Sistema de #ideo.
2.1H.2 Sistema de discos.
2.1H.3 &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
12J , 25K. 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 "JK 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,(psets pa*a %ent(um y %ent(um 447
"e $ntel E T*(tones F
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.
3H !T? el /ritn cl-sico+ de apabullante 82ito. An c5ipset bastante apropiado para los
@entium /normales/ %no ;;X& con memorias tipo EDO. Co) en d*a des0asado )
descatalogado.
3H .T? el /ritn 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.
3H ;T? Zel #rit,n !!!\ ;-s bien el 2.5F algo m-s lento que el CX+ pero con soporte para
memoria SDRA;. Se puede decir que es la revisi,n del 9X+ o bien que se sac, para
que la gente no se asustara del precio del CX...
3H TT? el (ltimo c5ipset de !ntel para placas @entium %placas soc6et 7&. Si queremos
usar micros !ntel ) aplicaciones que se contenten con placas con 1 @entium+ la opci,n
a elegir. Soporte ;;X+ SDRA;+ AltraD;A... An problema? si se le pone m-s de K" ;E
de RA;+ la cac58 de'a de actuarF aunque m-s de K" ;E es muc5a RA;.
C3ipsets de $ntel para Pentium 5 Pentium MMT
Concepto 3H !T 3H .T 3H ;T 3H TT
(mero $@As m-2. 1 2 1
1
RA; m-2ima 12J ;E 512 ;E 12J ;E 25K ;E
#ipos de RA; 9@;+ EDO 9@;+ EDO+ SDRA;
RA; cac5eable
m-2ima
K" ;E 512 ;E %seg(n
placa+ no todas&
K" ;E
$ac58 .2 m-2ima 512 GE
6elocidad bus m-2. KK ;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 socUet L tienen desarrollos
superiores a los de !ntel+ como los A;D GK %normal ) GK:2& o los $)ri2:!E; K2JK;X %;2&+ en
general m-s avan7ados que los @entium ) @entium ;;X.
"e ;$A E Apollos F
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 CX o #X+ 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 MMT
Concepto ;P2 ;PT ;P3 M;P3
(mero $@As m-2. 1
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"J GE
6elocidad bus m-2. KK ;C7 L5 ;C7 KK ;C7 144 ;C7
@uertos adicionales AltraD;A ) ASE AltraD;A+ ASE ) AD@
$omentarios o adecuados para micros no !ntel de
nueva generaci,n %no soportan AD@
ni bus 144 ;C7&
Sin bus a 144
;C7
;u) moderno+
con todos los
avances
.o bueno de las placas con c5ipsets 6!A es que siguen en el mercado socUet L+ 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 socUet L soporta AD@+ por e'emplo&.
El (ltimo c5ipset de 6!A para socUet L+ el ;@63+ o0rece todas las prestaciones del EX de !ntel
%e2cepto soporte para placas duales&+ con0igurando lo que se denomina una placa $uper 7 %con
AD@ ) bus a 144 ;C7&+ que con un micro como el nuevo A;D GK: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 L
/Aladdin 6/+ que como el ;@63 de 6!A resulta equiparable a todos los e0ectos al EX de !ntel
para placas @entium !! %bus a 144 ;C7+ AD@...&F una 0ant-stica elecci,n para micros como el
A;D GK:2.
C3ipsets de A($ para Pentium 5 Pentium MMT
Concepto M1)21%M1)23 EAladdin
$$$F
M1)31%M1)T3 EAladdin
$;2$;UF
M1)1%M1)3 EAladdin
;F
(mero $@As m-2. 1
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. L5 ;C7 J3+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 GK: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
compati4les Intel como el GK de A;D o el K2JK;X %;2& de $)ri2:!E;+ aunque
desgraciadamente no soportan por a5ora el bus a 144 ;C7 del nuevo GK:2.
C3ipsets de S$S para Pentium 5 Pentium MMT
Concepto ))P6%))PO ))O1%))O2 ))P1%))P2
(mero $@As m-2. 1
RA; m-2ima 3J" ;E LKJ ;E
#ipos de RA; 9@;+ EDO+ SDRA;
RA; cac5eable m-2ima 12J ;E 25K ;E
$ac58 .2 m-2ima 512 GE 1 ;E
6elocidad bus m-2. L5 ;C7 J3 ;C7
@uertos adicionales AltraD;A+ ASE ) S6DA
integrada
AltraD;A ) ASE AltraD;A+ ASE ) AD@
$omentarios Apropiados para micros no !ntel %especialmente $)ri2& pero no los de (ltima
generaci,n %A;D GK:2& por carecer de bus a 144 ;C7
C,(psets pa*a %ent(um 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 9X %que no es
propiamente un c5ipset para @entium !!+ sino m-s bien para el e2tinto @entium @ro& ) el barato
EX+ basado en el .X pero con casi todas las capacidades reducidas.
C3ipsets de $ntel para Pentium $$ 5 Celeron
Concepto H !T H (T H 'T H 0T
(mero $@As m-2. 2 1
RA; m-2ima 512 ;E 1 DE EDO , 512
;E SDRA;
1 DE 25K ;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. KK ;C7 144 ;C7 KK ;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 9X+ .X+ EX ) EX 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)T3
S$S )4H1
(mero $@As m-2. 1 , m-s dependiendo de la placa



\
RA; m-2ima 1 DE 1 DE SDRA; , 2 DE
9@; o EDO
#ipos de RA; 9@;+ EDO+ SDRA;+ @$144 SDRA;
RA; cac5eable o aplicable %dentro del microprocesador+ tama1o
m-2ima 0i'o&
$ac58 .2 m-2ima
6elocidad bus m-2. 144 ;C7
@uertos adicionales AltraD;A+ ASE ) AD@
$omentarios ;u) avan7ados+ equivalentes al !ntel EX En pro)ecto
8losa*(o de t9*m(nos *elac(onados
Resulta mu) bonito saber que el c5ipset soporta esto o aquello+ pero si saber .u8 es esto o
aquello no vamos a ning(n lado. .os t8rminos m-s importantes a conocer son?
AMP? un tipo de puerto o slot especiali7ado para gr-0icos 3D.
'us Edel sistemaF? 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.
Cac3: (2? la cac58 secundaria o de nivel 2 %le+el 9&. 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;&.
PC1HH? 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 uni+ersal %el mismo para todos& ) poderse conectar
en cadena unos a otros.
$a elecc(2n del c,(pset
$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 EX+ 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 .X+ por
e'emplo.
1o se obsesione con el Intel Ins(de. 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 EX de !ntel para @entium !! es a(n el me'or de su categor*a+ en el campo socUet L los
me'ores desarrollos no son de !ntel+ que lo 5a abandonado a 0avor del campo @entium !!. @or
ello+ comprarse una placa #X 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 EX+ que es muc5o peor que los Apollo @ro o Aladdin @ro !!.
c 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 CPU.
3.1.2 Controlador del 'us.
Controlador del bus
Es una especie de controlador de tr-0ico. En el @$ X# es el c5ip J2JJ ) en el
A# es el J22JJ. 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 i, .*JGHHH es que la transferencias entre
el i, + 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 7H 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 i, 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 i, 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 i, desea transferir
5ttp?//<<<.ii.uam.es/d0'gome7/KJ444/tutorial/cap5.5tmlNcap5: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 + J8. 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 jescuc$ask 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&

S1 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 @$Ws 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 K2:
K95&.
S2 "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&
S2.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.
En la tabla ad'unta se muestran algunas
de estas direcciones t*picas para
dispositivos de E/S `3a. .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.
A+unas direcciones %5e2& de
puertos en el PC TT%AT
"ispositi#o "ireccin
$ontrolador "MACN1
primario J23LA
HHH2HH!
$ontrolador de
interrupciones P$CN1
J25>A
H2H2H21
#empori7ador
programable P$T J253
) J25"
HH2H3
$ontrolador peri08ricos
PP$ J255 %X#&
H4H2H43
$ontrolador JL"2 %A#&
H4H2H4
Altavo7 del sistema
H412H41
$;OS RA; ^ ;!
;asU Reg %A#&
H6H2H61
Registros de p-gina
D;A
HO12HO!
$ontrolador de
interrupciones P$CN2
%A#&
HAH2HA1
;! ;asU register %X#&
HA22HA!
$ontrolador "MACN2
secundario %A#&
HCH2H"!
$lear / Reset del
coprocesador
matem-tico
H!H2H!1
$oprocesador
matem-tico J42JL
H!O2H!!
$ontrolador de disco
duro %A#&
1!H21!!
@uerto de 'uegos
2HH22H!
Anidad de e2pansi,n
%X#&
21H221!
Rat,n %conectado al
bus&
23O223'
@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 J254
de ational SemiconductorF que dispone de J 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 Iindo<s >J pueden comprobar la asignaci,n de
puertos del sistema mediante el programa $?eArc5ivos de
programaeArc5ivos comunese;icroso0t
S5arede;S!9Oe;S!9O32.EXE. En .inu2 pueden consultarse en el
0ic5ero /proc/ioports % E'emplo&.
S2.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 'ireccin
*6.1 8QG38QQ$
*6.7 7QG37QQ$
*6.8 8EG38EQ$
*6.4 7EG37EQ$
S2.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 K"4 GE que pod*an utili7arse en los primeros @$Ws para Sistema
) programas de aplicaci,n. @or e'emplo+ el adaptador de video utili7a un -rea
de memoria de 12J GE mapeada entre las direcciones A4444:E99995.
Sin embargo+ los decodi0icadores de direcciones de peri08ricos de los primitivos
@$Ws 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 25K E)tes
estaban copados por algunos dispositivos de la placa:base+ resultando que los
dispositivos E/S deb*an ser mapeados en LKJ E)tes. Deneralmente se
utili7aron 0ragmentos de 25K E)tes en la 0orma 2294:22995+ organi7ados de
0orma bastante desordenada.
.a introducci,n del A# ampli, estas direcciones a 1K `2a. Sin embargo+ incluso
los K" 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 K" 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.
S3 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.
S3.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
J4JJ ) 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 AT o A(. Observe que el puerto
puede ser e2presado directamente mediante una direcci,n %5e2adecimal& o
mediante un acumuladorFori7en+ que debe ser "TF 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 AT 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 "T.
En el !E;:@$+ las direccionesFdeFpuerto utili7adas en estas instrucciones
estan en el rango 44:995+ aunque en la pr-ctica solo 44:9L5+ porque !ntel
reserva las direcciones 9J:995 para el coprocesador metem-tico % 4.3.2&. En
cambio+ si se utili7a la direcci,n contenida en el registro "T 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 L con la primera instrucci,n. El L 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 Iindo<s disponen de una D.. espec*0ica
para este tipo de servicios.
S3.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.
$&G 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.
M0MG 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 !R[ 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 J25>A+ que puede mane'ar J peticiones de interrupci,n+
pero pronto se 5i7o evidente que eran un n(mero e2cesivamente corto+ por lo
que en 1>J"+ !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 J2"J>DX.
3.1.) Controlador de "MA.
Controlador "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 X# estaba integrado en un
c5ip J23LA que proporcionaba " canales. @osteriormente en los A# se
instalaron dos+ ampli-ndose a J 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 O236 "MA
El controlador de D;A J23L suministra a la memoria ) al E/S se1ales de
control e in0ormaci,n ) direccionamiento a la memoria durante la trans0erencia
de D;A. El J23L 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 J23L tiene cuatro canales ) es compatible con los microprocesadores J4JK )
J4JJ. El J23L 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 J23L puede e0ectuar trans0erencias de D;A a
velocidades de 5asta 1.K ;b)tes por segundo. $ada una puede direccionar a
una secci,n completa de K" Gb)tes de la memoria ) puede trans0erir 5asta K"
Gb)tes con una sola programaci,n.
5ttp?//<<<.monogra0ias.com/traba'os5/tempori/tempori.s5tmlNcon
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
%se=al 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(L.
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".31J1J ;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 ".LL ;C7 es decir+ un tercio de la 0recuencia del oscilador
`3a.
.a se1al C(L 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 `Ka.
1ota? Cemos se1alado + que a partir de la introducci,n del J4"JK
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(L.
En este sentido es particularmente signi0icativa la denominada #elocidad
del bus e>terno. [ue 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 KK ;C7 en sus comunicaciones con el bus e2terno.
E2actamente la misma que un procesador de /solo/ KK ;C7 de relo' que
utilice tambi8n KK ;C7 para el bus e2terno. .a situaci,n actual es que las
velocidades t*picas de las placas:base son de K4: KK: 144: 133 ;C7
mientras que los procesadores 0uncionan a 0recuencias m(ltiplos de
aquellasF t*picamente de 12 5asta 142+ es decir+ desde K4 a 1334 ;C7 %lo
que se denomina #elocidad del n<cleo&.
C3ip del relo-
En el @$ original+ el oscilador antes mencionado est- montado en un c5ip
J2J"A %JJ2J" 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 1J
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 $locU/&. 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 bacUup 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##ERc+ se distinguen tres de los " pines del
conector para la bater*a au2iliar `La.
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"KJ1J. En los
modelos iniciales esta memoria era de 12J b)tes. Actualmente es de 25K 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 J253 %J25" 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 bHz.
.edir el intervalo entre sucesos.
Qi&. 7
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.3tmDControlador "MA
3.1.6 Controladores de #ideo.
ABu: es la tar-eta de #ideoC
.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 J4225 puntos. En tanto que en los gr-0icoslo 5ac*a con L242354
puntos+ dic5a tar'eta serv*a s,lo para gr-0icos de unsolo color. .a tar'eta C8rcules ten*a una
capacidad total de K"U de memoriavideo RA;. @ose*a una 0recuencia de re0resco de la pantalla
de 54CV.
$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?
R 1K4 X 144 @A#OS $O 1K $O.ORES
R 324 X 244 @A#OS $O " $O.ORES
R K"4 X 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"21J puntos ) en el modogr-0ico dos resoluciones
di0erentes de K"42244 ) K"42354 a " bits+ lo que dacomo resultado una paleta de 1K colores+
siempre ) cuando la tar'eta est8equipada con 25KGE 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 25K colores+ dando como resultadoim-genes de colores muc5o
m-s vivos. .as primeras 6DA contaban con 25KGE 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"2LKJ p*2eles con Jbits de
color. En el modo te2to la 6DA tiene una resoluci,n de L242"44 pi2eles+adem-s posee un
re0resco de pantalla de K4CV+ ) con 1K colores soporta 5astaK"4X"J4 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%0p5pVA005pWq3-WLb0.p3p
Controladores de peri8:ricos
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 J255. Se trata de un
c5ip de 2" patillas que pueden ser programadas individualmente en dos grupos
de 12+ de las cuales J son de datos ) " bits au2iliares inclu)en se1ales de
control %S#ROEEF A$GOI.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
4K45:4K35+ que son sus n(meros de puerto ) dispone de tres registros de 1
b)te conocidos como A+ ' ) C+ cu)as direcciones respectivas son 4K45+ 4K15 )
4K25. .a direcci,n 4K35 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 J255 como tal+ pero emula su comportamiento. En este
caso el controlador es un JL"2 responde a las direcciones 4K45:4K"5+ )
reali7a otras 0unciones no directamente relacionadas con el teclado+
como resetear la A$@+ controlar la puerta A24 ) mane'ar el rat,n `>a.
El J254 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 `JaF 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 @DLK5+ que controlaba el disquete en los X#+ m-s conocido como !"C
%/9lopp) Disc $ontroller/&. 9ue sustituido por el J24L2A en el A# ) por el
J24LLA 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!!$!OES
@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. &,$M01 N 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>J4+ 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>L4+ 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>J4 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>L4 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>J> aparece un nuevo servicio+ la
III %Iorld Iide Ieb+ #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 III 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. ;01TAIAS
;enta-as para los Clientes
@ermite el acceso a m-s in0ormaci,n. .a naturale7a interactiva del Ieb ) 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 Ieb 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 Ieb
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 Ieb 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 Ieb 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 Ieb 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 Ieb se encuentra disponible las 2" 5oras del d*a
ba'o demanda de los clientes. .as personas que reali7an el mercadeo pueden
usar el Ieb 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 Ieb 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 Ieb 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 Ieb 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.
. CAT0M&,$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<orUs: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 III+ )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.
). ,$0SM&S
$omo medio comercial el Ieb 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 necesitar-
una computadora personal con sistema operativo Iindo<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 Ieb 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 Ieb+ no puede estar seguro de la identidad del vendedor.
An-logamente+ 8ste no lo est- sobre la del comprador. [uien 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.
ca 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.
0>istencias 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&(&M$AS BU0 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? Ieb+ 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
O. T$P&S "0 ,0(AC$&10S BU0 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 %tel80onoPm,dem& con el prop,sito de reali7ar compras desde el 5ogar
%/5ome s5opping/&+ o el banco en su casa %/5ome banUing/& 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.
1H. 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?
'<squeda 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
Ieb ) 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+ ca5oo que proporciona un cat-logo general de
una gran variedad de di0erentes sitios Ieb. 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.
o $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 Ieb. Estos intermediarios son equivalentes a los editores de gu*as en papel.
o 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 b<squeda. 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 Ieb.
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
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.
5. 0#aluadores de los sitios Geb. .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.
K. 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 Ieb+ as* como in0ormaci,n
0idedigna sobre las caracter*sticas de los clientes.
L. !oros9 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.
J. !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.
14. 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 0TP&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 A10T&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( &'I0T&
@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( 10M&C$& IU,$"$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 obra9 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 pr:stamo9 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 Comodato9 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. 1L"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. 1L5J&+ desde que una persona recibe una cosa a'ena con la
obligaci,n de guardarla ) restituirla+ siendo un contrato gratuito+ salvo pacto
contrario %art.1LK4&+ 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.34K ) 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& X((A;0 01 MA1&X "0 C0S$&1 "0 US& "0 P,&"UCT&S
$1!&,MAT$C&S
Entre?
Domicilio?
$!9?
A continuaci,n denominado el ASAAR!O
c E;@RESA a continuaci,n denominado el 9AER!$A#E9 con $!9 X:>>>>>>.
c domicilio social en? .a calle de la empresa+ Varago7a.
Se convienen las $.AASA.AS que a continuaci,n se mencionan?
P,$M0,A. &'I0T& "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 AEXO !
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.
S0MU1"A. US& "0( P,&"UCT&
El producto que se de0ine en el AEXO 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 N 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!$!OA. cualquier nueva instalaci,n de los
@RODA$#OS. El ASAAR!O que necesite una .!$E$!A AD!$!OA. deber-
requerirlo por escrito al 9AER!$A#E.
.as .!$E$!AS AD!$!OA.ES se especi0ican en sucesivos AEXOS al
presente contrato.
@ara las siguientes licencias de uso se establece un descuento del 253 sobre
el precio de la primera.
BU$1TA. MA,A1T$A
El @RODA$#O go7a de una garant*a de K4 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 AEXOS+ 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.
S0TTA. 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 &'($MAC$&10S9 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$WAC$&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,AI0.
@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>JJ.
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
Varago7a con renuncia a u propio 0uero si este 0uese otro.
"0C$MA. ACTUA($WAC$&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.
c 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?
A10T& C&1T,AT& X((A;0 01 MA1&X "0 C0S$&1 "0 US& "0
P,&"UCT&S $1!&,MAT$C&S.
AEXO !
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. XXX/2c222222 ) esta su'eto a los
t8rminos que en el mismo 0iguran.
C&1"$C$&10S "0 PAM&
C&M0,C$A(9 P,$MAS N 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 @ERSOA. c AREA E$OO;!$O:9!A!ERA
343 a la aceptaci,n del pedido.
L43 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?
f;. $#A.?
0MP,0SA 0( USUA,$&
@or? @or?
$argo? $argo?
9irma? 9irma?
13. 0( PAM& 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 tradicionales9 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 d:bito 5 de cr:dito. 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 espec8icos9 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 cr:dito 5 d:bito
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.
3. 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.
$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 SocUets .a)er&.@ara la reali7aci,n de una transacci,n utili7ando
SS. se requiere de dos elementos?
1. [ue 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. [ue 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.
K. Se garanti7a la no:manipulaci,n de los datos entre el comprador ) el vendedor.
L. .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>>K 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 J43 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 est-
intentando 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 Ieb /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>>J 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 3g 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 estar-
ante 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 Ieb.
Ana ve7 desarrollado el sitio Ieb+ 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 Ieb+ corresponde se1alar que en el inciso
b de su art*culo 1g 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 Ieb+ 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 ser-
utili7ado 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'
o %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.
o %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 #l+unos de estos dispositi"os tienen puerto de
comunicaciones serial.
o ;ienen entradas para interrupci*n.
o %a pro+ramaci*n es r&pida.
o %as herramientas de desarrollo son econ*micas y se
encuentran disponibles en a red, las cuales incluyen el ensamblador y simulador.
%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 COS debido al consumo bajo que ofrece. #l+unos de estos dispositi"os
COS 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 + microprocesadores est" 1asada en la
arquitectura 0on %eumann! en la cual la unidad central de proceso (*,4)! est"
conectada a una memoria Anica donde se &uardan las instrucciones del pro&rama + los
datos. El tamao de la unidad de datos o instrucciones est" fi;ado por el anc$o del 1us
que comunica la memoria con la *,4. )s< un microprocesador de G 1its con un 1us de
G 1its! tendr" que mane;ar datos e instrucciones de una o m"s unidades de G 1its (1+tes)
de lon&itud. :i tiene que acceder a una instruccin o dato de m"s de un 1+te de lon&itud!
tendr" que realizar m"s de un acceso a la memoria. P el tener un Anico 1us $ace que el
microprocesador sea m"s lento en su respuesta! +a que no puede 1uscar en memoria una
nueva instruccin mientras no Cnalicen las transferencias de datos de la instruccin
anterior. Eesumiendo todo lo anterior! las principales limitaciones que nos encontramos
con la arquitectura 0on %eumann son2
1. La limitacin de la lon&itud de las instrucciones por el 1us de datos! que $ace que el
microprocesador ten&a que realizar varios accesos a memoria para 1uscar instrucciones
comple;as.
7. La limitacin de la velocidad de operacin a causa del 1us Anico para datos e
instrucciones que no de;a acceder simult"neamente a unos + otras! lo cual impide
superponer am1os tiempos de acceso.
Arquitectura Harvard
La arquitectura Harvard tiene la unidad central de proceso (*,4) conectada a dos
memorias (una con las instrucciones + otra con los datos) por medio de dos 1uses
diferentes. 4na de las memorias contiene solamente las instrucciones del pro&rama
(.emoria de ,ro&rama)! + la otra slo almacena datos (.emoria de 'atos). )m1os
1uses son totalmente independientes + pueden ser de distintos anc$os. ,ara un
procesador de :et de (nstrucciones Eeducido! o E(:* (Eeduced (nstruccin :et
*omputer)! el set de instrucciones + el 1us de memoria de pro&rama pueden disearse
de tal manera que todas las instrucciones ten&an una sola posicin de memoria de
pro&rama de lon&itud. )dem"s! al ser los 1uses independientes! la *,4 puede acceder a
los datos para completar la e;ecucin de una instruccin! + al mismo tiempo leer la
si&uiente instruccin a e;ecutar. 0enta;as de esta arquitectura2
1. El tamao de las instrucciones no esta relacionado con el de los datos! + por lo tanto
puede ser optimizado para que cualquier instruccin ocupe una sola posicin de
memoria de pro&rama! lo&rando as< ma+or velocidad + menor lon&itud de pro&rama.
7. El tiempo de acceso a las instrucciones puede superponerse con el de los datos!
lo&rando una ma+or velocidad en cada operacin.
4na pequea desventa;a de los procesadores con arquitectura Harvard! es que de1en
poseer instrucciones especiales para acceder a ta1las de valores constantes que pueda
ser necesario incluir en los pro&ramas! +a que estas ta1las se encontraran f<sicamente en
la memoria de pro&rama (por e;emplo en la E,E6. de un microprocesador).
El microcontrolador ,(* 1JQG4 posee arquitectura Harvard! con una memoria de datos
de G 1its! + una memoria de pro&rama de 14 1its.
En la Qi&ura vemos la arquitectura interna or&anizada en 1loques interconectados! en
donde se inclu+e la memoria E).! la memoria EE,E6.! los puertos de entrada +
salida ((56)! etc.
El procesador
Es el elemento m"s importante del microcontrolador + determina sus principales
caracter<sticas! tanto a nivel $ardBare como softBare. :e encar&a de direccionar la
memoria de instrucciones! reci1ir el cdi&o 6, de la instruccin en curso! su
decodiCcacin + la e;ecucin de la operacin que implica la instruccin! as< como la
1Asqueda de los operandos + el almacenamiento del resultado. E>isten tres orientaciones
en cuanto a la arquitectura + funcionalidad de los procesadores actuales.
CISC
4n &ran nAmero de procesadores usados en los microcontroladores est"n 1asados en la
Closof<a *(:* (*omputadores de #ue&o de (nstrucciones *omple;o). 'isponen de m"s
de GH instrucciones m"quina en su repertorio! al&unas de las cuales son mu+ soCsticadas
+ potentes! requiriendo muc$os ciclos para su e;ecucin. 4na venta;a de los
procesadores *(:* es que ofrecen al pro&ramador instrucciones comple;as que actAan
como macros! es decir!
RISC
?anto la industria de los computadores comerciales como la de los microcontroladores
est"n decant"ndose $acia la Closof<a E(:* (*omputadores de #ue&o de (nstrucciones
Eeducido). En estos procesadores el repertorio de instrucciones m"quina es mu+
reducido + las instrucciones son simples +! &eneralmente! se e;ecutan en un ciclo.
La sencillez + rapidez de las instrucciones permiten optimizar el $ardBare + el softBare
del procesador.
SISC
En los microcontroladores destinados a aplicaciones mu+ concretas! el ;ue&o de
instrucciones! adem"s de ser reducido! es espec<Cco! o sea! las instrucciones se adaptan
a las necesidades de la aplicacin prevista. Esta filosof<a se $a 1autizado con el nom1re
de :(:* (*omputadores de #ue&o de (nstrucciones Espec<fico).
Seg(n la arquitectura interna de la memoria del microcontrolador se puede
distinguir entre?
;icrocontroladores con arquitectura 6on eumann.
;icrocontroladores con arquitectura Carvard.
!nicialmente+ todos los microcontroladores adoptaron la arquitectura cl-sica de
6on eumann. Actualmente+ muc5os microcontroladores utili7an esta
arquitectura+ pero poco a poco se impone la arquitectura Carvard.
(a arquitectura de 6on eumann se caracteri7a por disponer de una sola
memoria principal donde se almacenan datos e instrucciones de 0orma
indistinta. A dic5a memoria se accede por un sistema de buses (nico
%direcciones+ datos ) control&. Esta arquitectura presenta algunos problemas
cuando se demanda rapide7.
(a arquitectura Carvard dispone de dos memorias independientesF 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. Esta
estructura no modi0ica nada desde el punto de vista del usuario ) la velocidad
de e'ecuci,n de los programas es impresionante.
5ttp?//5tml.rincondelvago.com/adquisicion:de:magnitudes:0isicas:mediante:
microcontrolador.5tml
H Arquitectura cerrada o abierta.
0ntre los 0abricantes de microcontroladores 5a) dos tendencias para resolver
las demandas de los usuarios.
(os microcontroladores con arquitectura cerrada poseen una determinada
A$@+ cierta cantidad de memoria de datos+ cierto tipo ) capacidad de memoria
de instrucciones+ un n(mero de E/S ) un con'unto de recursos au2iliares mu)
concreto. El modelo no admite variaciones ni ampliaciones. .a aplicaci,n a la
que se destina debe encontrar en su estructura todo lo que precisa+ ) en caso
contrario+ 5a) que desec5arlo.
(os microcontroladores con arquitectura abierta se caracteri7an porque+
adem-s de poseer una estructura interna determinada+ emplean sus l*neas de
E/S para sacar al e2terior los buses de datos+ direcciones ) control+ con lo que
se posibilita la ampliaci,n de la memoria ) las E/S con circuitos integrados
e2ternos. Esta soluci,n se aseme'a a la que emplean los cl-sicos
microprocesadores.
.a l*nea que separa unos de otros es mu) delgada+ pero el concepto de
microcontrolador se acerca posiblemente m-s 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 J bits+ mientras que las
instrucciones son de 1" bits %9igura K:K&.
$omo se observa en la 9igura K:L el @!$1K9J" 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 KJ posiciones de J bits. #ambi8n e2iste una 7ona de K"
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/#emaK.@D9
.1.1 Terminales.
.1.2 CPU.
H Arquitectura del procesador o A$@.
Seg(n la 0iloso0*a de la arquitectura del procesador se puede distinguir entre?
;icrocontroladores $!S$.
;icrocontroladores R!S$.
;icrocontroladores S!S$.
Un microcontrolador basado en la 0iloso0*a $!S$ %$omputadores de =uego de
!nstrucciones $omple'o& dispone de m-s de J4 instrucciones m-quina en su
repertorio+ algunas de las cuales son mu) so0isticadas ) potentes+ requiriendo
muc5os ciclos para su e'ecuci,n.
Ana venta'a de los procesadores $!S$ es que o0recen al programador
instrucciones comple'as que act(a como macros.
Tanto la industria de los computadores comerciales como los de los
microcontroladores est-n decant-ndose 5acia la 0iloso0*a R!S$ %$omputadores
de =uego de !nstrucciones Reducido&. En estos procesadores el repertorio de
instrucciones m-quina es mu) reducido ) las instrucciones son simples )+
generalmente+ se e'ecuta en un solo ciclo.
.a sencille7 ) rapide7 de las instrucciones permiten optimi7ar el 5ard<are ) el
so0t<are del procesador.
0n los microcontroladores destinados a aplicaciones mu) concretas+ el 'uego
de instrucciones+ adem-s de ser reducido+ es espec*0ico+ o sea+ las
instrucciones se adaptan a las necesidades de la aplicaci,n prevista. Esta
0iloso0*a se 5a bauti7ado con el nombre de S!S$ %$omputadores de =uego de
!nstrucciones Espec*0ico&.
5ttp?//5tml.rincondelvago.com/adquisicion:de:magnitudes:0isicas:mediante:
microcontrolador.5tml
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 K: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 %Arit5metic :o)ic Unit& ubicada dentro del procesador reali7a las operaciones l,gicas )
aritm8ticas con dos operandos+ uno que recibe desde el registro G %registro de traba'o& ) otro
que puede provenir de cualquier registro interno %9igura K:L&.
.1.3 0spacio de Memoria.
!emoria
En los microcontroladores la memoria de instrucciones + datos est" inte&rada en el
propio c$ip. 4na parte de1e ser no vol"til! tipo E6.! + se destina a contener el
pro&rama de instrucciones que &o1ierna la aplicacin. 6tra parte de memoria ser" tipo
E).! vol"til! + se destina a &uardar las varia1les + los datos.
Ha+ dos peculiaridades que diferencian a los microcontroladores de los computadores
personales2
%o e>isten sistemas de almacenamiento masivo como disco duro o disquetes.
*omo el microcontrolador slo se destina a una tarea en la memoria E6.! slo
$a+ que almacenar un Anico pro&rama de tra1a;o.
La E). en estos dispositivos es de poca capacidad pues slo de1e contener las
varia1les + los cam1ios de informacin que se produzcan en el transcurso del
pro&rama. ,or otra parte! como slo e>iste un pro&rama activo! no se requiere
&uarda r una copia del mismo en la E). pues se e;ecuta directamente desde la
E6..
Los usuarios de computadores personales est"n $a1ituados a mane;ar .e&a1+tes de
memoria! pero! los diseadores con microcontroladores tra1a;an con capacidades de
E6. comprendidas entre 17 1+tes + G - 1+tes + de E). comprendidas entre 7H +
17 1+tes.
:e&An el tipo de memoria E6. que dispon&an los microcontroladores! la aplicacin +
utilizacin de los mismos es diferente. :e descri1en las cinco versiones de memoria no
vol"til que se pueden encontrar en los microcontroladores del mercado.
ROM con mscara
Es una memoria no vol"til de slo lectura cu+o contenido se &ra1a durante la
fa1ricacin del c$ip. :i tenemos idea de cmo se fa1rican los circuitos inte&rados!
sa1remos de donde viene el nom1re. Estos se fa1rican en o1leas que contienen varias
decenas de c$ips. Estas o1leas se fa1rican a partir de procesos fotoqu<micos! donde se
impre&nan capas de silicio + o>ido de silicio! + se&An conven&a! se erosionan al
e>ponerlos a la luz. *omo no todos los puntos $an de ser erosionados! se sitAa entre la
luz + la o1lea una mascara con a&u;eros! de manera que donde de1a incidir la luz! esta
pasar". *on varios procesos similares pero m"s complicados se consi&ue fa1ricar los
transistores + diodos micromtricos que componen un c$ip. )$ora +a sa1es de donde
viene la m"scara + no te acostar"s sin sa1er una cosa m"s. El elevado coste del diseo
de la m"scara slo $ace aconse;a1le el empleo de los microcontroladores con este tipo
de memoria cuando se precisan cantidades superiores a varios miles de unidades.
OTP
El microcontrolador contiene una memoria no vol"til de slo lectura pro&rama1le una
sola vez por el usuario.
6?, (6ne ?ime ,ro&ramma1le). Es el usuario quien puede escri1ir el pro&rama en el
c$ip mediante un sencillo &ra1ador controlado por un pro&rama desde un ,*. La
versin 6?, es recomenda1le cuando es mu+ corto el ciclo de diseo del producto! o
1ien! en la construccin de prototipos + series mu+ pequeas. ?anto en este tipo de
memoria como en la E,E6.! se suele usar la encriptacin mediante fusi1les para
prote&er el cdi&o contenido.
EPROM
Los microcontroladores que disponen de memoria E,E6. (Erasa1le ,ro&ramma1le
Eead 6n(+ .emor+) pueden 1orrarse + &ra1arse muc$as veces. La &ra1acin se realiza!
como en el caso de los 6?,! con un &ra1ador &o1ernado desde un ,*. :i!
posteriormente! se desea 1orrar el contenido! disponen de una ventana de cristal en su
superCcie por la que se somete a la E,E6. a ra+os ultravioleta durante varios minutos.
Las c"psulas son de material cer"mico + son m"s caros que los microcontroladores con
memoria 6?, que est"n $ec$os con material
pl"stico.
EEPROM, E2PROM o E
A
PROM
:e trata de memorias de slo lectura! pro&rama1les + 1orra1les elctricamente
EE,E6. (Electrical Erasa1le ,ro&ramma1le Eead 6n(+ .emor+). ?anto la
pro&ramacin como el 1orrado! se realizan elctricamente desde el propio &ra1ador +
1a;o el control pro&ramado de un ,*. Es mu+ cmoda + r"pida la operacin de &ra1ado
+ la de 1orrado. %o disponen de ventana de cristal en la superficie. Los
microcontroladores dotados de memoria EE,E6. una vez instalados en el circuito!
pueden &ra1arse + 1orrarse cuantas veces se quiera sin ser retirados de dic$o circuito.
,ara ello se usan @&ra1adores en circuito@que confieren una &ran fle>i1ilidad + rapidez a
la $ora de realizar modiCcaciones en el pro&rama de tra1a;o. El nAmero de veces que
puede &ra1arse + 1orrarse una memoria EE,E6. es finito! por lo que no es
recomenda1le una repro&ramacin continua. :on mu+ idneos para la enseanza + la
(n&enier<a de diseo. :e va e>tendiendo en los fa1ricantes la tendencia de incluir una
pequea zona de memoria EE,E6. en los circuitos pro&rama1les para &uardar +
modificar cmodamente una serie de par"metros que adecuan el dispositivo a las
condiciones del entorno. Este tipo de memoria es relativamente lenta! como +a veremos
m"s adelante.
!ASH
:e trata de una memoria no vol"til! de 1a;o consumo! que se puede escri1ir + 1orrar.
Qunciona como una E6. + una E). pero consume menos + es m"s pequea. )
diferencia de la E6.! la memoria QL):H es pro&rama1le en el circuito. Es m"s r"pida
+ de ma+or densidad que la EE,E6.. La alternativa QL):H est" recomendada frente a
la EE,E6. cuando se precisa &ran cantidad de memoria de pro&rama no vol"til. Es
m"s veloz + tolera m"s ciclos de escritura51orrado. Las memorias EE,E6. + QL):H
son mu+ Atiles al permitir que los microcontroladores que las incorporan puedan ser
repro&ramados en circuito! es decir! sin tener que sacar el circuito inte&rado de la
tar;eta. )s<! un dispositivo con este tipo de memoria incorporado al control del motor de
un automvil permite que pueda modiCcarse el pro&rama durante la rutina de
mantenimiento peridico! compensando los des&astes + otros factores tales como la
compresin! la instalacin de nuevas piezas! etc. La repro&ramacin del
microcontrolador puede convertirse en una la1or rutinaria dentro de la puesta a punto.
.1. 0ntrada% Salida.
'uertas de Entrada / Salida
Las puertas de Entrada + :alida (E5:) permiten comunicar al procesador con el mundo e>terior! a travs
de interfaces! o con otros dispositivos. Estas puertas! tam1in llamadas puertos! son la principal utilidad
de las patas o pines de un microprocesador. :e&An los controladores de perifricos que posea cada
modelo de microcontrolador! las l<neas de E5: se destinan a proporcionar el soporte a las seales de
entrada! salida + 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 K: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 a4ierto ) el estado cerrado. .as 0ormas de conectar un
interruptor a una entrada del microcontrolador son iguales a las de la 0igura K:1"+
sustitu)endo el pulsador por el interruptor.
#odos los circuitos electromec-nicos %pulsadores+ interruptores+...&
originan un 0en,meno denominado SrebotesT? las l-minas se abren )
se cierran varias veces en el momento de la transici,n %9igura K: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 K:1K 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 K:1L. Si empleamos la cone2i,n de la i7quierda de la
0igura+ el diodo led se encender- al poner a h1i la salida del microcontrolador+ mientras que
con la cone2i,n de la derec5a lo 5ar- cuando la salida se ponga a h4i.
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.
,el:s
.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 K:1J&.
$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.
$ttp255BBB.dte.upct.es5docencia5temarios5tecnCelectricidadCelectCdi&5?emaJ.,'Q
.1.) Caractersticas especiales.
Relo, principal
?odos los microcontroladores disponen de un circuito oscilador que &enera una onda cuadrada de alta
frecuencia! que confi&ura los impulsos de relo; usados en la sincronizacin de todas las operaciones del
sistema. Esta seal del relo; es el motor del sistema + la que $ace que el pro&rama + los contadores
avancen.
Deneralmente! el circuito de relo; est" incorporado en el microcontrolador + slo se necesitan unos pocos
componentes e>teriores para seleccionar + esta1ilizar la frecuencia de tra1a;o. 'ic$os componentes
suelen consistir en un cristal de cuarzo ;unto a elementos pasivos o 1ien un resonador cer"mico o una red
E3*.
)umentar la frecuencia de relo; supone disminuir el tiempo en que se e;ecutan las instrucciones pero lleva
apare;ado un incremento del consumo de ener&<a + de calor &enerado.
RECURS*S ES'ECIALES
*ada fa1ricante oferta numerosas versiones de una arquitectura 1"sica de microcontrolador. En al&unas
ampl<a las capacidades de las memorias! en otras incorpora nuevos recursos! en otras reduce las
prestaciones al m<nimo para aplicaciones mu+ simples! etc. La la1or del diseador es encontrar el modelo
m<nimo que satisfa&a todos los requerimientos de su aplicacin. 'e esta forma! minimizar" el coste! el
$ardBare + el softBare. Los principales recursos espec<ficos que incorporan los microcontroladores son2
?emporizadores o Timers.
,erro &uardi"n o"atc#do$.
,roteccin ante fallo de alimentacin o %ro&nout.
Estado de reposo o de 1a;o consumo (S'ee( mode).
*onversor )5' ()nal&ico 3d'i&ital).
*onversor '5) ('i&ital 3d)nal&ico).
*omparador anal&ico.
.odulador de anc$ura de impulsos o ,O. (Pu'se"ide Modu'ation).
,uertas de E5: di&itales.
,uertas de comunicacin.
) continuacin pasamos a ver con un poco m"s de detalle cada uno de ellos
&empori1adores o &imers
:e emplean para controlar periodos de tiempo (temporizadores) + para llevar la cuenta de acontecimientos
que suceden en el e>terior (contadores).
,ara la medida de tiempos se car&a un re&istro con el valor adecuado + a continuacin dic$o valor se va
incrementando o decrementando al ritmo de los impulsos de relo; o al&An mAltiplo $asta que se des1orde
+ lle&ue a H! momento en el que se produce un aviso. *uando se desean contar acontecimientos que se
materializan por cam1ios de nivel o flancos en al&una de las patitas del microcontrolador! el mencionado
re&istro se va incrementando o decrementando al ritmo de dic$os impulsos. 0a+a! nos $emos metido en
trminos de microcontroladores demasiado pronto. /ueno! con el fin de aclarar que es un re&istro!
anticipamos que es un valor numrico en una posicin fi;a de memoria. 4n e;emplo2 esto es i&ual que el
se&undero de nuestro relo; di&ital! este va aumentando $asta que lle&a a JH se&undos! pero en la pantalla
pone HH! esto quiere decir que se des1orda. ,ero cuando cam1ia da un aviso + se incrementan los
minutos. En este e;emplo! el re&istro es el se&underoN estos son fi;os +a que sa1emos que son los de la
derec$a del todo + no se van a cam1iar.
'erro guardi.n oFatc"dog
*uando el computador personal se 1loquea por un fallo del softBare u otra causa! se pulsa el 1otn del
reset + se reinicia el sistema. ,ero un microcontrolador funciona sin el control de un supervisor + de
forma continuada las 74 $oras del d<a. El ,erro Duardi"n consiste en un contador que! cuando lle&a al
m">imo! provoca un reset autom"ticamente en el sistema.
:e de1e disear el pro&rama de tra1a;o que controla la tarea de forma que resetee al ,erro Duardi"n de
vez en cuando antes de que provoque el reset. :i falla el pro&rama o se 1loquea (si cae en 1ucle inCnito)!
no se refrescar" al ,erro &uardi"n +! al completar su temporizacin! provocar" el reset del sistema.
'rotecci%n ante $allo de alimentaci%n o 7ro(nout
:e trata de un circuito que resetea al microcontrolador cuando el volta;e de alimentacin (0'') es
inferior a un volta;e m<nimo (1roBnout). .ientras el volta;e de alimentacin sea inferior al de 1roBnout
el dispositivo se mantiene reseteado! comenzando a funcionar normalmente cuando so1repasa dic$o
valor. Esto es mu+ Atil para evitar datos errneos por transiciones + ruidos en la l<nea de alimentacin
Estado de reposo % de +a,o consumo
:on a1undantes las situaciones reales de tra1a;o en que el microcontrolador de1e esperar! sin $acer nada!
a que se produzca al&An acontecimiento e>terno que le pon&a de nuevo en funcionamiento. ,ara a$orrar
ener&<a! (factor clave en los aparatos port"tiles)! los microcontroladores disponen de una instruccin
especial (:LEE, en los ,(*)! que les pasa al estado de reposo o de 1a;o consumo! en el cual los
requerimientos de potencia son m<nimos. En dic$o estado se detiene el relo; principal + se con&elan sus
circuitos asociados! quedando sumido en un profundo sueo. )l activarse una interrupcin ocasionada
por el acontecimiento esperado! el microcontrolador se despierta + reanuda su tra1a;o. ,ara $acernos una
idea! esta funcin es parecida a la opcin de :uspender en el menA para apa&ar el equipo (en aquellos ,*s
con administracin avanzada de ener&<a)
Conversor A)- 8CA-9
Los microcontroladores que incorporan un *onversor )5' ()nal&ico5'i&ital) pueden procesar seales
anal&icas! tan a1undantes en las aplicaciones. :uelen disponer de un multiple>or que permite aplicar a la
entrada del *)' diversas seales anal&icas desde las patillas del circuito inte&rado.
Conversor -)A 8C-A9
?ransforma los datos di&itales o1tenidos del procesamiento del computador en su correspondiente seal
anal&ica que saca al e>terior por una de las patillas del c$ip. E>isten muc$os circuitos que tra1a;an con
seales anal&icas.
Comparador anal%gico
)l&unos modelos de microcontroladores disponen internamente de un )mplificador 6peracional que
actAa como comparador entre una seal fi;a de referencia + otra varia1le que se aplica por una de las
patitas de la c"psula. La salida del comparador proporciona un nivel l&ico 1 H se&An una seal sea
ma+or o menor que la otra. ?am1in $a+ modelos de microcontroladores con un mdulo de tensin de
referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.
!odulador de anc"ura de impulsos o 'F!
:on circuitos que proporcionan en su salida impulsos de anc$ura varia1le! que se ofrecen al e>terior a
travs de las patitas del encapsulado.
'uertos digitales de E)S
?odos los microcontroladores destinan parte de su patilla;e a soportar l<neas de E5: di&itales. ,or lo
&eneral! estas l<neas se a&rupan de oc$o en oc$o formando ,uertos.
Las l<neas di&itales de las ,uertos pueden confi&urarse como Entrada o como :alida car&ando un 1 un H
en el 1it correspondiente de un re&istro destinado a su confi&uracin. 6tra vez m"s nos volvemos a meter
con unos! ceros + re&istros paciencia que pronto lle&a lo me;or.
'uertas de comunicaci%n
*on o1;eto de dotar al microcontrolador de la posi1ilidad de comunicarse con otros dispositivos e>ternos!
otros 1uses de microprocesadores! 1uses de sistemas! 1uses de redes + poder adaptarlos con otros
elementos 1a;o otras normas + protocolos. )l&unos modelos disponen de recursos que permiten
directamente esta tarea! entre los que destacan2
4)E?! adaptador de comunicacin serie as<ncrona.(E;2 ,uerto :erie)
4:)E?! adaptador de comunicacin serie s<ncrona + as<ncrona
,uerta paralela esclava para poder conectarse con los 1uses de otros microprocesadores.
4:/ (4niversal :erial /us)! que es un moderno 1us serie para los ,*.
/us (7*! que es un interfaz serie de dos $ilos desarrollado por ,$ilips.
*)% (*ontroller )rea %etBor-)! para permitir la adaptacin con redes de cone>ionado multiple>ado
desarrollado con;untamente por /osc$ e (ntel para el ca1leado de dispositivos en automviles. En EE.44.
se usa el #1G6.
?anto el (7* en televisores! como el /us *)% en automviles! fueron diseados para simplificar la
circuiter<a que supone un 1us paralelo de G l<neas dentro de un televisor! as< como para li1rar de la car&a
que supone una cantidad in&ente de ca1les 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 AE-
AL9! 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 % X 0 *
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)X)! *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
X 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 Con-unto de instrucciones.
)'' 3 )dd /inar+
A--
Suma 'inaria
#pe*ac(2n
Quente _ 'estino 3d 'estino
S(nta1(s en Ensam3lado*
13 )'' eead!'n
73 )'' 'n!eead
At*(3utos
?amaos\(/+te! Oord! Lon&)
"esc*(pc(2n
: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.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) en otro caso.
X2 :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 *.
Cod(:(cac(2n ;(na*(a
1 1 H 1 Ee&. 'atos .odo 6peracin 'ireccin Efectiva
La :uma 1inaria admite dos .odos 2
1. .odo 1 si se utiliza )'' edir. efectivad!'>
7. con el *ampo .odo 6peracion \ HHH! HH1! H1H :e&An sea /P?E! O6E' +
L6%D.
1. .odo 7 si se utiliza )'' '>! edir. efectivad
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
#pe*ac(2n
'ato (nmediato _ 'estino 3d 'estino
S(nta1(s en Ensam3lado*
)''( Uedatad!eead
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
: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
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo.
X2 :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 *.
Cod(:(cac(2n ;(na*(a
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
#pe*ac(2n
'ato (nmediato _ 'estino 3d 'estino
S(nta1(s en Ensam3lado*
)''] Uedatad!eead
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
: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.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo.
X2 :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
Cod(:(cac(2n ;(na*(a
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 0>tendida
#pe*ac(2n
Quente _ 'estino _ L 3d 'estino
S(nta1(s en Ensam3lado*
)''L '+!'>
)''L 3()+)!3()>)
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
: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&.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo.
X2 :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 X 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
Cod(:(cac(2n ;(na*(a
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
AN-
And (+ico
#pe*ac(2n
Quente ` 'estino 3d 'estino
S(nta1(s en Ensam3lado*
)%' eead!'n
)%' 'n!eead
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
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.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
F E E 0 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.
X2 :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.
Cod(:(cac(2n ;(na*(a
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 )%' edir. efectivad!'>
7. con el *ampo .odo 6peracion \ HHH! HH1! H1H :e&An sea /P?E! O6E' +
L6%D.
1. .odo 7 si se utiliza )%' '>! edir. efectivad
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
#pe*ac(2n
'ato (nmediato ` 'estino 3d 'estino
S(nta1(s en Ensam3lado*
)%'( Uedatad!eead
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
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.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
F E E 0 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.
X2 :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.
Cod(:(cac(2n ;(na*(a
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
#pe*ac(on
Quente ` **E 3d **E
S(nta1(s en Ensam3lado*
)%'( Uedatad!**E
At*(3utos
?amao\(/+te)
"esc*(pc(2n
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.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a H (*leared) si el 1it 8 del dato inmediato es cero. %o cam1ia en otro caso.
X2 :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.
Cod(:(cac(2n ;(na*(a
)%'( a **E
H H H H H H 1 H 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 aritm:tico a la i*quierda
#pe*ac(2n
S(nta1(s en Ensam3lado*
):L '+!'>
):L Uedatod!'>
):L edireccionamiento indirecto de memoriad
At*(3utos
?amao\(/+te! Oord! Lon&)
"esc*(pc(2n
: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&.
Reg(st*o de C2d(gos de Cond(c(2n
I : Z L C
E E E E E
%2 :e pone a 1 (:et) si el resultado es ne&ativo. :e pone a H (*leared) de otro modo.
X2 :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 X 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
Cod(:(cac(2n ;(na*(a
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
#pe*at(on
(f (condition true) t$en ,* _ d 3d ,*
Assem3le* Synta1
/cc ela1eld
Att*(3utes
:ize\(/+te! Oord! Lon&)
"esc*(pt(on
(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 (fQQ)! t$en t$e 8731it displacement (lon& Bord immediatel+
folloBin& t$e instruction) is used. @cc@ ma+ specif+ t$e folloBin& conditions2
CC carr" clear *TC,
C6 carr" set C
' equal Z
> 7reater or equal :ELB*T:,E*TL,
>1 7reater t(an :ELE*TZ,B*T:,E*TL,E*TZ,
@I (i7( *TC,E*TZ,
L less or equal ZB:E*TL,B*T:,EL
L6 loV or same CBZ
L1 less t(an :E*TL,B*T:,EL
MI minus :
: not equal *TZ,
PL plus *T:,
LC o%erfloV clear *TL,
L6 o%erfloV set L
Cond(t(on Codes
%ot affected.
/*HD 3 ?est a /it and *$an&e
7CH<
Test a 'it and C3an+e
#pe*at(on
^(e1it num1erd of 'estination) 3d XN
^(e1it num1erd of 'estination) 3d (1it num1er) of 'estination
Assem3le* Synta1
/*HD 'n!eead
/*HD Uedatad!eead
Att*(3utes
:ize\(/+te! Lon&)
"esc*(pt(on
) 1it in t$e destination operand is tested and t$e state of t$e specified 1it is reflected in
t$e X 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.
Cond(t(on Codes
I : Z L C
F F E F F
% %ot affected.
X :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
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
/E) 3 /ranc$ )lBa+s
7RA
'ranc3 Al/a5s
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
/:E? 3 ?est a /it and :et
7SE&
Test a 'it and Set
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
/:E 3 /ranc$ to :u1routine
7SR
'ranc3 to Subroutine
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
/?:? 3 ?est a /it
*Hb 3 *$ec- Ee&ister a&ainst /ounds
CHN
C3ecV ,e+ister a+ainst 'ounds
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
*LE 3 *lear an 6perand
CLR
Clear an &perand
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
*., 3 *ompare
C!'
Compare
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
*.,) 3 *ompare )ddress
C!'A
Compare Address
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
*.,( 3 *ompare (mmediate
C!'I
Compare $mmediate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
*.,. 3 *ompare .emor+
C!'!
Compare Memor5
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
'/** 3 ?est *ondition! 'ecrement and /ranc$
-7CC
Test Condition9 "ecrement and 'ranc3
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
'(0: 3 :i&ned 'ivide
-I2S
Si+ned "i#ide
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
'(04 3 4nsi&ned 'ivide
-I2U
Unsi+ned "i#ide
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
E6E 3 E>clusive 6E Lo&ical
E*R
0>clusi#e &, (o+ical
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
E6E( 3 E>clusive 6E (mmediate
E*RI
0>clusi#e &, $mmediate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
ELD 3 E>c$an&e Ee&isters
EM<
0>c3an+e ,e+isters
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
EL? 3 :i&n E>tend
EM&
Si+n 0>tend
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
#., 3 #ump
O!'
Iump
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
#:E 3 #ump to :u1routine
OSR
Iump to Subroutine
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
LE) 3 Load Effective )ddress
LEA
(oad 088ecti#e Address
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
L(%b 3 Lin- and )llocate
LINN
(inV and Allocate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
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
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E from :E 3 .ove from t$e :tatus Ee&ister
!*2E $rom SR
Mo#e 8rom t3e Status ,e+ister
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E to **E 3 .ove to *ondition *odes
!*2E to CCR
Mo#e to Condition Codes
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E to :E 3 .ove to t$e :tatus Ee&ister
!*2E to SR
Mo#e to t3e Status ,e+ister
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E 4:, 3 .ove 4ser :tac- ,ointer
!*2E US'
Mo#e User StacV Pointer
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E) 3 .ove )dress
!*2EA
Mo#e Adress
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E. 3 .ove .ultiple Ee&isters
!*2E!
Mo#e Multiple ,e+isters
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E, 3 .ove ,erip$eral 'ata
!*2E'
Mo#e Perip3eral "ata
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.60E] 3 .ove ]uic-
!*2EJ
Mo#e BuicV
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
.4L: 3 :i&ned .ultipl+
!ULS
Si+ned Multipl5
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
%/*' 3 %e&ate 'ecimal Bit$ E>tend
N7C-
1e+ate "ecimal /it3 0>tend
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
%ED 3 %e&ate
NE<
1e+ate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
%EDL 3 %e&ate Bit$ E>tend
NE<M
1e+ate /it3 0>tend
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
%6, 3 %o 6peration
N*'
1o &peration
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
%6? 3 Lo&ical *omplement
N*&
(o+ical Complement
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
6E 3 (nclusive 6E Lo&ical
*R
$nclusi#e &, (o+ical
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
6E( 3 (nclusive 6E (mmediate
*RI
$nclusi#e &, $mmediate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
,E) 3 ,us$ Effective )ddress
'EA
Pus3 088ecti#e Address
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
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 0>ception
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
E?E 3 Eeturn and Eestore *ondition *odes
R&R
,eturn and ,estore Condition Codes
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
E?: 3 Eeturn from :u1routine
R&S
,eturn 8rom Subroutine
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:/*' 3 :u1tract 'ecimal Bit$ E>tend
S7C-
Subtract "ecimal /it3 0>tend
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:** 3 :et )ccordin& to *ondition
SCC
Set Accordin+ to Condition
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:?6, 3 Load :tatus Ee&ister and :top
S&*'
(oad Status ,e+ister and Stop
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:4/ 3 :u1tract /inar+
SU7
Subtract 'inar5
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:4/) 3 :u1tract )ddress
SU7A
Subtract Address
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:4/( 3 :u1tract (mmediate
SU7I
Subtract $mmediate
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:4/] 3 :u1tract ]uic-
SU7J
Subtract BuicV
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:4/L 3 :u1tract Bit$ E>tend
SU7M
Subtract /it3 0>tend
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
:O), 3 :Bap Ee&ister Halves
SFA'
S/ap ,e+ister .al#es
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
?): 3 ?est and :et an 6perand
&AS
Test and Set an &perand
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
?E), 3 ?rap
&RA'
Trap
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
?E),0 3 ?rap on 6verfloB
&RA'2
Trap on &#er8lo/
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
?:? 3 ?est an 6perand
&S&
Test an &perand
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
4%Lb 3 4nlin-
UNLN
UnlinV
#pe*at(on
Assem3le* Synta1
Att*(3utes
:ize\(/+te)
Cond(t(on Codes
I : Z L C
F F F F F
% .
X .
0 .
* .
L .
$ttp255BBB.ii.uam.es5^f;&omez5JGHHH5tutorial5cap4.$tml
#pe*ac(ones de mov(m(ento 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(%b ( esta1lece un encadenamiento)!
4%L(b ( elimina un encadenamiento).
Instrucci%n
Sinta#is de los
operandos
&amaPo *peraci%n
ELD En! Em 87 En e\d Em
LE) e ea d ! )n 87 e ea d \d )n
L(%b )n! U e d d 1J 3 d87 :,34 \d :, N )n \d (:,)
:, \d )n N :, _ d \d :,
.60E
.60E)
e ea d! e ea d
e ea d! list
G ! 1J ! 87
1J ! 87 3d 87
6ri&en \d 'estino
.60E.
list ! e ea d
e ea d ! list
1J ! 87
1J ! 87 3d 87
Ee& de lista \d 'estino
6ri&en \d Ee& de lista
.60E, 'n ! (d1J ! )n )
(d1J ! )n )! 'n
1J ! 87 'n S 81274 T \d ( )n _ d ) N
'n S 7821J T \d ( )n _ d _ 7 ) N
'n S 12G T \d ( )n _ d _ 4 ) N
'n S V2H T \d ( )n _ d _ J ) N
( )n _ d ) \d 'n S 81274 T N
( )n _ d _ 7 ) \d 'n S 7821J T N
( )n _ d _ 4 ) \d 'n S 12G T N
( )n _ d _ J ) \d 'n S V2H T N
.60E] U e data ! 'n G 3d 87 'ato inmediato \d 'estino
,E) e ea d 87 :, 3 4 \d :, N e ea d \d ( :, )
4%Lb )n 87
)n \d :, N ( :, ) \d )n N :, _ 4
\d :,
fi&. 437 3 (nstrucciones de movimientos de datos.
#pe*ac(ones a*(tm9t(cas 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
Sinta#is de los
operandos
&amaPo *peraci%n
)''
)'')
'n ! e ea d
e ea d ! 'n
e ea d ! )n
G ! 1J ! 87
G ! 1J ! 87
1J ! 87
6ri&en _ 'estino \d
'estino
)''(
)'']
U e data d ! e ea d
U e data d ! e ea d
G ! 1J ! 87
G ! 1J ! 87
1J ! 87
'ato inmediato _ 'estino
\d
'estino
)''L
'n ! 'n
3 ( )n) ! 3 ( )n)
G ! 1J ! 87
G ! 1J ! 87
6ri&en _ 'estino _ L \d
'estino
*LE e ea d G ! 1J ! 87 H \d 'estino
*.,
*.,)
e ea d ! 'n
e ea d ! )n
G ! 1J ! 87
1J ! 87
'estino 3 6ri&en
*.,( U e data d ! e ea d G ! 1J ! 87 'estino 3d 'ato inmediato
*.,. ( )n ) _ ! ( )n ) _ G ! 1J ! 87 'estino 3 6ri&en
'(0:
'(04
e ea d ! 'n 875 1J \d 1J 'estino 5 6ri&en \d
'estino
con 5 sin si&no
EL?
'n
'n
G \d 1J
1J \d 87
'estino si&no e>t. \d
'estino
.4L:
.4L4
e ea d ! 'n 1J l 1J \d 87 'estino 5 6ri&en \d
'estino
con 5 sin si&no
%ED e ea d G ! 1J ! 87 H 3 'estino \d 'estino
%EDL e ea d G ! 1J ! 87 H 3 'estino 3 L 3d 'estino
:4/
:4/)
'n ! e ea d
e ea d ! 'n
e ea d ! )n
G ! 1J ! 87
G ! 1J ! 87
1J ! 87
'estino 3 6ri&en \d
'estino
:4/(
:4/]
U e data d ! e ea d
U e data d ! e ea d
G ! 1J ! 87
G ! 1J ! 87
'estino 3 'ato inm. \d
'estino
:4/L
'n ! 'n
3 ( )n) ! 3 ( )n)
G ! 1J ! 87
G ! 1J ! 87
'estino 3 6ri&en 3 L \d
'estino
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 ?amao 6peracin
)%' 'n! e ea d
e ea d ! 'n
G ! 1J ! 87
G ! 1J ! 87
6ri&en 'estino \d 'estino
)%'(
U e data d ! e ea d G ! 1J ! 87
'ato inm. m 'estino \d
'estino
E6E 'n! e ea d G ! 1J ! 87 6ri&en 'estino \d 'estino
E6E( U e data d ! e ea d G ! 1J ! 87 'ato inm. 'estino 3d 'estino
%6? e ea d G ! 1J ! 87 ^ 'estino \d 'estino
6E 'n! e ea d
e ea d ! 'n
G ! 1J ! 87
G ! 1J ! 87
6ri&en 0 'estino \d 'estino
6E(
U e data d ! e ea d G ! 1J ! 87
'ato inm. 0 'estino \d
'estino
?:? e ea d G ! 1J ! 87 'estino 3 H \\d *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 &amaPo *peraci%n
):L 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
):E 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
L:L 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
L:E 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
E6L 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
E6E 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
E6LL 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
E6LE 'n! 'n
U e data d! 'n
e ea d
G ! 1J ! 87
G ! 1J ! 87
1J
:O), 'n 87
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
Sinta#is de los
operandos
&amaPo *peraci%n
/*HD 'n ! e ea d G ! 87 ^ 'estino S,T \d X \d
U e data d ! e ea d G ! 87 'estino S,T
/*LE 'n ! e ea d
U e data d ! e ea d
G ! 87
G ! 87
^ 'estino S,T \d XN
H \d 'estino S,T
/:E? 'n ! e ea d
U e data d ! e ea d
G ! 87
G ! 87
^ 'estino S,T \d XN
1 \d 'estino S,T
/?:? 'n ! e ea d
U e data d ! e ea d
G ! 87
G ! 87
^ 'estino S,T \d X 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 )
G
G
6ri&en _ 'estino _ L \d
'estino
1H 1H 1H
%/*' e ea d G H 3 'estino _ L \d 'estino
1H 1H
:/*' 'n! 'n
3 ( )n )! 3 ( )n )
G
G
'estino 3 6ri&en 3 L \d
'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
&amaPo *peraci%n
*ondicionales
/cc e la1el d G ! 1J :i cc cierta! ,* _ d \d ,*
'/cc
'n ! e la1el d 1J :i cc falsa! 'n 3 1 \d 'nN
si 'n distinto 3 1! ,* _ d \d ,*
:cc e ea d G :i cc cierta 11111111 \d 'estino
si no! H \d 'estino
(ncondicionales
/E) e la1el d G! 1J ,* _ d \d ,*
/:E e la1el d G! 1J :, 3 4 \d :,N
,* \d ( :, )N
,* _ d \d ,*
#., e ea d 3 e ea d \d ,*
#:E e ea d 3 :, 3 4 \d:,N
,* \d ( :, )N
e ea d \d ,*
%6, 3 3 3
Eetornos
E?E 3 3 :, \d **EN
:, _ 7 \d :,N
( :, ) \d ,*N
:, _ 4 \d :,
E?: 3 3 ( :, ) \d ,*N
:, _ 4 \d :,
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 + *Hb ) +
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
&amaPo *peraci%n
,rivile&iadas
)%'( U e data d ! :E 1J 'ato inmediato m :E \d:E
E6E( U e data d ! :E 1J 'ato inmediato :E \d :E
.60E e ea d ! :E 1J 6ri&en \d :E
.60E 4:,! )n
)n! 4:,
87 4:, \d )n
)n \d 4:,
6E( U e data d ! :E 1J 'ato inmediato :E \d :E
EE:E? 3 3 )ctiva la linea EE:E?
E?E 3 3 ( :, ) \d :EN
:, _ 7 \d :,N
( :, ) \d ,*N
:, _ 4 \d :,N
:?6, U e data d 1J 'ato inmediato \d :EN ,arar
Deneracin de ?raps
*Hb e ea d! 'n 1J :i 'n e H 'n d ( e ea d )!
entonces e>cepcin *Hb
?E), U e data d 1J ::, 3 4 \d ::,N
,* \d ( ::, )N
::, 3 7 \d ::,N
:E \d ( ::, )N
0ector trap nn e data d \d ,*
?E),0 3 3 :i 0 es 1! proceso de e>cepcin
Ee&istro de condiciones
)%'( U e data d ! **E G 'ato inmediato m **E \d **E
E6E( U e data d ! **E G 'ato inmediato **E \d **E
.60E :E! e ea d 1J :E \d 'estino
.60E e ea d ! **E 1J 6ri&en \d **E
6E( U e data d ! **E G 'ato inmediato **E \d **E
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
&amaPo *peraci%n
?): e ea d G 'estino 3 HN 1 \d 'estino
fi&. 431H 3 (nstrucciones multiprocesador.
.2.3 Modos de direccionamiento.
4#"#S "E "IRECCI#NA4IENT#
!"#"-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
l 'irecto a re&istro de datos
l 'irecto a re&istro de direcciones
7.3 'ireccionamiento a1soluto
l )1soluto corto
l )1soluto lar&o
8.3 'ireccionamiento relativo al puntero de pro&rama
l Eelativo con desplazamiento
l Eelativo con <ndice + desplazamiento
4.3'ireccionamiento indirecto
l (ndirecto
l (ndirecto con postincremento
l (ndirecto con predecremento
l (ndirecto con <ndice + desplazamiento
.3 'ireccionamiento inmediato
l (nmediato
l (nmediato r"pido
J.3 'ireccionamiento impl<cito
l 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 %otacin .6'6 Ee&istro
'irecto por re&istro de datos. 'n HHH nAmero
'irecto por re&istro de direcciones )n HH1 nAmero
(ndirecto por re&istro de direcciones. ()n) H1H nAmero
idem con postincremento. ()n)_ H11 nAmero
idem con predecremento. 3()n) 1HH nAmero
idem con desplazamiento. (d1J!)n) 1H1 nAmero
idem con <ndice + desplazamiento. (dG!)n!Lm) 11H nAmero
)1soluto corto >>>.O 111 HHH
)1soluto lar&o >>>.L 111 HH1
,* con desplazamiento (d1J!,*) 111 H1H
,* con indice + desplazamiento (dG!,*!Ln)
111 H11
(nmediato Uedatod
111 1HH
-ireccionamientos por direcci%n e$ectiva
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 eead!'8 que realizar" la si&uente
suma con operandos de tamao Bord 2 'n _ eead 3d '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 1317 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 (nstruccin Ee&istros afectados
/cc! /E) :alto condicional e incondicional ,*
/:E :alto a su1rutina ,*! :,
*Hb *$equeo de re&istros entre l<mites ::,! :E
'/cc ?est de condicin! decremento + salto ,*
'(0: 'ivisin con si&no ::,! :E
'(04 'ivisin sin si&no ::,! :E
#., :alto ,*
#:E :alto a su1rutina ,*! :,
L(%b Encadena + reserva espacio :,
.60E **E .over los cdi&os de condicin :E
.60E :E .over el re&istro de estado :E
.60E 4:, .over el apuntador de pila de usuario 4:,
,E) )pilar la direccin efectiva :,
E?E Eetorno de una e>cepcin ,*! :,! :E
E?E Eetorno resta1lecido cdi&os condicin ,*! :,! :E
E?: Eetorno de su1rutina ,*! :,
?E), ?rap ::,! :E
?E),0 ?rap si $a+ re1ose ::,! :E
4%Lb '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?
1g. 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 S42T. 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 @!$1K9J"
=adi$ (e$ F Se usar- el sistema 5e2adecimal
2g. ;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 e.u 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 SES#ADOT est- asociada a la direcci,n 4243
PD=1.. equ 0$02 F.a etiqueta S@AER#AAT est- asociada a la direcci,n 4245
3g. &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
"g. 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.
0-emplo 4.1. Sumar el contenido de la posici,n de memoria 4$5 %5& con el contenido de la
posici,n de memoria 4D5 %2& ) almacenar el resultado en la posici,n de memoria 4E5.
El sumador %A.A& del @!$ es capa7 de sumar dos datos de J
bits cada uno+ pero debido a su con0iguraci,n uno de los sumandos
debe proceder del registro de traba'o I %9igura K:L&.
El e'emplo mane'a tres posiciones de la memoria de datos de
prop,sito general %0igura K: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 K:> 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 I.
.a instrucci,n mo+ puede mover tres tipos 0undamentales de operandos?
1. El contenido del registro I.
2. El contenido de una posici,n de memoria de datos.
3. An literal o valor.
mov: :<d ? mueve el contenido del operando 0uente f %posici,n de la memoria de datos& al
destino d %puede ser I 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%microsQuan%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 8 7 1
H
d $ $ $ $ $
Los 1its H a 4 ( 1its)! denominados jfk permiten seleccionar uno de 87 re&istros de la
memoria interna. El 1it ! denominado jdk! 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 X! 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 *!
'* + X.
El 1it X 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 H1HH H1HH HH1H 1HHH
O 3 HH1H 1HHH C -C ? 3 H1HH H1HH C -C ?
HHH1 11HH 1 H H 111H H1HH H 1 H


equivalente a 2
f H1HH H1HH HH1H 1HHH
cmp.7 O _ 11H1 1HHH C -C ? _ 1H11 11HH C -C ?
HHH1 11HH 1 H H 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 X 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 1H 9 G V J 4 8 7 1
H
0 0 0 0 0 0 0 0
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 X! 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 F T N
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 X que resulta
1.
Instrucciones de 7it
El formato &enrico de estas instrucciones es el si&uiente 2
11 1H 9 G V J 4 8 7 1
H
+ + + $ $ $ $ $
Los 1its H a 4 ( 1its)! denominados jfk! permiten seleccionar uno de 87 re&istros de la
memoria interna. Los 1its a V! denominados j1k! 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 b. 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 F T 0
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 jsalteok (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+ Ssalteo si +it T E3 +it T $8E9 saltea
7&>SS $3+ 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

3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
1tfsc fla&s!run Ns< $a arrancado el relo;
incf tiempo Nincremento contador de tiempo
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3

E,emplo A

3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
movf tiempo!B Ntesteo por tiempo \ JH
>orlB JH
1tfss :?)?4:!X
&oto accC7 Nsalto si tiempo ed JH
3 3 3 3 3 3 3 3 3 3 3 3 3 Naccin 1
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
&oto accCfin
accC7
3 3 3 3 3 3 3 3 3 3 3 3 3 Naccin 7
3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3
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 Xero! e (%*rement Qile and :-ip if
Xero) 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" 7J veces
.....................................
.....................................
.....................................
incfsz 1H!1 Nincremento la posicin 1H $asta que lle&ue a H
&oto loop 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
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*45J + 4! + J en los 1J*5V. 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%microsQuan%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 jfk
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 posiciones de memoria a partir de la direccin 17
Q:E equ H4 N(definicin al comienzo del pro&rama)
.....................................
.....................................
movlB Nprepara para repetir veces
movBf HG N(el re&istro HG es el contador del loop)
movlB 17$ Napunta a la direccin 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).
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%microsQuan%cap22.3tml
Herramientas de desarrollo
UNA !IRA-A RA'I-A AL !'LA7
Ju es el !'LA7 X
EL .,L)/ es un jEntorno de 'esarrollo (nte&rado j ((nte&rated 'evelopment
Environment!
('E) que corre en jOindoBs j! 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 enom1red Sevalor a remplazardT
e>plicacin2 declara una cadena de te>to como su1stituto de otra
EN-
e;. end
e>plicacin2 indica fin de pro&rama
EJU
e;. status equ H
e>plicacin2 define una constante de ensam1le
INCLU-E
e;. include e,(*1JQG4.$d
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 f 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 e6bd.
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 e\add + lue&o de que ste aparezca en la seccin ,ro;ect Qiles
$a&a clic- so1re el 1otn e6bd.
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).
eeeEn esta etapa del proceso +a se tiene el entorno listo para la simulacinddd
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%microsQuan%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 .: [ue 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
AX _ Registro acumulador+ dividido en AC ) A. %J bits cada uno&.: !nterviene en
las operaciones aritm8ticas ) l,gicas+ despu8s de la operaci,n arro'a un
resultado.
EX _ Registro base+ dividido en EC ) E..: Se utili7a en trans0erencias de datos
entre la memoria ) el procesador.
$X _ Registro contador+ dividido en $C ) $..: Se utili7a como contador en
bucles%.OO@&+ en operaciones con cadenas%RE@&+ ) en despla7amientos%$.&.
DX _ 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 1K 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.
V9 %Vero 9lag+ bit K&? Si este indicador vale 1+ el resultado de la operaci,n es
cero.
S9 %Sign 9lag+ bit L&? 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 J&? 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 Einterno 5 e>ternoF
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 1K bits llamado
Data @ointer. El tama1o m-2imo de la ;emoria de @rograma es de K" 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 1K bits Data @ointer + aunque
tambi8n se puede direccionar un banco de ;emoria E2terna de Datos de 25K
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 stacU del programaF 12J bits de los 25K 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 25K 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 StacU @ointerF al registro de la
palabra de estado del programa ) al Acumulador. .a cantidad m-2ima de
Registros de 9unciones Especiales es 12J.
#odos los Registros de 9unciones Especiales tienen direcciones ma)ores a
12L ) se ubican en los 12J 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 12J 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 25K bits+ 12J
de los bits comparten su espacio con 1K b)tes del espacio de la ;emoria
!nterna de Datos ) los otros 12J 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