CONCEPTOS Y FUNCIONALIDADES BÁSICAS

 

1.      Unidad Central de Proceso (CPU).

                                                               i.      Diagrama a Bloques de un Microprocesador.

                                                             ii.      Reloj.

                                                            iii.      Longitud de la Palabra.

                                                           iv.      Arquitectura.

                                                             v.      Coprocesador.

                                                           vi.      Arquitectura de Procesadores: CISC / RISC.

  1. Unidades Centrales
  2. ALU, Registros de uso General y Específico

                                                               i.      Unidad Aritmético Lógica. (ALU)

                                                             ii.      Registros Internos.

1.      Contador de Programa.

2.      Acumulador.

3.      Registro de Status o Señalizadores.

4.      Registros de propósito General.

5.      Registro Índice.

6.      Registro de puntero de Pila.

  1. Buses, Unidad de Control, Polling e Interrupciones

                                                               i.      Bus.

                                                             ii.      Comunicación del Microprocesador.

1.      Líneas de Datos.

2.      Líneas de Dirección.

3.      Líneas de Control.

                                                            iii.      Unidad de Control (UC).

                                                           iv.      Control de Interrupciones.

                                                             v.      Uso de las Interrupciones.

                                                           vi.      Ventajas y desventajas de las interrupciones.

                                                          vii.      Tipos de Interrupciones.

                                                        viii.      Respuesta a una interrupción.

                                                           ix.      Polling.

  1. Microprocesadores.

                                                               i.      Tipos de Conexión.

                                                             ii.      Valorización del Rendimiento de un Microprocesador.

                                                            iii.      Microprocesadores de 8 Bits.

1.      Introducción.

2.      Características generales Intel 8085.

3.      Terminales (PINOUT) del 8085.

4.      Puntero de Pila.

5.      Unidad Aritmético lógica.

6.      Registro de Instrucción y Decodificador.

7.      Generador Interno de Reloj.

8.      Interrupciones.

9.      Control de Entrada / Salida Serie.

10.  Reinicio e interrupción.

11.  Conjunto de Instrucciones del 8085.

                                                           iv.      Microprocesadores de 16 Bits.

1.      Los Microprocesadores 8086 y 8088.

2.      Historia del 8086 / 8088.

3.      Arquitectura de los procesadores 8086 y 8088.

4.      Registros de uso General del 8086 y 8088.

5.      Unidad Aritmética Lógica.

6.      Indicadores (FLAGS).

7.      Sistema de Control de la Unidad de Ejecución.

8.      Cola de Instrucciones.

9.      Registros de la Unidad de Interfaz con el Bus.

  1. Bibliografía.

 

MODULO II

UNIDAD CENTRAL DE PROCESO

CONCEPTOS Y FUNCIONALIDADES BÁSICAS

Los PC’s están constituidos por los siguientes dispositivos:

Todos ellos se comunican entre sí por medio de buses y ejecutan sus funciones específicas sincronizados por un reloj.

1. UNIDAD CENTRAL DE PROCESO (CPU)

Es el componente encargado de llevar a cabo el proceso de la información y regular la actividad de todo el sistema del ordenador. Está formada por una unidad de control que lee, interpreta y realiza las instrucciones del programa en ejecución, una unidad aritmético-lógica que ejecuta las operaciones lógicas y aritméticas, y una zona de registros o zonas de almacenamiento donde se guardan los datos que se están procesando. La unidad central de proceso suele denominarse con las siglas CPU (Central Process Unit) o UCP (Unidad Central de Proceso), procesador o microprocesador.

Las unidades centrales de proceso se caracterizan principalmente por la tecnología empleada (CISC o RISC), la longitud de la palabra de datos en bits, la utilización de coprocesadores y por la frecuencia de reloj en MHz.

DIAGRAMA A BLOQUES DE UN MICROPROCESADOR

Microcomputadora en una pastilla

 

Figura 1.- Diagrama de bloques de un microprocesador y de una microcomputadora en una pastilla

 

RELOJ

El ordenador posee un funcionamiento síncrono gobernado por un reloj, de tal manera que el tratamiento de la información se realiza con arreglo a una secuencia ordenada de operaciones en el tiempo.

El reloj genera los impulsos eléctricos que permiten sincronizar las operaciones, esto es, marca el principio, la duración y el final de cada operación. El número de impulsos generados se mide en Megahertzios (MHz) que indica el número de millones de pulsos generados por el reloj en un segundo.

           La frecuencia de reloj determina la velocidad en la transferencia de un dato entre dos dispositivos conectados al mismo bus (por ejemplo, lectura de una palabra de memoria por parte de la UCP). Para la transferencia completa de un dato pueden ser necesarios varios ciclos de reloj, en cada uno de los cuales son ejecutadas las operaciones más elementales que conforman dicha transferencia.

          El incremento de la velocidad de proceso en los ordenadores personales se ha conseguido gracias a la utilización de los últimos avances tecnológicos. Con el empleo de la tecnología VLSI (Very Large Scale Integration, Integración a Escala Muy Grande) disminuyen los costes asociados a todos los circuitos electrónicos.

LONGITUD DE LA PALABRA DE DATOS

           La longitud de la palabra de datos determina la cantidad de información que es capaz de procesar simultáneamente la unidad central de proceso en cada pulso de reloj. Se mide en bits. A mayor longitud de palabra mayor complejidad y circuitería necesaria en la UCP, pero mayor potencia de proceso.

ARQUITECTURA

El conjunto de registros que constituyen un sistema en particular y las transferencias de datos que sean posibles entre ellos forman la arquitectura del sistema. Los tipos de registro en el microprocesador y las posibles transferencias de datos entre ellos determinan la arquitectura del microprocesador.

Casi todos los microprocesadores contienen como mínimo lo siguiente:

1.                  Unidad aritmético y lógica (ALU).

2.                  Varios registros.

3.                  Contador de programa

4.                  Circuitería de decodificación de instrucciones.

5.                  Sección de control y temporización.

6.                  Cerrojos y buffers de datos.

7.                  Líneas de control y buses internos.

8.                  Varias entradas y salidas de control.

Además de estos elementos, una pastilla microprocesadora puede contener también algunas de las unidades funcionales siguientes:

1.                  Memoria ROM.

2.                  Memoria RAM.

3.                  Puertos de entrada/salida serie.

4.                  Circuitería de reloj interna.

5.                  Temporizadores programables.

6.                  Circuitería de arbitración de prioridad de interrupciones.

7.                  Lógica de interfaz de comunicación de E/S serie a paralelo.

8.                  Lógica de control de acceso directo a memoria.

COPROCESADOR

La arquitectura de un PC también puede contar con coprocesadores. Estos son microprocesadores especializados en la ejecución de determinados cálculos, que descargan de estas funciones a la unidad central de proceso. Su necesidad depende de la complejidad de las aplicaciones que van a ser ejecutadas.

ARQUITECTURAS DE PROCESADORES: CISC / RISC

La arquitectura CISC (Complex Instruction Set Computer) se caracteriza por disponer de un grupo muy amplio de instrucciones muy complejas y potentes. Es más antigua que la arquitectura RISC y por tanto su diseño está marcado por la tecnología existente en los años 60.

En las primeras arquitecturas los ordenadores tendían a aumentar su potencia a base de ampliar su repertorio de instrucciones y de añadir instrucciones más potentes. El hecho de que el tiempo de ejecución de una instrucción fuera de varios ciclos de reloj no representaba un problema puesto que las velocidades de la memoria de control eran muy superiores a las velocidades de la memoria principal. Así, aunque el proceso de las microinstrucciones se completase en un ciclo de reloj, no se podría continuar con el proceso de la siguiente instrucción inmediatamente, ya que estaría alojada en la memoria principal, de velocidad mucho más lenta que la memoria de control.

En los años 70, las mejoras tecnológicas permitieron tener velocidades en la memoria principal similares a la memoria de control, lo que hizo posible trabajar con instrucciones simples (que se completan en un ciclo de reloj) y por tanto acelerar considerablemente la ejecución de instrucciones (nada más terminar la ejecución de todas las microinstrucciones se empieza con la ejecución de la siguiente instrucción).

Esta arquitectura, denominada RISC (Reduced Instruction Set Computer), se caracteriza por poseer un juego de instrucciones lo más reducido posible con un porcentaje alto de ellas que se completan en un ciclo de reloj. Si hubiese que ejecutar alguna instrucción compleja, necesitaría más de un ciclo de reloj, pero la mayor parte de ellas se pueden realizar a partir de operaciones fundamentales. Por otra parte, es una constatación estadística que la potencia práctica de un ordenador reside en un conjunto pequeño de su repertorio de instrucciones, con lo cual si se reduce dicho repertorio se sigue conservando la potencia del ordenador, y disminuye la complejidad del diseño y el coste.

Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, ya que en RISC las instrucciones son más elementales. Pero el hecho de tener actualmente unos mecanismos rápidos de acceso a memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas, hace que los ordenadores RISC obtengan en general unos mejores rendimientos.

Ahora bien, algunas de las formas tradicionales de medir el rendimiento, como es el número de MIPS, no son adecuadas para comparar el rendimiento de máquinas CISC y RISC. Esto se debe a que los MIPS dan la cantidad de millones de instrucciones por segundo que desarrolla una máquina, pero no tienen en cuenta la potencia de esas instrucciones. Por el propio diseño de la arquitectura RISC, estas máquinas tienden a desarrollar más MIPS que las CISC.

2. UNIDADES CENTRALES

Las unidades centrales de proceso empleadas en los PCs pertenecen mayoritariamente a la familia Intel o compatibles (AMD, Cyrix o IDT). La familia Intel constituye el punto de referencia obligado para los otros fabricantes cuyos productos deben demostrar su compatibilidad con Intel. Todas ellas se basan en tecnología CISC y poseen una longitud de palabra de datos de 32 bits. La más reciente familia de microprocesadores Intel se compone de los modelos siguientes:

Modelo

Velocidades Alcanzadas (Mhz)

Tecnología empleada

486SX

16, 25, 33

1 micra

486SX2

50

1 micra

486DX

25, 33, 50

1 micra

486 DX2

50, 66

1 micra

486 DX4

75, 100

0.8 micras

486SL

16

1 micra

Pentium

60, 66, 90, 100, 120, 133, 150, 166, 200

0.8, 0.6, 0.35 micras

Pentium MMX

150, 166, 200, 233

0.35 micras

Pentium Pro

150, 155, 180, 200

0.6, 0.35 micras

Pentium II

233, 266, 300, 333, 350, 400

0.35, 0.25 micras

La familia de procesadores 486 vieron la luz en abril de 1989, y enterraron la antigua familia 386, al incorporar novedades como la memoria cache de primer nivel, de 8 o 16 KB, que aumentaban considerablemente las prestaciones del procesador. Dicha cache se encuentra incluída dentro del propio procesador.

Las unidades centrales de proceso 486DX y 486SX se diferencian por la existencia de un coprocesador matemático integrado en la primera y, por tanto, en sus prestaciones referidas a cálculo matemático.

El procesador 486DX2 es equivalente a el 486DX pero se caracteriza por incorporar una tecnología que duplica la frecuencia interna de reloj, esto es, la unidad central de proceso realiza las operaciones al doble de velocidad que el resto de componentes del sistema aumentando notablemente las prestaciones del ordenador.

La unidad central de proceso 486DX4 es análoga al 486DX pero internamente triplica la frecuencia de reloj, es decir, los componentes externos a la unidad central de proceso trabajan tres veces más lento que ésta. En la práctica constituye el procesador más rápido de la gama 486.

El procesador 486SL es una versión del 486DX que se caracteriza por haber sido específicamente diseñado para su utilización en ordenadores portátiles, cuidando sus necesidades especiales de baja potencia y ahorro de energía.

El salto en la velocidad del procesador sucedido con la aparición de los microprocesadores DX4 tuvo relación directa con el cambio en la tecnología de fabricación de los microprocesadores: hasta entonces, la tecnología empleada era de 1 micra, pero en estos nuevos procesadores se comenzó a emplear la tecnología de 0.8 micras, que proporcionó una mayor integración del chip, al poder incluir éste un mayor número de transistores, y también un notable aumento en la velocidad del procesador, como consecuencia de emplear una tecnología más evolucionada.

Una característica importante de la familia 486 de Intel es la capacidad de actualización de la unidad central de proceso mediante el denominado OverDrive, cuyo nombre identifica indistintamente al zócalo vacío que el fabricante puede incluir en la placa base como al procesador que se puede insertar en dicho zócalo. Esta facilidad resulta altamente recomendable pues permite aumentar la vida útil del ordenador.

El Pentium, aparecido en marzo de 1993, fue el procesador que significó un salto cualitativo en velocidad y prestaciones dentro la familia Intel. Su novedoso diseño le posibilitaba la ejecución de hasta dos instrucciones por ciclo de reloj. Se trata de un procesador con una longitud de palabra de datos externa de 64 bits e interna de 32, que incluye una memoria cache de primer nivel de 16 KB. Las primeras versiones continuaban empleando la tecnología de 0.8 micras, lo que posibilitó al Pentium llegar a la velocidad de 100 Mhz, pero el paso a las 0.6 micras permitió alcanzar velocidades de hasta 150 Mhz. Finalmente, un nuevo salto a la tecnología de 0.35 micras permitió al Pentium alcanzar los 200 Mhz.

A continuación se presenta el índice ICOMP para algunos de los procesadores de la familia Intel. El índice ICOMP evalúa las prestaciones del procesador para poder establecer comparaciones y no refleja el diseño de un equipo en particular :

En noviembre de 1995 apareció el Pentium Pro, desarrollado inicialmente con tecnología de 0.6 micras, y con las velocidades de 150 y 166 Mhz. Su principal novedad fue la inclusión de una memoria cache de segundo nivel de 256KB o de 512KB dentro del propio procesador, que alcanza la misma velocidad que el procesador, lo que le permitia superar ampliamente las prestaciones ofrecidas por su hermano pequeño, el Pentium, que aunquetambién suele contar con una cache de este tipo, se tiene que situar fuera del procesador, por lo que no alcanza la velocidad de éste, y su velocidad es del bus, normalmente de 66 Mhz.

Pero en enero de 1997, Intel sacó el mercado nuevos procesadores Pentium que incluían la tecnología que ha supuesto el más significativo avance en el campo de los procesadores en los últimos años: la tecnología MMX. Esta tecnología consiste en 57 nuevas instrucciones de procesador que permiten un rendimiento en el campo multimedia y en las comunicaciones bastante superior, ofreciendo además otra serie de posibilidades. De esta manera, Intel consiguió abrirse camino dentro del creciente campo de la multimedia. Estos procesadores, llamados Pentium MMX, han alcanzado velocidades de 166, 200 y 233 Mhz. Además, cuentan con una cache de primer nivel de 32 KB, lo cual les proporciona una ventaja adicional respecto a los Pentium convencionales, llegando incluso a superar las prestaciones del Pentium Pro a 150 y 166 Mhz.

La aparición de la tecnología MMX, y el alto coste que produce incluir la cache de segundo nivel dentro del procesador, jubiló anticipadamente a los Pentium Pro, dando lugar a la aparición, en mayo de 1997, del Pentium II, que ya incluye la tecnología MMX. Además cuenta con una novedosa arquitectura de bus, llamada "Arquitectura de doble bus independiente", que resuelve el problema del alto coste de la cache de segundo nivel. Dentro de la carcasa del Pentium II hay dos buses: uno se comunica con el bus del sistema, mientras que el otro se comunica con la memoria cache de segundo nivel, de 512 KB, que se encuentra fuera del propio procesador pero dentro de carcasa que envuelve a éste. Este segundo bus alcanza la mitad de la velocidad del procesador, con lo que se consiguen unas prestaciones muy buenas, reduciendo los costes de producción. Los Pentium II, fabricados con tecnología de 0.35 micras, alcanzan una velocidad de hasta 300 Mhz. Además, la novedosa tecnología empleada en la fabricación del Pentium II le permite ejecutar hasta 3 instrucciones por ciclo de reloj.

A continuación se presenta un esquema de la Arquitectura de Doble Bus del Pentium II:

En Enero de 1998 aparece el primer procesador fabricado con tecnología de 0.25 micras, el Pentium II con velocidad de 333 Mhz. En abril de 1998 aparecen los Pentium II a 350 y 400 Mhz, también fabricados con tecnología de 0.25 micras. Dicha tecnología es la actualmente la mejor disponible en el mercado, pudiéndose llegar con ella a velocidades de 500 Mhz. También aparece el procesador Celeron a 266 Mhz, versión reducida del Pentium II que no contiene cache de segundo nivel, a costa de un menor coste de fabricación.

A continuación se presenta el índice ICOMP 2.0. ( versión modificada del índice ICOMP que contempla las novedades de los últimos procesadores) para algunos de los procesadores Pentium, Pentium MMX, Pentium Pro, PentiumIIy Celeron de la familia Intel:

Aparte de Intel, existe otras tres compañías que fabrican procesadores para el mundo de los PC compatibles: AMD, Cyrix e IDT.

AMD tiene en su serie de procesadores más recientes el AMD K5, que proporciona unas prestaciones y características similares a las del Pentium clásico. Del K5 existen los modelos PR75, PR90, PR100, PR120, PR133 Y PR166. Los números que aparecen en el modelo del procesador indican que las prestaciones ofrecidas por el procesador son similares a las del Pentium de Intel que funciona a dicha velocidad, es decir, dichos modelos no alcanzan esta velocidad de reloj sino que es un poco inferior. Señalar que estos modelos llevan una cache de primer nivel de 24 KB frente a los 16 KB del Pentium. A continuación aparece el AMD K6, del cual existen tres modelos: K6 a 166 Mhz, a 200 Mhz y a 233 Mhz. En este caso sí que se trata de la auténtica velocidad de reloj. Se trata de procesadores similares al Pentium II,que llevan incluídas el conjunto de instrucciones MMX, si bien su rendimiento es menor a su equivalente en velocidad de reloj. Como contrapartida, su precio es mucho más asequible. Por último, el procesador de más reciente aparición en el mercado es el AMD K6 3D, con modelos a 300 y 350 Mhz que incorporan un nuevo conjunto de instrucciones para acelerar los gráficos 3D, multimedia, etc.

Respecto a Cyrix, se pueden encontrar los 6x86L, equivalentes a los Pentium, si bien sólo alcanzan hasta los 120 Mhz; los 6x86MX, equivalentes a los Pentium II, de los que existe los modelos PR166, PR200 y PR233, si bien tampoco se trata de la velocidad real, sino de la comparación con las prestaciones ofrecidas por los procesadores de Intel a dicha velocidad. Por otro lado aparece el revolucionario procesador MediaGX a 200 Mhz, que integra al propio procesador, un chip de sonido, un chip gráfico, el controlador de memoria y el conjunto de chips que controlan el bus PCI. Con ello se consigue que los gráficos y el sonido se procesen a la velocidad del procesador y no a la del bus, a la vez que permiten que la construcción de ordenadores a partir de este procesador sea mucho más económica.

Por último aparece IDT, empresa que aparece en el mercado en 1997, que cuenta con un procesador llamado C6, de 225 y 240 Mhz, similar al Pentium MMX, que no alcanza las prestaciones de éste, pero cuyo precio es mucho más económico, y con el procesador C6+, fabricado con tecnología de 0.25 micras, que cuenta con una velocidad de 300 Mhz, un conjunto de instrucciones 3D y una cache de segundo nivel de 256 KB dentro del chip, con lo que sus prestaciones se acercan a las del correspondiente Pentium II de Intel, contando con la ventaja del precio mucho más económico.

Los Macintosh emplean dos modelos de unidades centrales de proceso: la familia PowerPc y la familia Motorola.

La familia PowerPc se compone hasta el momento de la unidad central de proceso 601, que está constituido por un bus de 32 bits y trabaja a frecuencias de 60, 66 y 80 MHz; la 602 con velocidades de hasta 200 Mhz, y la unidad 603, con bus de 64 bits y que alcanza hasta los 275 Mhz. Esta unidad central de proceso utiliza tecnología RISC y su principal virtud es su gran velocidad de proceso, pudiendo ejecutar hasta tres instrucciones por ciclo de reloj. Aunque la aparición de la unidad central de proceso PowerPc es muy reciente, es de esperar que paulatinamente vaya incrementando su penetración en el mercado dadas sus elevadas prestaciones.

En cuanto a la familia Motorola su gama se compone por los modelos 68030 (16, 25 MHz), 68040 (25, 33 MHz), 68050 (33, 50, 66 Mhz), 68060 (75, 90, 100, 120, 150 Mhz), 68070 (166, 200, 233, 266 Mhz) y 68080 (hasta los 400 Mhz). Son procesadores CISC con 32 bits de longitud de palabra de datos, en el caso de los modelos 68030, 68040, y de 64 bits en el resto.

La selección del procesador más adecuado en cada caso dependerá tanto de la naturaleza de las aplicaciones a explotar (orientada a las necesidades de unidad central de proceso, de entrada/salida, etc.) como del modo de operación del equipo en cuestión (modo monousuario versus multiusuario, multitarea, etc.). Sobre estos puntos se tratará en los apartados de análisis de necesidades y factores relevantes en el proceso de adquisición.

3. ALU, REGISTROS DE USO GENERAL Y ESPECÍFICO

UNIDAD ARITMÉTICO-LÓGICA (ALU)

           La unidad aritmética y lógica, llamada también unidad de cálculo, es la encargada de efectuar el conjunto de operaciones con las que está dotado el ordenador. Se compone de registros y de un conjunto de circuitos lógicos responsables de realizar las operaciones lógicas y aritméticas prefijadas desde la etapa de diseño del ordenador.

Las operaciones aritméticas o lógicas en uno o dos operandos constituyen las transformaciones básicas de datos implementadas en un microprocesador.

El microprocesador contiene una unidad aritmética y lógica, ALU, para dicho fin. Uno de los dos registros de la ALU, el acumulador, contiene un operando; el otro, un registro temporal, contiene el segundo. El resultado de una operación aritmética o lógica se coloca en el acumulador al final de la operación, reemplazando a uno de los operandos originales.

La ALU es capaz de realizar las siguientes operaciones en datos binarios:

1.      Suma y resta binaria.

2.      AND, OR, EX – OR lógico.

3.      Complemento.

4.      Rotación a la izquierda o a la derecha.

La ALU contiene también un cierto número de biestables llamados flags, que contienen información relativa al resultado de la operación aritmética o lógica. Reunidos, dichos flags constituyen el registro de flags. Por ejemplo, un flag indica si tuvo un acarreo del bit más significativo después de una operación de suma; otro flag indica que el resultado del acumulador después de alguna operación aritmética o lógica es cero. La mayoría de los microprocesadores contienen varios flags.

En muchas aplicaciones es apropiado representar datos en decimal codificado en binario, BCD. La ALU mostrada contiene lógica adicional para ajustar los resultados de operaciones de suma cuando los operandos son interpretados como datos BCD.

REGISTROS INTERNOS

Los registros internos son unidades de almacenamiento temporal dentro de la CPU. Algunos de ellos tienen usos específicos, mientras que otros son de propósito general.

Contador de Programa.

El contador de programa (PC) es el registro que contiene la dirección de la siguiente instrucción del programa. La longitud del contador de programa es igual que la anchura del bus de direcciones. El contador de programa normalmente contiene 16 bits en los microprocesadores de 8 bits pero es mayor en la MPU de 16 y 32 bits.

Acumulador.

El acumulador es el registro o registros asociados a las operaciones de al ALU y a veces a las operaciones de E/S. Puede ser de 8,16 o 32 bits. Las MPU del 8080/8085,6800 y 6502 tienen todas acumuladores de 8 bits. Algunos procesadores (68000 y Z8000) tienen sólo registros de propósito general que pueden ser utilizados como acumuladores.

Registro de Status O Señalizadores.

El registro de status está en todos los microprocesadores. Los bits individuales del registro se denominan señalizadores. Las condiciones de los señalizadores se asocian, generalmente, a las operaciones de la ALU y son utilizados por instrucciones de bifurcación posteriores para tomar decisiones.

Registros de Propósito General.

Los registros de propósito general pueden utilizarse para almacenar datos temporalmente o para que contengan una dirección. No tienen asignada ninguna tarea específica. En los microprocesadores de 8 bits, los registros de propósito general no pueden funcionar como un acumulador en la ALU y en operaciones de E/S. Sin embargo, las MPU de 16 bits habitualmente permiten que los registros de propósito general se utilicen como acumuladores.

Registro Índice.

El registro índice se utiliza para que contenga la dirección de un operando cuando se utiliza el modo de direccionamiento indexado (8080/8085,6800,6502,Z80,8086). Los registros de propósito general son utilizados como registros índice en los microprocesadores Z8000 y 68000.

Registro del Puntero de Pila.

El puntero de pila (SP) es un registro especializado que sigue la pista de la siguiente posición de memoria disponible en la pila. La pila es un área reservada de la RAM utilizada para almacenamiento temporal de datos, direcciones de vuelta y contenido de registros. La pila se utiliza durante las llamadas a subrutina y durante las interrupciones.

BUSES, UNIDAD DE CONTROL, POLLING E INTERRUPCIONES

BUS

Entre los componentes básicos que definen la estructura de un ordenador hay que incluir el bus. Constituye el medio físico a través del cual se comunican entre sí todos los componentes de un ordenador. Su capacidad y rendimiento deben estar en correspondencia con la demanda de servicio que realizan los componentes a él conectados, tales como la unidad central de proceso, la memoria, etc.

Un bus se puede caracterizar desde el punto de vista tecnológico por varios factores, de los cuales los más significativos son su longitud de palabra de datos, el protocolo de arbitrio y su velocidad de transferencia en MegaBytes/s.

El bus de datos original de los primeros PCs es la arquitectura ISA (Industry Standard Architecture) que maneja palabras de 16 bits y posee una velocidad de transferencia de 10 MB/s. Esta arquitectura constituye la base de la mayoría de los equipos instalados aunque puede ocasionar cuellos de botella cuando se trata de dar servicio a periféricos de alta velocidad como por ejemplo al sistema gráfico.

La solución a este problema ha sido abordada desde varias alternativas. La primera es la denominada arquitectura EISA (Extended Industry Standard Architecture) que está constituida por un bus de 32 bits, proporciona una velocidad de transferencia de 33 MB/s y mantiene plena compatibilidad con las tarjetas ISA. Aún siendo tres veces más rápida que la arquitectura ISA, su rendimiento es inferior a la demanda de servicio realizada por el sistema gráfico, por lo que su presencia prácticamente se reduce a servidores de red de área local como segundo bus de baja velocidad.

La arquitectura MCA (Micro Channel Architecture) está también constituida por un bus de 32 bits y una velocidad de transferencia de 40 MB/s. Esta arquitectura posee como principal inconveniente la incompatibilidad absoluta con la arquitectura ISA. Ello significa una amenaza potencial a las inversiones realizadas previamente en tarjetas de ampliación. En la actualidad su utilización es residual en la línea de equipos PS/2 de IBM.

Otra posible solución ha sido propuesta bajo el nombre de VL-Bus (Vesa Local Bus), que utiliza un bus de 32 bits y ofrece una velocidad de transferencia de 132 MB/s. Esta solución presenta la ventaja de sus elevadas prestaciones a cambio de soportar un número pequeño de periféricos y ser dependiente de la unidad central de proceso utilizada. La solución adoptada mayoritariamente por los fabricantes consiste en la utilización de esta arquitectura para los componentes más rápidos del ordenador, tales como el sistema gráfico y el sistema de almacenamiento en disco, y el empleo de la arquitectura ISA para dar servicio a los periféricos más lentos. Esta arquitectura soluciona eficazmente los problemas más críticos de la arquitectura ISA y resuelve las necesidades actuales en cuanto a potencia y rendimiento del ordenador.

La quinta alternativa, denominada arquitectura PCI (Peripheral Component Interconnect) está también constituida por un bus de 32 bits con velocidad de transferencia de 33 Mhz en sus primeras versiones, y de 64 bits con 66 Mhz de velocidad en las más actuales, . La arquitectura PCI presenta como principales ventajas sus elevadas prestaciones, la configuración automática de periféricos y su independencia con respecto a la unidad central de proceso utilizada. El enfoque adoptado por los fabricantes es similar al utilizado en la arquitectura VL-Bus: conectan al bus PCI los componentes más rápidos del ordenador y emplean la arquitectura ISA para dar servicio a los periféricos más lentos. Esta arquitectura ha sido diseñada para trabajar con unidades centrales de proceso de altas prestaciones (Pentium, PowerPc, etc.) y ha conseguido el respaldo de los grandes fabricantes de ordenadores.

En la práctica la arquitectura VL-Bus domina los equipos basados en 486 mientras que la arquitectura PCI constituye la base de la mayoría de equipos basados en Pentium y Pentium II.

            La asociación de fabricantes PCMCIA (Personal Computer Memory Card International Association) ha desarrollado un bus de 32 bits que presenta, como principales ventajas, la capacidad de configuración automática de los periféricos y la posibilidad de insertar o extraer tarjetas del equipo sin necesidad de apagarlo, pero al mismo tiempo adolece de inconvenientes potenciales en cuanto a posibilidad de intercambio de tarjetas entre equipos de distintos fabricantes. La arquitectura PCMCIA se diseñó por requisito exclusivo de la industria de ordenadores portátiles y hoy en día es el estándar de este tipo de ordenadores. Existen distintos tipos de tarjetas PCMCIA dependiendo de su grosor: tipo I (3,3 mm), tipo II (5 mm) y tipo III (10,5 mm). Lo más conveniente en un portátil es que posea el mayor número posible de ranuras del tipo III, pues en ellas se podrá conectar cualquier tarjeta PCMCIA.

Los Macintosh utilizan la denominada arquitectura NUBUS, que está constituida en torno a un bus de 32 bits y presenta como principal ventaja la incorporación de una ranura de expansión denominada PDS (Processor Direct Slot) que permite la comunicación directa con la unidad central de proceso.

Sin embargo, hay que tener en cuenta que el bus del puerto de vídeo funciona a 33 Mhz, con lo que sólo puede alcanzar una velocidad de transferencia de 133 MB/s, cantidad que se alcanza fácilmente con una aplicación de elevada potencia gráfica.. Para solucionar este problema, se ha desarrollado un nuevo bus denominado AGP (Puerto Gráfico Acelerado), empleado exclusivamente para el puerto de vídeo, pues son las aplicaciones gráficas las que mayor uso hacen del bus. Una ventaja del puerto AGP es que libera al bus PCI de todas las tareas gráficas, aumentando de esta manera el ancho de banda del resto de periféricos que utilizan dicho bus. El estándar AGP se basa en las especificaciones del propio estándar PCI, pudiendo acogerse a tres formatos distintos, mediante los que se obtienen distintas velocidades:

Especificación

Velocidad de bus equivalente

Velocidad de transferencia alcanzada

Transferencias de datos x ciclo de reloj

AGP 1X

66 Mhz

266 MB/s

1

AGP 2X

133 Mhz

533 MB/s

2

AGP 4X

266 Mhz

1066 MB/s

4

Teniendo en cuenta que el bus AGP (al igual que el PCI) es capaz de procesar 4 bytes de información de forma simultánea, y que la velocidad del bus AGP es de 66 Mhz, se comprueba que el estándar AGP 4X puede alcanzar la velocidad de 66Mhz x 4 bytes x 4 transferencias = 1066 MB/s, cantidad muy superior a los 533 MB/s que puede gestionar el resto de bus del sistema, de 64 bits a 66 Mhz.

El esquema de funcionamento del bus, incorporado el nuevo bus AGP es el siguiente:

Durante 1998 se han desarrollado nuevos buses que alcanzan los 100 Mhz, con los que la velocidad de transmisión de datos del ordenador llega hasta los 800 MB/s, aún insuficiente para alcanzar los 1066 MB/s del estándar AGP 4X.

A continuación se presenta un gráfico que muestra la evolución de la arquitectura y velocidad del bus en los ordenadores montados en la era del Pentium (1995-1997) y en la era del Pentium II (a partir de 1998).

Merece una mención aparte el USB (Universal Serial Bus), mediante el cual se pretende la desaparición de los puertos de conexión en serie, en paralelo, el puerto del ratón, teclado, etc. Este bus permite conectar hasta 128 periféricos, que serán reconocidos automáticamente por los sistemas operativos que soporten este estándar. Con este bus se facilita la conexión de los distintos periféricos que pueden conectarse a la placa de un ordenador personal.

COMUNICACIÓN DEL MICROPROCESADOR

Un microprocesador se comunica con los otros circuitos del sistema a través de grupos de líneas de interconexión o buses de interconexión. Con base en el tipo de información que conducen, las líneas de interconexión se pueden agrupar en tres buses: datos, direcciones y control.

Líneas de Datos.

Los microprocesadores transfieren datos e instrucciones entre la MPU y memoria (o E/S) vía un bus de datos bidireccional. El 6800, 6502, Z80 y 8088 son procesadores que utilizan buses externos de datos de 8 bits. Muchos miembros de la familia 8080 multiplexan direcciones o información de control en las líneas de datos parte del tiempo.

Líneas de Dirección.

Los microprocesadores más antiguos (8080/8085,6800,6502) utilizan buses de dirección de 16 bits que pueden direccionar solamente 2 exp16 o 64 K de memoria. Las MPU más modernas de 16 bits tienen buses de direcciones de 16,20 o 23 bits. Un bus de direcciones más ancho permite direccionar memorias mayores.

Líneas de Control.

La mayoría de los microprocesadores se caracterizan porque tienen todas o algunas de las siguientes líneas de control:

1.-  Líneas de reloj.

2.-  Líneas de lectura/escritura.

3.-  Líneas de entrada/salida.

4.-  Líneas de interrupción.

5.-  Líneas de reinicialización.

6.-  Líneas de control del bus.

7.-  Líneas de status del ciclo.

Además de los buses de interconexión externos existen otros dentro del microprocesador que sirven para comunicar entre sí a la ALU, los registros internos y la unidad de control. A éstos se les denomina BUSES INTERNOS.

UNIDAD DE CONTROL (UC)

La circuitería de control es la unidad funcional primaria dentro del microprocesador. Utilizando señales de reloj, la unidad de control mantienen la secuencia de eventos apropiada para llevar a cabo cualquier tarea de procesamiento. Es decir, el microprocesador es un dispositivo síncrono. La actividad fundamental de un microprocesador, regulada por la unidad de control, es cíclica y consiste en la búsqueda y obtención de datos e instrucciones, y en la ejecución secuencial de estas últimas. Después de que una instrucción ha sido obtenida y decodificada, la circuitería de control envía las señales apropiadas a dispositivos tanto internos como externos a la CPU, para iniciar la acción de procesamiento indicada por la instrucción. Frecuentemente, la unidad de control es capaz de responder a señales externas que alteran el estado del microprocesador, ya sea interrumpiendo temporalmente su funcionamiento o provocando la ejecución de instrucciones especiales.

El corazón de la unidad de control lo constituye el GENERADOR DE CICLO DE MÁQUINA (GCM) , que se encarga de producir las señales de control, derivándolas de un reloj u oscilador maestro como referencia.

           La unidad de control es la encargada de gobernar el funcionamiento del ordenador.

           La UC tiene como responsabilidad recibir e interpretar cada instrucción a ejecutar por el ordenador, para posteriormente transformarla en una serie de microinstrucciones a muy bajo nivel, particulares para cada arquitectura de ordenador.

            La UC dispone de la circuitería necesaria para leer la dirección de memoria que contiene la instrucción a ejecutar, localizar dicha instrucción y escribirla en un registro destinado para tal fin en la UC (registro de instrucción). Posteriormente otro elemento de la unidad de Control (Decodificador) transforma la información de este registro en una información más amplia e inteligible para el secuenciador.

           El secuenciador analiza e interpreta la salida del decodificador, y en función de esta información ejecuta un microprograma contenido en la memoria de control, que produce las microinstrucciones necesarias para que se ejecute la instrucción.

           Esta forma de ejecutar las instrucciones (por firmware) es propia de las UC programadas que son las más extendidas. Existen otro tipo de UC, llamadas UC cableadas donde las instrucciones están implementadas por hardware.

          Al finalizar la ejecución de la instrucción en curso, el registro contador de programa contiene información sobre la dirección de memoria en que se encuentra la siguiente instrucción que debe ejecutarse. Por tanto, una vez finalizada la ejecución de una instrucción, la circuitería de la UC lee de este registro contador de programa la dirección de la instrucción siguiente para su ejecución, volviendo nuevamente a comenzar el ciclo.

 

            Si la instrucción es compleja, generará muchas microinstrucciones y algunas de ellas necesitarán varios ciclos de reloj para completarse. Como la ejecución de la instrucción se dará por terminada cuando se hayan ejecutado todas las microinstrucciones, esta instrucción compleja necesitará varios ciclos de reloj para su finalización.

CONTROL DE INTERRUPCIONES

Una interrupción (Interrupt) se puede definir como una señal proveniente de un dispositivo externo, que llega a una entrada del microprocesador dedicada a este propósito y que le indica al microprocesador que el dispositivo que la originó está solicitando el servicio.

Cuando ocurre una interrupción, el microprocesador suspende temporalmente la ejecución del programa principal y transfiere el control a una subrutina especialmente diseñada para atender al dispositivo que provocó la interrupción, a esta subrutina se le denomina SUBRUTINA DE SERVICIO DE LA INTERRUPCIÓN (Interrupt Service Routine) o MANEJADOR DE INTERRUPCIÓN (Interrupt Handler). Al terminar el servicio, el microprocesador regresa al programa principal, continuando con sus actividades normales. Desde este punto de vista, una interrupción es esencialmente una llamada a subrutina iniciada por un circuito externo (hardware) y con un retorno por programa (software).

Además las interrupciones tienen la característica de que son eventos asíncronos, es decir, pueden ocurrir en cualquier momento durante la ejecución del programa principal sin posibilidad de hacer una predicción exacta. Por ello hay que hacer consideraciones especiales y tener cuidados adicionales al manejarlas.

USOS DE LAS INTERRUPCIONES.

Las interrupciones se utilizan:

A)                En la detección de eventos catastróficos para el sistema, tales como las fallas súbitas en las fuentes de alimentación. Por medio de una interrupción el microprocesador puede ser alertado a tiempo de preservar la información vital y desconectar los dispositivos que puedan dañarse.

B)                En dispositivos donde el microprocesador no necesita obtener información con mucha frecuencia. Por ejemplo, en sistemas de alarma, ya que el microprocesador no sabe cuando va a aparecer una situación que requiera sus servicios. El dispositivo genera una interrupción cuando llega el momento, y mientras tanto el microprocesador puede ejecutar otras tareas.

C)                En la atención a dispositivos periféricos que son mucho más lentos que el microprocesador: teclados, pantallas, impresoras. En vez de que el microprocesador los espere, es más eficiente que los dispositivos lo interrumpan cuando tengan algo nuevo que enviar o estén listos para recibir.

D)                En el servicio de periféricos de alta velocidad (discos) o dispositivos para los cuales sea muy difícil mantener la información hasta el momento en que el microprocesador la solicite.

VENTAJAS Y DESVENTAJAS DE LAS INTERRUPCIONES.

Ventajas:

1.-  Liberan al microprocesador de la pérdida de tiempo causada por esperar a que ocurra cierto evento.

2.-  Permiten la ejecución de un programa principal junto con el control simultáneo de varios dispositivos externos.

3.-  Proporcionan servicio prioritario a dispositivos críticos dentro del sistema.

4.-  Facilitan la detección de eventos en “tiempo real”.

Desventajas:

1.-  Pueden ser necesarios circuitos externos adicionales para la generación de la señal de interrupción y la identificación del dispositivo.

2.-  Dada su naturaleza asíncrona, es muy difícil probar su funcionamiento, y todavía más, encontrar posibles fallas.

3.-  Pueden requerir instrucciones adicionales además de las estrictamente necesarias para dar servicio al dispositivo. Por ejemplo, para preservar registros o identificar al dispositivo.

TIPOS DE INTERRUPCIONES.

Un microprocesador puede tener entradas para responder a dos tipos de interrupciones: inhibibles (maskables) y no inhibibles (non maskables).

Cuando se activa una entrada de interrupción no inhibible, el microprocesador siempre es interrumpido, es decir, la señal de interrupción es aceptada bajo cualquier condición. Esto hace que las interrupciones no inhibibles sean las más apropiadas para manejar eventos catastróficos tales como la pérdida de energía.

Cuando se activa una entrada de interrupción inhibible, el microprocesador reconoce la interrupción solamente si esa entrada se encuentra habilitada. Las entradas de interrupción inhibibles se habilitan bajo el control del programa. Si la entrada está inhabilitada, el microprocesador ignora la interrupción. En la siguiente figura se muestra la configuración interna de las entradas de interrupción inhibible y no inhibible en un microprocesador.

Una entrada de interrupción no inhibible se puede habilitar externamente por medio de una señal proveniente de un puerto de salida.

RESPUESTA A UNA INTERRUPCIÓN.

En respuesta a una interrupción el microprocesador realiza las siguientes operaciones:

v     Se completa la instrucción que está en proceso.

v     Se ejecuta un ciclo de máquina especial, durante el cual se almacena el contenido del contador del programa y se transfiere el control a una dirección apropiada.

v     Se inicia la ejecución de la subrutina de servicio a la interrupción, preservando el estado de la CPU si esto es necesario.

v     Si son varios los dispositivos que pudieron haber causado la interrupción, se identifica aquel que haya solicitado la interrupción primero y tenga mayor prioridad.

v     Se ejecuta la parte de la subrutina de servicio que compete directamente a la atención del dispositivo que interrumpió.

v     Se restaura el estado original del microprocesador.

v     Se devuelve el control a la instrucción siguiente, a aquélla donde ocurrió la interrupción.

La siguiente figura muestra la secuencia descrita. Cada etapa requiere de una cierta cantidad de tiempo. La combinación de los tiempos para un microprocesador dado, junto con la circuitería externa de interrupción, determinan la velocidad de respuesta del microprocesador a una solicitud de servicio generada por un dispositivo E/S.

                                       INTERRUPCIÓN

                     1                                                                                  

 

                        1        2        3       4       5            6    7

 

Secuencia de acciones asociadas con la respuesta a una interrupción.

El tiempo que transcurre entre la ocurrencia de la interrupción y el inicio de la ejecución de la subrutina de servicio se conoce como el TIEMPO DE RESPUESTA y es la suma de los tiempos de las etapas 1 a 4. A diferencia entre el tiempo total que el microprocesador dura interrumpido y al tiempo real de ejecución de la subrutina de servicio se les llama sobrecarga (overhead).

El número de circuitos adicionales requeridos para producir la respuesta a una interrupción varía mucho. Algunos microprocesadores construyen internamente la instrucción que transfiere el control a la subrutina de servicio; otros necesitan circuitos externos para generar la instrucción de transferencia de control o para formar la dirección de la subrutina de servicio.

El número de entradas de interrupción que tenga el circuito integrado de un microprocesador determina el número de respuestas que puede producir sin hardware o software adicionales. La CPU solamente puede generar una instrucción o dirección diferente por cada entrada de interrupción.

Si el número de dispositivos que pueden provocar una interrupción excede al número de entradas de interrupción, el microprocesador necesitará hardware o software extra para identificar el causante de la interrupción. En el caso más simple, el software puede ser una subrutina de encuesta o muestreo (polling) que revise el estado de los dispositivos que pudieran haber interrumpido. La solución alternativa es hardware adicional que proporcione una clave específica o “vector” para cada dispositivo. Las dos alternativas se pueden mezclar; los vectores pueden identificar grupos de dispositivos y en ellos se puede detectar un dispositivo particular por medio de muestreo (polling).

 

 

 

 

 

 

 

 

Microprocesadores

Es el cerebro del ordenador. Se encarga de realizar todas las operaciones de cálculo y de controlar lo que pasa en el ordenador recibiendo información y dando órdenes para que los demás elementos trabajen. Es el jefe del equipo y, a diferencia de otros jefes, es el que más trabaja. En los equipos actuales se habla de los procesadores Pentium MMX y Pentium II/III de Intel además de las alternativas de AMD (familias K6 y K7) y Cyrix (6x86, MII).

 TIPOS DE CONEXIÓN

El rendimiento que dan los microprocesadores no sólo dependen de ellos mismos, sino de la placa donde se instalan. Los diferentes micros no se conectan de igual manera a las placas:

VALORACIÓN DEL RENDIMIENTO DE UN MICROPROCESADOR

El microprocesador es uno de los componentes que hay que prestar más atención a la hora de actualizarlo, ya que en su velocidad y prestaciones suele determinar la calidad del resto de elementos. Esta afirmación implica lo siguiente: por ejemplo, en un Pentium de baja gama es absurdo poner 8 Mb. de RAM y un disco duro de 3 ó 4 Gb; y en un PII de alta gama también es absurdo poner 32 Mb. de RAM y un disco duro de 2 Gb. Hay que hacer una valoración de todos los elementos del ordenador, actualmente en las tiendas suelen venderse digamos "motores de un mercedes en la carrocería de un 600". Esto tenemos que evitarlo. Además del microprocesador, la velocidad general del sistema se verá muy influenciada (tanto o más que por el micro) debido a la placa base, la cantidad de memoria RAM, la tarjeta gráfica y el tipo de disco duro. Profundizar sobre estos temas se escapa de esta sección de microprocesadores, accede a la sección de componente en particular para más información.

Hoy día, hay que fijarse el propósito de la utilización del ordenador para elegir el correcto microprocesador. Por ejemplo, si se va a trabajar con los típicos programas de ofimática (Word, Excel...), un 486 con Windows 95 y 16 Mb. de RAM es más que suficiente, al igual que para navegar por Internet. Sin embargo, según sean más complejos los programas, más complejos serán los equipos. Los programas multimedia y enciclopedias, requieren un procesador Pentium de gama media. A los programas de retoque fotográfico se les puede poner también un procesador Pentium de gama media, aunque influirá sobre todo la memoria RAM (harán falta un mínimo de 128 Mb. para un rendimiento óptimo, según nuestras pruebas). Y últimamente se está incitando a la adquisición de equipos mejores debido sobre todo a los últimos juegos 3D, descompresión MPEG-2 por software para visualizar DVDs (la tarea la realiza el micro conjuntamente con la tarjeta gráfica)... y a un nivel menos doméstico, la renderización de gráficos tridimensionales o la ejecución multitarea de servidores de red. Para esto, nada es suficiente, por ello los micros son cada vez más y más rápidos y complejos. Aunque si lo que quieres son juegos, mejor decántate por una aceleradora 3D, ya que se tiene una experiencia mejor en un Pentium a 133 MHz con una Voodoo Graphics que en un Pentium II/K6-2 a 300 MHz sin aceleradora. Lo ideal, lógicamente, es un PII/K6-2 con una aceleradora gráfica

Y ya por último, diremos que el disipador + ventilador puede reducir la temperatura del micro unos 40 grados centígrados y aumentar el rendimiento un 30%. En los procesadores actuales este componente es imprescindible para el funcionamiento del microprocesador, que de lo contrario terminaría quemado.

 

MICROPROCESADORES DE 8 BITS

INTRODUCCIÓN

El siguiente microprocesador creado por la empresa Intel fue el 8085 en 1977. La alimentación es única: requiere sólo +5V. Esto se debe a la nueva tecnología utilizada para la fabricación llamada HMOS (High performance N-channel MOS) que además permite una mayor integración, llegando a la VLSI (Very Large Scale of Integration o muy alta escala de integración) con más de diez mil transistores (el 8085 no es VLSI, pero sí el 8088, como se verá más adelante). Tiene incorporado el generador de pulsos de reloj con lo que sólo hace falta un cristal de cuarzo y un par de capacitores externos (para el 8080 se necesitaba el circuito integrado auxiliar que lleva el código 8224). Además está mejorado en lo que se refiere a las interrupciones. Incluye las 74 instrucciones del 8080 y posee dos adicionales (RIM y SIM) referidas a este sistema de interrupciones y a la entrada y salida serie. El bus de datos está multiplexado con los ocho bits menos significativos del bus de direcciones (utiliza los mismos pines para ambos buses), con lo que permite tener más pines libres para el bus de control del microprocesador (el 8080 necesitaba un integrado especial, el 8228, para generar el bus de control). Intel produjo ROMs, RAMs y chips de soporte que tienen también el bus multiplexado de la misma manera que el microprocesador. Todos estos integrados forman la familia MCS-85.

Debido a la gran densidad de integración comparado con el 8080, se utilizó mucho este microprocesador en aplicaciones industriales. Sin embargo, para aplicaciones de computación de uso general, se extendió más el uso del microprocesador Z-80 como se indicó en el apartado referente al 8080.

CARACTERISTICAS GENERALES  INTEL 8085

Al igual que el microprocesador generico, la MPU 8085 utiliza registros de 8 y 16 bits. El 8085 tiene 8 registros direccionables de 8 bits. Seis de estos registros pueden utilizarse como registros de 8 bits o como registros de 16 bits. _demas, el 8085 contiene dos registros mas de 16 bits. Los registros del 8085 son los siguientes:

1) El acumulador (registro A) es el foco de todas las operaciones del acumulador que incluyen instrucciones aritmeticas, logicas , de carga y almacenamiento y de E/S. Es un registro de 8 bits

2) Los registros ede proposito general BC, DE y HL pueden ser utilizados como seis registros de 8 bits o como tres registros de 16 bits dependiendo de la instruccion que se vaya a ejecutar . Como en el microprocesador generico, el registro HL llamado puntero de datos por intel puede ser apuntado a direcciones. Pocas instrucciones utilizan los registros BC yDE como punteros de direccion , Ya que normalmente se utilizan como registros de datos de proposito general.

            3) El contador de programa (PC) siempre señala la posicion de la memoria de la siguiente instruccion que se va a ejecutar . Siempre contiene una direccion de 16 bits.

            4) El puntero de pila (SP) es un puntero de direccion de proposito especial (o puntero de dato ) que siempre apunta ala parte superior de la pila de la RAM . Es un registro de 16 bits .

            5) El registro de señalizadores contiene cinco señalizadores de 1 bit que contienen informacion del estado de la CPU. Estos señalizadores son utilizados entonces por instrucciones de bifurcacion condicional, llamada, y vuelta de subrutina.

Los cinco señalizadores encontrados en la CPU del 8085, y son los siguientes:

El señalizador de arrastre es puesto a 1 o 0 p[or operaciones aritmeticas y su estatus es examinado por las instrucciones del programa. Como en el microprocesador generico, un over flow (rebose ) de una suma de 8 bits hara que el bit se ponga a 1. En la resta el señalizador de arrastre es puesto como un señalizador de "prestamo", indicando que el minuendo es menor que el sustraendo si el señalizador es esta a 1.

El señalizador de cero se pone a uno si el resultado de ciertas instrucciones es cero. Este esta en cero si el resultado no es cero. La accion de señalizador de cero se observo en el microprocesador se observo en la parte generica del mismo.

El señalizador de signo(S) indica la condicion del bit mas significativo del acumulador despues de la ejecucion de instrucciones aritmetico logicas. Estas instrucciones utilizan el MSB signo a uno representa un numero contenido en el acumulador . Un señalizador de sino a uno representa un numero negativo, mientras que a cero significa un numero positivo.

El señalizador de arrastre auxiliar (AC) indica un over folw o arrastre del bit 3 del acumulador de la misma forma que el señalizador de arrastre indica un overflow del bit 7. Esta señalizacion es uutilizada comunmente en BCD.

El señalizador de paridad (P) examina el numero de bits 1. Si este contiene un numero par de uno , se dice que existe paridad par y el señalizador de paridad se pone a 1. Sin embargo, si el acumulador contiene un numero impar de 1, el señalizador de paridad del 8085 se pone a cero.

TERMINALES (PINOUT) DEL 8085

 

Este microprocesador estaba encapsulado en el formato DIP (Dual Inline Package) de 40 patas (veinte de cada lado). La distancia entre las patas es de 0,1 pulgadas (2,54 milímetros), mientras que la distancia entre patas enfrentadas es de 0,6 pulgadas (15,32 milímetros).

Nótese en el gráfico el semicírculo que identifica la posición de la pata 1. Esto sirve para no insertar el chip al revés en el circuito impreso.

Las funciones de las 40 patas con las que se conecta el 8085 con el exterior son las siguientes:

Pata

Nombre

Descripción

1

X1

Entre estas dos patas se ubica el cristal

2

X2

3

RESET OUT

Para inicializar periféricos

4

SOD

Salida serie

5

SID

Entrada serie

6

TRAP

Entrada de interrupción no enmascarable

7

RST 7.5

Entrada de interrupción (máxima prioridad)

8

RST 6.5

Entrada de interrupción

9

RST 5.5

Entrada de interrupción

10

INTR

Entrada de interrupción (mínima prioridad)

11

/INTA

Reconocimiento de interrupción

12

AD0

Bus de direcciones y datos multiplexado

13

AD1

Bus de direcciones y datos multiplexado

14

AD2

Bus de direcciones y datos multiplexado

15

AD3

Bus de direcciones y datos multiplexado

16

AD4

Bus de direcciones y datos multiplexado

17

AD5

Bus de direcciones y datos multiplexado

18

AD6

Bus de direcciones y datos multiplexado

19

AD7

Bus de direcciones y datos multiplexado

20

GND

Referencia de tierra. Todas las tensiones se miden con respecto a este punto.

21

A8

Bus de direcciones

22

A9

Bus de direcciones

23

A10

Bus de direcciones

24

A11

Bus de direcciones

25

A12

Bus de direcciones

26

A13

Bus de direcciones

27

A14

Bus de direcciones

28

A15

Bus de direcciones

29

S0

Bit de estado del 8085

30

ALE

Cuando está uno indica que salen direcciones por las patas ADn, en caso contrario, entran o salen datos

31

/WR

Cuando vale cero hay una escritura

32

/RD

Cuando vale cero hay una lectura

33

S1

Bit de estado del 8085

34

IO/M

Si vale 1: operaciones con ports, si vale 0: operaciones con la memoria

35

READY

Sirve para sincronizar memorias o periféricos lentos

36

/RESET IN

Cuando está a cero inicializa el 8085

37

CLK OUT

Salida del reloj para los periféricos

38

HLDA

Reconocimiento de HOLD

39

HOLD

Sirve para poner los buses en alta impedancia para el manejo de DMA (acceso directo a memoria)

40

VCC

tensión de alimentación: +5Vdc

PUNTERO DE PILA

Este contiene la direccion del unltimo byte introducido en la pila. El puntero de pila pude ser inicializado para utilizar cualquier parte de la RAM como pila . Como en el microprocesador generico, el puntero de pila se decrementa cada vez que se introduce un dato en la pila y se incrementa cada vez que se saca el dato de la pila.

UNIDAD ARITMETICO LOGICA

La ALU esta muy relacionada con el acumulador, registro de señalizadores y algunos registros temporales que son inaccesibles al programador.

REGISTRO DE INSTRUCCION Y DECODIFICADOR

Durante una busqueda de instruccion, el primer byte de la instruccion, el codigo de operacion es transferido al registro de instruccion de 8 bits. El contenido del registro de instruccion esta disponible al decodificador de instrucciones.

GENERADOR INTERNO DE RELOJ.

La MPU 8085 incorpora un generador completo de rerloj en su pastilla . Requiere solamente la adicion de un cristal de cuarzo para establecer la temporizacion de su operacion .

INTERRUPCIONES

Las cinco entradas de interrupcion hardware estan listadas por prioridades en la columna izquierda. La interupcion de mas alta prioridad es la de la entrada TRAP. Una vez que alcanza el nivel ALTO, la entrada TRAP hara que el 8085 guarde en la pila el contenido del contador de programa y salte a la posicion de memoria 002eH. La entrada TRAP no puede ser inhabilitada y por tanto se denomina interrupcion no enmascarable.

El microprocesador 8085 posee un complejo y completo sistema de interrupciones. Esta uP posee cinco terminales destinados al tratamiento de interrupciones.

Recordemos que una interrupción es un artificio hardware/software por el cual es posible detener el programa en curso para que, cuando se produzca un evento predeterminado, después de concluir la instrucción que está ejecutando, efectúe un salto a una determinada subrutina en donde se efectuará el tratamiento de la interrupción; una vez acabado éste, el uP continúa con la instrucción siguiente del programa principal.

Así pues, el 8085 dispone de tres formas diferentes de tratar las interrupciones que le llegan por los citados cinco terminales. Los nombres de estos cinco terminales son:

Estas interrupciones se pueden habilitar o deshabilitar mediante las instrucciones EI y DI, como en el caso de INTR; pero además son enmascarables por software mediante la instrucción SIM (Set Interrupt Mask). Es posible leer tanto el estado de la máscara como las interrupciones que se han producido y aún no se atendieron mediante la instrucción RIM.

Nivel de prioridad

Nombre de la interrupción

Valor leído en el bus de datos

Dirección de la subrutina en hexadecimal

Mayor prioridad

TRAP

No importa

0024

-

RST 7.5

003C

-

RST 6.5

0034

-

RST 5.5

002C

Menor prioridad

INTR

11000111

0000

11001111

0008

11010111

0010

11011111

0018

11100111

0020

11101111

0028

11110111

0030

11111111

0038

 

CONTROL DE ENTRADA / SALIDA SERIE.

Este microprocesador posee dos terminales denominados SID (Serial Input Data) y SOD (Serial Output Data). Estos terminales se pueden usar con propósitos generales. Por ejemplo el terminal SID se puede conectar a un interruptor y el SOD a un LED (a través de una compuerta inversora externa). Para leer el estado del terminal SID se ejecuta la instrucción RIM, con lo que se puede leer en el bit 7 del acumulador el estado de dicho terminal.

Para enviar un dato por el terminal SOD se ejecuta la instrucción SIM, donde el bit 7 del acumulador debe tener el valor a poner en el terminal, y el bit 6 debe estar a uno.

Las patillas de entrada y salida serie del 8085 ayudan a minimizar la cuenta de pasillas en los pequeños sistemas al proporcionar un puerto de interfaz serie. La instruccion especial RIM del 8085 transfiere datos desde la patilla de entrada serie (SID) al bit 7 del acumulador.

            Un solo bit serie puede sacarse via la patilla de salida serie (SOD) utilizando la instruccion especial SIM del 8085. Un nivel BAJO sale a la patilla SOD via el cerrojo de salida serie. Observar que la fuente del dato era el bit 7 del acumulador. Para que se produzca la salida serie hay que poner a 1 el bit 6 (B6) del acumulador.

El entrada serie (SID) tambien puede utilizarse como una entrada de TEST de proposito general, mientras que las patillas de salida serie (SOD) pueden servir como salida de control de 1 bit. En una seccion posterior sobre el repertorio de instrucciones del 8085 las instrucciones RIM y SIM se explicaran con mas detalle. Son instrucciones que tienen varios propositos. El nemotecnico RIM realmente significa mascara de lectura de interrupcion (read interrupt mask), mientras que el nemotecnico SIM significa mascara de inicializacion de interrupcion (set interrupt mask).

Los registros programables de la unidad microprocesadora 8085 estan resumidos.

Estos son los registros de principal interes para el programador. Este tipo de diagrama a veces se denomina modelo de programacion para la MPU 8085.

El acumulador principal de 8 bits se etiqueta con A en el modelo de programacion. Los otros registros de proposito general de 8 bits (etiquetados B,C,D,E,H y L) tambien se denominan, comunmente acumuladores secundarios/contadores de datos. Este nombre sugiere su doble uso como acumuladores auxiliares o contadores de datos (o punteros de dirección).

            El microprocesador (MP). El MPU es el corazon de cualquier microcomputadora. Realiza muchas funciones, entre las que se incluyen:

1.      Proporcionar las señales de control y temporizacion para todos los elementos de la microcomputadora.

2.      Extraer las instrucciones y los datos de la memoria.

3.      Transferir los datos a y desde la memoria y los dispositivos de entrada/salida.

4.      Decodificación de instrucciones.

5.      Ejecutar las operaciones aritméticas y lógicas invocadas por las instrucciones.

REINICIO E INTERRUPCION.

El MPU contiene toda la circuiteria lógica necesaria para llevar a cabo las funciones anteriores pero, en general, no existe manera de tener acceso a la lógica interna. En lugar de ello, se puede controlar lo que ocurre dentro del MPU mediante un programa formado por varias instrucciones mismo que se coloca en la memoria para que el MPU lo ejecute. Esto es lo que hace al MPU tan versátil y flexible -cuando se desea cambiar su operación, solo es necesario cambiar los programas almacenados en la RAM (software) o grabada en la ROM (firmware) sin necesidad de cambiar la electrónica (hardware).

La lógica interna del MPU es muy compleja pero puede considerarse como formada por tres secciones básicas: la sección de control y temporizacion, las sección de registros y la ALU. Aunque existen interacciones bien definidas entre secciones, cada una tiene funciones especificas.

La función principal de la sección de control y temporizacion es traer de la memoria y decodificar (interpretar) las instrucciones que están en la memoria y que forman parte de un programa, para después generar las señales de control necesarias para ejecutar las instrucciones. Esta sección también genera las señales de control y temporizaciones (por ejemplo, R/W y de reloj) para la RAM, ROM y dispositivos de E/S externos.

La sección de registros contiene varios registros (dentro del MPU) y cada uno tiene una función especial. El mas importante de todos ellos es el contador del programa (PC), el cual mantiene la dirección donde se encuentra la siguiente instrucción que se extraerá de la memoria. Se hará uso de las siglas PC en la descripción de la ejecución de un programa. Los demás registros del MPU se emplean para realizar funciones tales como guardar los códigos correspondientes a las instrucciones mientras estas son decodificadas, retener los datos que constituyen los operandos con los que trabaja la ALU, almacenar las direcciones donde se encuentran los datos en la memoria y varias funciones mas de conteo y almacenamiento con propósito generales.

            La ALU efectúa una gran variedad de operaciones aritméticas y lógicas. Estas operaciones siempre incluyen la adición y la sustracción, y las operaciones lógicas AND, OR, EX-OR, corrimiento, incremento, y decremento. Los MPU mas avanzados tienen una ALU que realiza operaciones de multiplicación y división. Durante la operación de la microcomputadora, las operaciones que la ALU realiza se llevan a cabo bajo el control de la sección de control y temporizacion la que, claro esta, hace lo que indican los códigos de instrucción que trae de la memoria.

CONJUNTO DE INSTRUCCIONES DEL 8085

Aparte de las 74 instrucciones del 8080, este procesador posee dos instrucciones más.

Estos datos deben estar cargados en el acumulador y son:

Luego de la ejecución de esta instrucción, el acumulador tiene lo siguiente:

MICROPROCESADORES DE 16 BITS

LOS MICROPROCESADORES 8086 Y 8088

Historia del 8086/8088

En junio de 1978 Intel lanzó al mercado el primer microprocesador de 16 bits: el 8086. En junio de 1979 apareció el 8088 (internamente igual que el 8086 pero con bus de datos de 8 bits) y en 1980 los coprocesadores 8087 (matemático) y 8089 (de entrada y salida). El primer fabricante que desarrolló software y hardware para estos chips fue la propia Intel. Reconociendo la necesidad de dar soporte a estos circuitos integrados, la empresa invirtió gran cantidad de dinero en un gran y moderno edificio en Santa Clara, California, dedicado al diseño, fabricación y venta de sus sistemas de desarrollo que, como se explicó anteriormente, son computadoras autosuficientes con el hardware y software necesario para desarrollar software de microprocesadores.

Los sistemas de desarrollo son factores clave para asegurar las ventas de una empresa fabricantes de chips. La inmensa mayoría de ventas son a otras empresas, las cuales usan estos chips en aparatos electrónicos, diseñados, fabricados y comercializados por ellas mismas. A estas empresas se las llama "fabricantes de equipo original", o en inglés, OEM (Original Equipment Manufacturer). El disminuir el tiempo de desarrollo de hardware y software para las OEM es esencial, ya que el mercado de estos productos es muy competitivo. Necesitan soporte pues los meses que les puede llevar el desarrollo de las herramientas apropiadas les puede significar pérdidas por millones de dólares. Además quieren ser los primeros fabricantes en el mercado, con lo cual pueden asegurarse las ventas en dos áreas importantes: a corto plazo, ya que al principio la demanda es mucho mayor que la oferta, y a largo plazo, ya que el primer producto marca a menudo los estándares.

De esta manera la empresa Intel había desarrollado una serie completa de software que se ejecutaba en una microcomputadora basada en el 8085 llamada "Intellec Microcomputer Development System". Los programas incluían ensambladores cruzados (éstos son programas que se ejecutan en un microprocesador y generan código de máquina que se ejecuta en otro), compiladores de PL/M, Fortran y Pascal y varios programas de ayuda. Además había un programa traductor llamado CON V86 que convertía código fuente 8080/8085 a código fuente 8086/8088. Si se observan de cerca ambos conjuntos de instrucciones, queda claro que la transformación es sencilla si los registros se traducen así: A -> AL, B -> CH, C -> CL, D -> DH, E -> DL, H -> BH y L -> BL. Puede parecer complicado traducir LDAX B (por ejemplo) ya que el 8088 no puede utilizar el registro CX para direccionamiento indirecto, sin embargo, se puede hacer con la siguiente secuencia: MOV SI, CX; MOV AL, [SI]. Esto aprovecha el hecho que no se utiliza el registro SI. Por supuesto el programa resultante es más largo (en cantidad de bytes) y a veces más lento de correr que en su antecesor 8085. Este programa de conversión sólo servía para no tener que volver a escribir los programas en una primera etapa. Luego debería reescribirse el código fuente en assembler para poder obtener las ventajas de velocidad ofrecidas por el 8088. Luego debía correr el programa en la iSBC 86/12 Single Board Computer basado en el 8086. Debido al engorro que resultaba tener dos plaquetas diferentes, la empresa Godbout Electronics (también de California) desarrolló una placa donde estaban el 8085 y el 8088, donde se utilizaba un ensamblador cruzado provisto por la compañía Microsoft. Bajo control de software, podían conmutarse los microprocesadores. El sistema operativo utilizado era el CP/M (de Digital Research).

El desarrollo más notable para la familia 8086/8088 fue la elección de la CPU 8088 por parte de IBM (International Business Machines) cuando en 1981 entró en el campo de las computadoras personales. Esta computadora se desarrolló bajo un proyecto con el nombre "Acorn" (Proyecto "Bellota") pero se vendió bajo un nombre menos imaginativo, pero más correcto: "Computadora Personal IBM", con un precio inicial entre 1260 dólares y 3830 dólares según la configuración (con 48KB de memoria RAM y una unidad de discos flexibles con capacidad de 160KB costaba 2235 dólares). Esta computadora entró en competencia directa con las ofrecidas por Apple (basado en el 6502) y por Radio Shack (basado en el Z-80).

ARQUITECTURA DE LOS PROCESADORES 8088 Y 8086.

El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como en sus conexiones externas, mientras que el 8088 es un procesador de 8 bits que internamente es casi idéntico al 8086. La única diferencia entre ambos es el tamaño del bus de datos externo. Intel trata esta igualdad interna y desigualdad externa dividiendo cada procesador 8086 y 8088 en dos sub-procesadores. O sea, cada uno consta de una unidad de ejecución (EU: Execution Unit) y una unidad interfaz del bus (BIU: Bus Interface Unit). La unidad de ejecución es la encargada de realizar todas las operaciones mientras que la unidad de interfaz del bus es la encargada de acceder a datos e instrucciones del mundo exterior. Las unidades de ejecución son idénticas en ambos microprocesadores, pero las unidades de interfaz del bus son diferentes en varias cuestiones, como se desprende del siguiente diagrama en bloques:

Diagrama en bloques del 8088

La ventaja de esta división fue el ahorro de esfuerzo necesario para producir el 8088. Sólo una mitad del 8086 (el BIU) tuvo que rediseñarse para producir el 8088.

REGISTROS DE USO GENERAL DEL 8086/8088.

Tienen 16 bits cada uno y son ocho:

 

  1. AX = Registro acumulador, dividido en AH y AL (8 bits cada uno). Usándolo se produce (en general) una instrucción que ocupa un byte menos que si se utilizaran otros registros de uso general. Su parte más baja, AL, también tiene esta propiedad. El último registro mencionado es el equivalente al acumulador de los procesadores anteriores (8080 y 8085). Además hay instrucciones como DAA; DAS; AAA; AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT que trabajan con AX o con uno de sus dos bytes (AH o AL). También se utiliza este registro (junto con DX a veces) en multiplicaciones y divisiones.
  2. BX = Registro base, dividido en BH y BL. Es el registro base de propósito similar (se usa para direccionamiento indirecto) y es una versión más potente del par de registros HL de los procesadores anteriores.
  3. CX = Registro contador, dividido en CH y CL. Se utiliza como contador en bucles (instrucción LOOP), en operaciones con cadenas (usando el prefijo REP) y en desplazamientos y rotaciones (usando el registro CL en los dos últimos casos).
  4. DX = Registro de datos, dividido en DH y DL. Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la instrucción CWD y en IN y OUT para direccionamiento indirecto de puertos (el registro DX indica el número de puerto de entrada/salida).
  5. SP = Puntero de pila (no se puede subdividir). Aunque es un registro de uso general, debe utilizarse sólo como puntero de pila, la cual sirve para almacenar las direcciones de retorno de subrutinas y los datos temporarios (mediante las instrucciones PUSH y POP). Al introducir (push) un valor en la pila a este registro se le resta dos, mientras que al extraer (pop) un valor de la pila este a registro se le suma dos.
  6. BP = Puntero base (no se puede subdividir). Generalmente se utiliza para realizar direccionamiento indirecto dentro de la pila.
  7. SI = Puntero índice (no se puede subdividir). Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.
  8. DI = Puntero destino (no se puede subdividir). Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.

Cualquiera de estos registros puede utilizarse como fuente o destino en operaciones aritméticas y lógicas, lo que no se puede hacer con ninguno de los seis registros que se verán más adelante.

Además de lo anterior, cada registro tiene usos especiales:

UNIDAD ARITMÉTICA Y LÓGICA

Es la encargada de realizar las operaciones aritméticas (suma, suma con "arrastre", resta, resta con "préstamo" y comparaciones) y lógicas (AND, OR, XOR y TEST). Las operaciones pueden ser de 16 bits o de 8 bits.

 

INDICADORES (FLAGS)

Hay nueve indicadores de un bit en este registro de 16 bits. Los cuatro bits más significativos están indefinidos, mientras que hay tres bits con valores determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno (esto también ocurría en los procesadores anteriores).

 

Registro de indicadores (16 bits)

Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Flag

--

--

--

--

OF

DF

IF

TF

SF

ZF

0

AF

0

PF

1

CF

CF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma) hacia, o "préstamo" (en caso de resta) desde el bit de orden más significativo del resultado. Este indicador es usado por instrucciones que suman o restan números que ocupan varios bytes. Las instrucciones de rotación pueden aislar un bit de la memoria o de un registro poniéndolo en el CF.

PF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un número par de bits a 1. Este indicador se puede utilizar para detectar errores en transmisiones.

AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "arrastre" o "préstamo" del nibble (cuatro bits) menos significativo al nibble más significativo. Este indicador se usa con las instrucciones de ajuste decimal.

ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.

SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los números negativos se representan en la notación de complemento a dos, este bit representa el signo: 0 si es positivo, 1 si es negativo.

TF (Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este modo, la CPU automáticamente genera una interrupción interna después de cada instrucción, permitiendo inspeccionar los resultados del programa a medida que se ejecuta instrucción por instrucción.

IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción externas enmascarables (por el pin INTR). Si vale 0, no se reconocen tales interrupciones. Las interrupciones no enmascarables y las internas siempre se reconocen independientemente del valor de IF.

DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán "auto-decremento", esto es, se procesarán las cadenas desde las direcciones más altas de memoria hacia las más bajas. Si vale 0, habrá "auto-incremento", lo que quiere decir que las cadenas se procesarán de "izquierda a derecha".

OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una operación aritmética con signo, esto es, un dígito significativo se perdió debido a que tamaño del resultado es mayor que el tamaño del destino.

SISTEMA DE CONTROL DE LA UNIDAD DE EJECUCIÓN

Es el encargado de decodificar las instrucciones que le envía la cola y enviarle las órdenes a la unidad aritmética y lógica según una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory).

COLA DE INSTRUCCIONES

Almacena las instrucciones para ser ejecutadas. La cola se carga cuando el bus está desocupado, de esta manera se logra una mayor eficiencia del mismo. La cola del 8086 tiene 6 bytes y se carga de a dos bytes por vez (debido al tamaño del bus de datos), mientras que el del 8088 tiene cuatro bytes. Esta estructura tiene rendimiento óptimo cuando no se realizan saltos, ya que en este caso habría que vaciar la cola (porque no se van a ejecutar las instrucciones que van después del salto) y volverla a cargar con instrucciones que se encuentran a partir de la dirección a donde se salta. Debido a esto las instrucciones de salto son (después de multiplicaciones y divisiones) las más lentas de este microprocesador.

REGISTROS DE LA UNIDAD DE INTERFAZ CON EL BUS:

El programador puede acceder a cinco registros de 16 bits cada uno, siendo cuatro de ellos registros de segmento y el restante el puntero de instrucción (IP).

Los registros de segmento se llaman:

CS: Registro de segmento de código.

DS: Registro de segmento de datos.

ES: Registro de segmento extra.

SS: Registro de segmento de pila.