Académique Documents
Professionnel Documents
Culture Documents
CAPITULO I
INTRODUCCIN
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 bsicas que debe realizar y a partir de stas, se propone una arquitectura para el microprocesador. A continuacin, se estudia en forma detallada la arquitectura, del microprocesador 8088. El objetivo de ste captulo 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 propsito 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 seal que es activa en nivel bajo, normalmente, una transicin de +5 a 0 volts, se emplea la convencin que forman las siglas de la seal seguidas de . Por ejemplo, CS es una seal activa en nivel bajo, que conecta a un circuito, de tercer estado, al canal de un sistema con un microprocesador.
circuito como de programacin, forman el sistema completo que proporcionan a sus usuarios los servicios necesarios para realizar en forma atractiva los trabajos que estn interesados en llevar a cabo.
Fig.1.1 Estructura de un sistema que se basa en un microprocesador. Las partes siguientes forman el sistema: microprocesador, circuito de temporizacin, que incluye la parte de reinicializacin, canal del sistema, memoria, circuitos de entrada y salida. A continuacin, se describe cada una de las partes. Microprocesador: es un dispositivo programable que es la parte principal del sistema y le proporciona sus principales caractersticas, entre otras: velocidad de procesamiento,
espacio de memoria y de entrada/salida que puede direccionar, tipo de sistemas operativos que puede soportar, posibilidades de actualizacin. Circuito de temporizacin: temporizacin el microprocesador requiere de una seal de reloj, muy estable, a fin de sincronizar tanto su operacin interna como la de todo el sistema a travs de su canal. Aqu est incluida la parte de reinicializacin que al encender el sistema, o cuando es necesario, lleva al microprocesador a un estado inicial conocido, que siempre es el mismo, y a partir del cual, tpicamente se ejecuta un programa de inicializacin y autocomprobacin.
Canal del sistema: sistema determina las caractersticas de comunicacin del microprocesador con los perifricos que forman el sistema y a su vez lo constituyen el canal de
direcciones, de cuyo nmero de bits depende el espacio de memoria y de entrada/salida que es posible direccionar, as como el canal de datos que determina el nmero mximo de bits que se pueden transferir en un dato. Como se observa en la Fig. 1.1, al canal del sistema estn conectados la memoria y todos los perifricos que lo forman. Sin embargo, ya que son dispositivos de tercer estado estn en alta impedancia la mayor parte del tiempo, elctricamente estn desconectados, y slo se conectan al canal cuando les corresponde. Las seales que conectan a la memoria o a un perifrico al canal del sistema las proporciona, el canal de control. Por ejemplo, al encender el sistema el microprocesador inicia la ejecucin del programa de inicializacin a partir de una direccin de memoria que siempre es la misma. Esto requiere que la memoria que lo contiene, usualmente ROM, reciba, entre otras, la seal de seleccin de integrado CS, que la conecta al canal y otra de lectura, ambas seales, con la temporizacin adecuada, las proporciona el canal de control. Algo similar sucede cuando se requiere realizar alguna operacin con un perifrico. 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. Los programas que ejecuta el microprocesador estn en el subsistema de memoria, que forman diferentes dispositivos, de memoria ROM y RAM, cuya capacidad de almacenamiento depende de las necesidades del usuario. Subsistema de entrada/salida: entrada/salida son los perifricos que requiere el sistema. Por ejemplo, se requiere una interfaz de usuario, que permita solicitar tareas y obtener resultados. En el caso de una computadora personal, esa interfaz est formada principalmente por el teclado y el monitor, si el sistema es muy pequeo slo cuenta con un pequeo teclado que puede ser decimal o hexadecimal y algn tipo de despliegue, tpicamente de diodos emisores de luz, leds, o dispositivos de cristal lquido. Los perifricos restantes pueden ser dispositivos de almacenamiento masivo como unidades de disco duro, ptico o flexible, as como impresora, convertidores analgicos/digitales, digitales/analgicos y otros perifricos que dependen de las necesidades del usuario.
3
Como se ver posteriormente, un sistema que se basa en un microprocesador, generalmente, tiene una estructura de capas, la primera y ms bsica la forman el microprocesador y los dems circuitos, en trminos coloquiales los fierros, la capa siguiente la forman los programas, en lenguaje ensamblador, que forman el sistema bsico de entrada/salida BIOS que est grabado en ROM, encima de sta capa est el interprete de comandos del sistema operativo.
Si el microprocesador es capaz de realizar stas funciones en forma eficiente o muy eficiente. El sistema ser funcional, considerando que tiene como objetivo principal ejecutar las tareas en las que estn interesados la gran mayora de los usuarios. Si se requiere realizar tareas ms especializadas: procesamiento matemtico intensivo, procesamiento de seales, el sistema puede requerir de algn coprocesador. Considerando que, al menos por el momento, slo son de inters las funciones bsicas,
listadas inicialmente, conviene analizar la posible arquitectura de un microprocesador que las realice.
Unidad de control control: rol realiza la ejecucin de los programas sincronizando la operacin de las diferentes unidades del microprocesador, segn lo requiera el programa. Contiene los registros siguientes: Contador de programa: este registro apunta a la direccin de la siguiente instruccin que se va a ejecutar. Registro de la instruccin actual: decodifica la instruccin presente, y la transfiere para su ejecucin. Ya que al decodificar la instruccin determina su nmero de bytes y actualiza el contenido del contador de programa. Palabra de estado del procesador: contiene bits de estado que reflejan el resultado de la ejecucin de una instruccin, tpicamente aritmtica o lgica, que por ejemplo, result en cero o es negativo. Tambin puede tener bits de control que determinan alguna caracterstica del funcionamiento del microprocesador. Por ejemplo, la habilitacin y deshabilitacin de interrupciones. Apuntador de pila: este registro apunta a una direccin de la memoria que forma la pila de memoria, que es una cantidad determinada de localidades de memoria RAM, que emplean el microprocesador y el programador para almacenar datos importantes, posteriormente se detalla su funcionamiento. Registros de trabajo: ejecutan las diferentes instrucciones del microprocesador utilizando registros de propsito general y de direccionamiento. Unidad aritmtica y lgica, ALU: realiza las operaciones aritmticas y lgicas que requieren algunas instrucciones, el resultado de algunas de stas se refleja en la palabra de estado del procesador. Por ejemplo, si el resultado de una resta fue cero.
Unidad de lgica de control de entrada/salida: realiza la comunicacin entre el microprocesador y los perifricos del sistema mediante las instrucciones de entrada/salida. A continuacin, se describen en mayor detalle stas partes. Al encender el sistema el microprocesador recibe una seal de reinicializacin, del circuito de temporizacin, que siempre lo lleva al mismo estado inicial que, entre otras acciones, carga en el contador de programa de la unidad de control, la direccin en la que el microprocesador va a ejecutar el primer ciclo de recuperacin de cdigo de programa. Esta direccin, siempre es la misma, la unidad de control la transfiere a las terminales de salida del microprocesador que forman el canal de direcciones del sistema. Generalmente, ah empieza el programa de inicializacin del sistema, la memoria que contiene esa direccin inicial, usualmente ROM, recibe del canal de control la seal de habilitacin, CS que la conecta al canal del sistema, y poco despus una seal de lectura, RD. Algunos ciclos de reloj despus, que determina la temporizacin del microprocesador, la memoria coloca en el canal del sistema el dato de la direccin que se present a su entrada. A continuacin, el microprocesador lee se dato de sus terminales que forman el canal de datos, lo transfiere al registro de la instruccin actual, dnde ser decodificado para su ejecucin, y actualiza el valor del contador de programa a fin de que apunte a la direccin donde se encuentra la siguiente instruccin. Una vez que decodifica la instruccin, el microprocesador sabe de cuntos bytes consta y en donde se ejecutar. Por ejemplo, si la instruccin es aritmtica o lgica, se va ejecutar en la ALU empleando registros de propsito general. Adicionalmente, como ya se mencion, la ALU tiene asociado un registro de palabra de estado del procesador en el que puede reflejar en un bit especfico, bandera, el resultado de una operacin aritmtica que dio, por ejemplo, un resultado negativo o igual a cero. Registros de propsito general Son los registros que emplea el microprocesador para ejecutar diferentes instrucciones. Por ejemplo, si se ejecuta una suma, un registro contiene uno de los sumandos y un segundo registro el otro, una vez que se realiza la suma uno de los dos debe tener el resultado: es un acumulador, al inicio de la suma contiene uno de los sumandos y al final contiene el resultado. Los registros de propsito general que se emplean para las operaciones aritmticas se conocen como registros aritmticos.
7
El microprocesador no slo tiene la capacidad de realizar operaciones aritmticas entre operandos que estn en sus registros, tambin las puede realizar entre un operando que se encuentre en memoria y otro que est en un registro. En ste caso, se utiliza un registro para apuntar a la localidad de memoria que contiene el otro operando. Los registros que cumplen sta funcin, se conocen como registros apuntadores y forman parte de los registros de direccionamiento, algunos de stos pueden ser especficos para ejecutar instrucciones sobre cadenas o arreglos de datos. Por ejemplo, puede haber un apuntador fuente y uno destino para transferencias entre cadenas de datos. Con lo expuesto hasta ahora, la arquitectura bsica propuesta cumple con las 4 primeras funciones requeridas.
la bandera correspondiente del registro de estado del procesador. As, slo si la condicin de transferencia se cumple, se lleva a cabo. Por lo tanto, el control de ejecucin del programa pasa a una localidad diferente a la que segua en secuencia. En caso contrario, la ejecucin del programa contina en sa localidad. Si la transferencia del control de ejecucin del programa se realiza, el contenido previo del contador de programa se desecha. La Fig. 1.3 muestra el diagrama de flujo de un brinco condicional, con las instrucciones correspondientes a lado de los bloques.
La parte de cdigo, que es para el 8086/8088, que incluye la figura merece algunos comentarios: 1] Inicialmente, se ejecuta una instruccin que resta el contenido del registro BX, al contenido del registro AX, una vez que se ejecuta la resta el resultado queda en el registro AX. La notacin que se emplea para representar sta instruccin es:
AX AX-BX
SUB AX, BX
El smbolo se interpreta como transfiere a. En ste caso, se transfiere al registro AX el resultado de la resta de su contenido previo menos el contenido del registro BX. Si los contenidos de ambos registros son iguales su resta dar cero, si se es el resultado al ejecutar la resta la ALU del microprocesador activa, en 1, la bandera de cero del registro de estado del procesador y si no es cero la bandera se mantiene inactiva, en 0. As, a continuacin de la instruccin de resta se puede ejecutar una instruccin de transferencia condicional del programa, que pregunte si la bandera de cero est activa.
2]
La instruccin: JZ CAMBIO
Transfiere el control de ejecucin del programa a la localidad que tiene la etiqueta CAMBIO, slo si la bandera de 0 est activa. En caso contrario ejecuta la siguiente instruccin.
10
microprocesador debe recordar la direccin de la instruccin que sigue a la llamada a la subrutina. Para sta, y otras situaciones similares, el microprocesador tiene un rea de memoria, RAM externa, denominada pila y que forma parte de la memoria del sistema, En la que almacena temporalmente, para recordarla, la direccin de la instruccin que sigue a la llamada a la subrutina. La unidad de control cuenta con un registro apuntador de pila que apunta a sa rea de la memoria. Cuando el microprocesador decodifica la instruccin de llamada a una subrutina, sin la intervencin del programador, hace lugar en la pila y ah guarda el contenido del contador de programa, que es la direccin de la instruccin que sigue a la llamada y que debe ejecutar al regresar de sta. A continuacin, cambia el contenido, del contador de programa, por el de la direccin de la primera instruccin de la subrutina e inicia su ejecucin. Siempre, la ltima instruccin de la subrutina es un retorno que regresa el control de ejecucin del programa a la instruccin que sigue a la llamada. Ahora el microprocesador, nuevamente sin que intervenga el programador, recupera de la pila de memoria la direccin de la instruccin que sigue a la llamada, la carga en el contador de programa, actualiza el valor del apuntador de pila y la ejecucin continua. De sta forma el microprocesador es capaz de ejecutar llamadas a subrutinas y regresar de stas.
11
En la Fig. 1.4 se muestra un programa que tiene una llamada a una subrutina llamada CONV1, una vez que el microprocesador encuentra la instruccin de llamada: CALL CONV1 Transfiere el control de ejecucin del programa a la localidad de la primera instruccin de sa subrutina, pero debe recordar la direccin de la instruccin que sigue a la llamada. Esto se logra de la forma siguiente: 1] Haciendo lugar en la pila de memoria: SP SP-2
2]
Almacenando, en la direccin de memoria a que apunta el registro SP y la siguiente, se denota por el parntesis, el contenido del contador de programa: (SP:SP+1) CP
Esto lo ejecuta el microprocesador sin la intervencin del programador y de sta forma se recuerda la direccin de la siguiente instruccin a la llamada. La subrutina CONV1 termina con la instruccin: RET Que ejecuta lo siguiente: CP (SP:SP+1) SP SP+2 Si se observa la instruccin de regreso de la subrutina ejecuta casi la misma secuencia que la instruccin de llamada. Esta inici haciendo lugar en la pila, se requieren 2 localidades de memoria para el contenido del contador de programa, si el CPU es de 16 bits, a continuacin, ah lo almacen. El regreso primero transfiere el contenido de la pila de memoria al contador de programa y a continuacin dej al apuntador de pila en la misma direccin que tena antes de la llamada. Conviene aclarar que se considera una pila con el mismo funcionamiento, ltimo en entrar, primero en salir LIFO, que la del microprocesador 8086/8088 y que al igual que las instrucciones de llamada y de regreso se estudiarn posteriormente.
12
Seccin de lgica de control de entrada/salida: entrada/salida comunica al microprocesador con los perifricos que estn en ese espacio, esto se realiza mediante instrucciones de entrada y de salida entre uno de los registros del microprocesador y los registros de los perifricos, stas instrucciones, en los microprocesadores, slo transfieren datos pero no afectan ninguna bandera del registro de palabra de estado del procesador. As, no es posible a continuacin de stas transferir en forma condicional, el control de ejecucin del programa. De acuerdo a lo anterior, sta arquitectura es capaz de realizar las tareas bsicas que esperamos del microprocesador. A continuacin, 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.
13
accesar a la memoria o a un perifrico, la unidad de interfase del canal ejecuta los ciclos de canal necesarios ya sea para leer o escribir los datos. Registros de propsito general Son los registros: AX, BX, CX, DX y pueden considerase completos o dividirse en una parte alta: AH, BH, CH, DH y en una parte baja: AL, BL, CL, DL. Por lo tanto, cada uno se puede utilizar como un registro de 16 bits o dos registros independientes de 8 bits. Cualquiera de estos registros puede ser el acumulador para operaciones aritmticas y lgicas.
Registros ndice y apuntadores Los registros BP, SP, SI, DI slo se pueden utilizar completos. BP, realiza la funcin de apuntador base en el segmento de pila y para varias formas de direccionamiento. SP es el
14
apuntador del segmento de pila. SI es un apuntador a un arreglo fuente de datos y DI es el apuntador a un arreglo destino. Estos 4 registros se utilizan en los diferentes modos de direccionamiento del microprocesador. Unidad Unidad aritmtica y lgica En esta unidad se realizan todas las operaciones aritmticas y lgicas 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. Registro de banderas Posee 6 banderas de estado y tres de control. Las banderas de estado reflejan el programa cambiar la
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
Banderas de estado Las banderas de estado son las siguientes: CF bandera de acarreo. Si se activa, en uno, indica que ocurri un acarreo o un prstamo del bit ms significativo como resultado de una operacin aritmtica o lgica de 8 o 16 bits.
15
PF bandera de paridad. Si est activa, en uno, indica que el resultado de una operacin tiene paridad par. Esta bandera se utiliza para encontrar errores en caracteres transmitidos y slo comprueba la paridad de los 8 bits menos significativos del registro AX. AF bandera de acarreo auxiliar. Si se activa, en uno, indica que en la instruccin ejecutada, se present un acarreo o un prstamo del bit 3 al 4 del registro destino. Esta bandera la utilizan en forma implcita las instrucciones de ajuste decimal y ascii. ZF bandera de cero. Si se activa, en uno, indica que el resultado de una operacin aritmtica o lgica fue cero. SF bandera de signo. Indica que el resultado de una instruccin, normalmente aritmtica es negativo. Las instrucciones que la afectan se ejecutan en aritmtica de complemento a 2, en la que el valor del bit ms significativo, 7 o 15, da el signo. Por lo tanto, si SF = 0, se trata de un nmero positivo y si SF = 1, es un numero negativo. OF bandera de sobreflujo. Indica que ocurri un sobreflujo. Esto es, el tamao del resultado excede el tamao del destino.
Banderas de control Estas banderas permiten controlar tres estados del microprocesador y son las siguientes: TF bandera de trampa. Si se activa con uno sta bandera, el procesador pasa a ejecutar el programa instruccin por instruccin con fines de depuracin. Ya que no existen instrucciones ni para activarla ni para desactivarla se requiere ejecutar un enmascaramiento o desenmascaramiento mediante instrucciones lgicas registro de banderas. con el
16
IF bandera de habilitacin de interrupciones. Al activarla, con uno, se habilitan las interrupciones enmascarables que estn dedicadas, usualmente, a los perifricos del sistema. DF bandera de direccin. Al activarla, con uno, las instrucciones para cadenas o arreglos ejecutan un autodecremento de las direcciones fuente y destino. Si se desactiva, con cero, esas instrucciones se ejecutan con incremento de ambas direcciones. Unidad de interfase del canal
Ya que la unidad de ejecucin no tiene una conexin directa al canal del sistema, obtiene cdigo, operandos y datos a travs de la unidad de interfase del canal que ejecuta todos los ciclos necesarios. Esta unidad consta de 4 registros de segmento, registros de Mientras la comunicacin interna, el apuntador de instrucciones, una cola de 4 bytes, la lgica de control del canal, y un sumador dedicado para formar la direccin fsica. unidad de ejecucin decodifica y ejecuta una instruccin, la unidad de interfase del canal ejecuta un ciclo en el que lee y almacena en la cola, el byte de la siguiente localidad de memoria. Esto es, ambas unidades del CPU trabajan en forma paralela. Por lo tanto, en un alto porcentaje del programa la unidad de ejecucin tiene disponible, en la cola, el cdigo de la siguiente instruccin a ejecutar y de esta forma, prcticamente desaparece el tiempo del ciclo de recuperacin de cdigo (fetch) lo que resulta en un incremento muy notable en la velocidad de ejecucin de la mayora de los programas. La unidad de ejecucin normalmente mantiene llenos los 4 bytes de la cola ya que al estar vaco un byte ejecuta un nuevo ciclo a fin de llenarlo. 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 lgicos de 64 Kbytes. La unidad de interfase del canal tiene cuatro registros de segmento:
17
El registro CS tiene la direccin del segmento, de hasta 64kbytes, donde se encuentra el programa en ejecucin. El registro DS tiene la direccin inicial de un segmento de datos y ES, tpicamente, tiene el mismo propsito. El registro SS tiene la direccin inicial del segmento de pila. Estos registros dan a esta familia una de sus caractersticas principales: la memoria segmentada que les proporciona facilidades nicas para relocalizar programas. As conviene analizar, en detalle, como se forma una direccin para tener acceso a la memoria. El microprocesador 8088 es capaz de direccionar hasta 1 MByte de memoria, para lo que se requiere una direccin de 20 bits. Si ni en la unidad de ejecucin ni en la unidad de interfase del canal existe un registro de 20 bits; cmo se forma una direccin? Sumador dedicado de 20 bits La direccin fsica la forma el sumador dedicado de la unidad de interfase del canal con el contenido de un registro de segmento, ms un desplazamiento (offset). Por ejemplo en la reinicializacin, varios de los microprocesadores de esta familia inician la ejecucin del programa en la localidad FFFF0H. En este caso, el contenido de todos los registros de segmento del microprocesador y del apuntador de instrucciones es 0000H con excepcin del registro del segmento de cdigo que despierta con FFFFH. La direccin de 20 bits se forma en el sumador mediante la suma del segmento multiplicado por 16 ms el desplazamiento: CS + IP 0000H Direccin = FFFF0H La forma usual para dar las direcciones es mediante una direccin lgica que da las direcciones del segmento y del desplazamiento que para la reinicializacin es:
18
FFFF0H
FFFFH:0000H a partir de la direccin lgica se forma la direccin fsica mediante una suma como la anterior. Apuntador de Instrucciones El registro apuntador de instrucciones (IP), es de 16 bits y siempre apunta a la direccin de la siguiente instruccin. Por lo tanto, es muy similar al registro contador de programa, PC, de otros microprocesadores. Ninguna instruccin tiene acceso directo a este registro pero, indirectamente mediante algunas instrucciones se puede cambiar, salvar o incluso obtener del segmento de pila. Las nicas diferencias de arquitectura entre el 8086 y el 8088 son la cola de instrucciones, en el 8086 es de 6 bytes, consecuencia de que el ancho de su canal de datos es de 16 bits.
19
1]
Forma parte de la familia 8086/8088 de Intel, en la que se basan la mayora de las computadoras personales. Esto tiene, entre otras, la gran ventaja de que existe una gran cantidad de programacin desarrollada. Asimismo, los programas necesarios, en lenguaje ensamblador, para los cursos de Sistemas Digitales se pueden desarrollar en cualquier computadora personal desde las versiones originales hasta las ms recientes.
2]
El conocimiento de un microprocesador de sta familia, facilita el empleo de una computadora personal en varias aplicaciones, entre las que estn las especficas.
20
microprocesador 8080 que se considera el primero de los microprocesadores de 8 bits modernos gracias a sus caractersticas: arquitectura interna de 8 bits, canal de datos de 8 bits, canal de direcciones de 16 bits que permita direccionar hasta 64KBytes de memoria y un conjunto de instrucciones ms grande, fue compatible con el 8008 y ejecutaba las instrucciones a una velocidad 10 veces mayor. En 1977 Intel lanz el microprocesador 8085 que era una versin mejorada del 8080, principalmente respecto a las caractersticas de circuito y un aumento en la velocidad de alrededor de un 35%, la compatibilidad con el 8080 se mantuvo. Microprocesadores de 16 bits
En 1978 Intel lanz el microprocesador 8086 que mantena la compatibilidad con el 8085 pero, incorporaba cambios muy significativos: una arquitectura paralela de 16 bits, la unidad de ejecucin y la unidad de interfase del canal trabajando en forma simultnea, con canales de direcciones y de datos de 16 bits que le permite direccionar, mediante el empleo de registros de segmento, hasta 1Mbyte de memoria, el conjunto de instrucciones es de aproximadamente 100. En 1979 Intel lanz el microprocesador 8088 y en 1981, IBM comercializa la primera computadora personal basada en ste microprocesador. A
21
partir de se ao la aplicacin de las computadoras personales creci en una forma muy rpida hasta llegar a ser la herramienta bsica, y casi indispensable, que es en la actualidad.
Intel continu el desarrollo de microprocesadores de 16 bits con el 80186, ahora es una subfamilia, 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. La tabla 1.1 muestra los microprocesadores de Intel desde el 4004 hasta el 80286.
Microprocesador
4 8 16 8 16 8 16
Microprocesadores de 32 bits El primer microprocesador de 32 bits que fabric, 1985, Intel fue el 80386DX con canales de datos y de direcciones de 32 bits que permiten direccionar hasta 4 gigabytes de memoria, la unidad de manejo de memoria es mejor que la del 80286, y el paralelismo del funcionamiento interno es mayor lo que le permite ejecutar la mayora de las instrucciones en 2 ciclos de reloj. Existi una versin, 80386SX, con un canal de datos de 16 bits para competir con algunas versiones del 80286 de otros fabricantes. El 80486DX, 1990, es un CPU 386DX mejorado que tiene integrado un coprocesador matemtico, equivalente al 80387. En 1990 se comercializ el 80486SX, una versin del 486DX con el coprocesador deshabilitado tambin para competir con versiones del 386DX de otros
22
fabricantes. En 1993 se lanz la primera versin del microprocesador PentiumI con una arquitectura interna de 32 bits y un canal de direcciones de 64 bits. La tabla 1.2 muestra los microprocesadores de Intel de 32 bits.
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. 1.7 muestra las densidades de integracin de la familia 8086/8088 de Intel a partir del 4004 con aproximadamente diez mil transistores.
Microprocesador
Canal de Direcciones
Memoria Bytes
23
32 16 16 32 32 32/64
32 24 24 32 32 64
4G 32M 16M 4G 4G 4G
El avance en la velocidad de ejecucin de las instrucciones tambin es espectacular hasta alcanzar los 100 millones de instrucciones por segundo, MIPS, que puede ejecutar la versin inicial de Pentium. La Fig. 1.8 muestra el funcionamiento microprocesadores de Intel en funcin de los MIPS, se incluye el 4004. de los
24
Resumen
1. Un sistema que se basa en un microprocesador tiene caractersticas de funcionamiento muy atractivas para la mayora de los usuarios. El ejemplo ms comn de ste sistema es la computadora personal. 2. Un microprocesador es un dispositivo programable, que le da caractersticas muy poderosas y atractivas a un sistema. 3. Las funciones ms comunes que debe realizar un microprocesador determinan su arquitectura.
25
4. Las partes principales de un microprocesador de propsito general, son la unidad de control, los registros de propsito general, los de direccionamiento, de palabra de estado del procesador y la unidad aritmtica y lgica. 5. Un sistema que se basa en un microprocesador tiene caractersticas de funcionamiento muy atractivas para la mayora de los usuarios. El ejemplo ms comn de ste sistema es la computadora personal. 6. Un microprocesador es un dispositivo programable, que le da caractersticas muy poderosas y atractivas a un sistema. Las funciones ms comunes que realiza un microprocesador determinan su arquitectura. 7. Las partes principales de un microprocesador de propsito general, son la unidad de control, los registros de propsito general, los de direccionamiento, de palabra de estado del procesador y la unidad aritmtica y lgica. 8. Los microprocesadores 8086/8088 de Intel son los miembros originales de sa familia que es en la que se basan la mayora de las computadoras personales. 9. La arquitectura interna de los microprocesadores 8086/8088 de Intel es de 16 bits y tiene como caractersticas principales considerar la memoria en forma segmentada y una arquitectura paralela: la unidad de ejecucin y la unidad de interfase del canal trabajan en forma simultnea. 10. La arquitectura paralela, pipeline, hace ms eficiente la ejecucin de los programas ya que la instruccin a ejecutar, en la mayora de los casos, est en la cola de instrucciones. 11. La arquitectura orientada a segmentos, de memoria, permite direccionar hasta un Megabyte de memoria y da grandes facilidades para la relocalizacin de programas. 12. La direccin de una localidad de memoria, direccin fsica, se forma a partir de una direccin lgica que, a su vez la forman un segmento y un desplazamiento. De sta manera se logra direccionar un Mbyte de memoria. 13. Los microprocesadores de la familia 8086/8088 tienen una palabra de estado del procesador, registro de banderas, con banderas de estado que permiten ejecutar transferencias del control de ejecucin del programa en forma condicional. Adems se registro tiene banderas de control que determinan algunas caractersticas de funcionamiento como la habilitacin de interrupciones.
26
14. En 1971, Intel fabric el primer microprocesador, el 4004 con una arquitectura interna de 4 bits y un canal de direcciones que le permita accesar hasta 4 Kbytes de memoria. 15. A finales de 1971 se introdujo el 8008 con una arquitectura de 8 bits, conjunto de 45 instrucciones y direccionamiento de 16 Kbytes, a partir de ste microprocesador el siguiente, 8080 en ste caso, siempre fue compatible con el anterior. 16. En 1976 se introdujo el 8086 que fue el primer microprocesador de 16 bits de Intel. 17. En 1981 IBM comercializa la primera computadora personal, que se basa en un 8088. 18. La gran popularidad de las computadoras personales y los avances tecnolgicos en microelectrnica permiten fabricar computadoras ms poderosas y econmicas. Los niveles de integracin tienen nmeros de transistores sin precedente, al igual que los millones de instrucciones por segundo, MIPS, que ejecutan los microprocesadores.
Preguntas
1. Cules son las partes que forman la estructura de un sistema que se basa en un microprocesador? 2. Cul es la funcin del microprocesador en el sistema de la pregunta anterior? 3. Qu funcin tienen los circuitos de temporizacin y de reinicializacin? 4. Cmo se conectan el microprocesador y las dems partes del sistema? 5. Qu tipos de dispositivos son los ms comunes en el susbsistema de memoria? 6. Cuales son las funciones bsicas de un microprocesador? 7. En base a esas funciones cul es una posible arquitectura del microprocesador? 8. Describa, brevemente, la arquitectura del microprocesador 8088 de Intel. 9. Cul es la direccin en que el 8086/8088 ejecutan su primer ciclo de recuperacin de cdigo? 10. Cmo se forma la direccin anterior? 11. Cmo pueden direccionar un Mbyte de memoria el 8086/8088, si su arquitectura es de 16 bits? 12. Cuales son las banderas de estado de la palabra de estado del procesador, registro de banderas, del 8086/8088? 13. Cuales son las banderas de control de la palabra de estado del procesador, registro de banderas, del 8086/8088?
27
14. Qu funcin tiene cada una de las banderas de estado y de control? 15. Describa, brevemente, cada uno de los registros del 8086/8088 y su funcin. 16. Cules son las diferencias entre el 8086 y el 8088? 17. Describa, brevemente, un sistema digital dedicado. 18. Existen sistemas digitales dedicados en una computadora personal? 19. Cules son las principales ventajas de los microprocesadores 8086/8088, respecto a los microprocesadores de segunda generacin como el 8085? 20. Estudie, brevemente, la arquitectura del microprocesador Z-80 de Zilog y comprelo con un 8085. 21. En base a su respuesta anterior, por qu fue tan popular el Z-80? 22. D las caractersticas mnimas de una computadora personal Pentium IV, suponiendo que la va a adquirir.
28