i_unidad
DESCRIPTION
UNIDAD 1TRANSCRIPT
-
1.1. QU ES UN COMPUTADOR DIGITAL?
Un computador digital es una combinacin de dispositivos de circuitos digitales que
pueden realizar una secuencia programada de operaciones con un mnimo de intervencin
humana. La secuencia de operacin se llama programa. El programa es un conjunto de
instrucciones codificadas que se almacenan en la memoria interna del computador, junto
con todos los datos que requiere el programa. Cuando el computador recibe un comando
para ejecutar el programa lleva a cabo las instrucciones en el orden en el que est
almacenadas en la memoria hasta que se complete el programa. Esto lo hace a una
velocidad extremadamente alta.
1.2.ELEMENTOS DE COMPUTADOR DIGITAL
Cada computador contiene cinco elementos o unidades esenciales: la unidad aritmtica
lgica, la unidad de memoria, la unidad de control, la unidad de entrada y la unidad de
salida.
UNIDAD ARITMTICA LGICA
La ALU es el rea del computador la cual se llevan a cabo las operaciones aritmticas
y lgicas de los datos. El tipo de operacin que se realizar se determina mediante seales
de la unidad de control (flecha 1). Los datos que se sometern a operaciones mediante la
ALU pueden provenir ya sea de la unidad de memoria (flecha 2) o de la unidad de entrada
(flecha 3). Los resultados de las operaciones realizadas en la ALU se pueden transferir en la
unidad de almacenamiento (flecha 4), o a la unidad de salida (flecha 5).
UNIDAD DE MEMORIA
La memoria almacena grupos de dgitos binarios que pueden representar instrucciones
que realizar el computador y los datos que sern procesados a travs del programa. As
mismo, la memoria sirve como almacenamiento de los resultados intermedios y finales de
las operaciones aritmticas (flecha 4). La operacin de la memoria se controla mediante la
unidad de control (flecha 6), la cual proporciona a la seal para una operacin de escritura o
lectura. A una ubicacin especfica en memoria se ingresa mediante la unidad de control
que proporciona el cdigo de direccin apropiado (flecha 7). La informacin se puede
escribir en al memoria desde la ALU, o desde la unidad de entrada (flecha 8), de nuevo
bajo el mando de la unidad de control. La informacin se puede leer desde la memoria
hacia la ALU (flecha 2) o en la unidad de salida (flecha 9)
-
UNIDAD DE ENTRADA
La unidad de entrada consiste en todos los dispositivos que se usan para recibir
informacin y datos que son externos a la computadora y ponerlos en la unidad de memoria
(flecha 8) o en la ALU (flecha 3). La unidad de control determina donde se enva la
informacin (flecha 10). La unidad de entrada se usa para ingresar el programa de los datos
en la unidad de memoria antes de iniciar el computador. Esta unidad tambin se usa para
ingresar datos en la ALU desde un dispositivo externo durante la ejecucin de un programa.
Algunos de los dispositivos de entrada comunes son los teclados, interruptores de disparo,
mdem, etc.
UNIDAD DE SALIDA
La unidad de salida consta de dispositivos que se usan para transferir datos e
informacin desde el computador hasta el mundo exterior. El dispositivo de salida los
maneja la unidad de control (flecha 12) y pueden recuperar datos de la memoria sobre la
ALU, luego los datos se ponen en forma apropiada para su uso externo. Ejemplos de
-
dispositivos de salida comunes son las lecturas de LDE, luces indicadoras, impresoras,
unidades de disco, etc.
A medida que el computador ejecuta su programa normalmente tiene resultados o
seales de control que se deben presentar al mundo exterior.
INTERFASES
Los dispositivos que constituyen las seales de entrada y de salida se llaman
perifricos porque son externos al resto del computador. El aspecto ms importante de los
perifricos implica interfaces. La interfaz del computador de manera especfica como la
transmisin de informacin digital entre una computadora y sus perifricos de forma
compatible y forma sincronizada.
Muchos dispositivos de entrada y de salida no son compatibles directamente con el
computador debido a diferencias en caractersticas tales como velocidad de operacin,
formato de datos, modo de transmisin de datos y nivel de seales lgicas. Estos
dispositivos de E/S requieren algunos circuitos de interfaz especiales que les permiten
comunicarse con las partes de control, memoria y ALU del sistema de cmputo.
UNIDAD DE CONTROL
A estas alturas la unidad de control debe ser obvia. Dirige la operacin de todas las
otras unidades, proporcionando seales de sincronizacin y control. Un cierto sentido, la
unidad de control es como el director de una orquesta quien es responsable de mantener a
cada uno de los integrantes en perfecta sintona. Esta unidad tambin contiene circuitos
lgicos y de sincronizacin que generan las seales apropiadas que se requieren para
ejecutar cada instruccin en un programa.
La unidad de control busca una instruccin en la memoria enviando una direccin
(flecha 7) y un comando de lectura (flecha 6) a la unidad de memoria. Luego la palabra de
instruccin almacenada en la ubicacin de memoria se transfiere a la unidad de control
(flecha 11). Esta palabra de instruccin que est en alguna forma en cdigo binario, la
decodifica la circuitera lgica en al unidad de control para determinar que instruccin se
necesita. La unidad de control usa esta informacin para enviar las seales adecuadas al
resto de las unidades, con el fin de ejecutar la operacin especfica.
Esta secuencia de bsqueda de un cdigo de instruccin y luego la ejecucin de la
operacin indicada, la repite una y otra vez la unidad de control. Esta secuencia repetitiva
de bsqueda y ejecucin continua hasta que el computador se apaga o s resertea.
-
UNIDAD CENTRAL DE PROCESAMIENTO (CPU)
En la figura A2, la ALU y la central de control se muestran combinadas en unidad
llamada CPU. Comnmente esto se hace para separar el cerebro real del computador de la
otras unidades. En un microcomputador la CPU por lo general se implementa en un solo
Chip: el microprocesador. As mismo, la CPU contiene un conjunto de registros que
realizan funciones especiales. Estos registros tambin pueden proporcionar almacenamiento
de los datos a corto plazo dentro de la CPU sin necesidad de entrar en la memoria externa.
1.3.DIFERENCIA ENTRE EL MICROCONTROLADOR Y MICROPROCESADOR
Es importante comprender la diferencia entre un microcontrolador y un
microprocesador. Un microcontrolador contiene varios elementos el ms importante es el
microprocesador. Por lo general el microprocesador es un solo CI que contiene toda la
circuitera de las unidades de control y aritmtica lgica en otras palabras, la CPU. Es
comn referirse al microprocesador como la MPU, puesto que la CPU microcontrolador.
Esto se ilustra en la figura A4 en la que se muestran los elementos bsicos de un
microcontrolador.
La unidad de memoria muestra dispositivos RAM y ROM. La seccin RAM consta de
uno o ms chips. Esta seccin de memoria se usa para almacenar programas y datos los
cuales cambiarn con frecuencia durante el curso de operacin. Tambin se usa como
almacenamiento para resultados intermedios y finales de operaciones.
La seccin ROM contiene uno o ms chips ROM para almacenar instrucciones y datos
que no cambian y que no se deben perder cuando se interrumpa la energa. Ejemplo,
almacena el programa de arranque del microcontrolador ejecuta al momento de encendido,
puede almacenar una tabla de cdigos ASCII necesaria para dar salida a informacin a una
VDT o a una impresora.
Las secciones entrada y de salida contienen circuitos de interfaz necesarios para
permitir que los perifricos se comuniquen apropiadamente con el resto del computador.
Algunos casos estos circuitos de interfase son chips LSI diseados por el fabricante de la
MPU, para conectar la MPU a una variedad de dispositivos de E/S.
-
EL MICROPROCESADOR (MPU)
La MPU es el corazn de cada microcontrolador. Realiza una variedad de funciones
como:
1. -Proporcionar seales de sincronizacin y control para todos los elementos del
microcontrolador.
2. -Buscar instrucciones y datos en la memoria.
3. -Transferir datos hacia y desde la memoria y a los dispositivos de entrada y de salida.
4.-Contar con instrucciones de decodificacin.
5.-Realizar las operaciones aritmticas y lgicas que requieran las instrucciones.
6.-Responder las seales de control generadas por operaciones de E/S.
-
La MPU contiene toda la circuitera lgica para llevar a cabo todas estas funciones,
pero su lgica interna por lo general no es accesible de forma externa. En vez de eso, se
puede controlar lo que sucede dentro de la MPU mediante el programa de instrucciones que
se puso en memoria para que lo ejecute la MPU. Esto es lo que hace la MPU tan verstil y
flexible, cuando se desee cambiar de operacin, simplemente se cambian los programas
almacenados en RAM o ROM en vez de volver a nombrar los componentes electrnicos.
La lgica interna da la MPU es extremadamente compleja, pero se puede considerar
como si constara de tres secciones bsicas: la seccin de control y sincronizacin, la
seccin de registro y la ALU.
La funcin principal de la seccin de sincronizacin y de control es buscar y
decodificar cdigos de instrucciones de la memoria de programa y luego generar las seales
de control necesarias que requieren otras secciones para llevar a cabo la ejecucin de las
instrucciones. Esta seccin tambin genera seales de sincronizacin y control que
requieren los dispositivos de RAM, ROM y de E/S.
La seccin de registro contiene varios registros cada uno de ellos realiza una funcin
especial. El ms importante es el contador de programa, que mantiene un registro de las
direcciones de los cdigos de instrucciones a medida que son buscados en la memoria. En
nuestra siguiente descripcin referente a la ejecucin de un programa usaremos el contador
de programa. Otros registros de la MPU que se emplean para realizar funciones tales como:
almacenar cdigos de instruccin a medida de que se decodifican, retencin de datos que
son operados por la ALU (A), almacenar direcciones de datos que son buscados en la
memoria y muchas funciones de almacenamiento generado y conteo. Todos los
microprocesadores tienen un registro particular que se usa con mucha frecuencia llamada
acumulador o registro A. Almacena un operando para cualesquiera instrucciones
-
matemticas y lgicas y el resultado se almacena en el acumulador despus que se ejecuta
la instruccin. Algunas veces se abrevia Acc.
La ALU realiza una variedad de operaciones aritmticas y lgicas en datos. Estas
operaciones simpre incluyen adicin y sustraccin, AND, OR, XOR, desplazamiento,
incremento y decremento. Las MPU ms avanzadas tienen ALU que pueden realizar una
multiplicacin y divisin. Durante una operacin del microcontrolador, las operaciones que
la ALU deben realizar estn bajo el control de las secciones de sincronizacin y control, la
cual por supuesto, hace lo que se le ordena mediante los cdigos de instrucciones que busca
la memoria.
1.4. CDIGO DE MQUINA
PALABRAS DE INSRUCCIN
El formato que se usa para palabras de datos vara ligeramente entre computadores
distintos, en especial en aquellos con el mismo tamao de palabra. Sin embargo, esto no
sucede en el formato para palabras de instruccin. Estas palabras contienen la informacin
necesaria para que un computador ejecute sus diversas operaciones y el formato y los
cdigos para estas pueden variar ampliamente de computador a computador. Dependiendo
del computador la informacin contenida en una palabra de instruccin puede ser diferente.
Pero, la mayora de los computadores las palabras de instrucciones conllevan medidas
bsicas de informacin: la operacin que se llevar a cabo y la direccin del operando que
se procesar.
En la figura A6 se muestra un ejemplo de una palabra de instruccin y de direccin
nica para el 8051. Los 8 bits de la palabra de instruccin se divide en dos partes. La
primera parte de la palabra (bit 7 al 3) contiene el cdigo de operacin de cinco bits. El
cdigo de operacin representa la operacin que se le manda a realizar al computador,
como por ejemplo suma, resta o movimiento de datos. La segunda parte (bit 2 al 0) es la
direccin del operando, que representa la ubicacin de memoria donde se almacena l
operando.
Si todas las instrucciones del 8051 fueran de la misma forma como se muestra en la
figura 6 (5bits de cdigo de operacin, y 3 bits de direccin), el nmero total de
instrucciones posibles 25 =32. El nmero total de registros o ubicaciones de memoria que
poda almacenar l operando sera 23 =8. Esto limitara la capacidad del microprocesador.
Como veremos en la siguiente seccin, existe n formas para aumentar el nmero de
secciones posibles sin incrementar el tamao de palabras.
El punto importante que se debe comprender a partir de esta forma de instruccin es
que los primeros 5 bits le dice al microprocesador que hacer. Los ltimos 3 bits le dicen al
microprocesador donde obtener los datos. A manera de ejemplo, la instruccin del 8051
para mover al acumulador los datos en el registro 3 est codificada como s:
El cdigo de operacin significa mover un byte de datos a A (el acumulador) desde un
registro. Los 3 ltimos bits especifican que le byte de datos se movern del registro 3 (011).
Este cdigo de operacin binaria representa una operacin nica. En vez de hacer
referencia a l en binario, esta instruccin se expresa con frecuencia en hexadecimal EB.
Este cdigo de instruccin se almacenara en la memoria del microcontrolador junto con un
nmero de otras instrucciones que constituyen un programa. En el momento adecuado, se
busca en la memoria y se decodifica. El resultado es:
-
La palabra de 8 bits contenida en R3 se mueve (en realidad se copia) hacia el
acumulador. El contenido original del acumulador se pierde.
INSTRUCCIONES DE BYTES MLTIPLES
Hemos visto un formato de palabras de instruccin que contiene informacin de cdigo
op y de direccin del op en una sola palabra. En otras palabras, una instruccin completa
como se muestra en la figura A6 se almacena en una sola ubicacin de memoria. Si todas
las instrucciones se codificaran de esta forma, se necesitara un tamao de palabra mayor
para conjuntar todas las instrucciones posibles y de las direcciones de la operando. Los
computadores con tamao de palabra mayor usan este formato siempre que es posible. El
8051 est limitado a un tamao de palabra de 8 bits. A fin de proporcionar ms
instrucciones y ms flexibilidad del acceso de datos, la mayora de los computadores con
tamao de palabras pequeo usan ms de una palabra para describir cada instruccin.
Existen 3 formatos bsicos de instruccin: de un byte de 2 bytes y 3 bytes, como se ilustra
en la figura A7.
La instruccin de la figura A6 es una instruccin de un solo byte. Otras instrucciones
de un byte no necesitan un operando. Un ejemplo es una instruccin para borrar el registro
acumulador (CLR A), la cual manda a la computadora que borre todos los flip/flop en el
acumulador. Para esta instruccin, los 8 bits se consideran parte del cdigo op, puesto que
no hay instruccin para borrar otros registros, excepto A.
En una instruccin de 2 bytes, el primero siempre contiene el cdigo op. La finalidad
del segundo byte es especificar el valor de datos que se usar en la operacin. Hay varios
mtodos para especificar estos datos, los cuales se llaman modos de direccionamiento. En
-
este libro se analizarn dos modos de direccionamiento populares. El primero es similar al
mtodo que se describi anteriormente, en el cual l operando representa una direccin que
dirige al computador al lugar donde est almacenado el valor de datos. Esto se llama
direccionamiento directo. El otro modo de direccionamiento incluye el valor de datos real
como parte de la instruccin. En este modo l operando es el valor de datos mismo, en
lugar de la direccin de valor de datos. Como el valor de datos sigue inmediatamente el
cdigo op en la memoria del programa este se llama modo de direccionamiento
inmediato. La instruccin de 3 bytes es necesaria cuando l operando debe ser un nmero de 16 bits.
Por estas instrucciones de bytes mltiples, los dos o tres bytes que constituyen la
instruccin completa se deben almacenar en ubicaciones de memoria sucesivas. Esto se
ilustra con la tabla A1 para una instruccin de 3 bytes. En la columna de la izquierda se
enlistan las ubicaciones de direccin en memoria donde cada byte est almacenada. Estas
direcciones estn en hexadecimal. En la segunda columna se da la palabra binaria como en
realidad se almacena en memoria: la tercera columna es el equivalente hexadecimal de esta
palabra. Examine esta tabla con cuidado antes de seguir leyendo y trate de averiguar que
representa.
Tabla A1. Instrucciones de programa almacenadas en memoria. Direccin de memoria Binario Hex Descripcin
2050 XXXXXXXX XX Primera introduccin en un programa
2051
2052
2377 OOOOOO1O O2 Cdigo op para Jump
2378 OO1OOOOO 2O Byte superior desde donde saltar
2379 O1O1OOOO 5O Byte inferior a donde saltar
237A
Tabla A3. Programa de muestra en lenguaje mquina. Direccin de memoria (Hex) Contenido de la memoria (Hex) Lenguaje ensamblador Descripcin
OOOO O2 LJMP O1OOH SALTA al inicio del programa
OOO1 O1
OOO2 OO
O1OO 6O JZ O1OAH Se debe cocinar el alimento
O1O1 O8
-
O1O2 F5 MOV P1,A Visualiza el tiempo de cocinado en
O1O3 9O el puerto uno
O1O4 12 LCALL 1_SEC_DELAY Desperdicia un segundo
O105 28
O1O6 55
O1O7 14 DEC A Resta un segundo el tiempo
O1O8 7O JNZ O1O2H Est cocinado el alimento
O1O9 F8
O1OA ****************Aqu es donde contina el resto del programa*****************
1.5. CONCEPTOS GENERALES DE PROCESADORES
Ahora estamos preparados para hacer un anlisis ms detallado de la organizacin de
un microcontrolador. En esencia, las diversas estructuras posibles de un microcontrolador
son las mismas al principio, aunque varan respecto al tamao de los datos, los buses de
direcciones y los tipos de seales de control que usan. Con el fin de proporcionar el medio
ms claro para aprender los principios de la operacin de un microcontrolador, es necesario
elegir un solo tipo de estructura de microcontrolador y estudiarlo en detalle. No es que se
obtenga una comprensin slida de este microcontrolador, ser relativamente fcil de
aprender acerca de cualquier otro. La estructura de un microcontrolador elegido para su
representacin se muestra en la figura A9. Se basa en el microprocesador 8051 pero en
esencia tiene la misma estructura que los miscrocontroladores basado en la mayora de
microprocesadores de 8 bits. La CPU que se muestra en realidad consta del chip de
microprocesador 80521 conectado a varios chips de soporte para producir las estructuras de
buses deseados.
EL SISTEMA DE BUSES
El microcontrolador tiene 3 buses que transportan toda la informacin y las seales
involucradas en la operacin del sistema. Estos buses se conectan al microprocesador con
cada uno de los elementos de memoria y de E/S, de modo que datos e informacin puedan
fluir entre la CPU y cualquiera de estos elementos. En otras palabras, la CPU est
continuamente ocupada en enviar informacin o recibirla de una ubicacin en memoria, de
un dispositivo de E o hacia un dispositivo de S.
En el microcontrolador todas las transferencias de informacin tienen como referencia
la CPU. Cuando la CPU enva datos a otro elemento del computador se llama operacin de
escritura y la CPU escribe en el elemento seleccionado. Cuando la CPU recibe datos de otro
elemento se llama operacin de lectura y hace una lectura del elemento seleccionado.
Los buses implicados en todas las transferencias de datos tienen las funciones que se
describen a continuacin:
Bus de direcciones.- Este es en bus unidireccional porque la informacin fluye sobre l en una sola direccin de la CPU a la memoria o elementos de E/S. La CPU por si
misma puede colocar niveles lgicos en la lnea de bus de direccin con ello generan
-
65530 diferentes direcciones posibles. Cada una de estas corresponde a una ubicacin
de memoria o a un elemento de E/S. Por ejemplo, la direccin 20 A0 podra ser una
ubicacin en RAM o ROM donde se almacena una palabra de 8 bits o podra ser un
registro bufer de 8 bits que sea parte de la circuitera de interfaz para un mdulo
visualizador de cristal liquido o un convertidor D/A.
Cuando la CPU quiere comunicarse con una cierta ubicacin de memoria o dispositivo
de E/S coloca al cdigo direccin de 16 bits apropiado en sus 16 direcciones de salidas
de pines A0-A15 y en el bus de direcciones. Luego estos bits de direcciones se
decodifican para seleccionar la ubicacin de memoria o dispositivo de E/S deseada.
Bus de datos.- Este es un bus bidireccional porque los datos fluyen hacia o desde la CPU. Los 8 pines de datos del CPU, D0-D7 pueden ser E o S, dependiendo si la CPU
est realizando una operacin de lectura o de escritura. Durante una operacin de
lectura los pines actan como entradas y reciben datos que se han colocado en el bus de
datos mediante el elemento de memoria o dispositivo de E/S seleccionado por el cdigo
de direccin en el bus de direcciones. Durante una operacin de escritura los pines de
datos de la CPU actan como salidas y colocan datos en el bus de datos, los cuales
luego se envan al elemento de memoria o de E/S seleccionado. En todos los casos, las
palabras de datos transmitidas son de un ancho de 8 bits.
Bus de control.- Este es el conjunto de seales que se usa para sincronizar las actividades de los elementos separados de la microcontrolador. Algunas de estas
seales, como ALE, PSEN, RD, WR, se envan por la CPU a otros elementos para
decirles que tipo de operacin est en progreso. ALE (habilitacin de la direccin latch)
es alta mientras la CPU est poniendo el byte de direccin bajo en AD0-AD7. Esta
seal habilita el latch de direcciones para tomar la direccin baja durante este tiempo.
PSEN (habilitacin de programa de almacenamiento) es baja cuando la CPU desea que
la memoria de programa ponga una instruccin en el bus de datos. RD es baja cuando la
CPU quiere que la memoria de datos externa o el puerto de entrada ponga un byte de
datos en el bus de datos, WR es baja cuando la CPU est poniendo un byte de datos en
el bus de datos que quiere escribir en la memoria de datos externa o en el puerto de
salida. Los elementos de E/S pueden enviar seales de control a la CPU. Un ejemplo es
la entrada RST de la CPU, la que, cuando se excita a bajo, causa que la CPU se
restablezca a un estado de inicio. Otro ejemplo es la entrada de interrupcin de la CPU
INT0, usada por dispositivos de E/S para captar la atencin de la CPU cuando est
realizando otras tareas.
PUERTOS DE ENTRADA Y SALIDA
Durante la ejecucin de un programa la CPU constantemente lee de la memoria o
escribe en esta. El programa tambin puede llamar la atencin de la CPU para que vea uno
de los dispositivos de entrada, o para que escriba en uno de los dispositivos de salida.
Aunque el diagrama del microcontrolador de 8 bits de la figura A9 solo muestra un
-
dispositivo de E y uno de S, puede haber cualquier nmero de cada uno conectado al
sistema de buses del microcontrolador. Cada dispositivo de E/S normalmente est
conectado al sistema de buses del microcontrolador mediante un tipo de circuitos de
interfaz. La funcin del interfaz es hacer el microcontrolador y el dispositivo compatibles,
de modo que los datos se puedan pasar con facilidad entre ambos. La interfaz se necesita
cuando el dispositivo de E/S usa niveles de seales, sincronizacin de seales o formatos de
seales que son diferentes a los del microcontrolador.
Aunque los dispositivos de E/S se tratan como ubicaciones de memoria, son
significativamente diferentes a la memoria en ciertos aspectos. Una gran diferencia es que
los dispositivos de E/S pueden tener la capacidad de interrumpir la CPU mientras est
ejecutando un programa. Esto significa que un dispositivo de E/S puede enviar una seal a
la entrada de interrupcin de la CPU (INT0) para decirle al computador que desea
comunicarse con l. Entonces la CPU suspende la ejecucin del programa que est llevando
a cabo en ese momento y realiza la operacin apropiada con el dispositivo de interrupcin
de E/S. Las memorias RAM y ROM generalmente no tienen capacidad de interrupcin.