You are on page 1of 10

UNIDAD X

INTRODUCCIN A LOS MICROPROCESADORES

Esta seccin es una breve introduccin a los microprocesadores. Naturalmente, lo que se va a cubrir en este nico mdulo es muy limitado pues fcilmente se podra dedicar uno o ms captulos a las secciones que la componen. Sin embargo el objetivo es proporcionarle unos conocimientos bsicos que le sirva para poder prepararlo para estudios posteriores. 1. MICROPROCESADOR Y MICRO COMPUTADOR El Microprocesador es un circuito integrado digital que puede programarse con una serie de instrucciones, con el propsito de que realice alguna funcin especfica. Cuando a este elemento se la proporciona un dispositivo de memoria y se le provee de los medios para poder transferir informacin (datos) al medio exterior, se tiene un sistema denominado micro computador. El microprocesador est bsicamente compuesto de tres partes constitutivas: a. La unidad Aritmtico Lgica.- Tambin denominada ALU, es donde se realizan todas las operaciones matemticas y lgicas b. Unidad de Registro.- Un registro es una dispositivo de almacenamiento temporal de datos, durante la ejecucin de las instrucciones es necesario guardar los datos temporalmente en algn lugar. c. Unidad de Control.- Esta unidad proporcione las seales de control y temporizacin para todas las operaciones que realice el microprocesador. Pero el microprocesador no est slo ni aislado del exterior, el comparte informacin con otros dispositivos; esta operacin de transferencia y recepcin de informacin los realiza por medio de los denominados buses. a. El Bus de Direcciones.- Es un conjunto de lneas en donde la informacin se transfiere en paralelo y en un solo sentido, a travs del cual el microprocesador enva un cdigo de direccin a una memoria o a un dispositivo externo. El tamao o ancho del bus de direcciones se especifica mediante el nmero de bits que puede manejar. b. El Bus de Datos.- Es un conjunto de lneas en donde la informacin se transfiere en paralelo y en doble sentido. A travs de este bus los cdigos de instruccin y de datos se transfieren al microprocesador.

110

Circuitos Digitales

c. Bus de control.- Por este conjunto de lneas que pueden ser de entrada y salida, el microprocesador coordina sus operaciones con los dispositivos externos. Los dispositivos externos con los que se inter-relaciona el microprocesador los podemos denominar: - Unidades de Memoria - Unidades de entrada - Unidades de Salida. Un esquema de todo este sistema conformando un micro computador lo mostramos a continuacin.

Figura N 1 2. HISTORIA DEL MICROPROCESADOR La historia de los microprocesadores est ligada a dos fabricantes; por un lado tenemos a Intel Corporation y a Motorola. 1971 Intel introduce un microprocesador de 4 bits con la denominacin 4004, posteriormente le sigui el 8008 de 8 bits, el 8080 y el 8085 los cuales podan direccionar 64 k bytes de memoria con su bus de direcciones de 16 lneas.

Circuitos Digitales

111

1978 Se introduce la arquitectura 80 X 86, desde ese momento esta arquitectura ha tenido cinco fases fundamentales de evolucin. El 8086 fue la base de los microprocesadores siguientes, este contaba con un bus de datos de 16 bits y 20 lneas de direccin, su frecuencia de reloj era de 5MHz, 8 MHz 10MHz. El 8080 es en esencia un 8086 pero con el bus de datos de 16 bits multiplexado como bus de datos externo de 8 bits. El 80186 es un 8086 con varias funciones de soporte integradas en el chip, tales como generador de reloj, controlador de sistema, controlador de interrupciones y controlador de acceso directo a memoria. Su frecuencia de reloj se aumento a 12,5 MHz 1982 Aparece el 80286, con 24 lneas de direccionamiento de memoria, con un modo de operacin avanzado denominado modo protegido que se incorpor por primera vez en el 80286, su frecuencia de reloj era la misma que la del 80186. 1985 Se presento el microprocesador de 32 bits. El 80386 tiene un bus de datos de 32 bits y un bus de direcciones de 32 bits. Introdujo un aumento en su velocidad con el uso de mtodo de pipeline de las instrucciones. Este mtodo permite al microprocesador comenzar a trabajar en una nueva instruccin antes de completar la instruccin en curso. Existen versiones del 80386 que trabajan a frecuencias de reloj de 16MHz, 20MHz, 25MHz y 33MHz. Existen versiones de menor performance como son el 80386SX y el 80386SL que tenan el bus de datos multiplexado a 16 bit y el de direcciones a 24 bits. Todas las versiones del 80386 pueden funcionar con un coprocesador matemtico como apoyo en la realizacin de operaciones con punto flotante.

1989 Se presento el 80486 con la introduccin de una memoria denominada cache

(memoria de almacenamiento temporal) de 8 Kbyte en el chip. Esta memoria reduce el tiempo de acceso a memoria, almacenando las instrucciones recin usadas o los datos en una SRAM, se incorpor adems un coprocesador matemtico interno, pudiendo funcionar algunas versiones con un reloj superior a 66 MHz 1993 Hizo su aparicin el Pentium, con un bus de direcciones de 32 bits, pero con un bus de datos de 64 bits. Posee memorias cache separadas para datos y direcciones de 8 Kbyte; un mtodo de doble pipeline, conocida como arquitectura sper escalar, lo que genera un aumento en la velocidad de procesar las instrucciones. Su reloj puede llegar a frecuencias de 166MHz y aun se encuentra sujeta a cambios y mejoras. De los microprocesadores Motorola:

112

Circuitos Digitales

1975 Apareci el 6800 con una frecuencia de reloj de 2MHz, bus de 8 bits de datos y bus de direcciones de 16 bits. Luego salieron el 6802, con una memoria RAM de 12Kbytes; el 6803 con una frecuencia de reloj de 3.58MHz al cual se le aadi una UART (Transmisor / Receptor Asncrono Universal) para las comunicaciones en serie. El ltimo microprocesador de 8 bits fue el 6809, que ofreca un juego de instrucciones mayor, incluyendo la multiplicacin. 1978 De dio a conocer el 68000, microprocesador de 16 bits datos y 24 de lneas de direcciones. Con una frecuencia de reloj de 16 MHz, era ms rpido que sus contemporneos Intel. Posteriormente tenemos el 68020 con 32 bits y una memoria cache de 256 bytes. Su frecuencia de reloj era de 33MHz. Luego tenemos al 68030, el que se aadi una memoria cache de 256 bytes para los datos con lo que la velocidad de operacin se incremento a 50 MHz En el 68040, la memoria cache para instrucciones y datos se aumenta a 4 Kbyte, y se incorpora al chip un coprocesador matemtico. El 68060, tiene una arquitectura sper escalar, con instrucciones de pipeline mltiple y dos memorias cache de 8 Kbyte, la frecuencia mxima de reloj es de 66 MHz Finalmente el PowerPC MPC601, con 64 bits con arquitectura sper escalar capaz de ejecutar efectivamente hasta tres instrucciones por ciclo de reloj, dispone de 32 Kbyte de memoria cache y de coprocesador matemtico interno. Este es un microprocesador matemtico interno del tipo RISC (Computador con conjunto de instrucciones reducida), un mtodo que reduce el nmero de instrucciones, lo cual se traduce en un funcionamiento mejorado.

3.

PROGRAMACIN DEL MICROPROCESADOR Todos los computadores deben de programarse para realizar la ms elemental de las tareas. La circuitera y componentes fsicos de un microprocesador son intiles sin un programa. El programa es una lista de instrucciones de computador organizadas para obtener un resultado especfico. Podemos hacer una semejanza entre las instrucciones y las palabras codificadas que usaban los espas aliados en la segunda guerra mundial de tal manera que cada instruccin que no es otra cosa que una secuencia de nmeros binarios (de unos y ceros) que deben de ser traducidos por el microprocesador y en el proceso de traduccin realizan o ejecutan una determinada accin. Estas instrucciones estn organizadas y almacenadas en memoria de tal manera que para poder indicar la ejecucin de una determinada instruccin debemos de ubicarla adecuadamente en una posicin de memoria para que el microprocesador pueda localizarlo y leerlo.

Circuitos Digitales

113

Cuando tenemos esta secuencia de instrucciones adecuadamente organizada y enlistada una detrs de la otra, lo denominamos programa. Cuando se ejecuta un programa en un microprocesador este debe de ser inicialmente cargado en un dispositivo de almacenamiento (generalmente una memoria) y se desarrollan bsicamente los siguientes pasos: a. Cargar el cdigo de operacin de la instruccin desde la memoria donde ste se encuentra almacenado b. Decodificar el cdigo de operacin, lo cual indicara al microprocesador la accin a realizar c. Finalmente pasar a la siguiente posicin de memoria donde se encuentra la siguiente instruccin. Obviamente, cubrir el juego completo de instrucciones no es el objetivo que perseguimos, adems de que s bien estn organizadas estas instrucciones suelen tener diferencias de un microprocesador a otro. No es muy fcil hacer un programa escribiendo directamente una secuencia de unos y ceros lo cual es denominado lenguaje de mquina, por tanto se suele usar un lenguaje alfanumrico ms accesible para nosotros llamado lenguaje ensamblador, donde cada instruccin est representado por un mnemnico (ejemplo: IN, ADD, OUT, etc.). Las Instrucciones se suelen agrupar en tres categoras principalmente: - Transferencia de Datos.- Se usan para mover un bit, un byte o una palabra de un lugar de memoria a otro. - Aritmticas.- Existen instrucciones para las operaciones de suma, sustraccin, multiplicacin y divisin. - Manipulacin de bits.- Este grupo incluye aquellas que se emplean para tres tipos de operaciones: lgicas (Booleanas), de desplazamiento y rotacin. Otras categoras son las de manejo de cadenas, transferencia de programas y control del procesador. 4. LA CPU La unidad central de proceso (CPU) est formado por un microprocesador y varios circuitos integrados asociados, denominados circuitos de soporte. Como se muestra a continuacin para el microprocesador 8088. En este caso este microprocesador posee un bus de datos de 8 bits y uno de direccionamiento de 20 bits. Para el 8088 los circuitos de soporte son bsicamente dos, el generador de corresponde al CI 8284 y el controlador de bus que corresponde al CI 8288 adems del latch de direcciones y el bus de datos XCVR (Transmisor/Receptor del bus de datos de tres estados) controlados por el 8288.

114

Circuitos Digitales

Figura N 2 El generador de reloj proporciona las seales de temporizacin bsicas de microprocesador y a otras partes del sistema. Tambin proporciona la seal de RESET para inicializar la circuitera interna del 8088. Adems de la seal de REDY para sincronizar el microprocesador con el resto del sistema. Se utiliza un cristal resonante externo de 14.31818 MHz para establecer la frecuencia de oscilacin, un contador divisor proporciona frecuencias menores en los terminales CLK y PCLK. El controlador de bus se usa apara relevar al microprocesador de la mayor parte de las funciones de control del bus, de modo que se maximice la eficiencia del proceso. 5. LA MEMORIA En un micro computador tpico, una parte del espacio total de memoria se asigna a la RAM y la ROM y otra parte a los puestos de entrada y salida. Una asignacin de memoria usual para el 8088 es desde 0000016 a BFFFF16 para la RAM (786,431 posiciones) y desde C000016 a FFFFF16 para la ROM (262,143 posiciones). Dentro de la RAM y de la ROM, las direcciones se segmentan en reas para diferentes propsitos, tales como programas del sistema, programas del usuario, datos y diversos tipos de informacin relativas al sistema. Dos operaciones importantes entre la CPU y las memorias son:

Circuitos Digitales

115

a. El Ciclo de lectura de memoria.- En este proceso le CPU lee de una posicin determinada de la memoria un dato, para ello tiene que poder darle a la memoria todas las seales de control que esta requiera para que pueda colocar la informacin en el bus de datos para que la CPU lo pueda recepcionar de manera eficiente y sin error. Las lneas de control dependen del tipo de memoria usado. b. El ciclo de escritura en memoria.- En este proceso le CPU colocara el dato en el bus de datos y activar la memoria para que sea guardado el dato en una posicin determinada, para ello tiene que poder darle a la memoria todas las seales de control que esta requiera para que pueda recepcionar la informacin sin error y mantenerla. Las lneas de control dependen del tipo de memoria usado.

6.

LOS PUERTOS DE ENTRADA Y SALIDA Un puerto de entrada ya salida proporciona una interfaz entre el computador y el mundo exterior de los equipos perifricos. Pueden ser de dos tipos: dedicados o mapeados en memoria. Un puerto de entrada y salida dedicado est asignado a una nica direccin dentro del espacio de direcciones de E/S del computador y para la comunicacin se usan comandos de E/S dedicados. Los podemos organizar en: - Puerto de Entrada - Puerto de Salida - Puerto Bidireccional Un segundo mtodo para acceder a los puertos de E/S es el puerto mapeado en memoria. En su implementacin es muy similar a la de los puertos dedicados, excepto en dos cosas: - Los puertos mapeados en memoria estn asignados a direcciones dentro del espacio de direcciones de la memoria del computador, por lo tanto la CPU los ve como posiciones de memoria. - Los comandos usados para que la CPU pueda acceder a un puerto de E/S mapeado en memoria son distintos a los usados en los puertos de E/S dedicados. En muchos sistemas se utilizan dispositivos especiales para implementar los puertos de E/S. Uno de estos dispositivos es la interfaz perifrica programable (PPI) el cual posee puertos de entrada salida, lneas de direcciones y lneas de control. Estos CIs se pueden programar para tener diversas combinaciones de puertos de entrada, salida o bidireccionales;

116

Circuitos Digitales

adems pueden ser usados tanto para puertos dedicados como para mapeados en memoria. 7. INTERRUPCIONES Si bien sabemos que para el intercambio de datos entre un dispositivo perifrico y la CPU el medio es precisamente un puerto de E/S, es necesario conocer de qu manera se realiza el establecimiento de esta comunicacin. Hay dos mtodos por Sondeo y por Interrupcin. Uno de los mtodos de servicio se denomina sondeo (polling) . Este mtodo consiste en que la CPU comprueba secuencialmente cada perifrico a determinados intervalos, para saber si necesitan o estn preparados para el servicio. La CPU selecciona secuencialmente a cada dispositivo perifrico a travs de un multiplexor. Algunos dispositivos pueden necesitar servicio a intervalos de tiempo irregulares e impredecibles, sin embargo la CPU debe de sondear al dispositivo a la velocidad ms alta. Cada vez que se realiza el sondeo la CPU debe de detener el programa que est procesando, ir a la secuencia de sondeo, proporcionar el servicio en caso sea necesario y volver al punto en que dejo el programa en curso. Adems si dos o ms dispositivos necesitan el servicio al mismo tiempo, el primero al que se sondee ser el primero en recibir el servicio y los dems deben de esperar aunque precisen el servicio de manera ms urgente que el seleccionado.

Figura N 3

Circuitos Digitales

117

El otro mtodo usado es por interrupcin, en este caso la CPU responde a la necesidad de servicio slo cuando el dispositivo perifrico solicita el servicio. De esta manera la CPU puede dedicarse a la ejecucin del programa en curso, sin necesidad de interrumpirlo innecesariamente para ver si los perifricos necesitan servicio. La solicitud de servicio de un dispositivo perifrico se denomina interrupcin. Cuando la CPU recibe una interrupcin, para temporalmente el programa en curso y carga desde la memoria un programa especial denominado rutina de servicio, para el dispositivo en particular que ha generado la interrupcin. Cuando se completa la rutina de servicio, la CPU regresa al punto donde estaba en la ejecucin del programa en curso. Un dispositivo denominado controlador programable de interrupciones ( PIC ) maneja las interrupciones en funcin de prioridades, aceptando solicitudes de servicio de los perifricos. Si dos o ms perifricos solicitan servicio al mismo tiempo, el que tenga asignada la prioridad ms alta recibe primero el servicio y luego el que tenga la siguiente prioridad ms alta y as sucesivamente. Cuando se enva una seal de interrupcin a la CPU, el PIC proporciona a la CPU la direccin de comienzo en memoria de la rutina de servicio apropiada. Este proceso se denomina vectorizacin.

Figura N 4

118

Circuitos Digitales

8.

ACCESO DIRECTO A MEMORIA. El acceso directo a memoria no es otra cosa que una tcnica de transferencia de datos. Pero hasta ahora todas se realizaban a travs de la CPU. Pero para bloques de datos largos, las paradas intermedias del microprocesador consumen mucho tiempo. Por esta razn, muchos sistemas utilizan la tcnica de Acceso Directo a Memoria ( DMA ). Para acelerar a la transferencia entre la RAM y determinados dispositivos perifricos. En especial para ciertos tipos de transferencia de datos, el acceso directo a memoria ignora a la CPU. En este proceso se usa un dispositivo denominado controlador de DMA, que toma control de los buses del sistema y permite que los datos fluyan directamente entre la RAM y los perifricos. En particular, la transferencia entre la unidad de disco y la RAM se hacen con este mtodo, debido a la gran cantidad de datos implicados.

Figura N 5

Circuitos Digitales

119

You might also like