Documente Academic
Documente Profesional
Documente Cultură
Gran parte de los temas tratados en los captulos precedentes tienen aplicacin en los sistemas digitales
actuales, en especial en los computadores, aunque tambin se emplean en otros equipos de uso cotidiano
como: impresoras, equipos de sonido y televisores, entre otros.
El microprocesador o llamado actualmente Procesador Digital se considera uno de los dispositivos ms
importantes en los computadores, debido a la capacidad que tiene de manejar gran variedad de tareas y
rutinas. Este dispositivo y en general la microcomputadora ser el tema a estudiar a lo largo del capitulo.
Este capitulo pretende mostrar los aspectos bsicos sobre los Procesadores Digitales y su funcionamiento en
forma conjunta con otros dispositivos como memorias y puertos. La profundizacin y/o ampliaciones sobre
este capitulo se dejan al estudiante debido a que el tema podra tomar varios captulos o inclusive un curso
completo.
Configuracin
El procesador digital o microprocesador es el dispositivo que contiene las funciones de la Unidad Central de
Proceso (CPU) en un computador. Este dispositivo se encarga de cumplir las funciones bsicas del
computador y puede ser incorporado en otros sistemas digitales que realizan funciones especiales.
El Procesador en trminos generales es el cerebro de un computador, cuyas partes bsicas son: el contador
de programa, el decodificador de instrucciones, los registros y la unidad aritmtica y lgica. En la figura
11.1.1 se indica la disposicin de tales partes.
Arquitectura de un Microcomputador
Un microcomputador es un sistema digital que contiene por lo menos tres componentes esenciales: un
procesador (CPU), una Memoria y los Puertos Entrada/Salida. En la figura 11.2.1 se muestra un diagrama de
bloques de estos componentes y su conexin a travs de los buses de direcciones, datos y control, los cuales
sern explicados mas adelante en esta leccin.
Los buses de direcciones, datos y control mostrados inicialmente en la figura 11.2.1 son el "bus del sistema".
Este bus se encuentra separado en tres canales que manejan respectivamente direcciones, datos y seales
de control, los cuales permiten el procesador comunicarse con los dems dispositivos del microcomputador,
tales como las memorias y los dispositivos de E/S.
Bus de Datos
Este bus es bidireccional y es el canal por el cual se conducen los datos entre la CPU y los dems dispositivos
(memorias, puertos y otros).
Bus de Direcciones
El bus de direcciones es un canal unidireccional por el cual la CPU enva las direcciones de memoria para
ubicar informacin en los dispositivos de memoria, puertos u otros dispositivos del microcomputador.
Bus de Control
El bus de control, al igual que el bus de direcciones es unidireccional y se utiliza para efectuar la lectura y
escritura en las memorias y puertos de E/S. Este bus en general lo emplea la CPU para controlar el flujo de
los datos y las direcciones de forma organizada.
Funcionamiento del Bus del Sistema
El bus de datos depende del tamao de los datos que maneja el procesador, este puede tener 8, 16 o 32 bits
y el bus de direcciones generalmente tiene como mnimo 16 bits. El bus del sistema se utiliza para transferir
informacin entre la CPU y la memoria o para extraer instrucciones almacenadas en memoria y datos
presentes en los puertos de E/S.
El intercambio de informacin por el bus del sistema se realiza con dos tipos de operaciones:
Las lneas de control son aquellas con las que se controla el flujo de la informacin por los buses, y las ms
importantes son:
o
o
CHIPSELECT (CS)
LECTURA (RD)
ESCRITURA (WR)
Cada transferencia empieza con la carga de una direccin en el bus de direcciones. Las lneas
correspondientes a la los bits menos significativos de la direccin se encuentran conectados directamente a
las memorias. Las lneas de direccin de los bits ms significativos se utilizan para seleccionar el dispositivo
del cual se desea extraer la informacin, ya sea una EPROM, RAM o un Puerto de E/S. Entonces, el
decodificador de direcciones se encarga de seleccionar el dispositivo que se debe activar segn la direccin
presente en el bus. Para ello, cada dispositivo en el microcomputador debe tener una nica direccin que lo
identifique. En la figura 11.2.3 se muestra un diagrama de los tiempos de las seales presentes durante el
flujo de los datos y direcciones en el bus del sistema.
Figura 11.2.3. Diagrama de tiempos de las seales del bus del sistema.
La seal CS selecciona el dispositivo que debe transmitir los datos por el bus de datos. Luego una de las
seales RD o WR se activa desde la CPU, con lo cual se ordena al dispositivo seleccionado enviar los datos a
la CPU (ciclo de lectura) o recibirlos de la CPU (ciclo de escritura).
Todos los ciclos de lectura y escritura comienzan con una direccin vlida de la CPU. Luego el decodificador
de direcciones genera una seal CS para seleccionar uno de los dispositivos. Entonces la CPU enva una
seal RD o WR para efectuar la lectura o escritura de los datos.
Para una operacin de lectura el dispositivo debe conducir a travs del bus de datos, lo cual toma un tiempo
corto (el tiempo de acceso de los datos), y los datos deben estar disponibles en el bus durante el flanco de
subida de la seal RD. Durante este flanco de subida la CPU toma los datos y los almacena internamente en
sus registros.
Durante un ciclo de escritura la CPU por si misma maneja de los datos. En este caso, al igual que en el ciclo
de lectura los datos deben estar disponibles en el bus antes de que ocurra el flanco de subida de la seal
WR, para que el dispositivo seleccionado pueda recibir los datos correctamente.
Arquitecturas de Microcomputadores
Actualmente se conocen dos tipos de arquitecturas en los microcomputadores, conocidas como Von-Newman
y Harvard.
Arquitectura Von-Neuman
Los microcomputadores basados en esta arquitectura se caracterizan por tener un solo bus para direcciones
y datos, es decir, que el mismo bus se emplea para enviar y recibir instrucciones y datos. Ademas de ello, las
instrucciones y los datos son almacenados en una memoria principal. Cuando la CPU se dirige a la memoria
principal, extrae la instruccin y despus los datos con los que se efecta la instruccin.
Arquitectura de Harvard
Esta arquitectura se caracteriza por tener por separado el bus de datos y el bus de direcciones. Esto significa
que las instrucciones y los datos son almacenados en memorias diferentes que son accedidas de forma
separada por la CPU.
Decodificadores
En los microcomputadores, la comunicacin entre la CPU y otros dispositivos como memorias y puertos se
efecta a travs del bus del sistema. El bus de direcciones de un microcomputador se encuentra
estrechamente relacionado con los decodificadores, ya que gracias a ellos es posible seleccionar los
dispositivos internos del microcomputador y las posiciones de memoria para efectuar operaciones de lectura
Este es uno de los perifricos mas importantes en un microcomputador, debido a que gracias a ste, es
posible ingresar informacin para procesar por la CPU. Un teclado tpico en las aplicaciones con
microcomputadores es el teclado matricial 4X4, como el que se muestra en la figura 11.4.1.
Memorias
En las lecciones precedentes del captulo, se mencion sobre la necesidad de por lo menos una memoria para
el funcionamiento de los microcomputadores. Esta memoria puede ser interna o externa, ya sea con chips
adicionales o internamente dentro del chip del microcomputador.
Generalmente se habla de dos tipos de memoria dentro de un microcomputador:
La memoria de Programa.
La memoria de Datos.
La memoria de programa se utiliza para almacenar las instrucciones de los programas que ejecuta el
microcomputador. Generalmente el tipo de memoria que se emplea para almacenar el programa es una
memoria ROM, para que la informacin no se pierda cuando se desenergiza el microcomputador. Esta
memoria puede ser una EPROM o una EEPROM, aunque hay microcomputadores que almacenan las
instrucciones en memorias RAM, pero su uso no es muy difundido.
La memoria de datos se emplea para el almacenamiento y lectura de datos que se generan y cambian
constantemente durante la ejecucin del programa y la pila. La pila es una porcin de memoria dnde la CPU
almacena sus propios datos de uso interno para la ejecucin de subrutinas. Por sus caractersticas, la
memoria de datos se encuentra constituida comnmente por una RAM.
La cantidad de memoria de programa y datos en un en un microcomputador depende en gran parte de la de
la aplicacin. Hay aplicaciones pequeas qu requieren solo 512 Bytes en ROM y 128 Bytes en RAM, as
como aplicaciones de mayores prestaciones que requieren hasta de 1 Megabyte de EPROM y RAM.
Generalmente el bus de direcciones de los microcomputadores se limita para direccionar 64 Kbytes de
memoria, por lo tanto es comn encontrar varios de estos dispositivos con capacidades de 32 Kbytes en ROM
y 32 Kbytes en RAM.
Los microcomputadores tienen un lenguaje nico que es capaz de reconocer y ejecutar las instrucciones. Este
lenguaje es llamado "Lenguaje de Mquina" y pertenece al procesador del microcomputador. El lenguaje de
mquina est compuesto por una serie de instrucciones, las cuales son reconocidas y ejecutadas nicamente
por el procesador. Este lenguaje es un conjunto de nmeros que representan las operaciones realizadas por
los componentes internos del procesador. Estas instrucciones se encuentran directamente ligadas a la
estructura fsica del procesador y no pueden ser modificadas o cambiadas.
El lenguaje Ensamblador
Es necesario comprender la arquitectura interna del procesador as como sus instrucciones para programar
un procesador. Cada procesador tiene un conjunto de registros internos que puede emplearse de maneras
distintas para manipular nmeros binario. Las instrucciones ejecutadas por el procesador generalmente
manipulan los datos almacenados en la memoria y los registros de trabajo.
Las instrucciones de programa de un procesador se guardan como nmeros binarios en la memoria y se
conocen como cdigos de operacin (op). Los cdigos de operacin son ledos por la CPU y decodificados
para determinar cul es la instruccin que debe ejecutarse. Cada cdigo de operacin se aplica o afecta a
otro nmero, tal como el que est guardado en el "registro de trabajo" o "Acumulador". El nmero binario al
que se aplica la instruccin se conoce como operando. El operando puede ser otro registro o un nmero
binario almacenado en la memoria.
Para facilitar la escritura de programas, cada uno de los tipos principales de instrucciones tiene asociado un
cdigo alfanumrico corto que ayuda al programador a recordarlos, y estos cdigos alfanumricos se conocen
como mnemnicos. Este lenguaje es llamado lenguaje ensamblador y su uso es muy frecuente debido a la
facilidad para recordar las instrucciones. A manera de ejemplo en la tabla 11.6.1 se muestra una instruccin
en lenguaje ensamblador, la cual efecta una la trasferencia de datos entre dos registros del procesador:
Mnemnico
Operando
Comentario
MOV
A, B
Instrucciones de Transferencia
Como su nombre lo indica, este grupo de instrucciones se utiliza para efectuar transferencia de datos entre
los registros de la CPU, la memoria y los puertos de E/S. En la tabla 11.6.2 se indica un ejemplo este tipo de
instrucciones.
Mnemnico
Operando
Comentario
LDA
Mnemnico
ADD
Operando
Comentario
Mnemnico
JZ
Operando
No existe
Comentario
Microcontroladores
Qu es un Microcontrolador
Muchos de los sistemas digitales pueden disearse empleando procesadores o microcontroladores, la
seleccin del dispositivo depende del tipo de aplicacin y la diferencia bsica que existe entre estos dos
dispositivos se explica a continuacin:
Los microcontroladores generalmente tienen instrucciones especiales que permiten controlar procesos como
el indicado anteriormente y otros ms complejos; todo depende de la habilidad del programador para
generar el cdigo para manejar el proceso. Un microcontrolador es simplemente un procesador con memoria
ROM y RAM, puertos de E/S y otros dispositivos de propsito especial como conversores A/D, contadores,
temporizadores y puertos de comunicacin, o en otras palabras es un microcomputador con funciones
especiales. En la figura 11.7.1 se indica la estructura interna tpica de un microcontrolador.
La programacin es rpida.
Los microcontroladores se pueden encontrar en varias aplicaciones que se relacionen con medida,
almacenamiento, control, clculo entre otras. Tambin se pueden encontrar dentro de los teclados, mdems,
impresoras y otros perifricos. Como se puede notar los microcontroladores son dispositivos muy verstiles
que pueden ser utilizados en muchas aplicaciones, donde todo el potencial se encuentra en la programacin.
Como seleccionar un microcontrolador
Dentro de cada familia de dispositivos, usted encontrar normalmente una seleccin de varios
microcontroladores dependiendo de los dispositivos internos que tenga disponibles, y la capacidad de
memoria de programa y datos.
Los microcontroladores tambin se especifican por la cantidad de bits que pueden procesar por unidad de
tiempo. Un nmero alto de bits indica que se trata de un dispositivo rpido y de altas prestaciones. Los
microcontroladores de 8 bits son muy populares y se emplean en proyectos simples, sin embargo se
encuentran arquitecturas que manejan hasta 32 bits, para aplicaciones ms complejas.
El consumo de potencia es otra especificacin que se debe tener en cuenta, sobre todo para sistemas
alimentados por bateras. Los Chips normalmente son fabricados con tecnologa CMOS debido al consumo
bajo que ofrece. Algunos de estos dispositivos CMOS tienen disponible un estado de espera o modo "sleep",
como el de los compuatdores cuando se suspenden, el cual limita el consumo de corriente en unos cuantos
microamperios cuando los circuitos se encuentran inactivos. Usando este modo de funcionamiento, el
consumo de potencia puede ser reducido cuando se da espera a la entrada de datos durante la ejecucin de
un programa.
Microcontroladores disponibles en el mercado
En esta seccin se describen algunos microcontroladores populares que pueden ser empleados para infinidad
de aplicaciones. Lo ms recomendable en la seleccin de un microcontrolador es tener disponible un buen
juego de herramientas de desarrollo y que su costo no sea tan elevado, adems de ello tambin es
importante tener acceso a la documentacin del dispositivo para conocer su arquitectura y funciones. Para
iniciarse en la programacin de estos dispositivos generalmente son recomendables los microcontroladores
de INTEL, MOTOROLA y MICROCHIP entre otros, de los cuales se consiguen con facilidad sus herramientas de
desarrollo y documentacin. A continuacin de dar una breve descripcin de los dispositivos de cada una de
estas Marcas.
FAMILIA 805X, 80186 - INTEL
Los microcontroladores de la serie 8051, son la segunda generacin despus del 8048. Este dispositivo es
muy poderoso y fcil para programar. Tiene arquitectura Harvard, es decir, que los la memoria de datos y
programa se encuentran por separado en su estructura. La memoria del programa es de 64K y la memoria
de datos es de 128 bytes y 256 bytes para los 8052. Hay disponible gran cantidad de software de desarrollo
para los microcontroladores de esta familia que puede ser encontrado en Internet.
La tercera generacin de estos microcontroladores son los de la familia 80C196, los cuales manejan palabras
de 16 bits. Entre las principales caractersticas de estos dispositivos se pueden enumerar las siguientes: