Está en la página 1de 7

Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 1

OPERACIN Y CONEXIN DE MEMORIAS, CONTROLADORES,


TEMPORIZADORES Y RELOJES PARA APLICACIONES EN EL
MICROPROCESADOR 8086
Freddy Fernando Rubio Zambrano, frubioz@est.ups.edu.ec
Javier Veintimilla Piedra. jveintimillap1@est.ups.edu.ec
UNIVERSIDAD POLITCNICA SALESIANA
Sistemas Microprocesados

I. OBJETIVOS
Descripcin:

i. Conexin (multiplexacin) de memorias


41XXX, 44XXX, 45XXX.
ii. Circuito para incluir estados de espera
iii. El reloj 8284 (operacin y conexin).
iv. El controlador de bus 8288 (operacin y Fig.1.Reloj 8284 INTEL.
conexin).
v. El controlador de interrupciones 8259 (operacin El 8284 tambin expone la seal de frecuencia del circuito
oscilador de referencia con un ciclo de trabajo de 50%. Adems
y conexin).
de las seales de reloj, el 8284 tambin genera una seal de
vi. El controlador de perifricos 82C55 (modos de READY que se activara de acuerdo al estado de algunas seales
operacin y conexin). de entrada, y una seal de RESET para el microprocesador y
vii. Opcionales: Temporizador 8254, DMA, 16550, dems componentes del sistema. El generador de reloj utilizado
Coprocesador 8087. en la primera PC fue el Intel 8284A el cual contaba con un
oscilador a 14.31 MHz y generaba divisores de 4 (3,77MHz)
para el microprocesador 8088 y divisores de 12 para los
temporizadores de intervalos programables PIT.
II. MARCO TERICO
1.1. Pines del generador de reloj 8284
1. Reloj 8284
La siguiente figura muestra los pines de entrada salida del
generador de reloj, adems las funciones de cada uno de estos
El generador de reloj 8284 fue diseado para los
sern descritas brevemente:
microprocesadores Intel 8086/8088, Intel 8087 e Intel 8089.
Este puede funcionar usando circuito oscilador regulado por un
cristal de cuarzo o una seal TTL como frecuencia de
referencia, la cual debe de ser tres veces superior a la frecuencia
con la cual se deseaba que funcionara el microprocesador. La
frecuencia para el microprocesador, denominada como CLK, es
derivada de la frecuencia de referencia dividida entre tres, ya
que ste usa un ciclo de trabajo de 33%. Adems, el 8284 puede
generar una frecuencia PCLK con un ciclo de trabajo de 50%,
usada por el microprocesador para la sincronizacin de los
perifricos.

Fig.2. Modo esquemtico del reloj 8284.


- AEN1 Y AEN2: Los pines de Address Enable (AEN) son
seales activas en bajo, sirven para verificar si su respectivo bus
de seal (RDY 1 O RDY2) est listo. AEN1 valida RDY1
mientras que AEN2 valida RDY2. Las dos seales de entrada
AEN son tiles en las configuraciones del sistema el cual
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 2

permite al microprocesador acceder a dos buses de sistema - Ready synchronization


multi-maestro. En un sistema configurado como no multi-
maestro, las seales AEN estn siempre en bajo. 1.2.1. Generador de reloj:
- RDY1 y RDY2: Bus ready (transferencia completa) son
seales activas en alto las cuales son un indicador de que los El 8284 puede derivar su frecuencia de operacin de dos
datos de un dispositivo localizado en el bus de datos del sistema fuentes. La primera de una fuente de frecuencia externa
han sido recibidos o est disponible. conectada a EF1 pin, y la segunda por un cristal de cuarzo. La
- ASYNC: Ready synchronization select es una entrada activa entrada de control F/C es usada para seleccionar la fuente. El
en bajo la cual define el modo de sincronizacin del Ready 8284 genera 3 seales de reloj: OSC, CLK, PCLK. La seal
logic. Cuando esta es en bajo, dos etapas de sincronizacin son OSC puede ser usada para probar el generador de reloj o como
provedas, cuando esta entrada est en alto, una sola esta de frecuencia externa a otros integrados 8284. La seal CLK est
sincronizacin es proveda. diseada para el uso del procesador 8086 directamente. La seal
- Ready: Es una seal de salida activa en alto la cuales es la PCLK es la seal de reloj de los perifricos.
entrada de la seal RDY sincronizada. Ready se borra despus
de que se ha cumplido el tiempo de retencin garantizada para 1.2.2. Reset logic.
el microprocesador.
- X1 y X2: son las entradas del cristal externo, cuya frecuencia El 8284 genera una seal activa en alto llamada reset la cual es
mxima es 24 MHz. La frecuencia de este debe de ser 3 veces usada para reiniciar el microprocesador 8086. La seal debe ser
la frecuencia deseada del microprocesador. Note que si no son mantenida por lo menos 50 s para garantizar un correcto
usadas estas entradas X1 debe ser puenteada a VCC o GND y reinicio del microprocesador. El requirimiento puede ser
X2 debe ser dejada abierta. logrado usando un simple circuito RC.
F/C: frecuency/crystal select es una entrada usada como una
opcin de fijacin, cuando entrada est en bajo permite al reloj 1.2.3. Ready synchronization.
del microprocesador ser generado por el cristal. Cuando entrada
est en alto CLK es generado por entrada La seal Ready es usada por los dispositivos lentos como
- EFI. EFI: External frequency input, CLK es generada por la memoria o perifricos E/S para solicitar al microprocesador
frecuencia de entrada que aparece en este pin. La seal de extender el ciclo del bus para permitir a estos dispositivos
entrada es una onda cuadrada con una frecuencia 3 veces a la finalizar de leer o escribir en el bus. El 8284 genera la seal de
frecuencia deseada de clk. ready que esta sincronizada con el reloj de la CPU. En la
- CLK: processor clock es la salida de reloj usada por el siguiente imagen se puede apreciar la configuracin bsica del
microprocesador y todos los dispositivos los cuales estn 8284, la cual realiza las dos primeras funciones generacin de
directamente conectado bus local del microprocesador. CLK reloj y reset logic, mientras que la ready synchronization no es
tiene una frecuencia de salida de 1/3 de la frecuencia del cristal utilizada. Esta configuracin es utilizada para hacer uso del
o EFI. 8086 en modo mnimo. La simulacin se realiz el usando el
- PCLK: Peripheral Clock, es una seal cuya frecuencia de software ISIS de Proteus.
salida es de la de CLK y tiene un ciclo de trabajo del 50%.
- OSC: Oscilloscope clock es la salida del circuito oscilador
interno. Su frecuencia es igual a la del cristal.
- RES: Reset input es una seal de entrada activa en bajo la cual
es usada para generar un reset. El 82C84A provee una entrada
Schmitt trigger de modo que un circuito RC pudiera ser usado
para establecer el power-up reset de apropiada duracin.
- Reset: es una seal de salida activa en alto la cual es usada
para reiniciar los procesadores de la familia X86. Sus
caractersticas del tiempo son determinadas por RES.
- CSYNC: Clock synchronization es una seal de entrada activa
en alto que permite a mltiples integrados 8284 ser
sincronizados utilizando la misma seal de reloj. Cuando
CSYNC est en alto los contadores internos son reiniciados.
Cuando se usa el oscilador interno CSYNC debe ser cableado a
ground.
VCC y GND: Son las entradas de alimentacin. Fig.3. Simulacin en Proteus del reloj 8284.

2. Controlador de bus 8288


1.2. Operacin generador de reloj 8284
Es el encargado de proporcionar las seales de control para:
El generador de reloj tiene tres funciones principales:
Manejar las direcciones.
- Generador de reloj Manejar los datos.
- Reset logic Manejar las interrupciones.
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 3

De modo mnimo que se dejaron de generar por estar ahora en 2.2.1. Modo I/O bus
modo mximo.
Este modo se selecciona cuando el pin IOB se conecta a un
voltaje alto.

- En este caso todas las seales para el control de puertos se


llegan a activar dependiendo de la operacin a ejecutar.
- No dependen de la seal AEN.
- Las seales PDEN y DT/R se utilizaran para activar el
transceiver del bus para perifricos.
- En este modo se pueden manejar dos buses externos.
- No son necesarios los tiempos de espera para el procesador si
este desea accesar el bus de puertos de entrada salida.
- Los accesos normales a memoria requieren de la seal Bus
Ready, (AEN en bajo) antes de proceder.
- Es una ventaja utilizar el modo IOB si la arquitectura del
sistema cuenta con perifricos dedicados a un solo procesador.
Fig.4. Modo esquemtico del controlador de bus 8288.
2.2.2. Modo System Bus

- Se encuentra en este modo si el pin IOB se pone en bajo.


- En este modo no se utilizan los comandos hasta que se active
la seal AEN (bajo).
- En este modo se asume una lgica para el arbitraje de bus, el
cual le informa al controlador del bus el momento en que el bus
se encuentra libre.
- Tanto la memoria como los perifricos esperan por el arbitraje
del bus.
- Este modo se utiliza cuando solo existe un bus. Aqu ambos
perifricos y memoria son compartidos por ms de un
Fig.5. Diagrama de bloques de la operacin del 8288. procesador.

2.1. Entradas al controlador. 2.2.3. Esquema Elctrico

Fig.6. Esquema elctricos del modo de conexin del 8288.


Tabla.1. Definicin de orden de decodificacin. 3. El controlador de interrupciones 8259

2.2. Modos de operacin Este circuito integrado est especialmente diseado para
controlar las interrupciones en sistemas basados en el
Cuenta con dos modos de operacin: 8080/8085 y en el 8086. Puede controlar hasta 8 interrupciones
vectorizadas. Adems, a un 8259 se le pueden conectar en
Modo I/O Bus. Bus para perifricos. cascada un mximo de 8 chips 8259 adicionales, lo que permite
Modo System Bus. Bus para el sistema. gestionar sistemas con hasta 64 interrupciones, como veremos.
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 4

3.2. Descripcin funcional


El significado e interpretacin de las seales se muestra a la
derecha: El diagrama funcional del 8259, con la estructura interna de
las diversas partes que lo componen, es el siguiente:

Fig.8. Diagrama funcional del controlador de interrupciones.

Los principales registros internos del 8259 son el IRR (Interrupt


Request Register) y el ISR (In Service Register). El IRR
Fig. 7. Grafica esquemtica del controlador de interrupciones almacena todas las peticiones de interrupcin pendientes; el
8259. ISR almacena todas las interrupciones que estn siendo
atendidas en un momento dado. La lgica de gestin de
3.1. Pines del controlador de interrupciones 8259 prioridad determina qu interrupcin, de las solicitadas en el
IRR, debe ser atendida primero: cuando lleguen las seales
-CS: Habilita la comunicacin con la CPU. INTA dicha interrupcin ser la primera procesada y su bit
-WR: Permite al 8259 aceptar comandos de la CPU. correspondiente se activar en el ISR. El buffer del bus de
datos conecta el 8259 con el bus de datos de la placa principal
Permite al 8259 dejar la informacin en el bus de
-RD: del ordenador: su diseo en 3 estados permite desconectarlo
datos.
cuando sea necesario; a travs de este bus circulan las palabras
Bus de datos bidireccional, por el que se transmite de control y la informacin de estado. La lgica de lectura y
- D7..D0: la informacin de control/estado y el nmero de escritura acepta los comandos que enva la CPU: aqu hay
vector de interrupcin. registros para almacenar las palabras de inicializacin y
Lneas de cascada, actan como salida en el 8259 operacin que enva el procesador; tambin sirve para transferir
CAS0- maestro y como entrada en los 8259 esclavos, en el estado del 8259 hacia el bus de datos. El buffer de
CAS2: un sistema con varios 8259 interconectados, cascada/comparador almacena y compara las identificaciones
constituyendo un bus local. de todos los 8259 que posea el sistema: el 8259 maestro enva
Pin de doble funcin: en el buffered mode del la identificacin del 8259 esclavo en las lneas CAS, los 8259
8259 actuar como -EN, para habilitar los buffers esclavos la leen y el implicado en la operacin coloca en el bus
-SP/-EN: de datos la direccin (vector) de la rutina que atender la
del bus; en el modo normal indicar si el 8259 es
maestro o esclavo (-SP). interrupcin en los 2 prximos (o el prximo) ciclos INTA.
Conectado a la patilla INT de la CPU para
INT: producir la interrupcin cuando llegue el 3.3. Funcionamiento del 8259
momento.
Lneas asncronas de peticin de interrupcin. Una El funcionamiento del 8259 vara ligeramente en funcin del
peticin de interrupcin se ejecuta manteniendo IR sistema en que est instalado, segn sea este un 8086 o un
IR0..IR7: en alto hasta que se recibe el reconocimiento 8080/8085. Veremos primero el caso del 8086:
(modo por flancos) o simplemente poniendo en
alto la lnea IR (modo por niveles). Una o ms lneas IR son activadas por los perifricos, lo que
1)
Lnea de reconocimiento de interrupcin, por pone a 1 el correspondiente bit del IRR.
medio de esta lnea se fuerza al 8259 a depositar El 8259 evala la prioridad de estas interrupciones y solicita
-INTA: 2)
en el bus la informacin del vector de la interrupcin a la CPU (lnea INT) si es necesario.
interrupcin. INTA es independiente de -CS. Cuando la CPU reconoce la interrupcin, enva la seal -
En conjuncin con -CS, -WR y -RD es empleada 3)
INTA.
para enviar las palabras de comando al 8259 y Nada ms recibida la seal -INTA de la CPU, el 8259 activa
A0: 4)
para solicitar informacin al mismo. Suele ir el bit correspondiente a la interrupcin de mayor prioridad
conectada a la lnea A0 de la CPU.
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 5

(la que va a ser procesada) en el ISR y lo borra en el IRR.


En este ciclo, el 8259 an no controla el bus de datos.
Cuando la CPU enva un segundo ciclo -INTA, el 8259
deposita en el bus de datos un valor de 8 bits que indica el
5)
nmero de vector de interrupcin del 8086, para que la CPU
lo pueda leer.
En el modo AEOI del 8259, el bit de la interrupcin en el
ISR es borrado nada ms acabar el segundo pulso -INTA;
en caso contrario, ese bit permanece activo hasta que la
6)
CPU enve el comando EOI al final de la rutina que trata la
interrupcin (caso ms normal).

Fig.10. Elementos de conexin anexa al controlador de


4. El controlador de perifricos 82C55 perofericos.

- El 82C55 es un componente de interfaz popular, que puede


interactuar cualquier dispositivo I / O TTL compatible al
microprocesador.
- Se utiliza para interactuar con el teclado y un puerto de
impresora paralelo en PCs (por lo general como parte de un
conjunto de chips integrado).
- Requiere la insercin de estados de espera si se utiliza con un
microprocesador usando ms alta que un reloj de 8 MHz.
- PPI tiene 24 pines para E / S que son programables en grupos
de 12 pines y tiene tres modos de funcionamiento.
Tabla.2. Estados segn la entrada.
- En la PC, un 82C55 o su equivalente se decodifica en los
puertos de E / S 60H-63H.
4.2. 82C55: Modo de Operacin.

- Modo 0 operacin hace que el 82C55 para funcionar como un


dispositivo de entrada tamponada o como un dispositivo de
salida enganchada.
- En el ejemplo anterior, los dos puertos A y B se programan
como (modo 0) puertos de salida enganchados simples.
- Un puerto proporciona las entradas de datos para mostrar el
segmento y el puerto B proporciona un medio para seleccionar
la posicin de una pantalla a la vez.
- Diferentes valores se muestran en cada dgito a travs de un
rpido tiempo de multiplexado.
- Los valores de las resistencias y del tipo de transistores
utilizados se determinan con las exigencias actuales (vase el
texto para ms detalles).
- Libro de texto tiene el fragmento de cdigo ensamblador que
demuestra su uso.
- Tambin se dan ejemplos de la conexin de pantallas LCD y
motores paso a paso.
Fig.9. Imagen esquemtica del controlador de perifricos
83C55.
4.1. Conexin del controlador de perifricos 82C55. 4.3. 82C55: Modo 1 Entrada Strobed.

- El puerto A y / o B Puerto de la funcin de enganche como


dispositivos de entrada. Datos externa se almacena en los
puertos hasta que el microprocesador est listo.
-Puerto C utilizado para seales de control o de protocolo de
enlace (no se puede utilizar para los datos).
- Las definiciones de entrada de seal para el Modo 1 Strobed
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 6

4.4. 82C55: Modo 1 Strobed Ejemplo de entrada exterior. Las unidades de ejecucin son idnticas en ambos
microprocesadores, pero las unidades de interfaz del bus son
- Codificador de teclado debounces los principales diferentes en varias cuestiones, como se desprende del siguiente
interruptores, y proporciona una luz estroboscpica cada vez diagrama en bloques:
que se presiona una tecla.
- DAV se activa en una pulsacin de tecla strobing el cdigo
de llave codificada en ASCII en el puerto A.

4.5. 82C55: Modo 1 Strobed salida

- Al igual que en el modo de operacin de salida 0, excepto


que las seales de comunicacin se proporcionan mediante el
puerto C.
- Definiciones de seal para el Modo 1 Salida Strobed

4.6. 82C55: Modo de operacin 2 bi-direccional


- Slo se permiten con el puerto A. bidireccional bused datos
utilizados para la interconexin dos ordenadores, etc. interfaz
GPIB.

4.7. 82C55: Modo de operacin 2 bi-direccional

Diagrama de tiempos es una combinacin de la entrada Strobed


Modo 1 y el Modo 1 Strobed diagramas de temporizacin de
salida.

5. El coprocesador matemtico 8087

El procesador de datos numrico (NDP) 8087 aumenta el juego Fig.11. Arquitectura del coprocesador.
de instrucciones del 8086/8088 mejorando su capacidad de
tratamiento de nmeros. Se utiliza como procesador paralelo La ventaja de esta divisin fue el ahorro de esfuerzo necesario
junto al 8086/8088 aadiendo 8 registros de coma flotante de para producir el 8088. Slo una mitad del 8086 (el BIU) tuvo
80 bits as como instrucciones adicionales. Utiliza su propia que redisearse para producir el 8088.
cola de instrucciones para controlar el flujo de instrucciones del
8086/8088, ejecutando slo aquellas instrucciones que le
corresponden, e ignorando las destinadas a la CPU 8086/8088. 5.2. Registros de uso general del 8086/8088:
El 8086/8088 deber funcionar en modo mximo para poder
acomodar el 8087. Las instrucciones del NDP 8087 incluyen un Tienen 16 bits cada uno y son ocho:
juego completo de funciones aritmticas as como un potente
ncleo de funciones exponenciales, logartmicas y 1. AX = Registro acumulador, dividido en AH y AL (8
trigonomtricas. Utiliza un formato interno de nmeros en bits cada uno).
coma flotante de 80 bits con el cual gestiona siete formatos Usndolo se produce (en general) una instruccin que
exteriores. Como detalle constructivo, cabe mencionar que el ocupa un byte menos que si se utilizaran otros registros
8087 posee 45.000 transistores y consume 3 watt. de uso general. Su parte ms baja, AL, tambin tiene
esta propiedad. El ltimo registro mencionado es el
equivalente al acumulador de los procesadores
5.1. Arquitectura de los procesadores 8088 y 8086: anteriores (8080 y 8085). Adems hay instrucciones
El 8086 es un microprocesador de 16 bits, tanto en lo que se como DAA; DAS; AAA; AAS; AAM; AAD; LAHF;
refiere a su estructura como en sus conexiones externas, SAHF; CBW; IN y OUT que trabajan con AX o con
mientras que el 8088 es un procesador de 8 bits que uno de sus dos bytes (AH o AL). Tambin se utiliza
internamente es casi idntico al 8086. La nica diferencia entre este registro (junto con DX a veces) en
ambos es el tamao del bus de datos externo. Intel trata esta multiplicaciones y divisiones.
igualdad interna y desigualdad externa dividiendo cada 2. BX = Registro base, dividido en BH y BL.
procesador 8086 y 8088 en dos sub-procesadores. O sea, cada Es el registro base de propsito similar (se usa para
uno consta de una unidad de ejecucin (EU: Execution Unit) y direccionamiento indirecto) y es una versin ms
una unidad interfaz del bus (BIU: Bus Interface Unit). La potente del par de registros HL de los procesadores
unidad de ejecucin es la encargada de realizar todas las anteriores.
operaciones mientras que la unidad de interfaz del bus es la 3. CX = Registro contador, dividido en CH y CL.
encargada de acceder a datos e instrucciones del mundo Se utiliza como contador en bucles (instruccin
Universidad Politcnica Salesiana, Sistemas Microprocesados, Freddy Rubio Z Javier Veintimilla 7

LOOP), en operaciones con cadenas (usando el prefijo


REP) y en desplazamientos y rotaciones (usando el
registro CL en los dos ltimos casos).
4. DX = Registro de datos, dividido en DH y DL.
Se utiliza junto con el registro AX en multiplicaciones
y divisiones, en la instruccin CWD y en IN y OUT
para direccionamiento indirecto de puertos (el registro
DX indica el nmero de puerto de entrada/salida).
5. SP = Puntero de pila (no se puede subdividir).
Aunque es un registro de uso general, debe utilizarse
slo como puntero de pila, la cual sirve para almacenar
las direcciones de retorno de subrutinas y los datos
temporarios (mediante las instrucciones PUSH y
POP). Al introducir (push) un valor en la pila a este
registro se le resta dos, mientras que al extraer (pop)
un valor de la pila este a registro se le suma dos.
6. BP = Puntero base (no se puede subdividir).
Generalmente se utiliza para realizar direccionamiento
indirecto dentro de la pila.
7. SI = Puntero ndice (no se puede subdividir).
Sirve como puntero fuente para las operaciones con
cadenas. Tambin sirve para realizar direccionamiento
indirecto.
8. DI = Puntero destino (no se puede subdividir).
Sirve como puntero destino para las operaciones con
cadenas. Tambin sirve para realizar direccionamiento
indirecto.

Cualquiera de estos registros puede utilizarse como fuente o


destino en operaciones aritmticas y lgicas, lo que no se puede
hacer con ninguno de los seis registros que se vern ms
adelante. Adems de lo anterior, cada registro tiene usos
especiales:

5.3. Unidad aritmtica y lgica

Es la encargada de realizar las operaciones aritmticas (suma,


suma con "arrastre", resta, resta con "prstamo" y
comparaciones) y lgicas (AND, OR, XOR y TEST). Las
operaciones pueden ser de 16 bits o de 8 bits.

6. REFERENCIA Y CITAS WEB

https://www.alpertron.com.ar/8088.HTM[1]
https://www.alpertron.com.ar/INTEL.PDF[2]
http://eceresearch.unm.edu/jimp/310/slides/8086_IO2.html[3]
http://documents.mx/documents/generador-de-reloj-8284.html
[4]
http://www.alldatasheet.es/datasheepdf/pdf/66107/INTEL/825
9A.html[5]