36
UNIVERSIDAD DE MATANZAS “CAMILO CIENFUEGOS”. FACULTAD DE INGENIERÍAS QUÍMICA Y MECANICA. INTRODUCCION A LOS MICROPROCESADORES Dr. C.T. Ing. Evaristo González Milanés. DICIEMBRE, 2003

Introduccion a los microprocesadores

Embed Size (px)

Citation preview

Page 1: Introduccion a los microprocesadores

UNIVERSIDAD DE MATANZAS“CAMILO CIENFUEGOS”.

FACULTAD DE INGENIERÍAS QUÍMICA Y MECANICA.

INTRODUCCION A LOS MICROPROCESADORES

Dr. C.T. Ing. Evaristo González Milanés.

DICIEMBRE, 2003

Page 2: Introduccion a los microprocesadores

1

INTRODUCCION A LOS MICROPROCESADORES

Autor: Dr. Evaristo González Milanés Dpto. Física Universidad de Matanzas.

INTRODUCCIÓN.

Los microprocesadores han venido a ser el resultado del desarrollo en el caminoemprendido por la Electrónica Digital hacia la miniaturización, primeramenteimplementando una unidad de procesos completa en una sola pastilla o chip de circuitointegrado, y posteriormente, mediante el aumento de la rapidez, capacidad de trabajo ypotencia de dicha unidad.

La aparición de los microprocesadores (MP) representa el siguiente punto desalto en la electrónica después del ocurrido con la invención del transistor, y latecnología de su construcción avanza tan rápidamente que prácticamente harevolucionado en corto tiempo el desarrollo de múltiples campos de la ciencia y latécnica, a la vez que se introduce de manera convincente en nuestra vida doméstica,siendo difícil mencionar una rama o campo de la ciencia en la cual no exista unaaplicación de los microprocesadores. De hecho, cada día aumenta el número deinstrumentos, sistemas de control de procesos, medios y equipos para lastelecomunicaciones, medicina, servicios públicos e incluso juguetes, que empleandentro de su estructura algún tipo de MP, sin entrar a considerar el hecho real de laintroducción, divulgación y aceptación que han tenido las nuevas generaciones decomputadoras digitales basadas en este componente y que son conocidas por nosotroscomo microcomputadoras.

Es difícil predecir qué pasará en la electrónica en los próximos años, pero deacuerdo con la opinión de personalidades de esta rama, la influencia de los MP en elfuturo será cada vez mayor y de ahí la importancia de preparar a los profesionalesencargados de su aplicación y desarrollo, y de que a su vez, los graduados de nivelsuperior posean conocimientos elementales que les permitan ganar en la culturageneral necesaria que sirva de base a un conocimiento mayor de la aplicaciónespecífica en el campo en que desarrollarán su vida profesional .

Este material no es más que un primer intento para cubrir la limitación deinformación que sobre este tema presenta el texto que se emplea en la asignaturaElectrónica, que se imparte a las carreras de Ciencias Técnicas, permitiendo a losestudiantes disponer de forma condensada de los contenidos relacionados con estatemática previstos en dicha asignatura.

Page 3: Introduccion a los microprocesadores

2

1-)Computadora Digital.

Una computadora digital puede entenderse como un sistema que explorasecuencialmente una información almacenada llamada programa, interpreta esteprograma y lo ejecuta.

Para ello el sistema dispone de un HARDWARE, o sea, de una constituciónfísica conformada por circuitos integrados interconectados sobre tarjetas de circuitoimpreso agrupadas en elementos funcionales de características definidas que conformanla MEMORIA, la UNIDAD de CONTROL, la UNIDAD LOGICO-ARITMETICA ylas UNIDADES de ENTRADA-SALIDA.

Simultáneamente dispone de un soporte no físico sino operativo, de un métodode diálogo y por tanto de aceptación de órdenes, y de generación de mensajes. Ello loconstituye el conjunto de instrucciones al cual responde directamente, y es un elementoque caracteriza a cada computadora, y que recibe el nombre de SOFTWARE básico. ElSOFTWARE no se limita al conjunto de instrucciones, sino que incluye tambiénprogramas inteligibles por el computador, por tanto escritos de acuerdo con elSOFTWARE básico y que permiten interpretar programas escritos con lenguajes másevolucionados.

El programa lo constituye un listado detallado de operaciones a desarrollar por lacomputadora en un orden consecutivo y lógico y es escrito en un lenguaje que seacomprensible para la máquina y que por tanto permita alcanzar ciertos resultados. Elprogramador, atendiendo al lenguaje de la máquina que lo ocupa, al problema específicoy a las operaciones simples que la máquina puede realizar, confecciona el listado deinstrucciones (órdenes), a través de las cuales especifica la operación que debe ejecutary la ubicación del o de los operandos sobre los que ejecutará la acción indicada.

Este programa se carga (almacena) en la memoria en el orden secuencialprevisto, constituyendo cada instrucción un grupo de 1 y de 0 que caracteriza o defineuna operación y no a otra. A esta representación binaria de las instrucciones de unacomputadora se le llama lenguaje de máquina o código de máquina.

Los programas que pueden ser directamente ejecutados por una computadoradigital están pues almacenados en lenguaje de máquina, no obstante, confeccionarprogramas en lenguaje de máquina resulta una tarea laboriosa y compleja, por lo quesurgió el interés de crear lenguajes más asequibles para el ser humano y que tuviesenuna cierta relación con la manera con que aquél especifica las operaciones de unproceso de información.

De esta forma nació el lenguaje simbólico (assembler), que sustituye lascombinaciones binarias del lenguaje de máquina por nombres simbólicos que hacenreferencia a la operación que realiza la computadora cuando ejecuta la instruccióncorrespondiente. Cada instrucción del lenguaje simbólico es equivalente a unainstrucción del lenguaje de máquina.

Aunque el lenguaje simbólico es más fácil de manejar que el de máquina,todavía dista bastante del utilizado por el ser humano para expresar los procesos deinformación, en especial las operaciones complejas que implican la ejecución de unnúmero elevado de operaciones elementales en secuencia. Por ello se crearon lenguajes

Page 4: Introduccion a los microprocesadores

3

de alto nivel que permiten especificar más fácilmente los procesos de información,donde cada instrucción se convierte posteriormente en un conjunto de instrucciones enlenguaje de máquina.

Tanto el lenguaje simbólico como los de alto nivel, hicieron necesario eldesarrollo de programas que al ser ejecutados por un computador tradujeran losprogramas escritos en aquellos al lenguaje de máquina.

Estos programas traductores se conocen con el nombre de compiladores yrealizan la traducción al lenguaje de máquina para la totalidad del programa de una solavez. Esta versión traducida del programa escrito en un lenguaje de alto nivel (llamadoprograma fuente), se denomina programa objeto, y puede transferirse a la memoria yejecutarse directamente.

Los programas intérpretes utilizan otros principios de funcionamiento. Cadainstrucción escrita en el programa fuente le indica al intérprete un conjunto de accionesque debe cumplir sin que medie un programa objeto en código de máquina. La principalventaja de un intérprete es que permite fácilmente probar y poner a punto el programa.

Tanto el programa intérprete como el programa fuente permanecen en lamemoria durante la ejecución del programa, lo cual generalmente ocupa una mayorcapacidad de memoria, y no se posee un programa objeto en código de máquina parasu posterior concatenación con cualquier programa.

Posteriormente surgió la combinación de intérprete y compilador en un solopaquete de programas, pudiendo aprovecharse las ventajas de ambos sistemas, como esel caso del TURBOBASIC, TURBOPASCAL, etc.

1.1-Generaciones de computadoras digitales.

Desde la creación de las primeras computadoras digitales en el año 1947, se hansucedido diferentes generaciones o estadios de desarrollo tanto a nivel de HARDWAREcomo a nivel de SOFTWARE.

En las llamadas primeras generaciones se utilizaron tubos de vacío comoelementos lógicos y como memorias se utilizaron tambores magnéticos, el SOFTWAREaún no se llamaba así y era muy primario, a nivel de lenguaje-máquina y de tímidosensayos simbólicos.

En la 2da generación, hacia 1956, se utilizaron ya transistores de germanio y,posteriormente de silicio (el transistor se había inventado en 1947 y se habíaindustrializado pocos años después.) por la parte lógica, la memoria ya fue de ferritas yse continuó usando memoria exterior de tambor, discos y cintas magnéticas; elSOFTWARE era el mismo de la anterior generación, pero incluía ya compiladoresfortran aún bastante primarios, aunque fueron mejorando con el tiempo.

El primer gran cambio de los lenguajes se produjo pues, en esta generación.Mientras hasta entonces los programas en lenguaje-máquina o en lenguaje simbólicodebían ser escritos para una máquina concreta puesto que eran orientados a lasmáquinas, a partir de entonces fueron orientados al problema, por lo que el programaera aplicable a cualquier máquina siempre que existiera el traductor (compilador)adecuado a aquella máquina.

La tercera generación apareció hacia 1964 simultáneamente con la aparición delas MINICOMPUTADORAS. El hardware era realizado con circuitos integrados RTL yECL que evolucionaron hasta los TTL en 1966. La MEMORIA continuaba siendo deferritas y el software llego a su mayoría de edad con lenguajes de alto nivel FORTRAN,COBOL y sobre todo con la aparición de SISTEMAS OPERATIVOS. Fue el momentode la incorporación de las computadoras al control del procesos.

Page 5: Introduccion a los microprocesadores

4

La cuarta generación apareció hacia 1971 simultáneamente con la aparición delas MICROCOMPUTADORAS, de las terminales de TELEPROCESOS y solapándosecon los lenguajes de más alto nivel (PL1, ALGOL68, BASIC, etc.).

Page 6: Introduccion a los microprocesadores

5

1.2) Estructura de una Computadora Digital.

La estructura típica de una computadora digital ha sido en las primerasgeneraciones la que se muestra en la figura.

Esta estructura ha sido la primitiva y ha ido evolucionando variando, no enesencia, sino en forma, hasta llegar a una estructura más moderna, la cual se muestra acontinuación:

Unidad

Puede verse que tanto en una como en otra figura las unidades funcionales sonprácticamente las mismas; lo que ha sufrido modificaciones han sido lasinterconexiones de estas unidades, que modernamente se realizan por BUSES y antes nose realizaban así.

Un bus está formado por un grupo de líneas por donde se trasmiten los datos,códigos de instrucción, señales de sincronización y códigos de dirección entre lasdiferentes unidades funcionales de la computadora de forma paralela lo que permite unaalta velocidad de transmisión.

La interconexión por buses ha representado un gran ahorro de interconexiones yuna simplificación desde el punto de vista estructural. Esta evolución ha sido debida aldesarrollo tecnológico que ha permitido obtener sistemas con tres estados lógicosposibles (TRI-STATE): 1 lógico, 0 lógico y 3er estado también denominado estado dealta impedancia, permitiendo que el dispositivo que no esté tomando parte delintercambio de información en un momento dado pueda aislarse.

En realidad las líneas del bus se agrupan en tres, de acuerdo con la informaciónque transportan: bus de dirección, bus de datos y bus de control.

Memoria

Unidad de ProcesosEntradas

Salidas

Unidad de Control

Bus de direcciones

Bus de datos

Bus de Control

Unidad de

Entradas

Unidad de

Memoria

Unidad de

Procesos

Unidad de

Control

Unidad de

Salidas

A

D

C

Page 7: Introduccion a los microprocesadores

6

El bus de datos es bidireccional y por él circulan los datos que llegan o salen dela computadora por las unidades de entrada y salida, así como los datos intermediosque son leídos o almacenados en la memoria .De acuerdo con la longitud de la palabraque es capaz de manejar el bus de datos, se designa la longitud de palabra de lamicrocomputadora.

El bus de direcciones es unidireccional, y con el código binario que aparece enese bus se selecciona la unidad o dispositivo que trabajará en cada instante.

El bus de control está formado por varias líneas donde cada una posee unafunción muy específica e indica a cada una de las unidades y dispositivos externos lafunción que debe realizar. Así se logra la sincronización de todos los elementos de lacomputadora, lo cual queda a cargo de la unidad de control. También sirve para que laCPU reciba ciertas indicaciones de las unidades periféricas.

En la figura se distinguen además los siguientes elementos funcionales: unidadde entradas, memorias, unidad de proceso, unidad de control y unidad de salidas.

La unidad de entradas no es más que un multiplexor con el que se escoge por elbus de direcciones y el de control cuál de las informaciones presentes se desea traspasaral bus de datos.

La unidad de memoria es el almacén tanto de instrucciones como de datos.La unidad de proceso realiza las operaciones aritméticas y lógicas con las

informaciones que entran en ella a partir del bus de datos y el de direcciones. Tiene paraello una unidad aritmética lógica (ALU), uno o varios acumuladores, unos registros deindicadores o banderas, así como unos registros rápidos de trabajo (RRT) en los que sealmacenan temporalmente los datos que no interesa guardar indefinidamente enmemoria

La unidad de control es el verdadero cerebro del sistema pues es capaz de tomardecisiones lógicas en el curso de la ejecución de un algoritmo. Es decir, segúninformaciones, normalmente suministradas por la unidad de procesos sobre el valor dealgún resultado, se puede ejecutar una parte u otra del programa, sólo con ir a buscar lasnuevas instrucciones a un sitio diferente de la memoria central. En ella se encuentra elcontador de programas con su sistema de aritmética de direcciones y el puntero delstack. También se encuentra el registro de instrucciones, decodificador de instrucciones,registros auxiliares, etc.

La unidad de salidas recibe por el bus de datos la información a sacar al exteriory por el bus de direcciones la dirección por la cual debe sacar los datos anteriormentemencionados.

Generalmente la Unidad de Control y la Unidad de Procesos se agrupan en unsolo bloque denominado UNIDAD CENTRAL de PROCESAMIENTO (CPU).

1.3- Elementos básicos de una microcomputadora.

Una microcomputadora consta de tres elementos fundamentales: Unidad Centralde Procesamiento, la Memoria y las Unidades o Puertos de Entrada/Salida todo ellodebidamente interconectado mediante un sistema de buses. Su esquema será entonces elmismo que aparece en la figura anteriormente mostrada, con la unión de las unidades decontrol y de proceso en un solo bloque llamado CPU. La CPU unifica el sistemacontrolando las funciones realizadas por los otros componentes.

Se conoce bajo el nombre de microprocesador la CPU de la microcomputadoraconstruida en una sola pastilla de circuito integrado (CI) .Al igual que los procesadoresde todas las computadoras, el microprocesador puede manejar tanto datos aritméticoscomo lógicos de forma paralela bajo el control de un programa . Sin embargo lo que los

Page 8: Introduccion a los microprocesadores

7

fabricantes ofrecen bajo el nombre de microprocesador varía mucho de uno a otromodelo.

En el 8080 por ejemplo, están integrados los bloques de procesos y la mayorparte del control, en el 6800 está completo proceso y control; en el 2650 se incluyeademás parte de las entradas/salidas, el 8048 es un ejemplo de los microcomputadoresen una sola pastilla, pues incluye casi todo lo necesario para constituir un pequeñosistema, y en general, en la medida que se desarrollan los microprocesadores, estosabarcan cada vez estructuras mas complejas.

A continuación haremos una descripción más detallada de cada uno de estoselementos de la microcomputadora.

1.3.1 - Unidad de Memoria.

En la memoria se almacenan los datos, los resultados y el programa de trabajo enel cual se basará la CPU para regir las actividades a realizar en el sistema. La memoriaposee un conjunto de N posiciones numerados desde 0 hasta N-1, direccionables con nbits tal que 2n = N. Por ejemplo con n=16 bits, se direccionan 216 = 65536 posiciones. Sicada una de estas posiciones permite guardar un byte (palabra de 8 bits), podemos decirabreviadamente que con n=16 bits se direccionan 64 Kbytes de memoria siendo1Kbyte=1024 bytes.

La longitud de la palabra que se almacena en la memoria coincide con lalongitud de la palabra que es capaz de manejar el bus de datos, puesto que la memoriarecibe y entrega información a dicho bus mediante los procesos llamados lectura yescritura .

Con ayuda de un esquema pasaremos a describir como se llevan a efecto estosprocesos:

Cuando la CPU desea hacer una lectura en la memoria, coloca en el bus dedirecciones (AB) la dirección de la memoria que se desea leer, y coloca un “1” enMEMR (memory read) del bus de control (CB) . La dirección se transfiere al registro dedirecciones de memoria (MAR - memory adresss register) y desencadena el proceso delectura como resultado del cual al cabo de cierto tiempo de acceso al contenido delregistro direccionado, aparece en MDR (registro de datos de memoria - memory dataregister) 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 lamemoria

MAR MDR

01

N-N-1

MEMR

MEMW 2 = N

n

AB

DB

CB

.

.

.

Page 9: Introduccion a los microprocesadores

8

En la figura siguiente se muestra un segmento de 8 localizaciones de memoriacuyas direcciones están numeradas desde la 83F2H (el sufijo H significa que el númeroestá escrito en notación hexadecimal) hasta la 83F9H:Dcion. CONTENIDO(Hex.)83F2 0 0 1 1 1 1 1 0 (3E)83F3 0 1 0 0 0 0 0 1 (41)83F4 1 1 1 1 1 1 0 0 (FC)83F5 1 1 0 1 0 1 0 1 (D5)83F6 0 1 1 1 1 0 1 0 (7A)83F7 0 0 1 0 0 0 1 0 (22)83F8 0 1 0 0 0 0 0 0 (40)83F9 1 1 1 0 1 0 1 1 (E8)

Cada localización de memoria tiene su propio contenido. Por ejemplo, lalocalización con dirección 83F6H tiene como contenido 01111010, el cual expresado enhexadecimal corresponde a 7AH. Este contenido es el que se entrega al bus de datos enel caso de que sea direccionada esta localización y se diese la orden de lectura.

Como se apuntó anteriormente una secuencia de instrucciones que persiguen unpropósito determinado constituye un programa. Este programa se almacena en lamemoria para ser ejecutado. La CPU lee cada instrucción de dicha secuencia y la utilizapara iniciar acciones de trabajo.

La memoria también se usa para almacenar los datos que son manipulados. LaCPU puede rápidamente tener acceso a cualquier dato almacenado en la memoria.

La capacidad de la memoria que se mide en octetos (bytes), está dada por elnúmero de localizaciones de memoria existentes. En muchas ocasiones se expresa enkilooctetos (Kbyte) y en otras indicando el producto del número de las localizacionespor el número de bits de cada una de ellas. Por ejemplo, una capacidad de 4K x 8 bitsindica 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 sefija una dirección de memoria hasta que se tiene acceso a la información almacenada(tiempo de lectura), o se completa la modificación de la información almacenada(tiempo de escritura). El acceso aleatorio significa que el tiempo de acceso a unalocalización de memoria particular es independiente de su dirección.

Por último debemos recordar que las memorias en las computadoras se clasificanen general en dos grupos: memorias de acceso aleatorio (RAM) con las cuales seconforma la memoria operativa y memoria de solo lectura (ROM) que integran lamemoria 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 colección de hardware y desoftware que permite la comunicación entre la CPU y los dispositivos de entrada y desalida y de hecho con el mundo exterior. La parte correspondiente al software en lainterface es llamada protocolo, y formalmente especifica las convenciones que gobiernael formato y la forma de control de las entradas y salidas entre dos sistemas decomunicaciones.

Se necesita de la existencia de una interface de entrada debido a que losdispositivos de entrada generalmente no son compatibles con la CPU y por tanto es

Page 10: Introduccion a los microprocesadores

9

necesario convertir las señales eléctricas de entrada en un tipo que sea aceptable a esta.Esto también se aplica aunque de forma invertida para el caso de los dispositivos desalida. Físicamente las interfaces de entrada y salida son C.I. extremadamente versátilesen sus funciones los cuales pueden ajustarse mediante la variación de sus softwarecorrespondientes.

Las tareas más 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 puedenaparecer de forma independiente. En este último caso es un MSI chip (circuito integradode escala de integración media), que contiene un buffer de registro de direccionesmultimodo con salida de tres estados.

A través de los puertos de entrada la microcomputadora puede recibirinformación de cualquier dispositivo externo, como por ejemplo, un teclado decaracteres alfanuméricos, un disco magnético, o las señales provenientes de un procesoindustrial o un instrumento médico. A su vez la microcomputadora también requiereuno o más puertos que permitan a la CPU comunicar el resultado de su actividad almundo exterior. La salida puede ir a un visualizador de televisión, para ser usada por unoperador o un impresor para producir una copia legible en papel, también puede estarconstituida por señales para el control de procesos que dirijan las operaciones de otrosistema.

Tanto los puertos de entrada como los de salida son direccionables, es decir;para trasmitir información hacia el puerto, o recibirla donde esté, es necesario que laCPU envíe previamente un número que lo identifica y que constituye a su vez ladirección del puerto.

Dos tipos de entrada-salida se hallan en la computadora en una tarjeta: lospuertos 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 líneas del bus de datos entran o salen a la vez de la microcomputadora, lo queposibilita una transferencia de datos entre la CPU y cualquier equipo periférico a altavelocidad.

Los PIO en paralelo más usados son los de tipo programable, es decir, que puedela misma pastilla ser usada como entrada o como salida de acuerdo con el programa deinstrucciones que realice el usuario.Ejemplo: El circuito integrado 8255 constituye un PIO programable con E/S ParaleloTiene 8 terminales de datos que se conectan al bus de datos y 24 terminales de salidaque pueden agruparse en tres grupos de 8 bits, ó 4 grupos (2 de 8 bits y 2 de 4 bits).

D0-D7A0

A1

RdWr

Cs

PA

PB

PB

8

8

88255

Bus de Datos

Page 11: Introduccion a los microprocesadores

10

A1 A0 Rd Wr Cs x x x x 1 D0-D7 en 3er estado x x 1 1 0 D0-D7 en 3er estado 0 0 1 0 0 D0-D7 → Puerto A 0 0 0 1 0 D0-D7← Puerto A 0 1 1 0 0 D0-D7 → Puerto B 0 1 0 1 0 D0-D7 ← Puerto B 1 0 1 0 0 D0-D7 → Puerto C 1 0 0 1 0 D0-D7 ← Puerto C 1 1 1 0 0 D0-D7 → Palabra de

Control

De acuerdo con la tabla que se muestra, puede conocerse la combinación que senecesita aplicar a las entradas para producir el traspaso de la información en cualquiersentido 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 entrelos periféricos y la computadora, se realice en forma serie, es decir, bit a bit de cadaocteto de dato. Por ejemplo, cuando se trasmiten datos entre dos computadoras a travésde una línea telefónica, el formato que se utiliza es el de la transmisión en serie.

Como la microcomputadora trabaja con los datos en paralelo, para trasmitir orecibir datos en serie es necesario un PIO que conecte datos de paralelo a serie yviceversa

La gran ventaja de la transmisión en serie es que necesita solamente dosalambres para trasmitir todas las señales necesarias entre módulos o sistemas. Por otraparte, la desventaja radica en que el intercambio de datos se realiza a menor velocidadque si fuera en paralelo.

Ej.: El circuito integrado 8251.

1.3.3- Unidad Central de Procesamiento (CPU).

Es el corazón de la microcomputadora, siendo la encargada de unificar elsistema a la vez que controla las funciones realizadas por las otras unidades .

Salida de Datos Serie

Entrada de Datos Serie

TxD

RxD

D0-D7

Rd

Wr

Clock

Cs

Bus de Datos

8251

Page 12: Introduccion a los microprocesadores

11

Esta unidad es capaz de buscar instrucciones en la memoria, decodificar sucontenido y ejecutarlas. Es la encargada de comunicarse con la memoria y con los PIDtantas veces como sea necesario durante la ejecución de un programa. La CPU deberátambién reconocer y responder a ciertas señales de control externo, tales comosolicitudes de interrupción u otras a fines. Lleva en su interior la base de tiempo quegenera los ritmos o impulsos de reloj de las diferentes partes del sistema .

Todas las instrucciones tienen dos tiempos fundamentales, llamados busca(fetch) y ejecución (execute). El tiempo de ejecución empieza por un subtiempo dedecodificación de la instrucción y prosigue con la parte de ejecución que puede tenervarios subtiempos , dependiendo del tipo de instrucción. La suma del tiempo de busca yel de ejecución, da lo que se conoce como ciclo de instrucción y el mismo depende nosolo del tipo de instrucción sino también de las características de velocidad de la CPU.

La CPU realiza también las operaciones aritméticas y lógicas, así como latransferencia entre acumulador, registros de trabajo, etc.

Cuando la CPU se fabrica en un solo chip, a dicha estructura como señalamosanteriormente, se le da el nombre de microprocesador. Por la importancia que tienenestos dispositivos, en los epígrafes siguientes de este material se realizará un estudiomás detallado del mismo.

2-Microprocesadores.

Pocas áreas de la electrónica han experimentado un progreso tan acelerado comoel ocurrido en el caso de los microprocesadores, las microcomputadoras y sus circuitosasociados correspondientes. La complejidad de los circuitos integrados prácticamente seha ido duplicando en cada año a partir de los inicios de la década de los 60.

Como consecuencia de este desarrollo, a finales de la década aparecieron loscircuitos integrados de gran nivel de integración (LSI) los cuales realizaban funcionesde un alto grado de complejidad. Ejemplo de ello fue el desarrollo de unidades lógico-aritméticos (ALU) en un chip, que podían ejecutar muchas de las funciones de lasmicrocomputadoras actuales como son la suma, la resta, rotación 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 otroselementos, todo dentro de un chip, para dar lugar a un rudimentario microprocesador.

La técnica de los microprocesadores implica una unión indisoluble entre elHARDWARE y el SOFTWARE. No será posible la construcción de un sistemacompleto si no se trabaja en ambos sentidos.

Una microcomputadora está compuesta por un microprocesador, circuitos deentrada-salida y las memorias, todo ello unido a los equipos periféricos, estandoíntimamente ligada la cantidad de estos elementos con las características de laaplicación particular.

El microprocesador es el puesto de mando donde se dirige el proceso de lacomputadora y en el que ocurre una buena parte de él. De este componente depende lavelocidad del proceso, el sistema operativo que se correrá e incluso una importanteporción del consumo energético del equipo y del costo del sistema. Está constituido porun chip de silicio cuya área aproximada en dependencia del modelo es de apenas 1.5cm2 y en este reducido espacio se encuentran dispuestos varios millones de transistoresque son los verdaderos actores de procesamiento lógico de la información.

Desde el más humilde Intel 4004 que en 1971 trabajaba a 0.2 MHz., hasta elimpresionante Pentium 4 de Intel con 3 GHz., todos los MP en esencia hacen lo mismo:

Page 13: Introduccion a los microprocesadores

12

reciben la información binaria y la procesan sobre la base de instrucciones predefinidasque generan una nueva información también binaria.

El MP reacciona constantemente a las instrucciones, pero no puede hacerlo contodas a la vez, porque estas se atascarían. Ello se resuelve mediante una espera delprocesador hasta que se aprueba la recepción de la señal. El reloj del sistema determinael tiempo de espera. A espacios definidos de tiempo, el reloj envía impulsos eléctricosque marcan al sistema el rango de estas esperas. Si una instrucción se halla en espera yel procesador no está ocupado con instrucciones previas, le da entrada y trabaja conellas. El número de instrucciones que el MP puede procesar por cada una de estaspulsaciones de reloj (ciclos) dependerá del diseño o arquitectura del mismo. En susinicios las CPU podían manejar una sola instrucción por ciclo, pero en la actualidad esacifra se ha incrementado notablemente a partir de dos concepciones aplicadas a laconstrucción de esos sistemas: la canalización y la ejecución superescalar.

La canalización permite que el procesador lea una nueva instrucción de lamemoria antes de terminar la fase de la instrucción en curso. Algunos de los modernosMP pueden trabajar simultáneamente con varias instrucciones. La profundidad del canalserá la medida del flujo de datos que puede aceptar el sistema. Digamos por ejemploque el 80486 tiene una profundidad de canal de 4, o sea, que hasta 4 instruccionespueden encontrarse en distintas etapas de canalización, ya en el pentium esa cifra es de5 y crece en el diseño de CPU con tecnología MMX y otros equivalentes como el K6 yen superiores como el pentium II.

La ejecución superescalar significa que el sistema posee más de un canal, lo quesignifica que puede procesar más de un grupo de instrucciones a la vez. Si bientécnicamente esto debería multiplicar el desempeño, en la práctica no es exactamenteasí, pues ocurre que un canal espera a que termine el otro. No obstante, en términosprácticos optimiza el funcionamiento del procesador.

En la historia de los MP han existido dos filosofías de diseño: la CISC y laRISC.CISC (Complex Instruction Set Computing), creada por IBM como un software sencilloalmacenado en el chip y que contenía las instrucciones para el procesador, permitiósalvar el escollo que representó la complejidad sucesiva de las aplicaciones de softwareque en otras circunstancias habría llevado al cambio constante del hardware en funciónde los programas. Al ejecutarse, los programas CISC ocupaban menos espacio enmemoria y esta última valía en los años 60 y 70 más que el oro. CISC se incluye en losprocesadores Mainframe de IBM, los Motorola 680X0 y es emblemático de losprocesadores Intel, principalmente de los X86 y todavía se utiliza en los pentiumactuales.

En el diseño RISC (Reduced Instruction-Set Computing), existen menosinstrucciones, cada una tiene una longitud de 32 bits y se ejecuta en un solo ciclo dereloj. Con esta arquitectura, los procesadores incorporan una caché de memoria de altavelocidad en la que se almacenan la secuencia de instrucciones a ejecutar. El uso eficazde tales datos depende en gran medida de la canalización, que en esta arquitecturaadquiere un protagonismo indiscutible. Bajo esta concepción se desarrollaron algunasde las CPU más poderosas en la actualidad tales como los Power PC de Macintosh,incluido el célebre 750, más conocido como G3, los alpha de las estaciones SiliconGraphics y los SPARC de Sun Microsystem. Incluso hasta unidades tan sencillas comolas máquinas de juego Nintendo, poseen en su interior uno de estos dispositivos.

Por sus innumerables aplicaciones los microprocesadores han invadido los másdiversos campos de la ciencia y la técnica, abarcando desde complejos sistemas decontrol o de computo hasta sencillos equipos electrodomésticos o de juguetería,

Page 14: Introduccion a los microprocesadores

13

incluyendo sistemas de comunicación de datos, diagnóstico médico, control numéricode máquinas herramientas y otros.

Dentro de las ventajas de los sistemas con los microprocesadores podemosseñalar las siguientes:a-) Pueden realizar muchas operaciones por software, en lugar de usar componenteselectrónicos.b-) Reducción del tamaño, no sólo del microprocesador, sino del resto de los circuitosque lo complementan.c-) Aumento de la fiabilidad, ya que disminuye el número de componentes.d-) Flexibilidad en el diseño.e-) Disminución de los costos tanto en diseño, como de la producción y reparaciones.

En cuanto a las desventajas mencionaremos:a-) El aprendizaje del software, pues cada microprocesador posee un juego deinstrucciones a las cuales responde.b-) Los métodos difíciles de prueba que deben hacerse a la velocidad de trabajo delmicroprocesador.

2.1) Estructura típica de un microprocesador de 8 bits. ( ver esquema anexo).

Aún el microprocesador más simple presenta una estructura compleja, pues enella se encuentran un gran número de nudos y unidades tales como sumadores,decodificadores, registros de todo tipo, flip-flops, esquemas lógicos, etc.

Por otra parte, la rapidez, potencia y complejidad de estos dispositivos seperfeccionan más cada día, por lo cual no es posible en un material de este tipo efectuarun estudio profundo de este aspecto, además de irse fuera de los objetivos que no hemostrazado con su escritura.

Es por ello que para brindar una idea general de la estructura y lograr unacomprensión más simple, analizaremos como se conforman los MP de 8 bits y para elloconsideraremos la existencia de dos bloques funcionales dentro del microprocesador, alos cuales denominaremos como bloque, subsistema o unidad de procesamiento, ybloque, subsistema o unidad de control.

2.2) Bloque de Procesamiento.

El núcleo fundamental del bloque de procesamiento lo constituye la unidadaritmética y lógica (ALU), la cual está conformada por un circuito combinacional capazde realizar las operaciones aritméticas (suma y resta) y lógicas (and, or, not, etc)indicadas en el código de la operación.

Para poder realizar su función 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 registrosa la misma vez. Uno de estos registros es más versátil que los restantes y recibe elnombre de acumulador, mientras que los otros registros se denominan de propósitogeneral.

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.

Page 15: Introduccion a los microprocesadores

14

El acumulador además de las funciones antes mencionadas podrá:-rotar su contenido-complementar su contenido-aceptar o enviar datos a los PIO-realizar operaciones aritméticas y lógicas con el contenido de cualquiera de losregistros de propósito general-en general el acumulador siempre es el origen de uno de los operandos y el destino delresultado.

Los dispositivos encargados de transferir el contenido del registro seleccionadohacia la entrada de la ALU son los llamados multiplexores. Igualmente otrosmultiplexores serán los que muevan la información desde la salida de la ALU hacia unregistro de destino, donde se mantiene la información hasta que sea requerida por algúncircuito externo. Todas estas operaciones son controladas por un circuito secuencial elcual se acopla a todos los registros y multiplexores. Por ejemplo, para unmicroprocesador de 8 bits, el acumulador y los multiplexores son dispositivos capacesde manejar una longitud de palabra de 8 bits, aunque en el caso de los registros depropósitos generales pueden en ocasiones utilizarse por parejas y conformar unaestructura de 16 bits.2.2.1) Registro de Indicadores.

Existe aquí además un registro sumamente importante denominado registro deindicadores o banderas, el cual trabaja muy vinculado a la ALU, ya que le va indicandoa ésta el estado de las operaciones aritméticas o de rotación que va realizando.

Por ejemplo en el MP 8080 el registro de indicadores posee 8 bits, pero sólo 5 deellos son significativos de acuerdo a la estructura que se muestra a continuación:

DO (ACARREO)-Se activa en 1 cuando al realizar una operación aritmética el resultadono cabe en el acumulador. Ejemplo: Binario Decimal 11011001 207 +10010001 145

Acarreo 101101010 452

Al realizar una operación de dos bytes se obtuvo como resultado un número de 9bits, haciéndose necesario entonces un 1 en el indicador de acarreo.

D2 (PARIDAD) - Si al efectuar una operación, el número de bits presente con el estadológico 1 es par (2, 4, 6 u 8), se fija un 0 lógico en el bit de paridad. De la misma forma

SD7

ZD6

XD5

ACD4

XD3

PD2

XD1

CD0

ACARREOPARIDADACARREOSIGNO

CERO

Page 16: Introduccion a los microprocesadores

15

si el número de 1 lógicos en el acumulador es impar (1, 3, 5 ó 7), se fija un 1 lógico endicho bit de paridad.Ejemplo: Si en el acumulador hay 11001100 entonces D2 es cero, pero si el contenidodel acumulador es 10101000 entonces D2 es 1.

D6 (INDICADOR DE CERO). - Se activa con 1 lógico cuando el resultado de laoperación en el acumulador da 00000000, y presenta un 0 lógico en caso contrario.

D7 (INDICADOR DE SIGNO). Si está en 1 lógico indica que el contenido delacumulador es negativo y el 0 lógico indica que es positivo.

D4 (ACARREO AUXILIAR).- El programador no tiene acceso a él. Se utiliza paraconvertir un número de binario a BCD.

En otros microprocesadores pueden emplearse otros tipos de indicadores.Algunos de ellos los relacionamos a continuación: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 lasactividades dentro del microprocesador. Entre sus funciones fundamentales se encuentrael decodificar (interpretar) los códigos de operación de las instrucciones del programa, yel generar las señales que viajan por el bus de control, las cuales deben estarsincronizadas para su correcta manipulación por el resto de las unidades.

Dentro de las secciones que constituyen esta unidad se encuentra el registro deinstrucciones, el decodificador de instrucciones y el contador de programa.

Un contador de programa típico para un microprocesador de 8 bits, almacenauna palabra de 16 bits. El contenido de este contador se corresponde con la localizaciónde memoria externa donde se encuentra la instrucción que se ejecuta por elmicroprocesador; o lo que es lo mismo, la dirección de la memoria que se encuentraactivada. Este contador se incrementa automáticamente en una unidad durante cadaciclo de máquina.

Cuando se inicia el proceso de ejecución de un programa, un circuito externo fijael contenido del contador de programa el cual será la dirección específica de la memoriaen la cual se encuentra almacenada la primera instrucción del programa. Estainstrucción se lee en la memoria, y mediante el bus de datos se traslada al registro deinstrucciones.

El registro de instrucciones es el encargado de almacenar temporalmente lainstrucción extraída de la memoria para que el decodificador de instrucciones determinecuál es la operación que se debe hacer. De acuerdo con ello este decodificador producirálas señales necesarias para encaminar los datos en un sentido o el otro, indicará queoperación deberá hacer la ALU y si hay que producir algún cambio en el contador de

Page 17: Introduccion a los microprocesadores

16

programa, a la vez que emitirá las señales para entrelazar todos los diversos registros delmicroprocesador que son necesarios para la ejecución del una instrucción en particular.

La unidad de control cuenta además con una sección de tiempo o sincronizaciónque realiza una función muy importante, pues el MP como ya hemos señalado a partirde la salida del decodificador de instrucciones tiene que especificar los ciclosapropiados de máquina que son necesarios para la ejecución correcta de dichainstrucción. Todo esto es posible lograrlo mediante la generación de la señal de controly de tiempo internas apropiadas y su envío a los diferentes elementos y componentesdentro y fuera de MP.

Para sincronizar todo este proceso los MP disponen de un generador interno depulsos llamados pulsos de reloj, cuya frecuencia se controla exteriormente mediante unared RC o modernamente mediante un CRISTAL conectado a sus terminales .

En el microprocesador se encuentran también presentes algunos registrosadicionales 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 sedenomina registro de direcciones de memoria (MAR); y entre la memoria y el registrode instrucciones en ocasiones se emplea un registro denominado registro de datos dememoria (MDR).

Cada instrucción programada por un usuario requiere de la realización de undeterminado número de operaciones internas denominadas microinstrucciones, y deaquí surge la necesidad de almacenar un cierto número de resultados intermedios. Elconjunto particular de microinstrucciones de un microprocesador se almacena en unaROM llamada ROM de control o microROM, la cual generalmente se encuentra dentrodel propio C.I. del microprocesador.

2.4) Temporización y Sincronización.

En cada microprocesador, el tiempo de duración de los eventos, o sea, lavelocidad a la cual se procesa, está determinado por los pulsos de reloj. Estos pulsosdifieren de un MP a otro, utilizándose en algunos de los casos un sólo tren de pulsos,mientras que en otros se emplean dos. En el ejemplo representado en la figura seemplean dos trenes o grupos de sucesión de pulsos Q1 y Q2, suministrando por ungenerador de reloj, llamado comúnmente sólo como reloj.

Cada tren de pulsos está compuesto de pulsos cuadrados idénticos en amplitud,duración y frecuencia de repetición, pero la fase Q1 está desplazada de la fase Q2 pormedio período, o sea, la salida de Q2 está demorada T/2 en relación con la salida de Q1.

El cambio de un estado a otro del MP se produce en sincronización con estospulsos de reloj. La secuencia de estados a través de los cuáles se desplaza el control

Período de reloj

1

2

Page 18: Introduccion a los microprocesadores

17

durante el procesamiento de una instrucción, es a lo que se le denomina ciclo deinstrucción.

La sucesión de estados (generalmente entre 3 y 5) en los cuales se efectúa unacomunicación con la memoria y se procesa el dato por este comunicado, constituye loque se conoce con el nombre de ciclo de máquina. En general un ciclo de instrucciónestá compuesto de uno o varios ciclos de máquina en dependencia de su complejidad.

2.5) Instrucciones que alteran el contador de programa .

Existen instrucciones que conllevan a una alteración del contenido del contadorde programas. Dentro de ellas se encuentran la realización 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) interrupción.

Siempre que se realice un salto a subrutina debe, después de haberla ejecutado,aparecer una instrucción de retorno, y el contador de programa debe retornar a su valororiginal desde donde saltó para continuar la ejecución 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 enla pila el contenido que tenia el contador de programa y así sucesivamente; esto permiteque al ir terminando la ejecución de cada subrutina se vaya retornando hacia elprograma principal con sólo llevar con cada instrucción de retorno el último dato queentró a la pila al PC.

Pero existe un detalle muy importante. Es necesario saber en que localización dememoria se encuentra el último dato que queda en la pila. Es por ello que existe elpuntero del stack.

Page 19: Introduccion a los microprocesadores

18

2.5.1)Puntero del STACK (SP).

Es un registro de 16 bits que se encuentra dentro del MP, encargado de indicar lapróxima localización posible de memoria a ser ocupada dentro del stack. Este registro secarga inicialmente con el código que representa la primera capacidad de memoria vacíaque será utilizada como pila y se irá decrementando en una unidad cada vez que seintroduzca un dato de 8 bits. Por cada dato extraído se produce un incremento.

Veamos cómo trabaja el puntero del stack mediante un esquema:

Si la salida del programa en lugar de ser por un salto a subrutina es por una interrupción,además de la dirección en que se estaba, en la pila se guardan los datos necesarios parapoder continuar la ejecución del programa.

2.5.2) Interrupciones.

Formalmente el tratamiento de interrupciones es bastante semejante al de salto asubrutina, pues en realidad es un salto a subrutina. Sin embargo, este es un nuevomecanismo con una función diferente y, por cierto, muy utilizado en las aplicacionescon microprocesadores.

En principio cuando un procesador ejecuta un programa no existe forma dealterar la frecuencia predeterminada (y que incluye, claro está, saltos y subrutinas).

En estas condiciones la CPU sólo se entera de acontecimientos externos (porejemplo llegada de datos o petición de resultados por parte de algún periférico), si serealiza por iniciativa del programa una verificación de dichos posibles acontecimientos.Ello obligaría al programador a incluir periódicamente subrutinas de comprobación deperiféricos y llevar en todo momento control de los tiempos de ejecución.

Las interrupciones son solicitudes de servicio que llegan por líneas especiales(en un mecanismo de hardware), y que pueden recabar la atención de la CPU en

PROGRAMA PRINCIPAL

PILA SUBRUTINA A PILA SUBRUTINA B

DR1

DR2

DR1

DR2DR1

PILA PILA

DR1

34

2

SP

SP

SP

SP

1

Page 20: Introduccion a los microprocesadores

19

cualquier momento. Después será cuestión del procesador el decidir si dicho servicio esprioritario o no sobre lo que estaba haciendo, y romper la secuencia en curso.

Como ya se ha dicho, formalmente una interrupción es muy parecida a un salto asubrutina, pero la llamada no se realiza por una instrucción especial sino activandoasíncronamente una línea especial (puede haber varias). La CPU termina la instrucciónen curso y después o sale hacia donde debe saltar o lo pregunta. Los detalles deben serestudiados en relación a cada máquina en concreto.

Existe sin embargo una diferencia muy importante entre el salto a subrutinadentro de un programa y el salto a la subrutina de atención a una interrupción. Cuandoel procesador la recibe, está ejecutando una tarea que en cada momento estárepresentada por un conjunto de informaciones de las cuales depende la evoluciónposterior de su trabajo, y que deben de ser preservadas si la tarea que está realizandoahora, más adelante ha de reemprenderse en el mismo punto en que se abandonó paraatender la interrupción.

Estas informaciones pueden ser resultados parciales o datos en memoria, datospresentados por el medio exterior, etc. que en principio no se pierden ni se alteran por elcambio de tarea pero también se necesita guardar todo el estado de la CPU, es decir, elcontenido de sus registros, pues estos van a sufrir alteraciones. Por tanto en el salto ainterrupción no basta con guardar el contenido de PC (dirección de retorno) sino que esnecesario guardar en principio los contenidos del acumulador, registro de estado,registros generales de trabajo, etc. Para ello se utiliza también el stack. Según elmicroprocesador que se trate, la salvaguarda del estado se realiza automáticamente alaceptar la interrupción, o bien el mismo programador lo incluye como primerasinstrucciones en la subrutina del servicio. De la misma forma la recuperación de estosdatos puede ser automática con la instrucción RTI (retorno desde interrupción), o bienpor 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 interrupción se deben utilizarcuando el tiempo de respuesta a la solicitud de atención por parte de un periférico ha deser lo más rápido posible.

La secuencia de operaciones es la siguiente:

- el periférico solicita señal de servicio a través de una señal que activa una desus líneas de interrupción

- la CPU completa la ejecución de la instrucción en curso, guarda el contenidodel contador de programa (para asegurar la dirección de retorno) y salta a ejecutar lasubrutina de interrupción, emitiendo una señal de reconocimiento a esta interrupción

- la subrutina de interrupción deberá, a veces, determinar el circuito que hasolicitado servicio, y en consecuencia, la dirección del programa que realmente se debeejecutar. También deberá guardar el contenido de los registros de trabajo, en el caso queno se haga en forma automática

- se ejecuta el programa de atención al periférico

- el contenido del contador de programa de los registros es restaurado y laejecución del programa que se había interrumpido se reanuda.

Page 21: Introduccion a los microprocesadores

20

2.6) Acceso directo a memoria.

El acceso directo a memoria es un procedimiento hardware que permite latransferencia de datos entre un periférico y memoria, solo limitado por la velocidad deacceso a memoria y sin intervención de la CPU. Este procedimiento se utiliza en latransferencia de datos y tiene que ser muy rápido, por lo que no puede ser controladopor el microprocesador. Tal es el caso de los visualizadores con tubos de rayoscatódicos, los cuales las velocidades de transferencia de datos que requieren son tanaltas, que no las permite ningún tipo de PIO bajo el control directo del microprocesadory su programa asociado.

La secuencia de operaciones que se utiliza es la siguiente:

- el periférico provoca una interrupción en un circuito especial denominadocontrolador de DMA.

- el controlador solicita la suspensión de la ejecución de trabajo al CPUmediante la señal de HOLD

- la CPU completa la instrucción que está ejecutando en el momento de recibir laseñal HOLD y entonces pone en tri-state (tercer estado) sus buses, y envía una señal dereconocimiento al controlador (HLDA)

- el controlador utiliza los buses para iniciar la transferencia, llevando el controlde la dirección de arranque y el número de bytes a trasmitir

- terminada la transferencia, el controlador desactiva la señal de HOLD,permitiendo a la CPU reanudar su tarea.

Existen circuitos integrados controladores de DMA que pueden gestionar varioscanales de acceso a memoria.

Algunos microprocesadores (8080, Z80, etc.) tienen independizado el acceso ala memoria y a las PIO mediante instrucciones diferentes (MOV A,M ; IN XX ; etc. ),esto implica la existencia de señales de control especializadas para cada tipo de acceso,de tal forma que se pueden diferenciar claramente los direccionamientos de memoria yde PIO. Por el contrario, existen otros (6800, etc.) que no tienen esta diferenciación ylas PIO ocupan posiciones reales en el direccionamiento de memoria y son tratadoscomo tales con el mismo tipo de instrucciones. El primer procedimiento tiene la ventajafundamental de independizar los procesos de memoria y I/O y tiene el inconveniente dela falta de flexibilidad en el tratamiento de la información, ya que todos losintercambios se realizan a través del acumulador; el segundo procedimiento tiene lasventajas de flexibilidad que se derivan de considerar los PIO como verdaderasposiciones de memoria en funciones de entrada-salida.

Los circuitos de I/O operan normalmente de una forma asíncrona respecto almodo de operación del microcomputador, y resulta necesario sincronizar la ejecucióndel programa con la operación de los circuitos I/O. El método adoptado depende deltiempo máximo de retraso que se permite en la atención a los acontecimientos quereflejan las I/O y de la posibilidad de intercalar las actividades de proceso con la deadquisición y emisión de datos. Las transferencias de datos de I/O se pueden organizarde las siguientes formas:

1) Operaciones de I/O por acceso directo a memoria (DMA).2) Operaciones de I/O controladas por interrupción.

Page 22: Introduccion a los microprocesadores

21

3) Operaciones de I/O controladas por programas.

Los dos primeros casos ya han sido explicados con anterioridad. En el tercercaso es el microprocesador a instancias del programa el que inicia y controla todos lostipos de transferencia de datos, o sea, la CPU solicita información de entrada o envíainformación a la salida, posicionando las señales correspondientes de direccionamientoy de control. Tiene como ventajas la facilidad de implementación de hardware ysoftware y la facilidad de intercambio, siendo su principal inconveniente su falta devalidez para control de procesos en tiempo real.

2.7) Operación paso a paso de un Microprocesador.

Aunque a primera vista el tratamiento de un MP como un elemento de circuitopudiera aparecer como una tarea muy compleja, cuando se mira como un dispositivoque pasa por múltiples estados, se simplifica notablemente y su operación paso a pasopuede describirse en términos más simples, como ilustramos a continuación medianteun ejemplo .

Veamos cuál es la actividad que se requiere realizar para imprimir un carácter elcual ha sido previamente cargado en el acumulador.

Asumimos que el periférico a considerar es una impresora: El software que necesitamosestá almacenado en la memoria y consta de tres palabras de 8 bits (3 bytes) quecontienen el código de la operación a imprimir seguido de dos bytes que definen ladirección de la impresora . Para imprimir el carácter, el MP transita por los nueveestados que se muestran en la figura:

Si nosotros asumimos por conveniencia que la frecuencia impuesta por el relojes de 1 MHz, nuestro circuito cambiará sus estados cada vez que transcurra 1microsegundo. La acción que se realiza en cada estado se explica a continuación:

Estado M1-T1. El contador de programa se conecta al bus de direcciones y coloca enéste la dirección de memoria en la cual está almacenado el primer byte.Simultáneamente un pulso de lectura es generado por la unidad de tiempo y control yenviado por el bus de control a la memoria, causando que el primer byte, o sea, elcódigo de operación, pueda ser leído de la memoria.

M1-T1

M1-T2

M1-T3

M2-T1

M2-T2

M3-T1

M3-T2

M4-T1

M4-T2

Page 23: Introduccion a los microprocesadores

22

Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo enresponder. Esto significa que cuando nuestro circuito entra en este estado, el primer byteya se encuentra en los terminales de salida de la memoria. Es por ello que en este estadoel registro de instrucciones (RI) se conecta al bus de datos, produciéndose el enlacedirecto entre la memoria y este RI, el cual recibirá la señal de control que le indica quedebe almacenar la información existente en la memoria y que se le envía a través delbus de datos. Note que el bus de direcciones no está siendo usado en este estado.Estado M1-T3. En este estado el código de operación se decodifica. La salida deldecodificador posibilitará la secuencia correcta de estados y las señales que debegenerar la unidad de control para que la instrucción sea correctamente ejecutada. Ennuestro caso elloimplica 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 acción realizada en este estado es idéntica a la del estado M1-T1, conla excepción que el PC ha sido incrementado.Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante unpulso correspondiente de control este graba el segundo byte en el lugar correspondiente(este es un registro de 16 bits).

Estado M3-T1. La acción es semejante a los estados M1-T1 y M2-T2, con la excepciónque el PC tiene la dirección del tercer byte.Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente bytecomponente de la dirección, generándose por la unidad de control las señales apropiadaspara 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 hemosrealizado el ciclo de búsqueda de la instrucción. En este punto dentro del MP se posee lainformación del código que define la operación, y la dirección de la impresora.

Estado M4-T1. El registro de direcciones se conecta al AB por lo que la informaciónque éste posee puede ser decodificada, generándose así la señal que permite identificar aque periférico se quiere acceder (en nuestro caso la impresora).Estado M4-T2. En este estado el acumulador se conecta al DB, y a través de éste y losinterfaces correspondientes se envía la información a la impresora. Al mismo tiempo, elinterface monitorea las señales de estado del MP en el bus de control, las cuales sonusadas para generar las señales de control necesarias para activar la impresora y permitirasí que el carácter en el acumulador se imprima.

Para concretar ideas vamos a describir la ejecución de un corto programareferido a un microprocesador de 8 bits (m=8) y direcciones de 16 bits (n=16) queutiliza las instrucciones LDA (load acumulator, carga del acumulador con el contenidode un registro de memoria ), ADD ( add acumulator, suma al acumulador el contenidode un registro de memoria ) , y STA (store acumulator, guardar el contenido delacumulador en un registro de memoria ).

El programa lee un dato de memoria en la dirección 006AH y lo guarda en elacumulador. Le suma el dato de al dirección 006BH y guarda el resultado en 0080H .

Page 24: Introduccion a los microprocesadores

23

El contenido de la memoria que nos afecta es el siguiente :

DIRECCIÓN CONTENIDO DIRECCIÓN CONTENIDO C000 B6(LDA) 006A 02 C001 00 ---- -- C002 6A ---- -- C003 BB(ADD) 006B 05 C004 00 ---- -- C005 6B ---- -- C006 B7(STA) 0080 ? C007 00 ---- -- C008 80 ---- --

En la zona C000H a C008H está contenido el programa, mientras que en 006AHy 006BH están los datos que vamos a manejar.

La secuencia de operaciones para la primera instrucción es:- El contador de programa PC coloca su contenido (C000H) en el bus de direcciones ABy de ahí se toma por el registro de direcciones de memoria MAR. A partir de ahí sedesencadena una operación de lectura en memoria a consecuencia de la cual, elcontenido de la dirección apuntada por PC (que es B6H) aparece en el registro de datosde memoria MDR. De éste es transferido al registro de instrucciones IR ysimultáneamente, el PC se incrementa en 1.- La decodificación de B6H indica que se trata de una instrucción de carga en elacumulador del contenido de la dirección indicada (contenida) en los bytes siguientesC001H y C002H. Para ello PC se incrementa dos veces y se producen dos nuevaslecturas, siendo 00 el resultado de la primera y 6A de la segunda, y esta información secarga en un registro temporal de direcciones TAR. La fase de búsqueda de lainstrucción ha terminado.- El contenido de TAR es enviado a MAR y se procede a una nueva lectura. El registroMDR coloca 02 en el bus de datos DB y de ahí pasa al acumulador. La primerainstrucción ha sido ejecutada.- Para la segunda instrucción las tres primeras fases de búsqueda son idénticas y al finalde ellas IR contiene BB y TAR 006B. En la fase de ejecución, el contenido de TAR esenviado 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 utilización general RUG. La ALU procedea sumar el contenido de este RUG con el contenido del acumulador ( 05+02=07 ) y elresultado se guarda en el propio acumulador. En PC se encuentra el contenido C006H.- Para la tercera instrucción también las tres primeras fases (búsqueda) son igualesquedando IR con B7 y TAR con 0080: En la fase de ejecución el contenido de TAR seenvía a MAR, mientras que el contenido del acumulador se lleva a MDR. Al final, en laposición 0080 queda escrito el resultado de 07 que es la suma de los datos almacenadosen 006AH y 006BH.

El programa analizado escrito en lenguaje nemotécnico sería: LDA 006AH ADD 006BH STA 0080H

Observamos que en el programa analizado no se produce la ruptura de secuenciapara la toma de decisiones, ni se ha hecho uso de subrutinas ni del mecanismo deinterrupciones. El estudiante interesado en profundizar en el tema de programación de

Page 25: Introduccion a los microprocesadores

24

microprocesadores deberá consultar los textos de referencia que aparecen al final delpresente material.

2.8-) Campo de aplicación de los microprocesadores

Como ya se ha dicho un MP es básicamente una CPU de ordenador, integradacon tecnología LSI. Visto de esta forma no representa más que un avance tecnológicoen el campo de los ordenadores, pero en realidad conlleva unas consecuenciasrevolucionarias, ya que representa una democratización de la informática y unageneralización de su uso que se manifiesta por ejemplo, en la aparición de losordenadores personales. Los efectos que se producen se aprecian clarísimamente en loscampos de la automática, las comunicaciones y la instrumentación.

Los Microprocesadores en efecto constituyen un pequeño mundo aparte. Su usoes diferente al de una microcomputadora, que en la gama de las máquinas de propósitogeneral, sería la más próxima a ellos. En efecto la microcomputadora aparecegeneralmente como un sistema cerrado en el cual el usuario no interviene más que conmucho para conectarle algún periférico extra o dotarle de un software específico para suaplicación. En cambio el diseñador de aplicaciones con microprocesador desciendehasta un nivel más profundo para construir un sistema a la medida, sin llegar sinembargo a convertirse en arquitecto de sistemas. El MP realiza una aplicaciónespecífica y fija de por vida, el hardware y el software son los estrictamente necesarios ala aplicación y en particular no suele disponer de software ni terminales de interacción,lo cual plantea problemas específicos de mantenimiento.

Las aplicaciones de los MP son fundamentalmente de control y de gestiónsencilla. Una vez realizado el diseño, el programa queda fijo, es decir, en general no seespera reprogramar, aunque posiblemente sí realizar de tarde en tarde nuevas versionesdel modelo, para lo cual interesa prever la expansión. Por lo general el programa de laaplicación va directamente albergado en memoria ROM, y una reducción del programase traduce en reducción del número de pastillas de CI y por ende en una reducción delcosto total. La consecuencia de esto es que la programación se cuida, en el sentido deacortarla, y, por ello, la programación en el ensamblador o incluso en el lenguaje demáquina se ha mantenido.

Una de las áreas mayores de aplicación de los sistemas con MP es laconcerniente a la sustitución de los circuitos electrónicos cableados en general a base deelementos de tecnología TTL. A partir de cierto grado de complejidad es interesanteimplementar el circuito a base de un sistema con MP. A la hora de la sustitución, hayque tener en cuenta algunas características, tales como la menor velocidad que sueleacompañar al sistema con MP, al tener que ejecutar de forma secuencial lasinstrucciones del programa para obtener las salidas apropiadas, mientras que en loscircuitos cableados, las entradas sólo tienen que atravesar los elementos operativos paraoriginar las salidas. Si el sistema con MP supera la limitación de tiempo expuesta, por logeneral en el resto de las consideraciones, supera al circuito cableado. Se destacanalgunas de sus ventajas:1-Menor tiempo requerido para el diseño y las pruebas del prototipo.2-Posibilidad de emplear tarjetas estándar que conforman la mayor parte del sistema. Eneste caso se reduce en gran manera los costos de montaje y verificación.3-Para cantidades muy importantes y bajo pedido directo al fabricante, existe laposibilidad de integrar en un solo chip la mayor parte del sistema. Esta alternativareduce los costos de montaje, verificación y material, mejorando los aspectosrelacionados con la reducción del volumen, aumento de fiabilidad y mayor

Page 26: Introduccion a los microprocesadores

25

competitividad. En estos casos ha de tenerse en cuenta que los fabricantes puedenproducir bajo demanda, chips específicos para una determinada aplicación.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-Reducción de costos en mano de obra y verificación.6-Importante aumento de la fiabilidad debido a la reducción de componentes en lossistemas con MP.7-Reducción importante del volumen y del gasto de energía consumida.8-Fácil introducción de programas de auto chequeo que facilitan la reparación y elmantenimiento del equipo.9-Capacitación del personal en general de la empresa, que le permite desarrollar en elfuturo nuevos y más avanzados productos que a veces serán permisibles a corto plazo.10-Mejoría de la imagen del producto y de la empresa que lo fabrica.

Una clasificación general de carácter básico que delimita algunos de los camposindustriales de más interés y desarrollo de los sistemas basados en MP es la siguiente:

1-Industria en general.2-Industria eléctrica y de electrodomésticos.3-Instrumentación y medidas.4-Terminales inteligentes.5-Juegos y derivados.

Los MP hoy en día cada vez más extienden su campo de aplicación y encuentrancada vez más un sin número de tareas que le son asignadas. De aquí que podamos ver amanera de ejemplo su amplio empleo en la instrumentación.

Podemos preguntarnos ¿qué nos da el uso de los MP en los instrumentos? ¿ cuáneficiente resultan los sistemas de medición basados en los MP ?

La respuesta a estas preguntas está dada por el hecho real que los MP estánrevolucionando la instrumentación electrónica, lo cual es verdad aunque suene un pocofantástico. El uso de los MP en la instrumentación ha mejorado notablemente laprecisión que se alcanza, ha expandido sus capacidades, ha incrementado suconfiabilidad y ha posibilitado la realización de tareas que anteriormente por sucomplejidad o duración prácticamente eran consideradas irrealizables.

Debido a la presencia del MP, han podido construirse instrumentos cada vez másversátiles y se han desarrollado procedimientos para la medición que resultan cada vezmás simples, en los cuales el ajuste, la calibración y la propia lectura, se realizan deforma automática. Todo ello posibilita una mejora sustancial del comportamiento delinstrumento y de sus características metrológicas.

El MP posibilita también el empleo de procedimientos de cómputo máseficiente, con un análisis estadísticos de los resultados y su posible linealización. Enmuchos instrumentos ha aparecido la posibilidad de programación, y lo que aún es másimportante han llegado a ser inteligentes.

La multifuncionalidad ha sido una consecuencia de la flexibilidad en lautilización de programas, pero paralelamente con esto, se ha logrado una reducción enel consumo de energía lo cual ha permitido el diseño de instrumentos cada vez mássencillos de operar por lo que el usuario puede lograra un gran ahorro de tiempo.

Page 27: Introduccion a los microprocesadores

26

En el esquema que a continuación mostramos está representado el diagrama debloques simplificado de un voltímetro digital con el empleo de MP.

El bloque acomodador de señal contiene principalmente un atenuador y unamplificador, aunque algunos instrumentos también presentan un circuito para rectificarla señal de corriente alterna.

El conversor análogo digital CAD es imprescindible para cualquier voltímetrodigital, incluyendo el que está basado en MP. Comúnmente el CAD que se emplea enlos sistemas de medición viene totalmente en pastillas de circuito integrado de altaintegración (LSI).

El MP organiza el procedimiento de medición, controla la operación de losrestantes bloques y ejecuta las operaciones aritméticas y lógicas con los datosprocedentes del CAD. El programa bajo el cual el MP opera, es preparado por elfabricante y almacenado en ROM, permaneciendo inalterable aún bajo el caso de unafalta de energía. La ROM almacena también algunas constantes usadas en variassubrutinas y los números requeridos para la calibración automática. La RAM se utilizapara guardar los datos obtenidos y temporalmente los resultados intermedios.

El dispositivo de salida sirve para mostrar los datos de la medición en formanumérica, o sea, como un conjunto de dígito.

El multímetro digital con MP es un instrumento multifuncional programable.Los programas y subrutinas que utiliza, determinan las funciones que este puederealizar. Los modelos ofertados por los fabricantes difieren unos de otros, pero engeneral tienen en común lo siguiente:- multiplicar un número por un factor de escala.- sustraer un valor constante a la lectura.- determinar la fracción de error en el resultado.- medir relaciones y presentar el resultado en tanto por uno o en decibeles.- procesar los datos estadísticamente.- calcular los valores estadísticos de los resultados (media, varianza, valor eficaz, etc.).

En general podemos plantear que en la época actual los MP se aplicanprácticamente en todas las ramas de la ciencia y la técnica, y con su ayuda es posible eldiseño de fábricas totalmente automatizadas que son capaces de trabajar de formaininterrumpida, con elevada productividad del trabajo y eficiencia. La base fundamentalde estas fábricas se encuentra en los robots, que se están construidos en base a los MP;además de la introducción de los llamados sistemas de dirección automática de losprocesos tecnológicos.

Por otra parte, se trabaja de forma intensiva en la simplificación de lacomunicación del hombre con esta técnica: Actualmente las instrucciones a la máquinase le dan fundamentalmente a través de un teclado, lo cual requiere de ciertapreparación por parte del operador y dificulta un poco el empleo de esta técnica porparte del personal y los especialistas no totalmente identificados con su uso.

Acomodador de señal

CAD Sistema Micro- procesador

Dispositivo

de Salida

Señal de Entrada

Page 28: Introduccion a los microprocesadores

27

La introducción de softwares cada vez más sencillos de operar y por ende más "amistosos" empleando el mouse, ha ayudado a simplificar la comunicación, pero sedesea desarrollar circuitos analizadores y sintetizadores de voz que faciliten aún más laentrada y salida de la información de las computadoras. Cuando se logre que estoscircuitos puedan fabricarse de manera compacta, y puedan ser reducidos a escala de loscircuitos integrados, podremos darles las instrucciones a la máquina mediante la voz ycon ello podemos comunicarnos con la máquina de manera semejante a como lohacemos con otro ser humano.

2.9-) Desarrollo de los microprocesadores.

La firma INTEL dio inicio a la fabricación de MP en 1972 con el 8008 y a partirde ahí ha desarrollado la fabricación de una larga serie de MP más potentes ycomplejos.

El 8080 y su versión más desarrollada que apareció posteriormente, el 8085,formaron parte de múltiples estructuras y equipos y tuvieron en su tiempo una granpopularidad 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 dedatos de 16 bits, un bus de direcciones de 20 bits y emplea operandos de 16 bits. Fuediseñado de forma tal de que fuese compatible con el nivel de lenguaje ensambladorempleado por el 8080A, por lo que cualquier instrucción de este último puede sersimulada por una combinación de instrucciones del 8086 y en general el grupo deregistros del 8080A es un subconjunto de los que posee el 8086. El 8088 es una versiónen 8 bits del 8086 desde el punto de vista de los buses de entrada y salida, pero presentaregistros internos d 16 bits, de igual forma que lo realiza el 8086.

El 80186 constituye una versión mejorada del 8086 que posee en su interior elgenerador de los impulsos de sincronismo, la lógica de control de interrupciones, losesquemas de temporalización y los controladores del acceso directo a memoria. Elesquema de este MP presenta un total de 68 terminales distribuidos en los 4 lados, yposee dos veces mayor productividad en comparación con el 8086, además de poseermayor capacidad de carga en sus líneas fundamentales.

El 80286 constituyó un perfeccionamiento mayor del 8086, con una estructurade 68 terminales que contiene también en su interior los esquemas para el control yborrado de la memoria. Existen modelos con frecuencias de trabajo de 8 y 10 MHz. ypresenta un grupo de registros que no presenta el 8086 que le posibilita la ejecución deuna serie de instrucciones adicionales. Posee una posibilidad mayor dedireccionamiento de memoria pues su bus de direcciones es de 24 bits.

En el desarrollo ulterior apareció en 1985 el 80386, que fue el primer procesadorde 32 bits de Intel con bus de datos y tamaño de registro de 32 bits. En el momento enque hizo su aparición este MP la mayoría de las microcomputadoras eran compatiblesAT, con bus de 16 bits. Esto hacía que montar una microcomputadora con un 386 fuesecomparativamente caro ya que implicaba un rediseño total de la arquitectura existente ycambiarla para 32 bits, es decir, cambio de la memoria, buses, etc. El costo queimplicaba era de por sí elevado, más aún teniendo en cuenta la no disponibilidad en elmomento de partes 32 bits compatibles.

Page 29: Introduccion a los microprocesadores

28

El 80386 operaba con velocidad de 16 MHz., pero rápidamente subieron hasta33, lo que le da la posibilidad de ejecutar de 3 a 5 millones de instrucciones porsegundo, además de que su capacidad de direccionamiento de memoria física alcanzalos 4 gigabytes. Los competidores de Intel, AMD y Cyrix llegaron a producirlo convelocidades de hasta 40 Mhz. Su arquitectura permite realizar simultáneamenteoperaciones de búsqueda de instrucciones, decodificación, ejecución y control dememoria. La aceptación y el éxito de este MP estuvo dado por mantener suscaracterísticas de compatibilidad con sus predecesores 8086, 8088, 80186, 80286, puesprácticamente todos los programas que fueron elaborados para estos últimos, tambiénson capaces de correr en el 80386.

Las microcomputadoras basadas en el 80386 operan con una mayor velocidad yestán capacitados para operar con sistemas operativos desarrollados especialmente paramáquinas de 32 bits lo que las hace más poderosas por tener la posibilidad de operar contareas independientes dentro de un sistema de tareas múltiples.

INTEL produjo como alternativa el 386SX, que no es más que un 386 "normal",o sea, compatible en su juego de instrucciones, registros internos, etc., sólo que sucomunicación con el exterior se hace por un bus de 16 bits. Por tanto la diferenciaclásica entre 386 DX y 386 SX está en su bus externo.

El 80486 ó I486 cómo se conoce al procesador desarrollado por INTEL es unMP tipo CISC (Complete Instruccion Set Computer) cuyas instrucciones más utilizadastranscurren en un sólo ciclo de reloj, que unido al alto grado de integración logradohace que las frecuencias de reloj sean más 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 más queel 386).

El I486 es un procesador de 32 bits interno y externo y está diseñado paratrabajar con sistemas de caché (basados en el controlador del propio INTEL 82385)cosa que no tenía el 386 en ninguna de sus dos versiones. Este caché L1 de 8 K, estádirectamente incorporada al procesador, lo que significó disminuir significativamentelos accesos a RAM y por tanto en funcionamiento más rápido y racional.

Ante el empuje de la competencia, INTEL lanza una variante más económica, el486 SX, que se diferenciaba del original porque no incluía el coprocesador matemático,o para ser más exactos, lo tenía desactivado. Para actualizar sus capacidades de puntoflotante al 486SX, Intel vendía 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 instaladodesconectaba el procesador original y asumía el control de la configuración.

Cuando fue evidente que el 486 se había afianzado en el mercado y ante lafacilidad de producir versiones cada vez a mayores velocidades, surgió un nuevoproblema: la necesidad de cambiar continuamente la tarjeta del sistema para adecuarla ala nueva velocidad. Sin embargo, al ser los accesos a los dispositivos del sistemasiempre mucho más lentos que la velocidad de operación del procesador, se podíapensar en aumentar exclusivamente la velocidad de estos, dejando externamente elsistema sin ningún cambio. Este fue el origen del 486 DX2 el cual opera al doble de lavelocidad de su tarjeta madre, es decir, en su versión DX2 a 50 MHz. el 486 estáoperando a 50 MHz. en un sistema a 25 MHz. El aumento cada vez mayor de lavelocidad ha hecho posible el surgimiento en 1994 de los DX4 y ya un DX4 a 100

Page 30: Introduccion a los microprocesadores

29

MHz. está montado sobre una tarjeta madre trabajando a la cómoda y más quesuficiente velocidad de 25 MHz. ó 33 Mhz. y sin embargo su procesador opera a 100MHz. Tales procesadores usaban un voltaje de 3.3 v con el fin de conservar bajosniveles de emisión del calor, aunque existieron versiones del DX4 a 5v que requirieronnuevas tarjetas madres y que llevaban ventiladores para refrescar el chip.

La tecnología SL de INTEL fue originalmente desarrollada para lograr unmedio razonable en la conservación de las baterías de las máquinas portátiles, pero se haextendido hoy en día a la familia completa de procesadores I486 y pentium.

La tecnología SL abarca una serie de requisitos y modos de operación quepermiten reducir el consumo de energía y cumplen con el programa Energy Star.

Entre ellas:

1- System Management Modem (SMM). Este es un nuevo modo operativo de losprocesadores SL que permite la reducción del consumo energético apagando losperisféricos o el sistema completo cuando lleva tiempo sin utilizarse.2.- Static Technology. Tecnología que permite a todos los procesadores SL detener sureloj, congelando el estado del mismo y el sistema de forma que puede ser reinicializadoen el mismo punto donde se detuvo.3.- Processor Clock Control. Permite colocar al procesador en un estado de letanía ybajo consumo, "Standby".4.- Alimentación de 3.3 volts. El hecho de que estos procesadores sólo requieren 3.3volts para su operación en vez de los típicos 5 volts, reduce el consumo energético en un60 %.Todo este sistema permite una disminución del consumo desde unos 250 watts hastaunos 30 watts. Esta lógica de reducción de potencia constantemente está monitoreandoal sistema buscando periféricos inactivos (Por ejemplo el disco duro). Una vezdetectado un dispositivo en este estado, genera una interrupción (System ManagementInterrupt-SMI) al procesador el cual pasa de modo real a SMM. Aquí se toma una"instantánea" de todo el sistema y se almacena su estado en una zona de memoriallamada SM RAM . Esta zona es inviolable y no puede ser accedida por ningúnSOFTWARE. El procesador ejecuta una rutina del BIOS que "apaga" al perisférico encuestión. El proceso inverso ocurre al activarse nuevamente el perisférico y esteprocedimiento es virtualmente instantáneo.

Ciryx con su 586 al que llamó M1 alcanzaba velocidades de 100 y 120 Mhz e incluíaun bus interno de 64 bits, un canal de 6 etapas (una más que el 486 ) y era compatiblecon las tarjetas madres del 486. No obstante sus excelencias, llegó tarde al mercadoganado en aquel tiempo por la descomunal campaña de Intel para sus pentiums.

INTEL sacó a la luz un nuevo MP conocido con el nombre de "Pentium" que seguíasiendo un procesador de arquitectura CISC pero incluyó varias tecnologías RISC en sudiseño que le permitieron alcanzar los 300 MIPS (millones de instrucciones porsegundo). Todas las versiones de pentium poseen más de 3 millones de transistoresintegrados y requieren radiadores con ventilador para disipar el calor de sufuncionamiento. El nuevo procesador ofrecía una arquitectura superescalar, dos canalesen lugar de uno como el 486 y la tecnología de predicción de ramificaciones que lepermitía minimizar las demoras que suceden cuando una instrucción compleja retrasa laejecución de otras. También incrementó el ancho de banda del bus hasta 64 bits. Incluyó

Page 31: Introduccion a los microprocesadores

30

dos cachés de nivel 1 (L1) independientes, uno para los datos y otro para lasinstrucciones de cálculo decimal que constituyen la base para las aplicaciones gráficas yde multimedia.

La competencia llegó, y AMD lanzó su K5 y Cyrix el 5X86. El K5 es un procesadorRISC y a diferencia de las dos etapas de canales del Pentium ofrece seis. Es en opiniónde muchos especialistas superior al Pentium, pero llegó tarde al mercado y no alcanzólos niveles de velocidad esperados, por lo que apenas logró difusión en la construcciónde ordenadores. Por su parte el 5X86 es un procesador totalmente CISC con dos canalesy seis etapas por cada uno de estos, lo que difiere del diseño del pentium con doscanales y cinco etapas y ofrece según los expertos una mejor predicción deramificaciones y ejecución fuera de orden. Es en suma un buen procesador, perotampoco logró hacerse con el mercado que siguió teniendo un único dueño.

Intel sorpresivamente cambió el standard que hasta ese momento había seguido en laindustria, ¿razones?, pues el auge de las aplicaciones multimedia y el peso que cobrarongrandes programas con complicados efectos gráficos, como los juegos para ordenador,que exigieron un mejor desempeño del hardware y específicamente de las CPU.

Así surge en 1997 el pentium MMX, (P-MMX) procesador que incorpora 57instrucciones adicionales, diseñado para mejorar la capacidad multimedia. Además elcanal aumentó de 5 a 6 etapas y los dos cachés L1 aumentaron de 8 a 16K y mejorómucho la predicción de ramificaciones, por lo que el MMX no es un retoque delpentium, sino que es de por sí un nuevo diseño cualitativamente superior.

En 1996, casi un año antes del P-MMX, Intel sacó el Pentium Pro (P-Pro). Parte en sudiseño de una concepción similar al pentium, pero ofrece avances tales como: una nuevaforma de ejecutar las instrucciones y un aumento de las etapas del canal de 5 a 14 con 3canales en lugar de 2 a una velocidad de ejecución resultante mucho mayor. Incluye uncaché integrado L2 de 256 K además de 2 cachés L1 de 16 K, que eleva enconsideración sus prestaciones, pero también su precio, y ello automáticamente lorelegó para la construcción de grandes servidores, lejos de los sistemas PC de usodoméstico o profesional más modestos.

En el centro del P-Pro existe un procesador RISC, mientras que las instruccionesCISCX86 se forman a partir de microinstrucciones RISC más sencillas y porconsiguiente se ejecutan con mayor rapidez. Tiene 5.5 millones de transistores loscuales generan una considerable cantidad de calor lo que exige el uso de disipadores ymicro ventiladores.

La solución a los problemas de costo y desempeño del Pentium-Pro llegó con laaparición en 1996 (y lanzado en 1997) del pentium II, (P II) que duplica las caches L1 a32 K y una nueva L2 de 512K, más 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 lamitad de la velocidad de este. P II incorpora también en las últimas versiones un bus de100 MHz, lo que mejora notablemente sus prestaciones. Como resultado, Intel pudoubicar en el mercado un procesador mas económico, aunque no tan rápido como el P-Pro, pero este inconveniente es mínimo pues se logró dejar atrás la barrera de los 450Mhz. Posteriormente existió un P II conocido como Xeón, optimizado para trabajar en

Page 32: Introduccion a los microprocesadores

31

servidores, que fue aceptado por los especialistas como relevo del ya entonces algodesfasado P-Pro.

En los predios del mercado apareció luego el esperado pentium III (P III) o Katmai quetenía como principal novedad la inclusión de 70 nuevas instrucciones conocidas comolas MMX2 o KNI (Katmai New Instructions). Trabaja a voltajes de 1,8 volts, poseetamaño más reducido y menor consumo energético, gracias a la tecnología de 0.25micras empleadas en su fabricación (próximamente a 0.18 micras). Los primerosmodelos, con núcleo Katmai, se fabricaron todos en el mismo formato Slot 1 de losPentium II, pero la actual revisión Coppermine de este micro utiliza mayoritariamenteel Socket 370 FC-PGA.

Muchos denominaron al Pentium III Coppermine "el auténtico Pentium III", porque altener sus 256 KB de caché secundaria integrados en el núcleo del micro su rendimientomejora en todo tipo de aplicaciones (incluso las no optimizadas).

El Celeron (Pentium II light), resultó ser un Pentium II sin la caché secundaria, fueconstruido para liquidar el mercado de placas base tipo Pentium no II (con socket 7, quese dice) y liquidar definitivamente a AMD y otras empresas que usan estas placas. Sinembargo, resultaba realmente muy poco recomendable, por poseer un rendimientomucho más bajo que el de Pentium II, pues era casi idéntico al del Pentium MMX.

AMD logró a finales del 97 el K6 que de inmediato fue un formidable contrincante parael P-Pro, con su favorable handicap de menor costo. Presenta una caché L1 de 64K, unaextensa tabla de predicción de ramificaciones, así como 7 unidades de ejecuciónparalela y el juego de instrucciones MMX. En las pruebas realizadas dejó atrás a losPentium MMX de igual velocidad de reloj y se acercó notablemente al desempeño delos Pentium II. Posteriormente se puso a la venta el K 6-2, que incorpora tecnología de0.25 micras y mejoraba notablemente el desempeño del procesador en cuanto avelocidad y capacidad multimedia, sentando un nuevo standard en las instrucciones3Dnow (algo así como un MMX para 3D).

El K6-III resultó ser un micro casi idéntico al K6-2, excepto por el "pequeño detalle" deque incluye 256 KB de caché secundaria integrada, corriendo a la velocidad del micro(es decir, a 400 MHz o más), al estilo de los Celeron Mendocino. Esto le hace muchomás rápido que el K6-2 (en ocasiones, incluso más rápido que el Pentium III) enaplicaciones que utilicen mucho la caché, como las ofimáticas o casi todas las de índole"profesional"; sin embargo, en muchos juegos la diferencia no es demasiado grande (ysigue 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 unaarquitectura totalmente nueva, que le permitió ser en su tiempo el más rápido en todotipo de aplicaciones. Con 128 KB de caché de primer nivel (cuatro veces más que elPentium III), bus de 200 ó 266 MHz (realmente 100 ó 133 MHz físicos con dobleaprovechamiento de cada señal), 512 ó 256 KB de caché secundaria (los 256 KBintegrados le posibilitaban ser más rápido), instrucciones 3DNow! para multimedia... yel mejor micro de todos los tiempos en cálculos matemáticos.

Su único y mínimo inconveniente radicaba en que necesita placas base específicamentediseñadas para él, debido a su novedoso bus de 200 MHz o más y a sus métodos deconexión, "Slot A" (físicamente igual al Slot 1 de Intel, pero incompatible con él... entreotras cosas porque Intel no quiso dar licencia a AMD para utilizarlo) o "Socket A" (un

Page 33: Introduccion a los microprocesadores

32

zócalo cuadrado similar al Socket 370, pero con muchos más pines). Los modelosactuales usan el núcleo Thunderbird, con la caché secundaria integrada.

El AMD Duron resultó un micro casi idéntico al Athlon Socket A (no existe para SlotA) pero con menos memoria secundaria (64 KB), aunque integrada (es decir, másrápida, la caché va a la misma velocidad que el micro); Con él se obtuvo una fantásticarelación calidad/precio.

Cyrix por su parte presentó el M II que posee un diseño superescalar, dos canalesseparados, 64K de caché L1, una novedosa caché auxiliar de 256k que aceleranotablemente el desempeño de la CPU y predicción múltiple de ramificaciones. Este esun procesador completamente CISC (a diferencia del K6 y del P II), que no llegó aalcanzar el desempeño del K 6, pero se situó dignamente en el sector de las llamada“máquinas 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 lafamilia Pentium.

Se trata de un micro peculiar: su diseño permite alcanzar mayores velocidades de reloj(más MHz... y GHz), pero proporcionando mucha menos potencia por cada MHzque los micros anteriores; es decir, que un Pentium 4 a 1,3 GHz puede ser MUCHOmás lento que un Pentium III a "sólo" 1 GHz. Para ser competitivo, el Pentium 4 debefuncionar a 1,7 GHz o más.

Por otro lado, incluye mejoras importantes: bus de 400 MHz (100 MHz físicoscuádruplemente aprovechados) y nuevas instrucciones para cálculos matemáticos, lasSSE2. Éstas son muy necesarias para el Pentium 4, ya que su unidad de coma flotante esMUCHÍSIMO más lenta que la del Athlon; si el software está específicamentepreparado (optimizado) para las SSE2, el Pentium 4 puede ser muy rápido.

Desde el punto de vista físico, el Pentium 4 necesita placas bases diseñadasespecíficamente para él. El chip en sí viene en formato zócalo y tiene 423 pines; portanto, su zócalo se llama "Socket 423". Necesita una carcasa, una fuente dealimentación (ambas ATX 2.03) y un ventilador y un disipador específicos, todo ellopor consideraciones de consumo y estabilidad, porque el sistema de fijación del sistemade refrigeración 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 tecnología"Advanced Transfer Cache " estrenada con el Pentium III; puede alcanzar 48 GB/s enel modelo de 1,5 GHz. Esto representa el doble de lo que puede hacer un Pentium III dela misma velocidad, y es mucho más de lo que puede alcanzar un AMD Athlon, sobretodo porque en éste la caché L2 tiene un bus de sólo 64 bits.

Finalmente, un detalle positivo: el núcleo del micro está mejor protegido que antes,gracias a un disipador de calor integrado sobre el mismo (por eso tiene ese aspectometálico).

Todos estos datos son para el Pentium 4 versión 1.0, pero el desarrollo de estos microsse ha venido perfeccionando En la actualidad existen procesadores mucho maspoderosos. La compañía Intel acaba de lanzar al mercado su nuevo procesador IntelPentium 4 de 3.0GHz y ya hoy se anuncian versiones capaces de trabajar a velocidadesmayores lo cual representa un salto bastante importante.

Page 34: Introduccion a los microprocesadores

33

En las plataformas no “Wintel”(elipsis de las palabras Windows e Intel) aparecen comonotables los SPARC concebidos para las estaciones UNIX de Sun y otrosdesarrolladores de este entorno, cuyo desempeño es la base, entre otros usos, de laindustria de los efectos especiales, muestra de los cuales son los filmes TITANIC yToy’s Story.

Por otra parte anda el G-3, corazón de los Macintosh, uno de cuyos modelos, el iMacbarrió 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. Flotantehasta el trabajo con gráficos y texturas en 3D, al P Pro y P II de 300 Mhz. montados enconfiguraciones similares. Tiene arquitectura completamente RISC, basada eninstrucciones más 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 sedesarrollan estos dispositivos y de la importancia que tiene para un profesional el poseerun mínimo de conocimiento de su evaluación y de sus posibilidades.

CONSIDERACIONES FINALES

El desarrollo explosivo de la técnica de los MP y su empleo cada vez más extendido enmúltiples campos de la ciencia, han obligado a la introducción de sus estudios en losprogramas de las asignaturas de electrónica que aparecen incluidos en los planes deestudio de las carreras de ingeniería .

Esperamos que con el estudio de este material los estudiantes puedan alcanzar unconocimiento elemental sobre esta temática y comprendan la importancia de desarrollaruna profundización ulterior en las aplicaciones vinculadas a la rama de la ingeniería queles corresponda.

Page 35: Introduccion a los microprocesadores

34

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 aplicación en la automatizaciónde máquinas 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.

Page 36: Introduccion a los microprocesadores

1

DATOS INSTRUCCIONES bus de datos

bus de control

+1

BLOQUE DE PROCESAMIENTO BLOQUE DE CONTROL

ESTRUCTURA TÍPICA DE UN MICROPROCESADOR de 8 bits.

MEMORIA PRINCIPAL

Registro de Direcciones

Registro de Instrucciones

DECODIFICADOR

Comandos o Direcciones

Contador dePrograma

Señales deSincronización Y Control

UnidadLógicoAritmé-tica

Registros DeUtiliza-Ción Gral.

ACU-MULA-DOR

Reg.In-dicado-res