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

1

INSTITUTO TECNOLOGICO SUPERIOR DE


COATZACOALCOS
NOMBRE:
GARCIA ALOR DANIEL
GRADO Y GRUPO:
8 E
MATERIA:
ARQUITECTURA DE COMPUTADORAS
CARRERA:
ING. EN SISTEMAS COMPUTACIONALES
2

Indice
Tabla de contenido
Unidad I. Arquitectura de computadoras ..................................................................................... 1
1.1 Modelos de arquitecturas de cmputo ............................................................................... 1
1.1.1 Arquitecturas de cmputo clsicas .............................................................................. 3
1.1.2 Modelo segmentado ....................................................................................................... 4
1.1.3 Arquitecturas de cmputo de multiprocesamiento ........................................... 5
1.2 Anlisis de los componentes .............................................................................................. 6
1.2.1 Cpu ................................................................................................................................... 6
1.2.1.1Arquitecturas cpu.......................................................................................................... 8
1.2.1.2 Tipos cpu ................................................................................................................... 10
1.2.1.3 Caracteristicas cpu .................................................................................................... 12
Las caractersticas que un CPU tiene son: ............................................................................ 12
1.2.1.4 Funcionamiento ........................................................................................................ 17
1.2.2 Memoria ........................................................................................................................ 19
1.2.2.1Arquitecturas ............................................................................................................... 20
1.2.2.2 Tipos memorias ........................................................................................................ 24
1.2.2.3Caracteristicas memorias .......................................................................................... 35
1.2.2.4 Funcionamiento memorias ..................................................................................... 37
1.2.3 Dispositivos de I/O ...................................................................................................... 48
1.2.3.1 Arquitectura del sistema de I/O (E/S) ..................................................................... 50
Interfaz Del Sistema Operativo Para E/S ........................................................................... 50
Sistema de archivos ............................................................................................................... 51
Gestor de redes ...................................................................................................................... 51
Gestor de bloques .................................................................................................................. 51
Gestor de cach ..................................................................................................................... 51
Manejadores de dispositivo .................................................................................................. 51
1.2.3.2 Tipos de I/O.............................................................................................................. 52
3

1.2.3.3 Caractersticas de los dispositivos de entrada y salida .................................... 60
1.2.3.4 Funcionamiento de los dispositivos de I/O ....................................................... 61
Unidad 2. Comunicacin interna en la computadora. ............................................................... 62
2.1 Buses ..................................................................................................................................... 62
2.1.1 Bus local. ....................................................................................................................... 70
2.1.2 Bus de datos. ................................................................................................................ 71
2.1.3 Bus de direcciones. ...................................................................................................... 73
2.1.4 Bus de control (bus de sistema). ................................................................................ 74
2.1.5 Buses normalizados ..................................................................................................... 75
2.2 Direccionamiento ................................................................................................................. 84
2.2.1 Modo real ...................................................................................................................... 84
2.2.2 Modelo protegido .......................................................................................................... 86
2.2.3 Modo real virtual ........................................................................................................... 91
2.3 Temporizacin ...................................................................................................................... 93
2.3.1 Reloj de sistema. .......................................................................................................... 96
2.3.2 Reset del distema ......................................................................................................... 97
2.3.3 Estados de espera. ...................................................................................................... 99
2.4 Interrupciones de hardware................................................................................................ 99
2.4.1 Enmascarable ............................................................................................................... 99
2.4.2 No-enmascarable. .................................................................................................... 100
2.5 Acceso directo a memoria ................................................................................................ 101
2.5.1 Sistema de video ........................................................................................................ 102
Funciones VIO .......................................................................................................................... 103
Salida Por TTY Virtual ............................................................................................................. 103
Salida de cadenas de caracteres ........................................................................................... 103
VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell
VioWrtNChar VioReadCellStr VioReadCharStr................................................................. 106
Funciones de scroll .................................................................................................................. 106
VioScrollDn VioScrollLf VioScrollRt VioScrollUp .............................................................. 106
4

Definicin y movimiento del cursor ........................................................................................ 106
VioGetCurPos VioSetCurPos VioGetCurType VioSetCurType ..................................... 107
Acceso al LVB ........................................................................................................................... 107
VioGetBuf VioShowBuf ........................................................................................................... 107
Acceso directo al buffer real de video ................................................................................... 107
VioGetPhysBuf VioScrLock VioScrUnLock ........................................................................ 109
VioSavRedrawWait .................................................................................................................. 110
2.5.2 Sistema de discos ...................................................................................................... 110
2.5.3 Otras aplicaciones ...................................................................................................... 111
UNIDAD III. Seleccin de componentes para ensamble de equipos de cmputo. ... 113
3.1 Chipset................................................................................................................................. 113
3.1.1 Cpu ............................................................................................................................... 115
3.1.2 Controlador del bus ................................................................................................. 118
3.1.3 Puertos de entrada/salida ......................................................................................... 121
3.1.4 Controlador de interrupciones .................................................................................. 123
3.1.5 Controladores de DMA .............................................................................................. 124
3.1.6 Circuitos de temporizacin y control........................................................................ 127
3.1.7 Controladores de video .............................................................................................. 128
3.2 Aplicaciones ........................................................................................................................ 131
3.2.1 Entrada/salida ............................................................................................................. 131
3.2.2 Almacenamiento ......................................................................................................... 137
3.2.3 Fuentes de alimentacin ........................................................................................... 139
3.3 Ambientes de servicios. .................................................................................................... 139
3.3.1 Negocios ...................................................................................................................... 142
3.3.2 Industria ....................................................................................................................... 144
3.3.3 Comercio electrnico ................................................................................................. 146
Unidad IV. Microcontroladores ................................................................................................... 150
4.1 Arquitectura. ....................................................................................................................... 150
4.1.1Terminales .................................................................................................................... 151
5

4.1.2 Cpu. .............................................................................................................................. 162
Las caractersticas que un CPU tiene son: .......................................................................... 162
4.1.3 Espacio de memoria .................................................................................................. 170
4.1.4Entrada/ salida. ............................................................................................................ 174
4.1.5 Caractersticas especiales. ....................................................................................... 174
4.2 Programacin. .................................................................................................................... 178
4.2.1 Modelo de programacin ....................................................................................... 180
4.2.2 Conjunto de instrucciones ......................................................................................... 181
4.2.3 Modos de direccionamiento ...................................................................................... 205
Efecto secundario muy til ...................................................................................................... 208
Absoluto ................................................................................................................................. 208
Relativo al PC ....................................................................................................................... 209
Registro indirectos ................................................................................................................ 210
Secuencial modos de direccionamiento ............................................................................... 210
Ejecucin secuencial. .......................................................................................................... 210
Ejecucin condicional. ......................................................................................................... 211
Saltar ...................................................................................................................................... 212
Simple modos de direccionamiento de datos ...................................................................... 212
Registro .................................................................................................................................. 212
Base ms desplazamiento y las variaciones ................................................................... 213
4.2.4 Lenguaje ensamblador .............................................................................................. 214
Lenguaje .................................................................................................................................... 215
Cdigo mquina ........................................................................................................................ 217
Ejemplos de lenguaje ensamblador ...................................................................................... 218
Ejemplo 1 ............................................................................................................................... 218
Ejemplo 2 ............................................................................................................................... 219
Ejemplo 3 ............................................................................................................................... 221
Ejemplo 4 ............................................................................................................................... 221
4.3 Aplicaciones ..................................................................................................................... 222
6

4.3.1 Como sistema independiente ............................................................................... 222
4.3.2 Como subsistema de una computadora ................................................................. 227



1


1

Unidad I. Arquitectura de computadoras
1.1 Modelos de arquitecturas de cmputo

La arquitectura de computadoras es el diseo conceptual y la estructura
operacional fundamental de un sistema de computadora. Es decir, es un modelo y
una descripcin funcional de los requerimientos y las implementaciones de diseo
para varias partes de una computadora, con especial inters en la forma en que la
unidad central de proceso (CPU) trabaja internamente y accede a las direcciones
de memoria.
Tambin suele definirse como la forma de seleccionar e interconectar
componentes de hardware para crear computadoras segn los requerimientos de
funcionalidad, rendimiento y costo.
La segmentacin de instrucciones es similar al uso de una cadena de montaje en
una fbrica de manufacturacin. En las cadenas de montaje, el producto pasa a
travs de varias etapas de produccin antes de tener el producto terminado. Cada
etapa o segmento de la cadena est especializada en un rea especfica de la
lnea de produccin y lleva a cabo siempre la misma actividad. Esta tecnologa es
aplicada en el diseo de procesadores eficientes.

Fig. 1.1 Una visin tpica de una arquitectura de computadora como una serie de capas de
abstraccin: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.
2

A estos procesadores se les conoce como pipeline processors. Estos estn
compuestos por una lista de segmentos lineales y secuenciales en donde cada
segmento lleva a cabo una tarea o un grupo de tareas computacionales. Los datos
que provienen del exterior se introducen en el sistema para ser procesados. La
computadora realiza operaciones con los datos que tiene almacenados en
memoria, produce nuevos datos o informacin para uso externo.
Las arquitecturas y los conjuntos de instrucciones se pueden clasificar
considerando los siguientes aspectos:
Almacenamiento de operandos en la CPU: dnde se ubican los operandos
aparte de la memoria.
Nmero de operandos explcitos por instruccin: cuntos operandos se
expresan en forma explcita en una instruccin tpica. Normalmente son
0, 1, 2 y 3.
Posicin del operando: Puede cualquier operando estar en memoria?, o
deben estar algunos o todos en los registros internos de la CPU.
Cmo se especifica la direccin de memoria (modos de direccionamiento
disponibles).
Operaciones: Qu operaciones estn disponibles en el conjunto de
instrucciones.
Tipo y tamao de operandos y cmo se especifican.





3

1.1.1 Arquitecturas de cmputo clsicas

El modelo clsico de arquitectura de computadoras fue diseado por Jhon Von
Newman que consta de los siguientes elementos:
Dispositivos de entrada, de proceso, de almacenamiento y de salida
Se le atribuye a Von Neuman en el ao de 1945.
Su caracterstica principal es que todos los datos se almacenan primero en la
memoria para poder ser ejecutados.
Consta de 5 partes:
ALU.
MEMORIA.
UNIDAD DE CONTROL (CU).
DISPOSITIVOS DE E/S.
BUS.

Fig. 1.2 partes de un CPU
COMPONENTES:
La Memoria: Constaba de 4096 palabras, cada una con 40 bits (0 o 1).
* Cada palabra poda contener dos instrucciones de 20 bits o un nmero entero de
39 bits y su signo.
4

* Las instrucciones tenan 8 bits dedicados a sealar el tipo de la misma y 12 bits
para especificar alguna de las 4096 palabras de la memoria.
Unidad de Control: Determina cual es la siguiente instruccin a ejecutar y se la
pasa al ALU.
ALU (Aritmetic Logic Unit): La Unidad Aritmtica Lgica, es el TALLER donde se
ejecutan las instrucciones.
Acumulador: 40 bits
DIAGRAMA DE VON NEUMAN.
Una computadora con modelo Von Neuman realiza las siguientes funciones:
1.- Enciende el ordenador y obtiene la siguiente instruccin desde la memoria en
la direccin indicada por el contador del programa y la guarda en el registro de
instruccin.
2.- Aumenta el contador del programa en la longitud de la instruccin para apuntar
a la siguiente.
3.- Decodifica la instruccin mediante la unidad de control.
4.- Se ejecuta la instruccin. Esta puede cambiar el valor del controlador,
permitiendo as, operaciones repetitivas. El contador puede cambiar tambin
cuando se cumpla una cierta condicin aritmtica, asiendo que el ordenador
pueda tomar decisiones que pueden alcanzar cualquier grado de complejidad.

1.1.2 Modelo segmentado

Consiste en segmentar el procesador, descomponiendo en etapas para poder
procesar una instruccin diferente en cada una de ellas y trabajar con varios a la
vez.
*Equivale a la composicin de funciones matemticas.
*Se aplica en dos lugares de la maquina: CPU y ALU.
*Es conocida como pipe- line.
5


Consta de 5 etapas:
Bsqueda: se encarga de buscar la instruccin de la memoria y la coloca en el
buffer, hasta que se necesita.
Decodificacin: Est decodifica la instruccin determinando de que tipo es y que
operacin necesita.
Ejecucin: Est ejecuta la instruccin.
Direccionamiento: Localiza y busca las operaciones, ya sea de registro o de
memoria.
Almacenamiento de resultados: escribe el resultado en el registro apropiado.
1.1.3 Arquitecturas de cmputo de multiprocesamiento
Se trata de un tipo de arquitectura de computadora en que 2 o ms procesadores
comparten una memoria central.
Permiten que cualquier procesador trabaje en cualquier tarea sin importar su
localizacin en la memoria.
Puede mover fcilmente tareas entre los procesadores para garantizar un trabajo
eficiente.
Se compone de procesadores independientes que se comunican con la memoria a
travs de un bus compartido, el cual es de uso comn y debe ser arbitrario:
Para que solamente un multiprocesador lo use en cada instante de tiempo, si las
computadoras con un solo multiprocesador tienden a gastar u considerable
tiempo, con varios procesadores es peor, lo que es el caso de este modelo de
arquitectura.
Se dice que es simtrico por que todos los microprocesadores compiten en
igualdad de condiciones por el acceso.


6

1.2 Anlisis de los componentes

Para empezar a realizar un anlisis de los componentes de una computadora
debemos introducirnos al objeto a analizar para saber entender ms su
funcionamiento.
Ahora nos introduciremos dentro de la computadora y desmontndolo
analizaremos las piezas que tiene.
1.2.1 Cpu
Unidad Central de Proceso (CPU)

Es un circuito microscpico que interpreta y ejecuta instrucciones. Se ocupa del
control y proceso de datos e las computadoras. Generalmente, la CPU es un
microprocesador fabricado en un chip, un nico trozo de silicio que contiene
millones de componentes electrnicos.
Unidad de Control y Unidad aritmtico-lgica. Estos dos bloques forman la
Unidad Central de Proceso (CPU o UCP).

Unidad de Memoria

Los dispositivos electrnicos o electromagnticos en donde se almacena la
informacin recibida del exterior antes de ser procesada, y la ya procesada,
constituyen la MEMORIA. En la memoria residen el programa que ser procesado,
los datos para el proceso y los resultados del proceso.

ALU
La informacin se procesa matemticamente y se compara lgicamente dentro de
la Unidad Aritmtico-Lgica, conocida como ALU.



7

Unidad de Control
Se encarga de que las operaciones se realicen en las secuencias que
correspondan (por ejemplo no calcular antes de recibir los datos, no comunicar
informacin al exterior mientras no se terminen los clculos, etc.).
Estructura del CPU
El CPU debe:
*Extraer instrucciones
*Interpretar instrucciones
* Extraer datos
* Procesar datos
* Escribir datos
Registros
El CPU debe tener un espacio de trabajo (almacenamiento temporal)
Llamados registros
La cantidad y funcin vara dependiendo del diseo del procesador
Una de las decisiones ms importantes de diseo
El nivel ms alto en la jerarqua de memoria



8


1.2.1.1Arquitecturas cpu

Existen dos tipos ms comunes:

CISC (Complex Instruction Set Computer): computadoras con un conjunto de
instrucciones complejas.
* Facilitan las instrucciones entre los operandos
* Ejecutan un microprograma dentro de la CPU de una manera muy rpida a 8
MHZ y sus sistema de trabajo se basa bsicamente en la microprogramacin.
* A este grupo pertenecen las INTEL y AMD.

RISC (Reduced Instruction Set Computer): Computadoras con un conjunto de
instrucciones reducidas.
* Se basa en instrucciones simples y poco complejas.
* Facilita la segmentacin y el paralelismo en la ejecucin de instrucciones.
* Utiliza un sistema de direcciones no destructivas en la memoria RAM.
Organizacin Y Arquitectura Interna De La CPU
Diagrama de bloques
Los bloques funcionales bsicos son: la unidad de procesamiento central (CPU), la
memoria principal, y el procesador de Entrada - Salida.
Unidad de proceso central: esta es la responsable de la interpretacin y ejecucin
de instrucciones contenidas en la memoria principal, las comunicaciones entre la
CPU y la memoria principal se realizan a travs de 2 canales funcionalmente
distintos: el de direcciones y el de datos.
9

Para introducir en la memoria, una instruccin especifica, la CPU enva a dicha
memoria la direccin de la instruccin por el canal de direcciones y recibe por el
mismo medio la instruccin que est en esa direccin.
Parte de la instruccin es utilizada por la CPU para identificar la operacin. Esta
parte se llama cdigo de operacin de la instruccin. La informacin restante se
utiliza para determinar la o las localidades de los datos con los cuales se va a
efectuar la operacin.
La accin de leer una instruccin en la CPU y prepararla para su ejecucin se
denomina ciclo de bsqueda. Para completar una instruccin la CPU decodifica el
cdigo de operacin, genera las seales de control que se necesitan para
introducir los operandos requeridos y controla la ejecucin de la instruccin.
Registro e instrucciones de la CPU:
-Registros
-Instrucciones
-Aritmtica y Lgica
-Movimientos de datos
-Operaciones de datos en bloque
-Instrucciones de control de programa
-Instrucciones de Entrada-Salida

La CPU contiene un conjunto de localidades de almacenamiento temporal de
datos de alta velocidad llamada registro. Algunos de los registros estn dedicados
10

al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes
son los registros de uso general y el programador es el usuario que tiene acceso a
ellos.
Dentro del conjunto bsico de registros de control se deben incluir a los siguientes:
Contador de programa (PC).
Registro de direcciones de la memoria (MAR).
Registro de datos (RD).
Registro de instrucciones (ER).
Palabra de estado de programa (PSW).
La funcin del PC consiste en seguir la pista de la instruccin por buscar (capturar)
en el siguiente ciclo de mquina, por lo tanto contiene la direccin de la siguiente
instruccin por ejecutar. El PC es modificado dentro del ciclo de bsqueda de la
instruccin actual mediante la suma de una constante. El nmero que se agrega al
PC es la longitud de una instruccin en palabras.
Por lo tanto, si una instruccin tiene una palabra de longitud se agrega 1 al PC, si
una instruccin tiene dos palabras de largo se agrega 2, y as sucesivamente.

1.2.1.2 Tipos cpu

La caracterstica distintiva de cualquier sistema de computacin es su tamao, no
su tamao fsico, sino su capacidad de cmputo.
El tamao o capacidad de cmputo es la cantidad de procesamiento que un
sistema de computacin puede realizar por unidad de tiempo.

11

Macro computador: Mquina de enormes dimensiones, que usan las grandes
organizaciones y que tienden a ser invisibles para le pblico en general, ya que
estn escondidas en salas con clima controlado. Son capaces de comunicarse
simultneamente con varios usuarios por la tcnica de tiempo compartido; ste
tambin permite que los usuarios con diversas necesidades computacionales
compartan costosos equipos de computacin.

Minicomputador: Tambin es una mquina multiusuario (es decir que usa la
tcnica de tiempo compartido). Es ms pequeo y econmico que un macro
computador, pero mayor y ms potente que una computadora personal.

Estacin de trabajo: Computador de escritorio que tiene el poder de un
minicomputador, pero a una fraccin del costo. Es de uso muy comn entre
personas cuyas tareas requieren gran cantidad de clculos (cientficos, analistas
burstiles, ingenieros). Aunque muchas estaciones de trabajo son capaces de dar
servicio a varios usuarios al mismo tiempo, en la prctica a menudo son usadas
por una sola persona a la vez.

Microcomputadora o Computador personal: PC (Personal computer).
Computador habitualmente monousuario (aunque puede configurarse para
usuarios mltiples) de propsito general. En una micro se monta el
microprocesador, los circuitos electrnicos para manejar los dispositivos
perifricos y los chips de memoria en un solo tablero de circuitos, el tablero de
sistema o tablero madre (mother board). El microprocesador y los otros chips se
montan en una portadora antes de fijarlos al tablero madre. Las portadoras tienen
conectores de agujas de tamao estndar que permiten que se conecten los chips
en el tablero de sistema. La mother board es lo que distingue a una computadora
de otra. La PC puede ser de escritorio o porttil. Dentro de los computadores
porttiles encontramos:

12

Laptop: alimentado por bateras, con pantalla plana y que pueden cargarse como
un portafolios.
Notebook: Ms livianas que las anteriores y que pueden transportarse dentro de
un portafolios.
Palmtop: o computador manual, o PC de bolsillo. Tan pequeas que caben en un
bolsillo. Atiende las necesidades de usuarios para los cuales la movilidad es ms
valiosa que un teclado o una pantalla de tamao usual.

1.2.1.3 Caracteristicas cpu

Las caractersticas que un CPU tiene son:

Memoria
Unidad aritmtica lgica
Unidad o procesador de control
Memoria Principal (interna o central).
Se almacenan datos y programas, hay dos operaciones que se hacen en la
memoria (lee y escribe) entonces se dice que es donde almacena, se lee y se
escribe.
Es un conjunto de clulas numeradas y dos registros especiales con los que
realiza las transacciones.
El registro de direccin que indica el nmero de la clula afectada y el de
intercambio que contiene la informacin leda o la que hay que escribir en la clula
de cuestin.
13

La memoria central o simplemente memoria (interna o principal) se utiliza para
almacenar informacin. En general, la informacin almacenada en memoria puede
ser de dos tipos: las instrucciones de un programa y los datos con los que se
operan las instrucciones.
Ejemplo:
Para que un programa se pueda ejecutar (correr, rodar, funcionar,), debe ser
situado en la memoria, en una operacin denominada carga (load) del programa.
La memoria central de una computadora es una zona de almacenamiento
organizada en centenares o millares de unidades de almacenamiento individual
celdas.
La unidad elemental de memoria se llama byte (octeto). Un byte tiene la capacidad
de almacenar un carcter de informacin, y est formado por un conjunto de
unidades ms pequeas de almacenamiento denominadas bits, que son dgitos
binarios (0 1). Generalmente se acepta que un byte contiene ocho bits. Por
consiguiente, si se desea almacenar la frase la computadora utilizara
exactamente 23 bytes consecutivos de memoria. Obsrvese que adems de las
letras, existen cuatro espacios en blanco y un punto (un espacio es un carcter
que emplea tambin un byte). De modo similar, el nmero del pasaporte
P57487891 ocupara 9 bytes. Estos datos se llaman alfanumricos y pueden
constar de alfabeto, Dgitos o incluso caracteres especiales (smbolos: $, #,*, etc.).
Mientras que cada carcter de un dato alfanumrico se almacena en un byte, la
informacin numrica se almacena de un modo diferente. Los datos numricos
ocupan 2,4 e incluso 8 bytes consecutivos, dependiendo del tipo de dato
numrico.
Existen dos conceptos importantes asociados a cada byte o posicin de memoria:
su direccin y contenido. Cada celda o byte tiene asociada una nica direccin
que indica su posicin relativa en memoria mediante la cual se puede acceder a la
14

posicin para almacenar o recuperar informacin. La informacin almacenada en
una posicin de memoria es su contenido.
El contenido de estas direcciones o posiciones de memoria se llaman palabras, de
modo que existen palabras de 8,16, 32, y 64 bits. Por consiguiente, si trabaja con
una maquina de 32 bits, es decir, 32 dgitos, bien ceros o unos.
Siempre que una nueva informacin se almacena en una posicin, se destruye
(desaparece) cualquier informacin que en ella hubiera y no se puede recuperar.
La direccin es permanente y nica, el contenido puede cambiar mientras se
ejecuta un programa.
La memoria central de una computadora puede tener desde unos centenares de
millares de bytes hasta millones de bytes. Como el byte es una unidad elemental
de almacenamiento, se utilizan mltiplos para definir el tamao de la memoria
central:
Kilo-byte (KB o Kb) igual a 1.024 bytes (210) prcticamente se toman 1.000 y
Mega byte (MB o Mb) igual a 1.024 x 1.024 bytes (220) prcticamente se
considera un 1.000.000. Las computadoras personales tipo PC tienen memorias
centrales desde 512 640 k aunque es frecuentemente ver PCs con memorias de
1,2, 4, 12, etc., Mb.
Pasos que se hacen en la lectura:
1.- Almacenar la direccin de la clula en la que se encuentra la informacin a leer
datos se almacena en el registro de direccin.
2.-Cambiar el registro de intercambio la informacin contenida en la clula
apuntada por el registro de direccin.
15

3.-Transferir el contenido de registro de intercambio al registro de la CPU que
corresponda.
Pasos para la escritura:
1.- Transferir el registro de intercambio la informacin a escribir.
2.- Almacenar la segunda direccin de la clula receptora de la informacin en el
registro de direccin.
3.- Cargar el contenido de registro de intercambio en la clula apuntada por el
registro de direccin.
UAL (UNIDAD ARITMETICA LOGICA).
La unidad aritmtica lgica opera los datos que recibe siguiendo las indicaciones
por la unidad de control. Esta unidad puede realizar operaciones aritmticas
lgicas, por ejemplo: el de realizar la suma, la forma en que realiza la operacin.
1.- Se debe tener el cdigo de operacin que indique la operacin a efectuar en
este caso el cdigo de suma.
2.- Direccin de la clula en la que se encuentra almacenado el primer sumando.
3.- Direccin del segundo sumando.
4.- Direccin de la clula en la que se almacena el resultado.
Instrucciones para efectuar la suma.
a) Cargar el primer operando en el acumulador.
b) Sumar el segundo operando con el contenido del acumulador.
16

c) Cargar el contenido del acumulador en la direccin del resultado.
Unidad De Control (La unidad que va decidir controlar).
La unidad de control es el autentico cerebro que controla y coordina el
funcionamiento de la computadora. A raz de la interpretacin de las instrucciones
que integran el programa esta unidad genera el conjunto de rdenes elementales
necesarias para que se realice la tarea necesitada.
Pasos para la unidad de control.
1. Se extrae de la memoria principal la instruccin a ejecutar esa informacin es
almacenada en el contador de instrucciones, la informacin que se almacena es la
prxima instruccin a ejecutar en el registro de instruccin propiamente dicha.
2.- Una vez conocido el cdigo de la operacin la unidad de control ya sabe que
circuitos de la UAL deben de intervenir pueden establecerse las conexiones
elctricas necesarias a travs del secuenciador.
3.- Extrae de la memoria principal los datos necesarios para ejecutar la instruccin
en proceso
4.- Ordena la AUL que efecta las operaciones el resultado de este es depositado
en el acumulador de la AUL.
5.- Si la instruccin a proporcionado nuevos datos estos son almacenados en la
memoria principal.
6.- Incrementa en una unidad el contenido del contador de instrucciones a
ejecutar.
Unidades Perifricas
17

Unidades de comunicacin
Memorias auxiliares.
Las unidades de comunicacin: Permiten el dialogo con el exterior que son las de
entrada y salida ejemplo: teclado, monitor impresora, mouse.
Las memorias auxiliares: Sirven para almacenar grandes volmenes de datos de
forma permanente por ejemplo: Unidades de discos y cintas magnticas.
La comunicacin entre los perifricos y la computadora se realizan atreves de los
canales.
1.2.1.4 Funcionamiento
La Unidad central de proceso o CPU, se puede definir como:
Un circuito microscpico que interpreta y ejecuta instrucciones.
La CPU se ocupa del control y el proceso de datos en los ordenadores.
Habitualmente, la CPU es un microprocesador fabricado en un chip, un nico trozo
de silicio que contiene millones de componentes electrnicos.
El microprocesador de la CPU est formado por una unidad aritmtico lgica que
realiza clculos y comparaciones, y toma decisiones lgicas (determina si una
afirmacin es cierta o falsa mediante las reglas del lgebra de Boole); por una
serie de registros donde se almacena informacin temporalmente, y por una
unidad de control que interpreta y ejecuta las instrucciones.
Para aceptar rdenes del usuario, acceder a los datos y presentar los resultados,
la CPU se comunica a travs de un conjunto de circuitos o conexiones llamado
bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo, un
disco duro), los dispositivos de entrada (por ejemplo, un teclado o un ratn) y los
dispositivos de salida (por ejemplo, un monitor o una impresora).
18

Procesamiento de la CPU
Una CPU procesa informacin almacenada en los bytes de la memoria. Esta
informacin puede ser datos o instrucciones. Un dato es una representacin
binaria de una letra, un nmero, o un color; mientras que una instruccin le dice a
la CPU que hacer con ese dato, es decir si sumarlo, si restarlo, moverlo, etc.
Como dijimos anteriormente, la CPU realiza tres operaciones bsicas con los
datos: puede leerlos, procesarlos, y escribirlos en la memoria. Es decir que, la
CPU necesita solo cuatro elementos para realizar dichas operaciones con los
datos: Las instrucciones, un puntero a las instrucciones (Instruccin Pointer),
algunos registros, y la unidad aritmtica lgica.
El Instruccin Pointer le indica a la CPU en qu lugar de la memoria necesita ser
ubicada la instruccin.
Los Registros son lugares de almacenamiento temporario ubicados en la CPU. Un
registro contiene datos que esperan ser procesados por cualquier instruccin, o
datos que ya han sido procesados, como por ejemplo, la suma o resta de algn
nmero, etc.
La unidad aritmtica lgica es una especie de calculadora que ejecuta funciones
matemticas y lgicas dedicadas a las instrucciones.
Por otro lado, la CPU contiene algunas partes adicionales que ayudan a dichos
componentes principales a realizar el trabajo:
Un buscador de instrucciones (fetch), que recoge las instrucciones de la RAM o un
rea de memoria localizada en la CPU.
19

Un decodificador de instrucciones, que toma la instruccin desde el buscador y la
traslada hasta que la CPU la entienda. Luego determina cuales son los pasos
necesarios para cumplir con dicha instruccin.
La unidad de control, maneja y coordina todas las operaciones del chip. Este le
permite saber a la unidad aritmtica lgica cuando debe calcular, al buscador
cuando debe grabar una cifra, y al decodificador cuando trasladar la cifra dentro
de una instruccin.
1.2.2 Memoria

La memoria es un conjunto de registros direccionales en donde residen
instrucciones y datos.


Fig. 1.3 partes de una memoria RAM
El medio de almacenamiento ms comn es el disco magntico. El dispositivo que
contiene al disco se llama unidad de disco (drive). La mayora de las
computadoras personales tienen un disco duro no removible. Adems usualmente
hay una o dos unidades de disco flexible, las cuales le permiten usar discos
flexibles removibles. El disco duro normalmente puede guardar muchos ms datos
que un disco flexible y por eso se usa disco duro como el archivero principal de la
computadora. Los discos flexibles se usan para cargar programas nuevos, o datos
al disco duro, intercambiar datos con otros usuarios o hacer una copia de respaldo
de los datos que estn en el disco duro.
20

Una computadora puede leer y escribir informacin en un disco duro mucho ms
rpido que en el disco flexible. La diferencia de velocidad se debe a que un disco
duro est construido con materiales ms pesados, gira mucho ms rpido que un
disco flexible y est sellado dentro de una cmara de aire, las partculas de polvo
no pueden entrar en contacto con las cabezas.
La memorizacin consiste en la capacidad de registrar sea una cadena de
caracteres o de instrucciones (programa) y tanto volver a incorporarlo en
determinado proceso como ejecutarlo bajo ciertas circunstancias.
El computador dispone de varios dispositivos de memorizacin:
La memoria ROM
La memoria RAM
Las memorias externas
El acumulador
1.2.2.1Arquitecturas
La arquitectura (estructura) interna de un CD-ROM es muy compleja y no
necesitamos conocer todos sus detalles. Sin embargo es constructivo observar un
diagrama simplificado de la estructura interna. Existen cuatro partes bsicas:
decodificador de renglones, arreglo de registros y buffer de salida.

Arreglo de registros.

El arreglo de registros almacena los datos que han sido programados en la ROM.
Cada registro contiene un nmero de celdas de memoria que es igual al tamao
de la palabra. En este caso, cada registro almacena una palabra de 8 bits. Los
registros se disponen en un arreglo de matriz< cuadrada que es comn a muchos
circuitos de semiconductor. Podemos especificar la posicin de cada registro
como una ubicada en un rengln y una columna especficos.
21

Las 8 salidas de datos de cada registro se conectan a un canal de datos interno
que corre atreves de todo el circuito. Cada registro tiene dos entradas de
habilitacin (e); ambas tienen que ser altas a fin de que los datos del registro sean
colocados en el canal.
Decodificadores de direcciones.
El cdigo de direccin aplicado a3, a2, a1, a0, determina que registro ser
habilitado para colocar su palabra de datos en 8 bits en el canal. Los bits de
direccin a1, a0, se alimentan de un decodificador uno de 4 que activa una lnea
de seleccin de rengln, y los bits de direccin a3, a2, se alimentan de un
segundo decodificador uno de cuatro que activa una lnea de seleccin de
columna. Solamente un registro estar en el rengln y la columna seleccionados
por las entradas de difraccin, y estar habilitado.
Buffer de salida.
El registro habilitado por las entradas de seleccin coloca el dato que tiene sobre
el canal de datos. Estos datos entraran en los buffers de salida mismos que se
encargan de trasmitirlos hacia las salidas externas siempre y cuando cs este en
bajo. Si cs esta en alto, los buffers de salida se encuentran en el estado de alta
impedancia, con lo que d7 hasta d0 estarn flotando.

Arquitectura de la memoria (RAM)
Como sucede con la ROM, es til pensar que la RAM consta de varios registros,
cada uno de los cuales almacenan una sola palabra de datos y tiene una direccin
nica. Las RAM comnmente vienen con capacidades de palabras de 1k, 4k, 8k,
16k, 64k, 128k, 256k, y 1024k, y tamaos de palabras de 1, 4, u 8 bits.

22

Operacin de lectura.
El cdigo de direccin selecciona un registro del circuito de memoria para leer o
escribir. A fin de leer el contenido de registro seleccionado, la entrada
lectura/escritura (r/-w)* debe ser un 1. Adems, la entrada (cs) seleccin de ci
debe ser activada (un 0 de este caso). La combinacin de r/-w es igual a 1 y cs es
igual a 0 habilita los buffers de salida de manera que el contenido de registro
seleccionado aparecer en las cuatro salidas de datos. r/-w igual a 1 tambin
deshabilita los buffers de entrada de manera que las entradas de datos no afecten
la memoria durante la operacin de lectura.
Operacin de escritura.
Para escribir una nueva palabra de cuatro bits en el registro seleccionado se
requiere que r/-w igual a 0 y cs igual 0. Esta combinacin habilita los buffers de
entrada de manera que la palabra de cuatro bits aplicada a las entradas de datos
se cargara en el registro seccionado. r/-w igual a 0 tambin deshabilita los buffers
de salida que son de tres estados, de manera que las salidas de datos se
encuentran en el estado de alta-z, durante una operacin de escritura. La
operacin de escritura, desde luego, destruye la palabra que antes estaba
almacenada en la direccin.

Seleccin de ci.
Muchos circuitos de memoria tienen una o ms entradas cs que se usan para
habilitar o deshabilitar el circuito en su totalidad. En el modo deshabilitado todas
las salidas y entradas de datos se deshabilitas (alta-z) de manera que no puede
tener lugar no la operacin de lectura ni de escritura. En este modo en contenido
de la memoria no se afecta. La razn para tener entradas cs ser ms clara
cuando se combinen ci de memoria para tener mayores memorias. Observe que
23

muchos fabricantes llaman a estas entradas ce (habilitacin de circuito). Cuando
las entradas cs o ce se encuentran en un estado activo, se dice que el ci de
memoria a sido seleccionado; de otro modo se dice que no est seleccionado.
Muchos ci de memoria estn diseados para consumir una potencia mucho menor
cuando estn seleccionados. en sistemas de memoria grandes, para una
operacin dada de memoria, sern seleccionados una o ms ci de memoria
mientras que los dems no.
Terminales comunes de entrada/ salida.
A fin de conservar terminales en un encapsulado de ci, los fabricantes a menudo
combinan las funciones de entradas y salida de datos utilizando terminales
comunes de entrada/salida. La entrada r/-w controla la funcin de estas terminales
e/s. durante una operacin de lectura, las terminales de entrada y salida actan
como salida de datos que reproducen el contenido de la localidad de direccin
seleccionada. Durante una operacin de escritura, las terminales de s/e actan
como entrada de datos. A las cuales se aplican los datos al ser escritos.
Arquitectura de la memoria (ROM)
ROM programable y borrable.
Una eprom puede ser programada por el usuario y tambin puede borrarse y
reprogramarse tantas veces como desee. Una vez programada, la eprom es una
memoria no voltil que contendr sus datos almacenados indefinidamente. El
proceso para programar una eprom implica la aplicacin de niveles de voltaje
especiales (comnmente en un orden de 10 a 25 volts) a las entradas adecuadas
del circuito en una cantidad de tiempo especificada (por lo general 50 minutos) por
la localidad de direccin. El proceso de programacin generalmente es efectuado
por un circuito especial de programacin que est separando del circuito en el cual
la eprom eventualmente trabajara. El proceso de programacin completo puede
llevar barios minutos para un microcircuito eprom.
24

En una eprom las celdas de almacenamiento son transistores mosfet que tienen
una compuerta de cilicio sin ninguna conexin elctrica (es decir, una compuerta
flotante). En un estado normal, cada transistor est apagado y cada celda guarda
un 1 lgico un transistor puede encenderse mediante la aplicacin de un curso de
programacin de alto voltaje, el cual inyecta electrones de alta energa en la regin
formada por la compuerta flotante. Estos electrones permanecen en esta regin
una vez que ha finalizado el pulso ya que no existe ninguna trayectoria de
descarga.
Una vez que sea programado una celda de la eprom se puede borrar su contenida
exponiendo la eprom a la luz ultravioleta (uv), la cual se aplica a travs de la
ventana que se encuentra sobre el encapsulado del circuito. La luz (uv) produce
una foto corriente que va desde la compuerta flotante hacia el sustrato de cilicio;
con esto se apaga el transistor y se lleva de nuevo la celda hacia el estado uno
lgico. Este proceso de borrado requiere entre 15 a 20 minutos de exposicin a los
rayos (uv). Desafortunadamente, no existe ninguna forma de borrar solo algunas
celdas; la luz (uv) borra todas las celdas al mismo tiempo por lo que una eprom
barrada almacena solamente unos lgicos. Una vez borrada puede volverse a
programar.
1.2.2.2 Tipos memorias

Memoria ram
RAM: Siglas de Random Access Memory, un tipo de memoria a la que se puede
acceder de forma aleatoria; esto es, se puede acceder a cualquier byte de la
memoria sin pasar por los bytes precedentes. RAM es el tipo ms comn de
memoria en las computadoras y en otros dispositivos, tales como las impresoras.
Hay dos tipos bsicos de RAM:
DRAM (Dynamic RAM), RAM dinmica
25

SRAM (Static RAM), RAM esttica
Los dos tipos difieren en la tecnologa que usan para almacenar los datos. La
RAM dinmica necesita ser refrescada cientos de veces por segundo, mientras
que la RAM esttica no necesita ser refrescada tan frecuentemente, lo que la hace
ms rpida, pero tambin ms cara que la RAM dinmica. Ambos tipos son
voltiles, lo que significa que pueden perder su contenido cuando se desconecta la
alimentacin.

En el lenguaje comn, el trmino RAM es sinnimo de memoria principal, la
memoria disponible para programas. En contraste, ROM (Read Only Memory) se
refiere a la memoria especial generalmente usada para almacenar programas que
realizan tareas de arranque de la mquina y de diagnsticos. La mayora de los
computadores personales tienen una pequea cantidad de ROM (algunos Kbytes).
De hecho, ambos tipos de memoria (ROM y RAM) permiten acceso aleatorio. Sin
embargo, para ser precisos, hay que referirse a la memoria RAM como memoria
de lectura y escritura, y a la memoria ROM como memoria de solo lectura.
Se habla de RAM como memoria voltil, mientras que ROM es memoria no-voltil.
La mayora de los computadores personales contienen una pequea cantidad de
ROM que almacena programas crticos tales como aquellos que permiten arrancar
la mquina (BIOS CMOS). Adems, las ROM son usadas de forma generalizada
en calculadoras y dispositivos perifricos tales como impresoras laser, cuyas
fonts estn almacenadas en ROMs.
Tipos de memoria ram
V RAM: Siglas de Vdeo RAM, una memoria de propsito especial usada por los
adaptadores de vdeo. A diferencia de la convencional memoria RAM, la VRAM
puede ser accedida por dos diferentes dispositivos de forma simultnea. Esto
26

permite que un monitor pueda acceder a la VRAM para las actualizaciones de la
pantalla al mismo tiempo que un procesador grfico suministra nuevos datos.
VRAM permite mejores rendimientos grficos aunque es ms cara que la una
RAM normal.

Fig. 1.4 ejemplo de una memoria VRAM
SIMM: Siglas de Single In line Memory Module, un tipo de encapsulado
consistente en una pequea placa de circuito impreso que almacena chips de
memoria, y que se inserta en un zcalo SIMM en la placa madre o en la placa de
memoria. Los SIMM son ms fciles de instalar que los antiguos chips de memoria
individuales, y a diferencia de ellos son medidos en bytes en lugar de bits. El
primer formato que se hizo popular en los computadores personales tena 3.5 de
largo y usaba un conector de 32 pins. Un formato ms largo de 4.25, que usa 72
contactos y puede almacenar hasta 64 megabytes de RAM es actualmente el ms
frecuente. Un PC usa tanto memoria de nueve bits (ocho bits y un bit de paridad,
en 9 chips de memoria RAM dinmica) como memoria de ocho bits sin paridad. En
el primer caso los ocho primeros son para datos y el noveno es para el chequeo
de paridad.

27

Fig. 1.5 memoria SIMM de 72 contactos
DIMM: Siglas de Dual In line Memory Module, un tipo de encapsulado, consistente
en una pequea placa de circuito impreso que almacena chips de memoria, que
se inserta en un zcalo DIMM en la placa madre y usa generalmente un conector
de 168 contactos.

Fig.1.6 memoria DIMM de 128mb
DIP: Siglas de Dual In line Package, un tipo de encapsulado consistente en
almacenar un chip de memoria en una caja rectangular con dos filas de pines de
conexin en cada lado.

Fig. 1.7 memoria DIP
RAM Disk: Se refiere a la RAM que ha sido configurada para simular un disco
duro. Se puede acceder a los ficheros de un RAM disk de la misma forma en la
28

que se acceden a los de un disco duro. Sin embargo, los RAM disk son
aproximadamente miles de veces ms rpidos que los discos duros, y son
particularmente tiles para aplicaciones que precisan de frecuentes accesos a
disco.
Dado que estn constituidos por RAM normal. Los RAM disk pierden su contenido
una vez que la computadora es apagada. Para usar los RAM Disk se precisa
copiar los ficheros desde un disco duro real al inicio de la sesin y copiarlos de
nuevo al disco duro antes de apagar la mquina. Observe que en el caso de fallo
de alimentacin elctrica, se perdern los datos que hubiera en el RAM disk. El
sistema operativo DOS permite convertir la memoria extendida en un RAM Disk
por medio del comando VDISK, siglas de Virtual DISK, otro nombre de los RAM
Disks.

Fig. 1.8 memoria RAMDISK modelo gigabyteiram
SRAM: Siglas de Static Random Access Memory, es un tipo de memoria que es
ms rpida y fiable que la ms comn DRAM (Dynamic RAM). El trmino esttica
viene derivado del hecho que necesita ser refrescada menos veces que la RAM
dinmica.
Los chips de RAM esttica tienen tiempos de acceso del orden de 10 a 30
nanosegundos, mientras que las RAM dinmicas estn por encima de 30, y las
memorias bipolares y ECL se encuentran por debajo de 10 nanosegundos.
29

Un bit de RAM esttica se construye con un --- como circuito flip-flop que permite
que la corriente fluya de un lado a otro basndose en cul de los dos transistores
es activado. Las RAM estticas no precisan de circuitera de refresco como
sucede con las RAM dinmicas, pero precisan ms espacio y usan ms energa.
La SRAM, debido a su alta velocidad, es usada como memoria cach.

Fig. 1.9 memorias estticas SRAM, SR6116LP-100, 6264LP-70
DRAM: Siglas de Dynamic RAM, un tipo de memoria de gran capacidad pero que
precisa ser constantemente refrescada (re-energizada) o perdera su contenido.
Generalmente usa un transistor y un condensador para representar un bit Los
condensadores debe de ser energizados cientos de veces por segundo para
mantener las cargas. A diferencia de los chips firmware (ROMs, PROMs, etc.) las
dos principales variaciones de RAM (dinmica y esttica) pierden su contenido
cuando se desconectan de la alimentacin. Contrasta con la RAM esttica.
Algunas veces en los anuncios de memorias, la RAM dinmica se indica
errneamente como un tipo de encapsulado; por ejemplo se venden DRAMs,
SIMM y SIPs, cuando debera decirse DIPs, SIMM y SIPs los tres tipos de
encapsulado tpicos para almacenar chips de RAM dinmica. Tambin algunas
veces el trmino RAM (Random Access Memory) es utilizado para referirse a la
DRAM y distinguirla de la RAM esttica (SRAM) que es ms rpida y ms estable
que la RAM dinmica, pero que requiere ms energa y es ms cara
30


Fig.1. 10 ejemplo de una memoria DRAM
SDRAM: Siglas de Synchronous DRAM, DRAM sncrona, un tipo de memoria
RAM dinmica que es casi un 20% ms rpida que la RAM EDO. SDRAM
entrelaza dos o ms matrices de memoria interna de tal forma que mientras que
se est accediendo a una matriz, la siguiente se est preparando para el acceso.
SDRAM-II es tecnologa SDRAM ms rpida esperada para 1998. Tambin
conocido como DDR DRAM o DDR SDRAM (Doubl Data Rate DRAM o SDRAM),
permite leer y escribir datos a dos veces la velocidad bus.

Fig. 1.11 Mdulo de Memoria 512MB DIMM SDRAM ECC para OptiPlex GX240
FPM: Siglas de Fast Page Mode, memoria en modo paginado, el diseo ms
comn de chips de RAM dinmica. El acceso a los bits de memoria se realiza por
medio de coordenadas, fila y columna. Antes del modo paginado, era ledo
pulsando la fila y la columna de las lneas seleccionadas. Con el modo pagina, la
fila se selecciona solo una vez para todas las columnas (bits) dentro de la fila,
dando como resultado un rpido acceso. La memoria en modo paginado tambin
es llamada memoria de modo Fast Page o memoria FPM, FPM RAM, FPM DRAM.
31

El trmino fast fu aadido cuando los ms nuevos chips empezaron a correr a
100 nanosegundos e incluso ms.

Fig. 1.12 modulos memoria fpm-ram de 72 contactos
EDO: Siglas de Extended Data Output, un tipo de chip de RAM dinmica que
mejora el rendimiento del modo de memoria Fast Page alrededor de un 10%. Al
ser un subconjunto de Fast Page, puede ser substituida por chips de modo Fast
Page.
Sin embargo, si el controlador de memoria no est diseado para los ms rpidos
chips EDO, el rendimiento ser el mismo que en el modo Fast Page.
EDO elimina los estados de espera manteniendo activo el buffer de salida hasta
que comienza el prximo ciclo. BEDO (Burst EDO) es un tipo ms rpido de EDO
que mejora la velocidad usando un contador de direccin para las siguientes
direcciones y un estado pipeline que solapa las operaciones.
RAM Esttica o SDRAM, que no necesita ser restaurada, por lo que se vuelve ms
rpida pero tambin ms costosa que la DRAM. La SDRAM surgi junto con los
microprocesadores Pentium II, pero son utilizadas tambin para Pentium III, AMD
K6, K62, K63, Athlon, Duron y dems variantes. Pueden funcionar a 66, 100 o a
133 MHz (PC 66?, PC 100? o PC 133? respectivamente) En trminos prcticos,
es buena para la mayora de los usos de empresa o domsticos, y es ms fcil de
utilizar.
32


Fig. 1.13 memoria EDO siemens 16Mb HM5117805BJ6.
Memoria rom
ROM es el acrnimo de Read-Only Memory (memoria de slo lectura). Es una
memoria de semiconductor no destructible, es decir, que no se puede escribir
sobre ella, y que conserva intacta la informacin almacenada, incluso en el caso
de interrupcin de corriente (memoria no voltil). La ROM suele almacenar la
configuracin del sistema o el programa de arranque del ordenador.
La memoria de slo lectura o ROM es utilizada como medio de almacenamiento
de datos en los ordenadores. Debido a que no se puede escribir fcilmente, su uso
principal reside en la distribucin de programas que estn estrechamente ligados
al soporte fsico del ordenador, y que seguramente no necesitarn actualizacin.
Por ejemplo, una tarjeta grfica puede realizar algunas funciones bsicas a travs
de los programas contenidos en la ROM.
Hay una tendencia a poner cada vez menos programas en la esttica ROM, y ms
en los discos, haciendo los cambios mucho ms fciles. Los ordenadores
domsticos a comienzos de los 80 venan con todo su sistema operativo en ROM.
No haba otra alternativa razonable ya que las unidades de disco eran
generalmente opcionales. La actualizacin a una nueva versin significa usar un
soldador o un grupo de interruptores DIP y reemplazar el viejo chip de ROM por
uno nuevo. En el ao 2000 los sistemas operativos en general ya no van en ROM.
Todava los ordenadores pueden dejar algunos de sus programas en memoria
ROM, pero incluso en este caso, es ms frecuente que vaya en memoria flash.
33

Los telfonos mviles y los asistentes personales digitales (PDA) suelen tener
programas en memoria ROM (o, por lo menos en memoria flash). Algunas de las
consolas de videojuegos que utilizan programas basados en la memoria ROM son
la Super Nintendo, la Nintendo 64, la Mega Drive o la Game Boy. Estas memorias
ROM, pegadas a cajas de plstico aptas para ser utilizadas e introducidas
repetidas veces, son conocidas como cartuchos. Por extensin la palabra ROM
puede referirse tambin a un archivo de datos que contenga una imagen del
programa que se distribuye normalmente en memoria ROM, como una copia de un
cartucho de videojuego.
Una razn de que todava se utilice la memoria ROM para almacenar datos es la
velocidad ya que los discos son ms lentos. An ms importante, no se puede leer
un programa que es necesario para ejecutar un disco desde el propio disco. Por lo
tanto, la BIOS, o el sistema de arranque oportuno del ordenador normalmente se
encuentran en una memoria ROM.
La memoria RAM normalmente es ms rpida de leer que la mayora de las
memorias ROM, por lo tanto el contenido ROM se suele trasvasar normalmente a
la memoria RAM cuando se utiliza.
Sobre todo lectura
Adems de los chips clsicos de memoria ROM puros, hay ROM llamada de
sobre todo lectura (del ingls, Read-Mostly Memory). Esta pueden ser escrita
durante su realizacin, pero adems se puede cambiar su contenido despus.
Algunos ejemplos:
Memoria PROM
Memoria EPROM
Memoria EEPROM
Memoria flash
34


Fig.1.14 El Chip de Memoria ROM se encuentra inserto en el motherboard y es el que
contiene, entre otras cosas, la informacin para que arranque el PC.
PROM: es el acrnimo de Programable Read-Only Memory (ROM programable).
Es una memoria digital donde el valor de cada bit depende del estado de un
fusible (o antifusible), que puede ser quemado una sola vez. Estas memorias son
utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o
cuando los datos deben cambiar en muchos o todos los casos.

Fig. 1.15 una vez que ha sido programada no puede reprogramarse
EPROM: son las siglas de Erasable Programable Read-Only Memory (ROM
borrable programable). Es un tipo de chip de memoria ROM inventado por el
ingeniero Dov Frohman que retiene los datos cuando la fuente de energa se
apaga. En otras palabras, es no voltil.

Fig.1.16 ejemplo de una memoria eprom
35

EEPROM: son las siglas de electrically-erasable programable read-only Memory
(ROM programable y borrable elctricamente), en espaol o castellano se suele
referir al hablar como E.

PROM: en ingls E-Squared-PROM. Es un tipo de memoria ROM que puede ser
programado, borrado y reprogramado elctricamente, a diferencia de la EPROM
que ha de borrarse mediante rayos ultravioletas. Aunque una EEPROM puede ser
leda un nmero ilimitado de veces, slo puede ser borrada y reprogramada entre
100.000 y 1.000.000 de veces.
La Memoria flash es una forma evolucionada de la memoria EEPROM que permite
que mltiples posiciones de memoria sean escritas o borradas en una misma
operacin de programacin mediante impulsos elctricos, frente a las anteriores
que slo permite escribir o borrar una nica celda cada vez. Por ello, flash permite
funcionar a velocidades muy superiores cuando los sistemas emplean lectura y
escritura en diferentes puntos de esta memoria al mismo tiempo.

1.2.2.3Caracteristicas memorias
Algunas de las caractersticas fundamentales de las memorias (de cualquier tipo)
son las que a continuacin detallar detenidamente en los siguientes conceptos.
Volatilidad
Se dice que la informacin almacenada en una memoria es voltil siempre y
cuando corra el riesgo de verse alterada en caso de que se produzca algn fallo
de suministro de energa elctrica (memorias biestables). No son voltiles aquellas
en las cuales la informacin, independientemente de que exista algn fallo en el
fluido elctrico, permanece inalterada.
36

Dicho de otra manera, cualquier de stas dos memorias (RAM y ROM) es voltil
por su incapacidad de permanecer inalterada de cara a cualquier fallo elctrico
que presente la misma. Por sta simple razn especfica, las memorias RAM y
ROM son voltiles.
Tiempo de acceso
Es el tiempo que transcurre desde el instante en que se lanza la operacin de
lectura en la memoria y el instante en que se dispone de la primera informacin
buscada. En la memoria principal, este tiempo es, en principio, independiente de la
direccin en la que se encuentre la informacin a la cual queremos acceder. Se
puede ir un poco ms al grano diciendo que el tiempo de acceso es el tiempo
requerido o necesitado para realizar cualquier operacin, sea lectura o escritura.
Es simplemente eso, el tiempo que se solicita a la memoria para poder ejecutar
cualquier operacin especfica.
Capacidad
La capacidad de una memoria (RAM y ROM) es el nmero de posiciones de un
sistema, o dicho de otra manera, nmero de informaciones que puede contener
una memoria.
La capacidad total de memoria ser un dato esencial para calibrar la potencia de
un computador. La capacidad de la memoria se mide en mltiplos de byte (8 bits):
kilobytes (1.024 bytes) y megabytes (1.024 kilobytes).
Si bien es cierto, aqu s se aplica la frase de a mayor capacidad, mayor velocidad.
A la hora de escoger una memoria, intenta escoger un valor que sea ptimo (sea
de 512 megabytes, 1 gigabyte o as) para que tengas mejor rendimiento en tu
computadora.
37


1.2.2.4 Funcionamiento memorias
Funcionamiento de las memorias ram.
La memoria principal o RAM (acrnimo de Random Access Memory, Memoria de
Acceso Aleatorio) es donde el ordenador guarda los datos que est utilizando en
el momento presente. Se llama de acceso aleatorio porque el procesador accede
a la informacin que est en la memoria en cualquier punto sin tener que acceder
la informacin anterior y posterior. Es la memoria que se actualiza constantemente
mientras el ordenador est en uso y que pierde sus datos cuando el ordenador se
apaga.
Proceso de carga en la memoria ram:
Cuando las aplicaciones se ejecutan, primeramente deben ser cargadas en
memoria RAM. El procesador entonces efecta accesos a dicha memoria para
cargar instrucciones y enviar o recoger datos. Reducir el tiempo necesario para
acceder a la memoria, ayuda a mejorar las prestaciones del sistema. La diferencia
entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o
discos duros, es que la RAM es mucho ms rpida, y se borra al apagar el
ordenador.
Es una memoria dinmica, lo que indica la necesidad de recordar los datos ala
memoria cada pequeo periodo de tiempo, para impedir que esta pierda la
informacin. Eso se llama Refresco. Cuando se pierde la alimentacin, la memoria
pierde todos los datos. Random Access, acceso aleatorio, indica que cada
posicin de memoria puede ser leda o escrita en cualquier orden. Lo contrario
seria el acceso secuencial, en el cual los datos tienen que ser ledos o escritos en
un orden predeterminado.
Las memorias poseen la ventaja de contar con una mayor velocidad, mayor
capacidad de almacenamiento y un menor consumo. En contra partida presentan
38

el CPU, Memoria y Disco Duro. Los datos de instrucciones cuando se carga un
programa, se carga en memoria.
El inconveniente es que precisan una electrnica especial para su utilizacin, la
funcin de esta electrnica es generar el refresco de la memoria. La necesidad de
los refrescos de las memorias dinmicas se debe al funcionamiento de las
mismas, ya que este se basa en generar durante un tiempo la informacin que
contiene. Transcurrido este lapso, la seal que contena la clula biestable se va
perdiendo. Para que no ocurra esta perdida, es necesario que antes que
transcurra el tiempo mximo que la memoria puede mantener la seal se realice
una lectura del valor que tiene y se recargue la misma. Es preciso considerar que
a cada bit de la memoria le corresponde un pequeo condensador al que le
aplicamos una pequea carga elctrica y que mantienen durante un tiempo en
funcin de la constante de descarga. Generalmente el refresco de memoria se
realiza cclicamente y cuando esta trabajando el DMA. El refresco de la memoria
en modo normal esta a cargo del controlador del canal que tambin cumple la
funcin de optimizar el tiempo requerido para la operacin del refresco.
Posiblemente, en ms de una ocasin en el ordenador aparecen errores de en la
memoria debido a que las memorias que se estn utilizando son de una velocidad
inadecuada que se descargan antes de poder ser refrescadas. Las posiciones de
memoria estn organizadas en filas y en columnas. Cuando se quiere acceder a la
RAM se debe empezar especificando la fila, despus la columna y por ltimo se
debe indicar si deseamos escribir o leer en esa posicin. En ese momento la RAM
coloca los datos de esa posicin en la salida, si el acceso es de lectura o coge los
datos y los almacena en la posicin seleccionada, si el acceso es de escritura.
La cantidad de memoria RAM de nuestro sistema afecta notablemente a las
prestaciones, fundamentalmente cuando se emplean sistemas operativos
actuales. En general, y sobretodo cuando se ejecutan mltiples aplicaciones,
puede que la demanda de memoria sea superior a la realmente existente, con lo
39

que el sistema operativo fuerza al procesador a simular dicha memoria con el
disco duro (memoria virtual). Una buena inversin para aumentar las prestaciones
ser por tanto poner la mayor cantidad de RAM posible, con lo que minimizaremos
los accesos al disco duro.
Los sistemas avanzados emplean RAM entrelazada, que reduce los tiempos de
acceso mediante la segmentacin de la memoria del sistema en dos bancos
coordinados. Durante una solicitud particular, un banco suministra la informacin
al procesador, mientras que el otro prepara datos para el siguiente ciclo; en el
siguiente acceso, se intercambian los papeles. Los mdulos habituales que se
encuentran en el mercado, tienen unos tiempos de acceso de 60 y 70 ns (aquellos
de tiempos superiores deben ser desechados por lentos).
Es conveniente que todos los bancos de memoria estn constituidos por mdulos
con el mismo tiempo de acceso y a ser posible de 60 ns. Hay que tener en cuenta
que el bus de datos del procesador debe coincidir con el de la memoria, y en el
caso de que no sea as, esta se organizar en bancos, habiendo de tener cada
banco la cantidad necesaria de mdulos hasta llegar al ancho buscado. Por tanto,
el ordenador slo trabaja con bancos completos, y stos slo pueden componerse
de mdulos del mismo tipo y capacidad. Como existen restricciones a la hora de
colocar los mdulos, hay que tener en cuenta que no siempre podemos alcanzar
todas las configuraciones de memoria. Tenemos que rellenar siempre el banco
primero y despus el banco nmero dos, pero siempre rellenando los dos zcalos
de cada banco (en el caso de que tengamos dos) con el mismo tipo de memoria.
Combinando diferentes tamaos en cada banco podremos poner la cantidad de
memoria que deseemos.
Tipos de memorias ram:
DRAM: Acrnimo de Dynamic Random Access Memory, o simplemente RAM ya
que es la original, y por tanto la ms lenta. Usada hasta la poca del 386, su
40

velocidad de refresco tpica es de 80 70 nanosegundos (ns), tiempo ste que
tarda en vaciarse para poder dar entrada a la siguiente serie de datos. Por ello, la
ms rpida es la de 70 ns. Fsicamente, aparece en forma de DIMMs o de SIMMs,
siendo estos ltimos de 30 contactos.
FPM (Fast Page Mode): A veces llamada DRAM, puesto que evoluciona
directamente de ella, y se usa desde hace tanto que pocas veces se las diferencia.
Algo ms rpida, tanto por su estructura (el modo de Pgina Rpida) como por ser
de 70 60 ns. Es lo que se da en llamar la RAM normal o estndar. Usada hasta
con los primeros Pentium, fsicamente aparece como SIMMs de 30 72 contactos
(los de 72 en los Pentium y algunos 486). Para acceder a este tipo de memoria se
debe especificar la fila (pgina) y seguidamente la columna. Para los sucesivos
accesos de la misma fila slo es necesario especificar la columna, quedando la
columna seleccionada desde el primer acceso. Esto hace que el tiempo de acceso
en la misma fila (pgina) sea mucho ms rpido. Era el tipo de memoria normal en
los ordenadores 386, 486 y los primeros Pentium y lleg a alcanzar velocidades de
hasta 60 ns. Se presentaba en mdulos SIMM de 30 contactos (16 bits) para los
386 y 486 y en mdulos de 72 contactos (32 bits) para las ltimas placas 486 y las
placas para Pentium.
EDO o EDO-RAM: Extended Data Output-RAM. Evoluciona de la FPM. Permite
empezar a introducir nuevos datos mientras los anteriores estn saliendo
(haciendo su Output), lo que la hace algo ms rpida (un 5%, ms o menos).
Mientras que la memoria tipo FPM slo poda acceder a un solo byte (una
instruccin o valor) de informacin de cada vez, la memoria EDO permite mover
un bloque completo de memoria a la cach interna del procesador para un acceso
ms rpido por parte de ste. La estndar se encontraba con refrescos de 70, 60
50 ns. Se instala sobre todo en SIMMs de 72 contactos, aunque existe en forma
de DIMMs de 168.
41

La ventaja de la memoria EDO es que mantiene los datos en la salida hasta el
siguiente acceso a memoria. Esto permite al procesador ocuparse de otras tareas
sin tener que atender a la lenta memoria. Esto es, el procesador selecciona la
posicin de memoria, realiza otras tareas y cuando vuelva a consultar la DRAM los
datos en la salida seguirn siendo vlidos. Se presenta en mdulos SIMM de 72
contactos (32 bits) y mdulos DIMM de 168 contactos (64 bits).
SDRAM: Sincronic-RAM. Es un tipo sncrono de memoria, que, lgicamente, se
sincroniza con el procesador, es decir, el procesador puede obtener informacin
en cada ciclo de reloj, sin estados de espera, como en el caso de los tipos
anteriores. Slo se presenta en forma de DIMMs de 168 contactos; es la opcin
para ordenadores nuevos. SDRAM funciona de manera totalmente diferente a
FPM o EDO. DRAM, FPM y EDO transmiten los datos mediante seales de
control, en la memoria SDRAM el acceso a los datos esta sincronizado con una
seal de reloj externa.
La memoria EDO est pensada para funcionar a una velocidad mxima de BUS
de 66 Mhz, llegando a alcanzar 75MHz y 83 MHz. Sin embargo, la memoria
SDRAM puede aceptar velocidades de BUS de hasta 100 MHz, lo que dice mucho
a favor de su estabilidad y ha llegado a alcanzar velocidades de 10 ns. Se
presenta en mdulos DIMM de 168 contactos (64 bits). El ser una memoria de 64
bits, implica que no es necesario instalar los mdulos por parejas de mdulos de
igual tamao, velocidad y marca
PC-100 DRAM: Este tipo de memoria, en principio con tecnologa SDRAM,
aunque tambin la habr EDO. La especificacin para esta memoria se basa
sobre todo en el uso no slo de chips de memoria de alta calidad, sino tambin en
circuitos impresos de alta calidad de 6 o 8 capas, en vez de las habituales 4; en
cuanto al circuito impreso este debe cumplir unas tolerancias mnimas de
interferencia elctrica; por ltimo, los ciclos de memoria tambin deben cumplir
unas especificaciones muy exigentes. De cara a evitar posibles confusiones, los
42

mdulos compatibles con este estndar deben estar identificados as: PC 100?-
abc-def.
BEDO (Burst Extended Data Output): Fue diseada originalmente para soportar
mayores velocidades de BUS. Al igual que la memoria SDRAM, esta memoria es
capaz de transferir datos al procesador en cada ciclo de reloj, pero no de forma
continuada, como la anterior, sino a rfagas (bursts), reduciendo, aunque no
suprimiendo totalmente, los tiempos de espera del procesador para escribir o leer
datos de memoria.
RDRAM (Direct Rambus DRAM): Es un tipo de memoria de 64 bits que puede
producir rfagas de 2ns y puede alcanzar tasas de transferencia de 533MHz, con
picos de 1,6 GB/s. Pronto podr verse en el mercado y es posible que tu prximo
equipo tenga instalado este tipo de memoria.
Es el componente ideal para las tarjetas grficas AGP, evitando los cuellos de
botella en la transferencia entre la tarjeta grfica y la memoria de sistema durante
el acceso directo a memoria (DIME) para el almacenamiento de texturas grficas.
Hoy en da la podemos encontrar en las consolas NINTENDO 64.
DDR SDRAM (Double Data Rate SDRAM o SDRAM-II): Funciona a velocidades
de 83, 100 y 125MHz, pudiendo doblar estas velocidades en la transferencia de
datos a memoria. En un futuro, esta velocidad puede incluso llegar a triplicarse o
cuadriplicarse, con lo que se adaptara a los nuevos procesadores. Este tipo de
memoria tiene la ventaja de ser una extensin de la memoria SDRAM, con lo que
facilita su implementacin por la mayora de los fabricantes.
SLDRAM: Funcionar a velocidades de 400MHz, alcanzando en modo doble
800MHz, con transferencias de 800MB/s, llegando a alcanzar 1,6GHz, 3,2GHz en
modo doble, y hasta 4GB/s de transferencia. Se cree que puede ser la memoria a
utilizar en los grandes servidores por la alta transferencia de datos.
43

ESDRAM: Este tipo de memoria funciona a 133MHz y alcanza transferencias de
hasta 1,6 GB/s, pudiendo llegar a alcanzar en modo doble, con una velocidad de
150MHz hasta 3,2 GB/s.
La memoria FPM (Fast Page Mode) y la memoria EDO tambin se utilizan en
tarjetas grficas, pero existen adems otros tipos de memoria DRAM, pero que
SLO de utilizan en TARJETAS GRFICAS, y son los siguientes:
MDRAM (Multibank DRAM) Es increblemente rpida, con transferencias de hasta
1 GIGA/s, pero su coste tambin es muy elevado. - SGRAM (Synchronous
Graphic RAM) Ofrece las sorprendentes capacidades de la memoria SDRAM para
las tarjetas grficas. Es el tipo de memoria ms popular en las nuevas tarjetas
grficas aceleradoras 3D. - VRAM Es como la memoria RAM normal, pero puede
ser accedida al mismo tiempo por el monitor y por el procesador de la tarjeta
grfica, para suavizar la presentacin grfica en pantalla, es decir, se puede leer y
escribir en ella al mismo tiempo. - WRAM (Window RAM) Permite leer y escribir
informacin de la memoria al mismo tiempo, como en la VRAM, pero est
optimizada para la presentacin de un gran nmero de colores y para altas
resoluciones de pantalla. Es un poco ms econmica que la anterior. La
arquitectura PC establece que los datos que constituyen una imagen a mostrar en
el monitor no se mapeen en la RAM que podamos tener en la placa madre, sino
en la memoria RAM que se encuentra en la propia tarjeta de vdeo.
Por tanto, para concluir contar que con la introduccin de procesadores ms
rpidos, las tecnologas FPM y EDO empezaron a ser un cuello de botella. La
memoria ms eficiente es la que trabaja a la misma velocidad que el procesador.
Las velocidades de la DRAM FPM y EDO eran de 80, 70 y 60 ns, lo cual era
suficientemente rpido para velocidades inferiores a 66MHz. Para procesadores
lentos, por ejemplo el 486, la memoria FPM era suficiente.
44

Con procesadores ms rpidos, como los Pentium de primera generacin, se
utilizaban memorias EDO. Con los ltimos procesadores Pentium de segunda y
tercera generacin, la memoria SDRAM es la mejor solucin.
La memoria ms exigente es la PC 100 (SDRAM a 100 MHz), necesaria para
montar un AMD K62 o un Pentium a 350 MHz o ms. Va a 100 MHz en vez de
los 66 MHZ usuales.
Tecnologas de memorias ram:
SIMMs y DIMMs
Se trata de la forma en que se organizan los chips de memoria, del tipo que sean,
para que sean conectados a la placa base del ordenador. Son unas placas
alargadas con conectores en un extremo; al conjunto se le llama mdulo. El
nmero de conectores depende del bus de datos del microprocesador.
1. SIMM de 72 contactos, los ms usados en la actualidad. Se fabrican mdulos
de 4, 8, 16,32 y 64 Mb.
2. SIMM EDO de 72 contactos, muy usados en la actualidad. Existen mdulos de
4, 8, 16,32 y 64 Mb.
3. SIMM de 30 contactos, tecnologa en desuso, existen adaptadores para
aprovecharlas y usar 4 de estos mdulos como uno de 72 contactos. Existen de
256 Kb, 512 Kb (raros), 1, 2 (raros), 4, 8 y 16 Mb.
4. SIPP, totalmente obsoletos desde los 386 (estos ya usaban SIMM
mayoritariamente). SIMMs: Single In-line Memory Module, con 30 72 contactos.
Los de 30 contactos pueden manejar 8 bits cada vez, por lo que en un 386 486,
que tiene un bus de datos de 32 bits, necesitamos usarlos de 4 en 4 mdulos
iguales. Su capacidad es de 256 Kb, 1 Mb 4 Mb. Miden unos 8,5 cm (30 c.)
45

10,5 cm (72 c.) y sus zcalos suelen ser de color blanco. Los SIMMs de 72
contactos, manejan 32 bits, por lo que se usan de 1 en 1 en los 486; en los
Pentium se hara de 2 en 2 mdulos (iguales), porque el bus de datos de los
Pentium es el doble degrande (64 bits). La capacidad habitual es de 1 Mb, 4 Mb, 8
Mb, 16, 32 Mb.
5. DIMMs, ms alargados (unos 13 cm), con 168 contactos y en zcalos
generalmente negros. Pueden manejar 64 bits de una vez, por lo que pueden
usarse de 1 en 1 en los Pentium, Pentium II y Pentium III. Existen para voltaje
estndar (5 voltios) o reducido (3.3 V).
Y podramos aadir los mdulos SIP, que eran parecidos a los SIMM pero con
frgiles patitas soldadas y que no se usan desde hace bastantes aos, o cuando
toda o parte de la memoria viene soldada en la placa (caso de algunos
ordenadores de marca).

Funcionamiento de la memoria flash, como tipo de EEPROM.
Contiene un arreglo de celdas con un transistor evolucionado con dos puertas en
cada interseccin. Tradicionalmente slo almacenan un bit de informacin. Las
nuevas memorias flash, llamadas tambin dispositivos de celdas multi-nivel,
pueden almacenar ms de un bit por celda variando el nmero de electrones que
almacenan.
Estas memorias estn basadas en el transistor FAMOS (Floating Gate Avalanche-
Injection Metal Oxide Semiconductor) que es, esencialmente, un transistor NMOS
con un conductor (basado en un xido metlico) adicional entre la puerta de
control (CG Control Gate) y los terminales fuente/drenador contenidos en otra
puerta (FG Floating Gate) o bien que rodea a FG y es quien contiene los
electrones que almacenan la informacin.

46

Memoria flash de tipo NOR

En las memorias flash de tipo NOR, cuando los electrones se encuentran en FG,
modifican (prcticamente anulan) el campo elctrico que generara CG en caso de
estar activo. De esta forma, dependiendo de si la celda est a 1 a 0, el campo
elctrico de la celda existe o no. Entonces, cuando se lee la celda poniendo un
determinado voltaje en CG, la corriente elctrica fluye o no en funcin del voltaje
almacenado en la celda. La presencia/ausencia de corriente se detecta e
interpreta como un 1 un 0, reproduciendo as el dato almacenado. En los
dispositivos de celda multi-nivel, se detecta la intensidad de la corriente para
controlar el nmero de electrones almacenados en FG e interpretarlos
adecuadamente.
Para programar una celda de tipo NOR (asignar un valor determinado) se permite
el paso de la corriente desde el terminal fuente al terminal sumidero, entonces se
coloca en CG un voltaje alto para absorber los electrones y retenerlos en el campo
elctrico que genera. Este proceso se llama hot-electron injection. Para borrar
(poner a 1, el estado natural del transistor) el contenido de una celda, expulsar
estos electrones, se emplea la tcnica de Fowler-Nordheim tunnelling, un proceso
de tunelado mecnico cuntico. Esto es, aplicar un voltaje inverso bastante alto
al empleado para atraer a los electrones, convirtiendo al transistor en una pistola
de electrones que permite, abriendo el terminal sumidero, que los electrones
abandonen el mismo. Este proceso es el que provoca el deterioro de las celdas, al
aplicar sobre un conductor tan delgado un voltaje tan alto.
Es necesario destacar que las memorias flash estn subdividas en bloques (en
ocasiones llamados sectores) y por lo tanto, para el borrado, se limpian bloques
enteros para agilizar el proceso, ya que es la parte ms lenta del proceso. Por esta
razn, las memorias flash son mucho ms rpidas que las EEPROM
convencionales, ya que borran byte a byte. No obstante, para reescribir un dato es
necesario limpiar el bloque primero para despus reescribir su contenido.
47


Memorias flash de tipo NAND
Las memorias flash basadas en puertas lgicas NAND funcionan de forma
ligeramente diferente: usan un tnel de inyeccin para la escritura y para el
borrado un tnel de soltado. Las memorias basadas en NAND tienen, adems de
la evidente base en otro tipo de puertas, un coste bastante inferior, unas diez
veces de ms resistencia a las operaciones pero slo permiten acceso secuencial
(ms orientado a dispositivos de almacenamiento masivo), frente a las memorias
flash basadas en NOR que permiten lectura de acceso aleatorio. Sin embargo,
han sido las NAND las que han permitido la expansin de este tipo de memoria, ya
que el mecanismo de borrado es ms sencillo (aunque tambin se borre por
bloques) lo que ha proporcionado una base ms rentable para la creacin de
dispositivos de tipo tarjeta de memoria. Las populares memorias USB o tambin
llamadas Pendrives, utilizan memorias flash de tipo NAND.

Funcionamiento de la memoria cache
Unas 5 o 6 veces ms que la RAM. Esto la encarece bastante, y se es uno de los
motivos por los cuales su capacidad es mucho menor que el de la RAM: un
mximo cercano a 512 kilobytes (512 Kb), es decir, medio mega, frente a 16 32
megas de RAM. Adems, este precio elevado la hace candidata a falsificaciones y
engaos. Pero la cach no slo es rpida; adems, se usa con una finalidad
especfica. Cuando una computadora trabaja, el microprocesador opera en
ocasiones con un nmero reducido de datos, pero que tiene que traer y llevar a la
memoria en cada operacin. Si situamos en medio del camino de los datos una
memoria intermedia que almacene los datos ms usados, los que casi seguro
necesitar el microprocesador en la prxima operacin que realice, por lo tanto
ahorrar mucho tiempo del trnsito y acceso a la lenta memoria RAM; esta es la
segunda utilidad de la cach.

48

1.2.3 Dispositivos de I/O

En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en
ingls input/output), es la coleccin de interfaces que usan las distintas unidades
funcionales (subsistemas) de un sistema de procesamiento de informacin para
comunicarse unas con otras, o las seales (informacin) enviadas a travs de
esas interfaces. Las entradas son las seales recibidas por la unidad, mientras
que las salidas son las seales enviadas por sta. El trmino puede ser usado
para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una
operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u
otro sistema para comunicarse con una computadora. De hecho, a los teclados y
ratones se los considera dispositivos de entrada de una computadora, mientras
que los monitores e impresoras son vistos como dispositivos de salida de una
computadora. Los dispositivos tpicos para la comunicacin entre computadoras
realizan las dos operaciones, tanto entrada como salida, y entre otros se
encuentran los mdems y tarjetas de red.
Es importante notar que la designacin de un dispositivo, sea de entrada o de
salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y
ratones toman como entrada el movimiento fsico que el usuario produce como
salida y lo convierten a una seal elctrica que la computadora pueda entender.
La salida de estos dispositivos son una entrada para la computadora.
De manera anloga, los monitores e impresoras toman como entrada las seales
que la computadora produce como salida. Luego, convierten esas seales en
representaciones inteligibles que puedan ser interpretadas por el usuario. La
interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada.
En arquitectura de computadoras, a la combinacin de una unidad central de
procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o
leer directamente mediante instrucciones individuales) se la considera el corazn
de la computadora y cualquier movimiento de informacin desde o hacia ese
conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria
49

proveen mtodos de entrada/salida que se usan en programacin de bajo nivel
para la implementacin de controladores de dispositivos.
Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan
conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo,
un sistema operativo brinda aplicativos que manejan el concepto de archivos. El
lenguaje de programacin C define funciones que les permiten a sus programas
realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir
datos hacia sus programas.
Una alternativa para las funciones primitivas especiales es la mnada de E/S, que
permite que los programas describan su E/S y que las acciones se lleven a cabo
fuera del programa. Esto resulta interesante, pues las funciones de E/S
introduciran un efecto colateral para cualquier lenguaje de programacin, pero
ahora una programacin puramente funcional resultara prctica.

Dispositivos de entrada y salida
Entrada:
Teclado
Ratn
Joystick
Lpiz ptico
Micrfono
Webcam
Escner
Escner de cdigo de barras
Pantalla tctil
Salida:
Monitor
Altavoz
Auriculares
Bocinas
50

Impresora
Plotter
Entrada/salida:
Unidades de almacenamiento
CD
DVD
Mdem
Fax
USB
1.2.3.1 Arquitectura del sistema de I/O (E/S)
La arquitectura de E/S, es compleja y est estructurada en capas, cada una de las
cuales tiene una funcionalidad bien definida.

Fig. 1.16 esquema de entrada/salida
Interfaz Del Sistema Operativo Para E/S
Proporciona servicios de E/S sncrona y asncrona a las aplicaciones y una
interfaz homognea para poderse comunicar con los manejadores de dispositivo
ocultando los detalles de bajo nivel.
51

Sistema de archivos
Proporcionan una interfaz homognea, a travs del sistema de archivos virtuales,
para acceder a todos los sistemas de archivos que proporciona el sistema
operativo (FFS, SV, NTFS, FAT, etc).
Gestor de redes
Proporciona una interfaz homognea para acceder a todos los sistemas de red
que proporciona el sistema operativo (TCP/IP, Novell, etc.). Adems permite
acceder a los manejadores de cada tipo de red particular de forma transparente.
Gestor de bloques
Los sistemas de archivos y otros dispositivos lgicos con acceso a nivel de
bloques se suelen se suelen limitar a traducir las operaciones del formato del
usuario de bloques que entiende el dispositivo y se las pasan a este gestor de
bloques.
Gestor de cach
Optimiza la E/S mediante la gestin de almacenamiento intermedio en memoria
para dispositivos de E/S de tipo bloque.
Manejadores de dispositivo
Proporcionan operaciones de alto nivel sobre los dispositivos y las traducen en su
mbito interno a operaciones de control de cada dispositivo particular.
Cada uno de estos componentes se considera un objeto del sistema, por lo que
habitualmente todos los sistemas operativos permiten modificar el sistema
operativo de forma esttica o dinmica para remplazar, aadir o quitar
manejadores de dispositivos. Sin embargo, por razones de seguridad no se
52

permite a las aplicaciones de usuario acceder directamente a los dispositivos, sino
a travs de la interfaz de llamadas al sistema.
1.2.3.2 Tipos de I/O

Fig. 1.17 diferentes dispositivos de entrada y salida

Los tipos de dispositivos de entrada ms comunes son:
a) Teclado: El teclado es un dispositivo eficaz para introducir datos no grficos
como rtulos de imgenes asociados con un despliegue de grficas. Los teclados
tambin pueden ofrecerse con caractersticas que facilitan la entrada de
coordenadas de la pantalla, selecciones de mens o funciones de grficas.
Teclado 101: El teclado pesa 1.1 Lb y mide 11.6 Pulgadas de ancho, 4.3
pulgadas de profundidad y 1.2 de altura. Entre los accesorios disponibles se
encuentran: cableado para Sun, PC(PS/2) y computadoras Macintosh. Las
dimensiones de este teclado son su caracterstica principal. Es pequeo. Sin
embargo se siente como un teclado normal.
Teclado Ergonmico: Al igual que los teclados normales a travs de ste se
pueden introducir datos a la computadora pero su caracterstica principal es el
diseo del teclado ya que ste evita lesiones y da mayor comodidad al usuario,
ya que las teclas se encuentran separadas de acuerdo al alcance de nuestras
manos, lo que permite mayor confort al usuario.
53

Teclado para Internet: El nuevo Internet Keyboard incorpora 10 nuevos botones
de acceso directo, integrados en un teclado estndar de ergonmico diseo
que incluye un apoya manos. Los nuevos botones permiten desde abrir nuestro
explorador Internet hasta ojear el correo electrnico. El software incluido,
posibilita la personalizacin de los botones para que sea el teclado el que
trabaje como nosotros queramos que lo haga.
Teclado Alfanumrico: Es un conjunto de 62 teclas entre las que se encuentran
las letras, nmeros, smbolos ortogrficos, Enter, alt, etc; se utiliza
principalmente para introducir texto.
Teclado de Funcin: Es un conjunto de 13 teclas entre las que se encuentran el
ESC, tan utilizado en sistemas informticos, ms 12 teclas de funcin. Estas
teclas suelen ser configurables pero por ejemplo existe un convenio para
asignar la ayuda a F1.
Teclado Numrico: Se suele encontrar a la derecha del teclado alfanumrico y
consta de los nmeros as como de un Enter y los operadores numricos de
suma, resta, etc.
Teclado Especial: Son las flechas de direccin y un conjunto de 9 teclas
agrupadas en 2 grupos; uno de 6 (Inicio y fin entre otras) y otro de 3 con la tecla
de impresin de pantalla entre ellas.
Teclado de Membrana: Fueron los primeros que salieron y como su propio
nombre indica presentan una membrana entre la tecla y el circuito que hace
que la pulsacin sea un poco ms dura.
Teclado Mecnico: Estos nuevos teclados presentan otro sistema que hace que
la pulsacin sea menos traumtica y ms suave para el usuario.
b) Ratn Mouse: Es un dispositivo electrnico que nos permite dar instrucciones
a nuestra computadora a travs de un cursor que aparece en la pantalla y
haciendo clic para que se lleve a cabo una accin determinada; a medida que el
Mouse rueda sobre el escritorio, el cursor (Puntero) en la pantalla hace lo mismo.
54

Tal procedimiento permitir controlar, apuntar, sostener y manipular varios objetos
grficos (Y de texto) en un programa.
A este perifrico se le llam as por su parecido con un roedor.
Existen modelos en los que la transmisin se hace por infrarrojos eliminando por
tanto la necesidad de cableado.
Al igual que el teclado, el Mouse es el elemento perifrico que ms se utiliza en
una PC (Aunque en dado caso, se puede prescindir de l).
Los "ratones" han sido los elementos que ms variaciones han sufrido en su
diseo.
Tipos de Mouse: Existen diferentes tecnologas con las que funciona el Mouse:
Mecnica: era poco precisa y estaba basada en contactos fsicos elctricos a
modo de escobillas que en poco tiempo comenzaban a fallar.
ptica: es la ms utilizada en los "ratones" que se fabrican ahora.
Opto mecnica: son muy precisos, pero demasiado caros y fallan a menudo.
Existen "ratones", como los trackballs, que son dispositivos en los cuales se
mueve una bola con la mano, en lugar de estar abajo y arrastrarla por una
superficie.
Mouse ptico Mouse Trackball: Es una superficie del tamao de una tarjeta de
visita por la que se desliza el dedo para manejar el cursor, son estticos e
ideales para cuando no se dispone de mucho espacio.
Hay otro tipo de "ratones" especficos para algunas aplicaciones, como por
ejemplo las presentaciones en PC. Estos "ratones" suelen ser inalmbricos y su
manejo es como el del tipo TrackBall o mediante botones de direccin. Y por
ltimo, podemos ver modelos con ruedas de arrastre que permiten visualizar ms
rpidamente las pginas de Internet.
55

c) Micrfono: Los micrfonos son los transductores encargados de transformar
energa acstica en energa elctrica, permitiendo, por lo tanto el registro,
almacenamiento, transmisin y procesamiento electrnico de las seales de audio.
Son dispositivos duales de los altoparlantes, constituyendo ambos transductores
los elementos mas significativos en cuanto a las caractersticas sonoras que sobre
imponen a las seales de audio.
Existen los llamados micrfonos de diadema que son aquellos, que, como su
nombre lo indica, se adhieren a la cabeza como una diadema cualquiera, lo que
permite al usuario mayor comodidad ya no necesita sostenerlo con las manos, lo
que le permite realizar otras actividades.
d) Scanner: Es una unidad de ingreso de informacin. Permite la introduccin de
imgenes grficas al computador mediante un sistema de matrices de puntos,
como resultado de un barrido ptico del documento. La informacin se almacena
en archivos en forma de mapas de bits (bit maps), o en otros formatos ms
eficientes como Jpeg o Gif.
Existen scanners que codifican la informacin grfica en blanco y negro, y a
colores. As mismo existen scanners de plataforma plana fija (Cama Plana) con
apariencia muy similar a una fotocopiadora, y scanners de barrido manual. Los
scanners de cama plana pueden verificar una pgina entera a la vez, mientras que
los porttiles solo pueden revisar franjas de alrededor de 4 pulgadas. Reconocen
imgenes, textos y cdigos de barras, convirtindolos en cdigo digital.
Los exploradores grficos convierten una imagen impresa en una de video
(Grficos por Trama) sin reconocer el contenido real del texto o las figuras.
Cmara Digital: se conecta al ordenador y le transmite las imgenes que capta,
pudiendo ser modificada y retocada, o volverla a tomar en caso de que este mal.
Puede haber varios tipos:
Cmara de Fotos Digital: Toma fotos con calidad digital, casi todas incorporan
una pantalla LCD (Liquid Cristal Display) donde se puede visualizar la imagen
56

obtenida. Tiene una pequea memoria donde almacena fotos para despus
transmitirlas a un ordenador.
Cmara de Video: Graba videos como si de una cmara normal, pero las
ventajas que ofrece en estar en formato digital, que es mucho mejor la imagen,
tiene una pantalla LCD por la que ves simultneamente la imagen mientras
grabas. Se conecta al PC y este recoge el video que has grabado, para poder
retocarlo posteriormente con el software adecuado.
Webcam: Es una cmara de pequeas dimensiones. Slo es la cmara, no
tiene LCD. Tiene que estar conectada al PC para poder funcionar, y esta
transmite las imgenes al ordenador. Su uso es generalmente para
videoconferencias por Internet, pero mediante el software adecuado, se pueden
grabar videos como una cmara normal y tomar fotos estticas.
f. Lector de Cdigo de Barras: Dispositivo que mediante un haz de lser lee
dibujos formados por barras y espacios paralelos, que codifica informacin
mediante anchuras relativas de estos elementos. Los cdigos de barras
representan datos en una forma legible por el ordenador, y son uno de los
medios ms eficientes para la captacin automtica de datos.
g. Lpices pticos: Es una unidad de ingreso de informacin que funciona
acoplada a una pantalla fotosensible. Es un dispositivo exteriormente
semejante a un lpiz, con un mecanismo de resorte en la punta o en un botn
lateral, mediante el cual se puede seleccionar informacin visualizada en la
pantalla. Cuando se dispone de informacin desplegada, con el lpiz ptico
se puede escoger una opcin entre las diferentes alternativas, presionndolo
sobre la ventana respectiva o presionando el botn lateral, permitiendo de
ese modo que se proyecte un rayo lser desde el lpiz hacia la pantalla
fotosensible. No requiere una pantalla ni un recubrimiento especiales como
puede ser el caso de una pantalla tctil, pero tiene la desventaja de que
sostener el lpiz contra la pantalla durante periodos largos de tiempo llega a
cansar al usuario.
57

h) Palancas de Mando (Joystick): Dispositivo sealador muy conocido, utilizado
mayoritariamente para juegos de ordenador o computadora, pero que tambin se
emplea para otras tareas. Un joystick o palanca de juegos tiene normalmente una
base de plstico redonda o rectangular, a la que est acoplada una palanca
vertical. Es normalmente un dispositivo sealador relativo, que mueve un objeto en
la pantalla cuando la palanca se mueve con respecto al centro y que detiene el
movimiento cuando se suelta. En aplicaciones industriales de control, el joystick
puede ser tambin un dispositivo sealador absoluto, en el que con cada posicin
de la palanca se marca una localizacin especfica en la pantalla.
i) Tarjetas Perforadas: ficha de papel manila de 80 columnas, de unos 7,5 cm. (3
pulgadas) de ancho por 18 cm. (7 pulgadas) de largo, en la que podan
introducirse 80 columnas de datos en forma de orificios practicados por una
mquina perforadora. Estos orificios correspondan a nmeros, letras y otros
caracteres que poda leer un ordenador equipada con lector de tarjetas
perforadas.
2.- Los Dispositivos de Salida:
Estos dispositivos permiten al usuario ver los resultados de los clculos o de las
manipulaciones de datos de la computadora. El dispositivo de salida ms comn
es la unidad de visualizacin (VDU, acrnimo de Video Display Unit), que consiste
en un monitor que presenta los caracteres y grficos en una pantalla similar a la
del televisor.
1. Los tipos de Dispositivos de Salida ms Comunes Son:
a) Pantalla o Monitor: Es en donde se ve la informacin suministrada por el
ordenador. En el caso ms habitual se trata de un aparato basado en un tubo de
rayos catdicos (CRT) como el de los televisores, mientras que en los porttiles es
una pantalla plana de cristal lquido (LCD).
Puntos a Tratar en un Monitor:
58

Resolucin: Se trata del nmero de puntos que puede representar el monitor
por pantalla, en horizontal x vertical. Un monitor cuya resolucin mxima sea
1024x 768 puntos puede representar hasta 768 lneas horizontales de 1024
puntos cada una.
Refresco de Pantalla: Se puede comparar al nmero de fotogramas por
segundo de una pelcula de cine, por lo que deber ser lo mayor posible. Se
mide en HZ (hertzios) y debe estar por encima de los 60 Hz, preferiblemente 70
u 80. A partir de esta cifra, la imagen en la pantalla es sumamente estable, sin
parpadeos apreciables, con lo que la vista sufre mucho menos.
Tamao de punto (Dot Pitch): Es un parmetro que mide la nitidez de la
imagen, midiendo la distancia entre dos puntos del mismo color; resulta
fundamental a grandes resoluciones. En ocasiones es diferente en vertical que
en horizontal, o se trata de un valor medio, dependiendo de la disposicin
particular de los puntos de color en la pantalla, as como del tipo de rejilla
empleada para dirigir los haces de electrones.
b) Impresora: es el perifrico que el ordenador utiliza para presentar informacin
impresa en papel. Las primeras impresoras nacieron muchos aos antes que el
PC e incluso antes que los monitores, siendo el mtodo ms usual para presentar
los resultados de los clculos en aquellos primitivos ordenadores.
En nada se parecen las impresoras a sus antepasadas de aquellos tiempos, no
hay duda de que igual que hubo impresoras antes que PCs, las habr despus de
stos, aunque se basen en tecnologas que an no han sido siquiera inventadas.
Hay Varios Tipos:
Matriciales: Ofrecen mayor rapidez pero una calidad muy baja.
Inyeccin: La tecnologa de inyeccin a tinta es la que ha alcanzado un mayor
xito en las impresoras de uso domstico o para pequeas empresas, gracias a
su relativa velocidad, calidad y sobre todo precio reducidos, que suele ser la
dcima parte de una impresora de las mismas caractersticas. Claro est que
hay razones de peso que justifican stas caractersticas, pero para imprimir
59

algunas cartas, facturas y pequeos trabajos, el rendimiento es similar y el
costo muy inferior. Hablamos de impresoras de color porque la tendencia del
mercado es que la informtica en conjunto sea en color. Esta tendencia
empez hace una dcada con la implantacin de tarjetas grficas y monitores
en color. Todava podemos encontrar algunos modelos en blanco y negro pero
ya no son recomendables.
Lser: Ofrecen rapidez y una mayor calidad que cualquiera, pero tienen un alto
costo y solo se suelen utilizar en la mediana y grande empresa. Por medio de
un haz de lser imprimen sobre el material que le pongamos las imgenes que
le haya enviado la CPU.
c) Altavoces: Dispositivos por los cuales se emiten sonidos procedentes de la
tarjeta de sonido. Actualmente existen bastantes ejemplares que cubren la oferta
ms comn que existe en el mercado. Se trata de modelos que van desde lo ms
sencillo (una pareja de altavoces estreo), hasta el ms complicado sistema de
Dolby Digital, con nada menos que seis altavoces, pasando por productos
intermedios de 4 o 5 altavoces.
d) Auriculares: Son dispositivos colocados en el odo para poder escuchar los
sonidos que la tarjeta de sonido enva. Presentan la ventaja de que no pueden ser
escuchados por otra persona, solo la que los utiliza.
e) Bocinas: Cada vez las usa ms la computadora para el manejo de sonidos,
para la cual se utiliza como salida algn tipo de bocinas. Algunas bocinas son de
mesas, similares a la de cualquier aparato de sonidos y otras son porttiles
(audfonos). Existen modelos muy variados, de acuerdo a su diseo y la capacidad
en watts que poseen.
f) Multimedia: Combinacin de Hardware y Software que puede reproducir salidas
que emplean diversos medios como texto, grficos, animacin, video, msica, voz
y efectos de sonido.
g) Plotters (Trazador de Grficos): Es una unidad de salida de informacin que
permite obtener documentos en forma de dibujo.
60

Existen plotters para diferentes tamaos mximos de hojas (A0, A1, A2, A3 y A4);
para diferentes calidades de hojas de salida (bond, calco, acetato); para distintos
espesores de lnea de dibujo (diferentes espesores de rapidgrafos), y para
distintos colores de dibujo (distintos colores de tinta en los rapidgrafos).
h) Fax: Dispositivo mediante el cual se imprime una copia de otro impreso,
transmitida o bien, va telfono, o bien desde el propio fax. Se utiliza para ello un
rollo de papel que cuando acaba la impresin se corta.
I) Data Show (Can): Es una unidad de salida de informacin. Es bsicamente
una pantalla plana de cristal lquido, transparente e independiente. Acoplado a un
retro proyector permite la proyeccin amplificada de la informacin existente en la
pantalla del operador.

1.2.3.3 Caractersticas de los dispositivos de entrada y salida

Una de las funciones bsicas de la computadora es comunicarse con los
dispositivos exteriores, es decir, la computadora debe ser capaz de enviar y recibir
datos desde estos dispositivos. Sin esta funcin, la computadora no sera
operativa porque sus clculos no seran visibles desde el exterior.

Existe una gran variedad de dispositivos que pueden comunicarse con una
computadora, desde los dispositivos clsicos (terminales, impresoras, discos,
cintas, etc.) hasta convertidores A/D y D/A para aplicaciones de medida y control
de procesos.
De todos los posibles perifricos, algunos son de lectura, otros de escritura y otros
de lectura y escritura (es importante resaltar que este hecho siempre se mira
desde el punto de vista del proceso). Por otra parte, existen perifricos de
almacenamiento tambin llamados memorias auxiliares o masivas.
61

La mayora de los perifricos estn compuestos por una parte mecnica y otra
parte electrnica. Estas partes suelen separarse claramente para dar una mayor
modularidad. A la componente electrnica del perifrico se le suele denominar
controlador del dispositivo o, tambin, adaptador del dispositivo. Si el dispositivo
no tiene parte mecnica (como, por ejemplo, la pantalla de un terminal), el
controlador estar formado por la parte digital del circuito. Frecuentemente los
controladores de los dispositivos estn alojados en una placa de circuito impreso
diferenciada del resto del perifrico. En este caso es bastante habitual que un
mismo controlador pueda dar servicio a dispositivos de caractersticas similares.

El principal problema planteado por los perifricos es su gran variedad que
tambin afecta a las velocidades de transmisin. Por tanto, el mayor inconveniente
que encontramos en los perifricos es la diferencia entre sus velocidades de
transmisin y la diferencia entre stas y la velocidad de operacin de la
computadora.

1.2.3.4 Funcionamiento de los dispositivos de I/O

El funcionamiento de estos dispositivos depende de su propsito, pero tambin
puede variar y ser, alternativamente, de entrada, o bien, de salida. Por ejemplo,
para un teclado el movimiento de la mano del usuario es una entrada de datos,
mientras que la seal elctrica que envan al ordenador es una salida. Lo mismo
ocurre con casi cualquiera de estos aparatos.
Hoy en da es prcticamente imposible el uso de un ordenador sin el empleo de
uno o ms dispositivos de esta ndole. Muchos de ellos permiten no slo convertir
informacin y agilizar el uso de las funcionalidades de una computadora, sino
tambin conectarla con otros ordenadores, brindarle acceso a Internet, operar con
dispositivos analgicos y hasta combinar sus funciones entre s.
62

La planificacin de E/S o de entrada y salida hace referencia a la organizacin que
realiza un sistema operativo respecto del orden en que las diversas peticiones de
lectura y escritura sern ejecutadas. Es decir, la prioridad que otorgar a las
distintas unidades de input y output.
Unidad 2. Comunicacin interna en la computadora.
2.1 Buses

Se denomina bus, en informtica, al conjunto de conexiones fsicas (cables, placa
de circuito impreso, etc.) que pueden compartirse con mltiples componentes de
hardware para que se comuniquen entre s.
El propsito de los buses es reducir el nmero de rutas necesarias para la
comunicacin entre los distintos componentes, al realizar las comunicaciones a
travs de un solo canal de datos. sta es la razn por la que, a veces, se utiliza la
metfora "autopista de datos". En el caso en que slo dos componentes de
hardware se comuniquen a travs de la lnea, podemos hablar de puerto
hardware( puerto serial o puerto paralelo).
Caractersticas de un bus
Un bus se caracteriza por la cantidad de informacin que se transmite en forma
simultnea. Este volumen se expresa en bits y corresponde al nmero de lneas
fsicas mediante las cuales se enva la informacin en forma simultnea. Un cable
plano de 32 hilos permite la transmisin de 32 bits en paralelo. El trmino "ancho"
se utiliza para designar el nmero de bits que un bus puede transmitir
simultneamente.
En su forma ms simple, el ancho de banda es la capacidad de transferencia de
datos, en otras palabras, la cantidad de datos que se pueden mover de un punto a
otro en cierta cantidad de tiempo. El tener una comunicacin de datos de punto a
punto implica dos cosas:
63

Un conjunto de conductores elctricos utilizados para hacer posible la
comunicacin a bajo nivel
Un protocolo para facilitar la comunicacin de datos confiable y eficiente.
Por otra parte, la velocidad del bus se define a travs de su frecuencia (que se
expresa en Hercios o Hertz), es decir el nmero de paquetes de datos que pueden
ser enviados o recibidos por segundo. Cada vez que se envan o reciben estos
datos podemos hablar de ciclo.
De esta manera, es posible hallar la velocidad de transferencia mxima del bus
(la cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su
ancho por la frecuencia.
Velocidad de transferencia o tasa de transferencia:
El trmino tasa de bits (en ingls bit rate) define el nmero de bits que se
transmiten por unidad de tiempo a travs de un sistema de transmisin digital o
entre dos dispositivos digitales. As pues, es la velocidad de transferencia de
datos.
La tasa de transferencia se refiere al ancho de banda real medido en un momento
concreto del da empleando rutas concretas de internet mientras se transmite un
conjunto especfico de datos, desafortunadamente, por muchas razones la tasa es
con frecuencia menor al ancho de banda mximo del medio que se est
empleando.
Los siguientes son algunos de los factores que determinan la tasa de
transferencia:
Dispositivos de Internet-Working.
Tipos de datos que se van a transferir.
Topologa de la red.
64

Nmero de usuarios en la red.
La computadora del usuario.
El servidor.
Condiciones de la energa.
Congestin.
El ancho de banda terico de la red es una consideracin importante en el diseo
de la red, porque la tasa de transferencia de la red nunca es mayor que dicho
ancho de banda, debido a las limitaciones puestas por el medio y a las tecnologas
de red elegidas.
La unidad con que el Sistema Internacional de Unidades expresa el bit rate es el
bit por segundo (bit/s, b/s, bps). La b debe escribirse siempre en minscula, para
impedir la confusin con byte por segundo (B/s). Para convertir de bytes/s a bits/s,
basta simplemente multiplicar por 8 y viceversa.
Que la unidad utilizada sea el bit/s, no implica que no puedan utilizarse mltiplos
del mismo:kbit/s o kbps (kb/s, kilobit/s o mil bits por segundo)
Mbit/s o Mbps(Mb/s, Megabit/s o un milln de bits por segundo)
Gbit/s o Gbps (Gb/s, Gigabit, mil millones de bits)byte/s (B/s u 8 bits por
segundo)kilobyte/s (kB/s, mil bytes u ocho mil bits por segundo)megabyte/s (MB/s,
un milln de bytes u 8 millones de bit por segundo)gigabyte/s (GB/s, mil millones
de bytes u 8 mil millones de bits)
Ejemplos
Velocidades tpicas de los accesos de conexin a Internet (abril de 2006):
Mdem RTB: 56 kbps = 7 kB/s (7 kilobytes por segundo)
ADSL: 1024 kbps (nominal 1 Mbps) = 128 kB/s (128 kilobytes por segundo)
65

Cable: 2400 kbps = 300 kB/s (300 kilobytes por segundo)
VSAT: 600 kbps = 75 kB/s (75 kilobytes por segundo)
Telefona mvil 3G: 384 kbps = 48 kB/s (48 kilobytes por segundo)
Tasas de bits de compresin a MP3:
4 kbit/s Mnimo para reconocer el habla.
8 kbit/s Calidad telefnica convencional
32 kbit/s Radio AM
96 kbit/s Radio FM
128 kbit/s Sonido calidad semi CD, muy comn en MP3
192 kbit/s Sonido calidad CD en formato MP3
320 kbit/s Mxima calidad para formato MP3
Las velocidades de conexin a Internet son brutas. En la prctica, la velocidad
neta disponible para el usuario, suele ser entre un 10-15 % menor, debido al
ancho de banda consumido por las cabeceras y las colas de los protocolos.
Otro error frecuente es utilizar el baudio como sinnimo de bit por segundo. La
velocidad en baudios o baud rate no debe confundirse con la tasa de bits. La
velocidad en baudios de una seal representa el nmero de cambios de estado, o
eventos de sealizacin, que la seal tiene en un segundo. Cada evento de
sealizacin transmitido puede transportar uno o ms bits. Slo cuando cada
evento de sealizacin transporta un solo bit coinciden la velocidad de transmisin
de datos en baudios y en bits por segundo.
Tipos
La velocidad de transferencia de datos puede ser constante o variable:
66

1. Tasa de bits constante (CBR): Aplica una cuantificacin uniforme, por lo que no
tiene en cuenta si en la seal hay zonas con mayor o menor densidad de
informacin, sino que cuantifica toda la seal por igual.
2. Tasa de bits variable (VBR): Aplica una cuantificacin no uniforme que s que
hace diferencia entre las zonas con mayor o menor densidad de informacin, por
lo que la cuantificacin resulta ms eficaz.
En este caso, sera ms conveniente utilizar una tasa de bits variable, que
permitira despreciar (emplear una tasa de bits menor) el fondo azul y centralizar la
atencin (utilizar una tasa de bits mayor) en el motivo: el paracaidista.
Otras caractersticas distintivas:
Caractersticas elctricas estandarizadas (tales como el nmero de conductores,
niveles de voltage, velocidades de seales, etc.)
Caractersticas mecnicas estandarizadas (tales como el tipo de conector, tamao
de la tarjeta, formato fsico, etc.)
Protocolo estndar
La palabra "estandarizado" es importante porque los buses son la principal forma
en la que diferentes componentes de software se juntan.
En muchos casos, los buses permiten la interconexin del hardware hecho por
diferentes fabricantes; sin estandarizacin, esto no sera posible. Sin embargo,
an en situaciones donde un bus es propiedad de un fabricante, la estandarizacin
es importante porque permite a ese fabricante implementar ms fcilmente
diferentes componentes usando una interfaz comn el bus mismo.
Ejemplos de buses
No importa dnde revise usted en el computador, habr buses. He aqu algunos
de los ms comunes:
67

Buses de almacenamiento masivo (ATA y SCSI)
Redes (Ethernet y Token Ring)
Los buses de memoria (PC133 y Rambus)
Buses de expansin (PCI, ISA, USB)
Datapaths
Los datapaths pueden ser ms difciles de identificar pero, como los buses, estn
en todas partes. Tambin a igual que los buses, los datapaths permiten la
comunicacin punto a punto. Sin embargo, a diferencia de los buses, los
datapaths:
Utilizan un protocolo ms simple (si es que lo utilizan).
Tienen poca (o ninguna) estandarizacin mecnica.
La razn de estas diferencias es que los datapaths son normalmente internos a
algunos componentes de sistemas y no son usados para facilitar la interconexin
ad-hoc de componentes diferentes. Como tal, los datapaths son muy optimizados
para una situacin particular, donde la velocidad y el bajo costo se prefieren sobre
una flexibilidad ms lenta y ms costosa de propsito general.
Ejemplos de Datapaths
He aqu algunos datapaths tpicos:
Datapath de CPU a cach en chip
Datapath de procesador grfico a memoria de vdeo
Problemas potenciales relacionados al ancho de banda
Hay dos formas en la que pueden ocurrir problemas relacionados al ancho de
banda (tanto para buses como para datapaths):
68

1. El bus o datapath puede representar un recurso compartido. En esta situacin,
los altos niveles de competencia por el bus reducen el ancho de banda efectivo
disponible para todos los dispositivos en el bus.
Un bus SCSI con discos duros altamente activos seran un buen ejemplo de esto.
Las unidades de disco altamente activas saturan el bus SCSI, dejando poco ancho
de banda disponible para cualquier otro dispositivo en el mismo bus. El resultado
final es que toda la E/S a cualquiera de estos dispositivos en el bus es lenta, an
si cada dispositivo en el bus no est demasiado activo.
2. El bus o datapath puede ser un recurso dedicado con un nmero fijo de
dispositivos conectados a l.
En este caso, las caractersticas elctricas del bus (y hasta cierto punto la
naturaleza del protocolo utilizado) limitan el ancho de banda disponible.
Usualmente, este es ms el caso con datapaths que con buses. Esta es una de
las razones por las que los adaptadores grficos tienden a funcionar ms
lentamente cuando se operan a altas resoluciones y/o profundidades de color
por cada refrescado de pantalla, hay ms datos que transmitir a travs del
datapath que conecta la memoria de vdeo al procesador grfico.
Soluciones potenciales relacionadas al ancho de banda
Afortunadamente, los problemas relacionados al ancho de banda se pueden
resolver. De hecho, se pueden tomar varios enfoques:
Distribuir la carga
Reducir la carga
Incrementar la capacidad
Las secciones siguientes exploran cada uno de estos enfoques en ms detalles.
Distribuir la carga
69

El primer enfoque es distribuir ms uniformemente la actividad del bus. En otras
palabras, si un bus est sobrecargado y otro est ocioso, quizs la situacin sera
mejorada moviendo algo de la carga hasta el bus ocioso.
Como administrador del sistema, este es el primer enfoque que debera
considerar, pues a menudo existen buses adicionales ya instalados en su sistema.
Por ejemplo, la mayora de los PCs incluyen al menos dos canales ATA (lo cual es
simplemente otro nombre para un bus). Si tiene dos unidades de disco ATA y dos
canales ATA, por qu deberan estar ambas unidades en el mismo canal?
An si su configuracin no incluye buses adicionales, distribuir la carga puede ser
todava el mejor enfoque.
Los gastos de hardware en hacer esto sern mucho menos costosos que
reemplazando un bus existente por hardware con mayor capacidad.
Reducir la carga
A primera vista, el reducir y distribuir la carga parecen ser los diferentes lados de
la misma moneda. Despus de todo, cuando uno distribuye la carga, tambin se
est reduciendo la misma (al menos en un bus sobrecargado).
Mientras que este punto de vista es correcto, no es lo mismo que reducir la carga
globalmente. La clave aqu es determinar si hay algn aspecto de la carga del
sistema que est causando que este bus particular est sobrecargado. Por
ejemplo, est la red sobrecargada debido a actividades que no son necesarias?
Quizs un pequeo archivo temporal es el recipiente de grandes
lecturas/escrituras de E/S. Si ese archivo temporal reside en un servidor de la red,
se podra eliminar una gran parte del trfico de la red trabajando con el archivo
localmente.
Incrementar la capacidad
La solucin obvia a un ancho de banda insuficiente, es el de incrementarlo de
alguna manera. Sin embargo, esto es usualmente una proposicin costosa.
70

Considere, por ejemplo, un controlador SCSI y su bus sobrecargado. Para
incrementar el ancho de banda, se necesita reemplazar el controlador SCSI (y
probablemente todos los dispositivos conectados a l) con hardware ms rpido.
Si el controlador SCSI es una tarjeta separada, esto sera un proceso bien directo,
pero si el controlador es parte de la tarjeta madre del sistema, se vuelve mucho
ms difcil justificar econmicamente este cambio.
2.1.1 Bus local.
PCI Local Bus
LAN
Audio
Motion
Video
Graficos
SCSI
Interface
Bus exp.
Func.
I/O base
ISA/EISA - MC
Bridge /
control
de memo
Microproc.
Cache
DRAM

Fig. 2.1 comportamientos de un bus local

La propia palabra Bus ya est anunciando el transporte de algo, y en este caso,
se refiere a datos para procesarse por un equipo informtico. El Bus de Datos
soporta tanto la informacin como las instrucciones declaradas sobre la misma, de
tal forma de gestionar operaciones.
De este modo, se da lugar a 3 tipos de Buses: Datos, Direcciones y Control.
Mientras el Bus de Datos se encarga de mover la informacin por los
componentes de hardware del sistema de computacin, tanto de
Entrada (teclado, mouse, etc) como de salida (monitor, impresora, etc.), el Bus de
Direcciones ubica los datos en el Sub-sistema de Memoria teniendo relacin
71

directa con los procesos de CPU, y finalmente el Bus de Control tiene la tarea de
marcar el estado de una instruccin dada a la PC.

Es comn dibujar y describir el Bus de Datos como una autopista de informacin y
rdenes, porque no es otra cosa que eso. Se rige por la cantidad de bits capaz de
soportar en el camino, y en este marco, el CPU cumple la funcin primaria. Es por
ello, que hoy tenemos procesadores de 64 bits en lugar de 32 16, porque la
evolucin de la PC y la exigencia informativa de los usuarios lo demandaron.

2.1.2 Bus de datos.
El Bus de Datos trabaja en conjuncin con el Bus de Direcciones para transportar
los datos a travs del computador. El tamao del Bus de Datos puede ser de 16,
32 o 64 bits.
Teniendo en cuenta las mencionadas limitaciones del bus AT y la infalibilidad de
los buses EISA y MCA para asentarse en el mercado, en estos aos se han
ideado otros conceptos de bus. Se inici con el llamado Vesa Local Bus (VL-Bus),
que fue concebido y propagado independientemente por el comit VESA, que se
propuso el definir estndares.

Los procesadores 80x86 utilizan el bus de datos para intercambiar informacin
entre los diferentes componentes del sistema. El tamao de stos buses es
variable dependiendo del tipo de procesador, por esta razn es comn pensar en
el tamao del bus como una medida del "tamao" del procesador, puede haber
buses de datos de 8 (8088, 80188), 16 (8086, 80186, 80286), 32 (80386, 80486)
64 lneas (Pentium, Pentium Pro). En cada lnea del bus de datos se transmite un
bit de informacin pero un sistema no est limitado a manejar informacin de
acuerdo al tamao del bus de datos, es decir, un bus de 32 bits no est limitado a
trabajar con tipos de datos mximos de 32 bits. El tamao del bus de datos por
72

otro lado si limita el nmero de bits que el sistema puede manejar por cada ciclo
de memoria de tal manera que un sistema de 16 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 rpido que un sistema de 16
bits, la limitacin es porque existen otros factores que influyen en el rendimiento
de un sistema.
Este bus mueve los datos entre los dispositivos del hardware: de Entrada como el
Teclado, el Escner, el Ratn, etc.; de salida como la Impresora, el Monitor o la
tarjeta de Sonido; y de Almacenamiento como el Disco Duro, el Diskette o la
Memoria-Flash. Transmite informacin entre la CPU y los perifricos.


Estas transferencias que se dan a travs del Bus de Datos son gobernadas por
varios dispositivos y mtodos, de los cuales el Controlador PCI, "Peripheral
Component Interconnect", Interconexin de componentes Perifricos, es uno de
los principales. Su trabajo equivale, simplificando mucho el asunto, a una central
de semforos para el trfico en las calles de una ciudad.
Fig. 2.2 Bus de datos.
73


Fig. 2.3 Los datos que son puestos en la pila o tomados de la pila usualmente son
tomados del bus de datos o puestos por la pila en el bus de datos.
2.1.3 Bus de direcciones.

El bus de direcciones es el encargado de diferenciar las ubicaciones fsicas de
cada elemento de un sistema de cmputo, sea memoria elemento de E/S,
cuando un programa necesita tener acceso a un elemento determinado del
sistema coloca su direccin en el bus de direcciones, los circuitos electrnicos
asociados sea con la memoria con un dispositivo de E/S son los encargados de
reconocer sta direccin y consecuentemente colocar los datos correspondientes
en el bus de datos. Con una sola lnea de direccin es posible tener acceso a dos
elementos diferentes, con n lneas de direccin se puede acceder a 2
n
direcciones
diferentes, por lo tanto el nmero de bits de un bus de direcciones determina la
cantidad mxima 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 Gigabytes,
utilizando la tcnica de segmentacin stos procesadores pueden acceder a un
mayor nmero de direcciones de memoria.
El Bus de Direcciones, por otra parte, est vinculado al bloque de Control de la
CPU para tomar y colocar datos en el Sub-sistema de Memoria durante la
ejecucin de los procesos de cmputo,
74

Una tarjeta-madre tipo ATX tiene tantas pistas elctricas destinadas a buses,
como anchos sean los Canales de Buses del Microprocesador de la CPU: 64 para
el Bus de datos y 32 para el Bus de Direcciones.
El "ancho de canal" explica la cantidad de bits que pueden ser transferidos
simultneamente. As, el Bus de datos transfiere 8 bytes a la vez.
Para el Bus de Direcciones, el "ancho de canal" explica as mismo la cantidad de
ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa
cantidad de ubicaciones resulta de elevar el 2 a la 32 potencia. "2" porque son dos
las seales binarias, los bits 1 y 0; y "32 potencia" porque las 32 pistas del Bus de
Direcciones son, en un instante dado, un conjunto de 32 bits.
As, el Canal de Direcciones del Microprocesador para una PC-ATX puede
"direccionar" ms de 4 mil millones de combinaciones diferentes para el conjunto
de 32 bits de su Bus.

Fig. 2.4 comportamiento del bus de direcciones

2.1.4 Bus de control (bus de sistema).

El bus de control (en ocasiones denominado bus de comando) transporta las
rdenes y las seales de sincronizacin que provienen de la unidad de control y
viajan hacia los distintos componentes de hardware. Se trata de un bus
bidireccional en la medida en que tambin transmite seales de respuesta del
75

hardware. El bus de control es una coleccin de lneas que transportan un
conjunto de seales cuyo propsito es la sincrona de todas las operaciones
efectuadas por el CPU con los diferentes subsistemas de un equipo de cmputo,
destacan las lneas para escritura (write) y lectura (read) de datos, el reloj del
sistema, lneas de interrupcin, lneas de estado, etc. El uso de stas lneas se
comprender mejor conforme se avance en ste curso. Los procesadores de la
familia 80x86 proveen dos espacios diferentes de direccionamiento, uno para la
memoria y otro para la E/S, mientras que el direccionamiento de memoria vara
segn el procesador, las lneas de E/S son siempre de 16 bits, lo que permite
direccionar 65,536 localidades diferentes. Algunas lneas de control son las
encargadas de decidir qu direcciones son para memoria y cules son para E/S.

El Bus de Control transporta seales de estado de las operaciones efectuadas por
el CPU con las dems unidades.
Organiza y redirige la informacin hacia el bus pertinente para la informacin que
se tiene que transmitir. Es el bus encargado de hacer el direccionamiento, quin
realiza toda la funcin de direccionar es el controlador, diferente para cada tipo de
dispositivo.

2.1.5 Buses normalizados

SCSI: esta es la norma original, a partir de la cual se desarrollaron todas las
dems. El ancho de bus es de 8 bits. No permite una longitud de bus mayor de 6
metros y una velocidad de transferencia terica de hasta 5MB/s, aunque en la
prctica no se alcanzan velociades superiores a los 2MB/s a causa de los
perifricos conectados.
SCSI-II: esta versin no es ms que una revisin de la SCSI, por lo que solo le
aporta nuevos comandos de control. La velocidad de transferencia sigue en la
misma lnea que le SCSI.
76

Fast SCSI-II: esta si que es una versin nueva, que ofrece velocidades de hasta
10MB/s, en modo sncrono, siempre de forma terica.
Wide SCSI: nueva versin de la norma SCSI que ofrece un ancho de bus de 16
bits, lo que dobla (tericamente) la velocidad de transferencia, puesto que en una
mismo ciclo se transmiten el doble de bytes. Existen adaptadores Wide SCSI -
SCSI, por lo que este tipo de perifricos pueden ser usados en un Amiga.
Differencial SCSI: esta versin SCSI utiliza un sistema de cableado diferencial en
sus lneas, lo que permite extender la longitud del bus hasta 25 metros.
Existen adaptadores Differencial SCSI - SCSI, por lo que este tipo de perifricos
pueden ser usados en un Amiga.
Fast Wide SCSI: nueva revisin de la norma Wide SCSI, que ofrece un ancho de
bus bien de 16 o de 32 bits, aunque esta ltima variante es muy rara.
Tipos de buses normalizdos mas comunes:
El Chipset marca las caractersticas del bus de la CPU
Tipos de buses de expansin
ISA Usado en los primeros PC. Es de ocho bits por que usa ocho lneas para
comunicarse con tarjeta de placas. Tambin hay de 16 bits.
Caractersticas:
Baja capacidad y amplia difusin.
8 bits 16 bits
NCA Es un ISD extendido de 32 bits. Es compatible con el ISA. No se usa para
orden de alto nivel avanzado y ms avanzado.
77

EISD Es un ISD extendido de 32 y compatibles con ISD. No se usaba para
ordenes de alto nivel.
Bases locales Obtienen alto rendimiento entre la placa y las ranuras de
expansin. Trabaja a 33 Mhz.
Tipos
VL-BUS Instalado en los 468 de gama alta. No haba acceso directo a RDM, y
tena que intervenir o la CPU o un canal DMD y esto tardaba mucho.
PCI Evita el problema anterior creado por Intel.

Caractersticas:
- Bus de 32 bit de datos y direcciones.
- Velocidad de 33 Mhz.
- Capacidad de transferir datos de 132 Mb/seg.
- Soporta el bus masterin (Bus master RMD)
- Permite realizar casos concurrentes de escritura.
- Reparte de forma inteligente la capacidad. Otorga ms capacidad al
dispositivo que ms lo necesite.
- Permite realizar casos concurrentes de escritura.
- Soporta mximo 3 4 slots por cada bus PCI
- Puede coexistir con buses de otro tipo.
78

- Preparado para multitud de plataformas. No slo para PC.
- Incorpora facilidades ( Plug & Play)
- El coste de este tipo de buses es muy bajo.
AG`P Especfico para controladores de vdeo. Bus de alto rendimiento de 32 bits y
velocidad de 66 Mhz, su capacidad es muy superior.
Buses normalizados de perifricos
SCSI Estndar universal para la conversin de todo tipo de perifricos. Utilizado
para dispositivos de almacenamiento.
Caractersticas
- Sencillez
- Los dispositivos conectados son especficos para el Scasi, es decir, son
de tipo SCASI, esto conlleva a que todos los dispositivos llevan conector de
E y de S para el SCASI.
- Contienen altas prestaciones.
- Alto coste de adquisicin
SCSI 1 Ocho bits permite conectar hasta 8 dispositivos. Realmente son slo
siente dispositivos, ya que uno lo ocupa la controladora. La transferencia es
de 3,3. Mb/seg. Hasta 5 Mb/seg.
SCSI 2 Se mejora la velocidad. Hay cuatro tipos de SCSI .
Normal 8 bitss 5 Mb/seg
Fast 8 bits 10 Mb/seg
79

Wide 16 bits 10 Mb/seg
Fast-Wide 16 bits 20 Mb/seg
Ultra SCSI: Sali en 1996, aumenta las prestaciones del SCSI. Compatible
con Fast-SCSI 2 y con Fast/Wide-SCSI 2.
Para buses de 8 bits. Alcanza los 20 Mb/seg, y para buswes de 16 bits llega
hasta 40 Mb/seg.
SCSI 3: Es otro conjunto de estndares, muy especializado. Por ejemplo,
uno de esos conjuntos est orientado a serie en fibra ptica, y alcanza una
gran velocidad en este campo. SCSI 3 ya no es compatible con los otros, a
favor de la velocidad.
USB: (universal serial Bus). La informacin se transmite en serie. Su
objetivo es superar los inconvenientes de la conexin entre perifricos y
ordenador.
IEEE 1394 Tiene los mismos objetvos (wire-fire)


Fig. 2.5 ejemplos de los tipos de buses con el micro motorola mc68000.
80

Caractersticas:
- Bus interno: 16 bits
- Unidad Aritmetico Lgica (ALU) puede operar sobre 16 bits
directamente
- Registros internos de 32 bits (Datos y Direcciones)
- La Entrada/Salida esta mapeada en memoria (Intel utiliza buses
diferentes para entrada/salida)
- Bus de datos: 16 bits
- Bus de direcciones: 32 bits (pero solo utiliza las 24 lneas menos
significativas).
La capacidad operativa del bus depende de: la inteligencia del sistema, la
velocidad de ste, y la "anchura" del bus (nmero de conductos de datos que
operan en paralelo).

Procesadores
Bus de
direcciones
(bits)
Bus de
datos (bits)
808680186 20 16
808880188 20 8
80286 24 16
80386 SX 32 16
80386 DX
80486 SX
80486 DX
32 32
81

PENTIUM PENTIUM
II/III/IV
AMD K5/K6/K7
AMD
ATHLON/THUNDERBIRD
AMD ATHLON XP/MP
32 64
INTEL ITANIUM
AMD ATHLON64
32/64 64/128
Fig. 2.6 Tabla de los diferentes procesadores que ha habido hasta ahora y su capacidad
de bus.
Conjunto de chips
El conjunto de chips es el componente que enva datos entre los distintos buses
del equipo para que todos los componentes que forman el equipo puedan a su vez
comunicarse entre s. Originalmente, el conjunto de chips estaba compuesto por
un gran nmero de chips electrnicos (de all su nombre). Por lo general, presenta
dos componentes:
El Puente Norte (que tambin se conoce como controlador de memoria, se
encarga de controlar las transferencias entre el procesador y la memoria RAM. Se
encuentra ubicado fsicamente cerca del procesador. Tambin se lo conoce
como GMCH que significa Concentrador de controladores grficos y de memoria.

El Puente Sur (tambin denominado controlador de entrada/salida o controlador
de expansin) administra las comunicaciones entre los distintos dispositivos
perifricos de entrada-salida. Tambin se lo conoce como ICH (Concentrador
controlador de E/S).

Por lo general, se utiliza el trmino puente para designar un componente de
82

Es interesante tener en cuenta que para que dos buses se comuniquen entre si,
deben poseer el mismo ancho. Esto explica por qu los mdulos de memoria RAM
a veces deben instalarse en pares (por ejemplo, los primeros chips Pentium que
tenan buses de procesador de 64 bits, necesitaban dos mdulos de memoria con
un ancho de 32 bits cada uno).


Norma
Ancho del
bus (bits)
Velocidad del
bus (MHz)
Ancho de
banda
(MB/seg.)
ISA 8 bits 8 8,3 7,9
ISA 16 bits 16 8,3 15,9
Arquitectura estndar industrial
extendida (EISA, Extended Industry
Standard Architecture) 32 8,3 31,8
Bus local VESA (VESA Local Bus) 32 33 127,2
PCI 32 bits 32 33 127,2
PCI 64 bits 2,1 64 66 508,6
AGP 32 66 254,3
AGP (Modo x2) 32 66x2 528
83

AGP (Modo x4) 32 66x4 1056
AGP (Modo x8) 32 66x8 2112
ATA33 16 33 33
ATA100 16 50 100
ATA133 16 66 133
ATA serial (S-ATA, Serial ATA) 1 180
ATA serial II (S-ATA2, Serial ATA II) 2 380
USB 1 1,5
USB 2,0 1 60
FireWire 1 100
FireWire 2 1 200
SCSI-1 8 4,77 5
SCSI-2 Fast 8 10 10
SCSI-2 Wide 16 10 20
SCSI-2 - Fast Wide 32 bits 32 10 40
SCSI-3 Ultra 8 20 20
84

SCSI-3 - Ultra Wide 16 20 40
SCSI-3 Ultra 2 8 40 40
SCSI-3 - Ultra 2 Wide 16 40 80
SCSI-3 - Ultra 160 (Ultra 3) 16 80 160
SCSI-3 - Ultra 320 (Ultra 4) 16 80 DDR 320
SCSI-3 - Ultra 640 (Ultra 5) 16 80 QDR 640

Fig. 2.7 Especificaciones relativas a los buses ms comunes.

2.2 Direccionamiento

El direccionamiento de la memoria puede considerarse desde dos puntos de
vista: Fsico y lgico. El primero se refiere a los medios electrnicos utilizados
en el ordenador para acceder a las diversas posiciones de memoria. El
segundo, a la forma en que se expresan y guardan las direcciones. En este
epgrafe nos referiremos exclusivamente a la forma en que son tratadas las
direcciones de memoria del PC.

2.2.1 Modo real
El modo real (tambin llamado modo de direccin real en los manuales de Intel) es
un modo de operacin del 80286 y posteriores CPUs compatibles de la
arquitectura x86. El modo real est caracterizado por 20 bits de espacio de
direcciones segmentado (significando que solamente se puede direccionar 1 MB
de memoria), acceso directo del software a las rutinas del BIOS y el hardware
85

perifrico, y no tiene conceptos de proteccin de memoria o multitarea a nivel de
hardware. Todos los CPUs x86 de las series del 80286 y posteriores empiezan en
modo real al encenderse el computador; los CPUs 80186 y anteriores tenan solo
un modo operacional, que era equivalente al modo real en chips posteriores.
La arquitectura 286 introdujo el modo protegido, permitiendo, entre otras cosas, la
proteccin de la memoria a nivel de hardware. Sin embargo, usar estas nuevas
caractersticas requiri instrucciones de software adicionales no necesarias
previamente. Puesto que una especificacin de diseo primaria de los
microprocesadores x86 es que sean completamente compatibles hacia atrs con
el software escrito para todos los chips x86 antes de ellos, el chip 286 fue hecho
para iniciarse en modo real - es decir, en un modo que tena apagadas las
nuevas caractersticas de proteccin de memoria, de modo que pudieran correr
sistemas operativos escritos para microprocesadores ms viejos. Al da de hoy,
incluso los ms recientes CPUs x86 se inician en modo real al encenderse, y
pueden correr el software escrito para cualquier chip anterior.
Los sistemas operativos DOS (MS-DOS, DR-DOS, etc.) trabajan en modo real.
Las primeras versiones de Microsoft Windows, que eran esencialmente un shell de
interface grfica de usuario corriendo sobre el DOS, no eran realmente un sistema
operativo por s mismas, corran en modo real, hasta Windows 3.0, que poda
correr tanto en modo real como en modo protegido. Windows 3.0 poda correr de
hecho en dos sabores de modo protegido - el modo estndar, que corra
usando modo protegido, y el modo mejorado 386, que adems usaba
direccionamiento de 32 bits y por lo tanto no corra en un 286 (que a pesar de
tener modo protegido, segua siendo un chip de 16 bits; los registros de 32 bits
fueron introducidos en la serie 80386). El Windows 3.1 removi el soporte para el
modo real, y fue el primer ambiente operativo de uso masivo que requiri por lo
menos un procesador 80286 (no contando con el Windows 2.0 que no fue un
producto masivo). Casi todos los sistemas operativos modernos x86 (Linux,
86

Windows 95 y posteriores, OS/2, etc.) cambian el CPU a modo protegido o a modo
largo en el arranque.

2.2.2 Modelo protegido
El direccionamiento de memoria en modo protegido (a partir del 80286 y
posteriores) permite acceder a datos y programas localizados por encima y
dentro del primer megabyte de memoria. Para direccionar esta seccin extendida
el sistema de memoria se requiere un cambio en el esquema de
direccionamiento de segmento ms desplazamiento usado en el modo real.
Cuando los datos y programa se direccionan la memoria extendida, se sigue
utilizando la direccin de desplazamiento para acceder a la informacin en el
segmento de memoria. Una diferencia consiste en la direccin del segmento ya
que no existe en modo protegido. En lugar de una direccin de segmento, el
registro de segmento contiene un SELECTOR que elige un descriptor de una
tabla.
El descriptor especifica la ubicacin del segmento en memoria, su longitud y sus
derechos de acceso. Dado que el registro de segmento y la direccin de
desplazamiento an acceden a la memoria, las instrucciones del modo protegido
son idnticas a las de modo real. De hecho, la mayora de los programas escritos
para funcionar en modo real funcionarn sin cambios en el modo protegido.
La diferencia entre los dos modos es la forma en que el microprocesador
interpreta el registro de segmento para acceder al segmento de memoria. Otra
diferencia, en los 80386 y posteriores, es que en modo protegido la direccin de
desplazamiento puede ser un nmero de 32 bits en vez de utilizar uno de 16 bits
como en modo real. Es por esto que puede direccionar hasta 4 Gb de longitud.
El SELECTOR, ubicado en el registro del segmento, elige uno de 8192
descriptores en una de las dos tablas de descriptores. El DESCRIPTOR
87

especifica la ubicacin, la longitud y los derechos de acceso del segmento de
memoria, aunque no directamente como en el modo real. Por ejemplo, en el
modo real, si CS=0008H, el segmento de cdigo inicia en la localidad 00080H.
En modo protegido, este nmero de segmento puede direccionar cualquier
localidad de memoria en todo el sistema para el segmento de cdigo.
Existen dos tablas de descriptores utilizadas con los registros de segmentos:
una contiene descriptores globales y otra, descriptores locales. Los descriptores
globales contienen las definiciones de los segmentos que se aplican a todos los
programas, mientras que los descriptores locales son generalmente exclusivos
de una aplicacin. Podramos llamar descriptor de sistema a un descriptor global,
y descriptor de aplicacin a uno local. Cada tabla de descriptores contendr 8192
entradas, por lo tanto una aplicacin podra disponer en cualquier momento de
16.384 descriptores. Puesto que un descriptor describe un segmento de
memoria, esto permite que puedan ser descriptos hasta 16.384 segmentos de
una aplicacin.


7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6
5 Derechos de Acceso Base (B23-B16) 4
3 Base (B15-B0) 2
1 Limite (L15-L0) 0
Fig. 2.8 Descriptor del 80286 al Pentium II


7

BASE (B13-B24)
G D O A
V
LIMITE
(L19-

88

L16) 6

5 Derechos de Acceso Base (B23-B16) 4
3 Base (B15-B0) 2
1 Limite (L15-L0) 0
Fig. 2.9 Descriptor del 80386 al Pentium II
Llamaremos direccion de base a la parte del descriptor que indica el inicio de un
segmento de memoria. Para el microprocesador 80286, la direccin base es de
24 bits, as que los segmentos inician en cualquier localidad dentro de sus 16 MB
de memoria. Los 80386 y posteriores emplean una direccin de base de 32 bits,
que permite que los segmentos incien en cualquier localidad de sus 4 Gb de
memoria. Es por lo dicho anteriormente que podemos ver que el descriptor del
80286 es compatible con el 80386 al Pentium II, ya que sus 16 bits ms
significativos son los 0000H.
El lmite de segmento contiene la ltima direccin de desplazamiento del
segmento.
A partir del 386 hasta el Pentium se incluy el bit G o llamado BIT DE
GRANULARIDAD. Si este G=0, el lmite especifica un lmite de segmento entre
00000H y FFFFF. Si G=1, el valor del lmite se multiplica por 4 KB (agregando
XXXXH). El lmite para G=1 va entonces desde 00000XXXH hasta FFFFFXXXH.
Esto permite una longitud de segmento de 4 KB a 4 GB en intervalos de 4 KB.
En el descriptor del 80386 y posteriores, el bit AV es usado por algunos sistemas
operativos para indicar que el segmento esta disponible (AV=1) o que no lo esta
(AV=0). El bit D indica la forma en que las intrucciones de los microprocesadores
80386 al Pentium II acceden a los registros y a los datos de memoria tanto en
modo protegido como en el real. Si D=0, las instrucciones son de 16 bits,
89

compatibles con los microprocesadores 8086 al 80286. Esto significa que las
instrucciones utilizan registros y direcciones de desplazamiento de 16 bits en
forma predeterminada. Si D=1, las instrucciones son de 32 bits. Por omisin, el
modo de instrucciones de 32 bits da por hecho que todas las direcciones de
desplazamiento y los registros son de 32 bits.
7 6 5 4 3 2 1 0
P DPL S E ED/C R/W A

A=0 El segmento no ha sido accedido
A=1 El segmento ha sido accedido
E=0 El descriptor describe a un segmento de datos
ED=0 El segmento se expande hacia arriba (segmento de datos)
ED=1 El segmento se expande hacia abajo (segmento de pila)

W=0 Los datos no pueden se escritos
W=1 Los datos pueden se escritos
E=1 El descriptor describe a un segmento de cdigo
C=0 Ignora el nivel de privilegio del descriptor
C=1 Honra el nivel de privilegio

R=0 El segmento de cdigo no puede leerse
R=1 El segmento de cdigo puede leerse

S=0 Descriptor de sistema
S=1 Descriptor de segmento de cdigo o datos

DLP = Establece el nivel de privilegio del descriptor
90


P=0 Descriptor sin definir
P=1 El segmento contiene una base y lmite vlidos.
En modo protegido, el byte de derechos de acceso controla el acceso al
segmento de memoria. Este byte define el funcionamiento del segmento en el
sistema. El byte de derechos de acceso permite un control completo sobre el
segmento. Si el segmento es de datos, especifica el sentido de crecimiento; si el
segmento crece ms all de su lmite, el programa del microprocesador es
interrumpido, indicando un error de proteccin general. Se puede especificar si
un segmento de datos puede ser escrito o si est protegido contra escritura. E
segmento de cdigo es controlado en forma similar y su lectura puede ser
inhibida para proteger el software.
Los descriptores son seleccionados mediante el registro de segmento de la tabla
de descriptores.
El registro de segmento contiene un campo de seleccin de 13 bits, un bit
selector de tabla y un campo de nivel de privilegio de acceso, El selector de 13
bits selecciona uno de los 8192 descriptores de la tabla. El bit TI elige entre la
tabla de descriptores globales (TI=0) o los descriptores locales (TI=1). El RPL
(nivel de privilegio de acceso) define el nivel de privilegio de un segmento de
memoria. El nivel de privilegio ms alto es 00 y el ms bajo 11. Si el nivel de
privilegio solicitado coincide o tiene mayor prioridad que el nivel de privilegio
establecido por el byte de derechos de acceso, se permite el acceso. Por
ejemplo si el nivel de privilegio asociado es 10 y el byte de derechos de acceso
establece un nivel de privilegio de 11 para el segmento, el acceso es autorizado
ya que el nivel de privilegio 10 tiene mayor prioridad que 11 (los niveles de
privilegio se utilizan en ambientes multiusuario y el sistema indica que
normalmente cuando se presenta una violacin privilegio).
91

2.2.3 Modo real virtual
Introducido en 1985, el 80386 DX supera un nuevo escaln en el avance
tecnolgico en microprocesadores. Se incorpora una nueva ampliacin y surge el
nmero mgico, el 32. Los buses de datos y de direcciones se amplan hasta 32
lneas de datos, ocurriendo lo mismo con el tamao de los registros. Esta
ampliacin supone un incremento en la memoria RAM fsica instalada. Puede
direccionar 4 Gb de memoria fsica (DX significa Double word eXternal) y 64 Tb de
memoria virtual, una cifra que en la actualidad est an muy por encima de las
posibilidades econmicas de los usuarios (a ver quin instala 4.000 Megabytes de
RAM, unos 20 millones de pesetas).
Arranca en modo real, al igual que el 80286, e incorpora un nuevo modo de
operacin: el modo real virtual del 8086, que permite tener varias sesiones 8086
trabajando simultneamente simulando una especie de pseudomultitarea.
En los microprocesadores anteriores la gestin de memoria se realizaba en
segmentos de 16 Kb. Con el 80286 este tamao de los segmentos de la memoria
se hacan muy pequeos y el programador tena que trabajar ms para adaptarse
a una gran cantidad de segmentos. El 80386 permite la definicin de segmentos
de memoria de tamao variable. Aparte, Intel corrigi la deficiencia del
downshifting, pudindose realizar por software.
Otra de las innovaciones en la inclusin de una memoria cache interna en el chip
destinada a almacenar instrucciones provenientes de memoria sin necesidad de
que la unidad de ejecucin intervenga. Intel comete un nuevo error en el diseo
del micro que genera inexactitudes en el clculo de 32 bits, que se presentan en
los micros lanzados al mercado hasta mayo del 1987. Los modelos corregidos van
etiquetados con una doble sigma mayscula o con el identificativo DX. Este error
afectaba a las operaciones de multiplicacin de 32 bits. Ocurra bajo las siguientes
circunstancias:
92

Se usa la memoria virtual y se produce una demanda de pgina.
El coprocesador matemtico 80387 est instalado y en uso.
Debe ocurrir una operacin de acceso directo a memoria (DMA).
El 80386 debe estar en estado de espera (Wait State).
Se detecta un segundo bug denominado POPAD bug. Su efecto es el vaciado del
registro acumulador EAX cuando se ejecuta una instruccin de acceso a memoria
inmediatamente despus de la ejecucin de la instruccin POPAD.
Aparecen variaciones que afectan al consumo de energa pensadas para
porttiles, se trataba de los 80386SL (Slow Low power) y 80386SLC (Slow Low
power Cache), que es propiedad de IBM aunque lo fabrique Intel. Las frecuencias
de funcionamiento eran de 12, 20, 25 y 33 MHz.
El 80386SX (SX significa Simple word eXternal) tiene las mismas caractersticas
que el 80386DX, salvo que el bus de direcciones externo se reduce a 16 bits.
Introducido en 1988 daba la potencia de un 80386 a precio de un 80286. Durante
mucho tiempo se rumore que el P9 podra ser compatible con los zcalos 80286,
pero al final no fue as. La razn es que el 80286 multiplexa todos sus buses para
conseguir con menos lneas el mismo resultado (menor coste) El 80386SX slo
multiplexa el bus de direcciones. Las frecuencias de funcionamiento eran de 16,
20, 25 y 33 MHz.
80486DX 80486SX
El 80486DX sali al mercado en 1989. La estructura interna hablando en trminos
numricos es igual a la de un 80386. El tamao de los registros y de los buses son
de 32 bits. Mantiene los tres modos de operacin: real, protegido y real virtual. Las
diferencias reales con los 80386DX son que tiene un flag ms, un estado de
93

excepcin ms, 2 bits ms en la tabla de entrada de pginas, 6 instrucciones y los
registros de control tienen una longitud de 9 bits.
Se realizan tambin cambios en la arquitectura interna. Se crea un mayor nmero
de lneas hardware lo que implica un incremento en la velocidad. Se imponen
reglas de diseo ms estrictas, lo que supone un reduccin del tamao del chip. Al
reducirse el tamao se reduce tambin el consumo y consiguientemente la
temperatura que alcanza el chip, con lo cual lo podemos hacer funcionar a un
mayor nmero de ciclos de reloj, lo que supondr la aparicin de los Overdrives.
Se incluye un coprocesador matemtico interno que dobla las prestaciones de un
80387 trabajando a la misma velocidad. Se logra un diseo mejor y la
comunicacin entre el chip principal y el coprocesador matemtico es interna, lo
que mejora la velocidad en las transferencias y unas sincronizaciones ms
estrechas.
La memoria cache (8 Kb) del microprocesador est dividida en 4 caches de 2 Kb
cada una. Esto agiliza la ejecucin de algunas aplicaciones. Si se asigna una
memoria cache secundaria (L2) el rendimiento del micro puede aumentar hasta un
30 por ciento ms.
El 80486SX es igual que un 80486DX, slo que el coprocesador matemtico est
inhabilitado. El coprocesador matemtico 80487SX es en realidad un 80486DX
puro que desactiva por completo el 80486SX, sin que podamos retirarlo de la
placa. Las velocidades a las que funcionan son de 25, 33, 40 y 50 MHz. Hay
versin SL para porttiles.

2.3 Temporizacin
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la
cuenta de acontecimientos que suceden en el exterior (contadores).
94

Para la medida de tiempos se carga un registro con el valor adecuado y a
continuacin dicho valor se va incrementando o decrementando al ritmo de los
impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en
el que se produce un aviso.
Cuando se desean contar acontecimientos que se materializan por cambios de
nivel o flancos en alguna de las patitas del microcontrolador, el mencionado
registro se va incrementando o decrementando al ritmo de dichos impulsos.
Temporizacin sncrona

Fig. 2.9 ejemplo de lectura sncrona.

95

Fig. 2.10 ejemplo de lectura asincrona

Fig. 2.11 ejemplo de escritura
El elemento fundamental del temporizador es un contador binario, encargado de
contar los pulsos suministrados por algn circuito ascilador, con una base de
tiempo estable y conocida. El simple hecho de contar pulsos de una duracin fija
nos permite medir el tiempo con precisiones asombrosas, determnadas
fundamentalmente por la estabilidad del generador de pulsos y por los circuitos
electrnicos del contador binario. Sin embargo, un contador til debe tener ms
elementos que permitan sacar provecho a se circuito bsico, es por ello que los
microcontroladores utilizan un conjunto de circuitos auxiliares para poder manejar,
con cierto nivel de libertad, las caractersticas bsicas del contador binario y
convertir el conjunto en un temporizador/contador programable.
Los temporizadores se utilizan debido a que hacer una lista completa es
prcticamente imposible, pero algunos ejemplos de su aplicacin nos ayudarn a
adentrarnos en los entresijos de su diseo y sacarle provecho a sus
potencialidades. Estos ejemplo de su aplicacin son:
- Medicin de tiempo.
- Divisin de frecuencia.
- Medicin de periodo y frecuencia.
96

- Contero de eventos.
- Base de tiempo para otros perifricos.
- USART.
- PWM.
- CathDog.
Estructura bsica de un temporizador/contador.

1) Contador binario: Es el elemento bsico del temporizadors/
contador y su misin es contar los pulsos del reloj. Hay dos
propiedades esenciales a tener en cuenta, respecto a este
componente: la cantidad de pulsos que puede contar y la
posibilidad de controlar el sentido del conteo, sea ascendente
o descendente.

2) Circuitos de configuracin y control: Constituyen la interfaz
entre el contador binario y los circuitos externos. Es uno de los
elementos que da valor aadido al simple contador binario.

3) Circuitos especializados de salida: Se utilizan para notificar, a
otro elemento del sistema, sobre el estado del temporizador o
acerca de la ocurrencia de un determinado evento.
2.3.1 Reloj de sistema.

Un reloj del sistema reside en la tarjeta madre. Este enva una seal a todos los
componentes de la computadora en ritmo, como un metrnomo. Generalmente,
este ritmo se genera como una onda cuadrada, como la siguiente:
Sin embargo, en realidad la seal de reloj real, cuando se ve con un
osciloscopio, se ve ms como el ejemplo que se da a continuacin.
97

Cada onda en esta seal mide un ciclo de reloj. Si el reloj del sistema funciona a
100MHZ, esto significa que hay 100 millones de ciclos del reloj en un segundo.
Cada accin en la computadora se marca con un tiempo mediante estos ciclos
del reloj y para realizarse, cada accin toma cierto nmero de ciclos del reloj.
Cuando se procesa una solicitud de la memoria, por ejemplo, el controlador de la
memoria puede informar al procesador que los datos requeridos llegarn en seis
ciclos de reloj. Es posible que el CPU y otros dispositivos funcionen ms rpido o
ms lento que el reloj del sistema. Los componentes de distintas velocidades
requieren un factor de multiplicacin o un factor de divisin para sincronizarlos.
Por ejemplo, cuando un reloj del sistema de 100MHZ interacta con un CPU de
400MHZ, cada dispositivo entiende que cada ciclo de reloj del sistema es igual a
cuatro ciclos de reloj del CPU; stos utilizan un factor de cuatro para sincronizar
sus acciones. Mucha gente asume que la velocidad del procesador es la
velocidad de la computadora. Sin embargo, la mayor parte del tiempo, el bus del
sistema y otros componentes funcionan a distintas velocidades.

2.3.2 Reset del distema

Los resets y las operaciones de interrupcin cargan el contador de programa con
un vector que apunta a la nueva localidad desde la cual las instrucciones sern
buscadas (fetch). Un reset detiene inmediatamente la ejecucin de la actual
instruccin y fuerza al contador de programa a una direccin de inicio conocida.
Los registros internos y bits de control son inicializados para que la MCU pueda
reanudar la ejecucin de instrucciones.

Durante el reset, el sistema de temporizador es inicializado en el conteo de $0000.
Los bits de pre escala son borrados, y todas las salidas de los registros de salida
de comparacin son iniciados en $FFFF. Todas las entradas de los registros de
captura son indeterminados despus del reset. El registro mascarable de
98

comparacin de salida (OC1M) es limpiado de modo que el comparador OC1 no
afecta ninguna terminal de E/S.
Fuentes posibles del reset:

Reset de alimentacion (POR): Es una transicin positiva que genera un reset
de alimentacin y es usada solo en condiciones de encendido, no puede
emplearse para reducciones en el voltaje de fuentes de alimentacin.
Por ejemplo: cuando se mantiene presionada la tecla de encendido por ms de
30 segundos.

Reset externo (RESET): Sube un nivel lgico 1 en menos de 2 ciclos de reloj,
despus que un dispositivo interno lo desactiva cuando la condicin de reset es
detectada, la terminal reset, es dirigida a 0 por un dispositivo interno en 4 ciclos
de reloj, entonces se desactiva. Si la terminal despus de 2 ciclos de reloj tiene
un valor 0 la CPU asume que ocurri un reset externo, si la terminal es alta esto
indica que el reset fue iniciado internamente por el sistema o el monitor de reloj.
Por ejemplo: cuando se presiona directamente el botn de reset que algunos
ordenadores tienen.

Reset de no adecuada operacin de la computadora (COP): La arquitectura
MCU incluye un sistema, este tipo de reset (COP) para proteger contra las fallas
del software cuando el COP es habilitado el software es responsable de guardar
un temporizador.
Por ejemplo: cuando se reinicia el equipo por un error de software.

Reset de monitor de reloj: Esta basado en un conjunto interno de resistor-
capacitor que produce una demora de tiempo sin ningn flanco de reloj, el monitor
de reloj puede generar opcionalmente un reset del sistema, la funcin dl monitor
de reloj puede ser habilitada o deshabilitada por el bit de control.
Por ejemplo: cuando el ciclo de reloj disminuye debido a la fuente de energa.
99


2.3.3 Estados de espera.
Cuando se conectan tarjetas al bus de la PC, un problema comn es igualar la
velocidad de los ciclos del bus con la de las tarjetas. Es comn que una tarjeta sea
ms lenta que el bus. As, el bus de la PC est diseado para resolver este
problema. La seal READY del bus se puede usar para extender la longitud del
ciclo del bus para igualar una tarjeta lenta o parar el bus del sistema hasta que se
sincronice con el ciclo de la tarjeta.
Como se mencion anteriormente, los ciclos del bus del 8088 normalmente son de
cuatro pulsos y se describen por T1 hasta T4. En algunos ciclos el hardware de la
PC, automticamente inserta un pulso ocioso extra llamado TW. La seal READY
se usa para insertar estados nuevos o adicionales de espera. Debido a que los
diferentes ciclos del bus requieren distintos tiempos, la seal READY se debe
controlar de manera diferente.

2.4 Interrupciones de hardware

Ocurren cuando un dispositivo necesita atencin del procesador y genera
una seal elctrica en la lnea IRQ que tiene asignada. Esta seal es recogida
y procesada por el controlador de excepciones PIC antes de ser enviada al
procesador, lo que puede realizarse de dos formas, segn el tipo de
interrupcin sea enmascarable o no enmascarable.
2.4.1 Enmascarable

Enmascarable (IRQ): un nivel bajo en esta lnea da lugar a una secuencia de
interrupciones en la que se efecta los siguientes pasos:
1. Se termina de ejecutar la instruccin que estaba ejecutando en el momento de
la peticin de interrupcin.
100

2. La CPU analiza el contenido del bit de registro si el valor es 1 se ignora la
interrupcin y continua ejecutndose el programa principal, si por lo contrario su
valor es 0 la interrupcin es aceptada.
3. Guarda del contenido del contador del programa y el registro en la pila e
impide otra interrupcin pasando a un nivel alto 1.

2.4.2 No-enmascarable.
NMI una situacin de baja en esta lnea da lugar a una secuencia de interrupcin
en la que se efectan las siguientes operaciones:
1. Se determina de ejecutar la instruccin que estaba ejecutando en el momento
de la interrupcin
2. La CPU no analiza el contenido del bit de registro y sin importar el valor que
tenga atiende la interrupcin.
3. Guarda el contenido del contador del programa y el registro en la pila e impide
otra interrupcin poniendo al bit a 1.

RES la re inicializacin del sistema se emplea principalmente para reiniciar el
sistema o para detectar la falta de alimentacin. Cuando ocurre esto se efectan
los siguientes pasos:
Durante que esta a nivel bajo se detiene la lectura o escritura de la CPU.
Se inicializa el sistema despus de 6 ciclos de reloj.
Se guarda el contador del programa y el registro en la pila y se impide otra
interrupcin enmascarable pasando a 1.
En caso de que dos interrupciones se activen al mismo tiempo el procesador
asigna al sistema prioridades en las cuales la ms alta es RES, intermedia NMI y
la ms baja IRQ.
101



2.5 Acceso directo a memoria

Puesto que la mayora de datos que maneja el ordenador estn antes o despus
en la memoria RAM, los intercambios entre esta y el resto de elementos son muy
frecuentes. En general este intercambio es conducido por el procesador, pero en
determinados casos, la memoria pueda realizar intercambios directamente con
los perifricos sin intervencin del procesador. Por ejemplo, el disco o una tarjeta
de sonido, lo que conduce a un incremento del rendimiento del sistema. El
mecanismo de acceso directo a memoria est controlado por un chip especfico,
el DMAC (DMA Controller), que permite realizar estos intercambios sin apenas
intervencin del procesador. En los XT estaba integrado en un chip 8237A que
proporcionaba 4 canales de 8 bits (puede mover solo 1 Byte cada vez); sus
direcciones de puerto son 00000Fh. Posteriormente en los AT se instalaron dos
de estos integrados y las correspondientes lneas auxiliares en el bus de control.
En contra de lo que podra parecer, el resultado no fue disponer de 8 canales.

Cada canal tiene asignada una prioridad para el caso de recibirse
simultneamente varias peticiones (los nmeros ms bajos tienen prioridad ms
alta). Pueden ser utilizados por cualquier dispositivo que los necesite
(suponiendo naturalmente que est diseado para soportar este modo de
operacin). Cada sistema los asigna de forma arbitraria, pero hay algunos cuya
asignacin es estndar. El mecanismo de acceso directo a memoria DMA es
bastante complejo en sus detalles, y por supuesto, el movimiento de grandes
volmenes de datos entre memoria y un dispositivo requiere cierta intervencin
del procesador. El movimiento se hace a rfagas, y cada transferencia se inicia
con una interrupcin que obliga al procesador a suspender su tarea para permitir
un nuevo intercambio. A continuacin intentaremos mostrar una visin general
del proceso. Empezaremos sealando que el DMA permite mover datos entre un
102

puerto y memoria, o entre memoria y un puerto, pero no entre dos puertos o
entre dos posiciones de memoria. Como veremos a continuacin, cada
transferencia DMA requiere cierta preparacin previa; conocer el volumen de
datos a transferir (la ms simple es de 1 byte) y la direccin de inicio del buffer
de memoria involucrado (del que se leern los datos o donde se escribirn).
Para esto dispone de dos registros para cada lnea; el contador y el registro de
direcciones. Segn se refieran a operaciones de lectura (memoria dispositivo) o
escritura (dispositivo memoria) reciben distintos nombres porque su significado
difiere:
Escritura: Direccin de inicio (Write starting address). Contador (Write
starting word count)
Lectura: Direccin actual de lectura (Read current address). Contador (Read
remaining word count)

2.5.1 Sistema de video
El subsistema de vdeo (VIO) es el encargado de gestionar la comunicacin entre
los programas y la pantalla. Es, sin duda, el subsistema ms complejo de los tres,
y el que ofrece, por tanto, mayores posibilidades.
Dado que puede haber varios programas ejecutandose a la vez en el sistema,
pero solo uno puede acceder a la vez a la pantalla (normalmente el programa que
se encuentra en primer plano o foreground), es necesario virtualizar sta por
medio de un buffer de pantalla propio de cada programa: el LVB (Logic Video
Buffer, buffer de vdeo virtual). Cuando una aplicacin quiere escribir en pantalla y
se encuentra en segundo plano (background), su salida se escribe en dicho LVB.
En el momento en que el usuario conmuta dicho programa a primer plano, el LVB
se copia tal cual en la memoria de pantalla, y el resto de las escrituras van a sta
directamente. Si se vuelve a conmutar dicho programa a segundo plano, OS/2
copia lo que hubiese en pantalla en ese momento al LVB. De este modo, el
programa nunca sabe ni le preocupa cuando est en primer o en segundo plano.
103

Funciones VIO
Salida Por TTY Virtual
En un extremo se encuentra el primer servicio que ofrece el subsistema VIO, que
es el de salida TTY. Este servicio es casi idntico a la salida de caracteres por
medio del sistema de archivos. De hecho, ste, cuando comprueba que lo que el
programa enva va dirigido a la pantalla, usa este servicio para realizar la funcin.
Cual es la diferencia entre uno y otro, entonces? Las diferencias son dos: la
primera es que el uso del subsistema VIO es una opcin ms rpida que el
sistema de ficheros; la segunda es que si usamos el subsistema, no podremos
redireccionar la salida a un fichero, o a otro dispositivo de salida. Siempre ir a la
pantalla.
El servicio TTY admite los caracteres de control estandar del ASCII, y tambin
puede soportar ANSI, si ste es activado mediante la llamada correspondiente.
VioWrtTTY
VioGetAnsi
VioSetAnsi
VioGetMode
VioSetMode
VioGetState
VioSetState
Salida de cadenas de caracteres
Los siguientes servicios se encargan del tratamiento de la pantalla a ms bajo
nivel. Con ellos podemos imprimir largas cadenas de caracteres con atributos y
leer los caracteres que hay en determinadas posiciones de la pantalla. Tambin
podemos repetir un caracter o una pareja caracter-atributo un nmero determinado
de veces.
104

Los atributos son bytes que definen el color de tinta y de fondo para cada caracter,
as como otras caractersticas como el parpadeo. Estn compuestos por un byte,
el cual se divide en dos nibbles (grupos de 4 bits). El nibble de menor peso
determina el color de la tinta del caracter, y el de mayor peso el color de fondo y,
segn se encuentre activo o no, el parpadeo del caracter. La distribucin es como
sigue:
Parpadeo activado
Bit Significado
7 Parpadeo del caracter
6 Rojo del fondo
5 Verde del fondo
4 Azul del fondo
3 Intensidad de la tinta
2 Rojo de la tinta
1 Verde de la tinta
0 Azul de la tinta

Intensidad activada
Bit Significado
7 Intensidad del fondo
6 Rojo del fondo
5 Verde del fondo
4 Azul del fondo
3 Intensidad de la tinta
2 Rojo de la tinta
1 Verde de la tinta
0 Azul de la tinta

Fig. 2.12
Los bits de color activan directamente cada una de las componentes del monitor,
de modo que stas se suman directamente, dando lugar a los siguientes colores:
105

0 Negro 1 Azul 2 Verde 3 Celeste
4 Rojo 5 Magenta 6 Amarillo 7 Blanco
Fig. 2.13
El bit de intensidad se limita a hacer estos colores ms o menos brillantes.
Estos servicios orientados a caracter siguen siendo independientes del hardware
utilizado de modo que no es necesario saber como se trabaja a nivel fsico con
ellos. Por otra parte, el propio OS/2 optimiza las transferencias para cada uno de
ellos, de modo que se consigue la mayor velocidad posible, y se eliminan ciertos
problemas inherentes a algunos sistemas grficos (por ejemplo, en las tarjetas
CGA sincroniza automticamente la escritura con el retrazado vertical, de modo
que se evita la aparicin de nieve en la pantalla).
Tanto cuando hacemos una lectura como una escritura, si excedemos el fin de
una lnea se seguir leyendo en la siguiente, y si llegamos al final de la pantalla no
se seguir leyendo ni imprimiendo.
106

VioWrtCellStr
VioWrtCharStr
VioWrtCharStrAtt
VioWrtNAttr
VioWrtNCell
VioWrtNChar
VioReadCellStr
VioReadCharStr
Funciones de scroll
El subsistema VIO ofrece, adems, la posibilidad de realizar scroll de ventanas en
modo texto. Con este conjunto de funciones, podemos desplazar parte o toda la
pantalla en cualquiera de las cuatro direcciones posibles. La razn de incluirlas es
que resulta mucho ms rpido que hacer una rutina que lea cada posicin del
buffer de video y la rescriba en el lugar adecuado, aparte de que se trata de una
funcin muy comn en casi cualquier programa.
VioScrollDn
VioScrollLf
VioScrollRt
VioScrollUp
Definicin y movimiento del cursor
El cursor (el cuadradito parpadeante) es totalmente definible por el usuario en las
sesiones de texto y grficos de OS/2. Podemos definir tanto su tamao como su
posicin dentro del carcter.
Al contrario que en MS-DOS, cuando escribimos en la pantalla de OS/2 la posicin
del cursor no se cambia. Esto se hace as para ganar tiempo. Normalmente el
cursor solo se usa cuando hay que introducir datos por teclado, y el resto de las
107

veces se suele hacer desaparecer de la pantalla. Esta es la razn de que halla un
conjunto de funciones para situar el cursor. De esta manera se gana en velocidad.
VioGetCurPos
VioSetCurPos
VioGetCurType
VioSetCurType
Acceso al LVB
Cuando se necesite alta velocidad, se puede pedir acceso directo al buffer virtual
de video asociado con la aplicacin. Al hacerlo, OS/2 devuelve un puntero a la
zona de memoria en donde est situado, con lo que podremos escribir en l como
si se tratase de la pantalla fsica. Una vez que hemos terminado, debemos enviar
una orden de retrazado, que har que OS/2 copie el LVB a la pantalla fsica
(siempre que la aplicacin se encuentre en primer plano). Esto significa que los
cambios que hagamos en el LVB no son visibles hasta que nosotros queramos.
Usar esta opcin implica que perdemos el aislamiento entre el hardware y
nosotros: dado que el LVB no es ms que una copia del buffer real de pantalla, es
necesario que nuestro programa conozca la geometra y la forma de
almacenamiento de los datos en sta.
VioGetBuf
VioShowBuf
Acceso directo al buffer real de video
En el extremo opuesto se encuentran las funciones de acceso directo al video.
Con ellas, OS/2 da acceso directo a la memoria de pantalla. Sin embargo, esto
que en el DOS de siempre es la opcin ms normal y comn, puede resultar
catastrfico en un Sistema Operativo multitarea como OS/2; no se hundira el
108

suelo bajo nuestros pies, pero la pantalla podra ser alterada en un momento poco
oportuno... si OS/2 no tomase las debidas precauciones.
Para que un programa pueda acceder directamente a la memoria real de video, es
absolutamente necesario que se encuentre en primer plano. Esto es as porque si
escribiese algo en pantalla cuando estuviese en background, machacara la
imagen de la aplicacin que se encontrase en ese momento en primer plano.
Lo primero que hay que hacer es pedir la direccin fsica de la memoria de vdeo.
OS/2 devuelve un selector (o varios) a dicha zona de memoria. Estos selectores
deben ser convertidos a punteros antes de poder trabajar con ellos. Pueden ser
varios pues cada selector no puede apuntar a un bloque de memoria mayor de
64Ks, el cual es tambin, casualmente, el tamao de cada bloque de memoria de
las tarjetas de vdeo actuales. Esto ayuda a simplificar el acceso, pues en modos
como 640x480x16colores no necesitaremos cambiar de bancos; OS/2 nos
devuelve un selector que apunta a cada uno de ellos, con lo que solo tenemos que
acceder normalmente como si fuese memoria lineal, y el Sistema Operativo
conmutar de uno a otro automticamente.
El hecho de obtener un selector no significa que dispongamos de acceso todava a
la pantalla. De hecho, si intentsemos escribir o leer algo en ese momento y la
aplicacin no se encontrase en primer plano, OS/2 la cerrara inmediatamente,
dando un Fallo de Proteccin General (el cual ya sabemos que no es tan fatal
como el de Windows, pues en OS/2 solo afecta a la aplicacin que lo ha
provocado, dejando intacto al Sistema Operativo y al resto de los programas).
Cada vez que queramos acceder a la memoria fsica de video, debemos bloquear
el acceso al buffer. Si el programa estaba en primer plano, OS/2 devolver un
valor afirmativo al retornar de la llamada, y bloquear el selector de programas.
Esto significa que el usuario no podr conmutar la sesin actual a segundo plano
hasta que sta termine el acceso. Sin embargo, el resto de las aplicaciones siguen
funcionando en segundo plano, sin verse afectadas por este hecho. Por supuesto,
109

esto puede ser peligroso, y OS/2 toma 0algunas precauciones: si el sistema est
bloqueado y el usuario hace una conmutacin de tarea, si el programa no
desbloquea el conmutador antes de un cierto tiempo definido por el sistema,
queda congelado y se realiza la conmutacin. Por eso es recomendable
desbloquear cada x tiempo el selector de programas y volverlo a bloquear.
Si por el contrario el programa se encontraba en segundo plano, hay dos
opciones: OS/2 puede retornar un cdigo de error al programa, con lo que este
sabr que no tiene acceso al buffer y puede seguir trabajando en otra cosa, o bien
OS/2 congelar al programa hasta que el usuario lo pase a primer plano, momento
en que lo despertar indicandole que tiene acceso al buffer real.
Una vez que OS/2 ha devuelto un resultado afirmativo, el programa tiene acceso
total a la memoria de video. Cuando haya terminado, tiene que proceder a
desbloquear la pantalla, de modo que OS/2 pueda desbloquear el selector de
programas y devolver el sistema a la normalidad.
VioGetPhysBuf
VioScrLock
VioScrUnLock
Existe una dificultad adicional a la hora de trabajar con acceso directo a la
pantalla. Se trata de que OS/2, al conmutar de una tarea a otra, solo guarda el
contenido de la pantalla si sta se encontraba en modo texto (esto se cumple para
OS/2 1.x. En Warp 4, sin embargo, SI conserva el contenido de la pantalla, pero
no se si se cumple tambin para OS/2 2.x o 3.x). Si estabamos trabajando en
modo grfico, el contenido se perder. Para evitarlo, OS/2 facilita la posibilidad de
crear un thread (este concepto ser explicado ms adelante, cuando veamos la
multitarea a fondo) que ser activado cuando el programa vaya a cambiar de
primer a segundo plano, y viceversa. Esto es as para permitir que un programa
pueda almacenar el contenido de la pantalla en modo grfico cuando no tiene
bloqueado el acceso a la memoria de video. Es el thread SavRedrawWait.
110

Para implementarlo, es necesario crear un nuevo thread en el que se ejecute la
llamada VioSavRedrawWait. Esta llamada bloquear el thread hasta que el
usuario pulse CTRL+ESC, momento en que OS/2, antes de conmutar de tarea,
despertar a dicho thread indicndole que debe almacenar el contenido de la
pantalla. Cuando el thread termine, debe volver a ejecutar la llamada, con lo que
OS/2 sabr que ha finalizado. El thread se quedar dormido de nuevo, y solo ser
despertado cuando el usuario vuelva a conmutar a primer plano el programa.
Entonces OS/2 le indicar que debe repintar la pantalla.
VioSavRedrawWait
La inclusin de este sistema de acceso puede parecer innecesaria, a la vista de la
potencia del acceso al LVB; la razn de haberla implementado fue que, cuando
sali OS/2, no llevaba todava el Presentation Manager, el gestor de ventanas,
sino que era un Sistema Operativo en modo texto, por lo que se incluy este
sistema para poder acceder en modo grfico a la pantalla, dado que VIO no ofrece
ninguna facilidad como el trazado de puntos o lneas. Actualmente, al disponer de
un completo (y complejo) gestor de ventanas, este mtodo puede parecer inutil,
sin embargo, para juegos puede ser muy til, pues permite acceder a pantalla
completa en modos como 320x200 en 256 colores, lo que permite una alta
velocidad de refresco, as como una gran facilidad de manejo. Hay que sealar
que el acceso directo a la memoria de vdeo solo se puede hacer estando en una
sesin de pantalla completa; no funcionar en una sesin de ventana
2.5.2 Sistema de discos

Existen bsicamente dos tipos de discos IDE y SCSI. Las controladoras IDE son
las que normalmente encontramos integradas en la placa madre y son las de
uso ms normal en los ambientes domsticos. Las controladoras SCSI, son
controladoras profesionales, orientadas normalmente al mbito profesional, y los
discos y tecnologas SCSI son las punteras. Los discos salen en tecnologa
111

SCSI y uno o dos aos ms tarde, se implementan en tecnologa IDE. Es decir,
los SCSI llevan un par de aos de diferencia en avance tecnolgico siempre con
respecto a los IDE.
Discos IDE
Discos IDE. Son los orientados normalmente al consumo domestico.
Existen dos tcnicas de acceso a estos discos. Son los modos PIO y los modos DMA.
Tcnicas de acceso I/O
Modos PIO: En los discos antiguos, el acceso a disco se haca mediante
tcnicas PIO (Program Input/Output).
En cualquier caso conviene indicar las fuentes ms importantes de informacin asociada
a vulnerabilidades de seguridad. No hay que olvidar que la mayor parte de esta
informacin es de dominio pblico y que los desarrollos posteriores que puedan hacerse
(bien a medida internamente o contratados) van a estar basados en las mismas fuentes:
2.5.3 Otras aplicaciones

Modo de transferencia DMA
1. Transferencia single. En ella se transfieren los datos uno a uno. La CPU
recupera el control entre cada transferencia.
2. Transferencia bloque. El controlador de DMA mantiene el control de los
buses hasta que se finaliza la transferencia del bloque completo.
3. Transferencia demanda. Es la transferencia bajo control del perifrico. Se
transfieren datos mientras la lnea DREQ se mantenga activa. Cuando se
desactiva la seal DREQ se detiene la transferencia. Los buses pertenecen
al control mientras DREQ es activa.
112


Fig. 2.14 Modo cascada.
Permite indefinidamente el control 8237 Lneas HOLD y HLDA conectadas a
DREQ y DACK.

113

UNIDAD III. Seleccin de componentes para ensamble
de equipos de cmputo.
3.1 Chipset

El chipset constituye un conjunto de chips integrados que se encargan de
funciones que el microprocesador delega a ellos.
Chipset: es el conjunto (set) de chips que se encargan de controlar determinadas
funciones del ordenador, como la forma en que interacciona el microprocesador
con la memoria o la cach, o el control de los puertos y slots ISA, PCI, AGP, USB.
Chipsets del 386SX: De los motherboards basados en el microprocesador 386sx
que se encontraron en nuestro mercado slo han demostrado ser confiables los
que poseen chipsets Headland HT18, OPTI y VLSI. Los tres han funcionado
correctamente con cualquier tipo de software, incluso en operaciones que
requieren de administracin multitarea. Los chipset OPTI y VLSI logran mejor
velocidad en sus operaciones en conjunto con el procesador.
Motherboards 386DX:Este microprocesador fue desarrollado por la compaa
americana Intel. Al igual de lo que ocurri con el 286 y el 386sx, los modelos del
386 fueron tomados por otras empresas como base para desarrollar
microprocesadores absolutamente compatibles en cuanto a su funcionamiento,
pero de menor costo. Inclusive algunos de stos brindan mayores prestaciones.
El microprocesador 386dx, al momento de su lanzamiento, era provisto por tres
fabricantes, a saber: Intel (25 y 33 Mhz), AMD (25, 33 y 40 Mhz) y Chips &
Technologies (33 Mhz).
El 386dx de la empresa Chips & Technologies tiene una caracterstica de diseo
especial por lo que lograba mayor performance que sus competidores. Este factor
es sumamente significativo a tal punto que una mquina con este microprocesador
de 33 Mhz es ms rpida que otra basada en un AMD de 40 Mhz.
114

La memoria cach: Con la aparicin de los microprocesadores 386 comienza a
implementarse cachs de memoria; si bien existen algunas variantes todas tienen
un funcionamiento similar.
Para explicar su funcionamiento haremos la siguiente analoga: supongamos que
se debe realizar una torta, para ello se recurre al supermercado y se compra la
harina. Luego se va a una cocina y se coloca la harina necesaria segn la receta.
Esta indica que debe agregarse leche; nuevamente se va al supermercado y se
compra leche .De vuelta en la casa se agrega la leche, pero el prximo tem es
azcar por lo que se debe recurrir nuevamente al supermercado y as
sucesivamente con cada ingrediente. Definitivamente jams se hara esto en la
vida real, sino que se comprara todo lo necesario y se lo guardara en la alacena,
recurriendo a sta por cada ingrediente sin mayor prdida de tiempo.
Llevando la analoga a la computadora, supongamos que la memoria principal es
el mercado, el programa a ejecutar es la receta, el microprocesador la persona
que realiza la torta y la memoria cach la alacena.
El programa indica al microprocesador que debe ir a la memoria principal y buscar
una instruccin, luego un dato despus una nueva instruccin y luego ms datos.
Y as sucesivamente perdiendo tiempo en direccionar la memoria principal por
cada elemento alojado en sta. En cambio con una implementacin de memoria
cach, el microprocesador lee una direccin de memoria y mientras ste procesa
la informacin, circuitos especiales hacen que la memoria cach lea las restantes
posiciones de memoria consecutivas. Cuando el microprocesador necesita leer las
prximas direcciones de memoria, el contenido de stas se encuentra en la cach,
que si bien es una cantidad de memoria pequea, es varias veces ms rpida que
la memoria principal, logrando as un incremento sustancial en la velocidad del
procesamiento. CHIPSETS DEL 386DX: En cuanto a los chipsets utilizados con el
386dx, los chips OPTI, ETEQ, SIS, VMC y MORSE han sido probados con todo
tipo de software y marcas de micros obteniendo ptimos resultados y sin presentar
problemas.
115

Motherboards 486: Bsicamente la arquitectura del microprocesador 486 integra
en un solo chip el microprocesador propiamente dicho, el coprocesador
matemtico y la memoria cach.
3.1.1 Cpu
UCP o procesador, interpreta y lleva a cabo las instrucciones de los programas,
efecta manipulaciones aritmticas y lgicas con los datos y se comunica con las
dems partes del sistema. Una UCP es una coleccin compleja de circuitos
electrnicos. Cuando se incorporan todos estos circuitos en un chip de silicio, a
este chip se le denomina microprocesador. La UCP y otros chips y componentes
electrnicos se ubican en un tablero de circuitos o tarjeta madre.
La expresin "unidad central de proceso" es, en trminos generales, una
descripcin de una cierta clase de mquinas de lgica que pueden ejecutar
complejos programas de computadora. Esta amplia definicin puede fcilmente
ser aplicada a muchos de los primeros ordenadores que existieron mucho antes
que el trmino "CPU" estuviera en amplio uso. Sin embargo, el trmino en s
mismo y su acrnimo han estado en uso en la industria de la informtica por lo
menos desde el principio de los aos 1960 . La forma, el diseo y la
implementacin de las CPU ha cambiado drsticamente desde los primeros
ejemplos, pero su operacin fundamental ha permanecido bastante similar.
Las primeras CPU fueron diseadas a la medida como parte de una computadora
ms grande, generalmente una computadora nica en su especie. Sin embargo,
este costoso mtodo de disear los CPU a la medida, para una aplicacin
particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de
clases de procesadores baratos y estandarizados adaptados para uno o muchos
propsitos. Esta tendencia de estandarizacin comenz generalmente en la era de
los transistores discretos, computadoras centrales, y microcomputadoras, y fue
acelerada rpidamente con la popularizacin del circuito integrado (IC), ste ha
permitido que sean diseados y fabricados CPU ms complejos en espacios
116

pequeos (en la orden de milmetros). Tanto la miniaturizacin como la
estandarizacin de los CPU han aumentado la presencia de estos dispositivos
digitales en la vida moderna mucho ms all de las aplicaciones limitadas de
mquinas de computacin dedicadas. Los microprocesadores modernos aparecen
en todo, desde automviles, televisores, neveras, calculadoras, aviones, hasta
telfonos mviles o celulares, juguetes, entre otros.
Los factores relevantes de los chips de UCP son:
Compatibilidad: No todo el soft es compatible con todas las UCP. En algunos
casos se pueden resolver los problemas de compatibilidad usando software
especial.
Velocidad: La velocidad de una computadora est determinada por la velocidad
de su reloj interno, el dispositivo cronomtrico que produce pulsos elctricos para
sincronizar las operaciones de la computadora. Las computadoras se describen en
funcin de su velocidad de reloj, que se mide en mega hertz. La velocidad tambin
est determinada por la arquitectura del procesador, es decir el diseo que
establece de qu manera estn colocados en el chip los componentes individuales
de la CPU. Desde la perspectiva del usuario, el punto crucial es que "ms rpido"
casi siempre significa "mejor".
El procesador.
El chip ms importante de cualquier placa madre es el procesador. Sin el la
computadora no podra funcionar. A menudo este componente se determina CPU,
que describe a la perfeccin su papel dentro del sistema. El procesador es
realmente el elemento central del proceso de procesamiento de datos.
Los procesadores se describen en trminos de su tamao de palabra, su
velocidad y la capacidad de su RAM asociada.
Tamao de la palabra: Es el nmero de bits que se maneja como una unidad en
un sistema de computacin en particular.
117

Velocidad del procesador: Se mide en diferentes unidades segn el tipo de
computador.
MHz (Megahertz): para microcomputadoras. Un oscilador de cristal controla la
ejecucin de instrucciones dentro del procesador. La velocidad del procesador de
una micro se mide por su frecuencia de oscilacin o por el nmero de ciclos de
reloj por segundo. El tiempo transcurrido para un ciclo de reloj es 1/frecuencia.
MIPS (Millones de instrucciones por segundo): Para estaciones de trabajo,
minis y macrocomputadoras. Por ejemplo una computadora de 100 MIPS puede
ejecutar 100 millones de instrucciones por segundo.
FLOPS (floating point operations per second, operaciones de punto flotante
por segundo): Para las supercomputadoras. Las operaciones de punto flotante
incluyen cifras muy pequeas o muy altas. Hay supercomputadoras para las
cuales se puede hablar de GFLOPS (Gigaflops, es decir 1.000 millones de
FLOPS).
Capacidad de la ram: Se mide en trminos del nmero de bytes que puede
almacenar. Habitualmente se mide en KB y MB, aunque ya hay computadoras en
las que se debe hablar de GB.

Fig. 3.1 funcionamiento memoria ram

118

3.1.2 Controlador del bus
El Bus es la va a travs de la que se van a transmitir y recibir todas las
comunicaciones, tanto internas como externas, del sistema informtico. El bus es
solamente un Dispositivo de Transferencia de Informacin entre los componentes
conectados a l, no almacena informacin alguna en ningn momento. Los datos,
en forma de seal elctrica, slo permanecen en el bus el tiempo que necesitan en
recorrer la distancia entre los dos componentes implicados en la transferencia. En
una unidad central de sistema tpica el bus se subdivide en tres buses o grupos de
lneas.
Bus de Direcciones.
Bus de Datos.
Bus de Control.
Bus de direcciones: Es un canal de comunicaciones constituido por lneas que
apuntan a la direccin de memoria que ocupa o va a ocupar la informacin a
tratar. Una vez direccionada la posicin, la informacin, almacenada en la
memoria hasta ese momento, pasar a la CPU a travs del bus de datos. Para
determinar la cantidad de memoria directamente accesible por la CPU, hay que
tener en cuenta el nmero de lneas que integran el bus de direcciones, ya que
cuanto mayor sea el nmero de lneas, mayor ser la cantidad de direcciones y,
por tanto, de memoria a manejar por el sistema informtico.
Bus de datos: El bus de datos es el medio por el que se transmite la instruccin o
dato apuntado por el bus de direcciones. Es usado para realizar el intercambio de
instrucciones y datos tanto internamente, entre los diferentes componentes del
sistema informtico, como externamente, entre el sistema informtico y los
diferentes subsistemas perifricos que se encuentran en el exterior, una de las
caractersticas principales de una computadora es el nmero de bits que puede
transferir el bus de datos (16, 32, 64, etc.). cuanto mayor sea este nmero, mayor
ser la cantidad de informacin que se puede manejar al mismo tiempo.
119

Bus de control: Es un nmero variable de lneas a travs de las que se controlan
las unidades complementaras. El nmero de lneas de control depender
directamente de la cantidad que pueda soportar el tipo de CPU utilizada y de su
capacidad de direccionamiento de informacin.
Funcionamiento
En el bus se encuentran dos pistas separadas, el bus de datos y el bus de
direcciones. La CPU escribe la direccin de la posicin deseada de la memoria en
el bus de direcciones accediendo a la memoria, teniendo cada una de las lneas
carcter binario. Es decir solo pueden representar 0 o 1 y de esta manera forman
conjuntamente el nmero de la posicin dentro de la memoria (es decir: la
direccin). Cuantas ms lneas haya disponibles, mayor es la direccin mxima y
mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de
direcciones original haba ya 20 direcciones, ya que con 20 bits se puede dirigir a
una memoria de 1 MB y esto era exactamente lo que corresponda a la CPU.
Esto que en le teora parece tan fcil es bastante mas complicado en la prctica,
ya que aparte de los bus de datos y de direcciones existen tambin casi dos
docenas ms de lneas de seal en la comunicacin entre la CPU y la memoria, a
las cuales tambin se acude. Todas las tarjetas del bus escuchan, y se tendr que
encontrar en primer lugar una tarjeta que mediante el envo de una seal
adecuada indique a la CPU que es responsable de la direccin que se ha
introducido. Las dems tarjetas se despreocupan del resto de la comunicacin y
quedan a la espera del prximo ciclo de transporte de datos que quizs les
incumba a ellas.

PROCESADOR Bus de direcciones Bus de datos
8086 20 16
120

8088 20 8
80186 20 16
80188 20 8
80286 24 16
80386 SX 32 16
80386 DX 32 32
80486 DX 32 32
80486 SX 32 32
PENTIUM 32 64
PENTIUM PRO 32 64
Este mismo concepto es tambin la razn por la cual al utilizar tarjetas de
ampliacin en un PC surgen problemas una y otra vez, si hay dos tarjetas 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 bus de direcciones sino al bus de datos. El bus
XT tena solo 8 bits con lo cual slo poda transportar 1 byte a la vez. Si la CPU
quera depositar el contenido de un registro de 16 bits o por valor de 16 bits, tena
que desdoblarlos en dos bytes y efectuar la transferencia de datos uno detrs de
otro.
121

De todas maneras para los fabricantes de tarjetas de ampliacin, cuyos productos
deben atenderse a este protocolo, es de una importancia bsica la regulacin del
tiempo de las seales del bus, para poder trabajar de forma inmejorable con el PC.
Pero precisamente este protocolo no ha sido nunca publicado por lBM con lo que
se obliga a los fabricantes a medir las seales con la ayuda de tarjetas ya
existentes e imitarlas. Por lo tanto no es de extraar que se pusieran en juego
tolerancias que dejaron algunas tarjetas totalmente eliminadas.
3.1.3 Puertos de entrada/salida

Un puerto es el lugar donde el CPU se comunica con otros dispositivos, existen de
varios tipos, hay puertos de entrada, de salida y ambos. Adems estos pueden ser
seriales o paralelos.
Puertos de entrada: Estos puertos recogen datos de algn dispositivo externo,
externo se refiere a estar fuera del CPU, no del gabinete. Existen muchos
dispositivos perifricos que se conectan a un puerto de entrada, por ejemplo
tenemos al teclado y al Mouse, tambin estn los lpices pticos, los lectores de
cdigo de barras, etc.
Puertos de salida: Son todos aquellos por donde el CPU enva datos a otros
dispositivos, por ejemplo estn la salida de video y de sonido.
Puertos de entrada/salida: Estos son una clase de puertos por donde el CPU
puede enviar y recibir informacin. Son muy importantes, ya que entre estos se
encuentran las memorias del CPU como son la RAM, ROM, los floppys y discos
duros. Estos puertos pueden ser usados para controlar dispositivos, tales como las
impresoras y los quemadores externos, por ejemplo.
Nosotros vamos a hablar acerca de los puertos que se encuentran fuera del
gabinete, hablaremos de los puertos de teclado, Mouse, impresoras, etc. La
computadora por s mismas no sera capaz de realizar operaciones tiles para
nosotros si no podemos comunicarnos con ella, necesita dispositivos perifricos
122

por donde pueda darnos mensajes y nosotros podemos enviarle rdenes. Ahora
bien, existen infinidad de dispositivos que sirven de extensin a la computadora,
muchos son para fines muy especficos y no se pueden abarcar, entre los
dispositivos que son de uso comn se encuentra la impresora, el teclado, el
Mouse y el monitor.
Puerto serial: El puerto serial es aquel que enva y recibe los datos BIT por BIT,
entre los puertos seriales se puede mencionar el puerto de teclado, o el puerto del
MODEM.
Puerto paralelo: Este tipo de puerto transmite la informacin byte por byte, o sea
que transmite ocho bits al mismo tiempo, de forma paralela. Un puerto paralelo por
excelencia pues es el puerto para impresora.
Se puede observar que un puerto de entrada puede ser paralelo o serial, lo mismo
que un puerto de entrada o de entada/salida.
A cada puerto la bios le asigna una direccin de memoria para que pueda trabajar,
dependiendo de que clase de puerto sea se le asigna un determinado espacio
exclusivo para l.
Por medio de estas localidades de memoria el sistema puede enviarles o recibir
informacin, es una especie de memoria de intercambio para la transmisin de
datos de un lugar a otro. A esto se le llama espacio de localidades de memoria y
se realiza dentro del primer kilo bite de la memoria principal. Existen otras
asignaciones de memoria en otras capas superiores de memoria principal. Existen
otras asignaciones de memoria en otras capas superiores de memoria pero estas
son hechas por el sistema operativo y por los dems programas, pero estas
asignaciones son para fines especficos de los dems programas.
Los puertos no solo se limitan a recibir la informacin, o enviarla, segn sea el
caso. El puerto provee la corriente elctrica necesaria para el funcionamiento del
dispositivo y revisa el estado de este.
123

3.1.4 Controlador de interrupciones

Procesamiento de la interrupcin
Cuando un dispositivo de E/S termina una operacin de E/S, se produce la
siguiente secuencia de eventos:
1.- El dispositivo enva una seal de interrupcin al procesador
2.- El procesador termina la ejecucin de la instruccin en curso antes de
responder a la interrupcin.
3.- El procesador comprueba si hay alguna interrupcin. Si hay alguna, enva una
seal de reconocimiento al dispositivo que la origin
4.- El procesador debe prepararse para transferir el control a la rutina de
interrupcin. Debe guardar la informacin necesaria para continuar con el proceso
en curso en el punto en que se interrumpi. Guarda en la pila del sistema el
contenido de los registros, etc.
5.- El procesador carga en el PC la direccin de inicio del programa de gestin o
servicio de interrupcin solicitada.
6.- Una vez modificado el PC, el procesador contina con el ciclo de instruccin
siguiente. Es decir, se transfiere el control a la rutina servidora de la interrupcin.
7.- Cuando finaliza el servicio de la interrupcin, se restauran los valores de los
registros.
El controlador de interrupciones es un chip responsable de coordinar las
interrupciones a la CPU. Acta como un policia que administra las solicitudes de
servicio (interrupciones) dirigidas a la CPU. Si algn dispositivo requiere acceso a
la CPU primero tiene que recurrir a este chip, el cual decide quien de los
solicitantes tiene la mas alta prioridad y le permite hablar con el jefe (la CPU).
124

Esta a su vez, atiende al solicitante y si no puede se lo indica. Un dispositivo
requiere el servicio.
La CPU lo reconoce a travs del policia. Este le dice al jefe que alguien quiere una
cita, filtra la cita conforme a prioridades y la otorga.
La CPU obtiene el permiso del solicitante (la direccin en memoria donde se
encuentra su pase).
La CPU ya con el pase del solicitante en la mano, se dirige a dicha direccin y
empieza a ejecutar las instrucciones que all se encuentran. Al terminar, la CPU
regresa a su lugar de origen para continuar con lo que estaba haciendo (dejando
todo en su lugar tal como estaba antes de haber sido interrumpida).

3.1.5 Controladores de DMA

DMA (DIRECT MEMORY ACCESS).
La E/S con interrupciones, aunque ms eficiente que la E/S programada, tambin
requiere la intervencin del CPU para transferir datos entre la memoria y el mdulo
de E/S.
Consideren el siguiente ejemplo. Cuando se va a leer una lnea desde un terminal,
el primer carcter escrito es enviado al computador. Cuando el carcter es
recibido por el controlador, ste interrumpe al CPU. El CPU le da servicio a la
interrupcin y luego continua con el proceso que estaba ejecutando. Esto es
posible cuando el dispositivo es muy lento comparado con el CPU. Entre un
carcter y otro el CPU lleva a cabo gran cantidad de procesamiento. Pero qu
sucede cuando estamos trabajando con dispositivos de E/S ms veloces?
Tendramos interrupciones muy seguidas y se estara desperdiciando mucho
tiempo.
125

Para evitar esto, se utiliza DMA para dispositivos de E/S de alta velocidad. E1
controlador del dispositivo transfiere un bloque de datos desde o para sus buffers
de almacenamiento a memoria directamente sin intervencin del CPU. Solo se
produce una interrupcin por bloque en lugar de tener una interrupcin por cada
byte (o palabra).
Por ejemplo, un programa solicita una transferencia de datos. El Sistema de
Operacin busca un buffer disponible. El controlador de DMA tiene sus registros
actualizados con las direcciones del fuente y del destino y la longitud de la
transferencia. Por lo general esta actualizacin es realizada por el manejador de
dispositivo (rutina). Se indica al controlador de DMA a travs de bits de control en
un registro de control pare que inicie la operacin de E/S. Mientras tanto el CPU
puede llevar a cabo otras operaciones. El controlador de DMA interrumpe el CPU
cuando la transferencia ha sido terminada. El CPU interviene solo al comienzo y al
final de la transferencia.
Transferencias va dma.
Algunos dispositivos de entrada/salida envan datos a la memoria ms rpido de lo
que el microprocesador puede manejar. El controlador de DMA (Direct Memory
Access) es un circuito integrado dedicado que puede enviar y recibir datos ms
rpido que el microprocesador. Luego, dispositivos como discos pticos y
magnticos utilizan este integrado para acceder a la memoria del sistema.
El controlador de DMA (Direct Memory Access) toma prestado los buses de datos,
de direcciones y de control del sistema y enva un nmero programado de bytes
desde un dispositivo de entrada/salida hasta la memoria. El "8237 DMA controller"
es el nombre del circuito integrado que utilizan los PCs para esta funcin.
Cuando un dispositivo tiene un bloque de datos preparado para enviar a la
memoria, enva una peticin al DMA poniendo una seal DRQn a "1". Si el canal
de DMA se halla disponible, el DMA enviar una seal HRQ (hold request) al
microprocesador. El microprocesador responder dejando los buses libres y
126

enviando una seal HLDA (hold acknowledge) al DMA. Luego el DMA obtiene el
control de los buses poniendo la seal AEN a nivel alto y enva la direccin de
memoria a ser escrita. Despus el DMA enva la seal de DACKn (DMA
acknowledge) al dispositivo. Finalmente el controlador de DMA se ocupa de
manejar las seales de MEMW y IOR del bus de control. Cuando la transferencia
de datos se ha completado vuelve a poner la seal HRQ a nivel bajo y el
procesador recupera el control de los buses de nuevo.
Si un dispositivo necesita datos de la memoria, el proceso es similar. La nica
diferencia consiste en que el controlador de DMA usa las seales MEMR y IOW en
el bus control.

Fig. 3.2 En la figura pueden verse: un perifrico con su correspondiente controlador de
E/S, un controlador de DMA y las seales de pedido y concesin del bus que permiten
alternar el bus master entre la CPU y el controlador de DMA.
El perifrico solicita una transferencia al controlador de DMA, el cual a su vez
solicita el bus a la CPU. Si la CPU no est utilizando el bus ni est en estado
LOCK, lo concede al controlador de DMA, el cual a su vez informa al perifrico
para que prepare los datos a transferir.
En una transferencia de entrada, los datos se mueven desde el perifrico (1/0) a la
memoria por el bus de datos sin parar por el controlador de DMA y sin intervencin
de la CPU. Las lneas de control para leer la 1/0 (IOR*) y para escribir la memoria
(MEMW*) son manejadas por el controlador de DMA.
127

De la misma forma, en una transferencia de salida los datos se mueven desde la
memoria a la 1/0 y el controlador de DMA maneja las lneas de control para leer la
memoria (MEMR*) y para escribir en el perifrico (IOW*).
3.1.6 Circuitos de temporizacin y control.

El temporizador es un circuito que se encuentra en la tarjeta matriz (Mother
Borrad) de la PC y que es capaz de mantener una cuenta de tiempo basada en el
reloj de la computadora. Puede usarse para calcular el intervalo entre dos
mediciones de tiempo o para generar pausas.
Este chip tiene la capacidad de realizar diferentes funciones de conteo. Es til
para medir el tiempo que dura cierto proceso o para mantener actualizadas la hora
del da y la fecha si se deja la PC conectada y encendida (en el caso de
computadoras anteriores a la AT, pues esta tiene un reloj de batera integrado; a
este respaldo de batera se le conoce como CMOS (complementary MOS).
El chip mantiene tres contadores independientes (definidos como 0, 1, 2), cada
uno de los cuales es alimentado por una seal que equivale a 1.19318 MHZ. El
contador obtiene una capacidad mxima de conteo que asciende a 65 536. Su
salida tiene una frecuencia de 18.2 HZ.(1.19/65536) aproximadamente. Por lo
tanto, cualquier accin que interrumpa a la PC ocurrir 18.2 veces por segundo
(cada 55 ms o cada 0.055 segundos en forma redondeada).
Dicha accin genera una interrupcin llamada interrupcin del contador, la cual
interrumpe brevemente la CPU e incrementa la cuenta del da.
Cuando el contador del canal cero llega a 0 (los tres contadores del temporizador
timer siempre cuentan en forma regresiva), significa que la hora es exactamente
las 24:00 (hora militar) y entonces es inicializado a cero de nuevo. El contador 1 es
usado por la PC para realizar el proceso de refrescamiento de memoria (DMA
memory Refresh) y no debe ser alterado bajo ninguna circunstancia.
128

El contador 2 generalmente se encuentra programado para trabajar con la bocina.
Los primeros dos contadores (0 y 1) envan una interrupcin a la CPU mientras
que el 2 no lo hace.

3.1.7 Controladores de video

Los controladores son circuitos de entrada que tienen todas las impresoras. Son
los que procesan la informacin en primer lugar para saber exactamente qu les
est llegando y como manipular los datos. Bsicamente, un controlador de una
impresora recoge los datos que proceden del PC y los convierte en datos de
imagen que debern pasar a lo que llamamos video interface de la impresora.
Este otro dispositivo, se encarga de recuperar los datos que ha dejado el
controlador e inyectarlos hasta el sistema de escritura del perifrico.
Los datos de imagen indican si un punto es blanco o negro, en c aso de una
impresora de color de que color ser ese punto.
Veamos un ejemplo de la formacin de una letra A:
1.- El controlador recibe un dato del ordenador. Ese dato es el nmero 41h,
segn una tabla el controlador interpreta que 41h quiere decir A.
Fig. 3.3
129

1. tras interpretar el dato como una A el controlador busca en sus fuentes la
forma de esa letra.

Fig. 3.4
3.- una vez se ha creado toda la imagen de una pgina esta se le pasa al video
interface. Los datos de una pgina pasados a imagen se llaman datos
rasterizados o rpeados. Los datos rasterzados se transmiten a la video
interface de lnea a lnea.
130


Fig. 3.5






131

3.2 Aplicaciones
3.2.1 Entrada/salida

Entrada: Los dispositivos de entrada, como hemos visto, tienen una funcin
determinada: suministrar datos a la CPU. Veamos los ms importantes:
El teclado: Es quizs el perifrico al cual se presenta menor atencin. Y no hay
razn para este desaire ya que es un dispositivo esencial y frente al que se pasan
muchas horas. Siendo esto as, elegir un teclado de calidad repercutir tambin en
el rendimiento de nuestro trabajo, sobre todo si ste est basado en el procesador
de textos. Las caractersticas principales que describen un teclado son las
siguientes:
Sistema de conexin: Esta puede ser mediante AT (o DIM de 5 pines): un
conector redondo del tamao de un pulgar; PS-2 (o Mni-Dim): parecido al anterior
pero ms pequeo de dimetro; o USB, es un nuevo sistema de conectividad que
permite instalar y desinstalar perifricos en caliente (sin apagar el ordenador).
Hay otros, pero estos son los principales. Debemos elegir el sistema adecuado
para poder conectar el teclado a nuestra placa. Existen en venta, no obstante,
adaptadores entre Dim a Mini-Dim y viceversa. MECANCO O MEMBRANA?: El
teclado mecnico basa el mecanismo de pulsacin de las teclas en unos muelles o
resortes. Los de membrana utilizan para este fin un sistema parecido al de los
mandos a distancia de la TV. Es decir, una membrana de plstico realiza el
contacto y vuelve a la tecla a su posicin inicial. Esta caracterstica hace al teclado
mecnico ms robusto y resistente, pero tambin de tacto ms duro. DSEO: Los
teclados ergonmicos, con hot-Reys (teclas de acceso rpido configurables), con
mini-joysticR, etc; son elecciones disponibles en el mercado las cuales solo hay
que valorar si su precio es acorde con nuestras necesidades.
Sistema de conexin: Vale lo dicho para los teclados. Tambin es frecuente la
conexin al puerto serie.
132

Tecnologa utilizada: Aqu podemos diferenciar: ratones mecnicos, son los ms
comunes, la gua del puntero se realiza mediante una bola que se desliza sobre
unos ejes; pticos, utilizan tecnologa ptica, lo que los hace ms precisos; opto
mecnicos, un hbrido. Existen otras tecnologas, pero mucho menos utilizadas.
Diseo: Tambin encontramos los que apuestan por la ergonoma, los colores y
formas originales, etc. Dentro de este perifrico podemos diferenciar los TracR-
ball: dispositivos de puntero ideales para lo que no disponen de mucho espacio de
escritorio. En ellos, en vez de desplazar el ratn sobre una alfombrilla, el
movimiento se realiza girando una bola o rodillo sobre un eje fijo.
Nmero de botones: Dos o tres. Con dos normalmente es suficiente. El tercero
(central) normalmente es configurable y se utiliza en contadas aplicaciones.
Tambin los hay con botones laterales, ruedas, etc. Si esto es til o un engorro es
algo que deber valorar el usuario.
Joystick sistema de conexin: Van conectados al puerto juegos de la placa, al
de la tarjeta de sonido, al puerto o puertos de una tarjeta de juegos, o
eventualmente, al puerto serie o paralelo. Aunque la opcin del puerto de la tarjeta
de sonido es con mucho la ms utilizada por ahorro de recursos.
Tecnologa: Aqu dependiendo del tipo de JoystckR que estemos hablando
(palanca, joypad, volante, etc) la tecnologa utilizada es variopinta. A pesar de ello
es til optar por mandos robustos y que ofrezcan buen soporte de software. Los
basados en tecnologa digital son ideales para los que se requieran precisin en
sus batallas particulares. Muchos joysticR permiten de forma sencilla y
simplemente mediante el uso de un cable especial (en forma de Y), la utilizacin
de dos dispositivos simultneos. Gran cosa para compartir la accin con
amigos/as.
Escner: Un escner es un perifrico el cual nos permite digitalizar imgenes o
texto con el fin de pasar esta informacin a un fichero, normalmente con el fin de
modificarlo o almacenarlo en soportes de alta capacidad.
133

A tener en cuenta:
Sistema de conexin: Lo ms extendido es conectarlos al puerto de impresora y
sta a su vez, al escner. Con lo que con el uso de un solo puerto tendremos dos
dispositivos. Tambin existen otras opciones, como la conexin a puerto SCSI o
USB.
Sistema de escaneo: Los escner de sobremesa permiten tratar imgenes
provenientes de libros o revistas. Los de rodillo o las impresoras convertidas a
escner (mediante la utilizacin de un cabezal especial) tienen el inconveniente de
limitar nuestro trabajo a documentos que puedan pasar por su torno. Los escner
de mano son muy verstiles pero tambin poco tiles para trabajos que requieran
gran resolucin.
Resolucin: Hay en el mercado gran oferta en capacidad de resolucin. Esto
afecta a la calidad con la que podremos obtener el documento resultante. sta se
mide en dpi (dot per inchs = puntos por pulgada, tambin PPP). Es frecuente
encontrar informacin sobre la resolucin real y la resolucin por interpolacin
(mediante software), las cuales no son comparables y deben tenerse en cuenta a
la hora de elegir varias ofertas. No obstante hay que tener en cuenta que para
cualquier usuario normal o semi-profesional, un escner de gama media-baja es
ms que suficiente, ya que stos ofrecen resoluciones superiores a las que
nuestra memoria RAM puede soportar (Y tambin nuestro disco duro).
Capacidad de escaneo: Los escner de sobremesa y rodillo normales aceptan
tamaos de hasta DIN A4 o folio. Otros tamaos mayores requeriran escner
especiales.
CD-ROM: La unidad de CD-ROM, as como los DVD, son la nica respuesta al
aumento de tamao que en los ltimos tiempos han experimentado los programas.
Prcticamente toda la informacin electrnica se distribuye ya en CD-ROM y la
cada de precios de las unidades grabadoras de este soporte lo han hecho an
134

ms popular. Siendo estos as, el lector de Cd-Roms es un dispositivo
imprescindible en cualquier PC.
Sistema de conexin: Lo habitual es a puerto IDE (como los discos duros), pero
tambin podemos encontrarlos a puerto SCSI e incluso externos a puerto paralelo.
Ver s disponemos de un puerto libre adecuado y, en el caso de los internos, de
hueco en la caja para alojarlo, es lo primero que debemos averiguar.
Tiempo medio de acceso (TMA): Es el tiempo, medido en milisegundos, que
tarda como media la cabeza lectora en situarse en un punto concreto del disco. A
menor tiempo, lgicamente, ms efectividad y velocidad en la lectura de datos.
Velocidad: Medida en kilobytes por segundo (Kb/s), nos indica la velocidad
mxima de transferencia de datos. La transferencia de un Cd-Rom X1 es 150
Kb/s. tomando eso como referencia podremos averiguar fcilmente qu nos indica
las unidades llamadas x2, x4,, x40. Efectivamente hay que multiplicar el nmero
entero por 150 y tendremos la velocidad de transferencia mxima de nuestra
unidad. Cuanto ms rpida, menos tardar en leer una cierta cantidad de datos.
Eso s, en unidades muy rpidas debemos asegurarnos que el nivel de ruido
durante el funcionamiento es aceptable.
Memoria buffer: Indica si la unidad dispone de una cantidad de memoria donde
almacena datos que despus sern reclamados por el microprocesador,
acelerando as su lectura. Mejor si tiene, y cuanta ms, mejor.
Compatibilidad de formatos: Pese a lo que pueda parecer a simple vista, no
todos los Cd-Roms estn grabados en el mismo formato. Un compacto musical, un
programa o un DVD pueden tener aspectos parecidos pero no contienen lo mismo
ni todos los lectores son capaces de reconocerlos y leerlos. Cualquier unidad
moderna podr leer la mayora de los formatos; no as si disponemos de una con
ms de 2 o 3 aos de antigedad.
Salida monitor tecnologa: Tubo de rayos catdicos, lo normal; o cristal lquido,
lo normal en porttiles y monitores ultramodernos de pantalla plana. Tambin
135

debemos prestar atencin a otras caractersticas relacionadas como s el tubo es
Trinitron (mas caro pero mayor pureza de color). En la eleccin debe primar el
estudio de nuestras necesidades y tambin de nuestra economa.
Resolucin mxima: Indica a la mxima resolucin (en PPP, puntos por pulgada)
que puede trabajar el monitor, lo cual como vemos no depende slo de la tarjeta
grfica. Cuanta ms mejor.
Tamao: Medido en pulgadas (= 25,4 mm) se refiere a la diagonal, es decir, la
distancia entre una esquina y su opuesta. El tamao es importante sobre todo
cuando se trabaja con varias aplicaciones a la vez o cuando utilizamos programas
que a su vez abren otras muchas ventanas (programas de diseo). Tambin si por
cualquier otra necesidad necesitamos una pantalla que sirva tambin para
presentaciones o reproduccin de vdeo. Un monitor de 15 pulgadas es una buena
opcin para el usuario medio, a partir de ese tamao los precios se disparan.
Tamao del punto: Llamado tambin dot pich. Se refiere al dimetro, medido en
mm, de los orificios por los cuales pasan los rayos catdicos. A menor tamao,
ms definicin tendrn las imgenes vistas en pantalla. Lo normal es 0,25-0,28.
Baja radiacin: Como su nombre indica define que existe una baja emisin, por
parte del tubo, de radiaciones electrostticas y electromagnticas. Sin sta
caracterstica la nica solucin ser utilizar un buen filtro de pantalla o un parche
para cada ojo.
Multisync (Multifrecuencia): S nuestro ordenador es Multisync podr adaptarse
automticamente (o manualmente) a diferentes modos de video o resoluciones.
Con ello, junto con el control digital de la imagen, podremos utilizar siempre todo el
tamao de pantalla.
Otros aspectos como los monitores multimedia (con micrfono y altavoces
incorporados), pantallas planas, el diseo, etc. Debern tenerse en cuenta
dependiendo de las necesidades.
136

Impresora: Un elemento casi obligatorio si se posee un ordenador es una
impresora. Quin no tiene que imprimir alguna vez un currculo, una carta o una
foto molona? Claro que tambin hay quien imprime una carta al mes y quien
imprime 1000 al da. Hay quien busca resolucin fotogrfica y quien nunca
imprime en color. Para eso est la variedad, las necesidades propias de cada uno.
Tecnologa: Hoy da lo ms extendido son las impresoras de inyeccin o lser.
Pero tambin nos podemos encontrar con ms de las que creemos de las de tipo
aguja. Las impresoras de aguja imprimen como una mquina de escribir. Es decir,
por contacto de unas piezas metlicas (agujas) con una cinta impregnada de tinta
y el papel. Sus inconvenientes es que son ruidosas, de baja resolucin y no muy
limpias. Ventajas? Puedes encontrar alguna de segunda mano casi gratis. Y s
total, slo la quieres para imprimir el borrador de tus apuntes de derecho las de
inyeccin, como su nombre indica, funcionan por inyeccin directa de la tinta al
papel (eso s, a una nfima distancia), poseen resoluciones casi fotogrficas y son
mucho ms silenciosas que las anteriores. Los inconvenientes son sobre todo el
alto precio de los cartuchos de tinta, en ocasiones de escndalo. Las impresoras
lser, pese a ser la opcin ms cara en principio, es la ms recomendada para los
usuarios que necesiten imprimir gran cantidad de documentos ya que el precio por
una impresin de buena calidad es bastante bajo.
Resolucin: Indicada en PPP (puntos por pulgada) o matriz de puntos (punto
ancho x puntos largo). A mayor resolucin, ms calidad podriamos llegar a obtener
en nuestras impresiones.
Admisin de papel: Debemos fijarnos tanto en el tamao del papel con el que es
capaz de trabajar; como si admite modo vertical o apaisado; s se posee
alimentador de hojas automtico y de qu capacidad; y s admite sobres, etiquetas
y papeles especiales.
Color?: No todas las impresoras pueden imprimir a color. Algunas necesitan la
compra adicional de un cartucho de color que no viene incluido en el precio.
137

Tamao y diseo: No todas son iguales, pero su formato exterior no es lo nico
que las diferencia. Una impresora muy pequea puede ser una magnifica solucin
a la falta de espacio o como compaera de un equipo porttil. Sin embargo, suelen
tener un gran gasto en consumibles debido a que como los cartuchos de tinta
tambin son pequeos se gastan rpidamente y por su peculiar formato reducido
normalmente valen ms que los otros.
Consumibles: Quizs el aspecto que el usuario domstico ms debera mirar con
lupa. Los precios de los consumibles: cartuchos, toners, etc, pueden resultar un
gran handicap a la hora de decidirnos. Ciertas marcas venden impresoras baratas
pero con un gasto en consumibles superior a sus competidores (bien sea porque
consumen ms o porque el precio es mayor). Si no queremos llevarnos un susto
de cuidado debemos elegir impresoras con consumibles baratos y fciles de
encontrar en los comercios. No teniendo esta preocupacin nos puede salir cuenta
comprar una impresora nueva cada vez que se nos gaste la tinta.
Velocidad de impresin: Nmero de pginas por minuto, contando siempre con
que la prueba se realiza con un DIN A4 completamente escrito por una cara.
Normalmente veremos la velocidad en B/N y color. Cuando ms rpido mejor,
pero no deberamos desembolsar una gran cantidad de dinero slo por esto.
3.2.2 Almacenamiento

Unidades de disquete.
Por malo y anticuado que sea un ordenador, siempre dispone de al menos uno de
estos aparatos. Su capacidad es totalmente insuficiente para las necesidades
actuales, pero cuentan con la ventaja que les dan los muchos aos que llevan
como estndar absoluto para almacenamiento porttil.


138

Discos duros.
Son otro de los elementos habituales en los ordenadores, al menos desde los
tiempos del 286. Un disco duro est compuesto de numerosos discos de material
sensible a los campos magnticos, apilados unos sobre otros; en realidad se
parece mucho a una pila de disquetes sin sus fundas y con el mecanismos de giro
y el brazo lector incluido en la carcasa.
Los discos duros han evolucionado mucho desde los modelos primitivos de 10
20 MB. Actualmente los tamaos son del orden de varios gigabytes, el tiempo
medio de acceso es muy bajo (menos de 20 ms) y su velocidad de transferencia
es tan alta que deben girar a ms de 5.000 rpm (revoluciones por minuto), lo que
desgraciadamente hace que se calienten como demonios, por lo que no es
ninguna tontera instalarles un ventilador para su refrigeracin.
Una diferencia fundamental entre unos y otros discos duros es su interfaz de
conexin. Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI,
aunque en la actualidad slo se emplean dos: IDE y SCSI.
Dispositivos de almacenamiento pticos (CD y DVD):
Los discos pticos estn formados por una lmina circular de plstico con una fina
capa de material metlico reflectante, recubiertas a su vez por un barniz
transparente para su proteccin del polvo. Un haz lser va leyendo microscpicos
agujeros pits o espacios planos lanas, de forma que si el lser es reflejado o
no, se interpretar de forma digital como un 1 o un 0. un sistema ptico con lentes
encamina el haz luminoso, y lo enfoca como un punto en la capa del disco que
almacena los datos. Podemos establecer una divisin en funcin de la longitud de
onda del lser; de este modo tenemos el CD, el DVD y actualmente se estn
lanzando dispositivos con tecnologa de Lser Azul. Esto es, disminuyendo la
longitud de onda del lser, aumentamos la capacidad de escritura/lectura para el
mismo espacio fsico en el disco. Su capacidad de almacenamiento llega hoy a
139

unos 800 MB de informacin. Habitualmente se utiliza para almacenar datos o
msica
3.2.3 Fuentes de alimentacin

Fuentes de almacenamiento configurables: La serie MVP es la familia ms
verstil de fuentes de alimentacin de potencia media que utiliza componentes
magnticos de SMD y convertidos DC-DC internos, combinados con mdulos
PFC, que pueden ser configurables desde 1 hasta 10 tensiones de salida con
valores entre 2 y 60 V. tiene todas las homologaciones de seguridad necesarias
y es un producto marcado CE.

Fuentes de alimentacin de baja potencia: Las series LP y Net de fuentes de
alimentacin conmutadas de baja potencia, ofrecen una ptima combinacin de
prestaciones, precio y fiabilidad, as como la ltima tecnologa.
Estos dispositivos ofrecen potencias entre 25 y 350 W y estn disponibles en una amplia
variedad de configuraciones, tanto en salida nica como multisalida.
Fuentes de alimentacin de gran potencia: ASTEC es lder mundial en fuentes
de alimentacin para telefona, redes, fibra ptica y otras aplicaciones industriales
donde se necesitan alimentadores, cargadores de batera enchufables en caliente
y paralelables, para conseguir configuraciones N+1. La serie VS es una fuente de
alimentacin modular, con diseo flexible, que ofrece de 1 a 12 salidas con
potencias entre 1000 a 2500 W por unidad.
3.3 Ambientes de servicios.

El negocio de proveer servicios de datos es mucho ms complejo que la forma en
la que se dan los tradicionales servicios, los primeros requieren de nuevos
conocimientos y modelos de negocio, que con frecuencia se termina involucrando
o necesitando la colaboracin de terceras empresas. Por lo que se hace necesario
que los operadores tradicionales transformen su negocio para ofrecer los servicios
140

de datos con los niveles de servicio que el mercado exige, las principales
exigencias reas de negocio que debe ser consideradas se detallan en los
siguientes prrafos.
1.-Desarrollo de nuevos mercados y productos: Para un operador tpico, la
cadena de valor se han expandido muy particularmente en el rea de desarrollo de
productos, los operadores deben integrar y establecer relaciones con muchos
nuevos actores para generar contenido, portales o agregados al negocio como los
ISP, as como construir las plataformas para el desarrollo de productos, mejorar la
segmentacin y los clientes meta. El nfasis estar puesto en:
Desarrollo de contenido: Los operadores de las redes debern buscar
esquemas de compartir los ingresos y ofrecerle algn retorno financiero a los
dueos del contenido.
La incorporacin de contenido: Muchos nuevos jugadores, as como las
mayores operadores de las redes, estn luchando por convertirse en los
dominadores de esta parte del negocio.
Portales (multi-acceso).
Disponibilidad de aplicaciones: Los operadores deben ofrecer aplicaciones para
uso de los clientes que les genere nuevos ingresos por servicios.
Mercadeo y desarrollo de nuevos productos: La segmentacin se vuelve vital,
como proveedores de servicios, se debe segmentar y enfocarse en grupos de
clientes en particular y velar por sus necesidades especificas.
2. Adquisicin y administracin de clientes: La Administracin y la retencin de
los clientes est aumentado en importancia cada vez ms, se busca mantener
clientes leales; los CRM y los diferentes dispositivos que se utilizan como medios
de acceso se han diversificado, pasando a ser elementos crticos en los negocios
como herramientas para atraer y retenerlos. Esta porcin de la provisin de
servicio en la cadena de valor ha llegado a ser muy competitiva, principalmente en
141

los negocios de ventas al por mayor, que incorporan a nuevos proveedores de
servicios que los ayudaran a enfocarse en grupos de clientes muy especficos. Los
proveedores de servicios tendrn que aprender a diferenciar la experiencia del
cliente a travs de su ciclo de vida completa, la ayuda de los dispositivos como los
CRMS se estn volviendo extremadamente importantes conforme su funcionalidad
se expande ms all de la simple voz y la mensajera, entrando a manejar
conceptos de mayor conocimiento del cliente por medio de funciones de
inteligencias de negocios que le permitan conocer con lujo de detalle el
comportamiento de compra del consumidor. Para lograr esa fidelidad y
conocimiento se debe estar enfocado en:
Nuevos clientes: Hay muchos nuevos competidores, apalancando marcas,
mejorando la distribucin, produciendo contenido, incorporando nuevas
funcionalidades a los CRMS, habilitando nuevas aplicaciones, etc. Por otro lado
los operadores de la red tambin se estn enfocando sobre marcas como
diferenciadores.
Retencin de clientes: Retener los clientes de alta gama debe ser uno de los
focos principales para los proveedores de servicios que dependen de la red y que
ya estn establecidos.
Administracin de los clientes y canales: Diferenciarse a travs de la
experiencia del cliente, reducir costos, mejorar el rendimiento, enfocarse en
canales directos.
Dispositivos: poner mucha atencin al creciente uso de dispositivos mviles
como las PDA, de acceso inalmbrico diseado para ofrecer servicios de
computacin y comunicacin especficos, va a ayudar considerablemente a
posicionar la interfaz de acceso de los usuarios a los servicios.
3. Proveer y desarrollar servicios para la red: Los operadores de las redes
deben buscar un uso eficiente de los activos, mejorar la calidad, el rendimiento, su
utilizacin y el retorno financiero, las oportunidades de ventas al por mayor
142

seguirn en incremento. Hay una oportunidad creciente en los servicios de valor
agregado de las redes, los operadores deben de crear una capa de servicios
dentro de su negocio para soportar las aplicaciones inalmbricas, tales como
seguridad, ubicacin, servicios al por mayor, etc., tales como: 1.
Servicios principales de la red.
Servicios de valor agregado de la red: Una de las reas nuevas claves para los
operadores de la red, como seguridad, hospedaje de servicios, administracin de
dispositivos, respaldo de datos, etc.
Operacin de la red.
Administracin del negocio: Los expertos consideran que los operadores, cada
vez ms estarn volcando sus ojos hacia todos aquellos elementos que no son
parte del negocio principal, buscando mejorar los costos, la eficiencia, la calidad y
el rendimiento, las reas candidatas a tercerizar son:
1. Administracin: El ambiente cada vez ms complejo, hace que las empresas
se enfocan cada vez ms en sus principales destrezas y fortalezas del negocio y
complementar con la administracin de proveedores el resto de las actividades.
2. HR, SCM, ERP, etc.: Son potenciales actividades que no son fundamentales
del negocio y son candidatos a ser sujetos a incrementar las relaciones con
terceros que provean estos servicios.
3.3.1 Negocios

La globalizacin est cambiando el mundo y lo ha convertido en un ambiente
sumamente competitivo, en el que no existen distancias ni fronteras y donde la
informacin est al alcance de las manos. Esta situacin ha provocado una
enorme presin sobre las organizaciones, que deben flexibilizarse y encontrar
nuevos mecanismos para afrontar las presiones, para innovar y en general para
sobrevivir. En este nuevo mundo, el outsourcing ha surgido como una herramienta
143

que facilita la gestin empresarial y se ha convertido en un tema de actualidad. Sin
embargo, ms que una moda, outsourcing es una forma eficaz para apoyar a las
organizaciones y asegurar su supervivencia y tiene su principal razn de ser en
tres imperativos que deben considerar las organizaciones hoy en da:
Enfocarse en un negocio.
Asegurarse el acceso a la experiencia tcnica que es crtica para el negocio.
Focalizarse en operaciones optimizadas, reduciendo y controlando los costos. En
el caso de Tecnologa de Informacin, el impacto del outsourcing es enorme:
Outsourcing es la principal fuente de crecimiento en el rea de Servicios de
Tecnologa de Informacin (TI), y se ha convertido en un elemento central de las
prcticas de negocios de las compaas actuales, sin importar el tamao.
Empujados por la competencia de mercados, las empresas deben hacer un uso
ms intensivo de TI y esto genera una mayor gama de oportunidades para el
outsourcing. Pero esta tendencia requiere tambin que los CIO y dems lideres de
las organizaciones aprendan a manejar esta herramienta como un mecanismo que
permita alinear las funciones de TI con la estrategia de la organizacin. Los CIO
deben reconocer los lmites de sus organizaciones para proveer los servicios
estratgicos que requiere la organizacin e iniciar el desarrollo de las prcticas del
outsourcing y sobre todo, manejar este mecanismo en forma efectiva.
Una consecuencia del outsourcing es que ha creado un nuevo modelo de relacin
cliente-proveedor, una relacin que busca la cooperacin intensa entre ambos,
convirtiendo una relacin meramente comercial en un alianza estratgica para
compartir el conocimiento.
Qu es Outsourcing?
Outsourcing es una herramienta de gestin que combina la correcta determinacin
de la estrategia con las medidas adecuadas para llevarla a cabo de una manera
operativamente eficaz.
144

Esto significa que no se trata solo de eficacia operativa orientada hacia la
estrategia organizacional. Una organizacin puede tratar de ser ms eficiente y
eficaz y puede estar totalmente orientada al logro de sus objetivos. Esto implica
normalmente un gran nmero de funciones que debe realizar, de las cuales, no
todas estn relacionadas directamente al logro de los objetivos estratgicos.
Algunas tareas solo son de apoyo a soporte. Las organizaciones deben reconocer
que es posible realizar todas estas tareas de forma eficiente y deben identificar
cuales de sus funciones son crticas para el logro de los objetivos estratgicos y
cuales son de apoyo. Una vez reconocidas y clasificadas las diversas funciones de
esta forma, las organizaciones deben enfocarse en las tareas crticas, las
funciones que establecen la diferencia, es decir, deben concentrarse en el
NEGOCIO y deben considerar dar a terceros las funciones de soporte. Esto es
Outsourcing.
3.3.2 Industria

La industrializacin de los Servicios de Tecnologa de Informacin va a redefinir
el mercado en trminos de cmo las organizaciones evalan, compran y
seleccionan los servicios, y de cmo los vendedores desarrollan, establecen
precios e implementan los servicios. El aumento de la estandarizacin y la
consecuente disminucin en la customizacin es un proceso inevitable y es el
resultado del tiempo y la experiencia en cualquier industria. La industria est en
un proceso de transicin y el impacto de este viraje ya se siente. Dentro del
ambiente de TI (Tecnologa de Informacin), existe una estrategia doble, que
incluye prcticas customizadas o estandarizadas. Los proveedores de
outsourcing estn respondiendo a este llamado de la estandarizacin, para
aprovechar las economas de escala, pero en forma simultnea deben soportar
una gran base instalada de ambientes desarrollados a la medida. Aunque los
servicios de TI estn en proceso de madurez, la madurez de la industria se ha
incrementado en aspectos evidentes, como la forma en que los servicios son
implementados y administrados. Para lograr esta estandarizacin, se requiere un
145

enfoque hacia soluciones genricas y esto debe ser responsabilidad de los
proveedores, que deben desarrollar, operar y administrar el resultado de estos
genricos de TI. Las mtricas deben cambiar entonces, de la medida de
capacidades tcnicas a la medida en el impacto en los negocios, es decir, en los
acuerdos de niveles de servicio.

La Industria de las telecomunicaciones y sus tendencias:
Las empresas proveedoras de servicio de telecomunicaciones en estos tiempos
tienen un reto mayor, reducir los costos y paralelamente desarrollar iniciativas para
crecer el negocio en un mercado tradicional que se vuelve cada vez menos
atractivo econmicamente hablando. El mercado de valores refleja una mejora
muy considerable en el sector de los servicios de la industria de las
telecomunicaciones, y de las empresas que ofrecen los servicios completos.
Para mejorar los rendimientos los expertos recomiendan como una forma de lograr
mayores ahorros en los costos, tomar las siguientes medidas:
1. Bajar los costos de operacin automatizando e integrando los procesos del
negocio. 2. La utilizacin intensiva de los activos, por medio de la consolidacin de
las operaciones, dotando a la empresa de una infraestructura escalable que le
permita alcanzar los nuevos requerimientos rpidamente.
3. Hacer inversiones de capital eficientemente, como Gastos de Capital justo a
Tiempo, anlisis de costo/valor, una cadena de abastecimiento extendida y
compras que les permita bajar los precios a mayores niveles.
4. Explotar las sinergias a travs de las operaciones, esto es, Centros de Servicios
compartido.
5. Administrar el riesgo y la incertidumbre, incorporando servicios administrados o
mercerizados a travs de la cadena de valor o dentro de segmentos especficos.
146

Por el otro lado para crear nuevo valor a la empresa y generar ingresos
adicionales recomiendan a las empresas:
1. Apoyar los procesos e iniciativas de desarrollo de nuevos productos, que
permita mejorar el tiempo de lanzamiento al mercado de nuevas fuentes de
generacin de ingresos.
2. Administrar e incorporar alianzas en toda la cadena de valor.
3. Apoyar y soportar integraciones B2B (Negocio a Negocio) por medio de la
adopcin de plataformas, sistemas y redes totalmente abiertas.
4. Proveer mecanismos para mantener un amplio conocimiento del mercado y de
la empresa.
3.3.3 Comercio electrnico

El comercio electrnico consiste en la compra, venta, marketing y suministro de
informacin complementaria para productos o servicios a travs de redes
informticas. La industria de la tecnologa de la informacin podra verlo como una
aplicacin informtica dirigida a realizar transacciones comerciales.
Una definicin alternativa la vera como la conduccin de comunicaciones de
negocios comerciales y su direccin a travs de mtodos electrnicos como
intercambio electrnico de datos y sistemas automticos de recoleccin de datos.
El comercio electrnico tambin incluye la transferencia de informacin entre
empresas.
Desarrollo histrico
El significado del trmino comercio electrnico ha cambiado a lo largo del tiempo.
Originalmente, comercio electrnico significaba la facilitacin de transacciones
comerciales electrnicamente, normalmente utilizando tecnologa como la
147

Electronic Data Interchange (EDI, presentada finales de los aos 70) para enviar
electrnicamente documentos como pedidos de compra o facturas.
Ms tarde paso a incluir actividades ms precisamente denominadas Comercio
en la red. La compra de bienes y servicios a travs de la World Wide Web va
servidores seguros (vase HTTPS, un protocolo de servidor especial que encripta
la realizacin confidencial de pedidos para la proteccin de los consumidores y los
datos de la organizacin) con tarjetas de compra electrnica y con servicios de
pago electrnico como autorizaciones para tarjeta de crdito.
Factores claves del xito en el comercio electrnico
Varios factores han tenido un importante papel en el xito de las empresas de
comercio electrnico. Entre ellos se encuentran:
1. Proporcionar valor al cliente. Los vendedores pueden conseguirlo ofreciendo un
producto o una lnea de producto que atraiga clientes potenciales a un precio
competitivo al igual que suceden en un entorno no electrnico.
2. Proporcionar servicio y ejecucin. Ofrecimiento de una experiencia de compra
amigable, interactiva tal como se podra alcanzar en una situacin cara a cara.
3. Proporcionar una pgina Web atractiva. El uso de colores, grficos, animacin,
fotografas, tipografas y espacio en blanco puede aumentar el xito en este
sentido.
4. Proporcionar un incentivo para los consumidores para comprar y devolver. Las
promociones de ventas pueden incluir cupones, ofertas especiales y descuentos.
Las Webs unidas por links y los programas de publicidad pueden ayudar en este
aspecto.
5. Proporcionar atencin personal. Webs personalizadas, sugerencias de compra
y ofertas especiales personalizadas pueden allanar el camino de sustituir el
contacto personal que se puede encontrar en un punto de venta tradicional.
148

6. Proporcionar un sentido de comunidad. Las reas de chats, foros, registros
como cliente, esquemas de fidelizacin y programas de afinidad puede ayudar.
7. Proporcionar confianza y seguridad. Servidores paralelos, redundancia de
hardware, tecnologa de seguridad en averas, encriptamiento de la informacin y
cortafuegos pueden ampliar estos requisitos.
8. Proporcionar una visin de 360 grados de la relacin con el consumidor,
definida como la seguridad de que todos los empleados, proveedores y socios
tienen una visin global e idntica del consumidor. Sin embargo, los consumidores
pueden no apreciar la experiencia de gran hermano.
9. Poseer la experiencia total del consumidor. Esto se consigue tratando con el
consumidor como parte de una gran experiencia, lo que hace ver como sinnimo
de la marca.
10. Optimizado los procesos de negocio, posiblemente a travs de tecnologas de
reingeniera de la informacin.
11. Dejando que los consumidores se ayuden as mismos. Proporcionando
sistemas de autoayuda sin asistencia puede ayudar en este sentido.
12. Ayudar a los consumidores a hacer el trabajo de consumir. Los vendedores
pueden proporcionar esta ayuda ampliando la informacin comparativa y las
bsquedas de producto. La provisin de informacin de componentes y
comentarios de seguridad e higiene puede ayudar a los minoristas a definir el
trabajo del comprador.
13. Construir un modelo de negocios slido. Si este factor clave hubiera aparecido
en los libros de texto en 2000 muchas compaas punto com no habran
quebrado.
14. Crear una cadena de valor aadido en la que uno se orienta a un nmero
limitado de competencias claves. (Las tiendas electrnicas pueden presentarse
bien como especialistas o como generalistas si se programan correctamente).
149

15. Operar en o cerca del lmite de la tecnologa y permanecer all mientras la
tecnologa sigue cambiando (pero recordando que los principios fundamentales
del comercio se mantienen indiferentes a la tecnologa).
16. Construir una organizacin con suficiente agilidad y sistemas de alerta para
responder rpidamente a los cambios en el entorno econmico, social y fsico.
Problemas del comercio electrnico
Incluso si el proveedor de productos en comercio electrnico sigue rigurosamente
estos diecisis factores clave para disear una estrategia ejemplar de comercio
electrnico, los problemas pueden aparecer igualmente. Las causas de dichos
problemas suelen ser:
1. No comprensin de los clientes, el por qu compran y cmo compran. Incluso
un producto con una proposicin slida de valor puede fallar si los fabricantes y
distribuidores no entienden los hbitos, expectativas y motivaciones de los
consumidores. El comercio electrnico podra llegar a mitigar este problema
potencial con una investigacin de marketing preactiva y bien orientada tal como
hacen los detallistas tradicionales.
2. No considerar el entorno competitivo. Uno puede tener la capacidad de construir
un buen modelo de negocios de librera electrnica pero no tener el deseo de
competir con Amazon.com.
3. No capacidad de predecir la reaccin del entorno. Qu harn los
competidores? Presentarn nuevas marcas o pginas Web competidoras?
Complementarn sus ofertas de servicio? Tratarn de sabotear el portal de la
competencia? se desatar una guerra de precios? Qu har el estado? Una
buena investigacin de la competencia, fabricantes y mercados puede mitigar las
consecuencias de esto, tal y como sucede en el comercio no electrnico.
4. Sobrestimar nuestros recursos puede el personal, hardware, software, y
nuestros procesos llevar a cabo la estrategia propuesta? Han fallado los
150

detallistas en desarrollar las capacidaes de los empleados y directivos? Estos
puntos pueden motivar la planificacin de recursos y la formacin de los
empleados.
Unidad IV. Microcontroladores
4.1 Arquitectura.

Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica
de von Neumann, en el momento presente se impone la arquitectura Harvard. La
arquitectura de von Neumann se caracteriza por disponer de una sola memoria
principal donde se almacenan datos e instrucciones de forma indistinta. A dicha
memoria se accede a travs de un sistema de buses nico (direcciones, datos y
control).
La arquitectura Harvard dispone de dos memorias independientes una, que
contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos
sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura
o escritura) simultneamente en ambas memorias.

Fig. 4.1 arquitectura Harvard
151

La arquitectura Harvard dispone de dos memorias independientes para datos y
para instrucciones, permitiendo accesos simultneos. Los microcontroladores PIC
responden a la arquitectura Harvard.
4.1.1Terminales
Arquitectura externa del microprocesador 8088




Fig. 4.2 Bus de direccin, datos y control.

En el 8088 el bus de direccin, datos y control se divide en tres partes:

a. Los 8 bits menos significativos de direccin/datos (AD0 AD7)
Multiplexados entre direcciones y datos.
b. Los 8 bits centrales (A8 A15) No multiplexados.

c. Los 4 bits ms significativos (A16 A19) Multiplexados entre direcciones y
seales de control.

Se puede trabajar con los buses multiplexados o demultiplexados. AD7 AD0, bus
de direccin y datos: Estn multiplexadas entre buses de direcciones (T1) y de
datos (T2, T3, Tw, T4) y contienen los 8 bits menos significativos: Permanecen en
152

estado de alta impedancia durante el reconocimiento de interrupcin y de solicitud
de bus.

A15 A8, bus de direccin: Tiene la mitad superior de las direcciones (T1, T2, T3,
Tw, T4), no estn multiplexadas y permanecen en alta impedancia durante el
reconocimiento de interrupcin y de solicitud de bus.

A19 A16 / S6 S3, bus de direccin y de estatus: Estn multiplexadas entre los
4 bits ms significativos de direcciones (T1) y status (T2, T3, Tw, T4) en el caso
I/O durante T1 permanecen en cero.

S6 siempre est en 0.

S5 indica la condicin de la bandera de interrupcin IF.

S3 y S4 indican a cul segmento se est accediendo.

RD, lectura: Cuando est en 0 (T2, T3, Tw) indica que el bus de datos puede
recibir datos. Se garantiza que durante T2 estar en alto hasta que el bus del 8088
quede en alta impedancia.

Permanece en alta impedancia durante el reconocimiento de solicitud de bus.
READY, listo. Es entrada y cuando la activamos genera pulsos de reloj (Tw) para
prolongar el ciclo de bus INTR, peticin de interrupcin: Entrada que se muestra
en el ltimo ciclo de reloj de cada interrupcin para determinar si el 8088 debe
entrar en una operacin de reconocimiento de interrupcin. Puede ser
enmascarada. Se sincroniza y es activa en alto.

TEST, prueba: Es una entrada que la usa la instruccin WAIT. Si TEST=0, WAIT
funciona como una NOP. Si TEST=1, WAIT espera a que TEST pase a 0. Se usa
para sincronizar con dispositivos externos.
153


NMI, interrupcin no enmascarable: Es una entrada activa por flanco positivo que
causa una interrupcin del tipo 2. La interrupcin se cumple al final de la
instruccin actual y est internamente sincronizada.

RESET, restauracin: Para restauracin debe permanecer en alto por lo menos 4
ciclos de reloj y se activa en el flanco negativo.

CLK, reloj: Entrada de reloj que debe tener un ciclo de trabajo de 33%.

VCC, alimentacin: 5V 10%, referencia para la lgica digital.

GND, tierra: 0V, referencia para la lgica digital.

MN/MX, modo mnimo, modo mximo.
El 86/88 va a poder trabajar en uno de dos modos posibles definidos como: Modo
Mximo y Modo Mnimo. El modo a seleccionar depender de la aplicacin
concreta que se vaya a implementar.

Modo Mnimo: Aplicaciones simples para pequeos sistemas; se comporta similar
a un Microprocesador de 8 bit pero de 16 internamente.

Modo Mximo: Aplicaciones ms complejas, genera casi todas las seales
compatibles para la implementacin de la norma Multibus. Permite soportar varios
procesadores en el Bus. El CPU no puede generar directamente las seales de
control del sistema y se auxilia del controlador de Buses 8288.

Existe un terminal denominado MN/MX que selecciona el modo de trabajo.

Si MN/MX = 1 => Modo Mximo.

154

Si MN/MX = 0 => Modo Mnimo.

IO/M, lnea de estados de memoria o E/S: Indica si la direccin es de memoria o
de I/O. Permanece en alta impedancia durante un reconocimiento de solicitud de
bus.

WR, escritura. Es una salida que indica que el 8088 va a escribir a memoria o a
E/S. Se activa (bajo) durante T2, T3 y Tw de un ciclo de escritura e indica que el
bus contiene datos vlidos. Permanece en alta impedancia durante un
reconocimiento de solicitud de bus.

INTA, reconocimiento de interrupcin.

Salida que se activa (bajo) durante T2, T3 y Tw de cada ciclo de reconocimiento
de interrupcin. Es una respuesta a la entrada INTR y se usa como pulso de
lectura en un ciclo de reconocimiento de interrupcin.

ALE, habilitacin del cerrojo de direccin: Salida que indica (estando en alto
durante la parte baja del reloj de T1) que en el bus hay una direccin vlida. ALE
nunca queda en estado de alta impedancia.

DT/R, transmite/recibe datos: Indica que el bus de datos transmite datos (DT/R=1)
o los recibe (DT/R=0) Esta seal es necesaria para habilitar los circuitos de
acoplamiento del bus de datos externo. Permanece en alta impedancia durante un
reconocimiento de solicitud de bus.

DEN, habilitacin de datos.

Salida que se emplea para habilitar los circuitos de acoplamiento del bus de datos
externo.

155

Se activa en bajo durante cada acceso a memoria y ciclos de inte-rrupcin.

Para lectura o ciclos INTA, se activa desde la mitad de T2 hasta la mitad de T4.

Para ciclos de escritura, se activa desde el comienzo de T2 hasta el medio de T4.

Permanece en alta impedancia durante un reconocimiento de solicitud de bus.

HOLD, solicitud de acceso directo a memoria.

Si HOLD=1, el 8088 deja de ejecutar el programa actual y lleva su bus de
direcciones, datos y control a alta impedancia.

Si HOLD=0, el 8088 ejecuta los programas normalmente.

Requiere sincronizacin externa.

HLDA, respuesta a la peticin de acceso directo a memoria: Salida que indica
(HLDA=1) que el 8088 ha concedido los buses (es la respuesta del 8088 a la
entrada HOLD)

SSO, lnea de estatus: Esta seal de salida se combina con IO/M y DT/R para
decodificar la funcin del ciclo de bus actual.

El ciclo de bus consiste de al menos 4 ciclos de reloj, los cuales se denominan T1,
T2, T3 y T4, como se muestra en la siguiente Figura.
156


Fig. 4.3 ciclo del bus

Las direcciones son emitidas durante T1 y la transferencia de datos ocurre
entre T3 y T4.

En T1: Se envan las direcciones y se proporcionan las seales de control ALE,
DT/ R y IO/M.

En T2: Se proporcionan las seales DEN, RD (lectura) o WR (escritura) En el caso
de escritura aparecen los datos que se van a escribir en el bus de datos. Al final
de T2 se muestra la seal READY.

En T3: Se da tiempo a la memoria para acceder a los datos. En el caso de que
sea un ciclo de lectura el bus de datos se muestra al final de T3.

En T4: Se desactivan todas las seales de control para prepararse para el
siguiente ciclo de bus. En este momento, el flanco positivo de WR transfiere datos
a la memoria, los cuales se activan y escriben cuando la seal WR retorna a 1.

157

Ciclo de escritura

Empieza con la aparicin de la seal ALE y la emisin de las direcciones. La seal
IO/M se suministra para indicar si esa memoria o a I/O.

En T2: Despus de la emisin de las direcciones, el 8088 emite el dato a escribir
en la locacin direccionada. Este dato permanece vlido al menos hasta la mitad
de T4.

Durante T2, T3 y Tw, el 8088 enva la seal de control de escritura (WR) que se
pone en estado activo en el comienzo de T2. Los datos se escriben en la memoria
en el flanco positivo de WR.

La seal de RD en la lectura est un poco ms retrasada que la de WR en la
escritura para dar tiempo a que el bus quede en alta impedancia.

Ciclo de lectura

Comienza en T1 con la aparicin de la seal ALE, cuyo flanco negativo se usa
para acerrojar las direcciones, que son vlidas en el bus de direcciones/datos
(AD0 AD7). Las lneas de direcciones A8 A15 no necesitan ser acerrojadas ya
que permanecen vlidas en todo el ciclo de bus.

De T1 a T4, la seal IO/M indica si es una operacin a memoria o a un dispositivo
de E/S.

En T2 las direcciones se sacan del bus de direcciones/datos y el bus se pone en
alta impedancia (AD0 AD7). La seal de control de lectura (RD) aparece en T2 y
causa que el dispositivo direccionado habilite su bus de datos. Un tiempo despus,
debe estar disponible el dato vlido sobre el bus.

158

Cuando el 8088 retorna la seal RD a un nivel alto, el dispositivo direccionado
pondr en alta impedancia su salida de datos.

Circuito Para Generar El Pulso De Reloj.

Adems del circuito para la sealizacin del P que propone el fabricante (8284A),
que se utiliza para RELOJ y RESET, podemos utilizar otros circuitos, uno de ellos,
se propone a continuacin:

Tomamos de la hoja de especificaciones del microprocesador la frecuencia de
operacin y el porcentaje del ciclo de trabajo. Para bajas velocidades, podemos
tomar 50% como ciclo de trabajo; como la oscilacin la determina la red RC,
proponemos el valor de C y calculamos R, ajustando el valor obtenido al valor
comercial prximo.

Por lo general, usamos inversores para este ejemplo de clculo: tomamos una
frecuencia igual a 2MHz, como inversor un schmitt trigger MC74HC14AC y como
capacitor uno cermico de 0.001F. El circuito a utilizar se muestra a continuacin:

Fig. 4.4 circuito

159

Para el clculo de la resistencia R, se consideran los datos anteriores y los
correspondientes al Schmitt trigger, los cuales se obtuvieron de las tablas de
referencia y son: VT+ = 2.7V VCC = 4.5V VT- = 1.8V

La frmula de la frecuencia est dada por:

Sustituyendo valores:

Despejando a R y sustituyendo los valores de f y C:




Circuito Para Generar La Seal De RESET.

El P requiere que el tiempo de duracin mnimo en esta terminal sea 50 s. Por
lo tanto, podemos utilizar el circuito integrado 8284A de la familia Intel que genera
el pulso de reloj y el de RESET o bien, hacerlo utilizando un inversor y una red
RC que garantice el tiempo de duracin de 50 s.

Debemos disear un circuito RC para garantizar al menos 50 s de duracin con
un disparador Schmitt trigger (inversor) considerando los parmetros VT+ y VT- de
dicho inversor.

En el diseo ocuparemos las frmulas del efecto transitorio, considerando los
datos del Schmitt trigger como: VT- = 1.8V = VC y VCC = 5V.
160


Para la red RC con disparador Schmitt, se tiene el siguiente desarrollo:




Proponemos C = 0.1 F y despejando a R:




El circuito para restauracin es:

Fig. 4.5 Circuito Para Demltiplexar El Bus De Direccin Del Bus De Datos Y De Control.
161

Demultiplexaje de canales.

El canal de direccin y de datos del 8086/8088 est multiplexado para reducir el
nmero de terminales requeridas en el circuito integrado. Desgraciadamente, esto
aumenta el trabajo del diseador con la tarea de mltiplexar la informacin
contenida en estas terminales.

Por qu no dejar multiplexados los canales? La memoria y la E/S requieren que
la direccin siga siendo vlida y establece un ciclo de lectura o escritura. Si los
canales estn multiplexados hay cambios de direccin en la memoria y en la E/S
lo que hace leer o escribir datos en las localidades errneas.

Todos los sistemas de computadora tienen tres canales: 1) Un canal de
direcciones que proporciona la direccin de memoria al nmero de puerto para la
E/S; 2) un canal de datos que transfiere los datos entre el microprocesador y la
memoria y la E/S en el sistema y 3) un canal de control que aplica seales de
control en la memoria y E/S lo que hace leer o escribir datos en localidades
errneas.

Si hay ms de 10 cargas lgicas conectadas en cualquier terminal de un canal,
hay que acoplar la totalidad del sistema 8086 o del 8088. Las terminales
demultiplexadas ya estn acopladas con los registros transparentes 74LS573, que
se han diseado para manejar los canales de alta capacitancia que se encuentran
en los sistemas de microcomputadoras. Se han aumentado las corrientes de
salida de los registros a fin de que se puedan manejar ms unidades de carga
TTL; un 0 lgico de salida proporciona hasta 32mA de disipacin de corriente y
una salida en 1 lgico proporciona hasta 5.2mA de corriente.

Una vez que hemos demultiplexado el bus de direccin del de datos y control,
podemos conectar bloques de RAM y/o PROM y puertos de E/S paralelo o tarjetas
162

conteniendo varios puertos de E/S paralelos. Tambin podemos conectar puertos
seriales, tal como se describi en el tema de memorias y E/S.

4.1.2 Cpu.

Las caractersticas que un CPU tiene son:

Memoria
Unidad aritmtica lgica
Unidad o procesador de control
Memoria Principal (Interna O Central).
Se almacenan datos y programas, hay dos operaciones que se hacen en la
memoria (lee y escribe) entonces se dice que es donde almacena, se lee y se
escribe.
Es un conjunto de clulas numeradas y dos registros especiales con los que
realiza las transacciones.
El registro de direccin que indica el nmero de la clula afectada y el de
intercambio que contiene la informacin leda o la que hay que escribir en la clula
de cuestin.
La memoria central o simplemente memoria (interna o principal) se utiliza para
almacenar informacin. En general, la informacin almacenada en memoria puede
ser de dos tipos: las instrucciones de un programa y los datos con los que se
operan las instrucciones.
Por ejemplo: Para que un programa se pueda ejecutar (correr, rodar, funcionar,),
debe ser situado en la memoria, en una operacin denominada carga (load) del
programa.
163

La memoria central de una computadora es una zona de almacenamiento
organizada en centenares o millares de unidades de almacenamiento individual
celdas.
La unidad elemental de memoria se llama byte(octeto). Un byte tiene la capacidad
de almacenar un carcter de informacin, y est formado por un conjunto de
unidades ms pequeas de almacenamiento denominadas bits, que son dgitos
binarios (0 1). Generalmente se acepta que un byte contiene ocho bits. Por
consiguiente, si se desea almacenar la frase la computadora utilizara exactamente
23 bytes consecutivos de memoria. Obsrvese que adems de las letras, existen
cuatro espacios en blanco y un punto (un espacio es un carcter que emplea
tambin un byte). De modo similar, el nmero del pasaporte P57487891 ocupara 9
bytes. Estos datos se llaman alfanumricos y pueden constar de alfabeto, Dgitos
o incluso caracteres especiales (smbolos: $, #,*, etc.). Mientras que cada carcter
de un dato alfanumrico se almacena en un byte, la informacin numrica se
almacena de un modo diferente. Los datos numricos ocupan 2,4 e incluso 8 bytes
consecutivos, dependiendo del tipo de dato numrico.
Existen dos conceptos importantes asociados a cada byte o posicin de memoria:
su direccin y contenido. Cada celda o byte tiene asociada una nica direccin
que indica su posicin relativa en memoria mediante la cual se puede acceder a la
posicin para almacenar o recuperar informacin. La informacin almacenada en
una posicin de memoria es su contenido.
El contenido de estas direcciones o posiciones de memoria se llaman palabras, de
modo que existen palabras de 8, 16, 32, y 64 bits. Por consiguiente, si trabaja con
una mquina de 32 bits, es decir, 32 dgitos, bien ceros o unos.
Siempre que una nueva informacin se almacena en una posicin, se destruye
(desaparece) cualquier informacin que en ella hubiera y no se puede recuperar.
164

La direccin es permanente y nica, el contenido puede cambiar mientras se
ejecuta un programa.
La memoria central de una computadora puede tener desde unos centenares de
millares de bytes hasta millones de bytes. Como el byte es una unidad elemental
de almacenamiento, se utilizan mltiplos para definir el tamao de la memoria
central:
Kilo-byte (KB o Kb) igual a 1.024 bytes (210) prcticamente se toman 1.000 y
Mega byte (MB o Mb) igual a 1.024 x 1.024 bytes (220) prcticamente se
considera un 1.000.000. Las computadoras personales tipo PC tienen memorias
centrales desde 512 640 k aunque es frecuentemente ver PCs con memorias de
1, 2, 4, 12, etc., Mb.
Pasos que se hacen en la lectura:
1. Almacenar la direccin de la clula en la que se encuentra la informacin a
leer datos se almacena en el registro de direccin.

2. Cambiar el registro de intercambio la informacin contenida en la clula
apuntada por el registro de direccin.

3. Transferir el contenido de registro de intercambio al registro de la CPU que
corresponda.
Pasos para la escritura:
1. Transferir el registro de intercambio la informacin a escribir.

2. Almacenar la segunda direccin de la clula receptora de la informacin en
el registro de direccin.

165

3. Cargar el contenido de registro de intercambio en la clula apuntada por el
registro de direccin.
UAL (Unidad Aritmtica Lgica).
La unidad aritmtica lgica opera los datos que recibe siguiendo las indicaciones
por la unidad de control. Esta unidad puede realizar operaciones aritmticas
lgicas, por ejemplo: el de realizar la suma, la forma en que realiza la operacin.
1. Se debe tener el cdigo de operacin que indique la operacin a efectuar
en este caso el cdigo de suma.

2. Direccin de la clula en la que se encuentra almacenado el primer
sumando.

3. Direccin del segundo sumando.

4. Direccin de la clula en la que se almacena el resultado.
Instrucciones para efectuar la suma.
a) Cargar el primer operando en el acumulador.

b) Sumar el segundo operando con el contenido del acumulador.

c) Cargar el contenido del acumulador en la direccin del resultado.
Unidad De Control (La Unidad Que Va Decidir Controlar).
La unidad de control es el autntico cerebro que controla y coordina el
funcionamiento de la computadora. A raz de la interpretacin de las instrucciones
166

que integran el programa esta unidad genera el conjunto de rdenes elementales
necesarias para que se realice la tarea necesitada.
Pasos para la unidad de control.
1. Se extrae de la memoria principal la instruccin a ejecutar esa informacin
es almacenada en el contador de instrucciones, la informacin que se
almacena es la prxima instruccin a ejecutar en el registro de instruccin
propiamente dicha.

2. Una vez conocido el cdigo de la operacin la unidad de control ya sabe
que circuitos de la UAL deben de intervenir pueden establecerse las
conexiones elctricas necesarias a travs del secuenciador.

3. Extrae de la memoria principal los datos necesarios para ejecutar la
instruccin en proceso

4. Ordena la AUL que efecta las operaciones el resultado de este es
depositado en el acumulado de la AUL.

5. Si la instruccin ha proporcionado nuevos datos estos son almacenados en
la memoria principal.

6. Incrementa en una unidad el contenido del contador de instrucciones a
ejecutar.
Unidades Perifricas
Unidades de comunicacin
Memorias auxiliares.
167

Las unidades de comunicacin: Permiten el dialogo con el exterior que son las de
entrada y salida ejemplo: teclado, monitor impresora, mouse.
Las memorias auxiliares: Sirven para almacenar grandes volmenes de datos de
forma permanente por ejemplo: Unidades de discos y cintas magnticas.
La comunicacin entre los perifricos y la computadora se realizan atreves de los
canales.
Procesamiento de la CPU
Una CPU procesa informacin almacenada en los bytes de la memoria. Esta
informacin puede ser datos o instrucciones. Un dato es una representacin
binaria de una letra, un nmero, o un color; mientras que una instruccin le dice a
la CPU que hacer con ese dato, es decir si sumarlo, si restarlo, moverlo, etc.
La CPU realiza tres operaciones bsicas con los datos: puede leerlos, procesarlos,
y escribirlos en la memoria. Es decir que, la CPU necesita solo cuatro elementos
para realizar dichas operaciones con los datos: Las instrucciones, un puntero a las
instrucciones (Instruccin Pointer), algunos registros, y la unidad aritmtica lgica.
El Instruccin Pointer le indica a la CPU en qu lugar de la memoria necesita ser
ubicada la instruccin.
Los Registros son lugares de almacenamiento temporario ubicados en la CPU. Un
registro contiene datos que esperan ser procesados por cualquier instruccin, o
datos que ya han sido procesados, como por ejemplo, la suma o resta de algn
nmero, etc.
La unidad aritmtica lgica es una especie de calculadora que ejecuta funciones
matemticas y lgicas dedicadas a las instrucciones.
168

Por otro lado, la CPU contiene algunas partes adicionales que ayudan a dichos
componentes principales a realizar el trabajo:
Un buscador de instrucciones (fetch), que recoge las instrucciones de la RAM o un
rea de memoria localizada en la CPU.
Un decodificador de instrucciones, que toma la instruccin desde el buscador y la
traslada hasta que la CPU la entienda. Luego determina cuales son los pasos
necesarios para cumplir con dicha instruccin.
La unidad de control, maneja y coordina todas las operaciones del chip. Este le
permite saber a la unidad aritmtica lgica cuando debe calcular, al buscador
cuando debe grabar una cifra, y al decodificador cuando trasladar la cifra dentro
de una instruccin.
Memoria
El propsito del almacenamiento es guardar datos que la computadora no est
usando. El almacenamiento tiene tres ventajas sobre la memoria:
1. Hay ms espacio en almacenamiento que en memoria.
2. El almacenamiento retiene su contenido cuando se apaga el computador.
3. El almacenamiento es ms barato que la memoria.
El medio de almacenamiento ms comn es el disco magntico. El dispositivo que
contiene al disco se llama unidad de disco (drive). La mayora de las
computadoras personales tienen un disco duro no removible. Adems usualmente
hay una o dos unidades de disco flexible, las cuales le permiten usar discos
flexibles removibles. El disco duro normalmente puede guardar muchos ms datos
que un disco flexible y por eso se usa disco duro como el archivero principal de la
computadora. Los discos flexibles se usan para cargar programas nuevos, o datos
al disco duro, intercambiar datos con otros usuarios o hacer una copia de respaldo
de los datos que estn en el disco duro.
169

Una computadora puede leer y escribir informacin en un disco duro mucho ms
rpido que en el disco flexible. La diferencia de velocidad se debe a que un disco
duro est construido con materiales ms pesados, gira mucho ms rpido que un
disco flexible y est sellado dentro de una cmara de aire, las partculas de polvo
no pueden entrar en contacto con las cabezas.
La memorizacin consiste en la capacidad de registrar sea una cadena de
caracteres o de instrucciones (programa) y tanto volver a incorporarlo en
determinado proceso como ejecutarlo bajo ciertas circunstancias.
El computador dispone de varios dispositivos de memorizacin:
o La memoria ROM
o La memoria RAM
o Las memorias externas. Un aspecto importante de la memorizacin
es la capacidad de hacer ese registro en medios permanentes,
bsicamente los llamados "archivos" grabados en disco.
o El acumulador
Arquitectura De La Memoria (ROM)

La arquitectura (estructura) interna de un CI-ROM es muy compleja y no
necesitamos conocer todos sus detalles. Sin embargo es constructivo observar un
diagrama simplificado de la estructura interna. Existen cuatro partes bsicas:
decodificador de renglones, arreglo de registros y buffer de salida.
Arreglo de registros.

El arreglo de registros almacena los datos que han sido programados en la ROM.
Cada registro contiene un numero de celdas de memoria que es igual al tamao
de la palabra. En este caso, cada registro almacena una palabra de 8 bits. Los
registros se disponen en un arreglo de matriz< cuadrada que es comn a muchos
170

circuitos de semiconductor. Podemos especificar la posicin de cada registro
como una ubicada en un regln y una columna especficos.

Las 8 salidas de datos de cada registro se conectan a un canal de datos interno
que corre atreves de todo el circuito. Cada registro tiene dos entradas de
habilitacin (E); ambas tienen que ser altas a fin de que los datos del registro sean
colocados en el canal.
Decodificadores de direcciones.
El cdigo de direccin aplicado A3, A2, A1, A0, determina que registro ser
habilitado para colocar su palabra de datos en 8 bits en el canal. Los bits de
direccin A1, A0, se alimentan de un decodificador uno de 4 que activa una lnea
de seleccin de rengln, y los bits de direccin A3, A2, se alimentan de un
segundo decodificador uno de cuatro que activa una lnea de seleccin de
columna. Solamente un registro estar en el rengln y la columna seleccionados
por las entradas de difraccin, y estar habilitado.
Buffer de salida.
El registro habilitado por las entradas de seleccin coloca el dato que tiene sobre
el canal de datos. Estos datos entraran en los buffers de salida mismos que se
encargan de trasmitirlos hacia las salidas externas siempre y cuando CS este en
bajo. Si CS esta en alto, los buffers de salida se encuentran en el estado de alta
impedancia, con lo que D7 hasta D0 estarn flotando.
4.1.3 Espacio de memoria

En los micro controladores la memoria de instrucciones y datos est integrada en
el propio chip. Una parte debe ser no voltil, tipo ROM, y se destina a contener el
programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser
tipo RAM, voltil, y se destina a guardar las variables y los datos.
171

Hay dos peculiaridades que diferencian a los micro controladores de los
computadores personales:
No existen sistemas de almacenamiento masivo como disco duro o disquetes.
Como el micro controlador slo se destina a una tarea en la memoria ROM, slo
hay que almacenar un nico programa de trabajo.
La RAM en estos dispositivos es de poca capacidad pues slo debe contener las
variables y los cambios de informacin que se produzcan en el transcurso del
programa. Por otra parte, como slo existe un programa activo, no se requiere
guardar una copia del mismo en la RAM pues se ejecuta directamente desde la
ROM.
Los usuarios de computadores personales estn habituados a manejar Megabytes
de memoria, pero, los diseadores con micro controladores trabajan con
capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de RAM
comprendidas entre 20 y 512 bytes.
Segn el tipo de memoria ROM que dispongan los micro controladores, la
aplicacin y utilizacin de los mismos es diferente. Se describen las cinco
versiones de memoria no voltil que se pueden encontrar en los micros
controladores del mercado.
1. ROM con mscara
Es una memoria no voltil de slo lectura cuyo contenido se graba durante la
fabricacin del chip. El elevado coste del diseo de la mscara slo hace
aconsejable el empleo de los micro controladores con este tipo de memoria
cuando se precisan cantidades superiores a varios miles de unidades.
2. OTP
El microcontrolador contiene una memoria no voltil de slo lectura "programable
una sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien
172

puede escribir el programa en el chip mediante un sencillo grabador controlado por
un programa desde un PC.
La versin OTP es recomendable cuando es muy corto el ciclo de diseo del
producto, o bien, en la construccin de prototipos y series muy pequeas.
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin
mediante fusibles para proteger el cdigo contenido.
3 EPROM
Los microcontroladores que disponen de memoria EPROM (Erasable
Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La
grabacin se realiza, como en el caso de los OTP, con un grabador gobernado
desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una
ventana de cristal en su superficie por la que se somete a la EPROM a rayos
ultravioleta durante varios minutos.
Las cpsulas son de material cermico y son ms caros que los
microcontroladores con memoria OTP que estn hechos con material plstico.
4 EEPROM
Se trata de memorias de slo lectura, programables y borrables elctricamente
EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la
programacin como el borrado, se realizan elctricamente desde el propio
grabador y bajo el control programado de un PC. Es muy cmoda y rpida la
operacin de grabado y la de borrado. No disponen de ventana de cristal en la
superficie.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el
circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de
dicho circuito. Para ello se usan "grabadores en circuito" que confieren una gran
flexibilidad y rapidez a la hora de realizar modificaciones en el programa de
trabajo.
173

El nmero de veces que puede grabarse y borrarse una memoria EEPROM es
finito, por lo que no es recomendable una reprogramacin continua. Son muy
idneos para la enseanza y la Ingeniera de diseo.
Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de
memoria EEPROM en los circuitos programables para guardar y modificar
cmodamente una serie de parmetros que adecuan el dispositivo a las
condiciones del entorno.
Este tipo de memoria es relativamente lenta.
5 FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y
borrar. Funciona como una ROM y una RAM pero consume menos y es ms
pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms
rpida y de mayor densidad que la EEPROM.
La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa
gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos
de escritura/borrado.
Las memorias EEPROM y FLASH son muy tiles al permitir que los
microcontroladores que las incorporan puedan ser reprogramados "en circuito", es
decir, sin tener que sacar el circuito integrado de la tarjeta. As, un dispositivo con
este tipo de memoria incorporado al control del motor de un automvil permite que
pueda modificarse el programa durante la rutina de mantenimiento peridico,
compensando los desgastes y otros factores tales como la compresin, la
instalacin de nuevas piezas, etc. La reprogramacin del microcontrolador puede
convertirse en una labor rutinaria dentro de la puesta a punto.

174

4.1.4Entrada/ salida.

La principal utilidad0 de las patitas que posee la cpsula que contiene un
microcontrolador es soportar las lneas de E/S que comunican al computador
interno con los perifricos exteriores.
Segn los controladores de perifricos que posea cada modelo de
microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las
seales de entrada, salida y control.

Fig. 4.6 ejemplo de un microcontrolador
4.1.5 Caractersticas especiales.

Cada fabricante oferta numerosas versiones de una arquitectura bsica de
microcontrolador. En algunas ampla las capacidades de las memorias, en otras
incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para
aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo
mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma,
minimizar el coste, el hardware y el software.

Los principales recursos especficos que incorporan los microcontroladores son:
Temporizadores o "Timers".
175

Perro guardin o "Watchdog".
Proteccin ante fallo de alimentacin o "Brownout".
Estado de reposo o de bajo consumo.
Conversor A/D.
Conversor D/A.
Comparador analgico.
Modulador de anchura de impulsos o PWM.
Puertas de E/S digitales.
Puertas de comunicacin.
Definiciones.-
Temporizadores o "Timers"
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la
cuenta de acontecimientos que suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a
continuacin dicho valor se va incrementando o decrementando al ritmo de los
impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en
el que se produce un aviso.
Cuando se desean contar acontecimientos que se materializan por cambios de
nivel o flancos en alguna de las patitas del microcontrolador, el mencionado
registro se va incrementando o decrementando al ritmo de dichos impulsos.
Perro guardin o "watchdog"
Cuando el computador personal se bloquea por un fallo del software u otra causa,
se pulsa el botn del reset y se reinicializa el sistema. Pero un microcontrolador
funciona sin el control de un supervisor y de forma continuada las 24 horas del da.
El Perro guardin consiste en un temporizador que, cuando se desborda y pasa
por 0, provoca un reset automticamente en el sistema.
176

Se debe disear el programa de trabajo que controla la tarea de forma que
refresque o inicialice al Perro guardin antes de que provoque el reset. Si falla el
programa o se bloquea, no se refrescar al Perro guardin y, al completar su
temporizacin, "ladrar y ladrar" hasta provocar el reset.
Proteccin ante fallo de alimentacin o "brownout"
Se trata de un circuito que resetea al microcontrolador cuando el voltaje de
alimentacin (VDD) es inferior a un voltaje mnimo ("brownout"). Mientras el voltaje
de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado,
comenzando a funcionar normalmente cuando sobrepasa dicho valor.
Estado de reposo o de bajo consumo
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe
esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le
ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los
aparatos porttiles), los microcontroladores disponen de una instruccin especial
(SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el
cual los requerimientos de potencia son mnimos. En dicho estado se detiene el
reloj principal y se "congelan" sus circuitos asociados, quedando sumido en un
profundo "sueo" el microcontrolador. Al activarse una interrupcin ocasionada por
el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo.
Conversor A/D (CAD)
Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital)
pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen
disponer de un multiplexor que permite aplicar a la entrada del CAD diversas
seales analgicas desde las patitas del circuito integrado.
Conversor D/A (CDA)
177

Transforma los datos digitales obtenidos del procesamiento del computador en su
correspondiente seal analgica que saca al exterior por una de las patitas de la
cpsula. Existen muchos efectores que trabajan con seales analgicas.
Comparador analgico
Algunos modelos de microcontroladores disponen internamente de un
Amplificador Operacional que acta como comparador entre una seal fija de
referencia y otra variable que se aplica por una de las patitas de la cpsula. La
salida del comparador proporciona un nivel lgico 1 0 segn una seal sea
mayor o menor que la otra.
Tambin hay modelos de microcontroladores con un mdulo de tensin de
referencia que proporciona diversas tensiones de referencia que se pueden aplicar
en los comparadores.
Modulador de anchura de impulsos o PWM
Son circuitos que proporcionan en su salida impulsos de anchura variable, que se
ofrecen al exterior a travs de las patitas del encapsulado.
Puertos de e/s digitales
Todos los microcontroladores destinan algunas de sus patitas a soportar lneas de
E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho formando
Puertos.
Las lneas digitales de los Puertos pueden configurarse como Entrada o como
Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a
su configuracin.
Puertos de comunicacin
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros
dispositivos externos, otros buses de microprocesadores, buses de sistemas,
buses de redes y poder adaptarlos con otros elementos bajo otras normas y
178

protocolos. Algunos modelos disponen de recursos que permiten directamente
esta tarea, entre los que destacan:
UART, adaptador de comunicacin serie asncrona.
USART, adaptador de comunicacin serie sncrona y asncrona Puerta paralela
esclava para poder conectarse con los buses de otros microprocesadores.
USB (Universal Serial Bus), que es un moderno bus serie para los PC.

4.2 Programacin.
La electrnica ha evolucionado mucho. Casi todo lo que hasta hace unos aos se
haca mediante un grupo (a veces muy numeroso) de circuitos integrados
conectados entre s, hoy se puede realizar utilizando un microcontrolador y unos
pocos componentes adicionales.
De todos los fabricantes de micro controladores que existen, los ms elegidos por
los hobbystas suelen ser los modelos de Microchip, en gran parte debido a la
excelente documentacin gratuita que proporciona la empresa para cada modelo.

El lenguaje nativo de estos microcontroladores es el ASM, y en el caso de la
familia 16F solo posee 35 instrucciones. Pero el ASM es un lenguaje que est
mucho ms cerca del hardware que del programador, y gracias a la
miniaturizacin que permite incorporar cada vez ms memoria dentro de un
microcontrolador sin aumentar prcticamente su costo, han surgido compiladores
de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C.
El BASIC resulta bastante ms simple de aprender.

Antes de comenzar a ver los temas programacin en si mismos, debemos aclarar
algunos conceptos bsicos sobre los microcontroladores para poder entender lo
que hace cada instruccin BASIC. Eso ser muy til para los que vayan a
comenzar a programar a partir de este artculo.
179

Lo ms interesante de trabajar con microcontroladores es que se necesitan
conocimientos tanto de electrnica (hardware) como de programacin (software)
as que a lo largo de estos tutoriales iremos viendo temas de ambas disciplinas, ya
que ntimamente vinculadas.
Un microcontrolador es como un ordenador en pequeo: dispone de una memoria
donde se guardan los programas, una memoria para almacenar datos, dispone de
puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232),
conversores analgico/digital, generadores de pulsos PWM para el control de
motores, bus I2C, y muchas cosas ms. Por supuesto, no tienen ni teclado ni
monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas
LCD o LED para mostrar informacin.
En general, por cada cuatro ciclos de reloj del microcontrolador se ejecuta una
instruccin ASM (una instruccin BASIC consta generalmente de ms de una
instruccin ASM). Esto significa que un PIC funcionando a 20MHz puede ejecutar
5 millones de instrucciones por segundo.
Los pines del PIC se dedican casi en su totalidad a los puertos que
mencionbamos anteriormente. El resto (2 o ms) son los encargados de
proporcionar la alimentacin al chip, y a veces, un sistema de RESET. Desde
BASIC es posible saber si un pin esta en estado alto (conectado a 5V o a un 1
lgico) o en estado bajo (puesto a 0V o a un 0 lgico). Tambin se puede
poner un pin de un puerto a 1 o 0. De esta manera, y mediante un rele, por
ejemplo, se puede encender o apagar una luz, motor, maquina, etc.

Uno de los microcontroladores ms famosos de todos los tiempos ha sido, sin
duda, el 16F84A, que ya es considerado obsoleto. Un buen reemplazo es el
16F628A, y es el que utilizaremos en la mayora de los ejemplos y proyectos que
veamos. La disposicin de sus pines es la siguiente:
180



Fig. 4.7 Funcin de los pines del 16F628A

Como podemos ver, los pines 1, 2, 3, 4, 15, 16, 17 y 18 tienen el nombre de RAx.
Esos pines conforman el puerto A, PORTA de ahora en ms. Los pines 6 al 13
forman parte del puerto B (PORTB). El pin 5 es el que se conectara al negativo
de la fuente de alimentacin. El 14 ir conectado a 5V.
Como habrn notado, muchos de los pines tienen ms de una descripcin. Esto se
debe a que pueden utilizarse de varias maneras diferentes, seleccionables por
programa. Por ejemplo, el pin 4 sirve como parte del PORTA, como RESET
(MCLR = Master Clear) y como tensin de programacin (Vpp)

4.2.1 Modelo de programacin
La opcin de programar en C se debe al hecho de que los microcontroladores, se
disean con un repertorio de instrucciones optimizado para su programacin en C,
y la facilidad en el desarrollo de programas ms complejos. Durante mucho
tiempo, la programacin en C cargaba con el lastre de la optimizacin y necesidad
de memoria, pero los compiladores han ido evolucionando hacia una mayor
optimizacin que junto con el aumento de memoria de los pic permite de sobra en
la mayora de los casos la programacin en C.
181

4.2.2 Conjunto de instrucciones
Se pueden clasificar en los siguientes grupos:
Instrucciones de Transferencia de Datos.
Estas instrucciones mueven datos de una parte a otra del sistema; desde y hacia
la memoria principal, de y a los registros de datos, puertos de E/S y registros de
segmentacin.
Las instrucciones de transferencia de datos son las siguientes:
MOV transfiere
XCHG intercambia
IN entrada
OUT salida
XLAT traduce usando una tabla
LEA carga la direccin efectiva
LDS carga el segmento de datos
LES carga el segmento extra
LAHF carga los indicadores en AH
SAHF guarda AH en los indicadores
PUSH FUENTE (sp) fuente
POP DESTINO destino (sp)
Control de Bucles (instrucciones simples)
Estas posibilitan el grupo de control ms elemental de nuestros programas. Un
bucle es un bloque de cdigo que se ejecuta varias veces. Hay 4 tipos de bucles
bsicos:
Bucles sin fin
Bucles por conteo
182

Bucles hasta
Bucles mientras
Las instrucciones de control de bucles son las siguientes:
INC incrementar
DEC decrementar
LOOP realizar un bucle
LOOPZ,LOOPE realizar un bucle si es cero
LOOPNZ,LOOPNE realizar un bucle si no es cero
JCXZ salta si CX es cero
Instrucciones de Prueba, Comparacin y Saltos.
Este grupo es una continuacin del anterior, incluye las siguientes instrucciones:
TEST verifica
CMP compara
JMP salta
JE, JZ salta si es igual a cero
JNE, JNZ salta si no igual a cero
JS salta si signo negativo
JNS salta si signo no negativo
JP, JPE salta si paridad par
JNP, JOP salta si paridad impar
JO salta si hay capacidad excedida
JNO salta si no hay capacidad excedida
JB, JNAE salta si por abajo (no encima o igual)
JNB, JAE salta si no est por abajo (encima o igual)
JBE, JNA salta si por abajo o igual (no encima)
JNBE, JA salta si no por abajo o igual (encima)
JL, JNGE salta si menor que (no mayor o igual)
183

JNL, JGE salta si no menor que (mayor o igual)
JLE, JNG salta si menor que o igual (no mayor)
JNLE, JG salta si no menor que o igual (mayor)
Instrucciones de Llamado y Retorno de Subrutinas.
Para que los programas resulten eficientes y legibles tanto en lenguaje
ensamblador como en lenguaje de alto nivel, resultan indispensables las
subrutinas:
CALL llamada a subrutina
RET retorno al programa o subrutina que llam
Instrucciones Aritmticas.
Estas instrucciones son las que realiza directamente el 8086/8088
a. Grupo de adicin:
ADD suma
ADC suma con acarreo
AAA ajuste ASCII para la suma
DAA ajuste decimal para la suma
b. Grupo de sustraccin:
SUB resta
SBB resta con acarreo negativo
AAS ajuste ASCII para la resta
DAS ajuste decimal para la resta
c. Grupo de multiplicacin:
MUL multiplicacin
184

IMUL multiplicacin entera
AAM ajuste ASCII para la multiplicacin
d. Grupo de divisin:
DIV divisin
IDIV divisin entera
AAD ajuste ASCII para la divisin
e. Conversiones:
CBW pasar octeto a palabra
CWD pasar palabra a doble palabra
NEG negacin
f. Tratamiento de cadenas:
Permiten el movimiento, comparacin o bsqueda rpida en bloques de datos:
MOVC transferir carcter de una cadena
MOVW transferir palabra de una cadena
CMPC comparar carcter de una cadena
CMPW comparar palabra de una cadena
SCAC buscar carcter de una cadena
SCAW buscar palabra de una cadena
LODC cargar carcter de una cadena
LODW cargar palabra de una cadena
STOC guardar carcter de una cadena
STOW guardar palabra de una cadena
REP repetir
CLD poner a 0 el indicador de direccin
STD poner a 1 el indicador de direccin
185

Instrucciones Lgicas.
Son operaciones bit a bit que trabajan sobre octetos o palabras completas:
NOT negacin
AND producto lgico
OR suma lgica
XOR suma lgica exclusiva
Instrucciones de Desplazamiento, Rotacin y Adeudos.
Bsicamente permiten multiplicar y dividir por potencias de 2
SHL, SAL desplazar a la izquierda (desplazamiento aritmtico)
SHR desplazar a la derecha
SAR desplazamiento aritmtico a la derecha
ROL rotacin a la izquierda
ROR rotacin a la derecha
RCL rotacin con acarreo a la izquierda
RCR rotacin con acarreo a la derecha
CLC borrar acarreo
STC poner acarreo a 1
Instrucciones de Pila.
Una de las funciones de la pila del sistema es la de salvaguardar (conservar)
datos (la otra es la de salvaguardar las direcciones de retorno de las llamadas a
subrutinas):
PUSH introducir
POP extraer
PUSHF introducir indicadores
POPF extraer indicadores
186

Instrucciones de Control del microprocesador.
Hay varias instrucciones para el control de la CPU, ya sea a ella sola, o en
conjuncin con otros procesadores:
NOP no operacin
HLT parada
WAIT espera
LOCK bloquea
ESC escape
Instrucciones de Interrupcin.
STI poner a 1 el indicador de interrupcin
CLI borrar el indicador de interrupcin
INT interrupcin
INTO interrupcin por capacidad excedida (desbordamiento)
IRET retorno de interrupcin


Las instrucciones de transferencia condicional del control del programa se pueden
clasificar en 3 grupos:
1. Instrucciones usadas para comparar dos enteros sin signo:
a. JA o JNBE. Salta si est arriba o salta si no est abajo o si no es igual (jump if
above o jump if not below or equal) El salto se efecta si la bandera ce CF = 0 o si
la bandera de ZF = 0
b. JAE o JNB. Salta si est arriba o es igual o salta si no est abajo (jump if above
or equal o jump if not below) El salto se efecta si CF = 0.
187

c. JB o JNAE. Salta si est abajo o salta si no est arriba o si no es igual (jump if
below or equal o jump if not above or equal) El salto se efecta si CF=1.
d. JBE o JNA. Salta si est abajo o si es igual o salta si no est arriba (jump if
below or equa o jump if not above) El salto se efecta si CF = 1.
e. JE o JZ. Salta si es igual o salta si es cero (jump equal o jump if zero) El salto
se efecta si ZF = 1 (tambin se aplica a comparaciones de enteros con signo)
f. JNE o JNZ. Salta si no es igual o salta si no es cero (jump if not equal o jump if
not zero) El salto se efecta si ZF = 0 (tambin se aplica a comparaciones de
enteros con signo)
2. Instrucciones usadas para comparar dos enteros con signo:
a. JG o JNLE. Salta si es ms grande o salta si no es menor o igual (jump if
greater o jump if not less or equal) El salto se efecta si ZF = 0 o OF = SF.
b. JGE o JNL. Salta si es ms grande o igual o salta si no es menor que (jump if
greater or equal o jump if not less) El salto se efecta si SF = OF.
c. JL o JNGE. Salta si es menor que o salta si no es mayor o igual (jump if less o
jump if not greater or equal) El salto se efecta si SF = OF.
d. JLE o JNG. Salta si es menor o igual o salta si no es ms grande (jump if less or
equal o jump if not greater) El salto se efecta si ZF = 1 o SF = OF.
3. Instrucciones usadas segn el estado de banderas:
a. JC Salta si hay acarreo (jump if carry) El salto se efecta si CF = 1.
b. JNC Salta si no hay acarreo (jump if not carry) El salto se efecta si CF = 0.
188

c. JNO Salta si no hay desbordamiento (jump if not overflow) El salto se efecta si
OF = 0.
d. JNP o JPO Salta si no hay paridad o salta si la paridad en non. El salto se
efecta si PF= 0.
e. JNS Salta si el signo est apagado (jump if not sign) El salto se efecta si SF =
0.
f. JO Salta si hay desbordamiento (jump if overflow) El salto se efecta si OF = 1.
g. JP o JPE Salta si hay paridad o salta si la paridad es par (jump if parity o jump if
parity even) El salto se efecta si PF = 1.
h. JS Salta si el signo est prendido (jump if sign set) El salto se efecta si SF = 1.
Las comparaciones con signo van de acuerdo con la interpretacin que usted le
quiera dar a los bytes o palabras de su programa. Por ejemplo, suponga que tiene
un byte cuyo valor es 11111111 en binario y que desea compararlo con otro cuyo
valor es 00000000. Es 11111111 mayor que 00000000? S y NO, eso depende
de la interpretacin que usted le quiera dar. Si trabaja con nmeros enteros sin
signo S LO SER, pues 255 es mayor que 0. Por el contrario, si tiene signo
entonces SER MENOR puesto que -1 es siempre menor que 0.
Lo anterior lleva a seleccionar las instrucciones de comparacin y de salto de
acuerdo con la interpretacin que se les d a los bytes o palabras; reflexione sobre
este punto.
Los saltos condicionales se encuentran limitados al rango de -128 a +127 bytes
como mxima distancia, ya sea adelante o hacia atrs. Si desea efectuar un salto
a mayores distancias es necesario crear una condicin mixta entre saltos
condicionales y no condicionales.
189

Iteraciones.
Con los saltos condicionales y no condicionales se pueden crear estructuras de
iteracin bastante complejas, aunque existen instrucciones especficas para ello
tal como loop.
Esta instruccin es muy til cuando se va a efectuar cierto bloque de instrucciones
un nmero finito de veces. He aqu un ejemplo:

CUENTA: DW, 100
MOV CX, CUENTA
ITERA:
LOOP ITERA
El bloque de instrucciones que se encuentra entre la etiqueta ITERA y la
instruccin loop ser ejecutado hasta que el registro CX sea igual a 0. Cada vez
que se ejecuta la instruccin loop, el registro CX es decrementado en 1 hasta
llegar a 0.
Esta instruccin tiene la limitante de que debe encontrarse en el rango de +128 a -
127 (mximo nmero de bytes entre ITERA y loop)
Iteraciones condicionales
Existen otras dos variantes de la instruccin loop. Las instrucciones loope y loopz
decrementan CX e iteran si CX = 0 y ZF = 1, mientras que loopne y looppnz iteran
si CX" 0 y ZF" 0. Un punto importante es que al decrementarse CX las banderas
NO RESULTAN AFECTADAS. Por lo tanto, le corresponde a usted afectarlas
dentro del bloque de iteracin.
190

Formato de las instrucciones
Cada instruccin en lenguaje ensamblador del 8088 est compuesta de 4 campos:
etiqueta operacin operando comentario.
El campo comentario se utiliza para propsitos de documentacin y es opcional.
Campo etiqueta: Una etiqueta debe comenzar con un carcter alfabtico y puede
contener hasta 31 caracteres, incluyendo:
Letras de la A a la Z
Nmeros del 0 al 9
Los smbolos especiales: - $ . @ %
No se puede utilizar un nombre que coincida con una palabra reservada o directiva
del ensamblador. Si el nombre incluye un punto, entonces el punto debe ser el
primer carcter.
Campo operacin: Contiene el nemotcnico de la instruccin, que es de 2 a 6
caracteres.
Campo operando: Contiene la posicin o posiciones donde estn los datos que
van a ser manipulados por la instruccin.
Campo comentario: Se utiliza para documentar el cdigo fuente del ensamblador.
Debe separarse del ltimo campo por al menos un espacio e iniciar con ;.
Cuando inicia un comentario en una lnea sta deber tener en la primera columna
el carcter;
Modos De Direccionamiento Y Generacin Del Cdigo Objeto
Generacin de la direccin de la instruccin.
191

Todos los registros internos del 8086/8088 son de 16 bits. El bus de direccin es
de 20 bits, por lo que se usa ms de un registro interno para generar la direccin
de 20 bits.
Los 2 registros usados para la direccin de la instruccin son el IP y el CS. Se
combinan en una forma especial para generar la direccin de 20 bits. direccin de
20 bits = 1610 * CS + IP
Por ejemplo: Si los registros CS e IP contienen los valores:
CS = 1000H
IP = 0414 H
La direccin de 20 bits es:
1610 * 1000H + 0414H = 10000H + 0414H = 10414H
Esta es la direccin en memoria desde la cual la nueva instruccin debe buscarse.
Al registro IP se le refiere como offset, el registro CS * 1610 apunta a la direccin
de inicio o segmento en memoria desde el cual se calcula el offset.

La Figura 4.8 muestra grficamente cmo se calcula la direccin de 20 bits.

Cada direccin generada por el 8086/8088 usa uno de los 4 registros de
segmento. Este registro de segmento es recorrido 4 bits hacia la izquierda antes
de ser sumado al offset.
192

La instruccin del CPU especfica cules registros internos se usan para generar
el offset. Vamos a ver los diferentes modos de direccionamiento tomando como
ejemplo la instruccin MOV.
Instruccin MOV
Transfiere un byte desde el operando fuente al operando destino. Tiene el
siguiente formato:
MOV destino, fuente
Direccionamiento Inmediato
El operando fuente aparece en la instruccin. Un ejemplo, es el que mueve un
valor constante a un registro interno.
MOV AX, 568
Direccionamiento a Registro
Indica que el operando a ser usado est contenido en uno de los registros internos
de propsito general del CPU. En el caso de los registros AX, BX, CX o DX los
registros pueden ser de 8 a 16 bits
Ejemplos:
MOV AX, BX ; AX . BX
MOV AL, BL ; AL . BL
Cuando usamos direccionamiento a registro, el CPU realiza las operaciones
internamente, es decir, no se genera direccin de 20 bits para especificar el
operando fuente.

193

Direccionamiento Directo
Especifica en la instruccin la localidad de memoria que contiene al operando. En
este tipo de direccionamiento, se forma una direccin de 20 bits.
Ejemplo:
MOV CX, COUNT
El valor de COUNT es una constante. Es usada como el valor offset en el clculo
de la direccin de 20 bits
El 8086/8088 siempre usa un registro de segmento cuando calcula una direccin
fsica. Cul registro se debe usar para esta instruccin? Respuesta: DS

Fig. 4.9 En la Figura, se muestra el clculo de la direccin desde la cual se tomar el dato
que se carga en CX.
Este es el segmento por omisin que se usa. Sin embargo, cualquiera de los 4
segmentos puede usarse. Esto se efecta especificando el registro apropiado en
la instruccin.
Por ejemplo, suponga que deseamos usar el registro ES en lugar del DS:
MOV CX, ES: COUNT
194

Direccionamiento de Registro Indirecto
Con el modo de direccionamiento de registro ndice, la direccin offset de 16 bits
est contenida en un registro base o registro ndice. Esto es, la direccin reside en
el registro BX, BP, SI o DI.
Ejemplo:
MOV AX, [SI]
El valor de 16 bits contenido en el registro SI debe ser el offset usado para calcular
la direccin de 20 bits.
Otra vez, debe usarse un registro de segmento para generar la direccin final. El
valor de 16 bits en SI se combina con el segmento apropiado para generar la
direccin.
Direccionamiento de Registro Indirecto con Desplazamiento
Este tipo de direccionamiento incluye a los dos modos de direccionamiento
anteriores. La direccin offset de 16 bits se calcula sumando el valor de 16 bits
especificado en un registro interno y una constante.
Por ejemplo, si usamos el registro interno DI y el valor constante (desplazamiento),
donde COUNT ha sido previamente definido, el nemotcnico para esta
construccin es:
MOV AX, COUNT [DI]
Si: COUNT = 0378H
DI = 04FAH
0872H
195

Entonces, la direccin offset de 16 bits es 0872H
Direccionamiento de Registro Indirecto con un Registro Base y un Registro ndice
Este modo de direccionamiento usa la suma de dos registros internos para
obtener la direccin offset de 16 bits a usarse en el clculo de la direccin de 20
bits.
Ejemplos:
MOV [BP] [DI], AX ; el offset es BP + DI
MOV AX, [BX] [SI] ; el offset es BX + SI
Direccionamiento de Registro ndice Indirecto con un Registro Base, un Registro
ndice y un Registro Constante
Este es el modo de direccionamiento ms complejo. Es idntico al modo de
direccionamiento anterior, excepto que se suma una constante.
Ejemplo: Suponga que tenemos los siguientes valores en los registros:
DI = 0367H
BX = 7890H
COUNT = 0012H
7C09H
Este modo de direccionamiento indica que el offset especificado por la suma de DI
+ BX
+ COUNT sea usado para mover el dato en memoria en el registro AX.
196

MOV AX, COUNT [BX] [DI]
La direccin offset de 16 bits es 7C09H. La direccin completa en 20 bits se
calcula de la expresin:
1610*DS + 7C09H
Si el DS contiene 3000H, la direccin completa de 20 bits es:
3000H + 7C09H = 37C09H
Cdigo Objeto del 8086/8088
Como programador, debes escribir los nemotcnicos. El cdigo objeto es
generado por la computadora (son los bytes que ejecuta el CPU) Con el conjunto
de instrucciones del 8086/8088, cada tipo de modo de direccionamiento puede
requerir un nmero diferente de bytes. En los ejemplos siguientes
proporcionaremos el nmero de bytes requeridos por cada modo de
direccionamiento.
Bit W y campo REG
La instruccin MOV AX, 568H
Indica mover inmediatamente al registro interno AX el valor 568H. El registro
interno puede ser de 1 byte o de una palabra. Esta instruccin requiere 2 o 3
bytes, como se indica en la (Figura 4.10 ).
197


Fig. 4.10
El primer byte contiene los bits ms significativos (MSB) como 1011. El prximo bit
es W. W indica: 1 para word 0 para byte. Esto es, si el registro destino es de 16
bits o de 8 bits.
Los siguientes 3 bits del primer byte, campo REG, determinan cul registro est
involucrado. La tabla, muestra el cdigo de seleccin del registro.
REG REGISTRO DE 16 BITS REGISTRO DE 8 BITS
000 AX AL
001 CX CL
010 DX DL
011 BX BL
100 SP AH
101 BP CH
110 SI DH
111 DI BH

Campo DATA. Si el registro de destino es de 1 byte, el dato debe estar en el
segundo byte de la instruccin. Si el destino es de una palabra, el segundo byte de
la instruccin son los 8 bits menos significativos (lsb) del dato, el tercer byte de la
198

instruccin son los 8 bits ms significativos (MSB) del dato. La (figura 4.11),
muestra los nemotcnicos 2 o 3 bytes

Fig. 4.11
Bit D, MOD y R/M
En este ejemplo, moveremos datos desde memoria o moveremos un registro
hacia o desde otro registro. Usaremos una instruccin como:
MOV AX, BX
Esta instruccin es de 2 bytes porque no nos referimos a memoria. Los bytes
aparecern como lo muestra la (Figura. 4.12)

Fig. 4.12
El primer byte contiene los 2 bits menos significativos como DW. El bit W es para
word=1 o para byte=0. La D es para indicar si el dato ser almacenado en el
operando especificado por los campos MOD y R/M (D = 0) o si va a ser
almacenado en el registro especificado por el campo REG (D = 1) La Figura F
muestra las asignaciones para MOD y R/M. Note en la descripcin de MOD=11, el

199

campo R/M es codificado con un formato de registro. Este formato se muestra en
la (Figura 4.13) .

Fig. 4.13
Para esta instruccin deseamos almacenar el dato en el registro AX. Por lo tanto
el bit D=0. Esto significa que el dato debe ser almacenado en la localidad
especificada por los campos MOD y R/M. Por lo tanto, MOD = 11. El campo R/M =
000, indicando que el registro AX es el destino para los datos. El campo REG para
el segundo byte de datos es 011. Indicando que el registro BX es el registro fuente
a ser utilizado. El segundo byte de la instruccin es 11 011 000 = D8. Por lo que el
cdigo objeto para la instruccin es:
MOV AX, BX es 89
D8
Cdigo Objeto para el uso de Registro Base y Registro ndice
200

Examinemos un ltimo ejemplo para generar cdigo objeto para el 8086/8088. En
ste vamos a calcular el cdigo objeto para la instruccin:
MOV CX, COUNT [BX] [SI]
Esta instruccin es de 4 bytes, como se muestra en la (Figura. 4.14).

Fig. 4.14
El primer byte de la Figura, debe tener el bit D=1. Esto es debido a que el destino
para el dato debe ser especificado por el campo REG en el segundo byte. El bit
W=1. Porque es una transferencia de palabra. El primer byte es:
10001011 = 8B
En el segundo byte, ya que estamos usando una constante que requiere 16 bits, el
campo MOD = 10. Refiriendo a la Figura F, sta indica que el desplazamiento
debe ser formateado en 2 bytes y deben seguir a este segundo byte. El prximo
campo para el segundo byte es el campo de registro (REG) Ya que debemos usar
el registro CX, este valor debe ser 001 (esto se obtiene de la Figura 4.20)
Finalmente, el campo R/M. Ya que el campo MOD<> 11, este campo debe
especificar cul registro base y cul registro de ndice estn siendo usados para
generar la direccin offset de 16 bits. En nuestro caso, usamos el campo
[BX+SI+DESPLAZAMIENTO]
Esto corresponde a R/M = 000
201

El segundo byte es 1000 1000 = 88
El tercer y cuarto byte corresponde al desplazamiento
En este caso, el valor de COUNT = 0345H. Los ltimos 2 bytes son 4503H
Esto da el siguiente cdigo objeto total para la instruccin:
MOV CX, COUNT [BX] [SI] 8BH
88H
45H
03H
Sumario del Cdigo Objeto
Una pregunta que surge al programador Debo conformar los campos D, W, REG,
MOD y R/M, en cada instruccin? NO, la computadora lo hace (el lenguaje
ensamblador lo genera) Esta seccin se present para permitirle al programador
un mejor entendimiento del trabajo interno del microprocesador 8086/8088
Interrupciones de los Servicios Bsicos de Entrada y Salida (BIOS, por sus siglas
en ingls)
FUNCIN INT 21
(AH)=1 ENTRADA DESDE EL TECLADO
Esta funcin espera a que se digite un carcter en el teclado. Muestra el carcter
en la pantalla (eco) y retorna el cdigo ASCII en el registro AL. (AL) = carcter
ledo desde el teclado
Ejemplo:
202

MOV AH, 1
INT 21h; AL = dato ASCII ledo desde el teclado
(AH)=2 SALIDA EN EL EXHIBIDOR (display)
Despliega un carcter en la pantalla. Algunos caracteres tienen un significado
especial:
7 CAMPANA: Suena durante un segundo
8 BACKSPACE: Mueve el cursor hacia la izquierda un carcter
9 TABULADOR: Mueve el tabulador a su prxima posicin (cada 8
caracteres)
0Ah LF: Mueve el cursor a la siguiente lnea
0Dh CR: Mueve el cursor al inicio de la lnea corriente
(DL): Carcter a desplegar en la pantalla
Ejemplo: Desplegar un carcter
MOV DL, 40; carcter a desplegar
MOV AH, 2
INT 21h; aparece en la posicin corriente del cursor; el carcter contenido en DL

Fig. 4.15
Ejemplo: Hacer que suene la campana 2 segundos
203

MOV DL, 7; DL = campana
MOV AH, 02
INT 21h; 1 segundo
INT 21h; 1 segundo
(AH)=8 ENTRADA DESDE EL TECLADO SIN ECO
Lee un carcter desde el teclado, pero no se despliega en la pantalla
(AL) = carcter ledo desde el teclado
MOV AH, 08
INT 21h; AL = carcter
(AH)=9 DESPLIEGA UNA CADENA DE CARACTERES
Despliega en la pantalla la cadena apuntada por el par de registros DS:DX.
Debemos marcar el fin de la cadena con el carcter $
DS: DX apuntan a la cadena que se va a desplegar
(AH)=0A h LEE UNA CADENA
Lee una cadena de caracteres desde el teclado Dnde queda la informacin?
(AH)=25h ACTIVA EL VECTOR DE INTERRUPCIN
Activa un vector de interrupcin, para que apunte a una nueva rutina
(AL) = nmero de interrupcin
204

ES: BX direccin del manipulador de interrupciones
(AH)=35h CONSIGUE VECTOR DE INTERRUPCIN
Consigue la direccin de la rutina de servicio para el nmero de interrupcin dado
en AL
(AL) = nmero de interrupcin
ES: BX direccin del manipulador de interrupcin
(AH)=4Ch SALIDA AL DOS
Retorna al DOS. Trabaja para ambos archivos *.com y *.Exe. Recuerde que INT
20h trabaja solamente para archivos *.com
(AL) = cdigo de retorno, normalmente activo a 0, pero se puede activar a
cualquier otro nmero y usar los comandos del DOS, IF y ERRORLEVEL, para
detectar errores.
Ejemplo:
El siguiente programa podemos ver cmo utilizar las lneas de E/S del
microcontrolador, en este caso al activar el pulsador se encender la luz
correspondiente, en lugar de eso podemos llamar a una funcin y realizar una
tarea deseada:
#include <16f876a>
#fusesXT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
//mirar sin usar tris
205

void main() {
set_tris_a(011011); //porta como entrada
set_tris_b(0x00);
do{
output_b(0x00);
if (input(pin_a0)){
output_high(pin_b0);
}
if (input(pin_a1)){
output_high(pin_b1);
}
if (input(pin_a3)){

4.2.3 Modos de direccionamiento
Los modos de direccionamiento son un aspecto de la arquitectura del conjunto de
instrucciones en la mayora de la unidad central de procesamiento (CPU) disea.
Los modos de direccionamiento diferentes que se definen en una arquitectura de
conjunto de instrucciones dadas definir la forma en lenguaje de mquina las
instrucciones en el que identifican a la arquitectura del operando (u operandos) de
cada instruccin.
Un modo de direccionamiento especifica la forma de calcular la direccin de
memoria efectiva de un operando mediante el uso de la informacin contenida en
206

registros y / o las constantes contenidas en una instruccin de mquina o en otra
parte.
En la programacin de computadoras, modos de direccionamiento son
primordialmente de inters para compilador de escritores y de los que escriben el
cdigo directamente en lenguaje ensamblador .
No hay forma generalmente aceptada de nombrar a los distintos modos de
direccionamiento. En particular, diferentes autores y fabricantes de equipos
pueden dar nombres diferentes para el mismo modo de direccionamiento, o los
mismos nombres a los diferentes modos de direccionamiento. Por otra parte, un
modo de direccionamiento que, de una arquitectura dada, se trata como un solo
modo abordar puede representar servicios que, en otra arquitectura, est cubierto
por dos o ms modos de direccionamiento.
Por ejemplo, algunas instrucciones de equipo complejo (CISC) arquitecturas,
como la Digital Equipment Corporation (DEC) VAX , el tratamiento de los registros
y los literales / constantes inmediata como otro modo de direccionamiento. Otros,
como el IBM System/390 y la mayora de instrucciones de la computadora
conjunto reducido (RISC) disea, codificar esta informacin dentro de la
instruccin. As, las mquinas de esta ltima tiene tres cdigos de instruccin
distinta para copiar un registro a otro, la copia literal de una constante en un
registro, y copiar el contenido de una posicin de memoria en un registro, mientras
que el VAX tiene solamente una sola "MOV" instruccin.
El trmino "modo de direccin" se est sujeto a diferentes interpretaciones: o bien
"direccin de memoria el modo de clculo" o "modo de acceso operando".
Bajo las instrucciones de la primera interpretacin que no se lee de la memoria o
escribir en la memoria (como "aadir literal a registrar") se considerar que no
tienen un modo de "hacer frente". La segunda interpretacin permite mquinas
tales como VAX que utilizan operando bits de modo de permitir un operando literal.
207

Slo la primera interpretacin se aplica a las instrucciones tales como "direccin
efectiva de carga".
Los modos de direccionamiento se enumeran a continuacin se dividen en cdigo
de abordar y tratar los datos. La mayora de arquitecturas de computadora
mantener esta distincin, pero hay, o lo hayan sido en algunas arquitecturas que
permiten (casi) todos los modos de direccionamiento para ser utilizado en
cualquier contexto.
Las instrucciones que se muestran a continuacin son puramente representativas
a fin de ilustrar los modos de direccionamiento, y no necesariamente reflejan los
mnemnicos utilizados en cualquier ordenador en particular.
Diferentes arquitecturas de equipo varan mucho en cuanto al nmero de modos
de direccionamiento que ofrecen en el hardware. Hay algunos beneficios para la
eliminacin de complejos modos de direccionamiento y el uso de slo uno o unos
pocos simples modos de direccionamiento, a pesar de que requiere una
instruccin de extras, y tal vez un registro adicional. Se ha demostrado mucho ms
fcil disear pipeline CPU si los modos disponibles son slo la atencin de los
simples.
Mayora de las mquinas RISC slo tienen alrededor de cinco modos de abordar
simple, mientras que las mquinas CISC como el supermini VAX diciembre con
ms de una docena de modos de direccionamiento, algunos de los cuales son
muy complejos. El IBM System/360 mainframe slo contaba con tres modos de
direccin, unos pocos se han aadido ms para el System/390 .
Cuando hay slo un pocos modos de direccionamiento, el modo particular
atendiendo requerido es generalmente codificada en el cdigo de instruccin (por
ejemplo, IBM System/390, la mayora de RISC). Pero cuando hay un montn de
modos de direccionamiento, un campo especfico es a menudo de lado en la
instruccin para especificar el modo de direccionamiento. El VAX diciembre
208

permiti varios operandos de memoria para casi todas las instrucciones, y as
reservados los primeros bits de cada especificador de operando para indicar el
modo de direccionamiento para que operando en particular.
Incluso en un equipo con muchos modos de direccionamiento, las mediciones de
los programas actuales indican que los modos de direccionamiento simple que
figuran a continuacin representan alrededor del 90% o ms de todos los modos
de direccionamiento utilizado. Como la mayora de estas mediciones se basan en
el cdigo generado a partir de lenguajes de alto nivel por los compiladores, esto
refleja en cierta medida las limitaciones de los compiladores utilizados.
Efecto secundario muy til
Algunos procesadores, como Intel x86 y IBM/390, tienen carga efectiva una
instruccin de direccionamiento. Se realiza un clculo de la direccin del
operando eficaz, pero en vez de actuar en esa localidad de memoria, se carga la
direccin que se haya accedido a un registro. Esto puede ser til cuando se pasa
la direccin de un elemento de la matriz a una subrutina. Tambin puede ser una
manera un poco disimulada de hacer ms clculos de lo normal en una
instruccin, por ejemplo, utilizando como una instruccin con el modo de
direccionamiento "+ base + ndice de desplazamiento" (detalladas ms abajo)
permite aadir dos registros y una constante en conjunto en una instruccin.
Simple modos de direccionamiento para el cdigo
Absoluto
+----+------------------------------+
| Ir | | Direccin
+----+------------------------------+

(Direccin efectiva PC = direccin)
209

La direccin efectiva de una direccin de la instruccin absoluta es el parmetro
de direccin s mismo sin modificaciones.
Relativo al PC
+----+------------------------------+
| | Ir offset | saltar relativa
+----+------------------------------+

(Direccin efectiva PC = direccin de la instruccin siguiente + offset,
desplazamiento puede ser negativo)
La direccin efectiva de una PC de instrucciones direccin relativa-es el parmetro
offset aadido a la direccin de la siguiente instruccin. Este desplazamiento es
generalmente firmados para permitir al cdigo de referencia antes y despus de la
instruccin.
Esto es particularmente til en relacin con saltos, porque salta tpicas son
cercanas a las instrucciones (en un lenguaje de alto nivel o la mayora, si bien las
declaraciones son razonablemente corto). Las mediciones de los programas
actuales sugieren que unos 8 o 10 bits desplazamiento es lo suficientemente
grande como para un 90% de saltos condicionales.
Otra ventaja del programa de direccionamiento relativo es que el cdigo puede ser
independiente de la posicin , es decir, se pueden cargar en cualquier lugar de la
memoria sin la necesidad de ajustar todas las direcciones.
Algunas versiones de este modo de direccionamiento puede ser condicional se
refiere a dos registros ("saltar si REG1 == reg2"), un registro ("ir a menos REG1
== 0") o de los registros no, de manera implcita, referente a algunos poco
previamente establecidos en el registro de estado . Vase tambin la ejecucin
condicional de abajo.
210

Registro indirectos
+-------+-----+
| | JumpVia reg |
+-------+-----+

(Contenido direccin efectiva = PC de registro 'reg)
La direccin efectiva de una instruccin de registro indirecto es la direccin en el
registro especificado. Por ejemplo, (A7) para acceder al contenido del registro de
direccin A7.
El efecto es transferir el control a la instruccin cuya direccin est en el registro
especificado.
Muchas mquinas RISC tienen una instruccin de llamada a subrutina que coloca
a la direccin de retorno en un registro de direccin-el registro indirecto modo de
direccionamiento se utiliza para devolver a esa llamada subrutina.
Secuencial modos de direccionamiento
Ejecucin secuencial.
+------+
| Nop | ejecutar la siguiente instruccin
+------+

(Direccin efectiva PC = direccin de la instruccin siguiente)
La CPU, despus de ejecutar una instruccin secuencial, de inmediato se ejecuta
la siguiente instruccin.
211

Ejecucin secuencial no se considerada como un modo de direccin en algunos
equipos.
La mayora de las instrucciones en la mayora de las arquitecturas de CPU son
instrucciones secuenciales. Porque la mayora de las instrucciones son las
instrucciones secuenciales, los diseadores de la CPU a menudo aaden
caractersticas que deliberadamente sacrificar el rendimiento por el otro las
instrucciones de la rama instrucciones, a fin de que estas instrucciones
secuenciales correr ms rpido.
Ramas de carga condicional de la PC con una de 2 resultados posibles,
dependiendo de la condicin-la mayora de los CPU arquitecturas se utiliza algn
otro modo de direccionamiento para el "tomado" rama, y la ejecucin secuencial
para el "no tomar" sucursal.
Muchas de las funciones en los CPU modernos - prefetch de instrucciones y ms
compleja pipelineing , fuera de la orden de ejecucin , etc - se mantenga la ilusin
de que cada instruccin finaliza antes que se inicia el prximo, dando el mismo
resultado final, a pesar de que no es exactamente lo que sucede internamente.
Cada " bloque bsico "de tales instrucciones secuenciales exposiciones tanto
temporales como espaciales localidad de referencia .
CPUs que no utilizan la ejecucin secuencial son extremadamente raras-que
incluyen algunos memoria de tambor los ordenadores y el 32P RTX , que no tiene
contador de programa.
Ejecucin condicional.
Algunas arquitecturas de computadora (por ejemplo, ARM ) tienen instrucciones
condicionales que en algunos casos puede obviar la necesidad de saltos
condicionales y evitar el lavado de la tubera de instruccin . Una instruccin
como una "comparar" se utiliza para establecer un cdigo de condicin , y las
212

instrucciones posteriores incluyen una prueba de que el cdigo de estado para ver
si se cumplen o se ignoran.
Saltar
+------+-----+-----+
| SkipEQ | REG1 | reg2 | saltar la siguiente instruccin si REG1 = reg2
+------+-----+-----+

(Direccin efectiva PC = direccin de la instruccin siguiente + 1)
Pasar frente se puede considerar un tipo especial de direccionamiento relativo al
PC con un modo de fijar "un" offset. Al igual que PC-direccionamiento relativo,
algunos CPUs tienen versiones de este modo de direccionamiento que slo se
refieren a un registro ("saltar si REG1 == 0") o si no se registra, de manera
implcita, referente a algunos-bit previamente en el registro de estado . CPU, otras
tienen una versin que selecciona un poco especfica en un byte especfico para la
prueba ("saltar si el bit 7 de la reg12 es 0").
A diferencia de otras ramas condicionales, un contenedor "no necesita
instrucciones para limpiar la tubera de instruccin .
Simple modos de direccionamiento de datos
Registro
+------+-----+-----+-----+
| | Mul REG1 | reg2 | reg3 | REG1: * = reg2 reg3;
+------+-----+-----+-----+
Este modo de "hacer frente" no tiene una direccin efectiva y no se considera
como un modo de direccin en algunos equipos.
213

En este ejemplo, todos los operandos estn en registros, y el resultado se coloca
en un registro.
Base ms desplazamiento y las variaciones
Esto se refiere a veces como "base ms desplazamiento"
+------+-----+-----+----------------+
de carga | | reg base | | offset reg |: = base de RAM [+ desplazamiento]
+------+-----+-----+----------------+

(Direccin efectiva = offset + contenido del registro base especificada)
El desplazamiento es por lo general un valor de 16-bit firmado (aunque el 80386
se ampli a 32 bits).
Si el desplazamiento es cero, esto se convierte en un ejemplo de registro de
direccionamiento indirecto, la direccin efectiva es slo el valor en el registro de
base.
En muchas mquinas RISC, el registro 0 se fija en el valor cero. Si el registro 0 se
usa como base el registro, esto se convierte en un ejemplo de la necesidad
absoluta. Sin embargo, slo una pequea porcin de la memoria se puede
acceder (64 kilobytes , si el desplazamiento es de 16 bits).
El desplazamiento de 16 bits puede parecer muy pequea en relacin con el
tamao de memorias de las computadoras actuales (por lo que el 80386 se ampli
a 32 bits). Podra ser peor: los mainframes IBM System/360 slo tienen un signo
de 12-bit de compensacin. Sin embargo, el principio de localidad de referencia
se aplica: ms de un corto perodo de tiempo, la mayora de los elementos de
datos de un programa quiere acceder se encuentran bastante cerca el uno al otro.
214

Este modo de direccionamiento est estrechamente relacionado con el ndice
modo absoluto direccionamiento.
4.2.4 Lenguaje ensamblador

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir
programas informticos, y constituye la representacin ms directa del cdigo
mquina especfico para cada arquitectura de computadoras legible por un
programador.
Cada arquitectura de microprocesadores tiene su propio lenguaje de mquina, y
en consecuencia su propio lenguaje ensamblador ya que este se encuentra muy
ligado la estructura del hardware para el cual se programa. Los microprocesadores
difieren en el tipo y nmero de operaciones que soportan; tambin pueden tener
diferente cantidad de registros, y distinta representacin de los tipos de datos en
memoria. Aunque la mayora de los microprocesadores son capaces de cumplir
esencialmente las mismas funciones, la forma en que lo hacen difiere y los
respectivos lenguajes ensambladores reflejan tal diferencia.
Caractersticas
El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de ser
entendido directamente por un ser humano ya que su estructura se acerca ms
bien al lenguaje mquina, es decir, lenguaje de bajo nivel.
El lenguaje ensamblador es difcilmente portable, es decir, un cdigo
escrito para un microprocesador, suele necesitar ser modificado,
muchas veces en su totalidad para poder ser usado en otra mquina
distinta, aun con el mismo microprocesador.
Los programas hechos en lenguaje ensamblador son generalmente
ms rpidos y consumen menos recursos del sistema (memoria
RAM y ROM). Al programar cuidadosamente en lenguaje
215

ensamblador se pueden crear programas que se ejecutan ms
rpidamente y ocupan menos espacio que con lenguajes de alto
nivel.
Con el lenguaje ensamblador se tiene un control muy preciso de las
tareas realizadas por un microprocesador por lo que se pueden crear
segmentos de cdigo difciles de programar en un lenguaje de alto
nivel.
Tambin se puede controlar el tiempo en que tarda una rutina en
ejecutarse, e impedir que se interrumpa durante su ejecucin.
Lenguaje
Un programa escrito en lenguaje ensamblador consiste en una serie de
instrucciones que corresponden al flujo de rdenes ejecutables que pueden ser
cargadas en la memoria de un sistema basado en microprocesador.
Por ejemplo, un procesador x86 puede ejecutar la siguiente instruccin binaria
como se expresa en cdigo de mquina:
Binario: 10110000 01100001 (Hexadecimal: 0xb061)
La representacin equivalente en lenguaje ensamblador es ms fcil de recordar:
MOV al, 061h
Esta instruccin significa:
Asigna el valor hexadecimal 61 (97 decimal) al registro "al".
El mnemnico "mov" es un cdigo de operacin u "opcode", elegido por los
diseadores de la coleccin de instrucciones para abreviar "move" (mover, pero en
el sentido de copiar valores de un sitio a otro). El opcode es seguido por una lista
de argumentos o parmetros, completando una instruccin de ensamblador tpica.
216

La transformacin del lenguaje ensamblador en cdigo mquina la realiza un
programa Ensamblador, y la traduccin inversa la puede efectuar un
desensamblador. A diferencia de los lenguajes de alto nivel, aqu hay usualmente
una correspondencia 1 a 1 entre las instrucciones simples del ensamblador y el
lenguaje de mquina. Sin embargo, en algunos casos, un ensamblador puede
proveer "pseudo instrucciones" que se expanden en un cdigo de mquina ms
extenso a fin de proveer la funcionalidad necesaria. Por ejemplo, para un cdigo
mquina condicional como "si X mayor o igual que" , un ensamblador puede
utilizar una pseudoinstruccin al grupo "haga si menor que" , y "si = 0" sobre el
resultado de la condicin anterior. Los Ensambladores ms completos tambin
proveen un rico lenguaje de macros que se utiliza para generar cdigo ms
complejo y secuencias de datos.
El uso del ensamblador no resuelve definitivamente el problema de cmo
programar un sistema basado en microprocesador de modo sencillo ya que para
hacer un uso eficiente del mismo, hay que conocer a fondo el microprocesador, los
registros de trabajo de que dispone, la estructura de la memoria, y muchas cosas
ms referentes a su estructura bsica de funcionamiento.
Cada arquitectura de microprocesadores tiene su propio lenguaje de mquina, y
en consecuencia su propio lenguaje ensamblador ya que este se encuentra muy
ligado a la estructura del hardware para el cual se programa. Los
microprocesadores difieren en el tipo y nmero de operaciones que soportan;
tambin pueden tener diferente cantidad de registros, y distinta representacin de
los tipos de datos en memoria. Aunque la mayora de los microprocesadores son
capaces de cumplir esencialmente las mismas funciones, la forma en que lo hacen
difiere y los respectivos lenguajes ensamblador reflejan tal diferencia.
Pueden existir mltiples conjuntos de mnemnicos o sintaxis de lenguaje
ensamblador para un mismo conjunto de instrucciones, instanciados tpicamente
217

en diferentes programas en ensamblador. En estos casos, la alternativa ms
popular es la provista por los fabricantes, y usada en los manuales del programa.
Cdigo mquina
El cdigo mquina, o lenguaje de mquina, est formado por instrucciones
sencillas, que -dependiendo de la estructura del procesador- pueden especificar:
Registros especficos para operaciones aritmticas, direccionamiento o
control de funciones.
Posiciones de memoria especficas (offset).
Modos de direccionamiento usados para interpretar operandos.
Las operaciones ms complejas se realizan combinando estas instrucciones
sencillas, que pueden ser ejecutadas secuencialmente o mediante instrucciones
de control de flujo.
Las operaciones disponibles en la mayora de los conjuntos de instrucciones
incluyen:
Mover
o llenar un registro con un valor constante
o mover datos de una posicin de memoria a un registro o viceversa
o escribir y leer datos de dispositivos
Computar
o sumar, restar, multiplicar o dividir los valores de dos registros,
colocando el resultado en uno de ellos o en otro registro
o realizar operaciones binarias, incluyendo operaciones lgicas
(AND/OR/XOR/NOT)
o comparar valores entre registros (mayor, menor, igual)
Afectar el flujo del programa
o saltar a otra posicin en el programa y ejecutar instrucciones all
218

o saltar si se cumplen ciertas condiciones (IF)
o saltar a otra posicin, pero guardar el punto de salida para retornar
(CALL, llamada a subrutinas)
Algunas computadoras incluyen instrucciones complejas dentro de sus
capacidades. Una sola instruccin compleja hace lo mismo que en otras
computadoras puede requerir una larga serie de instrucciones, por ejemplo:
Salvar varios registros en la pila de una sola vez
Mover grandes bloques de memoria
Operaciones aritmticas complejas o de punto flotante (seno, coseno, raz
cuadrada)
Mientras que una computadora reconoce la instruccin de mquina IA-32
10110000 01100001
Para los programadores de microprocesadores x86 es mucho ms fcil reconocer
dicha instruccin empleando lenguaje ensamblador:
movb 0x61,%al
Este cdigo mueve el valor hexadecimal 61 (97 en decimal) al registro 'al'.
Ejemplos de lenguaje ensamblador
Ejemplo 1
El siguiente es un ejemplo del programa clsico Hola mundo escrito para la
arquitectura de procesador x86 (bajo el sistema operativo DOS).
.model small
.stack
.data
219

Cadena1 DB 'Hola Mundo.$'
.code

programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
int 20h
end programa
Ejemplo 2
Una seleccin de instrucciones para una computadora virtual
3
) con las
correspondientes direcciones de memoria en las que se ubicarn las
instrucciones. Estas direcciones NO son estticas. Cada instruccin se acompaa
del cdigo en lenguaje ensamblador generado (cdigo objeto) que coincide con la
arquitectura de computador virtual, o conjunto de instrucciones ISA.
Dir. Etiqueta Instruccin Cdigo mquina
4


.begin


.org 2048


a_start .equ 3000

220

2048

ld length,%

2064

be done 00000010 10000000 00000000 00000110
2068

addcc %r1,-4,%r1 10000010 10000000 01111111 11111100
2072

addcc %r1,%r2,%r4 10001000 10000000 01000000 00000010
2076

ld %r4,%r5 11001010 00000001 00000000 00000000
2080

ba loop 00010000 10111111 11111111 11111011
2084

addcc %r3,%r5,%r3 10000110 10000000 11000000 00000101
2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100
2092 length: 20 00000000 00000000 00000000 00010100
2096 address: a_start 00000000 00000000 00001011 10111000

.org a_start

3000

a:</tt

221

Ejemplo 3
Cdigo en lenguaje ensamblador para C Intel 80C51:

ORG 8030H

T05SEG:
SETB TR0
JNB uSEG,T05SEG ;esta subrutina es utilizada
CLR TR0 ;para realizar una cuenta de
CPL uSEG ;0,5 segundos mediante la
MOV R1,DPL ;interrupcin del timer 0.
MOV R2,DPH
CJNE R2,#07H,T05SEG
CJNE R1,#78H,T05SEG
MOV DPTR,#0000H
RET
Ejemplo 4
Cdigo en lenguaje ensamblador para C 16F84 de Microchip:
ORG 0
Inicio
bsf STATUS,RP0
clrf PORTB
movlw 0xFF
movwf PORTA
bcf STATUS,RP0
Principal
movf PORTA,W
222

movwf Contador
movf Contador,F
btfsc STATUS,Z
goto PuntoDecimal
sublw d'9'
btfss STATUS,C
END

4.3 Aplicaciones
Cada vez existen ms productos que incorporan un microcontrolador con el fin de
aumentar sustancialmente sus prestaciones, reducir su tamao y coste, mejorar su
fiabilidad y disminuir el consumo.
Algunos fabricantes de microcontroladores superan el milln de unidades de un
modelo determinado producidas en una semana. Este dato puede dar una idea de
la masiva utilizacin de estos componentes.
Los microcontroladores estn siendo empleados en multitud de sistemas
presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas,
frigorficos, televisores, computadoras, impresoras, mdems, el sistema de
arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no
estaremos tan familiarizados como instrumentacin electrnica, control de
sistemas en una nave espacial, etc. Una aplicacin tpica podra emplear varios
microcontroladores para controlar pequeas partes del sistema. Estos pequeos
controladores podran comunicarse entre ellos y con un procesador central,
probablemente ms potente, para compartir la informacin y coordinar sus
acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.
4.3.1 Como sistema independiente
Un microcontrolador es, como ya se ha comentado previamente, un sistema
completo, con unas prestaciones limitadas que no pueden modificarse y que
223

puede llevar a cabo las tareas para las que ha sido programado de forma
autnoma.
Ejemplo de Programas que realiza el microprocesador 8085
1)
;**************************************************
;* Nombre : Simulador de autmata programable *
;* Programador: Esteban Galeano *
;* Fecha: 13 octubre 1995 *
;* Ult. modif: 31 agosto 2000 *
;* Fichero: AUTOMATA.ASM *
;**************************************************
;***************************************************************
;* Se simular el funcionamiento de un autmata programable, *
;* en cuyo interior hay un circuito MARCHA/PARO. Para ello, *
;* seguir el siguiente funcionamiento: *
;* *
;* Marcha Paro Salida *
;* *
;* 0 0 Salida *
;* 0 1 0 *
;* 1 0 1 *
;* 1 1 0 *
;* *
224

;* HACER *
;* programar(8255); *
;* MIENTRAS PuertoA[7]=1 HACER *
;* valor:=PuertoA[1..0]; *
;* SI *
;* valor=00b -> *
;* valor=01b -> PuertoB[0]:=0 *
;* valor=10b -> PuertoB[0]:=1 *
;* valor=11b -> PuertoB[0]:=0 (prio PARO) *
;* FSI *
;* FMIENTRAS *
;* MIENTRAS (cierto) *
;***************************************************************
;****************************
;* Definicin de ENTORNO *
;****************************
.RADIX H ;Sistema de numeracin ser hexadecimal
;****************************
;* Definicin de CONSTANTES *
;****************************
cero: .EQU 0
DirPila: .EQU 1200 ;Direccin desde donde comenzar la PILA
ByteControl: .EQU 90 ;8255 -> A in - B out - C out
225

2)
;***********************************************
;* Nombre : Espera visualizable FFFF-0000 *
;* Programador: Esteban Galeano *
;* Fecha: 11 octubre 1995 *
;* Ult. modif: 31 agosto 2000 *
;* Fichero: CONTADOR.ASM *
;***********************************************
;***************************************************************
;* Se le dar un valor numrico a los registros HL y cada 1ms *
;* se decrementar su valor hasta llegar a cero, momento en el *
;* cual, se terminar el programa y regresar al S.O. *
;* *
;* HL:=seleccin *
;* HACER *
;* retardo(1ms); *
;* visualiza(HL); *
;* HL:=HL-1; *
;* MIENTRAS (HL<>0) *
;* visualiza(HL); *
;* restaurar; *
;***************************************************************
;****************************
226

;* Definicin de ENTORNO *
;****************************
.RADIX H ;Sistema de numeracin ser hexadecimal
;****************************
;* Definicin de CONSTANTES *
;****************************
cero: .EQU 0
DirPila: .EQU 1200 ;Direccin desde donde comenzar la PILA
seleccin: .EQU 2000 ;Numero de veces a decrementar
;***************************
;* Inclusin de SUBRUTINAS *
;***************************
.DATA ;Direccin inicial de las subrutinas
.INCLUDE a:rutinas.asm ;Incluye la definicin de direcciones de rutinas del S.O.
;***************************
;* Programa PRINCIPAL *
;***************************
.CODE
.ORG 1000 ;Direccin inicial del programa
LXI SP,DirPila ;SP:=DirPila
LXI H,seleccion ;HL:=seleccion
sigue: PUSH H ;Salvar los registros H y L
CALL delay ;Retardo de 1ms
227

CALL updad ;Visualiza HL en el campo de direcciones del Display
POP H ;Recuperar los registros H y L
DCX H ;HL:=HL-1
MOV A,H ;Si (H<>0) salta
CPI cero
JNZ sigue
MOV A,L ;Si (L<>0) salta
CPI cero
JNZ sigue
;*******************************
;* Visualizar el Ultimo valor *
;*******************************
PUSH H ;Salvar los registros H y L
CALL updad ;Visualiza HL en el campo de direcciones del Display
POP H ;Recuperar los registros H y L
RST 1
.END
4.3.2 Como subsistema de una computadora
La memoria principal o primaria (MP), tambin llamada memoria central, es una
unidad dividida en celdas que se identifican mediante una direccin. Est formada
por bloques de circuitos integrados o chips capaces de almacenar, retener o
"memorizar" informacin digital, es decir, valores binarios; a dichos bloques tiene
acceso el microprocesador de la computadora.
228

La MP se comunica con el microprocesador de la CPU mediante el bus de
direcciones. El ancho de este bus determina la capacidad que posea el
microprocesador para el direccionamiento de direcciones en memoria.
En algunas oportunidades suele llamarse "memoria interna" a la MP, porque a
diferencia de los dispositivos de memoria secundaria, la MP no puede extraerse
tan fcilmente por usuarios no tcnicos.
La MP es el ncleo del sub-sistema de memoria de un computador, y posee una
menor capacidad de almacenamiento que la memoria secundaria, pero una
velocidad millones de veces superior.
En las computadoras son utilizados dos tipos de MP:
ROM o memoria de slo lectura (Read Only Memory). Viene grabada de fbrica
con una serie de programas. El software de la ROM se divide en dos partes:
Rutina de arranque o POST (Power On Self Test, auto diagnstico de encendido):
Realiza el chequeo de los componentes de la computadora; por ejemplo, circuitos
controladores de video, de acceso a memoria, el teclado, unidades de disco,etc.
Se encarga de determinar cul es el hardware que est presente y de la puesta a
punto de la computadora. Mediante un programa de configuracin, el SETUP, lee
una memoria llamada CMOS RAM (RAM de Semiconductor de xido metlico).
sta puede mantener su contenido durante varios aos, aunque la computadora
est apagada, con muy poca energa elctrica suministrada por una batera,
guarda la fecha, hora, la memoria disponible, capacidad de disco rgido, si tiene
disquetera o no. Se encarga en el siguiente paso de realizar el arranque (booteo):
lee un registro de arranque 'BR' (Boot Record) del disco duro o de otra unidad
(como CD, USB, etc.), donde hay un programa que carga el sistema operativo a la
RAM. A continuacin cede el control a dicho sistema operativo y el computador
queda listo para trabajar.
229

Rutina BIOS o Sistema Bsico de Entrada-Salida (Basic Input-Output System):
permanece activa mientras se est usando el computador. Permite la activacin
de los perifricos de entrada/salida: teclado, monitor, ratn, etc.
RAM o memoria de acceso aleatorio (Random Access Memory). Es la memoria
del usuario que contiene de forma temporal el programa, los datos y los resultados
que estn siendo usados por el usuario del computador. En general es voltil,
pierde su contenido cuando se apaga el computador, es decir que mantiene los
datos y resultados en tanto el bloque reciba alimentacin elctrica, a excepcin de
la CMOS RAM.
Tanto la RAM como la ROM son circuitos integrados, llamados comnmente chips.
El chip o circuito integrado es una pequea pastilla de material semiconductor
(silicio) que contiene mltiples circuitos integrados, tales como transistores, entre
otros dispositivos electrnicos, con los que se realizan numerosas funciones en
computadoras y dispositivos electrnicos; que permiten, interrumpen o aumentan
el paso de la corriente. Estos chips estn sobre una tarjeta o placa.
El contenido de las memorias no es otra cosa que dgitos binarios o bits (binary
digits), que se corresponden con dos estados lgicos: el 0 (cero) sin carga
elctrica y el 1 (uno) con carga elctrica. A cada uno de estos estados se le llama
bit, que es la unidad mnima de almacenamiento de datos.
El microprocesador direcciona las posiciones de la RAM para poder acceder a los
datos almacenados en ellas y para colocar los resultados de las operaciones.
Al "bloque de MP", suele llamarse memoria RAM, por ser ste el tipo de chips de
memoria que conforman el bloque, pero se le asocian tambin el chip CMOS, que
almacena al programa BIOS del sistema y los dispositivos perifricos de la
memoria secundaria (discos y otros perifricos), para conformar el sub-sistema de
memoria del computador.
230

Los bloques RAM, los ROM y las memorias de almacenamiento secundario
conforman el subsistema de memoria de una computadora.

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