0% encontró este documento útil (0 votos)
21 vistas36 páginas

Doc

Cargado por

morphyjack
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas36 páginas

Doc

Cargado por

morphyjack
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DE MATANZAS CAMILO CIENFUEGOS. FACULTAD DE INGENIERAS QUMICA Y MECANICA.

INTRODUCCION A LOS MICROPROCESADORES


Dr. C.T. Ing. Evaristo Gonzlez Milans.

DICIEMBRE, 2003

INTRODUCCION A LOS MICROPROCESADORES Autor: Dr. Evaristo Gonzlez Milans Dpto. Fsica Universidad de Matanzas.

INTRODUCCIN.
Los microprocesadores han venido a ser el resultado del desarrollo en el camino emprendido por la Electrnica Digital hacia la miniaturizacin, primeramente implementando una unidad de procesos completa en una sola pastilla o chip de circuito integrado, y posteriormente, mediante el aumento de la rapidez, capacidad de trabajo y potencia de dicha unidad.

La aparicin de los microprocesadores (MP) representa el siguiente punto de salto en la electrnica despus del ocurrido con la invencin del transistor, y la tecnologa de su construccin avanza tan rpidamente que prcticamente ha revolucionado en corto tiempo el desarrollo de mltiples campos de la ciencia y la tcnica, a la vez que se introduce de manera convincente en nuestra vida domstica, siendo difcil mencionar una rama o campo de la ciencia en la cual no exista una aplicacin de los microprocesadores. De hecho, cada da aumenta el nmero de instrumentos, sistemas de control de procesos, medios y equipos para las telecomunicaciones, medicina, servicios pblicos e incluso juguetes, que emplean dentro de su estructura algn tipo de MP, sin entrar a considerar el hecho real de la introduccin, divulgacin y aceptacin que han tenido las nuevas generaciones de computadoras digitales basadas en este componente y que son conocidas por nosotros como microcomputadoras.

Es difcil predecir qu pasar en la electrnica en los prximos aos, pero de acuerdo con la opinin de personalidades de esta rama, la influencia de los MP en el futuro ser cada vez mayor y de ah la importancia de preparar a los profesionales encargados de su aplicacin y desarrollo, y de que a su vez, los graduados de nivel superior posean conocimientos elementales que les permitan ganar en la cultura general necesaria que sirva de base a un conocimiento mayor de la aplicacin especfica en el campo en que desarrollarn su vida profesional .

Este material no es ms que un primer intento para cubrir la limitacin de informacin que sobre este tema presenta el texto que se emplea en la asignatura Electrnica, que se imparte a las carreras de Ciencias Tcnicas, permitiendo a los estudiantes disponer de forma condensada de los contenidos relacionados con esta temtica previstos en dicha asignatura.

1-)Computadora Digital.
Una computadora digital puede entenderse como un sistema que explora secuencialmente una informacin almacenada llamada programa, interpreta este programa y lo ejecuta. Para ello el sistema dispone de un HARDWARE, o sea, de una constitucin fsica conformada por circuitos integrados interconectados sobre tarjetas de circuito impreso agrupadas en elementos funcionales de caractersticas definidas que conforman la MEMORIA, la UNIDAD de CONTROL, la UNIDAD LOGICO-ARITMETICA y las UNIDADES de ENTRADA-SALIDA. Simultneamente dispone de un soporte no fsico sino operativo, de un mtodo de dilogo y por tanto de aceptacin de rdenes, y de generacin de mensajes. Ello lo constituye el conjunto de instrucciones al cual responde directamente, y es un elemento que caracteriza a cada computadora, y que recibe el nombre de SOFTWARE bsico. El SOFTWARE no se limita al conjunto de instrucciones, sino que incluye tambin programas inteligibles por el computador, por tanto escritos de acuerdo con el SOFTWARE bsico y que permiten interpretar programas escritos con lenguajes ms evolucionados. El programa lo constituye un listado detallado de operaciones a desarrollar por la computadora en un orden consecutivo y lgico y es escrito en un lenguaje que sea comprensible para la mquina y que por tanto permita alcanzar ciertos resultados. El programador, atendiendo al lenguaje de la mquina que lo ocupa, al problema especfico y a las operaciones simples que la mquina puede realizar, confecciona el listado de instrucciones (rdenes), a travs de las cuales especifica la operacin que debe ejecutar y la ubicacin del o de los operandos sobre los que ejecutar la accin indicada. Este programa se carga (almacena) en la memoria en el orden secuencial previsto, constituyendo cada instruccin un grupo de 1 y de 0 que caracteriza o define una operacin y no a otra. A esta representacin binaria de las instrucciones de una computadora se le llama lenguaje de mquina o cdigo de mquina. Los programas que pueden ser directamente ejecutados por una computadora digital estn pues almacenados en lenguaje de mquina, no obstante, confeccionar programas en lenguaje de mquina resulta una tarea laboriosa y compleja, por lo que surgi el inters de crear lenguajes ms asequibles para el ser humano y que tuviesen una cierta relacin con la manera con que aqul especifica las operaciones de un proceso de informacin. De esta forma naci el lenguaje simblico (assembler), que sustituye las combinaciones binarias del lenguaje de mquina por nombres simblicos que hacen referencia a la operacin que realiza la computadora cuando ejecuta la instruccin correspondiente. Cada instruccin del lenguaje simblico es equivalente a una instruccin del lenguaje de mquina. Aunque el lenguaje simblico es ms fcil de manejar que el de mquina, todava dista bastante del utilizado por el ser humano para expresar los procesos de informacin, en especial las operaciones complejas que implican la ejecucin de un nmero elevado de operaciones elementales en secuencia. Por ello se crearon lenguajes

de alto nivel que permiten especificar ms fcilmente los procesos de informacin, donde cada instruccin se convierte posteriormente en un conjunto de instrucciones en lenguaje de mquina. Tanto el lenguaje simblico como los de alto nivel, hicieron necesario el desarrollo de programas que al ser ejecutados por un computador tradujeran los programas escritos en aquellos al lenguaje de mquina. Estos programas traductores se conocen con el nombre de compiladores y realizan la traduccin al lenguaje de mquina para la totalidad del programa de una sola vez. Esta versin traducida del programa escrito en un lenguaje de alto nivel (llamado programa fuente), se denomina programa objeto, y puede transferirse a la memoria y ejecutarse directamente. Los programas intrpretes utilizan otros principios de funcionamiento. Cada instruccin escrita en el programa fuente le indica al intrprete un conjunto de acciones que debe cumplir sin que medie un programa objeto en cdigo de mquina. La principal ventaja de un intrprete es que permite fcilmente probar y poner a punto el programa. Tanto el programa intrprete como el programa fuente permanecen en la memoria durante la ejecucin del programa, lo cual generalmente ocupa una mayor capacidad de memoria, y no se posee un programa objeto en cdigo de mquina para su posterior concatenacin con cualquier programa. Posteriormente surgi la combinacin de intrprete y compilador en un solo paquete de programas, pudiendo aprovecharse las ventajas de ambos sistemas, como es el caso del TURBOBASIC, TURBOPASCAL, etc.

1.1-Generaciones de computadoras digitales .


Desde la creacin de las primeras computadoras digitales en el ao 1947, se han sucedido diferentes generaciones o estadios de desarrollo tanto a nivel de HARDWARE como a nivel de SOFTWARE. En las llamadas primeras generaciones se utilizaron tubos de vaco como elementos lgicos y como memorias se utilizaron tambores magnticos, el SOFTWARE an no se llamaba as y era muy primario, a nivel de lenguaje-mquina y de tmidos ensayos simblicos. En la 2da generacin, hacia 1956, se utilizaron ya transistores de germanio y, posteriormente de silicio (el transistor se haba inventado en 1947 y se haba industrializado pocos aos despus.) por la parte lgica, la memoria ya fue de ferritas y se continu usando memoria exterior de tambor, discos y cintas magnticas; el SOFTWARE era el mismo de la anterior generacin, pero inclua ya compiladores fortran an bastante primarios, aunque fueron mejorando con el tiempo. El primer gran cambio de los lenguajes se produjo pues, en esta generacin. Mientras hasta entonces los programas en lenguaje-mquina o en lenguaje simblico deban ser escritos para una mquina concreta puesto que eran orientados a las mquinas, a partir de entonces fueron orientados al problema, por lo que el programa era aplicable a cualquier mquina siempre que existiera el traductor (compilador) adecuado a aquella mquina. La tercera generacin apareci hacia 1964 simultneamente con la aparicin de las MINICOMPUTADORAS. El hardware era realizado con circuitos integrados RTL y ECL que evolucionaron hasta los TTL en 1966. La MEMORIA continuaba siendo de ferritas y el software llego a su mayora de edad con lenguajes de alto nivel FORTRAN, COBOL y sobre todo con la aparicin de SISTEMAS OPERATIVOS. Fue el momento de la incorporacin de las computadoras al control del procesos.

La cuarta generacin apareci hacia 1971 simultneamente con la aparicin de las MICROCOMPUTADORAS, de las terminales de TELEPROCESOS y solapndose con los lenguajes de ms alto nivel (PL1, ALGOL68, BASIC, etc.).

1.2) Estructura de una Computadora Digital.


La estructura tpica de una computadora digital ha sido en las primeras generaciones la que se muestra en la figura.
Memoria

Entradas

Unidad de Procesos Unidad de Control

Salidas

Esta estructura ha sido la primitiva y ha ido evolucionando variando, no en esencia, sino en forma, hasta llegar a una estructura ms moderna, la cual se muestra a continuacin:
Bus de direcciones

Unidad Unidad de
Entradas

Unidad de Memoria

Unidad de Procesos

Unidad de Control

Unidad de Salidas

Bus de datos

D C

Bus de Control

Puede verse que tanto en una como en otra figura las unidades funcionales son prcticamente las mismas; lo que ha sufrido modificaciones han sido las interconexiones de estas unidades, que modernamente se realizan por BUSES y antes no se realizaban as. Un bus est formado por un grupo de lneas por donde se trasmiten los datos, cdigos de instruccin, seales de sincronizacin y cdigos de direccin entre las diferentes unidades funcionales de la computadora de forma paralela lo que permite una alta velocidad de transmisin. La interconexin por buses ha representado un gran ahorro de interconexiones y una simplificacin desde el punto de vista estructural. Esta evolucin ha sido debida al desarrollo tecnolgico que ha permitido obtener sistemas con tres estados lgicos posibles (TRI-STATE): 1 lgico, 0 lgico y 3er estado tambin denominado estado de alta impedancia, permitiendo que el dispositivo que no est tomando parte del intercambio de informacin en un momento dado pueda aislarse. En realidad las lneas del bus se agrupan en tres, de acuerdo con la informacin que transportan: bus de direccin, bus de datos y bus de control.

El bus de datos es bidireccional y por l circulan los datos que llegan o salen de la computadora por las unidades de entrada y salida, as como los datos intermedios que son ledos o almacenados en la memoria .De acuerdo con la longitud de la palabra que es capaz de manejar el bus de datos, se designa la longitud de palabra de la microcomputadora. El bus de direcciones es unidireccional, y con el cdigo binario que aparece en ese bus se selecciona la unidad o dispositivo que trabajar en cada instante. El bus de control est formado por varias lneas donde cada una posee una funcin muy especfica e indica a cada una de las unidades y dispositivos externos la funcin que debe realizar. As se logra la sincronizacin de todos los elementos de la computadora, lo cual queda a cargo de la unidad de control. Tambin sirve para que la CPU reciba ciertas indicaciones de las unidades perifricas. En la figura se distinguen adems los siguientes elementos funcionales: unidad de entradas, memorias, unidad de proceso, unidad de control y unidad de salidas. La unidad de entradas no es ms que un multiplexor con el que se escoge por el bus de direcciones y el de control cul de las informaciones presentes se desea traspasar al bus de datos. La unidad de memoria es el almacn tanto de instrucciones como de datos. La unidad de proceso realiza las operaciones aritmticas y lgicas con las informaciones que entran en ella a partir del bus de datos y el de direcciones. Tiene para ello una unidad aritmtica lgica (ALU), uno o varios acumuladores, unos registros de indicadores o banderas, as como unos registros rpidos de trabajo (RRT) en los que se almacenan temporalmente los datos que no interesa guardar indefinidamente en memoria La unidad de control es el verdadero cerebro del sistema pues es capaz de tomar decisiones lgicas en el curso de la ejecucin de un algoritmo. Es decir, segn informaciones, normalmente suministradas por la unidad de procesos sobre el valor de algn resultado, se puede ejecutar una parte u otra del programa, slo con ir a buscar las nuevas instrucciones a un sitio diferente de la memoria central. En ella se encuentra el contador de programas con su sistema de aritmtica de direcciones y el puntero del stack. Tambin se encuentra el registro de instrucciones, decodificador de instrucciones, registros auxiliares, etc. La unidad de salidas recibe por el bus de datos la informacin a sacar al exterior y por el bus de direcciones la direccin por la cual debe sacar los datos anteriormente mencionados. Generalmente la Unidad de Control y la Unidad de Procesos se agrupan en un solo bloque denominado UNIDAD CENTRAL de PROCESAMIENTO (CPU).

1.3- Elementos bsicos de una microcomputadora.


Una microcomputadora consta de tres elementos fundamentales: Unidad Central de Procesamiento, la Memoria y las Unidades o Puertos de Entrada/Salida todo ello debidamente interconectado mediante un sistema de buses. Su esquema ser entonces el mismo que aparece en la figura anteriormente mostrada, con la unin de las unidades de control y de proceso en un solo bloque llamado CPU. La CPU unifica el sistema controlando las funciones realizadas por los otros componentes. Se conoce bajo el nombre de microprocesador la CPU de la microcomputadora construida en una sola pastilla de circuito integrado (CI) .Al igual que los procesadores de todas las computadoras, el microprocesador puede manejar tanto datos aritmticos como lgicos de forma paralela bajo el control de un programa . Sin embargo lo que los

fabricantes ofrecen bajo el nombre de microprocesador vara mucho de uno a otro modelo. En el 8080 por ejemplo, estn integrados los bloques de procesos y la mayor parte del control, en el 6800 est completo proceso y control; en el 2650 se incluye adems parte de las entradas/salidas, el 8048 es un ejemplo de los microcomputadores en una sola pastilla, pues incluye casi todo lo necesario para constituir un pequeo sistema, y en general, en la medida que se desarrollan los microprocesadores, estos abarcan cada vez estructuras mas complejas. A continuacin haremos una descripcin ms detallada de cada uno de estos elementos de la microcomputadora. 1.3.1 - Unidad de Memoria. En la memoria se almacenan los datos, los resultados y el programa de trabajo en el cual se basar la CPU para regir las actividades a realizar en el sistema. La memoria posee un conjunto de N posiciones numerados desde 0 hasta N-1, direccionables con n bits tal que 2n = N. Por ejemplo con n=16 bits, se direccionan 216 = 65536 posiciones. Si cada una de estas posiciones permite guardar un byte (palabra de 8 bits), podemos decir abreviadamente que con n=16 bits se direccionan 64 Kbytes de memoria siendo 1Kbyte=1024 bytes. La longitud de la palabra que se almacena en la memoria coincide con la longitud de la palabra que es capaz de manejar el bus de datos, puesto que la memoria recibe y entrega informacin a dicho bus mediante los procesos llamados lectura y escritura . Con ayuda de un esquema pasaremos a describir como se llevan a efecto estos procesos:
MEMR
0 1

MEMW

NN-1 MAR

. . . MDR

2 =N

AB DB CB

Cuando la CPU desea hacer una lectura en la memoria, coloca en el bus de direcciones (AB) la direccin de la memoria que se desea leer, y coloca un 1 en MEMR (memory read) del bus de control (CB) . La direccin se transfiere al registro de direcciones de memoria (MAR - memory adresss register) y desencadena el proceso de lectura como resultado del cual al cabo de cierto tiempo de acceso al contenido del registro direccionado, aparece en MDR (registro de datos de memoria - memory data register) y de ah pasa al bus de datos (DB - data bus). La escritura se realiza de forma similar solo que se coloca un 1 en MEMW (memory write) y en MDR entra el contenido de DB que pasa a escribirse en la memoria

En la figura siguiente se muestra un segmento cuyas direcciones estn numeradas desde la 83F2H (el est escrito en notacin hexadecimal) hasta la 83F9H: Dcion. CONTENIDO (Hex.) 83F2 0 0 1 1 1 83F3 0 1 0 0 0 83F4 1 1 1 1 1 83F5 1 1 0 1 0 83F6 0 1 1 1 1 83F7 0 0 1 0 0 83F8 0 1 0 0 0 83F9 1 1 1 0 1

de 8 localizaciones de memoria sufijo H significa que el nmero

1 0 1 1 0 0 0 0

1 0 0 0 1 1 0 1

0 1 0 1 0 0 0 1

(3E) (41) (FC) (D5) (7A) (22) (40) (E8)

Cada localizacin de memoria tiene su propio contenido. Por ejemplo, la localizacin con direccin 83F6H tiene como contenido 01111010, el cual expresado en hexadecimal corresponde a 7AH. Este contenido es el que se entrega al bus de datos en el caso de que sea direccionada esta localizacin y se diese la orden de lectura. Como se apunt anteriormente una secuencia de instrucciones que persiguen un propsito determinado constituye un programa. Este programa se almacena en la memoria para ser ejecutado. La CPU lee cada instruccin de dicha secuencia y la utiliza para iniciar acciones de trabajo. La memoria tambin se usa para almacenar los datos que son manipulados. La CPU puede rpidamente tener acceso a cualquier dato almacenado en la memoria. La capacidad de la memoria que se mide en octetos (bytes), est dada por el nmero de localizaciones de memoria existentes. En muchas ocasiones se expresa en kilooctetos (Kbyte) y en otras indicando el producto del nmero de las localizaciones por el nmero de bits de cada una de ellas. Por ejemplo, una capacidad de 4K x 8 bits indica que la memoria contiene 4096 localizaciones de 8 bits cada una. El tiempo de acceso se define como la demora en tiempo desde el instante que se fija una direccin de memoria hasta que se tiene acceso a la informacin almacenada (tiempo de lectura), o se completa la modificacin de la informacin almacenada (tiempo de escritura). El acceso aleatorio significa que el tiempo de acceso a una localizacin de memoria particular es independiente de su direccin. Por ltimo debemos recordar que las memorias en las computadoras se clasifican en general en dos grupos: memorias de acceso aleatorio (RAM) con las cuales se conforma la memoria operativa y memoria de solo lectura (ROM) que integran la memoria permanente (con sus variantes PROM, EPROM, EEPROM, etc.). 1.3.2- Interfaces, puertos o unidades de entrada-salida. Las interfaces de entrada y salida son toda una coleccin de hardware y de software que permite la comunicacin entre la CPU y los dispositivos de entrada y de salida y de hecho con el mundo exterior. La parte correspondiente al software en la interface es llamada protocolo, y formalmente especifica las convenciones que gobierna el formato y la forma de control de las entradas y salidas entre dos sistemas de comunicaciones. Se necesita de la existencia de una interface de entrada debido a que los dispositivos de entrada generalmente no son compatibles con la CPU y por tanto es

necesario convertir las seales elctricas de entrada en un tipo que sea aceptable a esta. Esto tambin se aplica aunque de forma invertida para el caso de los dispositivos de salida. Fsicamente las interfaces de entrada y salida son C.I. extremadamente verstiles en sus funciones los cuales pueden ajustarse mediante la variacin de sus software correspondientes. Las tareas ms simples son realizadas por los puertos de entrada y salida (PIO). Los PIO pueden ser incluidos como parte integrante del C.I. junto a la CPU o pueden aparecer de forma independiente. En este ltimo caso es un MSI chip (circuito integrado de escala de integracin media), que contiene un buffer de registro de direcciones multimodo con salida de tres estados. A travs de los puertos de entrada la microcomputadora puede recibir informacin de cualquier dispositivo externo, como por ejemplo, un teclado de caracteres alfanumricos, un disco magntico, o las seales provenientes de un proceso industrial o un instrumento mdico. A su vez la microcomputadora tambin requiere uno o ms puertos que permitan a la CPU comunicar el resultado de su actividad al mundo exterior. La salida puede ir a un visualizador de televisin, para ser usada por un operador o un impresor para producir una copia legible en papel, tambin puede estar constituida por seales para el control de procesos que dirijan las operaciones de otro sistema. Tanto los puertos de entrada como los de salida son direccionables, es decir; para trasmitir informacin hacia el puerto, o recibirla donde est, es necesario que la CPU enve previamente un nmero que lo identifica y que constituye a su vez la direccin del puerto. Dos tipos de entrada-salida se hallan en la computadora en una tarjeta: los puertos de entrada-salida en paralelo y los puertos de entrada-salida en serie. Los PIO paralelos permiten la entrada-salida de datos en forma paralela, es decir, todas las lneas del bus de datos entran o salen a la vez de la microcomputadora, lo que posibilita una transferencia de datos entre la CPU y cualquier equipo perifrico a alta velocidad. Los PIO en paralelo ms usados son los de tipo programable, es decir, que puede la misma pastilla ser usada como entrada o como salida de acuerdo con el programa de instrucciones que realice el usuario. Ejemplo : El circuito integrado 8255 constituye un PIO programable con E/S Paralelo Tiene 8 terminales de datos que se conectan al bus de datos y 24 terminales de salida que pueden agruparse en tres grupos de 8 bits, 4 grupos (2 de 8 bits y 2 de 4 bits).
Bus de Datos
8 D0-D7 A0 A1 Rd Wr Cs PA 8 PB

8255
PB

A1 x x 0 0 0 0 1 1 1

A0 x x 0 0 1 1 0 0 1

Rd x 1 1 0 1 0 1 0 1

Wr x 1 0 1 0 1 0 1 0

Cs 1 0 0 0 0 0 0 0 0

D0-D7 en 3er estado D0-D7 en 3er estado D0-D7 Puerto A D0-D7 Puerto A D0-D7 Puerto B D0-D7 Puerto B D0-D7 Puerto C D0-D7 Puerto C D0-D7 Palabra de Control

De acuerdo con la tabla que se muestra, puede conocerse la combinacin que se necesita aplicar a las entradas para producir el traspaso de la informacin en cualquier sentido entre el bus de datos y las salidas Pa, Pb y Pc. Los PIO serie se emplean cuando se requiere que la transferencia de datos entre los perifricos y la computadora, se realice en forma serie, es decir, bit a bit de cada octeto de dato. Por ejemplo, cuando se trasmiten datos entre dos computadoras a travs de una lnea telefnica, el formato que se utiliza es el de la transmisin en serie. Como la microcomputadora trabaja con los datos en paralelo, para trasmitir o recibir datos en serie es necesario un PIO que conecte datos de paralelo a serie y viceversa La gran ventaja de la transmisin en serie es que necesita solamente dos alambres para trasmitir todas las seales necesarias entre mdulos o sistemas. Por otra parte, la desventaja radica en que el intercambio de datos se realiza a menor velocidad que si fuera en paralelo.

Ej.: El circuito integrado 8251.

Bus de Datos

D0-D7
Rd Wr Clock

TxD RxD

Salida de Datos Serie Entrada de Datos Serie

8251

Cs

1.3.3- Unidad Central de Procesamiento (CPU). Es el corazn de la microcomputadora, siendo la encargada de unificar el sistema a la vez que controla las funciones realizadas por las otras unidades .

10

Esta unidad es capaz de buscar instrucciones en la memoria, decodificar su contenido y ejecutarlas. Es la encargada de comunicarse con la memoria y con los PID tantas veces como sea necesario durante la ejecucin de un programa. La CPU deber tambin reconocer y responder a ciertas seales de control externo, tales como solicitudes de interrupcin u otras a fines. Lleva en su interior la base de tiempo que genera los ritmos o impulsos de reloj de las diferentes partes del sistema . Todas las instrucciones tienen dos tiempos fundamentales, llamados busca (fetch) y ejecucin (execute). El tiempo de ejecucin empieza por un subtiempo de decodificacin de la instruccin y prosigue con la parte de ejecucin que puede tener varios subtiempos , dependiendo del tipo de instruccin. La suma del tiempo de busca y el de ejecucin, da lo que se conoce como ciclo de instruccin y el mismo depende no solo del tipo de instruccin sino tambin de las caractersticas de velocidad de la CPU. La CPU realiza tambin las operaciones aritmticas y lgicas, as como la transferencia entre acumulador, registros de trabajo, etc. Cuando la CPU se fabrica en un solo chip, a dicha estructura como sealamos anteriormente, se le da el nombre de microprocesador. Por la importancia que tienen estos dispositivos, en los epgrafes siguientes de este material se realizar un estudio ms detallado del mismo.

2-Microprocesadores.
Pocas reas de la electrnica han experimentado un progreso tan acelerado como el ocurrido en el caso de los microprocesadores, las microcomputadoras y sus circuitos asociados correspondientes. La complejidad de los circuitos integrados prcticamente se ha ido duplicando en cada ao a partir de los inicios de la dcada de los 60. Como consecuencia de este desarrollo, a finales de la dcada aparecieron los circuitos integrados de gran nivel de integracin (LSI) los cuales realizaban funciones de un alto grado de complejidad. Ejemplo de ello fue el desarrollo de unidades lgicoaritmticos (ALU) en un chip, que podan ejecutar muchas de las funciones de las microcomputadoras actuales como son la suma, la resta, rotacin y desplazamiento. Sin embargo, no fue hasta 1971 en que fue posible combinar esta unidad (ALU) con circuitos secuenciales tales como flip-flops, registros de desplazamientos y otros elementos, todo dentro de un chip, para dar lugar a un rudimentario microprocesador. La tcnica de los microprocesadores implica una unin indisoluble entre el HARDWARE y el SOFTWARE. No ser posible la construccin de un sistema completo si no se trabaja en ambos sentidos. Una microcomputadora est compuesta por un microprocesador, circuitos de entrada-salida y las memorias, todo ello unido a los equipos perifricos, estando ntimamente ligada la cantidad de estos elementos con las caractersticas de la aplicacin particular. El microprocesador es el puesto de mando donde se dirige el proceso de la computadora y en el que ocurre una buena parte de l. De este componente depende la velocidad del proceso, el sistema operativo que se correr e incluso una importante porcin del consumo energtico del equipo y del costo del sistema. Est constituido por un chip de silicio cuya rea aproximada en dependencia del modelo es de apenas 1.5 cm2 y en este reducido espacio se encuentran dispuestos varios millones de transistores que son los verdaderos actores de procesamiento lgico de la informacin. Desde el ms humilde Intel 4004 que en 1971 trabajaba a 0.2 MHz., hasta el impresionante Pentium 4 de Intel con 3 GHz., todos los MP en esencia hacen lo mismo:

11

reciben la informacin binaria y la procesan sobre la base de instrucciones predefinidas que generan una nueva informacin tambin binaria. El MP reacciona constantemente a las instrucciones, pero no puede hacerlo con todas a la vez, porque estas se atascaran. Ello se resuelve mediante una espera del procesador hasta que se aprueba la recepcin de la seal. El reloj del sistema determina el tiempo de espera. A espacios definidos de tiempo, el reloj enva impulsos elctricos que marcan al sistema el rango de estas esperas. Si una instruccin se halla en espera y el procesador no est ocupado con instrucciones previas, le da entrada y trabaja con ellas. El nmero de instrucciones que el MP puede procesar por cada una de estas pulsaciones de reloj (ciclos) depender del diseo o arquitectura del mismo. En sus inicios las CPU podan manejar una sola instruccin por ciclo, pero en la actualidad esa cifra se ha incrementado notablemente a partir de dos concepciones aplicadas a la construccin de esos sistemas: la canalizacin y la ejecucin superescalar. La canalizacin permite que el procesador lea una nueva instruccin de la memoria antes de terminar la fase de la instruccin en curso. Algunos de los modernos MP pueden trabajar simultneamente con varias instrucciones. La profundidad del canal ser la medida del flujo de datos que puede aceptar el sistema. Digamos por ejemplo que el 80486 tiene una profundidad de canal de 4, o sea, que hasta 4 instrucciones pueden encontrarse en distintas etapas de canalizacin, ya en el pentium esa cifra es de 5 y crece en el diseo de CPU con tecnologa MMX y otros equivalentes como el K6 y en superiores como el pentium II. La ejecucin superescalar significa que el sistema posee ms de un canal, lo que significa que puede procesar ms de un grupo de instrucciones a la vez. Si bien tcnicamente esto debera multiplicar el desempeo, en la prctica no es exactamente as, pues ocurre que un canal espera a que termine el otro. No obstante, en trminos prcticos optimiza el funcionamiento del procesador. En la historia de los MP han existido dos filosofas de diseo: la CISC y la RISC. CISC (Complex Instruction Set Computing), creada por IBM como un software sencillo almacenado en el chip y que contena las instrucciones para el procesador, permiti salvar el escollo que represent la complejidad sucesiva de las aplicaciones de software que en otras circunstancias habra llevado al cambio constante del hardware en funcin de los programas. Al ejecutarse, los programas CISC ocupaban menos espacio en memoria y esta ltima vala en los aos 60 y 70 ms que el oro. CISC se incluye en los procesadores Mainframe de IBM, los Motorola 680X0 y es emblemtico de los procesadores Intel, principalmente de los X86 y todava se utiliza en los pentium actuales. En el diseo RISC (Reduced Instruction-Set Computing), existen menos instrucciones, cada una tiene una longitud de 32 bits y se ejecuta en un solo ciclo de reloj. Con esta arquitectura, los procesadores incorporan una cach de memoria de alta velocidad en la que se almacenan la secuencia de instrucciones a ejecutar. El uso eficaz de tales datos depende en gran medida de la canalizacin, que en esta arquitectura adquiere un protagonismo indiscutible. Bajo esta concepcin se desarrollaron algunas de las CPU ms poderosas en la actualidad tales como los Power PC de Macintosh, incluido el clebre 750, ms conocido como G3, los alpha de las estaciones Silicon Graphics y los SPARC de Sun Microsystem. Incluso hasta unidades tan sencillas como las mquinas de juego Nintendo, poseen en su interior uno de estos dispositivos. Por sus innumerables aplicaciones los microprocesadores han invadido los ms diversos campos de la ciencia y la tcnica, abarcando desde complejos sistemas de control o de computo hasta sencillos equipos electrodomsticos o de juguetera,

12

incluyendo sistemas de comunicacin de datos, diagnstico mdico, control numrico de mquinas herramientas y otros. Dentro de las ventajas de los sistemas con los microprocesadores podemos sealar las siguientes: a-) Pueden realizar muchas operaciones por software, en lugar de usar componentes electrnicos. b-) Reduccin del tamao, no slo del microprocesador, sino del resto de los circuitos que lo complementan. c-) Aumento de la fiabilidad, ya que disminuye el nmero de componentes. d-) Flexibilidad en el diseo. e-) Disminucin de los costos tanto en diseo, como de la produccin y reparaciones. En cuanto a las desventajas mencionaremos: a-) El aprendizaje del software, pues cada microprocesador posee un juego de instrucciones a las cuales responde. b-) Los mtodos difciles de prueba que deben hacerse a la velocidad de trabajo del microprocesador. 2.1) Estructura tpica de un microprocesador de 8 bits. ( ver esquema anexo). An el microprocesador ms simple presenta una estructura compleja, pues en ella se encuentran un gran nmero de nudos y unidades tales como sumadores, decodificadores, registros de todo tipo, flip-flops, esquemas lgicos, etc. Por otra parte, la rapidez, potencia y complejidad de estos dispositivos se perfeccionan ms cada da, por lo cual no es posible en un material de este tipo efectuar un estudio profundo de este aspecto, adems de irse fuera de los objetivos que no hemos trazado con su escritura. Es por ello que para brindar una idea general de la estructura y lograr una comprensin ms simple, analizaremos como se conforman los MP de 8 bits y para ello consideraremos la existencia de dos bloques funcionales dentro del microprocesador, a los cuales denominaremos como bloque, subsistema o unidad de procesamiento, y bloque, subsistema o unidad de control. 2.2) Bloque de Procesamiento. El ncleo fundamental del bloque de procesamiento lo constituye la unidad aritmtica y lgica (ALU), la cual est conformada por un circuito combinacional capaz de realizar las operaciones aritmticas (suma y resta) y lgicas ( and, or, not, etc) indicadas en el cdigo de la operacin. Para poder realizar su funcin la ALU cuenta con la ayuda de varios registros. La ALU puede operar con los datos provenientes de uno o a lo sumo dos de los registros a la misma vez. Uno de estos registros es ms verstil que los restantes y recibe el nombre de acumulador, mientras que los otros registros se denominan de propsito general. Estos registros se utilizan para: -almacenamiento temporal de datos y direcciones -su contenido se puede transferir entre ellos y con la memoria -sumar su contenido con el que existe en el acumulador -comparar su contenido con el que existe en el acumulador -incrementar o decrementar su contenido, etc.

13

El acumulador adems de las funciones antes mencionadas podr: -rotar su contenido -complementar su contenido -aceptar o enviar datos a los PIO -realizar operaciones aritmticas y lgicas con el contenido de cualquiera de los registros de propsito general -en general el acumulador siempre es el origen de uno de los operandos y el destino del resultado. Los dispositivos encargados de transferir el contenido del registro seleccionado hacia la entrada de la ALU son los llamados multiplexores. Igualmente otros multiplexores sern los que muevan la informacin desde la salida de la ALU hacia un registro de destino, donde se mantiene la informacin hasta que sea requerida por algn circuito externo. Todas estas operaciones son controladas por un circuito secuencial el cual se acopla a todos los registros y multiplexores. Por ejemplo, para un microprocesador de 8 bits, el acumulador y los multiplexores son dispositivos capaces de manejar una longitud de palabra de 8 bits, aunque en el caso de los registros de propsitos generales pueden en ocasiones utilizarse por parejas y conformar una estructura de 16 bits. 2.2.1) Registro de Indicadores. Existe aqu adems un registro sumamente importante denominado registro de indicadores o banderas, el cual trabaja muy vinculado a la ALU, ya que le va indicando a sta el estado de las operaciones aritmticas o de rotacin que va realizando. Por ejemplo en el MP 8080 el registro de indicadores posee 8 bits, pero slo 5 de ellos son significativos de acuerdo a la estructura que se muestra a continuacin:

SIGNO S D7 Z D6
CERO

ACARREO X D5 A C D4 X D3

PARIDAD P D2 X D1

ACARREO C D0

DO (ACARREO)-Se activa en 1 cuando al realizar una operacin aritmtica el resultado no cabe en el acumulador. Ejemplo: Binario Decimal 11011001 207 +10010001 145 Acarreo 101101010 452

Al realizar una operacin de dos bytes se obtuvo como resultado un nmero de 9 bits, hacindose necesario entonces un 1 en el indicador de acarreo. D2 (PARIDAD) - Si al efectuar una operacin, el nmero de bits presente con el estado lgico 1 es par (2, 4, 6 u 8), se fija un 0 lgico en el bit de paridad. De la misma forma

14

si el nmero de 1 lgicos en el acumulador es impar (1, 3, 5 7), se fija un 1 lgico en dicho bit de paridad. Ejemplo: Si en el acumulador hay 11001100 entonces D2 es cero, pero si el contenido del acumulador es 10101000 entonces D2 es 1. D6 (INDICADOR DE CERO). - Se activa con 1 lgico cuando el resultado de la operacin en el acumulador da 00000000, y presenta un 0 lgico en caso contrario. D7 (INDICADOR DE SIGNO). Si est en 1 lgico indica que el contenido del acumulador es negativo y el 0 lgico indica que es positivo. D4 (ACARREO AUXILIAR).- El programador no tiene acceso a l. Se utiliza para convertir un nmero de binario a BCD. En otros microprocesadores pueden emplearse otros tipos de indicadores. Algunos de ellos los relacionamos a continuacin: E - se activa con la existencia de dos palabras de entrada iguales. GT-indica una palabra de entrada mayor que la existente en la otra entrada. GE- indica una palabra de entrada mayor o igual que la existente en la otra entrada. LT- indica una palabra de entrada menor que la existente en la otra entrada. LE - indica una palabra de entrada menor o igual que la existente en la otra entrada. 2.3) Bloque de Control. El bloque o unidad de control constituye el cerebro rector de todas las actividades dentro del microprocesador. Entre sus funciones fundamentales se encuentra el decodificar (interpretar) los cdigos de operacin de las instrucciones del programa, y el generar las seales que viajan por el bus de control, las cuales deben estar sincronizadas para su correcta manipulacin por el resto de las unidades. Dentro de las secciones que constituyen esta unidad se encuentra el registro de instrucciones, el decodificador de instrucciones y el contador de programa. Un contador de programa tpico para un microprocesador de 8 bits, almacena una palabra de 16 bits. El contenido de este contador se corresponde con la localizacin de memoria externa donde se encuentra la instruccin que se ejecuta por el microprocesador; o lo que es lo mismo, la direccin de la memoria que se encuentra activada. Este contador se incrementa automticamente en una unidad durante cada ciclo de mquina. Cuando se inicia el proceso de ejecucin de un programa, un circuito externo fija el contenido del contador de programa el cual ser la direccin especfica de la memoria en la cual se encuentra almacenada la primera instruccin del programa. Esta instruccin se lee en la memoria, y mediante el bus de datos se traslada al registro de instrucciones. El registro de instrucciones es el encargado de almacenar temporalmente la instruccin extrada de la memoria para que el decodificador de instrucciones determine cul es la operacin que se debe hacer. De acuerdo con ello este decodificador producir las seales necesarias para encaminar los datos en un sentido o el otro, indicar que operacin deber hacer la ALU y si hay que producir algn cambio en el contador de

15

programa, a la vez que emitir las seales para entrelazar todos los diversos registros del microprocesador que son necesarios para la ejecucin del una instruccin en particular. La unidad de control cuenta adems con una seccin de tiempo o sincronizacin que realiza una funcin muy importante, pues el MP como ya hemos sealado a partir de la salida del decodificador de instrucciones tiene que especificar los ciclos apropiados de mquina que son necesarios para la ejecucin correcta de dicha instruccin. Todo esto es posible lograrlo mediante la generacin de la seal de control y de tiempo internas apropiadas y su envo a los diferentes elementos y componentes dentro y fuera de MP. Para sincronizar todo este proceso los MP disponen de un generador interno de pulsos llamados pulsos de reloj, cuya frecuencia se controla exteriormente mediante una red RC o modernamente mediante un CRISTAL conectado a sus terminales . En el microprocesador se encuentran tambin presentes algunos registros adicionales que se utilizan para el almacenamiento temporal de datos. Por ejemplo, usualmente se coloca un registro entre el contador de programa y la memoria, que se denomina registro de direcciones de memoria (MAR); y entre la memoria y el registro de instrucciones en ocasiones se emplea un registro denominado registro de datos de memoria (MDR). Cada instruccin programada por un usuario requiere de la realizacin de un determinado nmero de operaciones internas denominadas microinstrucciones, y de aqu surge la necesidad de almacenar un cierto nmero de resultados intermedios. El conjunto particular de microinstrucciones de un microprocesador se almacena en una ROM llamada ROM de control o microROM, la cual generalmente se encuentra dentro del propio C.I. del microprocesador.

2.4) Temporizacin y Sincronizacin. En cada microprocesador, el tiempo de duracin de los eventos, o sea, la velocidad a la cual se procesa, est determinado por los pulsos de reloj. Estos pulsos difieren de un MP a otro, utilizndose en algunos de los casos un slo tren de pulsos, mientras que en otros se emplean dos. En el ejemplo representado en la figura se emplean dos trenes o grupos de sucesin de pulsos Q1 y Q2, suministrando por un generador de reloj, llamado comnmente slo como reloj.

Perodo de reloj

Cada tren de pulsos est compuesto de pulsos cuadrados idnticos en amplitud, duracin y frecuencia de repeticin, pero la fase Q1 est desplazada de la fase Q2 por medio perodo, o sea, la salida de Q2 est demorada T/2 en relacin con la salida de Q1. El cambio de un estado a otro del MP se produce en sincronizacin con estos pulsos de reloj. La secuencia de estados a travs de los cules se desplaza el control

16

durante el procesamiento de una instruccin, es a lo que se le denomina ciclo de instruccin. La sucesin de estados (generalmente entre 3 y 5) en los cuales se efecta una comunicacin con la memoria y se procesa el dato por este comunicado, constituye lo que se conoce con el nombre de ciclo de mquina. En general un ciclo de instruccin est compuesto de uno o varios ciclos de mquina en dependencia de su complejidad. 2.5) Instrucciones que alteran el contador de programa . Existen instrucciones que conllevan a una alteracin del contenido del contador de programas. Dentro de ellas se encuentran la realizacin de las siguientes operaciones: a) salto incondicional (JMP) b) salto condicional (JNZ , JP) c) salto a subrutinas (CALL , CNC , CC) d) instrucciones de retorno (RET , RPU , RM) e) instrucciones de carga (PCHL) d) interrupcin. Siempre que se realice un salto a subrutina debe, despus de haberla ejecutado, aparecer una instruccin de retorno, y el contador de programa debe retornar a su valor original desde donde salt para continuar la ejecucin del programa. Para garantizar esto se crea una zona en memoria (RAM) llamada STACK (pila), llamada as por la estructura que tiene de almacenar los datos en forma de pila, donde el ltimo dato que entra es el primero que sale (LIFO - last in first out). Cuando se realiza un salto a subrutina, el contenido del contador de programa (PC) se guarda en la pila; si dentro de esa subrutina salta a otra, se vuelve a guardar en la pila el contenido que tenia el contador de programa y as sucesivamente; esto permite que al ir terminando la ejecucin de cada subrutina se vaya retornando hacia el programa principal con slo llevar con cada instruccin de retorno el ltimo dato que entr a la pila al PC. Pero existe un detalle muy importante. Es necesario saber en que localizacin de memoria se encuentra el ltimo dato que queda en la pila. Es por ello que existe el puntero del stack.

17

2.5.1)Puntero del STACK (SP). Es un registro de 16 bits que se encuentra dentro del MP, encargado de indicar la prxima localizacin posible de memoria a ser ocupada dentro del stack. Este registro se carga inicialmente con el cdigo que representa la primera capacidad de memoria vaca que ser utilizada como pila y se ir decrementando en una unidad cada vez que se introduzca un dato de 8 bits. Por cada dato extrado se produce un incremento. Veamos cmo trabaja el puntero del stack mediante un esquema:
PROGRAMA PRINCIPAL
SP DR1

PILA

SUBRUTINA A
SP

PILA

SUBRUTINA B

DR2 DR1

1
DR1 DR2

4
PILA PILA

SP SP DR1

Si la salida del programa en lugar de ser por un salto a subrutina es por una interrupcin, adems de la direccin en que se estaba, en la pila se guardan los datos necesarios para poder continuar la ejecucin del programa. 2.5.2) Interrupciones. Formalmente el tratamiento de interrupciones es bastante semejante al de salto a subrutina, pues en realidad es un salto a subrutina. Sin embargo, este es un nuevo mecanismo con una funcin diferente y, por cierto, muy utilizado en las aplicaciones con microprocesadores. En principio cuando un procesador ejecuta un programa no existe forma de alterar la frecuencia predeterminada (y que incluye, claro est, saltos y subrutinas). En estas condiciones la CPU slo se entera de acontecimientos externos (por ejemplo llegada de datos o peticin de resultados por parte de algn perifrico), si se realiza por iniciativa del programa una verificacin de dichos posibles acontecimientos. Ello obligara al programador a incluir peridicamente subrutinas de comprobacin de perifricos y llevar en todo momento control de los tiempos de ejecucin. Las interrupciones son solicitudes de servicio que llegan por lneas especiales (en un mecanismo de hardware), y que pueden recabar la atencin de la CPU en

18

cualquier momento. Despus ser cuestin del procesador el decidir si dicho servicio es prioritario o no sobre lo que estaba haciendo, y romper la secuencia en curso. Como ya se ha dicho, formalmente una interrupcin es muy parecida a un salto a subrutina, pero la llamada no se realiza por una instruccin especial sino activando asncronamente una lnea especial (puede haber varias). La CPU termina la instruccin en curso y despus o sale hacia donde debe saltar o lo pregunta. Los detalles deben ser estudiados en relacin a cada mquina en concreto. Existe sin embargo una diferencia muy importante entre el salto a subrutina dentro de un programa y el salto a la subrutina de atencin a una interrupcin. Cuando el procesador la recibe, est ejecutando una tarea que en cada momento est representada por un conjunto de informaciones de las cuales depende la evolucin posterior de su trabajo, y que deben de ser preservadas si la tarea que est realizando ahora, ms adelante ha de reemprenderse en el mismo punto en que se abandon para atender la interrupcin. Estas informaciones pueden ser resultados parciales o datos en memoria, datos presentados por el medio exterior, etc. que en principio no se pierden ni se alteran por el cambio de tarea pero tambin se necesita guardar todo el estado de la CPU, es decir, el contenido de sus registros, pues estos van a sufrir alteraciones. Por tanto en el salto a interrupcin no basta con guardar el contenido de PC (direccin de retorno) sino que es necesario guardar en principio los contenidos del acumulador, registro de estado, registros generales de trabajo, etc. Para ello se utiliza tambin el stack. Segn el microprocesador que se trate, la salvaguarda del estado se realiza automticamente al aceptar la interrupcin, o bien el mismo programador lo incluye como primeras instrucciones en la subrutina del servicio. De la misma forma la recuperacin de estos datos puede ser automtica con la instruccin RTI (retorno desde interrupcin), o bien por instrucciones especiales antes de RET. Las instrucciones especiales son PUSH, guardar un dato en el STACK (al mismo tiempo que se decrementa el SP), o POP, recuperar un dato del STACK (incrementando previamente SP). Las operaciones de entrada-salida controladas por interrupcin se deben utilizar cuando el tiempo de respuesta a la solicitud de atencin por parte de un perifrico ha de ser lo ms rpido posible. La secue ncia de operaciones es la siguiente: - el perifrico solicita seal de servicio a travs de una seal que activa una de sus lneas de interrupcin - la CPU completa la ejecucin de la instruccin en curso, guarda el contenido del contador de programa (para asegurar la direccin de retorno) y salta a ejecutar la subrutina de interrupcin, emitiendo una seal de reconocimiento a esta interrupcin - la subrutina de interrupcin deber, a veces, determinar el circuito que ha solicitado servicio, y en consecuencia, la direccin del programa que realmente se debe ejecutar. Tambin deber guardar el contenido de los registros de trabajo, en el caso que no se haga en forma automtica - se ejecuta el programa de atencin al perifrico - el contenido del contador de programa de los registros es restaurado y la ejecucin del programa que se haba interrumpido se reanuda.

19

2.6) Acceso directo a memoria. El acceso directo a memoria es un procedimiento hardware que permite la transferencia de datos entre un perifrico y memoria, solo limitado por la velocidad de acceso a memoria y sin intervencin de la CPU. Este procedimiento se utiliza en la transferencia de datos y tiene que ser muy rpido, por lo que no puede ser controlado por el microprocesador. Tal es el caso de los visualizadores con tubos de rayos catdicos, los cuales las velocidades de transferencia de datos que requieren son tan altas, que no las permite ningn tipo de PIO bajo el control directo del microprocesador y su programa asociado. La secuencia de operaciones que se utiliza es la siguiente: - el perifrico provoca una interrupcin en un circuito especial denominado controlador de DMA. - el controlador solicita la suspensin de la ejecucin de trabajo al CPU mediante la seal de HOLD - la CPU completa la instruccin que est ejecutando en el momento de recibir la seal HOLD y entonces pone en tri-state (tercer estado) sus buses, y enva una seal de reconocimiento al controlador (HLDA) - el controlador utiliza los buses para iniciar la transferencia, llevando el control de la direccin de arranque y el nmero de bytes a trasmitir - terminada la transferencia, el controlador desactiva la seal de HOLD, permitiendo a la CPU reanudar su tarea. Existen circuitos integrados controladores de DMA que pueden gestionar varios canales de acceso a memoria. Algunos microprocesadores (8080, Z80, etc.) tienen independizado el acceso a la memoria y a las PIO mediante instrucciones diferentes (MOV A,M ; IN XX ; etc. ), esto implica la existencia de seales de control especializadas para cada tipo de acceso, de tal forma que se pueden diferenciar claramente los direccionamientos de memoria y de PIO. Por el contrario, existen otros (6800, etc.) que no tienen esta diferenciacin y las PIO ocupan posiciones reales en el direccionamiento de memoria y son tratados como tales con el mismo tipo de instrucciones. El primer procedimiento tiene la ventaja fundamental de independizar los procesos de memoria y I/O y tiene el inconveniente de la falta de flexibilidad en el tratamiento de la informacin, ya que todos los intercambios se realizan a travs del acumulador; el segundo procedimiento tiene las ventajas de flexibilidad que se derivan de considerar los PIO como verdaderas posiciones de memoria en funciones de entrada-salida. Los circuitos de I/O operan normalmente de una forma asncrona respecto al modo de operacin del microcomputador, y resulta necesario sincronizar la ejecucin del programa con la operacin de los circuitos I/O. El mtodo adoptado depende del tiempo mximo de retraso que se permite en la atencin a los acontecimientos que reflejan las I/O y de la posibilidad de intercalar las actividades de proceso con la de adquisicin y emisin de datos. Las transferencias de datos de I/O se pueden organizar de las siguientes formas: 1) Operaciones de I/O por acceso directo a memoria (DMA). 2) Operaciones de I/O controladas por interrupcin.

20

3) Operaciones de I/O controladas por programas. Los dos primeros casos ya han sido explicados con anterioridad. En el tercer caso es el microprocesador a instancias del programa el que inicia y controla todos los tipos de transferencia de datos, o sea, la CPU solicita informacin de entrada o enva informacin a la salida, posicionando las seales correspondientes de direccionamiento y de control. Tiene como ventajas la facilidad de implementacin de hardware y software y la facilidad de intercambio, siendo su principal inconveniente su falta de validez para control de procesos en tiempo real.

2.7) Operacin paso a paso de un Microprocesador. Aunque a primera vista el tratamiento de un MP como un elemento de circuito pudiera aparecer como una tarea muy compleja, cuando se mira como un dispositivo que pasa por mltiples estados, se simplifica notablemente y su operacin paso a paso puede describirse en trminos ms simples, como ilustramos a continuacin mediante un ejemplo . Veamos cul es la actividad que se requiere realizar para imprimir un carcter el cual ha sido previamente cargado en el acumulador. Asumimos que el perifrico a considerar es una impresora: El software que necesitamos est almacenado en la memoria y consta de tres palabras de 8 bits (3 bytes) que contienen el cdigo de la operacin a imprimir seguido de dos bytes que definen la direccin de la impresora . Para imprimir el carcter, el MP transita por los nueve estados que se muestran en la figura:
M1-T1

M2-T1

M3-T1

M4-T1

M1-T2

M2-T2

M3-T2

M4-T2

M1-T3

Si nosotros asumimos por conveniencia que la frecuencia impuesta por el reloj es de 1 MHz, nuestro circuito cambiar sus estados cada vez que transcurra 1 microsegundo. La accin que se realiza en cada estado se explica a continuacin: Estado M1-T1. El contador de programa se conecta al bus de direcciones y coloca en ste la direccin de memoria en la cual est almacenado el primer byte. Simultneamente un pulso de lectura es generado por la unidad de tiempo y control y enviado por el bus de control a la memoria, causando que el primer byte, o sea, el cdigo de operacin, pueda ser ledo de la memoria.

21

Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo en responder. Esto significa que cuando nuestro circuito entra en este estado, el primer byte ya se encuentra en los terminales de salida de la memoria. Es por ello que en este estado el registro de instrucciones (RI) se conecta al bus de datos, producindose el enlace directo entre la memoria y este RI, el cual recibir la seal de control que le indica que debe almacenar la informacin existente en la memoria y que se le enva a travs del bus de datos. Note que el bus de direcciones no est siendo usado en este estado. Estado M1-T3. En este estado el cdigo de operacin se decodifica. La salida del decodificador posibilitar la secuencia correcta de estados y las seales que debe generar la unidad de control para que la instruccin sea correctamente ejecutada. En nuestro caso ello implica transitar por los estados M2-T1 , M2-T2 , M3-T1 , M3-T2 , M4-T1 y M4-T2. En este estado ni el bus de control ni el de datos han sido utilizados. Estado M2-T1. La accin realizada en este estado es idntica a la del estado M1-T1, con la excepcin que el PC ha sido incrementado. Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante un pulso correspondiente de control este graba el segundo byte en el lugar correspondiente (este es un registro de 16 bits). Estado M3-T1. La accin es semejante a los estados M1-T1 y M2-T2, con la excepcin que el PC tiene la direccin del tercer byte. Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente byte componente de la direccin, generndose por la unidad de control las seales apropiadas para grabar este byte en el lugar correspondiente del registro de direcciones. En el transcurso de esta secuencia de estados desde M1-T1 hasta M3-T2 hemos realizado el ciclo de bsqueda de la instruccin. En este punto dentro del MP se posee la informacin del cdigo que define la operacin, y la direccin de la impresora. Estado M4-T1. El registro de direcciones se conecta al AB por lo que la informacin que ste posee puede ser decodificada, generndose as la seal que permite identificar a que perifrico se quiere acceder (en nuestro caso la impresora). Estado M4-T2. En este estado el acumulador se conecta al DB, y a travs de ste y los interfaces correspondientes se enva la informacin a la impresora. Al mismo tiempo, el interface monitorea las seales de estado del MP en el bus de control, las cuales son usadas para generar las seales de control necesarias para activar la impresora y permitir as que el carcter en el acumulador se imprima. Para concretar ideas vamos a describir la ejecucin de un corto programa referido a un microprocesador de 8 bits (m=8) y direcciones de 16 bits (n=16) que utiliza las instrucciones LDA (load acumulator, carga del acumulador con el contenido de un registro de memoria ), ADD ( add acumulator, suma al acumulador el contenido de un registro de memoria ) , y STA (store acumulator, guardar el contenido del acumulador en un registro de memoria ). El programa lee un dato de memoria en la direccin 006AH y lo guarda en el acumulador. Le suma el dato de al direccin 006BH y guarda el resultado en 0080H .

22

El contenido de la memoria que nos afecta es el siguiente : DIRECCIN C000 C001 C002 C003 C004 C005 C006 C007 C008 CONTENIDO B6(LDA) 00 6A BB(ADD) 00 6B B7(STA) 00 80 DIRECCIN 006A ------006B ------0080 ------CONTENIDO 02 --05 --? ---

En la zona C000H a C008H est contenido el programa, mientras que en 006AH y 006BH estn los datos que vamos a manejar. La secuencia de operaciones para la primera instruccin es: - El contador de programa PC coloca su contenido (C000H) en el bus de direcciones AB y de ah se toma por el registro de direcciones de memoria MAR. A partir de ah se desencadena una operacin de lectura en memoria a consecuencia de la cual, el contenido de la direccin apuntada por PC (que es B6H) aparece en el registro de datos de memoria MDR. De ste es transferido al registro de instrucciones IR y simultneamente, el PC se incrementa en 1. - La decodificacin de B6H indica que se trata de una instruccin de carga en el acumulador del contenido de la direccin indicada (contenida) en los bytes siguientes C001H y C002H. Para ello PC se incrementa dos veces y se producen dos nuevas lecturas, siendo 00 el resultado de la primera y 6A de la segunda, y esta informacin se carga en un registro temporal de direcciones TAR. La fase de bsqueda de la instruccin ha terminado. - El contenido de TAR es enviado a MAR y se procede a una nueva lectura. El registro MDR coloca 02 en el bus de datos DB y de ah pasa al acumulador. La primera instruccin ha sido ejecutada. - Para la segunda instruccin las tres primeras fases de bsqueda son idnticas y al final de ellas IR contiene BB y TAR 006B. En la fase de ejecucin, el contenido de TAR es enviado a MAR y se procede a una nueva lectura. El MDR coloca 05 en DB y de ah este contenido pasa a uno de los registros de utilizacin general RUG. La ALU procede a sumar el contenido de este RUG con el contenido del acumulador ( 05+02=07 ) y el resultado se guarda en el propio acumulador. En PC se encuentra el contenido C006H. - Para la tercera instruccin tambin las tres primeras fases (bsqueda) son iguales quedando IR con B7 y TAR con 0080: En la fase de ejecucin el contenido de TAR se enva a MAR, mientras que el contenido del acumulador se lleva a MDR. Al final, en la posicin 0080 queda escrito el resultado de 07 que es la suma de los datos almacenados en 006AH y 006BH. El programa analizado escrito en lenguaje nemotcnico sera: LDA 006AH ADD 006BH STA 0080H Observamos que en el programa analizado no se produce la ruptura de secuencia para la toma de decisiones, ni se ha hecho uso de subrutinas ni del mecanismo de interrupciones. El estudiante interesado en profundizar en el tema de programacin de

23

microprocesadores deber consultar los textos de referencia que aparecen al final del presente material. 2.8-) Campo de aplicacin de los microprocesadores Como ya se ha dicho un MP es bsicamente una CPU de ordenador, integrada con tecnologa LSI. Visto de esta forma no representa ms que un avance tecnolgico en el campo de los ordenadores, pero en realidad conlleva unas consecuencias revolucionarias, ya que representa una democratizacin de la informtica y una generalizacin de su uso que se manifiesta por ejemplo, en la aparicin de los ordenadores personales. Los efectos que se producen se aprecian clarsimamente en los campos de la automtica, las comunicaciones y la instrumentacin. Los Microprocesadores en efecto constituyen un pequeo mundo aparte. Su uso es diferente al de una microcomputadora, que en la gama de las mquinas de propsito general, sera la ms prxima a ellos. En efecto la microcomputadora aparece generalmente como un sistema cerrado en el cual el usuario no interviene ms que con mucho para conectarle algn perifrico extra o dotarle de un software especfico para su aplicacin. En cambio el diseador de aplicaciones con microprocesador desciende hasta un nivel ms profundo para construir un sistema a la medida, sin llegar sin embargo a convertirse en arquitecto de sistemas. El MP realiza una aplicacin especfica y fija de por vida, el hardware y el software son los estrictamente necesarios a la aplicacin y en particular no suele disponer de software ni terminales de interaccin, lo cual plantea problemas especficos de mantenimiento. Las aplicaciones de los MP son fundamentalmente de control y de gestin sencilla. Una vez realizado el diseo, el programa queda fijo, es decir, en general no se espera reprogramar, aunque posiblemente s realizar de tarde en tarde nuevas versiones del modelo, para lo cual interesa prever la expansin. Por lo general el programa de la aplicacin va directamente albergado en memoria ROM, y una reduccin del programa se traduce en reduccin del nmero de pastillas de CI y por ende en una reduccin del costo total. La consecuencia de esto es que la programacin se cuida, en el sentido de acortarla, y, por ello, la programacin en el ensamblador o incluso en el lenguaje de mquina se ha mantenido. Una de las reas mayores de aplicacin de los sistemas con MP es la concerniente a la sustitucin de los circuitos electrnicos cableados en general a base de elementos de tecnologa TTL. A partir de cierto grado de complejidad es interesante implementar el circuito a base de un sistema con MP. A la hora de la sustitucin, hay que tener en cuenta algunas caractersticas, tales como la menor velocidad que suele acompaar al sistema con MP, al tener que ejecutar de forma secuencial las instrucciones del programa para obtener las salidas apropiadas, mientras que en los circuitos cableados, las entradas slo tienen que atravesar los elementos operativos para originar las salidas. Si el sistema con MP supera la limitacin de tiempo expuesta, por lo general en el resto de las consideraciones, supera al circuito cableado. Se destacan algunas de sus ventajas: 1-Menor tiempo requerido para el diseo y las pruebas del prototipo. 2-Posibilidad de emplear tarjetas estndar que conforman la mayor parte del sistema. En este caso se reduce en gran manera los costos de montaje y verificacin. 3-Para cantidades muy importantes y bajo pedido directo al fabricante, existe la posibilidad de integrar en un solo chip la mayor parte del sistema. Esta alternativa reduce los costos de montaje, verificacin y material, mejorando los aspectos relacionados con la reduccin del volumen, aumento de fiabilidad y mayor

24

competitividad. En estos casos ha de tenerse en cuenta que los fabricantes pueden producir bajo demanda, chips especficos para una determinada aplicacin. 4-Posibilidad de introducir en el futuro cambios en el programa de trabajo del sistema (basta cambiar el programa de la memoria), as como ampliarle si es necesario. 5-Reduccin de costos en mano de obra y verificacin. 6-Importante aumento de la fiabilidad debido a la reduccin de componentes en los sistemas con MP. 7-Reduccin importante del volumen y del gasto de energa consumida. 8-Fcil introduccin de programas de auto chequeo que facilitan la reparacin y el mantenimiento del equipo. 9-Capacitacin del personal en general de la empresa, que le permite desarrollar en el futuro nuevos y ms avanzados productos que a veces sern permisibles a corto plazo. 10-Mejora de la imagen del producto y de la empresa que lo fabrica. Una clasificacin general de carcter bsico que delimita algunos de los campos industriales de ms inters y desarrollo de los sistemas basados en MP es la siguiente: 1-Industria en general. 2-Industria elctrica y de electrodomsticos. 3-Instrumentacin y medidas. 4-Terminales inteligentes. 5-Juegos y derivados. Los MP hoy en da cada vez ms extienden su campo de aplicacin y encuentran cada vez ms un sin nmero de tareas que le son asignadas. De aqu que podamos ver a manera de ejemplo su amplio empleo en la instrumentacin. Podemos preguntarnos qu nos da el uso de los MP en los instrumentos? cun eficiente resultan los sistemas de medicin basados en los MP ? La respuesta a estas preguntas est dada por el hecho real que los MP estn revolucionando la instrumentacin electrnica, lo cual es verdad aunque suene un poco fantstico. El uso de los MP en la instrumentacin ha mejorado notablemente la precisin que se alcanza, ha expandido sus capacidades, ha incrementado su confiabilidad y ha posibilitado la realizacin de tareas que anteriormente por su complejidad o duracin prcticamente eran consideradas irrealizables. Debido a la presencia del MP, han podido construirse instrumentos cada vez ms verstiles y se han desarrollado procedimientos para la medicin que resultan cada vez ms simples, en los cuales el ajuste, la calibracin y la propia lectura, se realizan de forma automtica. Todo ello posibilita una mejora sustancial del comportamiento del instrumento y de sus caractersticas metrolgicas. El MP posibilita tambin el empleo de procedimientos de cmputo ms eficiente, con un anlisis estadsticos de los resultados y su posible linealizacin. En muchos instrumentos ha aparecido la posibilidad de programacin, y lo que an es ms importante han llegado a ser inteligentes. La multifuncionalidad ha sido una consecuencia de la flexibilidad en la utilizacin de programas, pero paralelamente con esto, se ha logrado una reduccin en el consumo de energa lo cual ha permitido el diseo de instrumentos cada vez ms sencillos de operar por lo que el usuario puede lograra un gran ahorro de tiempo.

25

En el esquema que a continuacin mostramos est representado el diagrama de bloques simplificado de un voltmetro digital con el empleo de MP.
Seal de Entrada Dispositivo Acomodador de seal

CAD

Sistema Microprocesador

de Salida

El bloque acomodador de seal contiene principalmente un atenuador y un amplificador, aunque algunos instrumentos tambin presentan un circuito para rectificar la seal de corriente alterna. El conversor anlogo digital CAD es imprescindible para cualquier voltmetro digital, incluyendo el que est basado en MP. Comnmente el CAD que se emplea en los sistemas de medicin viene totalmente en pastillas de circuito integrado de alta integracin (LSI). El MP organiza el procedimiento de medicin, controla la operacin de los restantes bloques y ejecuta las operaciones aritmticas y lgicas con los datos procedentes del CAD. El programa bajo el cual el MP opera, es preparado por el fabricante y almacenado en ROM, permaneciendo inalterable an bajo el caso de una falta de energa. La ROM almacena tambin algunas constantes usadas en varias subrutinas y los nmeros requeridos para la calibracin automtica. La RAM se utiliza para guardar los datos obtenidos y temporalmente los resultados intermedios. El dispositivo de salida sirve para mostrar los datos de la medicin en forma numrica, o sea, como un conjunto de dgito. El multmetro digital con MP es un instrumento multifuncional programable. Los programas y subrutinas que utiliza, determinan las funciones que este puede realizar. Los modelos ofertados por los fabricantes difieren unos de otros, pero en general tienen en comn lo siguiente: - multiplicar un nmero por un factor de escala. - sustraer un valor constante a la lectura. - determinar la fraccin de error en el resultado. - medir relaciones y presentar el resultado en tanto por uno o en decibeles. - procesar los datos estadsticamente. - calcular los valores estadsticos de los resultados (media, varianza, valor eficaz, etc.). En general podemos plantear que en la poca actual los MP se aplican prcticamente en todas las ramas de la ciencia y la tcnica, y con su ayuda es posible el diseo de fbricas totalmente automatizadas que son capaces de trabajar de forma ininterrumpida, con elevada productividad del trabajo y eficiencia. La base fundamental de estas fbricas se encuentra en los robots, que se estn construidos en base a los MP; adems de la introduccin de los llamados sistemas de direccin automtica de los procesos tecnolgicos. Por otra parte, se trabaja de forma intensiva en la simplificacin de la comunicacin del hombre con esta tcnica: Actualmente las instrucciones a la mquina se le dan fundamentalmente a travs de un teclado, lo cual requiere de cierta preparacin por parte del operador y dificulta un poco el empleo de esta tcnica por parte del personal y los especialistas no totalmente identificados con su uso.
26

La introduccin de softwares cada vez ms sencillos de operar y por ende ms " amistosos" empleando el mouse, ha ayudado a simplificar la comunicacin, pero se desea desarrollar circuitos analizadores y sintetizadores de voz que faciliten an ms la entrada y salida de la informacin de las computadoras. Cuando se logre que estos circuitos puedan fabricarse de manera compacta, y puedan ser reducidos a escala de los circuitos integrados, podremos darles las instrucciones a la mquina mediante la voz y con ello podemos comunicarnos con la mquina de manera semejante a como lo hacemos con otro ser humano. 2.9-) Desarrollo de los microprocesadores. La firma INTEL dio inicio a la fabricacin de MP en 1972 con el 8008 y a partir de ah ha desarrollado la fabricacin de una larga serie de MP ms potentes y complejos. El 8080 y su versin ms desarrollada que apareci posteriormente, el 8085, formaron parte de mltiples estructuras y equipos y tuvieron en su tiempo una gran popularidad y demanda dentro de los MP de 8 bits. El 8086 fue el primer MP de 16 bits elaborado por INTEL y presenta un bus de datos de 16 bits, un bus de direcciones de 20 bits y emplea operandos de 16 bits. Fue diseado de forma tal de que fuese compatible con el nivel de lenguaje ensamblador empleado por el 8080A, por lo que cualquier instruccin de este ltimo puede ser simulada por una combinacin de instrucciones del 8086 y en general el grupo de registros del 8080A es un subconjunto de los que posee el 8086. El 8088 es una versin en 8 bits del 8086 desde el punto de vista de los buses de entrada y salida, pero presenta registros internos d 16 bits, de igual forma que lo realiza el 8086. El 80186 constituye una versin mejorada del 8086 que posee en su interior el generador de los impulsos de sincronismo, la lgica de control de interrupciones, los esquemas de temporalizacin y los controladores del acceso directo a memoria. El esquema de este MP presenta un total de 68 terminales distribuidos en los 4 lados, y posee dos veces mayor productividad en comparacin con el 8086, adems de poseer mayor capacidad de carga en sus lneas fundamentales. El 80286 constituy un perfeccionamiento mayor del 8086, con una estructura de 68 terminales que contiene tambin en su interior los esquemas para el control y borrado de la memoria. Existen modelos con frecuencias de trabajo de 8 y 10 MHz. y presenta un grupo de registros que no presenta el 8086 que le posibilita la ejecucin de una serie de instrucciones adicionales. Posee una posibilidad mayor de direccionamiento de memoria pues su bus de direcciones es de 24 bits. En el desarrollo ulterior apareci en 1985 el 80386, que fue el primer procesador de 32 bits de Intel con bus de datos y tamao de registro de 32 bits. En el momento en que hizo su aparicin este MP la mayora de las microcomputadoras eran compatibles AT, con bus de 16 bits. Esto haca que montar una microcomputadora con un 386 fuese comparativamente caro ya que implicaba un rediseo total de la arquitectura existente y cambiarla para 32 bits, es decir, cambio de la memoria, buses, etc. El costo que implicaba era de por s elevado, ms an teniendo en cuenta la no disponibilidad en el momento de partes 32 bits compatibles.

27

El 80386 operaba con velocidad de 16 MHz., pero rpidamente subieron hasta 33, lo que le da la posibilidad de ejecutar de 3 a 5 millones de instrucciones por segundo, adems de que su capacidad de direccionamiento de memoria fsica alcanza los 4 gigabytes. Los competidores de Intel, AMD y Cyrix llegaron a producirlo con velocidades de hasta 40 Mhz. Su arquitectura permite realizar simultneamente operaciones de bsqueda de instrucciones, decodificacin, ejecucin y control de memoria. La aceptacin y el xito de este MP estuvo dado por mantener sus caractersticas de compatibilidad con sus predecesores 8086, 8088, 80186, 80286, pues prcticamente todos los programas que fueron elaborados para estos ltimos, tambin son capaces de correr en el 80386. Las microcomputadoras basadas en el 80386 operan con una mayor velocidad y estn capacitados para operar con sistemas operativos desarrollados especialmente para mquinas de 32 bits lo que las hace ms poderosas por tener la posibilidad de operar con tareas independientes dentro de un sistema de tareas mltiples. INTEL produjo como alternativa el 386SX, que no es ms que un 386 "normal", o sea, compatible en su juego de instrucciones, registros internos, etc., slo que su comunicacin con el exterior se hace por un bus de 16 bits. Por tanto la diferencia clsica entre 386 DX y 386 SX est en su bus externo. El 80486 I486 cmo se conoce al procesador desarrollado por INTEL es un MP tipo CISC (Complete Instruccion Set Computer) cuyas instrucciones ms utilizadas transcurren en un slo ciclo de reloj, que unido al alto grado de integracin logrado hace que las frecuencias de reloj sean ms altas y en eso han incidido versiones a 25, 33, 50 y 66 MHZ. En el 486 se utilizaron 1.25 millones de transistores (5 veces ms que el 386). El I486 es un procesador de 32 bits interno y externo y est diseado para trabajar con sistemas de cach (basados en el controlador del propio INTEL 82385) cosa que no tena el 386 en ninguna de sus dos versiones. Este cach L1 de 8 K, est directamente incorporada al procesador, lo que signific disminuir significativamente los accesos a RAM y por tanto en funcionamiento ms rpido y racional. Ante el empuje de la competencia, INTEL lanza una variante ms econmica, el 486 SX, que se diferenciaba del original porque no inclua el coprocesador matemtico, o para ser ms exactos, lo tena desactivado. Para actualizar sus capacidades de punto flotante al 486SX, Intel venda un chip llamado 80487SX que se instalaba en la placa, pero que en realidad se trataba de un DX con diferente patillaje que al ser instalado desconectaba el procesador original y asuma el control de la configuracin. Cuando fue evidente que el 486 se haba afianzado en el mercado y ante la facilidad de producir versiones cada vez a mayores velocidades, surgi un nuevo problema: la necesidad de cambiar continuamente la tarjeta del sistema para adecuarla a la nueva velocidad. Sin embargo, al ser los accesos a los dispositivos del sistema siempre mucho ms lentos que la velocidad de operacin del procesador, se poda pensar en aumentar exclusivamente la velocidad de estos, dejando externamente el sistema sin ningn cambio. Este fue el origen del 486 DX2 el cual opera al doble de la velocidad de su tarjeta madre, es decir, en su versin DX2 a 50 MHz. el 486 est operando a 50 MHz. en un sistema a 25 MHz. El aumento cada vez mayor de la velocidad ha hecho posible el surgimiento en 1994 de los DX4 y ya un DX4 a 100

28

MHz. est montado sobre una tarjeta madre trabajando a la cmoda y ms que suficiente velocidad de 25 MHz. 33 Mhz. y sin embargo su procesador opera a 100 MHz. Tales procesadores usaban un voltaje de 3.3 v con el fin de conservar bajos niveles de emisin del calor, aunque existieron versiones del DX4 a 5v que requirieron nuevas tarjetas madres y que llevaban ventiladores para refrescar el chip. La tecnologa SL de INTEL fue originalmente desarrollada para lograr un medio razonable en la conservacin de las bateras de las mquinas porttiles, pero se ha extendido hoy en da a la familia completa de procesadores I486 y pentium. La tecnologa SL abarca una serie de requisitos y modos de operacin que permiten reducir el consumo de energa y cumplen con el programa Energy Star. Entre ellas: 1- System Management Modem (SMM). Este es un nuevo modo operativo de los procesadores SL que permite la reduccin del consumo energtico apagando los perisfricos o el sistema completo cuando lleva tiempo sin utilizarse. 2.- Static Technology. Tecnologa que permite a todos los procesadores SL detener su reloj, congelando el estado del mismo y el sistema de forma que puede ser reinicializado en el mismo punto donde se detuvo. 3.- Processor Clock Control. Permite colocar al procesador en un estado de letana y bajo consumo, "Standby". 4.- Alimentacin de 3.3 volts. El hecho de que estos procesadores slo requieren 3.3 volts para su operacin en vez de los tpicos 5 volts, reduce el consumo energtico en un 60 %. Todo este sistema permite una disminucin del consumo desde unos 250 watts hasta unos 30 watts. Esta lgica de reduccin de potencia constantemente est monitoreando al sistema buscando perifricos inactivos (Por ejemplo el disco duro). Una vez detectado un dispositivo en este estado, genera una interrupcin (System Management Interrupt-SMI) al procesador el cual pasa de modo real a SMM. Aqu se toma una "instantnea" de todo el sistema y se almacena su estado en una zona de memoria llamada SM RAM . Esta zona es inviolable y no puede ser accedida por ningn SOFTWARE. El procesador ejecuta una rutina del BIOS que "apaga" al perisfrico en cuestin. El proceso inverso ocurre al activarse nuevamente el perisfrico y este procedimiento es virtualmente instantneo. Ciryx con su 586 al que llam M1 alcanzaba velocidades de 100 y 120 Mhz e inclua un bus interno de 64 bits, un canal de 6 etapas (una ms que el 486 ) y era compatible con las tarjetas madres del 486. No obstante sus excelencias, lleg tarde al mercado ganado en aquel tiempo por la descomunal campaa de Intel para sus pentiums. INTEL sac a la luz un nuevo MP conocido con el nombre de "Pentium" que segua siendo un procesador de arquitectura CISC pero incluy varias tecnologas RISC en su diseo que le permitieron alcanzar los 300 MIPS (millones de instrucciones por segundo). Todas las versiones de pentium poseen ms de 3 millones de transistores integrados y requieren radiadores con ventilador para disipar el calor de su funcionamiento. El nuevo procesador ofreca una arquitectura superescalar, dos canales en lugar de uno como el 486 y la tecnologa de prediccin de ramificaciones que le permita minimizar las demoras que suceden cuando una instruccin compleja retrasa la ejecucin de otras. Tambin increment el ancho de banda del bus hasta 64 bits. Incluy
29

dos cachs de nivel 1 (L1) independientes, uno para los datos y otro para las instrucciones de clculo decimal que constituyen la base para las aplicaciones grficas y de multimedia. La competencia lleg, y AMD lanz su K5 y Cyrix el 5X86. El K5 es un procesador RISC y a diferencia de las dos etapas de canales del Pentium ofrece seis. Es en opinin de muchos especialistas superior al Pentium, pero lleg tarde al mercado y no alcanz los niveles de velocidad esperados, por lo que apenas logr difusin en la construccin de ordenadores. Por su parte el 5X86 es un procesador totalmente CISC con dos canales y seis etapas por cada uno de estos, lo que difiere del diseo del pentium con dos canales y cinco etapas y ofrece segn los expertos una mejor prediccin de ramificaciones y ejecucin fuera de orden. Es en suma un buen procesador, pero tampoco logr hacerse con el mercado que sigui teniendo un nico dueo. Intel sorpresivamente cambi el standard que hasta ese momento haba seguido en la industria, razones?, pues el auge de las aplicaciones multimedia y el peso que cobraron grandes programas con complicados efectos grficos, como los juegos para ordenador, que exigieron un mejor desempeo del hardware y especficamente de las CPU. As surge en 1997 el pentium MMX, (P-MMX) procesador que incorpora 57 instrucciones adicionales, diseado para mejorar la capacidad multimedia. Adems el canal aument de 5 a 6 etapas y los dos cachs L1 aumentaron de 8 a 16K y mejor mucho la prediccin de ramificaciones, por lo que el MMX no es un retoque del pentium, sino que es de por s un nuevo diseo cualitativamente superior. En 1996, casi un ao antes del P-MMX, Intel sac el Pentium Pro (P-Pro). Parte en su diseo de una concepcin similar al pentium, pero ofrece avances tales como: una nueva forma de ejecutar las instrucciones y un aumento de las etapas del canal de 5 a 14 con 3 canales en lugar de 2 a una velocidad de ejecucin resultante mucho mayor. Incluye un cach integrado L2 de 256 K adems de 2 cachs L1 de 16 K, que eleva en consideracin sus prestaciones, pero tambin su precio, y ello automticamente lo releg para la construccin de grandes servidores, lejos de los sistemas PC de uso domstico o profesional ms modestos. En el centro del P-Pro existe un procesador RISC, mientras que las instrucciones CISCX86 se forman a partir de microinstrucciones RISC ms sencillas y por consiguiente se ejecutan con mayor rapidez. Tiene 5.5 millones de transistores los cuales generan una considerable cantidad de calor lo que exige el uso de disipadores y micro ventiladores. La solucin a los problemas de costo y desempeo del Pentium-Pro lleg con la aparicin en 1996 (y lanzado en 1997) del pentium II, (P II) que duplica las caches L1 a 32 K y una nueva L2 de 512K, ms grande, pero fuera del procesador como en el P-Pro. La nueva cach L2 se comunica con el chip por medio de un bus propio que trabaja a la mitad de la velocidad de este. P II incorpora tambin en las ltimas versiones un bus de 100 MHz, lo que mejora notablemente sus prestaciones. Como resultado, Intel pudo ubicar en el mercado un procesador mas econmico, aunque no tan rpido como el PPro, pero este inconveniente es mnimo pues se logr dejar atrs la barrera de los 450 Mhz. Posteriormente existi un P II conocido como Xen, optimizado para trabajar en

30

servidores, que fue aceptado por los especialistas como relevo del ya entonces algo desfasado P-Pro. En los predios del mercado apareci luego el esperado pentium III (P III) o Katmai que tena como principal novedad la inclusin de 70 nuevas instrucciones conocidas como las MMX2 o KNI (Katmai New Instructions). Trabaja a voltajes de 1,8 volts, posee tamao ms reducido y menor consumo energtico, gracias a la tecnologa de 0.25 micras empleadas en su fabricacin (prximamente a 0.18 micras). Los primeros modelos, con ncleo Katmai, se fabricaron todos en el mismo formato Slot 1 de los Pentium II, pero la actual revisin Coppermine de este micro utiliza mayoritariamente el Socket 370 FC-PGA. Muchos denominaron al Pentium III Coppermine "el autntico Pentium III", porque al tener sus 256 KB de cach secundaria integrados en el ncleo del micro su rendimiento mejora en todo tipo de aplicaciones (incluso las no optimizadas). El Celeron (Pentium II light ), result ser un Pentium II sin la cach secundaria, fue construido para liquidar el mercado de placas base tipo Pentium no II (con socket 7, que se dice) y liquidar definitivamente a AMD y otras empresas que usan estas placas. Sin embargo, resultaba realmente muy poco recomendable, por poseer un rendimiento mucho ms bajo que el de Pentium II, pues era casi idntico al del Pentium MMX. AMD logr a finales del 97 el K6 que de inmediato fue un formidable contrincante para el P-Pro, con su favorable handicap de menor costo. Presenta una cach L1 de 64K, una extensa tabla de prediccin de ramificaciones, as como 7 unidades de ejecucin paralela y el juego de instrucciones MMX. En las pruebas realizadas dej atrs a los Pentium MMX de igual velocidad de reloj y se acerc notablemente al desempeo de los Pentium II. Posteriormente se puso a la venta el K 6-2, que incorpora tecnologa de 0.25 micras y mejoraba notablemente el desempeo del procesador en cuanto a velocidad y capacidad multimedia, sentando un nuevo standard en las instrucciones 3Dnow (algo as como un MMX para 3D). El K6-III result ser un micro casi idntico al K6-2, excepto por el "pequeo detalle" de que incluye 256 KB de cach secundaria integrada, corriendo a la velocidad del micro (es decir, a 400 MHz o ms), al estilo de los Celeron Mendocino. Esto le hace mucho ms rpido que el K6-2 (en ocasiones, incluso ms rpido que el Pentium III) en aplicaciones que utilicen mucho la cach, como las ofimticas o casi todas las de ndole "profesional"; sin embargo, en muchos juegos la diferencia no es demasiado grande (y sigue necesitando el uso de las instrucciones 3DNow! para exprimir todo su potencial). El AMD Athlon (K7) result ser la gran apuesta de AMD: un micro con una arquitectura totalmente nueva, que le permiti ser en su tiempo el ms rpido en todo tipo de aplicaciones. Con 128 KB de cach de primer nivel (cuatro veces ms que el Pentium III), bus de 200 266 MHz (realmente 100 133 MHz fsicos con doble aprovechamiento de cada seal), 512 256 KB de cach secundaria (los 256 KB integrados le posibilitaban ser ms rpido), instrucciones 3DNow! para multimedia... y el mejor micro de todos los tiempos en clculos matemticos. Su nico y mnimo inconveniente radicaba en que necesita placas base especficamente diseadas para l, debido a su novedoso bus de 200 MHz o ms y a sus mtodos de conexin, "Slot A" (fsicamente igual al Slot 1 de Intel, pero incompatible con l... entre otras cosas porque Intel no quiso dar licencia a AMD para utilizarlo) o " Socket A" (un

31

zcalo cuadrado similar al Socket 370, pero con muchos ms pines). Los modelos actuales usan el ncleo Thunderbird, con la cach secundaria integrada. El AMD Duron result un micro casi idntico al Athlon Socket A (no existe para Slot A) pero con menos memoria secundaria (64 KB), aunque integrada (es decir, ms rpida, la cach va a la misma velocidad que el micro); Con l se obtuvo una fantstica relacin calidad/precio. Cyrix por su parte present el M II que posee un diseo superescalar, dos canales separados, 64K de cach L1, una novedosa cach auxiliar de 256k que acelera notablemente el desempeo de la CPU y prediccin mltiple de ramificaciones. Este es un procesador completamente CISC (a diferencia del K6 y del P II), que no lleg a alcanzar el desempeo del K 6, pero se situ dignamente en el sector de las llamada mquinas de bajo costo. La ltima apuesta de Intel, el Pentium 4, represent todo un cambio de arquitectura; pese a su nombre, internamente poco o nada tiene que ver con otros miembros de la familia Pentium. Se trata de un micro peculiar: su diseo permite alcanzar mayores velocidades de reloj (ms MHz... y GHz), pero proporcionando mucha menos potencia por cada MHz que los micros anteriores; es decir, que un Pentium 4 a 1,3 GHz puede ser MUCHO ms lento que un Pentium III a "slo" 1 GHz. Para ser competitivo, el Pentium 4 debe funcionar a 1,7 GHz o ms. Por otro lado, incluye mejoras importantes: bus de 400 MHz (100 MHz fsicos cudruplemente aprovechados) y nuevas instrucciones para clculos matemticos, las SSE2 . stas son muy necesarias para el Pentium 4, ya que su unidad de coma flotante es MUCHSIMO ms lenta que la del Athlon; si el software est especficamente preparado (optimizado) para las SSE2, el Pentium 4 puede ser muy rpido. Desde el punto de vista fsico, el Pentium 4 necesita placas bases diseadas especficamente para l. El chip en s viene en formato zcalo y tiene 423 pines; por tanto, su zcalo se llama "Socket 423". Necesita una carcasa, una fuente de alimentacin (ambas ATX 2.03) y un ventilador y un disipador especficos, todo ello por consideraciones de consumo y estabilidad, porque el sistema de fijacin del sistema de refrigeracin es bastante complicado y va anclado con tornillos a la carcasa. La cach L2, integrada en el micro y de 256 bits, es una mejora de la tecnologa "Advanced Transfer Cache " estrenada con el Pentium III; puede alcanzar 48 GB/s en el modelo de 1,5 GHz. Esto representa el doble de lo que puede hacer un Pentium III de la misma velocidad, y es mucho ms de lo que puede alcanzar un AMD Athlon, sobre todo porque en ste la cach L2 tiene un bus de slo 64 bits. Finalmente, un detalle positivo: el ncleo del micro est mejor protegido que antes, gracias a un disipador de calor integrado sobre el mismo (por eso tiene ese aspecto metlico). Todos estos datos son para el Pentium 4 versin 1.0, pero el desarrollo de estos micros se ha venido perfeccionando En la actualidad existen procesadores mucho mas poderosos. La compaa Intel acaba de lanzar al mercado su nuevo procesador Intel Pentium 4 de 3.0GHz y ya hoy se anuncian versiones capaces de trabajar a velocidades mayores lo cual representa un salto bastante importante.
32

En las plataformas no Wintel(elipsis de las palabras Windows e Intel) aparecen como notables los SPARC concebidos para las estaciones UNIX de Sun y otros desarrolladores de este entorno, cuyo desempeo es la base, entre otros usos, de la industria de los efectos especiales, muestra de los cuales son los filmes TITANIC y Toys Story. Por otra parte anda el G-3, corazn de los Macintosh, uno de cuyos modelos, el iMac barri con las cifras de ventas en Europa y Estados Unidos en el 1er trimestre de 1999. Por ejemplo, el G-3 de 266 Mhz super en todo, desde las operaciones con pto. Flotante hasta el trabajo con grficos y texturas en 3D, al P Pro y P II de 300 Mhz. montados en configuraciones similares. Tiene arquitectura completamente RISC, basada en instrucciones ms sencillas que se ejecutan a una mayor velocidad real. Con lo expuesto hasta aqu basta para que el lector se percate de la rapidez con que se desarrollan estos dispositivos y de la importancia que tiene para un profesional el poseer un mnimo de conocimiento de su evaluacin y de sus posibilidades.

CONSIDERACIONES FINALES
El desarrollo explosivo de la tcnica de los MP y su empleo cada vez ms extendido en mltiples campos de la ciencia, han obligado a la introduccin de sus estudios en los programas de las asignaturas de electrnica que aparecen incluidos en los planes de estudio de las carreras de ingeniera . Esperamos que con el estudio de este material los estudiantes puedan alcanzar un conocimiento elemental sobre esta temtica y comprendan la importancia de desarrollar una profundizacin ulterior en las aplicaciones vinculadas a la rama de la ingeniera que les corresponda.

33

BIBLIOGRAFIA
- Microprocessor and Instrumentation.Mirsky G. Editorial Mir 1987 - Sistem Design with microprocessor .Zibson D. Academic Press 1984 - Microprocesadores . Angulo J. Ma. Ediciones R 1989 . - Sistemas de Control con Microprocesadores. Lage J., Pascual M. - Microelectronic .Millmanm J. - Microprocessor Handbook .Greenfield Joseph .Ediciones R 1988. - Los microprocesadores y las microcomputadoras y su aplicacin en la automatizacin de mquinas y equipos. Kostikoba G. Vuishaia Shkola. 1988 - Microprocessor Handbook 80386 -Fundamentos de los microprocesadores. Tokheim Roger. Ediciones R. 1988. -Revista GIGA. Colombus. Copextel, S.A. 1997-2001.

34

MEMORIA PRINCIPAL DATOS INSTRUCCIONES bus de datos bus de control

Registro de Direcciones

ACUMULADOR

Unidad Lgico Aritmtica

Registros De UtilizaCin Gral.

Seales de Sincronizacin Y Control

Registro de Instrucciones DECODIFICADOR Comandos o Direcciones Contador de Programa

+1

Reg.Indicadores

BLOQUE DE PROCESAMIENTO

BLOQUE DE CONTROL

ESTRUCTURA TPICA DE UN MICROPROCESADOR de 8 bits.

También podría gustarte