You are on page 1of 32

REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DEL ZULIA FACULTAD DE INGENIERA ESCUELA DE ELCTRICA CTEDRA: ELECTRNICA DIGITAL II PROF.

JACOBO RAMREZ

INTERFACES DEL MICROPROCESADOR (BUSES), MEMORIAS, DISPOSITIVOS DE ENTRADA/SALIDA Y MANEJO DE INTERRUPCIONES

Elaborado por: Paul Buenao. C.I. 19.216.556 Kelvin Matos. C.I. 20.690.627 Gnesis Rodrguez. C.I. 20.380.535

Maracaibo, Septiembre de 2013.

INDICE DE CONTENIDO.

Pg. INTRODUCCION 1. INTERFACES DEL MICROPROCESADOR 8086 1.1 Modos de Operacin 1.1 Bus de Datos 1.2 Bus de Direcciones 1.3 Bus de Control 1.4 Ciclos de Bus 2. MEMORIAS 2.1 Jerarqua de Memorias 2.2 Tipos de Memoria (ROM, RAM y subcategoras) 2.3 Interfaces de Memoria (para datos, direcciones y control) 2.4 Decodificacin de Memorias (decodificadores NAND, de 3 a 8 lneas, PROM/EPROM, PLD y otros) con buses de 8 y 16 bits 3. PUERTOS DE ENTRADA/SALIDA (E/S) 3.1 Modelos Aislado y Mapeado de E/S 3.2 Manejo de puertos de E/S 3.3 Protocolo Handshaking 3.4 Descripcin y uso de la interfaz perifrica programable (82C55) 3.5 Ejemplo de control de un perifrico mediante el microprocesador 3.6 Convertidores Analgico-Digitales y Digitales-Analgicos 6 7 7 8 8 9 9 10 10 12 15 17 21 21 21 22 23 25 26

4. INTERRUPCIONES 4.1 Definicin de Interrupciones 4.2 Descripcin del proceso de interrupcin por Hardware y Software 4.3 Descripcin y uso del controlador de interrupciones 8259A CONCLUSIONES REFERENCIAS BIBLIOGRAFICAS Y FUENTES DOCUMENTALES

28 28 28 29 31 32

ESQUEMA DE CONTENIDO.

1. 1.1 1.2 1.3 1.4 1.5 2. 2.1 2.2 2.3 2.4

INTERFACES DEL MICROPROCESADOR 8086 Modos de Operacin Bus de Datos Bus de Direcciones Bus de Control Ciclos de Bus MEMORIAS Jerarqua de Memorias Tipos de Memoria (ROM, RAM y subcategoras) Interfaces de Memoria (para datos, direcciones y control) Decodificacin de Memorias (decodificadores NAND, de 3 a 8 lneas, PROM/EPROM, PLD y otros) con buses de 8 y 16 bits

3. 3.1 3.2 3.3 3.4 3.5 3.6 4. 4.1 4.2 4.3

PUERTOS DE ENTRADA/SALIDA (E/S) Modelos Aislado y Mapeado de E/S Manejo de puertos de E/S Protocolo Handshaking Descripcin y uso de la interfaz perifrica programable (82C55) Ejemplo de control de un perifrico mediante el microprocesador Convertidores Analgico-Digitales y Digitales-Analgicos INTERRUPCIONES Definicin de Interrupciones Descripcin del proceso de interrupcin por Hardware y Software Descripcin y uso del controlador de interrupciones 8259A

INTRODUCCIN

El microprocesador surge de la evolucin de la computacin y de la tecnologa de semiconductores, las cuales se fusionaron a principios de los aos 1970, produciendo el primer microprocesador. Dichas tecnologas iniciaron su desarrollo a partir de la segunda guerra mundial; donde se desarrollaron computadoras con fines militares. En la posguerra, a mediados de la dcada de 1940, la computacin digital emprendi un fuerte crecimiento tambin para propsitos cientficos y civiles.

El microprocesador es un circuito integrado conformado de componentes electrnicos que constituyen el CPU de un computador. Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario. La capacidad de rendimiento de un microprocesador es una tarea compleja, dado que existen diferentes tipos de informaciones que pueden ser procesadas con diferente efectividad por procesadores de la misma gama. Entre los elementos integrados estn los controladores de memoria, controladores de buses, interfaces de entrada y salida, controladores de interrupciones, entre otros.

Abarcando el mbito de la informtica, relacionando el rea de los microprocesadores con las memorias, existe una forma de organizarlas jerrquicamente, as como tambin de acuerdo a su tipo, donde se desglosan a su vez las interfaces y decodificaciones de las mismas. La velocidad ptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre clculo y clculo, utilizados para traer operandos o guardar resultados.

La transferencia de datos entre circuitos externos al microprocesador y l mismo estn constituidas por las operaciones de entrada y salida, las cuales son bsicamente registros internos o externos que componen diferentes direcciones.

Los controladores de interrupciones permiten controlar la combinacin de varias fuentes de interrupciones de acuerdo a su prioridad, que son producto de las necesidades que tienen los dispositivos perifricos de enviar informacin al procesador, las cuales emiten la seal de interrumpir algn proceso para ejecutar una subrutina de interrupcin. Todos estos elementos de los microprocesadores sern desglosados y estudiados con mayor extensin a continuacin.

7 1.- INTERFACES DEL MICROPROCESADOR 8086

1.1- Modos de Operacin El microprocesador 8086 fue diseado para realizar operaciones de dos maneras: en un sistema mnimo, y en un sistema mximo. Todos los microprocesadores de la serie 80 tienen algo en comn, por ejemplo el circuito 8284, que es el clock que se usa en todos los dems.(1). El 8086 es bsicamente un amplificador bidireccional del bus de datos, que atiende al flujo de entrada y salida. En el sistema mnimo, el microprocesador trabaja independiente, es decir; el sistema mnimo e cualquier otro microprocesador. El sistema de conexin mximo, denominado as por su mayor extensin comparativa con el mnimo, est especialmente concebido para operar en sistemas mucho ms complejos y para la unin con otros microprocesadores 8086, trabajando enlazadamente (PCs de multiprocesamiento)(1). Algunas caractersticas del modo Mnimo: - Pequeos sistemas con una CPU. - Seales de control sencillas, generadas directamente por la CPU. - No pueden funcionar CPU y Coprocesador juntos.

Figura 1. Ejemplo del sistema en modo Mnimo.

Del modo Mximo se tiene que: - Las seales de control de los buses se generan con una pastilla auxiliar: Controlador de Bus 8288. - Pueden funcionar varias CPUs si se incorpora un circuito adicional, el rbitro de Bus 8289, siguiendo un estndar de INTEL llamado MULTIBUS - Se puede incorporar un Coprocesador matemtico

8 - Permite implementar sistemas ms completos, con capacidades de control y gestin mayores de los sistemas operativos (SO).

Figura 2. Ejemplo del sistema en modo Mximo.

1.2- Bus de Datos Los procesadores 8086 utilizan el bus de datos para intercambiar informacin entre los diferentes componentes del sistema. El tamao de este vara dependiendo del tipo de procesador. En cada lnea del bus de datos se transmite 1 bit de informacin pero un sistema no est limitado a manejar informacin de acuerdo al tamao del bus de datos, un bus de 32 bits no est limitado a trabajar con tipos de datos mximos de 32 bits.(2). El tamao del bus de datos, por otro lado, si limita el nmero de bits que el sistema puede manejar por cada ciclo de memoria de tal manera que un sistema de 16 bits necesita dos ciclos de memoria para manejar un tipo de dato de 32 bits, naturalmente pero no necesariamente, un sistema de 32 bits es el doble de rpido que un sistema de 16 bits, la limitacin es porque existen otros factores que influyen en el rendimiento de un sistema.(2). Tipo de buses de datos: - De 8 lneas (8088, 80188) - De 16 lneas (8086, 80186, 80286) - De 32 lneas (80386, 80486) - De 64 lneas (Pentium, Pentium Pro) 1.3- Bus de Direcciones Muchos de los elementos de una computadora as como las posiciones de memoria tienen una direccin nica dentro del sistema. De esta direccin se puede leer o escribir un dato. En el bus de direcciones se coloca la direccin del elemento a buscar y con el bus de datos movemos la informacin de un lugar a otro. Adems, se sabe que: es utilizado por el microprocesador para sealar la celda de memoria (o el dispositivo de E/S) con el que se quiere operar. El tipo de operacin ser de lectura o de escritura y los datos implicados viajarn por el bus de datos.(3).

Por l se transmite la expresin binaria de la direccin de memoria a la cual el microprocesador quiere acceder. Tiene sentido de flujo unidireccional desde el microprocesador hacia la memoria. Una vez localizados los datos, su transmisin hacia el microprocesador (o hacia donde sea) se har a travs del bus de datos. El ancho de este bus tambin es una medida de la potencia del microprocesador, ya que determina la cantidad de memoria a la que ste puede acceder, es decir, la cantidad de espacio direccionable. El espacio de direcciones es el rango de valores distintos que el microprocesador puede seleccionar. La cantidad mxima de direcciones disponibles ser 2 a la n, siendo n el nmero de lneas del bus de direcciones.(3). 1.4- Bus de Control El bus de control es una coleccin de lneas que transportan un conjunto de seales cuyo propsito es la sincrona de todas las operaciones efectuadas por el CPU con los diferentes subsistemas de un equipo de cmputo, destacan las lneas para escritura y lectura de datos, el reloj del sistema, lneas de interrupcin, lneas de estado, etc. Algunas lneas de control son las encargadas de decidir qu direcciones son para memoria y cules son para E/S. Es utilizado adems para sincronizar las actividades y transacciones con los perifricos del sistema. Algunas de estas seales, como lectura/ escritura, son seales que la CPU enva para indicar que tipo de operacin se espera en ese momento. Los perifricos tambin pueden remitir seales de control a la CPU, como son INT, RESET, BUS RQ.(4). Las seales ms importantes en el bus de control son las seales de cronmetro, que generan los intervalos de tiempo durante los cuales se realizan las operaciones. Este tipo de seales depende directamente del tipo del microprocesador. 1.5- Ciclo de Bus El 8086 se comunica con los elementos externos a travs del bus del sistema. Para transferir datos o buscar instrucciones, realiza los llamados ciclos de bus. El ciclo de bus del 8086 consta de 4 periodos de reloj, llamados estados T. Este ciclo se ejecuta nicamente cuando comienza la bsqueda de una instruccin o cuando un operando debe transferirse, entre el 8086 y los dispositivos de entrada y salida o memoria.(5).

Figura 3. Secuencia de Estados que ocurren en los accesos de la CPU a memoria o a E/S.

10 De acuerdo a la fig. 3, si la seal READY no es un 1 al comienzo de T3 o de cada TW se inserta (por parte de la CPU, de forma automtica) un nuevo Estado de Espera (TW). La seal READY debe activarse con un circuito exterior, relacionado con la Lgica de Seleccin. Este circuito, en el caso del PC es un contador cuyo valor inicial de carga depende de una variable del SETUP. El contador prolonga un nmero de ciclos determinado el tiempo que la seal READY se mantendr a 0. 2.- MEMORIAS

2.1- Jerarqua de Memorias Para hablar sobre la jerarqua de memorias es necesario conocer la Ley de Localidad, que establece que Todo programa favorece una parte de su espacio de direcciones en cualquier instante de tiempo. Aplica en dos dimensiones: Espacio y Tiempo. Localidad Temporal (Tiempo): Si se referencia un elemento tender a ser referenciado pronto. Localidad Espacial (Espacio): Si se referencia un elemento, los elemento cercanos a l tendern a ser referenciados pronto. El principio de localidad y la directriz de que el hardware ms pequeo es ms rpido, mantienen el concepto de una jerarqua basada en diferentes localidades y tamao, organizada en varios niveles, que van del nivel ms econmico al nivel ms costoso, del ms lento al ms rpido, del de mayor capacidad al de menor capacidad. Pueden existir mltiples niveles: los datos slo se transfieren entre dos niveles adyacentes, de esta manera todos los datos de un nivel se encuentran tambin en el nivel siguiente, y todos los datos de ese nivel inferior se encuentran tambin en el siguiente a l, hasta el extremo inferior de la jerarqua.

Figura 4. Jerarqua de Memoria Cabe destacar que la jerarqua de memoria, el nivel mientras est ms cercano al procesador para rpido es su acceso, pero tiene una menor capacidad. Un nivel cercano al procesador es un subconjunto de cualquier nivel ms bajo. La Jerarqua de memoria tambin se puede dividir en niveles superior e inferior, donde el nivel superior, el ms cercano al procesador es ms rpido y pequeo que el nivel inferior,

11 como se observa en la Fig. 4 Los registros del procesador son internos de la CPU. Tcnicamente, es el sistema ms rpido de los distintos tipos de almacenamientos de la computadora, siendo transistores de conmutacin integrados en el chip de silicio del microprocesador (CPU) que funcionan como "flip-flop" electrnicos.

Figura 5. Jerarqua de memoria

NIVEL SUPERIOR (Memoria Cach).

Figura 6. Esquema del nivel superior de la Jerarqua de memoria Este nivel est compuesto por memorias de acceso rpido para el CPU pero de poca capacidad, y estas memorias se interponen entre el procesador y la memoria principal. El Bloque es la mnima unidad de informacin en una jerarqua de dos niveles; existen tres maneras en la que esta memoria cach ubica los bloques, estas son: - Correspondencia Directa: Cada bloque debe ir solamente en un lugar dentro de la cache, por lo que solo se debe buscar una etiqueta - Asociativa: Un bloque puede ubicarse en cualquier lugar de la cache por lo que el bloque puede estar en cualquier lado, y se debe buscar en todas las etiquetas - Asociativa por conjuntos: Un grupo puede ser colocado en un grupo restringido de lugares de la cache o bien, un conjunto es un grupo de dos o ms bloques de la cache, por lo que para encontrar el bloque se debe buscar las etiquetas en el conjunto al cual pueda pertenecer dicho bloque.

12

NIVEL INFERIOR (Memoria Principal)

Figura 7. Esquema del nivel Inferior de la Jerarqua de Memoria El nivel inferior es ms lento que el nivel superior, este nivel no presenta alto rendimiento debido al retardo de la respuesta luego de una peticin, y al retardo a causa del tiempo que transcurre entre la respuesta de la peticin ya obtenida y la nueva peticin a la memoria. En cuanto a la ubicacin de los bloques, los sistemas operativos los ubican en cualquier parte de la Memoria Virtual. En lugar de identificar el bloque con etiquetas, la memoria virtual presenta una estructura de datos identificadas por el nmero de pgina o el segmento que ocupa.

2.2- Tipos de Memorias (ROM, RAM y subcategoras) Se utilizan dos tipos de memoria principales, en los sistemas de computadoras: Memoria de Acceso Aleatorio RAM (Random-Access Memory), y memoria de solo lectura ROM (Read-Only Memory). RAM: Las celdas de la memoria pueden ser accedidas para la transferencia en cualquier posicin aleatoria deseada. Esto es, que para ubicar una palabra en la memoria en cuanto al proceso es igual y requiere la misma cantidad de tiempo que ubicar la misma palabra en cualquier otro punto de la memoria, de all su nombre. Las operaciones que puede realizar una memoria de acceso aleatorio son la lectura y la escritura. La seal de escritura especifica una operacin de transferencia de entrada y la seal de lectura especifica una operacin de transferencia de salida. Tipos de RAM. o DRAM: (Dynamic Random Access Memory).Es la memoria de trabajo, tambin llamada RAM, est organizada en direcciones que son reemplazadas muchas veces por segundo. Esta memoria lleg a alcanzar velocidades de 80 y 70 nanosegundos (ns), esto es el tiempo que tarda en vaciar una direccin para poder dar entrada a la siguiente, entre menor sea el nmero, mayor la velocidad, y fue utilizada hasta la poca de los equipos 386.

13 o FPM: (Fast Page Mode) .El nombre de esta memoria procede del modo en el que hace la transferencia de datos, que tambin es llamado paginamiento rpido. Hasta hace aproximadamente un ao sta memoria era la ms popular, era el tipo de memoria normal para las computadores 386, 486 y los primeros Pentium, lleg a fabricarse en velocidades de 60ns y la forma que presentaban era en mdulos SIMM de 30 pines, para los equipos 386 y 486 y para los equipos Pentium era en SIMM de 72 pines. o EDO: (Extended Data Output). Esta memoria fue una innovacin en cuestin de transmisin de datos pudiendo alcanzar velocidades de hasta 45ns, dejando satisfechos a los usuarios. La transmisin se efectuaba por bloques de memoria y no por instruccin como lo vena haciendo las memorias FPM. o SDRAM: (Synchronous DRAM). Esta memoria funciona como su nombre lo indica, se sincroniza con el reloj del procesador obteniendo informacin en cada ciclo de reloj, sin tener que esperar como en los casos anteriores. La memoria SDRAM puede aceptar velocidades de BUS de hasta 100Mhz, lo que nos refleja una muy buena estabilidad y alcanzar velocidades de 10ns. Se presentan en mdulos DIMM, y debido a su transferencia de 64 bits, no es necesario instalarlo en pares. o RDRAM: (Rambus DRAM). Esta memoria tiene una transferencia de datos de 64 bits que se pueden producir en rfagas de 2ns, adems puede alcanzar taza de transferencia de 533 MHz con picos de 1.6Gb/s. Muy pronto alcanzar dominio en el mercado, ya que se estar utilizando en equipos con el nuevo procesador Pentium 4. Es ideal ya que evita los cuellos de botella entre la tarjeta grfica AGP y la memoria del sistema.

100 80 60 40 DRAM FPM EDO SDRAM

20
0 Tiempo de ejecucin (ns)

RDRAM

Figura 8. Grafico comparativo de memorias RAM segn el tiempo de ejecucin. En Resumen, la memoria RAM ms antigua es la memoria DRAM, la cual se ejecutaba en funcin de direcciones de memoria reemplazadas a cada segundo, y no fue hasta la memoria RAM EDO, que se hablo de bloques de memoria, como unidad mnima de informacin, lo que redujo el tiempo en 35 ns haciendo ms rpida la trasmisin. Hasta la memoria RAM EDO era necesario esperar la instruccin o el bloque de memoria anterior mas procesar la informacin, es por ellos que la Memoria SRAM, permiti una sincronizacin con los ciclo del reloj, para as obtener la informacin en cada ciclo y nos esperar a que llegue. En la Fig.8, se puede observar como a media que aparecieron los tipos de memoria RAM estas fueron

14 evolucionando no solo en tamao sino en el tiempo de trasmisin, haciendo mucho ms rpidos los procesos. ROM. Es un memoria de slo lectura es una unidad de memoria que solo ejecuta la operacin de lectura; no tiene la posibilidad de lectura. Esto implica que la informacin contenida en la memoria ROM se hace permanente durante la produccin el hardware de la unidad y no puede alterarse escribiendo diferentes palabras en ella, por lo que queda limitada a leer palabras que estn almacenadas de manera permanente dentro de l. La informacin en la memoria ROM almacenada es especificada por el patrn para seguir un patrn de interconexin, por lo que las unidades de lectura vienen con fusible electrnicas para una configuracin especfica, y una vez que el diseador fija el patrn, este permanece intacto aunque la corriente se apague y se encienda de nuevo. Tipos de memoria ROM. Existen tres maneras de programar una memoria de solo lectura, la programacin de la memoria se hace segn las necesidades del cliente. o PROM: (Programmable Read Only memory), en castellano ROM programable, se caracteriza por ser digital. En ella, cada uno de los bits depende de un fusible, el cual puede ser quemado una nica vez. Esto ocasiona que, a travs de un programador PROM, puedan ser programadas por nica vez. La memoria PROM es utilizada en casos en que los datos necesiten cambiarse en todos o la mayora de los casos. Tambin se recurre a ella cuando aquellos datos que quieran almacenarse fe forma permanente no superen a los de la ROM. o EPROM: (Erasable Programmable Read-Only Memory), en castellano, ROM programable borrable de slo lectura. Esta memoria ROM es un chip no voltil y est conformada por transistores de puertas flotantes o celdas FAMOS que salen de fbrica sin carga alguna. Esta memoria puede programarse a travs de un dispositivo electrnico cuyos voltajes superan a los usados en circuitos electrnicos. Esta memoria puede ser borrada slo si se la expone a luces ultravioletas. Una vez que la EPROM es programada, se vuelve no voltil, o sea que los datos almacenados permanecen all de forma indefinida. A pesar de esto, puede ser borrada y reprogramada con la utilizacin de elevados niveles de voltaje. Si bien actualmente siguen siendo utilizadas, presentan algunas desventajas, entre ellas que el proceso de borrado del chip es siempre total, es decir que no se puede seleccionar alguna direccin en particular. Por otro lado, para reprogramarlas o borrarlas, deben removerse de su circuito y este proceso lleva por lo menos veinte minutos. Estas desventajas han sido superadas por memorias flash y EEPROM, por lo que las EPROM estn cayendo en desuso en ciertos diseos y aplicaciones. o EEPROM: (Electrically Erasable Programmable Read Only Memory), en castellano ROM programable y borrable elctricamente. Esta memoria, como su nombre indica puede ser programada, borrada y reprogramada elctricamente y no con rayos ultravioleta, como en el caso de las EPROM, lo que hace que resulten no voltiles. Adems de tener las puertas flotantes, como las anteriores, cuenta con una capa de xido ubicado en el drenaje de la celda MOSFET, lo que permite que la memoria pueda borrarse elctricamente. Como para realizar esto no se precisan programadores especiales ni rayos ultravioletas, se puede hacer en el propio circuito. Adems presenta la posibilidad de reescribir y borrar bytes individualmente, y son ms fciles

15 y veloces de reprogramar que las anteriores. Las desventajas que presenta en comparacin a las anteriores son la densidad y sus costos altos. 2.3- Interfaces de Memoria (para datos, direcciones y control) La funcin principal de la interfaz de memoria es la de permitir al procesador leer o escribir en un registro dado de la memoria. Para realizar esta operacin, el microprocesador deber: 1. Ser capaz de activar el circuito integrado 2. Identificar el registro que se va a acceder 3. Habilitar el buffer apropiado. Para conectar un dispositivo de memoria con el microprocesador, se requiere decodificar la direccin enviada a la memoria. Esta decodificacin provoca que la memoria funcione en una seccin nica del mapa de memoria, por ejemplo de la direccin FC000H a la FFFFFH. Y en cualquier otra direccin fuera de este rango no se activar la memoria. En esta seccin en particular se trataran las interfaces de memoria del microprocesador 8086. El microprocesador 8086 tiene un ancho de 16 bits de datos, el cual es el doble de anche que su antecesor el microprocesador 8088, lo que genera una seria de problemas a la hora de escribir y leer los datos de la memoria. El 8086 tiene la ventaja de escribir tanto en 8 bits como en 16 bits, es decir que el canal de datos para escribir 16 bits se debe separa en dos bancos de bit; un banco contiene todas las localidades de memoria impares, tambin banco alto, y el otro banco contiene todas las localidades de memoria pares. La seleccin de los bancos es realizada por un decodificador. Para la direccin, el terminal de direccin del microprocesador Ao no se conecta a la memoria, sino que se conecta con el decodificador y junto con la seal BHE del 8086 se emplean para seleccionar uno o ambos bancos de memoria para la transferencia de datos; se usa Ao para seleccionar el banco bajo y BHE para seleccionar el banco alto. Para el 8086 la direccin A1 se conecta a la entrada Ao de la memoria, la direccin A2 se conecta con la entrada A1 de la memoria, y as sucesivamente hasta la ltima entrada de memoria A14. La razn de que Ao del 8086 no se conecta con la memoria es debido a que se desperdiciara la mitad de la memoria, pues si Ao del microprocesador se conecta con el Ao de la memoria, se utilizaran todas las localidades alternas en cada banco de memoria. La seleccin de banco bajo y banco alto se puede realizar en dos formas, en la primera, se produce una seal de escritura para cada uno de los bancos de memoria, y en la segunda, se utilizan decodificadores separados para cada banco. La primera resulta menos costosa. En cuanto al control, para manejar la seleccin de cada banco lo ideal es desarrollar una seal estroboscpica para escritura separada para cada banco de memoria; esta tcnica requiere un dispositivo codificador para seleccionar una memoria de 16 bits, lo que a menudo ahorra tiempo y dinero. En el caso de la lectura no hace falta seales estroboscpicas por separado para 8 bits y 16 bits, ya que en el proceso de lectura de datos toma en cuenta secciones de 16 bits y si se requiere un dato de 8bits simplemente el microprocesador no toma en cuenta la seccin de 8 bits que no necesita. Para generar las seales de escritura separada se usan dos compuertas OR 74LS32, una de ellas combina Ao con las seal de lectura y escritura WR, y la otra combina la misma seal WR con la seal BHE, una para generar la seal de escritura en el banco alto (HWR) y la otra para generar la seal banco bajo (LWR), tal como se observa en la Figura 9.

16

Figura 9. Generacin de seales estroboscpicas para el control de escritura en cada banco.

C
Seales de control RD, LWR y HWR

A
D

B Figura 10. Ejemplo de la seleccin de memoria RAM y memoria EPROM con el microprocesador 8086.

En la Fig. 10, se muestra un pequeo sistema de memoria para el microprocesador, el cual contiene una seccin de EPROM (B) y una seccin de RAM (A). En este circuito se utiliza un decodificador 74LS139 doble de 2 a 4 lneas (D), en el cual una mitad decodifica a la EPROM y la otra mitad a la RAM. En la Fig. 10 tanto (C) representa un compuerta NAND de 3 entradas y (D) es una compuerta NAND de 8 entradas, cada una por separado va a la entrada G de cada mitad del decodificador. La seal de control RD va dirigida a todas las entradas OE de la EPROM y a todas las G de la RAM, por otro lado las seales de control LWR y HWR estn conectadas a bancos diferentes de las memoria RAM, cabe destacar que las acciones de escritura solo son valida en la RAM ya que la EPROM es un tiempo de memoria ROM de slo lectura. En el momento de escribir un dato de 16 bits ambas seales de escritura se encuentran bajo y habilitan las entrada de escritura en memoria WE , sin embargo al momento de escribir un dato de 8 bits, slo LWR se encuentra en bajo y solo una parte del banco de memoria RAM tiene la entrada WE activada.

17 2.4- Decodificacin de Memorias (decodificadores NAND, de 3 a 8 lneas, PROM/EPROM, PLD y otros) con buses de 8 y 16 bits A la hora de unir una memoria con un microprocesador es necesario un decodificador, pues se debe decodificar la direccin de memoria para realizar la funcin de la memoria en una de sus particiones. Sin embargo existen diferentes tcnicas de decodificacin. Las comparaciones entre las diferentes tcnicas de decodificacin se realizaran para este caso, en entre el microprocesador 8088 y el dispositivo de memoria 2716 EPROM, ambos tienen diferente nmeros de conexiones de entrada para direcciones, por ejemplo la EPROM tiene 11 conexiones de direccin y el microprocesador tiene 20, por lo que quedan una diferencia de 9 conexiones de direccin del microprocesador las cuales son el propsito de diferentes tcnicas de decodificacin. Decodificador de compuerta NAND: Este esquema de conexin de basa en conectar 11 pines d los 20 pines del microprocesador 8088, a los 11 pines del dispositivo de memoria EPROM (16 K), y los 9 pines restantes del microprocesador son conectados a una sola compuerta NAND.

Figura 11. Decodificador NAND.

En la Fig.11, se puede apreciar como (5) representa el decodificador por NAND, y establece que cuando alguna de las 9 entradas que estn conectadas a la NAND son 0s lgicos la salida de la misma es un 1 lgico, por otro lado si las 9 entradas son 1s lgicos, la salida de la NAND ser un 0 lgico. La salida de la NAND es conectada al pin CE de la memoria EPROM el cual inhabilita o habilita el microprocesador. Segn (5), cuando la entrada del pin CE es igual a 0 la informacin ser leda del microprocesador solo si la entrada del pin OE es 0. La entrada del pin OE es activada por la seal RD del microprocesador 8088 o por la seal llamada MRDC (Memory Read Control). Decodificador de 3 a 8 lneas: Este decodificador est basado en una compuerta 74LS138, el cual consta de 6 entradas y 8 salidas; las 6 entradas esta compuestas por 3 entradas que habilitan el decodificador y las otras 3 entradas son para seleccin. En la Fig. 12, se muestra como (5) representa este decodificador y explica que para habilitar el decodificador las entradas G2B y G2A deben estar en baja (0 lgico) por el

18 inversor ubicado en la entrada y G1 en alta (1 Lgico), es decir, las 3 deben entrar en alta al decodificador. Por otro lado las entradas A, B y C son las entradas de seleccin y representan los 8 estados del decodificador. En la Tabla de la verdad que desarrolla (5) se muestra que, mientras el decodificador este activo (001) en cada estado existe un cero en una determinada posicin; que no se repite, y 1s en el resto de las dems posiciones, de manera que a la salida para cada uno de los estados al menos una de salidas sea 1, luego de pasar por el inversor: Ej. El estado 010, segn la tabla de la verdad corresponde al estado 3 y para ese estado hay un 0 en la salida 2 y 1s en el resto de las posiciones, por lo que a la salida del decodificador en la posicin 2 se obtendr un 1 al salir del inversor y 0s en el resto de las posiciones.

Figura 12. Decodificador de 3 a 8 lneas.

Haciendo la analoga con el decodificador NAND. Si a cada salida del decodificador 74LS138 se colocara a la entrada CE de un dispositivo de memoria EPROM (8K), se tendra 8 memorias EPROM, que juntas tendran una capacidad de 64K, es decir con el decodificador de 3 a 8 lneas se puede seleccionar una de las 8 memorias y enviar la direccin, siempre y cuando la entrada OE conectada a la seal del microprocesador est en 0 lgico. Decodificador PROM: este codificador es usado comnmente pues presenta 10 pines de entrada; ms que otro decodificador que hayamos visto hasta ahora, de los cuales 7 son para datos y 3 estn puesta a tierra, como se observa en la Fig.13.

19

Figura 13. Esquema de conexin de un decodificador EPROM.

Figura 14. Esquema conexin de un decodificador de 3 a 8 lneas.

Tanto la Fig.13 como la Fig. 14, representan los esquemas de conexin de dos decodificadores distintos, pero para hacer las comparaciones (5) concluye que el decodificador PROM es mucho mejor pues no usa la compuerta NAND, debido al gran nmero de entradas que este posee; por lo que es ms econmico y reduce en tamao el circuito en la tarjeta electrnica. El PROM es un dispositivo de memoria que debe ser programado con el patrn correcto de bits en binario para obtener en las ocho salidas, un 0 lgico en una posicin diferente para cada estado y un 1 lgico en el resto de las 7 posiciones; como el caso del decodificador anterior, y as seleccionar una de las 8 dispositivos de memoria EPROM. Segn (5) la entrada CE de la PROM debe estar puesta a tierra porque las salidas de la PROM pueden emitir su alta impedancia, y luego una o ms de las memorias EPROM, puede ser seleccionada por impulsos de ruido en el sistema.

20 Decodificadores PLD: es un decodificador basado un dispositivo lgico programable, o en ingls Programmable Logic Device. Segn (5) existen 3 tipos de PLD, que operan de manera muy semejante, y los clasifica en: PAL (Programmable array Logic), PLA (Programmable Logic Array) y GAL (Gated array Logic); los primeros son programados con fusibles como la PROM y algunos dispositivos PLD son voltiles. Uno de los ms usados es el decodificador programable PAL, sin embargo existe un tipo de PAL que es el ms comn, llamado combinatorial programable logic array. El nombre de este decodificador PAL, es que su circuito de programacin est basado en lgica combinacional, y est constituido por compuertas AND/OR. Este PAL combinacional tiene 10 pines de entrada y 2 pines de salidas, adems presenta 6 pines ms para ser programados, bien sea como entrada o como salida. Decodificador dual de 2 a 4 lneas: Uno de los decodificadores que se han encontrado es el 74LS139, el cual est constituido por dos decodificadores de 2 a 4 lneas por separado, es decir cada uno tiene 2 entradas de seleccin 1 entrada para habilitar la compuerta y 4 salidas. En la Fig.15, se puede observar cmo estn distribuidos los pines de la compuerta lgica. Si se observa la tabla de la verdad, su lgica es muy parecida al decodificador de 3 a 8 lneas, solo que en este se tienen 4 bits de salida, mientras que en el otro se tienen 8 bits en la salida, y solo se habilita cuando la entrada E est en baja.

Figura 15. Decodificador de 2 a 4 lneas.

21 3.-PUERTOS DE ENTRADA/SALIDA (E/S)

3.1- Modelos Aislado y Mapeado de Entrada/Salida Estos modelos se dan de acuerdo a la ubicacin de las direcciones en los puertos, cuando tienen asignado un espacio de direcciones separado, se dice que estn en modo de aislado; por otro lado, cuando se ubican dentro del mismo espacio que la memoria, se dice que estn en modo de mapeado. En su forma ms elemental, un puerto de entrada est compuesto por un controlador (buffer) que permite o restringe el paso de la informacin del puerto al bus de datos del microprocesador, y en algunos casos posee un registro que almacena temporalmente la informacin hasta que pueda ser leda por el microprocesador(7). Modelo Aislado Se da cuando ocurren las siguientes condiciones -El microprocesador debe proporcionar seales de control que permitan distinguir entre una operacin con un puerto y una referencia a memoria. -El cdigo de instrucciones debe tener instrucciones especiales con las que se pueda leer (entrada) o escribir (salida) en los puertos. Las instrucciones son ms cortas y pueden distinguirse fcilmente de las instrucciones que hagan referencia a memoria, adems se tiene disponible la capacidad total de direccionamiento del microprocesador para circuitos de memoria y se necesitan menos circuitos para la decodificacin en el direccionamiento. A pesar de esto, la capacidad de procesamiento y flexibilidad de las instrucciones suele ser restringida, y debe dedicarse al menos una terminal del circuito integrado del microprocesador para la seal de control que distingue las operaciones con puertos de las operaciones con memoria Modelo Mapeado Aqu las localidades de memoria y los puertos de entrada y salida se consideran como registros externos desde el punto de vista del microprocesador. Aqu las instrucciones que hacen referencia a la memoria tambin pueden transferir datos entre un dispositivo perifrico y el microprocesador, siempre y cuando el puerto de entrada y salida que los interconecta se encuentre controlado por las seales de control para memoria. De esta forma, el registro asociado con el puerto de entrada y salida es tratado simplemente como una localidad de memoria ms. Una caracterstica importante es que las operaciones de entrada y salida usando este modelo mapeado no estn limitadas a los registros internos. Permite la utilizacin de la gran variedad de instrucciones sin necesidad de transferir los datos a los registros internos del microprocesador, adems reduce el nmero de lneas de control que debe tener el microprocesador. Por otro lado, cada puerto implantado de este modo disminuye en uno las direcciones disponibles para memoria, siendo necesario decodificar las 16 lneas de direcciones para seleccionar el puerto, y las instrucciones que hacen referencia a la memoria son ms largas y tambin pueden ser ms lentas. 3.2- Manejo de Puertos E/S

El manejo de puertos de E/S se da de acuerdo a las interfaces con las que interacta el microprocesador, considerando una interfaz de entrada y una de salida. El dispositivo de entrada bsico es generalmente un conjunto de buffers de tres estados mientras que el

22 dispositivo de salida bsico es un conjunto de datos de cerrados protegidos. El trmino entrada se refiere al traslado de datos desde el dispositivo de E/S en el microprocesador, y el trmino salida refiere al traslado de datos del microprocesador para el dispositivo de E/S (8). Una manera de poder explicar la interfaz bsica de entrada es mediante los buffers de 3 estados, los cuales son usados para construir un puerto de entrada de 8 bits, que a travs de un circuito, el microprocesador puede leer el contenido conectado a cualquier seccin del puerto. Cuando el microprocesador ejecuta una instruccin de entrada, la direccin del puerto de E/S genera un 0 (cero) lgico que indica que los datos en la entrada de control de salida pasen de las conexiones de entrada a las conexiones de salida. Cuando se genera un 1 (uno) lgico, el dispositivo ingresa un modo de alta impedancia de 3 estados que desconecta o corta la informacin del bus de datos. Respecto a la interfaz de salida, se recibe la informacin del microprocesador y por lo general debe retenerla para llevarla a un dispositivo externo. Sus cierres, al igual que en el caso de los buffers de los dispositivos de entrada, son construidos dentro del mismo dispositivo de E/S. Suponiendo un circuito formado por LEDs conectados a un microprocesador mediante un bus de datos hacia un conjunto de cierres, estos iluminarn con cualquier numero binario recibido; aqu los cierres necesitan retener la informacin, ya que cuando el microprocesador ejecuta una salida de instruccin, el dato permanece en el bus de datos por menos de un micro segundo. Sin este cierre, el usuario no podra ver nunca el LED iluminado. 3.3- Protocolo Handshaking

El protocolo TLS Handshaking opera sobre el Record Protocol, que es el encargado de ofrecer una transferencia de datos segura. En s se encarga de establecer y terminar las conexiones TLS. Para que un cliente y un server puedan empezar a comunicarse, ellos primero se ponen de acuerdo en la versin del protocolo (TLS puede interactuar con SSL), seleccionar los algoritmos criptogrficos a usar para la privacidad de sus datos, autenticarse (opcionalmente) uno con el otro, y usan tcnicas de criptografa de clave pblica para generar secretos compartidos(9). Este protocolo es una forma de transmisin de datos en paralelo al microprocesador, su funcionamiento comienza cuando un dispositivo perifrico enva primero una "seal estroboscpica" al microprocesador para indicar que est listo para enviar datos. El microprocesador, tras la deteccin de la seal estroboscpica, abre su puerto de entrada y recibe los datos. Despus de recibir los datos, enva una "seal de reconocimiento" a la perifrica para indicar que la transmisin ha sido completada sesin de transmisin se ha completado. En otro modo de funcionamiento, primero el dispositivo perifrico enva una seal estroboscpica, el microprocesador, enva la seal de confirmacin para indicar que est listo para recibir datos. Despus de que los datos est enviando recibido. Despus de datos, el perifrico enva una seal estroboscpica para indicar la finalizacin de la transmisin de datos, debido a lo cual, el microprocesador cae por su seal de reconocimiento y una sesin se ha completado. La nica diferencia entre los dos modos es que, en el segundo, el perifrico se inform acerca de la disposicin del microprocesador para recibir datos, cosa que no sucede en el

23 primer modo. Para esto se llama al segundo modo "doble apretn de manos", que literalmente significa "doble confirmacin", siendo el primero simplemente un apretn de manos. Los subprotocolos utilizados son: - Change Cipher Spec Protocol: Existe para sealar transiciones en estrategias de codificacin. - Alert Protocol: Los mensajes de Alerta se componen de la gravedad del mismo y una descripcin del alerta. Estos con un nivel de resultado fatal resultan en la terminacin inmediata de la conexin. 3.4- Descripcin y usos de la interfaz perifrica programable (82C55)

La interfaz perifrica programable 82C55 (PPI por sus siglas en ingls) es un componente de interfaz de bajo costo que se encuentra en muchas aplicaciones. Posee 24 pines para E/S, programable en grupos de 12 pines que se utilizan en tres modos diferentes de funcionamiento. Puede interconectar cualquier dispositivo de E/S compatible con TTL al microprocesador. Requiere la insercin estados de espera si se opera con un microprocesador con un clock de ms de 8MHz. Tambin proporciona al menos 2,5 mA de corriente de fuga (0 lgico) actuales en cada salida, con un mximo de 4,0 mA. Debido a que los dispositivos de E/S son inherentemente lentos, los estados de espera utilizados durante las transferencias de E/S no afectan significativamente de la velocidad del sistema (8). Se utiliza para la interfaz con el teclado y el puerto paralelo de la impresora en muchos ordenadores personales. Tambin controla el temporizador y lee los datos de la interfaz de teclado. La fig. 16 ilustra el diagrama de pines del 82C55. Sus tres puertos de E/S (denominados A, B y C) se programan en grupos de 12 pines. Conexiones del grupo A corresponden al puerto A (PA7 - PA0) y la mitad superior del puerto C (PC7 -PC4) y el grupo B formado por el puerto B (PB7 - PB0) y la mitad inferior del puerto C (PC3- PC0). El 82C55 es seleccionado por su pin CS para la programacin y para leer o escribir en un puerto. La seleccin de registro se lleva a cabo a travs de los pines de entrada A y A0, que seleccionan un registro interno para la programacin o la operacin. La fig. 17 muestra la asignacin de puertos de E/S utilizados para la programacin y el acceso a los puertos de E/S. En el ordenador personal, un 82C55 o su equivalente se decodifican en los puertos de E/S 60H-63H.

Figura 16. Descripcin de pines de entrada y salida de la Interfaz Perifrica Programable 82C55.

24

Figura 17. Asignacin de puertos de E/S. Es un dispositivo bastante simple de interfaz con el microprocesador y el programa. Para ser ledo o escrito, la entrada CS debe ser una 0 lgico y la direccin correcta de E/S se debe aplicar a los pines A y A0. Los restantes pines de direccin del puerto son no importa en lo que se refiere al dispositivo, y se decodifican externamente para seleccionarlo. La entrada de RESET para el 82C55 inicializa el dispositivo cada vez que se reinicializa el microprocesador, que hace que todos los puertos se configuran como puertos de entrada simples utilizando la operacin en modo cero. Debido a que los pines del puerto se programan internamente como pines de entrada de un restablecimiento, el dao de ventilacin es prevenido cuando la energa se aplica por primera vez al sistema. Despus de un RESET, no se necesitan otros comandos para programar el 82C55, siempre y cuando se utilice como un dispositivo de entrada en los tres puertos. Debe tenerse en cuenta que un 82C55 es la interfaz con el ordenador personal en el puerto que dirige las direcciones 6QH - 63H de control del teclado, altavoz, temporizador y otros dispositivos internos como la ampliacin de memoria. Si se quiere entrar en detalle respecto a la programacin, este resulta fcil de programar, ya que contiene slo dos registros de comandos internos, como se ilustra en las figuras 18 y 19. La posicin 7 del bit selecciona el tipo de byte de comando A o B. El byte de comando A programa la funcin de los grupos A y B, mientras que el byte de comando B establece (1 lgico) o restablece (0 lgico) los bits del puerto C slo si se ha programado el 82C55 en el modo 1 o 2 (8). Los pines del Grupo B (puerto B y la parte inferior del puerto C) se programan como pines tanto de entrada como de salida y pueden funcionar tanto en modo 1 o modo 0 . El modo 0 es el modo bsico de E/S que permite a los terminales del grupo B a ser programados como conexiones de entrada simple y salida cerrada o bloqueadas. El modo 1 es el modo estroboscpico, donde los datos se transfieren a travs del puerto B y las seales de intercambio son proporcionados por el puerto C. Los pines del Grupo A (puerto A y la parte superior del puerto C) tambin estn programados como pines tanto de entrada como de salida, con la diferencia de que el grupo A puede operar en los modos 0, 1, y 2. La operacin del modo 2 es un modo bidireccional de operacin para el puerto A. Si se coloca un cero en la posicin de bit 7 del byte de comando, el byte de comando B se selecciona. Este permite que cualquier bit del puerto C sea establecido (1 lgico) o reestablecido (cero lgico) si el 82C55 opera en modo 1 o 2. Si esto no ocurre, este topo de byte de comando no se usa para programar. A menudo se usa la funcin del bit de set/reset en sistemas de control para establecer o borrar un bit de control en el puerto C.

25

Figura 18. Byte de comando A.

Figura 19. Byte de comando B.

3.5- Ejemplo de control de un perifrico mediante el microprocesador Este ejemplo refleja el procedimiento en el que se transfiere un carcter en cdigo ASCII de AH hasta la impresora por el puerto B, utilizando la interfaz perifrica programable 82C55, en su modo 1 con salida mediante habilitacin. En este caso se utiliza la interface con la impresora para demostrar la forma de lograr la sincronizacin mediante la habilitacin de la salida entre la impresora y el 82C55. En la figura 20 se ilustra el puerto B conectado con una impresora paralela con ocho entradas de datos, para recibir datos en cdigo ASCII: una entrada DS (habilitacin de datos) para la impresora, y una salida ACK para reconocer que se recibi de un carcter ASCII.

26

Figura 20. El 82C55 conectado con una interface de impresora en paralelo que muestra el modo de funcionamiento con salida habilitada por seal estroboscpica del 82C55. En este circuito no hay seal para generar la seal DS para la impresora, por lo cual se utiliza PC4 con un programa que la genera. La seal ACK que regresa la impresora reconoce la recepcin de los datos y se conecta con la entrada ACK del 82C55. A continuacin se muestra el programa que enva el carcter en cdigo ASCII en AH a la impresora. El procedimiento prueba primero OBF para decidir si la impresora ha recibido los datos del puerto B. Si no, el procedimiento espera la seal ACK de la impresora. Si OBF = 1, entonces el procedimiento enva el contenido de AH a la impresora por el puerto B y tambin enva la seal DS.
;Procedimiento que transfiere el carcter en cdigo ASCII de AH ;hasta la impresora por el puerto B ; BIT1 EQU 2H PORTC EQU 62H PORTB EQU 61H CMD EQU 63H PRINT PROC NEAR

= = = =

0002 0062 0061 0063

0000

;comprobar si la impresora esta lista 0000 0002 0004 E4 A8 74 62 02 FA IN TEST JZ AL.PORTC AL.BIT1 PRINT ;obtener OBF ;probar OBF ;si OBF=0

;enviar carcter a la impresora por el puerto B 0006 8A carcter 0008 E6 C4 61 MOV OUT ;enviar DS a la impresora 000A 000C 000E DS 0010 0012 0013 B0 E6 B0 E6 C3 08 63 09 63 IMPRI MOV OUT MOV OUT RET ENDP AL, 8 COMMAND, AL AL, 9 COMMAND, AL ;borrar DS ;establecer AL, AH PORTB, AL ;obtener ;enviarlo

3.6- Convertidores Analgico-Digitales y Digitales-Analgicos

Los convertidores analgico-digitales y digital-analgicos son utilizados como interfaz entre el microprocesador y el mundo anlogo. Muchos eventos que son monitoreados y controlados por un microprocesador son anlogos, y para ello es necesario que exista una

27 interfaz y control, que surgen de los convertidores mencionados, los cuales convierten datos anlogos a digitales y viceversa. En esencia, un convertidor digital-analgico (D/A) se compone de un convertidor de cierta cantidad bits que transforma un valor binario de estos a un voltaje anlogo correspondiente. El nmero de pasos de voltaje generados por el convertidor corresponde a la combinacin en la entrada del nmero binario generado. Por lo tanto, si se tiene, por ejemplo, un convertidor de 8 bits, se generan 256 niveles de voltajes diferentes (10). Por otro lado, el convertidor analgico-digital (A/D) realiza la accin inversa. Todo esto se da a travs de un proceso de cuantificacin en donde una seal analgica es representada por su equivalente en estado binario. Para que dicha seal analgica ingrese al convertidor anlogo-digital, sta debe ser muestreada, es decir, se toman valores discretos en instantes de tiempo, llamando a este proceso muestreo como se puede observar en la figura 21. Matemticamente es el equivalente a multiplicar la seal anloga por una secuencia de impulsos de periodo constante. Como resultado se obtiene un tren de impulsos con amplitudes limitadas por la envolvente de la seal analgica. Para garantizar la toma de muestra y la conversin de forma correcta se debe considerar la velocidad de muestreo, donde el Teorema de Nyquist establece que la frecuencia de muestreo fs debe ser como mnimo el doble que el ancho de banda de la seal muestreada. En el proceso inverso, la seal es recuperada a travs de un filtro pasa bajo e interpolada, obtenindose la seal anloga equivalente (10), como se muestra en la figura 22.

Figura 21. Proceso de conversin analgico-digital.

Figura 22. Proceso de conversin digital-analgico.

28 4.- INTERRUPCIONES 4.1- Definicin de Interrupciones Dentro del mbito informtico, se conoce como interrupcin a una seal en la que el procesador indica que se debe finalizar forzadamente (o interrumpir) algn proceso que se est ejecutando e iniciar otro que trate dicha situacin forzada. Esto ocurre de tal manera que alguna ejecucin de un proceso sea suspendida temporalmente para que se ejecute una subrutina de servicio de interrupcin, la cual no pertenece al programa interrumpido sino al sistema operativo, y posteriormente reanudar dicho proceso(11). Estas interrupciones se dan debido a la capacidad que poseen los dispositivos perifricos (ajenos al ncleo, como el teclado, impresoras, tarjetas de video, de red, entre otros) de enviar informacin al procesador. Con esto, el mecanismo de interrupciones facilita la comunicacin y envo de informacin evitando mayores problemas y/o errores. El proceso que se cumple para tratar la subrutina de interrupcin comienza por los dispositivos perifricos, los cuales tienen asignados una lnea nica para comunicarse con el CPU y avisar al procesador, el cual est en un cierto modo de espera de dichos avisos, cuando que le comuniquen (interrumpan) algn tipo de informacin requerida. Dicha lnea asignada es conocida como Interrupt Request (IRQ, en espaol peticin de interrupcin), la cual llega al controlador de interrupciones que se dedica a gestionarlas, pudiendo estar integrado en el procesador principal o estar conectado al mismo mediante un circuito separado. Este controlador es capaz de habilitar o deshabilitar las lneas y establecer prioridades entre las distintas interrupciones habilitadas. Las IRQ siguen una serie de pasos: 1. Terminar la ejecucin de la instruccin de mquina en curso. 2. Salva el valor de contador de programa en la pila, de manera que en el CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la ltima instruccin. 3. El CPU salta a la direccin donde est almacenada la rutina de servicio de interrupcin y ejecuta esa rutina para atender al dispositivo que gener la interrupcin. 4. Una vez que la rutina de la interrupcin termina, el procesador restaura el estado que haba guardado en la pila en el paso 2 y retorna al programa que se estaba usando anteriormente. Las interrupciones, en resumen, bsicamente se utilizan para conmutar tareas dentro de un planificador o permitir la comunicacin sin bloqueo con los dispositivos perifricos.

4.2- Descripcin del proceso de interrupcin por Hardware y Software

De Hardware Pueden ocurrir en cualquier momento independientemente de lo que el CPU este ejecutando en ese instante. Son producidas por las seales de los dispositivos perifricos que le indican al procesador algn tipo de informacin para ser atendida. Este tipo de interrupciones mejoran la productividad del procesador al ordenar las operaciones de acuerdo a su prioridad sin necesidad de caer en un periodo de espera, pudiendo atender

29 otro proceso o aplicacin y cuando el dispositivo se encuentre disponible se le notifica al procesador para continuar o terminar la operacin. De Software Estas son generadas por el programa que est ejecutndose a partir de diferentes instrucciones en cdigo mquina que solicitan al sistema operativo realizar ciertas funciones. Puede establecerse su generacin de la siguiente manera: 1. Un programa en ejecucin se comunica con el sistema operativo mediante una instruccin. 2. A partir del llamado al sistema operativo, se interrumpe el programa y as se llega a otra instruccin que ejecuta directamente en dicho sistema operativo. 3. Se halla la subrutina del sistema operativo y se ejecuta. 4. Se ordena reanudar la ejecucin del programa interrumpido luego de haber verificado la correcta ejecucin de la subrutina. 5. Se reanuda la ejecucin del programa.

4.3- Descripcin y uso del controlador de interrupciones 8259A Un controlador de instrucciones combina varias fuentes de interrupciones sobre una o varias lneas del CPU, asignando a las salidas de interrupciones los niveles de prioridad. El controlador de instrucciones 8259A fue diseado para ser usado en procesadores Intel 8086 y 8088. Este combina mltiples entradas de interrupcin en una simple salida hacia el microprocesador. Se le pueden conectar en cascada un mximo de 8 chips adicionales, lo que permite gestionar sistemas con hasta 64 interrupciones (11). Este controlador se compone de los siguientes conectores, mostrados adems en la fig. 23: Ocho lneas de solicitud de interrupcin de entrada con el nombre IRQ0 hasta IRQ7 Una salida de solicitud de interrupcin llamada INT Lnea de reconocimiento de interrupcin llamada INTA Lneas de datos de D0 hasta D7 para comunicar el nivel de interrupcin o vector de desplazamiento Otros conectores incluyen CAS0 hasta CAS2 para cascada entre los 8259.

Figura 23. Conectores de entrada y salida del 8259A.

30 A pesar de tener tantos pines, el 8259A es fcil de conectar al microprocesador porque todos sus pines son conexiones directas excepto el pasador de CS, el cual debe ser decodificado, y el pasador de WR, que debe tener un pulso de escritura en el banco de E/S. Adems, aade ocho interrupciones de prioridad vectorizada codificadas al microprocesador. Este se puede ampliar sin necesidad de hardware adicional para aceptar hasta 64 entradas de peticin de interrupcin. Esta expansin requiere un master y ocho esclavos (8). Posee tres registros internos, el IMR, el IRR y el ISR: El Interrupt Mask Register (IMR) (Registro de enmascaramiento de interrupcin), mantiene una mscara de las interrupciones actuales pendientes de reconocimiento (acknowledgement). El Interrupt Request Register (IRR) (Registro de solicitud de interrupcin), mantiene una mscara de las interrupciones que estn pendientes de fin de interrupcin (EOI). El In-Service Register (ISR) (Registro de EnServicio), mantiene una mscara una mscara de interrupciones a las que no se les debe enviar un reconocimiento. El controlador de interrupciones acepta dos tipos de comandos generados por el CPU: los ICW (Inicialization Command Word) que lo inicializan, y los OCW (Operation Command Word) que permiten programar la modalidad de funcionamiento. Antes de que estos controladores comiencen a trabajar deben, recibir una secuencia de ICW que los inicialice. Los ICW y OCW constan de secuencias de 2 a 4 comandos consecutivos que el controlador espera recibir secuencialmente, unos tras otros, a travs del bus de datos, segn sea necesario. Los OCW pueden ser enviados en cualquier momento, una vez realizada la inicializacin. La comunicacin con el controlador emplea las lneas directas con el CPU. El hecho de que exista una sola lnea de direcciones implica que dicho controlador slo ocupa dos direcciones de puerto de E/S en el espacio de entrada y salida del ordenador.

CONCLUSIONES

Este trabajo se realiz con la finalidad de describir las caractersticas de control y direccionamiento del microprocesador 8086 INTEL de 16 bits, adems de otros dispositivos claves, presentes en el CPU de un computador; entre los cuales estn: memoria, dispositivos de entrada/salida e interruptores. La investigacin fue de tipo documental, es decir la informacin recopilada est fundamentada en libros y fuentes en lnea. En la bibliografa recomendada se encuentran libros conocidos como el libro de Barry Brey acerca de los microprocesadores INTEL y el libro de Morris Mano, junto a algunas guas tcnicas de computacin. Se puede decir que hoy en da el procesamiento de las computadoras, se basa en una arquitectura de buses, lo cuales permiten el paso de informacin desde un dispositivo o componente (adjunto o remoto) hacia el computador. Existen tres tipos de buses: el de control, el de datos y el de direccin, sin embargo para los microprocesadores INTEL se puede hablar de dos grupos de buses, uno frontal y otro para los dispositivos de entrada y salida del computador. Los buses permiten intercambiar direcciones con la memoria, escribir o leer de ella, y el paso de datos a cualquier otro componente. En resumen la memoria es la unidad de almacenamiento del computador, y desde que se enciende la computadora se est accediendo constantemente a partes de la memoria; el orden sobre el cual se desplaza al pasar de una memoria a otra se llama jerarqua de memoria. Para finalizar, antes de acceder a la memoria, hay dispositivos que me permiten interpretar las direcciones del microprocesador hasta la misma, el cual se llama decodificador, y existen varios arreglos capaces de mejorar la transferencia de datos y reducir el costo inicial al simplificar los componentes. Hay otros dispositivos con los cuales el microprocesador intercambia dato y estos se llamas dispositivos de entrada y salida. Para efectos acadmicos, se ha presentado en todo el desarrollo parte del contenido de la arquitectura de los microprocesadores, cumpliendo as el objetivo del mismo, dejando explicito el estudio que se ha hecho, el cual ha sido indagado y desglosado de acuerdo al ndice planteado para su mejor distribucin y comprensin. Con esto se complementa la informacin obtenida en el curso, completando la seccin de estudio que corresponde a los microprocesadores. Es de gran importancia conocer cada una de las partes y funciones del microprocesador, ya que este cumple un papel esencial en el manejo de la informacin, incluso a niveles mucho mayores de un simple computador personal.

REFERENCIAS BIBLIOGRFICAS Y FUENTES DOCUMENTALES.

1. Meneses, Amlcar (2003). El Microprocesador 8086/8088. [Artculo en lnea]. Disponible en: http://computacion.cs.cinvestav.mx/~ameneses/pub/tesis/ltesis/node14.html. [Consulta: 2013, Agosto 5]. 2. Fundacin Wikimedia (2013). Intel 8086 y 8088. [Artculo en lnea]. Disponible en: http://es.wikipedia.org/wiki/Intel_8086_y_8088. [Consulta: 2013, Agosto 5]. 3. Tosini, Marcelo (2001). Intel 8086. Arquitectura. [Artculo en lnea]. Disponible en: http://www.exa.unicen.edu.ar/catedras/progens/materiales/arquitectura%208086.pdf [Consulta: 2013, Agosto 5]. 4. Sibin, Xavier (2011). Intel 8086-8288 Bus Controller. [Artculo en lnea]. Disponible en: http://www.7chip.com/2011/02/intel-8086-8288-bus-controller.html. [Consulta: 2013, Agosto 5]. 5. Lpez, Juana (2007). Arquitectura del Microprocesador 8086. [Artculo en lnea]. Disponible en: http://atc2.aut.uah.es/~avicente/asignaturas/ects/pdf/ects_t2.pdf. [Consulta: 2013, Agosto 5]. 6. Mejia, Aurelio. (2005) Gua prctica para manejar y reparar un computador. [Artculo en lnea]. PANAMERICANA FORMAS E IMPRESOS S.A. Medelln, Colombia. Disponible en: http://books.google.co.ve/books?id=eAsV2vaIenkC&pg=PA67&dq=memoria+ram+tipos&hl=es&sa=X&ei=NysyUoCfEJHo9gSzwIDYCw&ved=0CCwQ6AEwAA #v=onepage&q&f=false. [Consulta: 2013, Septiembre 3]. 7. Academia de Sistemas Digitales (2009). Puertos de Entrada/Salida en un Microcontrolador. [Artculo en lnea]. Instituto Tecnolgico Superior de Calkin en el Estado de Campeche, Mxico. Disponible en: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r42554.PDF [Consulta: 2013, Agosto 29]. 8. Brey, Barry (1997). The INTEL Microprocessors, Architecture Programming and Interfacing. Prentice-Hall International Inc. 9. Kruis, Jeoren (2009). TLS Handshake Protocol. [Artculo en lnea]. Disponible en: http://reocities.com/SiliconValley/byte/4170/articulos/tls/tls-hp.htm. [Consulta: 2013, Septiembre 8]. 10. Huircan, Juan (2008). Conversores Anlogo-Digital y Digital-Anlogo. Conceptos Bsicos. Departamento de Ingenieria Electrica. Universidad de la Frontera, Temuco-Chile. [Artculo en lnea]. Disponible en: http://quidel.inele.ufro.cl/~jhuircan/PDF_CTOSII/ad03.pdf [Consulta: 2013, Septiembre 9]. 11. Fundacin Wikimedia (2013). Interrupcin. [Artculo en lnea]. Disponible en: http://es.wikipedia.org/wiki/Interrupci%C3%B3n. [Consulta: 2013, Agosto 18]. 12. Mano, Morris (2003). Diseo Digital. Pearson Educacin.

You might also like