You are on page 1of 29

SISTEMAS DIGITALES I

Agustín Suárez Fernández Donaciano Jiménez Vázquez
Departamento de Ingeniería Eléctrica UAM-Iztapalapa, México, D.F.

CAPITULO I
INTRODUCCIÓN
Inicialmente, se presenta la estructura de un sistema que se basa en un microprocesador, describiendo cada una de sus partes principales. Puesto que, del microprocesador depende la funcionalidad del sistema, se analizan las tareas básicas que debe realizar y a partir de éstas, se propone una arquitectura para el microprocesador. A continuación, se estudia en forma detallada la arquitectura, del microprocesador 8088. El objetivo de éste capítulo es aprender lo siguiente: 1] 2] 3] 4] La estructura de un sistema que se basa en un microprocesador. La arquitectura de un microprocesador de propósito general. La arquitectura del microprocesador 8088. El desarrollo de los microprocesadores de la familia 8086/8088 de Intel®.

En las descripciones de circuito que requieren de una señal que es activa en nivel bajo, normalmente, una transición de +5 a 0 volts, se emplea la convención que forman las siglas de la señal seguidas de ‘. Por ejemplo, CS’ es una señal activa en nivel bajo, que conecta a un circuito, de tercer estado, al canal de un sistema con un microprocesador.

1.1 Estructura de un sistema que se basa en un microprocesador
Un sistema de propósito general que se basa en un microprocesador tiene la estructura básica que se muestra en la Fig. 1.1 y realiza las tareas más comunes, que son en las que están interesados la mayoría de los posibles usuarios. Un ejemplo de éste sistema puede ser una computadora personal y las tareas: procesamiento de texto, empleo de hojas de cálculo, acceso a Internet, etc. Si el sistema es de propósito específico, puede ser la parte principal de algún instrumento, sistema de control o una aplicación similar. Aun en éste caso su estructura básica sería igual, pero con los circuitos adicionales que requiera la aplicación específica. Tanto para el sistema de propósito general como para el específico, su atractivo y poder se deben al hecho de que se basa en un dispositivo programable: el microprocesador que junto con los demás componentes, tanto de

1

A continuación. memoria. Las partes siguientes forman el sistema: microprocesador. y a partir del cual. que incluye la parte de reinicialización.1 Estructura de un sistema que se basa en un microprocesador. forman el sistema completo que proporcionan a sus usuarios los servicios necesarios para realizar en forma atractiva los trabajos que están interesados en llevar a cabo. que siempre es el mismo. Aquí está incluida la parte de reinicialización que al encender el sistema. espacio de memoria y de entrada/salida que puede direccionar. posibilidades de actualización. típicamente se ejecuta un programa de inicialización y autocomprobación. circuito de temporización. Circuito de temporización: temporización el microprocesador requiere de una señal de reloj. tipo de sistemas operativos que puede soportar. o cuando es necesario. se describe cada una de las partes. 2 . Fig.circuito como de programación. lleva al microprocesador a un estado inicial conocido. muy estable. canal del sistema. entre otras: velocidad de procesamiento. Microprocesador: es un dispositivo programable que es la parte principal del sistema y le proporciona sus principales características. a fin de sincronizar tanto su operación interna como la de todo el sistema a través de su canal.1. circuitos de entrada y salida.

y sólo se conectan al canal cuando les corresponde. óptico o flexible. Sin embargo. Los programas que ejecuta el microprocesador están en el subsistema de memoria. si el sistema es muy pequeño sólo cuenta con un pequeño teclado que puede ser decimal o hexadecimal y algún tipo de despliegue. Memoria: Memoria como se mencionó al principio el poder y la flexibilidad del sistema se deben a que se basa en un microprocesador que es un dispositivo programable. al encender el sistema el microprocesador inicia la ejecución del programa de inicialización a partir de una dirección de memoria que siempre es la misma. Esto requiere que la memoria que lo contiene. típicamente de diodos emisores de luz. de cuyo número de bits depende el espacio de memoria y de entrada/salida que es posible direccionar. 3 . el canal de control. así como el canal de datos que determina el número máximo de bits que se pueden transferir en un dato. usualmente ROM. convertidores analógicos/digitales. ambas señales. leds. cuya capacidad de almacenamiento depende de las necesidades del usuario. o dispositivos de cristal líquido. Como se observa en la Fig. al canal del sistema están conectados la memoria y todos los periféricos que lo forman.Canal del sistema: sistema determina las características de comunicación del microprocesador con los periféricos que forman el sistema y a su vez lo constituyen el canal de direcciones.1. reciba. Subsistema de entrada/salida: entrada/salida son los periféricos que requiere el sistema. así como impresora. se requiere una interfaz de usuario. 1. las proporciona el canal de control. En el caso de una computadora personal. Algo similar sucede cuando se requiere realizar alguna operación con un periférico. esa interfaz está formada principalmente por el teclado y el monitor. la señal de selección de integrado CS’. ya que son dispositivos de tercer estado están en alta impedancia la mayor parte del tiempo. que permita solicitar tareas y obtener resultados. digitales/analógicos y otros periféricos que dependen de las necesidades del usuario. con la temporización adecuada. de memoria ROM y RAM. eléctricamente están desconectados. entre otras. que forman diferentes dispositivos. Por ejemplo. Los periféricos restantes pueden ser dispositivos de almacenamiento masivo como unidades de disco duro. Por ejemplo. que la conecta al canal y otra de lectura. Las señales que conectan a la memoria o a un periférico al canal del sistema las proporciona.

sólo son de interés las funciones básicas. Si se requiere realizar tareas más especializadas: procesamiento matemático intensivo. Transferencias condicionales del control de ejecución del programa. resta. Las operaciones lógicas: AND. Llamadas a subrutinas. Transferencias incondicionales del control de ejecución del programa. generalmente. un sistema que se basa en un microprocesador. al menos por el momento. la parte principal del sistema es el microprocesador.Como se verá posteriormente.2 Funciones básicas del microprocesador Como ya se mencionó. OR. multiplicación y división. considerando que tiene como objetivo principal ejecutar las tareas en las que están interesados la gran mayoría de los usuarios. la primera y más básica la forman el microprocesador y los demás circuitos. en lenguaje ensamblador. que forman el sistema básico de entrada/salida BIOS que está grabado en ROM. Considerando que. la capa siguiente la forman los programas. Si el microprocesador es capaz de realizar éstas funciones en forma eficiente o muy eficiente. 4 . NOT. Las funciones básicas que se espera pueda realizar son las siguientes: 1] 2] 3] 4] 5] 6] 7] Las operaciones aritméticas básicas: suma. El sistema será funcional. Operaciones sobre el espacio de entrada/salida. encima de ésta capa está el interprete de comandos del sistema operativo. en términos coloquiales “los fierros”. tiene una estructura de capas. XOR. el sistema puede requerir de algún coprocesador. 1. procesamiento de señales. Operaciones sobre cadenas o arreglos básicos de datos.

listadas inicialmente.1. 1. conviene analizar la posible arquitectura de un microprocesador que las realice. Fig.3 Arquitectura de un microprocesador La posible arquitectura de un microprocesador que cumpla las tareas básicas señaladas. 1. se muestra en la Fig.2 Arquitectura interna del microprocesador 5 .2.

posteriormente se detalla su funcionamiento. que por ejemplo. Por ejemplo. Por ejemplo. resultó en cero o es negativo. ALU: realiza las operaciones aritméticas y lógicas que requieren algunas instrucciones. que emplean el microprocesador y el programador para almacenar datos importantes. y la transfiere para su ejecución. También puede tener bits de control que determinan alguna característica del funcionamiento del microprocesador. que es una cantidad determinada de localidades de memoria RAM. si el resultado de una resta fue cero. Ya que al decodificar la instrucción determina su número de bytes y actualiza el contenido del contador de programa. Unidad aritmética y lógica. Registro de la instrucción actual: decodifica la instrucción presente. típicamente aritmética o lógica. Palabra de estado del procesador: contiene bits de estado que reflejan el resultado de la ejecución de una instrucción. Apuntador de pila: este registro apunta a una dirección de la memoria que forma la “pila de memoria”. Contiene los registros siguientes: Contador de programa: este registro apunta a la dirección de la siguiente instrucción que se va a ejecutar. según lo requiera el programa. el resultado de algunas de éstas se refleja en la palabra de estado del procesador. 6 . la habilitación y deshabilitación de interrupciones.El microprocesador está formado por las unidades siguientes: Unidad de control control: rol realiza la ejecución de los programas sincronizando la operación de las diferentes unidades del microprocesador. Registros de trabajo: ejecutan las diferentes instrucciones del microprocesador utilizando registros de propósito general y de direccionamiento.

Al encender el sistema el microprocesador recibe una señal de reinicialización. bandera. dónde será decodificado para su ejecución. el microprocesador sabe de cuántos bytes consta y en donde se ejecutará. A continuación. Algunos ciclos de reloj después. Adicionalmente. del circuito de temporización. que siempre lo lleva al mismo estado inicial que. lo transfiere al registro de la instrucción actual. Esta dirección. y poco después una señal de lectura. la memoria que contiene esa dirección inicial. ahí empieza el programa de inicialización del sistema. RD’. la dirección en la que el microprocesador va a ejecutar el primer ciclo de recuperación de código de programa. como ya se mencionó. un registro contiene uno de los sumandos y un segundo registro el otro. que determina la temporización del microprocesador. CS’ que la conecta al canal del sistema. entre otras acciones. el microprocesador lee ése dato de sus terminales que forman el canal de datos. un resultado negativo o igual a cero. si la instrucción es aritmética o lógica. la memoria coloca en el canal del sistema el dato de la dirección que se presentó a su entrada. la unidad de control la transfiere a las terminales de salida del microprocesador que forman el canal de direcciones del sistema. el resultado de una operación aritmética que dio. 7 . y actualiza el valor del contador de programa a fin de que apunte a la dirección donde se encuentra la siguiente instrucción. al inicio de la suma contiene uno de los sumandos y al final contiene el resultado. A continuación. usualmente ROM. siempre es la misma. la ALU tiene asociado un registro de palabra de estado del procesador en el que puede reflejar en un bit específico. recibe del canal de control la señal de habilitación. si se ejecuta una suma. Por ejemplo. carga en el contador de programa de la unidad de control. una vez que se realiza la suma uno de los dos debe tener el resultado: es un acumulador. se va ejecutar en la ALU empleando registros de propósito general. Generalmente. Los registros de propósito general que se emplean para las operaciones aritméticas se conocen como registros aritméticos. se describen en mayor detalle éstas partes.Unidad de lógica de control de entrada/salida: realiza la comunicación entre el microprocesador y los periféricos del sistema mediante las instrucciones de entrada/salida. Por ejemplo. por ejemplo. Registros de propósito general Son los registros que emplea el microprocesador para ejecutar diferentes instrucciones. Una vez que decodifica la instrucción.

4. se conocen como registros apuntadores y forman parte de los registros de direccionamiento. Si se requiere transferir la ejecución del programa. a una localidad de memoria diferente a la cual apunta ése registro es necesario cambiar su contenido. Los registros que cumplen ésta función.2 Transferencias condicionales Para las transferencias condicionales la unidad de control del microprocesador antes de llevar a cabo el cambio que se requiere. En éste caso. Por ejemplo. activa 8 .4 Transferencias del control de ejecución del programa El contador de programa. 1. del contenido del contador de programa. De ésta forma transfiere el control de ejecución del programa a la localidad de memoria que se indicó y que NO es la siguiente de la instrucción de transferencia de ejecución del programa. también las puede realizar entre un operando que se encuentre en memoria y otro que esté en un registro. 1. puede haber un apuntador fuente y uno destino para transferencias entre cadenas de datos.El microprocesador no sólo tiene la capacidad de realizar operaciones aritméticas entre operandos que están en sus registros. determina si la condición de transferencia se cumple. la arquitectura básica propuesta cumple con las 4 primeras funciones requeridas. es el registro que determina la localidad de memoria donde se ejecuta un ciclo de recuperación de código. antes de la instrucción que transfiere el control de ejecución del programa se ejecuta una instrucción aritmética o lógica y si su resultado es cero. Por ejemplo. esto se puede realizar en forma incondicional o condicional.1 Transferencias incondicionales En las transferencias incondicionales la unidad de control del microprocesador lleva a cabo el cambio que se requiere: desecha el contenido previo del contador de programa y carga el nuevo. Con lo expuesto hasta ahora. 1. del registro de estado del procesador. se utiliza un registro para “apuntar” a la localidad de memoria que contiene el otro operando.4. para una transferencia del control del programa en función de la activación de la bandera de cero. algunos de éstos pueden ser específicos para ejecutar instrucciones sobre cadenas o arreglos de datos.

se lleva a cabo. Así. el contenido previo del contador de programa se desecha. Si la transferencia del control de ejecución del programa se realiza. la ejecución del programa continúa en ésa localidad. el control de ejecución del programa pasa a una localidad diferente a la que seguía en secuencia. Fig. sólo si la condición de transferencia se cumple.3 Brinco Condicional. En caso contrario. Por lo tanto.3 muestra el diagrama de flujo de un brinco condicional. 1. con las instrucciones correspondientes a lado de los bloques. La Fig. 9 .la bandera correspondiente del registro de estado del procesador. 1.

a continuación de la instrucción de resta se puede ejecutar una instrucción de transferencia condicional del programa. 1. Fig. Así. que incluye la figura merece algunos comentarios: 1] Inicialmente. al contenido del registro AX.La parte de código. Si los contenidos de ambos registros son iguales su resta dará cero. 2] La instrucción: JZ CAMBIO Transfiere el control de ejecución del programa a la localidad que tiene la etiqueta CAMBIO. Así. que es para el 8086/8088. el 10 . BX El símbolo ← se interpreta como transfiere a. una vez que se ejecuta la resta el resultado queda en el registro AX. ahora sólo se transfiere momentáneamente el control de ejecución del programa y se debe regresar a ejecutar la instrucción siguiente a la llamada a la subrutina. que es un servicio del programa que se está ejecutando.4. En éste caso. que “pregunte” si la bandera de cero está activa. sólo si la bandera de 0 está activa.3 Llamadas a subrutina Cuando el microprocesador ejecuta una llamada a subrutina. Pero a diferencia de las transferencias incondicional y condicional. si ése es el resultado al ejecutar la resta la ALU del microprocesador activa. La notación que se emplea para representar ésta instrucción es: AX ← AX-BX SUB AX. la bandera de cero del registro de estado del procesador y si no es cero la bandera se mantiene inactiva. se ejecuta una instrucción que resta el contenido del registro BX.4. en 1. también es necesario cambiar el contenido del contador de programa. En caso contrario ejecuta la siguiente instrucción. en 0. 1. se transfiere al registro AX el resultado de la resta de su contenido previo menos el contenido del registro BX.

De ésta forma el microprocesador es capaz de ejecutar llamadas a subrutinas y regresar de éstas.4 Llamada a subrutina 11 . por el de la dirección de la primera instrucción de la subrutina e inicia su ejecución. RAM externa. Para ésta. denominada “pila” y que forma parte de la memoria del sistema. Ahora el microprocesador. cambia el contenido. 1. la dirección de la instrucción que sigue a la llamada a la subrutina. la carga en el contador de programa. actualiza el valor del apuntador de pila y la ejecución continua. Cuando el microprocesador decodifica la instrucción de llamada a una subrutina. A continuación. sin la intervención del programador. y otras situaciones similares. la última instrucción de la subrutina es un retorno que regresa el control de ejecución del programa a la instrucción que sigue a la llamada. La unidad de control cuenta con un registro apuntador de pila que apunta a ésa área de la memoria. para recordarla. nuevamente sin que intervenga el programador. Fig. “hace lugar” en la pila y ahí guarda el contenido del contador de programa. que es la dirección de la instrucción que sigue a la llamada y que debe ejecutar al regresar de ésta.microprocesador “debe recordar” la dirección de la instrucción que sigue a la llamada a la subrutina. En la que almacena temporalmente. el microprocesador tiene un área de memoria. Siempre. recupera de la “pila” de memoria la dirección de la instrucción que sigue a la llamada. del contador de programa.

que la del microprocesador 8086/8088 y que al igual que las instrucciones de llamada y de regreso se estudiarán posteriormente. el contenido del contador de programa: (SP:SP+1) ←CP Esto lo ejecuta el microprocesador sin la intervención del programador y de ésta forma se “recuerda” la dirección de la siguiente instrucción a la llamada. en la dirección de memoria a que apunta el registro SP y la siguiente. 12 . El regreso primero transfiere el contenido de la pila de memoria al contador de programa y a continuación dejó al apuntador de pila en la misma dirección que tenía antes de la llamada. a continuación. una vez que el microprocesador encuentra la instrucción de llamada: CALL CONV1 Transfiere el control de ejecución del programa a la localidad de la primera instrucción de ésa subrutina. se denota por el paréntesis. La subrutina CONV1 termina con la instrucción: RET Que ejecuta lo siguiente: CP ← (SP:SP+1) SP← SP+2 Si se observa la instrucción de regreso de la subrutina ejecuta casi la misma secuencia que la instrucción de llamada.4 se muestra un programa que tiene una llamada a una subrutina llamada CONV1. Conviene aclarar que se considera una pila con el mismo funcionamiento. se requieren 2 localidades de memoria para el contenido del contador de programa. 1. Esto se logra de la forma siguiente: 1] Haciendo “lugar” en la pila de memoria: SP← SP-2 2] Almacenando. si el CPU es de 16 bits.En la Fig. primero en salir LIFO. pero “debe recordar” la dirección de la instrucción que sigue a la llamada. ahí lo almacenó. último en entrar. Esta inició “haciendo lugar en la pila”.

y la unidad de interfase del canal (BIU).5. está constituida por 4 registros de propósito general. el control de ejecución del programa. ésta forma de funcionamiento les proporciona mayor velocidad ya que en un alto porcentaje del programa. Fig. 1. 13 . Estas son la unidad de ejecución (EU). 2 registros base. que es una de las principales características de los microprocesadores de tercera generación. 1. A continuación. Así.Sección de lógica de control de entrada/salida: entrada/salida comunica al microprocesador con los periféricos que están en ese espacio. lectura de datos y escritura de resultados. obtiene las instrucciones de una cola de 4 bytes (6 bytes para el 8086) que Cuando una instrucción requiere forma parte de la unidad de interfase del canal (BIU). De acuerdo a lo anterior. Las dos unidades trabajan de manera independiente y paralela. un registro de banderas y la unidad aritmética y lógica. esto se realiza mediante instrucciones de entrada y de salida entre uno de los registros del microprocesador y los registros de los periféricos. se denomina “pipeline”. La unidad de ejecución decodifica y ejecuta las instrucciones y la unidad de interfase del canal realiza todas las operaciones del canal del sistema como son los ciclos de recuperación de código (fetch).5 Arquitectura del CPU 8088 La unidad de procesamiento central del microprocesador 8088. 2 registros apuntadores. ésta arquitectura es capaz de realizar las tareas básicas que esperamos del microprocesador. éstas instrucciones. en los microprocesadores. Ya que no posee conexión con el canal del sistema. sólo transfieren datos pero no afectan ninguna bandera del registro de palabra de estado del procesador. se estudiará la arquitectura del microprocesador 8088 que es uno de los miembros originales de la familia de microprocesadores 8086/8088 y que es muy similar a la que se acaba de exponer. la unidad de ejecución tiene disponible en la cola de instrucciones. Unidad de Ejecución Es la responsable de decodificar y ejecutar todas las instrucciones. no es posible a continuación de éstas transferir en forma condicional. el código de la siguiente instrucción a ejecutar. es esencialmente la misma que la del 8086 y tiene como principal característica incorporar dos unidades independientes de procesamiento.

CH. DH y en una parte baja: AL. realiza la función de apuntador base en el segmento de pila y para varias formas de direccionamiento. BL. BX. cada uno se puede utilizar como un registro de 16 bits o dos registros independientes de 8 bits. DX y pueden considerase completos o dividirse en una parte alta: AH. SI.5 Diagrama Funcional Simplificado a Bloques. SP es el 14 . Registros de propósito general Son los registros: AX. Fig. Cualquiera de estos registros puede ser el acumulador para operaciones aritméticas y lógicas. BH. CX. DL. del microprocesador 8088. Registros índice y apuntadores Los registros BP. 1.accesar a la memoria o a un periférico. la unidad de interfase del canal ejecuta los ciclos de canal necesarios ya sea para leer o escribir los datos. SP. CL. Por lo tanto. DI sólo se pueden utilizar completos. BP.

BANDERAS DE CONTROL BANDERAS DE ESTADO TF DF IF OF SF ZF AF PF CF ACARREO PARIDAD ACARREO AUXILIAR CERO SIGNO SOBREFLUJO INTERRUPCION DIRECCION TRAMPA Fig. Unidad Unidad aritmética y lógica En esta unidad se realizan todas las operaciones aritméticas y lógicas que puede ejecutar el microprocesador y el resultado de éstas afecta los diferentes bits del registro de banderas a fin de ejecutar instrucciones condicionales de transferencia del programa. dependiendo del estado de alguna bandera. Las banderas de estado reflejan el programa cambiar la resultado de una operación aritmética o lógica y permiten al secuencia de su ejecución. indica que ocurrió un acarreo o un “préstamo” del bit más significativo como resultado de una operación aritmética o lógica de 8 o 16 bits. 1. en uno. Estos 4 registros se utilizan en los diferentes modos de direccionamiento del microprocesador. 15 .apuntador del segmento de pila.6 Registro de banderas. SI es un apuntador a un arreglo fuente de datos y DI es el apuntador a un arreglo destino. Registro de banderas Posee 6 banderas de estado y tres de control. Si se activa. Banderas de estado Las banderas de estado son las siguientes: CF bandera de acarreo.

Esta bandera se utiliza para encontrar errores en caracteres transmitidos y sólo comprueba la paridad de los 8 bits menos significativos del registro AX.PF bandera de paridad. normalmente aritmética es negativo. es un numero negativo. indica que el resultado de una operación tiene paridad par. en la que el valor del bit más significativo. SF bandera de signo. Si se activa con uno ésta bandera. en uno. indica que en la instrucción ejecutada. el procesador pasa a ejecutar el programa instrucción por instrucción con fines de depuración. Banderas de control Estas banderas permiten controlar tres estados del microprocesador y son las siguientes: TF bandera de trampa. Si está activa. OF bandera de sobreflujo. en uno. el tamaño del resultado excede el tamaño del destino. se trata de un número positivo y si SF = 1. Esto es. Por lo tanto. Si se activa. en uno. Indica que el resultado de una instrucción. indica que el resultado de una operación aritmética o lógica fue cero. se presentó un acarreo o un “préstamo” del bit 3 al 4 del registro destino. ZF bandera de cero. da el signo. Ya que no existen instrucciones ni para activarla ni para desactivarla se requiere ejecutar un enmascaramiento o desenmascaramiento mediante instrucciones lógicas registro de banderas. con el 16 . Indica que ocurrió un sobreflujo. 7 o 15. si SF = 0. Si se activa. Las instrucciones que la afectan se ejecutan en aritmética de complemento a 2. Esta bandera la utilizan en forma implícita las instrucciones de ajuste decimal y ascii. AF bandera de acarreo auxiliar.

las instrucciones para cadenas o arreglos ejecutan un autodecremento de las direcciones fuente y destino. operandos y datos a través de la unidad de interfase del canal que ejecuta todos los ciclos necesarios. Si se desactiva. en un alto porcentaje del programa la unidad de ejecución tiene disponible. se habilitan las interrupciones enmascarables que están dedicadas. y un sumador dedicado para formar la dirección física. en la cola. el byte de la siguiente localidad de memoria. Unidad de interfase del canal Ya que la unidad de ejecución no tiene una conexión directa al canal del sistema. La unidad de ejecución normalmente mantiene llenos los 4 bytes de la cola ya que al estar vacío un byte ejecuta un nuevo ciclo a fin de llenarlo. a los periféricos del sistema. Por lo tanto. Esto es. usualmente. el apuntador de instrucciones. unidad de ejecución decodifica y ejecuta una instrucción. con cero. una cola de 4 bytes. Registros Registros Segmentados El espacio de memoria de los miembros originales de la familia 8086/8088 es de 1 Mbyte que se divide en segmentos lógicos de 64 Kbytes. con uno. ambas unidades del CPU trabajan en forma paralela. la unidad de interfase del canal ejecuta un ciclo en el que lee y almacena en la cola.IF bandera de habilitación de interrupciones. el código de la siguiente instrucción a ejecutar y de esta forma. prácticamente “desaparece” el tiempo del ciclo de recuperación de código (fetch) lo que resulta en un incremento muy notable en la velocidad de ejecución de la mayoría de los programas. con uno. la lógica de control del canal. DF bandera de dirección. La unidad de interfase del canal tiene cuatro registros de segmento: 17 . Al activarla. esas instrucciones se ejecutan con incremento de ambas direcciones. Esta unidad consta de 4 registros de segmento. obtiene código. Al activarla. registros de Mientras la comunicación interna.

Así conviene analizar. típicamente. Estos registros dan a esta familia una de sus características principales: la memoria segmentada que les proporciona facilidades únicas para relocalizar programas. varios de los microprocesadores de esta familia inician la ejecución del programa en la localidad FFFF0H. en detalle. cómo se forma una dirección? Sumador dedicado de 20 bits La dirección física la forma el sumador dedicado de la unidad de interfase del canal con el contenido de un registro de segmento. más un desplazamiento (offset). El registro DS tiene la dirección inicial de un segmento de datos y ES. para lo que se requiere una dirección de 20 bits.CS segmento de código DS segmento de datos ES segmento extra SS segmento de pila El registro CS tiene la dirección del segmento. En este caso. El registro SS tiene la dirección inicial del segmento de pila. Por ejemplo en la reinicialización. tiene el mismo propósito. Si ni en la unidad de ejecución ni en la unidad de interfase del canal existe un registro de 20 bits. El microprocesador 8088 es capaz de direccionar hasta 1 MByte de memoria. de hasta 64kbytes. donde se encuentra el programa en ejecución. como se forma una dirección para tener acceso a la memoria. el contenido de todos los registros de segmento del microprocesador y del apuntador de instrucciones es 0000H con excepción del registro del segmento de código que “despierta” con FFFFH. La dirección de 20 bits se forma en el sumador mediante la suma del segmento multiplicado por 16 más el desplazamiento: CS + IP 0000H Dirección = FFFF0H La forma usual para dar las direcciones es mediante una dirección lógica que da las direcciones del segmento y del desplazamiento que para la reinicialización es: 18 FFFF0H .

cumplen una tarea específica que implica tanto aspectos de circuito como de programación. de un Sistema que se basa en un microprocesador. a diferencia de una computadora personal. en el 8086 es de 6 bytes. usualmente.FFFFH:0000H a partir de la dirección lógica se forma la dirección física mediante una suma como la anterior. En el presente curso. Los ejemplos más comunes de Sistemas Digitales dedicados. indirectamente mediante algunas instrucciones se puede cambiar. la base experimental es el sistema mínimo UAMI-188EB. 1. de otros microprocesadores. salvar o incluso obtener del segmento de pila. equipos de audio y vídeo. que se basa en el microprocesador 80C188EB. son muy utilizados en Sistemas de Control industrial y de automóviles. Ninguna instrucción tiene acceso directo a este registro pero. consecuencia de que el ancho de su canal de datos es de 16 bits. es indispensable contar con una base experimental que permita poner en práctica los conceptos teóricos. PC. Las únicas diferencias de arquitectura entre el 8086 y el 8088 son la cola de instrucciones. es de 16 bits y siempre apunta a la dirección de la siguiente instrucción. Por lo tanto. Apuntador de Instrucciones El registro apuntador de instrucciones (IP). 1.6 Sistemas Digitales dedicados Este tipo de Sistemas. En general. es muy similar al registro contador de programa. También. equipo de ejercicio. hornos de microondas. son los que emplean los aparatos domésticos como: lavadoras de ropa. que puede no incluir todos los periféricos de una computadora personal aunque esto depende de la aplicación. Al igual que en una computadora personal. es un microprocesador o un microcontrolador. la base experimental tiene la forma de un sistema mínimo que se basa en un microprocesador determinado. el dispositivo en el que se basan es un dispositivo programable que. Emplean circuitos específicos para la aplicación pero mantienen la estructura.7 Base experimental A fin de aprender tanto los aspectos teóricos como los prácticos de los Sistemas Digitales. Las razones principales para seleccionarlo son: 19 .

II] Tener funcionando. en lenguaje ensamblador. entre las que están las específicas. 20 . alrededor de la 4ª semana del trimestre. entre otras.1] Forma parte de la familia 8086/8088 de Intel. las partes principales de la tarjeta UAMI-188EB. revisar y comparar los principios generales en que se basan tanto la Arquitectura de referencia como las más avanzadas del mismo y otros fabricantes. A continuación. Esto no es lo más conveniente. 2] El conocimiento de un microprocesador de ésta familia. sin embargo. Asimismo. Esto tiene. los programas necesarios. en éste primer capítulo se revisaron los conceptos básicos de Arquitectura y organización de computadoras. se detallará el desarrollo de los microprocesadores de la familia 8086/8088 de Intel® ya que el 80C188EB forma parte de ella. que son materia de un curso de Arquitectura de Computadoras ( ). Por lo tanto. para los cursos de Sistemas Digitales se pueden desarrollar en cualquier computadora personal desde las versiones originales hasta las más recientes.8 Objetivos del curso de Sistemas Digitales I Los objetivos de éste curso son: I] Aprender los aspectos básicos de la Arquitectura y de la programación de los miembros originales de la familia 8086/8088 de Intel. facilita el empleo de una computadora personal en varias aplicaciones. a partir de una plataforma especifica: los miembros originales de la familia 8086/8088 de Intel®. 1. la gran ventaja de que existe una gran cantidad de programación desarrollada. Sistemas Digitales I es sólo el primero de 3 cursos que permiten. además de enseñar los principios básicos para el desarrollo de un Sistema Digital dedicado utilizando una base experimental específica. en la que se basan la mayoría de las computadoras personales.

la unidad de ejecución y la unidad de interfase del canal trabajando en forma simultánea. la compatibilidad con el 8080 se mantuvo. el 8008 tenía una arquitectura de 8 bits. mediante el empleo de registros de segmento. Así. que lo iba a utilizar en una calculadora. el microprocesador más reciente es compatible con el anterior. principalmente respecto a las características de circuito y un aumento en la velocidad de alrededor de un 35%. A 21 . éste microprocesador tenía una arquitectura interna de sólo 4 bits. canal de datos de 8 bits. El conjunto de instrucciones era de 45. IBM® comercializa la primera computadora personal basada en éste microprocesador. hasta 1Mbyte de memoria. Microprocesadores de 16 bits En 1978 Intel® lanzó el microprocesador 8086 que mantenía la compatibilidad con el 8085 pero. el conjunto de instrucciones era de 48.1. ya que permitía utilizar un menor número de circuitos. fue compatible con el 8008 y ejecutaba las instrucciones a una velocidad 10 veces mayor. una canal de datos de 4 bits y un canal de direcciones de 12 bits que le permitía direccionar 4096 localidades de memoria. incorporaba cambios muy significativos: una arquitectura paralela de 16 bits. usualmente. La empresa japonesa NO utilizó el 4004. En el mismo año considerando que el microprocesador era un producto con buenas posibilidades comerciales Intel® lanzó el microprocesador 8008 que no era compatible con el 4004 caso único ya que. En 1979 Intel® lanzó el microprocesador 8088 y en 1981.9 Los microprocesadores de Intel® En 1972 Intel® fabricó el microprocesador 4004 para una empresa japonesa. canal de direcciones de 16 bits que permitía direccionar hasta 64KBytes de memoria y un conjunto de instrucciones más grande. en 1973 Intel® desarrolló el microprocesador 8080 que se considera el primero de los microprocesadores de 8 bits modernos gracias a sus características: arquitectura interna de 8 bits. que encontró aplicación en los primeros juegos de vídeo y en controles pequeños. A medida en que se desarrollaron más aplicaciones para el microprocesador el conjunto de instrucciones y la memoria que se podía direccionar resultaron insuficientes. con un canal de datos de 8 bits y un canal de direcciones 14 bits que le permitía direccionar una memoria de 16Kbytes. En 1977 Intel® lanzó el microprocesador 8085 que era una versión mejorada del 8080. con canales de direcciones y de datos de 16 bits que le permite direccionar. el conjunto de instrucciones es de aproximadamente 100.

1985. Intel® continuó el desarrollo de microprocesadores de 16 bits con el 80186. la unidad de manejo de memoria es mejor que la del 80286. ahora es una subfamilia. que es en la actualidad. En 1990 se comercializó el 80486SX. con un canal de datos de 16 bits para competir con algunas versiones del 80286 de otros fabricantes. 1990. El 80486DX. Microprocesador Canal de Datos Bits Canal de Direcciones Bits 12 16 20 20 20 20 24 Tamaño de Memoria Bytes 4K 64K 1M 1M 1M 1M 16M 4004 8085ª 8086 8088 80186 80188 80286 4 8 16 8 16 8 16 Tabla 1. y el 80286 que incluye una unidad de manejo de memoria y un canal de direcciones de 24 bits que le permite direccionar hasta 16 MBytes. 80386SX.1 Microprocesadores de Intel® hasta el 80286 Microprocesadores de 32 bits El primer microprocesador de 32 bits que fabricó. y el paralelismo del funcionamiento interno es mayor lo que le permite ejecutar la mayoría de las instrucciones en 2 ciclos de reloj. La tabla 1.1 muestra los microprocesadores de Intel® desde el 4004 hasta el 80286. equivalente al 80387.partir de ése año la aplicación de las computadoras personales creció en una forma muy rápida hasta llegar a ser la herramienta básica. Existió una versión. es un CPU 386DX mejorado que tiene integrado un coprocesador matemático. una versión del 486DX con el coprocesador deshabilitado también para competir con versiones del 386DX de otros 22 . y casi indispensable. Intel® fue el 80386DX con canales de datos y de direcciones de 32 bits que permiten direccionar hasta 4 gigabytes de memoria.

7 Densidades de integración de los microprocesadores de Intel® Microprocesador Canal de Datos Bits Canal de Direcciones Memoria Bytes 23 . 1.2 muestra los microprocesadores de Intel® de 32 bits. Fig. El desarrollo tecnológico en microelectrónica que hace posible la fabricación de los microprocesadores ha tenido un avance espectacular que permitió en las primeras versiones del microprocesador Pentium® el empleo de alrededor de 3 millones de transistores la Fig.fabricantes. La tabla 1. 1. En 1993 se lanzó la primera versión del microprocesador PentiumI® con una arquitectura interna de 32 bits y un canal de direcciones de 64 bits.7 muestra las densidades de integración de la familia 8086/8088 de Intel® a partir del 4004 con aproximadamente diez mil transistores.

2 Microprocesadores de 32 Bits de Intel® El avance en la velocidad de ejecución de las instrucciones también es espectacular hasta alcanzar los 100 millones de instrucciones por segundo.80386 DX 80386SL 80386SX 80486DX 80486SX Pentium® 32 16 16 32 32 32/64 32 24 24 32 32 64 4G 32M 16M 4G 4G 4G Tabla 1. MIPS. La Fig. de los 24 .8 muestra el funcionamiento microprocesadores de Intel® en función de los MIPS. 1. se incluye el 4004. que puede ejecutar la versión inicial de Pentium®.

1. Un sistema que se basa en un microprocesador tiene características de funcionamiento muy atractivas para la mayoría de los usuarios. Las funciones más comunes que debe realizar un microprocesador determinan su arquitectura. 25 . que le da características muy poderosas y atractivas a un sistema.8 Evolución de los microprocesadores de Intel® Resumen 1. 3. Un microprocesador es un dispositivo programable. El ejemplo más común de éste sistema es la computadora personal. 2.Fig.

en la mayoría de los casos. permite direccionar hasta un Megabyte de memoria y da grandes facilidades para la relocalización de programas. Las partes principales de un microprocesador de propósito general. dirección física. hace más eficiente la ejecución de los programas ya que la instrucción a ejecutar.4. Las partes principales de un microprocesador de propósito general. los registros de propósito general. registro de banderas. con banderas de estado que permiten ejecutar transferencias del control de ejecución del programa en forma condicional. 26 . La dirección de una localidad de memoria. Un sistema que se basa en un microprocesador tiene características de funcionamiento muy atractivas para la mayoría de los usuarios. son la unidad de control. 6. de memoria. los de direccionamiento. que le da características muy poderosas y atractivas a un sistema. La arquitectura orientada a segmentos. 12. 11. Un microprocesador es un dispositivo programable. a su vez la forman un segmento y un desplazamiento. El ejemplo más común de éste sistema es la computadora personal. 5. Además ése registro tiene banderas de control que determinan algunas características de funcionamiento como la habilitación de interrupciones. 8. Las funciones más comunes que realiza un microprocesador determinan su arquitectura. 10. Los microprocesadores de la familia 8086/8088 tienen una palabra de estado del procesador. los de direccionamiento. 7. de palabra de estado del procesador y la unidad aritmética y lógica. De ésta manera se logra direccionar un Mbyte de memoria. se forma a partir de una dirección lógica que. 13. los registros de propósito general. 9. La arquitectura paralela. La arquitectura interna de los microprocesadores 8086/8088 de Intel® es de 16 bits y tiene como características principales considerar la memoria en forma segmentada y una arquitectura paralela: la unidad de ejecución y la unidad de interfase del canal trabajan en forma simultánea. son la unidad de control. Los microprocesadores 8086/8088 de Intel® son los miembros originales de ésa familia que es en la que se basan la mayoría de las computadoras personales. de palabra de estado del procesador y la unidad aritmética y lógica. “pipeline”. está en la cola de instrucciones.

¿Cómo se conectan el microprocesador y las demás partes del sistema? 5. ¿Cuales son las banderas de estado de la palabra de estado del procesador. Describa. En 1981 IBM® comercializa la primera computadora personal. que se basa en un 8088. MIPS. 17. ¿Cuales son las funciones básicas de un microprocesador? 7. ¿Cuáles son las partes que forman la estructura de un sistema que se basa en un microprocesador? 2. brevemente.14. del 8086/8088? 27 . ¿Cuál es la función del microprocesador en el sistema de la pregunta anterior? 3. En 1976 se introdujo el 8086 que fue el primer microprocesador de 16 bits de Intel®. al igual que los millones de instrucciones por segundo. Intel® fabricó el primer microprocesador. registro de banderas. ¿Cuál es la dirección en que el 8086/8088 ejecutan su primer ciclo de recuperación de código? 10. ¿Cuales son las banderas de control de la palabra de estado del procesador. conjunto de 45 instrucciones y direccionamiento de 16 Kbytes. ¿Cómo pueden direccionar un Mbyte de memoria el 8086/8088. ¿Qué función tienen los circuitos de temporización y de reinicialización? 4. ¿En base a esas funciones cuál es una posible arquitectura del microprocesador? 8. ¿Cómo se forma la dirección anterior? 11. 9. Preguntas 1. En 1971. La gran popularidad de las computadoras personales y los avances tecnológicos en microelectrónica permiten fabricar computadoras más poderosas y económicas. 8080 en éste caso. registro de banderas. si su arquitectura es de 16 bits? 12. que ejecutan los microprocesadores. 15. a partir de éste microprocesador el siguiente. el 4004 con una arquitectura interna de 4 bits y un canal de direcciones que le permitía accesar hasta 4 Kbytes de memoria. A finales de 1971 se introdujo el 8008 con una arquitectura de 8 bits. Los niveles de integración tienen números de transistores sin precedente. 18. la arquitectura del microprocesador 8088 de Intel®. 16. siempre fue compatible con el anterior. ¿Qué tipos de dispositivos son los más comunes en el susbsistema de memoria? 6. del 8086/8088? 13.

21. ¿ Qué función tiene cada una de las banderas de estado y de control? 15. ¿por qué fue tan popular el Z-80? 22. Describa. ¿Existen sistemas digitales dedicados en una computadora personal? 19. ¿Cuáles son las diferencias entre el 8086 y el 8088? 17. 16.14. 18. En base a su respuesta anterior. brevemente. Dé las características mínimas de una computadora personal Pentium IV®. un sistema digital dedicado. brevemente. brevemente. 28 . ¿Cuáles son las principales ventajas de los microprocesadores 8086/8088. Describa. cada uno de los registros del 8086/8088 y su función. respecto a los microprocesadores de segunda generación como el 8085? 20. Estudie. suponiendo que la va a adquirir. la arquitectura del microprocesador Z-80 de Zilog® y compárelo con un 8085.