Beruflich Dokumente
Kultur Dokumente
MICROPROCESADORES Y MICROCOMPUTADORAS
2.
Memorias
2.1 2.2 Memoria de Acceso Aleatorio (RAM, por sus siglas en ingls) Memoria de Slo Lectura (ROM, por sus siglas en ingls)
2.2.1 2.2.2 Memoria de Slo Lectura Programable (PROM, por sus siglas en ingls) tipo fusible Memoria de Slo Lectura Programable Borrable (EPROM, por sus siglas en ingls)
2.3
3.
1.
1-1
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
HARDWARE
El hardware est compuesto por circuitos integrados (IC, por sus siglas en ingls) de muy alta densidad y prcticamente uno por cada bloque bsico, es decir: Un IC para la CPU, otro para la Memoria de Acceso Aleatorio (RAM, por sus siglas en ingls), uno ms para la Memoria de Slo Lectura Programable (PROM, por sus siglas en ingls), otro ms para los puertos de E/S paralelos y, finalmente, uno para los puertos de E/S seriales. Teora general de microprocesadores y microcomputadoras
Definiciones preliminares
Computador digital
El computador digital es una mquina de proceso de informacin al cual se le debe proporcionar un conjunto nico de instrucciones (programa) para el trabajo que deba ejecutar. El programa se almacena en la memoria interna del computador antes de ser ejecutado. El computador digital consta bsicamente de los bloques mostrados en la Figura 1.1: Definicin de microcomputador y microprocesador.
Definicin 1. Un microcomputador (C)es un dispositivo que utiliza a un microprocesador como Unidad de Proceso Central. Un microprocesador (P) es una mquina que procesa nmeros binarios (datos) siguiendo una secuencia organizada de pasos (programa) A cada paso de la secuencia se le llama instruccin.
Definicin 2.
1.
1-2
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
UNIDAD DE CONTROL
CPU
UNIDAD DE ENTRADA
INSTRUCCIONES Y DATOS
ALU
UNIDAD DE SALIDA
RESULTADOS
UNIDAD DE MEMORIA
CPU ENTRADA
MEMORIA
SALIDA
CPU
MEMORIA
MEMORIA
ENTRADA
SALIDA
ENTRADA
SALIDA
3.
1.
1-3
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
4. 5.
Capacidad de decisin por medio de la cual se pueden seleccionar cursos alternos de accin basndose en resultados calculados. Medio de salida por medio del cual se entreguen al usuario los resultados.
Las mquinas que satisfacen estas condiciones se les conoce como computadoras clase HARDVARD. Si adems de estas condiciones, las instrucciones se almacenan en la misma forma que los datos (cada uno igualmente accesible a la seccin de clculo de la C), entonces las instrucciones se pueden tratar como datos y la mquina puede modificar sus instrucciones. A tal mquina se le conoce como computadora clase VON NEWMAN o PRINCETON. El diseo de todos los C se basa en 4 bloques:
a. b. c. d.
Las arquitecturas de los C ms sobresalientes, en donde se muestran los grupos de lneas interconectados a los bloques bsicos, se presentan en la Figura 1.3:
MEMORIA
ENTRADA
MOTOROLA 6502
SALIDA
1.
1-4
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
MDB
BUS DE CONTROL
C O N T R O L
MDR ALU M A R
MAB
LOCALIDAD
CONTENIDO
ENTRADA
SALIDA
INTEL
SALIDA
ENTRADA
Donde:
MDB = Bus de Datos de Memoria MAB = Bus de Direccin de Memoria MAR = Registro de Direccin de Memoria ALU = Unidad Aritmtica y Lgica MDR = Registro de Datos de Memoria
(por sus siglas en ingls) (por sus siglas en ingls) (por sus siglas en ingls) (por sus siglas en ingls) (por sus siglas en ingls)
Las operaciones del C son sincronizadas por un oscilador (reloj) Se requiere de un cierto nmero de pulsos de reloj para efectuar las pruebas que se especifican en una instruccin. Un ciclo de instruccin consiste de uno o ms ciclos de mquina. Durante un ciclo de mquina se realizan los siguientes subciclos:
1. Subciclo de bsqueda (fetch subcycle)
El P proporciona la direccin de una instruccin residente en memoria a travs del MAB. La unidad de memoria decodifica la direccin y el contenido de sta se transfiere al MDR (el mP lee el contenido de la direccin)
1-5
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
RELOJ 5V
Subciclo de bsqueda
Subciclo de ejecucin
Ciclo de mquina
A B C Se enva direccin a la memoria Lee instruccin desde la memoria - Decodifica la instruccin - Ejecuta la instruccin
PC
IR
Decodificador de instruccin
C
MAR MDR
MEMORIA
LOCALIDAD
CONTENIDO
AB
DB
PC MAR MDR AB DB
Contador de Programa Registro de Direccin de Memoria Registro de Direccin de Datos Bus de Direccin Bus de Datos
1-6
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
La Figura 1.5, muestra el proceso a bloques de las palabras de instruccin, mostrando los pasos requeridos entre los distintos elementos del microprocesador y la memoria: MICROPROCESADOR
4 3
MDB
IR
MDR
CONTROL
1 2
MAR
MDB IR PC MAB MDB MDR Registro de Instruccin Contador de Programa Bus de Direccin de Memoria Bus de Datos de Memoria Registro de Datos de Memoria
MEMORIA
1.
1-7
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Cuando sucede una interrupcin, deseamos que despus de atenderla, el programa continue su ejecucin donde se qued. Para lograr esto, es necesario que todos los registros internos del P se almacenen en memoria y a esta rea se le llama stack. Despus de atender la interrupcin, sacamos del stack los valores de los registros del P. Con esto, reanudamos el programa en la instruccin en que se suspendi. Esta fue una descripcin general de un C, en la prctica se debe tomar en cuenta que cada C tiene su propia organizacin, la cual combina o expande las caractersticas descritas con anterioridad. Microprocesador ideal
Definicin:
Es un dispositivo digital que acepta datos desde cualquier nmero de lneas de entrada, procesa los datos de acuerdo al dictado de un programa almacenado en memoria y produce cualquier nmero de seales de salida como consecuencia del proceso de datos, como lo muestra la Figura 1.6.
N lneas de ENTRADA
MEMORIA
M lneas de SALIDA
PROGRAMA
Las seales que se aplican a las lneas de entrada se les conoce como datos de entrada. stos pueden venir de interruptores (switches), sensores, convertidores A/D (Analgico / Digital), teclado o cualquier tipo de dispositivo de entrada. Dentro del P ideal reside el programa, el cual es un conjunto de instrucciones secuenciales que determinan cmo ser procesado el dato de entrada y qu informacin ser enviada a las lneas de salida como consecuencia del proceso de las entradas. Las lneas de salida se pueden conectar a actuadores, indicadores, convertidores D/A, impresoras, alarmas, etc.
1.
1-8
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
En cualquier tiempo, los niveles lgicos en las lneas de salida del microprocesador se determinan por 2 factores:
-
Microprocesador real Debido al nmero limitado de patas (pines) disponibles en cualquier circuito integrado prctico, el P no contiene N lneas de entrada y M lneas de salida tendientes a Para la mayora de los microprocesadores N = M Este nmero se conoce como el ancho de la trayectoria de datos o longitud de la palabra del P. Al grupo de lneas utilizado para transferir datos hacia/desde el P se le conoce como bus de datos.
Bus de Datos (DB)
c.
Una de las limitaciones prcticas ms severas de los P es el nmero de patas disponibles en un circuito integrado (IC, por sus siglas en ingls) econmico. Por esto el bus de datos (DB, por sus siglas en ingls) es bidireccional (multiplexado), como se muestra en la Figura 1.7:
P P
AB
DB SIN MLTIPLEXAR
1-9
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Bus de direccin
El microprocesador ideal contiene memoria interna ilimitada, los P reales contienen memoria finita. Por lo tanto, el P real contiene memoria externa, como se muestra en la Figura 1.8:
MEMORIA
LOCALIDAD CONTENIDO
AB
El P debe ser capaz de almacenar o recuperar informacin de esta memoria. Al proceso de almacenar informacin en memoria se conoce como escritura a memoria. Al proceso de recuperar informacin de la memoria se le conoce como lectura de memoria. El P real contiene un grupo de lneas, bus de direccin, AB para acceder a las localidades de memoria. El conjunto de localidades de memoria que un P puede acceder directamente se le conoce como espacio de memoria y se expresa en Kpalabras. 1 Kpalabras = 210 palabras = 1024 palabras. Recalcando que una de las limitantes de los encapsulados econmicos es el nmero de patas, en algunos microprocesadores los buses de direccin y de datos estn multiplexados. Por ejemplo, los INTEL 8086 y 8088.
Bus de control
El microProcesador real contiene un conjunto de lneas que sirven para controlar la circuitera externa del P. Al conjunto de estas lneas se les conoce como bus de control.
Bus de alimentacin
Sirve para proporcionar el voltaje de referencia de la lgica binaria del P. Los valores ms comunes son:
GND VCC = 0V =5V
Registros internos
Los registros internos del microProcesador real se utilizan almacenamiento temporal de datos e instrucciones. Los ms comunes son:
para
1.
1-10
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
MDR Registro de Datos de Memoria MAR Registro Direccin de Memoria Acumuladores Registros de ndice Apuntadores de la pila de datos Apuntador de segmentos IR Registro de Instruccin FR Registro de estado de las Banderas de la ALU
Memorias
Existen dos tipos de organizacin:
FSICA Tal como aparece en el Bus de direccin Existen dos mtodos: Lineal Paginacin Existen dos mtodos: Segmentacin Paginacin lgica -
LGICA
MEMORIA PRINCIPAL
CPU
MMU
TERMINAL
I/0
ORGANIZACIN LGICA
ORGANIZACIN FSICA
Los tipos de memoria semiconductora disponibles actualmente para los C se resumen a continuacin:
1.
1-11
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
M E M O R I A S S E M I C O N D U C T O R A S
ROM
EAROM
uVPROM
La memoria voltil tiene la caracterstica de que pierde la informacin almacenada cuando se desactiva la fuente de poder (la celda de almacenamiento es un multivibrador biestable)
La memoria no voltil retiene la informacin despus de que se desactiva la fuente de poder (La celda de almacenamiento es un dispositivo de conmutacin con un fusible como elemento programable) Memorias de Acceso Aleatorio (RAM, por sus siglas en ingls) Las RAM se clasifican como memorias voltiles. Hay 2 tipos de RAM, estticas y dinmicas. En las RAM dinmicas la informacin se almacena en forma de carga elctrica (capacitancia base-emisor de transistor MOS) Esta capacidad tiende a descargarse con el tiempo, por lo que es necesario tener circuitos para refrescar la informacin peridicamente. La RAM esttica no requiere circuitos de refresco ya que la informacin se almacena en un multivibrador tipo latch. Aunque la memoria dinmica requiere circuitera de refresco externa, es ms barata que la RAM esttica y consume menos energa. Memorias de Slo Lectura (ROM, sus siglas en ingls) Se clasifican en dos tipos:
-
1.
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Las ROM programadas durante el proceso de manufactura son muy confiables y cuando se producen en volmenes altos proporcionan el costo ms bajo por bit que cualquier memoria semiconductora. En las RAM, el tipo de acceso es independiente de la localizacin del dato, en este tipo de memoria, un arreglo de biestables contiene la informacin binaria (las celdas se conectan en paralelo a la lnea de salida del decodificador de direccin) Se conectan tantas celdas en paralelo como bits tiene la palabra. Las RAM estticas tienen los siguientes inconvenientes:
Densidad limitada Alto consumo de energa Conforme se incrementa la densidad de la memoria, los circuitos sensores se vuelven ms complejos y requieren mayor energa.
Las RAM dinmicas son de tecnologa MOS y tienen la ventaja de que las celdas son de dimensiones menores a las bipolares y consumen poca energa, lo cual hace posible el que se puedan empaquetar muchas celdas en un circuito integrado. La desventaja de las RAM dinmicas con respecto a las estticas es la velocidad de acceso. Las ROM programables por el usuario pueden ser de 2 tipos:
1. ROM Programable tipo fusible (PROM, por sus siglas en ingls)
Estas se pueden programar una sola vez, despus de programadas, el patrn programado no puede ser alterado.
2.
PROM borrables (EPROM, por sus siglas en ingls) Pueden ser programadas y reprogramadas por el usuario muchas veces siempre y cuando se respete la especificacin de programacin en cuanto a la amplitud y tiempo de duracin del pulso de programacin. Hay dos tipos de EPROM: a. uVEPROM la cual es borrada cuando se hace incidir un haz de luz ultravioleta de suficiente intensidad. b. EAPROM (electrically alterable PROM) se borra aplicando un pulso en una patilla del IC. Este es mejor que las del inciso anterior, ya que se borra el contenido de una localidad. En las del inciso anterior se borra toda la memoria.
1.
1-13
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Arreglo lineal. La Figura 1.10, muestra los bloques bsicos de un arreglo lineal:
Palabra 0
AB del P
Lneas de direccionamiento
a0 a1 a2
I
Decodificador de direccin Palabra 1
II
Celdas de almacenamiento
an-1
Palabra 2n-1
III
AB = DB =
Sensores de Lect/esc
Hacia el DB del P
1.
1-14
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
w 0 = a1 a 0 w 1 = a 1a 0 w 2 = a1 a 0 w 3 = a 1a 0
En diagrama a bloques se tiene la siguiente representacin:
w0 a0 a1 DECODIFICADOR n a 2n w1 w2 w3
FIGURA 1.11. Diagrama lgico de un arreglo lineal de 4 palabras de 4 bits por palabra
En general, los decodificadores que contienen los circuitos integrado de memorias son:
n entradas 2 n salidas 10 1024 11 2048 12 4096 13 8K 14 16K 15 32K 16 64K
II.
Celdas de almacenamiento Estn organizadas en palabras, cada palabra corresponde a una lnea de salida del decodificador de direccin.
1.
1-15
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
El nmero de bits que contiene cada palabra es el nmero de celdas que se conecta en paralelo a cada lnea de salida del decodificador, como se muestra en Figura 1.11. III. Sensores de LECTURA / ESCRITURA Debido a las caractersticas del decodificador una sola lnea de salida wm est activa con una combinacin entre las n lneas de entrada, la cual nos permite compartir los sensores de entrada / salida. Un sensor por cada bit de que conste la palabra.
W0
W1 a0
DECODIFICADOR DE DIRECCIN
W2
a1
W3
III
Sensores de Lectura / escritura
1.
1-16
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
x0 x1 DECODIFICADOR EN DIRECCIN x
xn
DECODIFICADOR EN DIRECCIN y
yn y1 y0
EJEMPLO: Obtener el diagrama lgico de una memoria de 16 palabras de 1 bit cada palabra.
Densidad de memoria = 16 x 1 = 16 lneas de direccionamiento 2n = nmero de palabras = 16 n = 4 lneas de direccionamiento
Decodificador x
1.
1-17
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
b.
Decodificador x
n = 4 lneas de direccionamiento
Decodificador y
El circuito integrado que contiene a esta memoria, comprende las siguientes patas:
N.C.
n = 4 lneas de direccionamiento
IC de 8 patas
Algoritmos para expansin de memorias a. Expansin del nmero de bits de la palabra Cuando se desea mantener fijo el nmero de direcciones y aumentar el nmero de bits de la palabra, se determina el nmero de circuitos integrados que requiere el arreglo. Se conectan en paralelo las lneas de direccionamiento de los integrados y se dejan libres las lneas de lectura/escritura asignndoles un peso. EJEMPLO: A partir del ejemplo anterior, obtener un arreglo de memoria de 16 palabras de 4 bits cada palabra.
a0 a1 a2 a3
n = 4 lneas de direccionamiento
b0 b1 b2 b3
4 lneas de entrada/salida de datos
1-18
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
4 16 x 4 4
b.
Expansin del nmero de localidades de memoria Cuando se desea aumentar el nmero de localidades de memoria manteniendo constante el nmero de bits de palabra:
Determinamos el nmero de integrados que requiere el arreglo. Conectar en paralelo las lneas de entrada/salida (I/O, por sus siglas en ingls) de datos (cada una con la del mismo peso) Conectar en paralelo todas las lneas de direccin (cada una con la del mismo peso) Las lneas que sobran (las ms significativas) conectarlas a un decodificador de IC. Las salidas del decodificador conectarlas a las lneas CS de cada circuito integrado.
EJEMPLO: A partir de circuitos integrados de 8 palabras de 4 bits, obtener un arreglo de 32 palabras de 4 bits.
a0 a1 a2
IC 8x4
b0 b1 b2 b3
a0 a1 a2 a3 a4
32 x 4
b0 b1 b2 b3
CS
decimal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DIRECCIN CONTENIDO a4 a3 a2 a1 a0 b3 b2 b1 b0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
IC0
IC1
1.
1-19
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
decimal
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DIRECCIN CONTENIDO a4 a3 a2 a1 a0 b3 b2 b1 b0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
IC2
IC3
a0 a1 a2
IC0
CS0
b0 b1 b2 b3
IC1
CS1
IC2
CS2
IC3
CS3
Aplicacin de los dos algoritmos EJEMPLO: A partir de un circuito integrado de 1K x 4, obtener un mdulo de memoria de 4K x 8.
1.
1-20
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
TARJETA 4k x 8
IC 10 1K x 4 4
2 = 1024 n = 10
12
2 = 4K n = 12
4K x 8 1K x 1
=8
Para interconectar los circuitos integrados (IC) aplicamos los 2 algoritmos de expansin de memoria. a. Para el algoritmo de expansin de longitud de palabra:
10 LBS (bits menos significativos) CS0 10 10 CS1 10 CS 4 MSB (bits ms significativos) 4 1K x 8 CS 8
1.
1-21
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
b.
10
P
DB AB
12
Decodificador 10
1K x 8 CS0
8
Tarjeta
1K x 8 CS1
8 8 12 8
2a4
2
10
1K x 8 CS2
8
4K x 8
10
1K x 8 CS3
8
Tabla de memoria:
DIRECCIN
A11 A10 A9 A0
0 0 0 : 1 0 : 1 0 : 1 0 : 1 : : : : 0 : 1 0 : 1 0 : 1 0 : 1
CONTENIDO
N2 N1
Un concepto didctico es representar a la memoria como si fuese un cuaderno compuesto por pginas. La pgina se asigna de alguna manera lgica correspondiente al arreglo de hardware, como se muestra en la siguiente figura:
1.
1-22
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
10
1K x 8
Selector de pgina
A1
A0
La hoja es un espacio cuadriculado, los renglones son las direcciones y las columnas son los bits de las palabras. En cada hoja estn representados 2 circuitos integrados de 1K x 4. Para tener una segunda solucin, aplicamos el algoritmo de expansin de localidades de memoria:
A0 A9
1K x 4 4
Decodificador 1K x 4 4
A11-A10
4K x 4 4 2a4 1K x 4 4 2 12 4
b3 b0 CS
1K x 4 4
1.
1-23
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
12
4K x 4
LSB 4
CS
4K x 8
12 MSB
4K x 4
EJEMPLOS de interconexin P Memoria. Para propsito de interconexin P Memoria, ser necesario el concepto de amortiguar el bus de direccin con circuitos line drivers (excitadores de lnea) y el bus de datos con elementos bidireccionales tranceptores (transceivers), con el fin de no sobrecargar las lneas de direccin y de datos del P. Esto, cuando se conecta mucha memoria a sistemas de propsito general
P UCL = Unidad de Carga Lgica
DB 1 UCL AB LINE DRIVER
m
TRANCEPTOR 40 UCL
MEMORIA
LOCALIDAD
CONTENIDO
n NOTA: Un line driver por c/u de las lneas del bus de direccin. Un transceiver por c/u de las lneas del bus de datos
EJEMPLO: Interconexin P-memoria. Se tiene un P con 16 lneas en el bus de direccin (AB, por sus siglas en ingls) y 8 lneas en el bus de datos (DB, por sus siglas en ingls) Tenemos 2 mdulos de memoria de acceso aleatorio (RAM, por sus siglas en ingls) de 8K x 8 y un mdulo de memoria de slo lectura (ROM, por sus siglas en ingls) de 8K x 8. Ubicar los mdulos de RAM en los primeros 16K de direccionamiento del P. Ubicar el mdulo de ROM en los ltimos 8K de direccionamiento del P. La Figura 1.14, muestra la solucin. EJEMPLO: Interconexin P-memoria. Se tiene un P con 20 lneas en el AB y 16 lneas en el DB. Tenemos 2 mdulos de memoria RAM de 8K x 16 y un mdulo de memoria ROM de 8K x 16. Ubicar los mdulos de RAM en las direcciones 32K a 48K del P y ubicar el mdulo ROM en los penltimos 8K de direccionamiento del P. La Figura 1.15, presenta la solucin.
1.
1-24
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
P
AB 16
m1 DEC m2 m3 3
0 8 16 24 32 40 48 56 64
VACIO
ROM
mP
1.
1-25
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
0 8 16 24 32 40 :
RAM
EJEMPLO: Tenemos el P 8085 con 16 lneas en el bus de direccin (AB) y 8 lneas en el bus de datos (DB) Tenemos circuitos integrados de memoria RAM de 2K x 8 y PROMS de 1K x 8. Configurar en RAM un mdulo de 16K x 8 y en ROM un mdulo de 16K x 8. Ubicarlos, la RAM en los primeros 16K y el ROM en los ltimos 16K de direccionamiento del P. 1. Mdulo de RAM.
Nmero de IC =
11 CS0 14 11 8 8
16K x 8 2K x 8
=8
DEC
TARJETA
16K x 8 11 n = 14 16K = 2 n = 14
4
3 a 8
CS5
IC 2K x 8
11
CS6 11 n = 11 4K = 24 n = 11 8 CS7 11 8 8
1.
1-26
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
2.
Mdulo de ROM.
Nmero de IC = densidad del mdulo densidad del IC = 16K x 8 1K x 8 = 16
CS0 14 10 10 8 8 IC CS1 10 8 10 CS2 10 8 Mdulo de ROM CS3 10 8 16K x 8 14 CS4 10 DEC CS5 10 8 8 8 1K x 8 8
4 CS6 a 4 16 CS7 10 8 10 8
CS8 10 8
CS9 10 8
CS10 10 8
CS11 10 8
CS15 10 8
1.
1-27
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
3.
DB 8
MEMORIA
mP
16k RAM VACIO VACIO VACIO 14 8 NOTA: En general cada IC contiene ms de una lnea de CS 8 16k ROM
AB 16 2
Los P 8086/8088: Intel dise los P 8086/8088 para realizar al mismo tiempo las principales
funciones internas de transferencia de datos y bsqueda de instrucciones. Para lograrlo ambos microprocesadores constan de dos procesadores interconectados en el mismo IC. Una unidad est encargada de buscar instrucciones y la otra de ejecutarlas. Adems, la unidad encargada de buscar instrucciones utiliza un mtodo llamado de estructura tubular (pipeline <por cola>) en la cual entran las instrucciones. Al procesador principal de se llama unidad de ejecucin, el cual est encargado de decodificar y ejecutar todas las instrucciones. Esta unidad es idntica en ambos microprocesadores. A la otra unidad se le llama unidad de interfaz de bus (BIU, por sus siglas en ingls), la cual est encargada de localizar las instrucciones y de transferir todos los datos entre los registros internos y el mundo exterior.
1.
1-28
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CPU
DIRECCIN
RAM
E/S
Se tienen dos tcnicas para la Entrada/Salida: E/S mapeada en memoria E/S mapeada en E/S
Algunos microprocesadores asignan parte del espacio disponible en memoria para la entrada/salida. Los P que usan parte del espacio de memoria para E/S se dice que usan E/S mapeada en memoria. Los P 6800, 6802, 6805, 6809 y el 68000 usan esta tcnica. El 8086/8088 no utiliza esta tcnica. Todo el espacio de memoria del sistema puede ser utilizado para memoria. El sistema de E/S tiene su propio espacio de direccionamiento. A una arquitectura de E/S como esta se le conoce como E/S mapeada en E/S. Una operacin de E/S puede definirse de la siguiente manera: INPUT OUTPUT Cuando el P lee datos desde una fuente que no es la memoria del sistema Cuando el P escribe datos a un destino que no es la memoria del sistema
El bus de control define el tipo de comunicacin que ocurre. En otras palabras, si el sistema utiliza E/S mapeada en E/S, hay lneas de control separadas para la E/S y la memoria del sistema. Por ejemplo, el sistema de memoria utiliza las lneas de control etiquetadas como memory read y memory write mientras que el sistema de E/S usa las lneas de control etiquetadas como input read y output write, como lo muestra la Figura 1.17.
1. INTRODUCCIN A LOS MICROPROCESADORES LUIS URIETA PREZ Y PABLO FUENTES RAMOS
1-29
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
MEMORY READ MEMORY WRITE BUS DE CONTROL DEL SISTEMA INPUT READ INPUT WRITE
CPU
Direccionamiento de E/S. Puerto: Es un lugar nico utilizado para leer o escribir datos, no es la memoria del sistema. De hecho, un puerto es similar a una localidad nica en el sistema de memoria desde el cual el dato debe ser ledo o escrito durante una operacin de memoria.
A cada puerto en el sistema de E/S se le da una direccin nica, llamada cdigo de seleccin del puerto. Para generar un cdigo de seleccin del puerto, las lneas de direccin A0 A15 son decodificadas con circuitera lgica para que respondan a una combinacin especfica.
Bus de Direccin Lgica de A15 ---- A0 decodificacin Lnea de seleccin de puerto. Responde a una sola de las 216 posibles combinaciones
CPU
FIGURA 1.18. Cada puerto de E/S est diseado para responder a una sola combinacin de las 216 posibles, del bus de direccin del sistema. Recuerde para E/S, se toman 16 lneas de las 20 que tiene el bus de direccin (AB)
Por ejemplo, un puerto puede tener un cdigo de seleccin de puerto igual a 0507H, como se muestra en la Figura 1.19:
1.
1-30
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CPU
0250 = 0 decodificacin La lgica de decodificacin deber generar un 0 lgico si y solamente si en las lneas de direccionamiento A15 A0 est presente en la combinacin 0250h
Para los P 8086/8088 se utilizan 16 de las 20 lneas de direccionamiento para direccionar la E/S. Esto da un total de 65,535 puertos de E/S disponibles en el sistema. Aunque el sistema de E/S y el sistema de memoria son completamente separados, estos dos sistemas utilizan las mismas lneas de direccionamiento. Esto significa que podemos tener:
La direccin de memoria 004Fh La direccin del puerto 004Fh
Una distincin puede hacerse entre estos dos sistemas revisando las lneas en el bus de control del sistema:
Durante una operacin de memoria de una de las dos lneas del bus de control memory read o memory write est activa. Durante una operacin de E/S una de las dos lneas del bus de control input read o output write est activa.
1.
1-31
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Las direcciones 00F8h a 00FFh no debemos utilizarlas ya que Intel las ha reservado para desarrollos de futuros productos. Si las usamos, no podremos utilizarlos posteriormente con los desarrollos de Intel.
Qu es un dispositivo de E/S?
Un dispositivo de E/S puede ser definido como hardware de E/S controlado por el sistema. Un dispositivo tal puede tener uno o ms puertos de E/S o direcciones de E/S asociadas. Ejemplos de tales dispositivos son los circuitos de baja escala de integracin (LSI, por sus siglas en ingls), tales como el controlador de discos flexibles o un generador de base de tiempo.
DISPOSITIVO DE
CPU
A15 A0
E/S
00008H 00010H
FIGURA 1.21. Un dispositivo de E/S debe responder elctricamente a una o ms direcciones de puertos de ENTRADA/SALIDA. En este ejemplo, el dispositivo de E/S responde a las direcciones 00008h a la 00010h inclusive.
Software Instruccin INPUT Se utiliza para leer datos desde un puerto de entrada. Su estructura es:
IN acumulador A, puerto
Si el puerto es de 8 bits, el dato captado queda en el registro AL. Si el puerto es de 16 bits, el dato captado queda en el registro AX. Instruccin OUTPUT Se utiliza para transferir datos del P a un puerto de salida. Su estructura es: OUT puerto, acumulador A
1.
1-32
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Direccionamiento de un puerto de E/S. Hay dos formas de utilizar las instrucciones anteriores: a. Direccin a travs de una constante Dando la instruccin (1 byte) y la direccin del puerto (1 byte) Con este mtodo podemos acceder un puerto ubicado en las primeras 256 localidades.
IN OUT AL, 03h 04h, AL
b.
A travs del registro DX. Con esto podemos direccionar un puerto ubicado en cualquiera de las 65,536 localidades asignadas a puertos.
MOV IN MOV IN DX, 03h AL DX, 04h AL
Donde: 03h es la direccin del puerto de entrada y 04h es la direccin del puerto de salida.
Es un circuito LSI encapsulado en un CI de 40 patas. Est diseado para realizar una gran variedad de funciones de interfase en el medio ambiente de microprocesadores. La Figura 1.G, muestra su diagrama a bloques. La funcin de cada bloque es la siguiente: En el diagrama hay 4 bloques que conectan fsicamente el 8255 al hardware externo. Estos bloques tienen lneas etiquetadas como PA0 PA7, PB0 PB7, PC0 PC3, PC4 PC7. Los grupos de seales de esos bloques son divididos lgicamente en tres puertos conocidos como puerto A (PA), puerto B (PB) y puerto C (PC) Estos 4 puertos (PC est dividido en dos grupos) son conectados a un bus interno de datos en el 8255. Es, va este bus interno de datos, que los puertos son programados. Hay dos bloques de control etiquetados como grupo de control A y grupo de control B, que definen cmo van a operar los tres puertos de E/S en el sistema. Hay varios modos distintos de operacin del 8255, los cuales deben ser definidos por la palabra de control que l escribe en el dispositivo.
1. INTRODUCCIN A LOS MICROPROCESADORES LUIS URIETA PREZ Y PABLO FUENTES RAMOS
1-33
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Al DB del P
GRUPO CONTROL A PUERTO C 4 MSB BUFFER DEL BUS DE DATOS PUERTO C 4 LSB
PC7 PC4
D0 D7
PC3 PC0
RD WR A1 A0 RESET LGICA DE CONTROL DE LECT/ ESC GRUPO CONTROL B PUERTO B PB7 PB0
Hacia perifricos
CS
Note que el grupo C consiste de dos puertos de 4 bits. Uno de los grupos de 4 bits es asociado con el grupo de control A y el otro con el grupo de control B. Los bloques finales del diagrama a bloques son: Buffer del bus de datos Lgica de control de LECTURA/ESCRITURA
Estos dos bloques proporcionan la interfase elctrica entre el P y el 8255. El buffer del bus de datos del 8255 se conecta al DB del P. La lgica de control de LECTURA/ESCRITURA enruta el dato hacia/desde el registro interno (AL, AX) con la sincronizacin adecuada. Conexin fsica con el P.
Hay 4 puertos internos accesados por las lneas de direccin A1, A0. Para explicar su funcionamiento, usaremos las direcciones 10h, 11h, 12h y 13h.
1. INTRODUCCIN A LOS MICROPROCESADORES LUIS URIETA PREZ Y PABLO FUENTES RAMOS
1-34
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Registros de lectura y escritura del 8255. Examinaremos la definicin de registros y direcciones de puertos mostrados en la Figura 1.23.
8088 A7 A0 AB LGICA DE DECODIFICACIN 8255 PUERTO A CS
A1, A2
PUERTO B
BUS DE DATOS DB BUS DE CONTROL I/O READ I/O WRITE D7D0 PUERTO C
FIGURA 1.23. Interconexin entre el P y el PIO DIRECCIN # DE PUERTO 10H 11H 12H 13H 0 1 2 3 DEFINICIN Puerto A como SALIDA Puerto A como ENTRADA Puerto B como SALIDA Puerto B como ENTRADA Puerto C como SALIDA Puerto C como ENTRADA Palabra de control para definir la funcin de los puertos anteriores
1.
1-35
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
PALABRA DE CONTROL GRUPO B D7 D6 D5 D4 D3 D2 D1 D0 Puerto C (4 LSB) 1 = INPUT 0 = OUTPUT Puerto B 1 = INPUT 0 = OUTPUT Seleccin de Modo 1 = MODO 0 2 = MODO 1 GRUPO A PUERTO C (4 MSB) 1 = INPUT, 0 = OUTPUT
Esta figura muestra las definiciones de bits del registro de control. La utilizaremos para escribir nuestros programas. Dispositivo de E/S serial (Receptor/Transmisor, Sincrnico/Asincrnico Universal 8251A, USART, por sus siglas en ingls)
En el modo de TRANSMISIN, serializa el dato paralelo del P insertando en forma automtica bits de inicio, parada y paridad (en el modo asincrnico), o caracteres de sincrona (en el modo sincrnico) En el modo RECEPTOR convierte el dato serie a paralelo y verifica errores de paridad, encuadre (frame errors) y sobreescritura de datos (overrun)
Este circuito integrado (IC) tiene un bus de datos bidireccional, el cual permite al P programar su funcionamiento va uno de tres bytes de control. La Figura 1, muestra un diagrama a bloques y descripcin de patas del USART. Ntese que el IC cuenta con un transmisor y un receptor separados, cada uno con sus propias entradas de reloj (RXD y TXD)
RXD es la entrada de datos serial (recibe datos) TXD es la salida de datos serial (transmite datos)
1.
1-36
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Las seales de estatus RXRDY y TXRDY indican que los buffers de datos del receptor y transmisor estn listos para leerse o escribirse, respectivamente.
La lnea SYNDET/BD es una seal que va a 1 cuando el carcter de sincrona ha sido detectado cuando operamos en el modo sincrnico. En el modo asincrnico, indica una condicin de ruptura. Esto es un nivel lgico continuo 0 en la lnea receptora RXD. Esta condicin es enviada por un receptor al transmisor para solicitar ruptura de transmisin debido quizs a una condicin de error. SYNDET/BD est disponible tambin va de status del puerto. El intercambio de datos paralelo entre el CPU y el USART viaja sobre las lneas del bus de datos bidireccional D7 - D0. Las lneas RD y WR controlan la direccin del flujo de datos. La lnea CS debe estar en 0 para que el IC sea seleccionado. El transmisor y el receptor continan funcionando independientemente de la lnea CS .
1. INTRODUCCIN A LOS MICROPROCESADORES LUIS URIETA PREZ Y PABLO FUENTES RAMOS
1-37
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
La Figura 2, muestra la interfaz entre el P 8086 y el USART 8251A. Cuando la lnea C / D est en 0 selecciona al puerto de datos interno. Cuando es 1, selecciona al puerto de control. Debido al MUX, la lnea AB0 se utiliza para seleccionarlos. Se utiliza decodificacin completa para las 16 lneas de E/S en forma tal que el USART es mapeado en puertos consecutivos 0070h y 0071h, seleccionados por AB0.
1.
1-38
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
La siguiente tabla resume las funciones de lectura y escritura de cada uno de los puertos:
C / D RD
0 0 1 1 0 1 0 1
WR
1 0 1 0
FUNCIN
Lectura de un byte de datos Escritura de un byte de datos Lectura de un byte de datos Escritura de un byte de datos
La Figura 2 tambin muestra las cuatro seales de control del MODEM: DSR , DTR , RTS y CTS . Con excepcin de CTS , estas seales son de propsito general y no afectan la operacin del circuito; sin embargo, CTS debe ser igual a 0 si el transmisor interno va a ser habilitado. Se requiere la entrada de reloj CLK para sincronizacin interna, debe tener una frecuencia de al menos 30 veces la frecuencia del transmisor o receptor en el modo sincrnico y al menos 4.5 veces la frecuencia del transmisor o receptor en el modo asincrnico.
NOTA DE APLICACIN: En la mayora de los casos, los niveles lgicos TTL en las lneas de entrada o salida serie deben trasladarse a especificaciones RS-232C (EIA Electronic Industries Associates) Esto es, -12V para el nivel lgico 1 y +12V para el nivel lgico 0.
Despus de trasladar los niveles TTL del USART a niveles RS-232C, el dato serial puede ser transmitido a miles de pies.
Programacin del 8251A para modo asincrnico.
La Figura 3 describe la forma de las instrucciones de modo y comando. Use un comando RESET para la secuencia de iniciacin, el siguiente comando ser interpretado como una instruccin de MODO. Despus de que este byte ha sido escrito, todas las escrituras posteriores al registro de control deben ser interpretadas como instrucciones COMANDO. La nica forma de retornar a la instruccin MODO es aplicando un pulso RESET o escribir un byte COMANDO con el bit 6 igual a 1.
EJEMPLO: Escriba la rutina de iniciacin para programar el 8251A para transmisin asincrnica con 7 bits de datos, 2 bits de parada y paridad impar. Seleccione un reloj 16x y programe DTR y RTS a 0.
1.
1-39
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
SOLUCIN
MOV OUT MOV AL, 01000000B 71h, AL AL, 11011010B ;comando RESET ;puerto de control ;instruccin de modo: ;7 datos, 2 bits de parada, ;paridad impar, 16x ;puerto de control ;instruccin comando: ; RTS y DTR o error RESET habilitado 1-40
OUT MOV
1.
COMPUTACIN V
MICROPROCESADORES Y MICROCOMPUTADORAS
OUT IN
NOTA: La habilitacin del receptor (bit 2 de la instruccin comando) solamente inhibe la bandera RXRDY, no al receptor. As, es posible para el receptor haber capturado un carcter antes o durante la rutina de iniciacin. La lectura ficticia asegura que el receptor retenga un registro en blanco.
TAREA
a. b. Investigue los pasos necesarios para programar el 8251A para el modo sincrnico. Muestre varios ejemplos. Muestre el cdigo necesario para el control de: o Una impresora o Un MODEM. Aydese de las rutinas del BIOS de DOS.
1.
1-41