Académique Documents
Professionnel Documents
Culture Documents
OBJETIVO DE LA UNIDAD Cuando termine esta unidad, usted ser capaz de localizar y describir varios de los componentes del tablero de circuitos y demostrar las funciones bsicas del tablero entrenador. FUNDAMENTOS DE LA UNIDAD Microprocesadores han cambiado prcticamente cada faceta de nuestras vidas diarias. Pueden encontrare en oficinas, computadoras industriales y personales as como instrumentacin medica y cientfica. Los microprocesadores son comunes en los equipos de comunicaciones modernos y en la industria aeroespacial. Algunos de los carros que ha manejado pueden tener una tarjeta con microprocesador para monitorear y controlar algunas funciones del motor y los frenos.
Un microprocesador o Unidad central de proceso (CPU = Central Processing Unit), es un circuito integrado (CI) digital que puede ejecutar funciones aritmticas y lgicas y transferir informacin desde y hacia dispositivos externos. El diagrama muestra un sistema con microprocesador tpico. Los dispositivos de soporte que usualmente contienen un circuito microprocesador incluyen otros circuitos integrados para funciones de memoria y Entrada/Salida (E/S). Los CIs de memoria son dispositivos de almacenamiento que contienen informacin en forma binaria. Parte de la informacin est en forma de programas, o conjunto de instrucciones para que las ejecute la CPU. La CPU tambin usa parte de la memoria para almacenar informacin del sistema y el resultado de clculos. Los dispositivos de E/S le permiten a la CPU comunicarse con el entorno externo. La CPU de su computadora usa un dispositivo de entrada para leer sus rdenes del teclado, y un dispositivo de salida para enviar informacin en texto y grficas a la pantalla que est observando.
Microprocesador de 32 bits
La comunicacin entre la CPU, la memoria y los dispositivos de E/S se realiza a travs de grupos de lneas de conexin llamados buses. La informacin binaria va y viene a travs del bus de datos. La CPU usa el bus de direccin para apuntar a la posicin exacta desde donde o a dnde se transfieren los datos. El tamao de los buses (nmero de lneas) es una medida de la potencia de proceso de la CPU.
Los primeros microprocesadores tenan un bus de datos de 4 bits. En una operacin de salida, por ejemplo, una CPU de 4 bits solamente poda enviar nmeros en el rango de 0 - 16 (24) en una sola operacin. La CPU poda enviar un nmero ms grande haciendo varias transferencias sucesivas. Los microprocesadores de 4 bits rpidamente evolucionaron a la versin de 8 bits, que podan enviar un nmero tan alto como 256 (28) en una operacin. La siguiente generacin desarrollo un bus de datos de 16 bits. El microprocesador 80386 de su tablero de circuitos es un dispositivo de 32 bits. El nmero ms grande que puede enviar es 4,294,967,296 (232). El 80386 es tambin, por otras razones ms potente que sus antecesores. Su bus de direccin de 32 bits puede acceder directamente a 4,294,967,296 posiciones de memoria externa. El 80386 tiene un amplio nmero de registros. Los registros son localizaciones de memoria interna para almacenar informacin del estado del sistema. Para operar rpidamente, la CPU tiene un bus de datos interno de 32 bits y la capacidad de procesar una instruccin mientras simultneamente est trayendo la prxima instruccin. Adems de la CPU 80386, su tablero de circuitos incluye dos tipos de dispositivos de memoria, circuitos de entrada y de salida y un rea de aplicaciones donde puede demostrar como se intercomunica la CPU con el entorno externo.
Microprocesador de 32 bits
Puede comunicarse directamente con la CPU por medio de un teclado, una pantalla alfanumrica de cristal lquido (LCD = Liquid Crystal Display) y un grupo de diodos emisores de luz (LED = Light Emitting Diode) que muestran informacin binaria del bus de direccin y del bus de datos. Los microprocesadores se comunican en binario con los otros dispositivos. Debido a que deber acostumbrarse a trabajar con muchos bits de informacin binaria, los LEDs de datos y direccin se han dividido en grupos de cuatro bits para que pueda hacer lecturas de un dgito hexadecimal. El teclado est diseado para nmeros hexadecimales y la pantalla LCD muestra los nmeros hexadecimales y un recordatorio simple en ingls. Encontrar muy til acostumbrarse a usar nmeros binarios y hexadecimales lo ms antes posible. NUEVOS TRMINOS Y PALABRAS bus de datos - grupo de lneas bidireccionales que se usan para transferir datos entre el microprocesador y la memoria externa o dispositivos de E/S. bus de direccin - grupo de seales de salida que usa un microprocesador para especificar la ubicacin donde ser ledo o escrito un dato. registros - rea de almacenamiento temporal dentro del microprocesador que mantiene informacin del sistema, resultados de clculos y otros valores. programas - serie de instrucciones almacenadas en memoria ha ser ejecutadas por un microprocesador. monitor - un programa que ejecuta funciones de inicializacin del sistema y permite la interaccin entre la CPU y el usuario. Interface Perifrica Programable - CI de soporte que maneja la transferencia de datos entre la CPU y varios dispositivos externos. interrupcin - operacin que hace que la CPU detenga lo que se encuentra haciendo y guarde su posicin en el programa para desarrollar otra tarea. Cuando completa la tarea, la CPU regresa al sitio del programa donde fue interrumpida. Controlador Programable de Interrupciones - CI de soporte que maneja las seales de interrupciones de varios dispositivos externos. ciclo de bus - ciclo completo de transferencia de datos, incluyendo un requerimiento de bus del microprocesador y una respuesta del dispositivo externo. direccin fsica - la direccin que la CPU pone en el bus de direcciones. direccin lgica - representacin de ocho dgitos de una direccin fsica, escrita en la forma AAAA:BBBB (segmento:desplazamiento). segmento - una seccin de memoria de 64 Kbyte. desplazamiento - la distancia (en bytes) que hay de una posicin al segmento base.
Microprocesador de 32 bits
segmento base - la primera direccin en un segmento. modo funcin - modo de operar el teclado que existe cuando la CPU es reinicializada. modo memoria - modo de operacin del teclado que permite ver o cambiar bytes de memoria. NEMNICO - abreviatura de una instruccin que se escribe de tal forma que sea ms fcil recordar su funcin. lenguaje ensamblador - lenguaje de programacin que usa palabras, sentencias y frases para producir instrucciones a la CPU. bucle - serie de instrucciones que se repiten continuamente durante un nmero especfico de veces. microprocesador - elemento de cmputo que contiene una unidad de control, circuitera central de proceso y funciones aritmticas y lgicas. Tambin es conocido como Unidad central de proceso (CPU = Central Processing Unit). sonda lgica - un dispositivo para la deteccin de fallas digitales y seguimiento de seales que tiene LEDs para indicar niveles lgicos y actividad de pulsos. byte - grupo de ocho bits que se transfieren y operan como una sola unidad. modo registro - modo de operacin del teclado que permite ver o cambiar el contenido de los registros internos de la CPU. EQUIPO REQUERIDO Unidad base de FACET Tablero de circuitos MICROPROCESADOR DE 32 BITS Multmetro Osciloscopio de doble seal Fuentes de potencia, 15 Vcd (requiere 2)
Microprocesador de 32 bits
Microprocesador de 32 bits
Los CI's del ROM pueden ser programados para diferentes capacidades de almacenamiento cambiando la derivacin de las dos posiciones. El entrenador es proporcionado sin CI's y es conectado en derivacin en el bloque ROM DE USUARIO (USER ROM). Este bloque es usado con chips de memoria que contienen sus propios programas. El bloque ROM MONITOR permite la programacin directa de la CPU y contiene el programa monitor. La informacin de entrada se introduce con el teclado y la informacin de salida es mostrada en la pantalla LCD. Las conexiones externas de la PUERTA SERIE (SERIAL PORT) son realizadas usando un conector de 9 pins tipo D (JP2 en su bloque de circuitos). La interfase usa el estndar RS232. La PUERTA SERIE tiene una tira de 24 pines para permitir que seales de E/S sean monitoreadas y proporcionar derivaciones a las configuraciones de operacin de programa. El bloque de circuitos PUERTA PARALELA (PARALLEL PORT) tiene un Cl 82C55 el cual consta de tres puertos bidireccionales de 8 bits programables. Las tiras de 3 pines seleccionan los modos de operacin: normal (NORM) o un modo de prueba (TEST). La tira de 20 pines (JP6) proporciona acceso a la conexin de dispositivos externos o equipo de prueba. Las seales ADC (CAD/Convertidor Analgico-Digital) IN y DAC (CDA/Convertidor Digital-Analgico) OUT son conectadas a los bloques ADC y DAC, respectivamente. Los bloques de aplicacin (CDA, CAD y CONTROL INT) permiten a la CPU interconectarse con dispositivos externos para medir y controlar valores analgicos como lo son voltaje, corriente, temperatura y velocidad. El CI CDA convierte un nmero binario de 8 bits a un voltaje analgico en uno de dos rangos. Las tiras de 3 pines seleccionan un rango de voltaje de salida de 0-10 Vcd 0-2.56 Vcd. Un puente permite la seleccin de cualquier operacin unipolar o bipolar. El CI CAD acepta una seal analgica externa y la convierte a un valor binario de 8 bits. El bloque de circuitos CONTROL INT (IR CONTROLLER) maneja ocho seales de interrupcin, usando el Controlador de Interrupciones Programables 82C59 (PIC = Programmable Interrupt Controller). El PIC puede ser programado por diferentes modos de operacin y puede establecer una secuencia prioritaria para las seales de interrupcin. La tira de 16 pines permiten el acceso a IRO a travs de IR7 y permite derivaciones usadas para conectar uno de los pines superiores a las entradas de interrupcin directamente abajo. El bloque de circuitos FUENTE DE POTENCIA (POWER SUPPLY) suministra 5 Vcd filtrados y regulados para todos los bloques de circuitos. El suministro automticamente disminuir cuando se sobrecargue. El entrenador MICROPROCESADOR DE 32 BITS (32 BIT MICROPROCESSOR) puede ser operado independientemente de la unidad base de FACET cuando se conecta a una fuente de potencia externa de 9 Vcd/750 mA.
Microprocesador de 32 bits
Los controles manuales incluyen: 1. El potencimetro de INTENSIDAD controla la intensidad del visualizador LCD. 2. El interruptor RESET (restablecer). 3. El bloque CICLO SIMPLE (SINGLE CYCLE) consta de dos interruptores. Uno indica el modo de operacin; ENC (ON) para el modo PASO (STEP) y APA (OFF) para el modo EJECUTAR (RUN). El botn de pulso permite a la CPU ejecutar un PASO (STEP) cada vez que el interruptor sea presionado. 4. El botn de pulso ALTO (HALT) detiene la operacin de la CPU y le permite ingresar u observar un programa una instruccin completa a la vez. (Una instruccin podra consistir de 1 a 14 ciclos del bus). Los registros de la CPU pueden ser vistos y/o cambiado en este modo de operacin. El bloque TECLADO (KEYBOARD) se trata de un teclado hexadecimal. Cada tecla puede tambin ser usada como una tecla de funcin, segn se defina arriba de la misma. Su manual indica la funcin de teclado, enmarcndola dentro de estos smbolos < >. El visualizador LCD es una pantalla de matriz de puntos de 5x8, 16 columnas y dos lneas sta muestra caracteres alfanumricos y smbolos especiales. El cursor aparece como un pequeo bloque intermitente. Una pregunta despus de una frase indica que la CPU esta esperando una entrada. Los bloques de circuitos LED DE DIRECCIN (ADDRESS LED) y LED DE DATOS (DATA LED) constan de cuatro juegos de a cuatro LED's: verdes para informacin de direccin y amarillo para informacin de datos. La informacin es mostrada en binario (LED activo =, 1 LED inactivo = 0). Un interruptor etiquetado ALTO (HIGH) y BAJO (LOW) seleccionan grupos de 16 bits para mostrar, ALTO muestra los 16 bits superiores de informacin (A16 hasta A31 o D16 hasta D31). BAJO muestra los 16 bits inferiores de informacin (A6 hasta A15 o DO hasta D15). El bloque SONDA LGICA (LOGIC PROBE) tiene tres indicadores. Los LED's ALTO (rojo) y BAJO (verde) indican el nivel lgico de una seal esttica. El de PULSO (amarillo) indica cuando un pulso simple se produce o cuando una seal est pulsando constantemente. El bloque de circuitos CONTROL DE TECLADO (KEYPAD CONTROL) se interconecta al teclado 4,4 con uno de los puertos de salida en el PPI.
Microprocesador de 32 bits
11
Microprocesador de 32 bits
La funcin READ (leer) proporciona la capacidad para ver o cambiar informacin almacenada en la memoria. La direccin lgica es introducida y la computadora muestra la direccin fsica inicial y ocho pares de dgitos hex, los cuales representan los bytes de datos almacenados en el segmento de memoria. Las teclas FWD (adelante) y BACK (atrs) mueven el cursor un byte a la vez en cualquier direccin. Las teclas FFWD (adelante rpido) y FBACK (atrs rpido) mueven el cursor ocho bytes a la vez en cualquier direccin. La tecla WRT (escribir) es usada para introducir nuevos datos (valores de dos dgitos hex). La tecla WRT debe ser presionada una vez para cada byte que sea cambiado. La tecla AUTO es usada para introducir ocho bytes consecutivos de datos. La tecla REG (registro) permite tener acceso a los registros internos de la CPU. El cursor espera un par de registros para ser seleccionados. Los pares de registros son mostrados en parntesis arriba de las teclas adecuadas. Estas son: registros de propsito general registros de 32 bits de propsito general registro ndice fuente (SI-DI) registro de segmento de cdigo y indicador de instruccin (CS-IP) segmento de pila y registros de indicador de pila (SS-ESP) indicador de base y registros sealadores (BP-FL) registro de segmento de 16 bits (FS-GS) segmento de datos y registro de segmento extra (DS-ES) El botn ALTO (HALT) es usada para interrumpir un programa. Una vez usada, el visualizador muestra la direccin en la cual la CPU se detiene.
12
Microprocesador de 32 bits
OBJECTIVO DE LA UNIDAD Cuando termine esta unidad, comprender el funcionamiento bsico de la transferencia de datos del microprocesador 80386. FUNDAMENTOS DE LA UNIDAD
Un microprocesador, o Unidad central de proceso (CPU = Central Processing Unit), es el principal elemento de un sistema de cmputo. La CPU contiene circuitos de control, operaciones aritmticas, lgicas y la capacidad de comunicarse con circuitos externos, como unidades de memoria y dispositivos de entrada y salida (E/S). La comunicacin se realiza por el bus de datos (data bus). La CPU puede enviar informacin a un dispositivo externo (external device) (operacin de escritura) o recibir informacin de un dispositivo externo (operacin de lectura). La CPU enva informacin en el bus de direccin (address bus) para seleccionar un dispositivo externo y la posicin exacta donde se escribir o leer el dato.
La CPU tiene entradas (inputs) y salidas (outputs) de control que le permiten intercomunicarse con los dispositivos externos. Cuando la CPU inicia una transferencia de datos, principia una serie de eventos que aseguran una transferencia eficiente.
15
Microprocesador de 32 bits
Primero, la CPU activa el bus de direccin. Luego la CPU enva una seal: indicando que la informacin correcta est disponible en el bus de direccin. Tambin enva una seal que especifica una operacin de lectura o de escritura. El dispositivo externo responde, emitiendo datos en el bus de datos (operacin de lectura de la CPU) o introduciendo datos en el bus de datos (operacin de escritura de la CPU). El ltimo paso en la secuencia es una seal que se enva del dispositivo externo a la CPU, indicando que la transferencia est completa. La transferencia completa es un ciclo del bus.
Este es el diagrama de flujo para un ciclo de lectura (read cycle) tpico. La CPU inicia enviando la direccin (send address) y sealndole al dispositivo externo que de salida al dato (send read signal). La CPU luego enva la seal de direccin vlida (signal address valid). La CPU luego observa una respuesta del dispositivo externo (external device response received?). Cuando el dispositivo externo responde, la CPU reconoce el dato vlido en el bus de datos. La CPU lee el dato (read data) y se prepara para el prximo ciclo.
El diagrama de flujo para un ciclo de escritura (write cycle) es ligeramente diferente a un ciclo de lectura. Cuando el microprocesador enva la direccin y la seal de escritura (send write signal), adems escribe en el bus de datos el dato (place data on data bus) que debe ser ledo por el dispositivo externo. Como en la operacin de lectura, la CPU seala que la direccin es vlida
16
Microprocesador de 32 bits
y espera una respuesta. Una vez que recibe una respuesta, la CPU considera que se complet la transferencia (transfer complete) y se prepara para el prximo ciclo del bus.
Parte de la memoria en un sistema con microprocesador contiene uno o ms programas. Un programa es un conjunto de instrucciones que ejecuta la CPU, usualmente en una secuencia numrica. Un rea de memoria consiste en un arreglo amplio de posiciones de almacenamiento donde son almacenadas instrucciones u otros datos. Los datos estn en forma binaria, pero encontrar que es mucho ms fcil trabajar con dgitos hexadecimales. Las instrucciones del microprocesador 80386 pueden tener hasta 32 bits de ancho. La CPU usa el bus de direccin del sistema para seleccionar una posicin de memoria y los datos se transfieren hacia o desde la posicin por el bus de datos. Las instrucciones de la memoria continuamente se transfieren a la CPU. Despus de que la instruccin es leda, o extrada, el microprocesador la decodifica para determinar cual operacin debe ejecutar. La CPU luego ejecuta, o da salida a la instruccin, llevando a cabo la operacin especificada.
17
Microprocesador de 32 bits
NUEVOS TRMINOS Y PALABRAS microprocesador - elemento de computacin que contiene la unidad de control, la circuitera central de proceso y funciones aritmticas y lgicas; tambin es llamado Unidad central de proceso (CPU = Central Processing Unit). ciclo de bus - ciclo de transferencia completa de datos que incluye una solicitud de bus y una respuesta del dispositivo externo. ciclo de lectura - ciclo de bus durante el cual un dispositivo de memoria o de E/S transfiere datos al microprocesador. bus de datos - grupo de lneas bidireccionales usado para transferir datos entre el microprocesador y memoria o dispositivos de entrada o salida (E/S). bus de direccin - grupo de seales de salida de un microprocesador usadas para especificar la posicin especfica dentro un dispositivo donde los datos se leern o escribirn. ciclo de escritura - ciclo de bus durante el cual la CPU transfiere datos a un dispositivo de memoria o de E/S. programas - serie de instrucciones almacenadas en memoria que son ejecutadas por el microprocesador. estado inactivo el perodo durante el cual el microprocesador no inicia un ciclo de bus. byte - grupo de 8 bytes que se transfieren u operan como una sola unidad. palabra - grupo de bits que se transfiere u opera como una sola unida; la mayora de las especificaciones se refieren a un grupo de 16 bits. doble palabra - grupo de 32 bits que se transfiere u opera como una sola unidad. lmites de la doble palabra - direcciones iniciales de posiciones de memoria de 32 bits. La direccin inicial debe ser un mltiplo entero de cuatro. transferencias alineadas - transferencias que involucran datos que no traspasan los lmites de una doble palabra. transferencia desalineada - transferencia de 16, 24 o 32 bits que sobrepasa los lmites de una doble palabra. estado de espera - perodo durante el cual el microprocesador espera una respuesta de un dispositivo lento. EQUIPO REQUERIDO Unidad base de FACET Tablero de circuitos MICROPOCESADOR 32-BITS Osciloscopio de doble trazo Fuentes de potencia, 15 Vcd (requiere 2)
18
Microprocesador de 32 bits
21
Microprocesador de 32 bits
El estado de espera permite a los microprocesadores comunicarse con los dispositivos que son ms lentos que la CPU. En algunos casos, la CPU no esta lista para iniciar un ciclo de bus y por lo tanto no activa la seal de inicio ADS#. Cuando esto ocurre, el estado que sigue al ltimo ciclo del bus se llama estado inactivo (Ti). Un estado inactivo contina hasta que el ciclo de bus siguiente requiere que se produzca una transferencia de datos. El estado inactivo (Ti) termina cuando la CPU requiere una transferencia de datos activando ADS#. Un diagrama de estado puede ser usado para ilustrar las transiciones entre los diferentes estados del microprocesador.
22
Microprocesador de 32 bits
25
Microprocesador de 32 bits
La transferencia de datos que involucra bytes dentro de los lmites de la doble palabra son llamadas transferencias alineadas. Este tipo de datos tiene una direccin doble palabra y ya que una direccin es enviada por cada ciclo de bus, el dato puede ser transferido en un slo ciclo de bus. La transferencia de datos involucra bytes que sobrepasan los limites de doble palabra son llamadas transferencias desalineadas. La CPU transfiere datos de la direccin ms alta y luego de la direccin ms baja. La CPU requiere dos ciclos de bus para completar una transferencia desalineada. Las lneas habilitadoras de byte son consideradas parte del sistema de direccionamiento. Las seales restantes, incluidas en una transferencia de datos de memoria son: 1. (Write/Read#) (Escritura/Lectura) cuya salida es alta cuando la CPU escribe datos a la memoria o E/S y baja cuando lee datos de la memoria o E/S. 2. M/I0# (Memory/lnput-Output#) (Memoria/Entrada-Salida#) cuya salida es alta cuando el dato es transferido entre la CPU y la memoria y baja cuando la transferencia est entre la CPU y los dispositivos de E/S. 3. (Data/Control#) (Datos/Control#) tiene una salida alta para transferencia de datos y una salida baja para transferencia de instruccin. 4. BS16# es una entrada que es usada por un dispositivo de 16 bits para que la seal de la CPU se convierta a su modo de 16 bits.
26
Microprocesador de 32 bits
29
Microprocesador de 32 bits
31
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Cuando termine esta unidad, usted sabr comprobar las transferencias de memoria y describir la funcin de las seales de control de memoria. FUNDAMENTOS DE LA UNIDAD
La memoria es una parte muy importante de un sistema con microprocesador. Las instrucciones que ejecuta la CPU se guardan en memoria, y tambin informacin numrica como datos del sistema, informacin de estado, y el resultado de los clculos.
Los dispositivos semiconductores de memoria son CIs con una gran matriz de posiciones de almacenamiento de datos. Se usan dos tipos bsicos en los sistemas con microprocesador: RAM (Random-Access Memory = Memoria de acceso aleatorio) y ROM (Read-Only Memory = Memoria de slo lectura). La CPU puede escribir datos en RAM y leer datos de ella. Por esta razn, RAM tambin se conoce como memoria de lectura/escritura. Muchos CIs de RAM (incluyendo los de su tablero de circuitos) son voltiles, lo cual significa que al desconectar la alimentacin, el dato almacenado se pierde. Se puede considerar a ROM como datos que permanentemente estn almacenados. En algunos tipos de memoria ROM, los datos se almacenan en el proceso de fabricacin. Otros tipos son fabricados con datos en blanco. Puede usar un instrumento de programacin especial para cargar los datos en la ROM antes de instalarla en el circuito.
33
Microprocesador de 32 bits
Una vez que ROM est en su circuito, puede leer su informacin, pero no puede escribir datos en ella. Como una ROM retiene los datos an si se desconecta la alimentacin, sta se clasifica como memoria no voltil.
En este dibujo simplificado se ve como las RAMs y las ROMs tienen sus lneas de datos (data) y las de direccin (address) conectada con las mismas de la CPU. La informacin se transfiere hacia y desde la memoria por el bus de datos. La CPU usa el bus de direccin para seleccionar la posicin de memoria exacta con la que se produce la transferencia. Un circuito con microprocesador puede tener muchos dispositivos de memoria. Parte del bus de direccin se decodifica para seleccionar cada vez un chip de memoria particular. Las salidas del decodificador (decoder) van a las entradas selectoras de chip (CS) de cada dispositivo.
La decodificacin de memoria se usa para configurar la memoria en una serie de bloques. El nmero de posiciones en un dispositivo es 2n, donde n es el nmero de lneas. Por ejemplo, suponga que los 2 chips de RAM tienen 13 lneas de direcciones (A0-A12). La capacidad de cada uno es 213 8192 (8K) posiciones. La prxima lnea superior (A13) se puede usar con un simple decodificador (el inversor) para seleccionar una de las dos RAMs de 8K.
34
Microprocesador de 32 bits
Si las prximas dos lneas (A13 y A14) fueran decodificadas, se podra seleccionar una de cuatro (22) RAMs de 8K.
La CPU 80386 est diseada para trabajar con buses de datos de 32 y de 16 bits. A menudo un sistema con microprocesador tiene reas de almacenamiento de datos agrupadas para 32 y para 16 bits. En su tablero de circuitos, el rea de RAM est configurada para datos de 32 bits. El rea de ROM est configurada para datos de 16 bits.
35
Microprocesador de 32 bits
Tres de los PLDs (Programmable Logic Devices = Dispositivos lgicos programables) de su tablero de circuitos se usan como interfase entre la CPU y la memoria. Esta figura simplificada muestra estos PLDs y las seales asociadas con la interfase con memoria. Los PLDs permiten disear el circuito de tal forma que se reemplazan muchas otras compuertas y dispositivos lgicos con un solo CI. U24 Y U27 operan como un controlador de bus. El controlador de bus es necesario para establecer los tiempos y la lgica apropiados para la transferencia eficiente de la memoria. U23 funciona como un decodificador de direccin. Sus salidas se usan para seleccionar un cierto bloque de memoria, mientras que la parte baja de las lneas de direccin de la CPU especifican la posicin exacta dentro del bloque seleccionado. Los PLDs usan las seales del circuito de reloj para asegurar que sus salidas estn sincronizadas con la CPU. El controlador de bus usa CLK2, y CLK es comn al controlador de bus y al decodificador de direcciones. La memoria de su tablero de circuitos est compuesta de RAM, ROM del monitor y ROM del usuario. Tres de las salidas del decodificador son usadas para seleccionar uno de estos bloques para una transferencia.
o RAMSEL# (RAM SELect = Seleccin de RAM) habilita transferencias hacia y desde RAM. o MROMSEL# (Monitor ROM SELect = Seleccin de ROM de monitor) habilita transferencia
de ROM del monitor. o UROMSEL# (User ROM SELect = Seleccin de ROM del usuario) habilita transferencias de la ROM del usuario. La salida BS16# (Bus Size 16 = tamao de bus 16) comunica a la CPU cuando una transferencia involucra dispositivos de 16-bits.
36
Microprocesador de 32 bits
Las salidas del controlador de bus se derivan de los estados de salida de la CPU y la seal de reloj.
37
Microprocesador de 32 bits
39
Microprocesador de 32 bits
El diagrama de bloque de la ROM es muy similar al de la RAM. Las lneas de datos de la ROM son etiquetadas de 00 hasta 07, ya que son lneas de salida solamente. La ROM tiene un CS y una lnea de control OE#. No se requiere una lnea WE#, ya que la ROM es un dispositivo de slo lectura. Los dos CI's de ROM del monitor usan lneas de direccin de A1 hasta A13 y lneas de datos de DO hasta D15. Esto determina la configuracin 8k x 16 de las ROM's en este circuito. Cuando el bus de direccin especifica una ubicacin de memoria en el bloque ROM del monitor, la seal MROMSEL# del decodificador de direccin activa las selectoras del chip de ROM. MRDC# se vuelva activa en el tiempo apropiado en el ciclo de lectura y activa las habilitaciones de salida de la ROM. Cuando las salidas de ROM son habilitadas, la CPU extrae el dato de lectura de las ROM's. El bloque ROM del usuario contiene dos enchufes para CI vacantes para instalar ROM's que usted haya programado. Las conexiones del bus de direccin y datos son idnticas al ROM del monitor, excepto que los selectores de chip son controlados por UROMSEL#. La localizacin y reparacin de fallas (errores) en circuitos de memoria requieren una metodologa sistemtica paso a paso. Los circuitos de memoria de ROM pueden ser consideras funcionando correctamente si el mensaje de encendido correcto aparece en la pantalla LCD. Si el mensaje de encendido no aparece, empiece el procedimiento de localizacin de fallas, examinando la informacin de direccin y el dato usado por el programa de inicializacin. Existe un programa de prueba de RAM almacenado en la ROM del monitor. Este programa lee y escribe a la RAM; operando la CPU en el modo CICLO SIMPLE, la informacin puede ser evaluada y depurada. Las seales de la CPU son enviadas a varias diferentes posiciones; por esta razn, la seal debe ser verificada en diferentes puntos para confirmar que est funcionando correctamente.
40
Microprocesador de 32 bits
43
Microprocesador de 32 bits
45
Microprocesador de 32 bits
Una transferencia normal de datos de uno o ambos bytes de datos inferiores se produce en D0 hasta D15, cuando BE0# y/o BE 1 # estn activas. Una transferencia que incluye datos de D24 a D31 se presenta en D8 a D15, con BE1# y BE3# activas. Una transferencia que incluye datos de D16 a D24, se presenta en DO a D7, con BE0# y BE2# activas. Transferencias que requieran dos ciclos de bus utilizan las lneas habilitadoras de byte para determinar cules bytes son ledos en cada ciclo del bus. En transferencias de dos ciclos, los bytes inferiores son transferidos primero La condicin de BS16# determina el tamao del bus. Si BS16# es baja durante el muestreo, la CPU establece el tamao del bus a 16. Si BS16# es alta durante el muestreo, la CPU establece el tamao del bus a 32.
46
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Al finalizar esta unidad, usted ser capaz de demostrar las seales necesarias para transferir datos entre la CPU 386 y dispositivos de entrada y salida. Va a usar el tablero de circuitos MICROPROCESADOR DE 32 BITS y sus componentes asociados de entrada/salida. FUNDAMENTOS DE LA UNIDAD Para acceder y usar la capacidad de la CPU, debe saber como introducir y obtener informacin a y desde la CPU. Este proceso es llamado interfase de entrada/salida o interfase E/S. La CPU siempre es el punto de referencia con el cual se usan los trminos de entrada y salida.
El tablero de circuitos MICROPROCESADOR DE 32 BITS tiene un mapa de memoria y un mapa de E/S. Todos los puertos E/S son accedidos desde el mapa de E/S de 64 K. Por lo tanto, para acceder a los dispositivos de E/S, se deben usar las instrucciones de entrada (IN) y salida (OUT), mientras que las instrucciones MOV acceden al mapa de memoria.
El decodificador de E/S usa las lneas de direccin A4, A5 y A6 ms las seales de control ADS#, M/IO, IORC# y IOWC# para habilitar los diferentes puertos de E/S.
49
Microprocesador de 32 bits
Cada puerto de E/S tiene direcciones definidas para su acceso. La pantalla provee al usuario variedad de informacin. El puerto serial es usado para introducir y obtener datos serialmente con otros dispositivos externos. El Controlador perifrico de interrupciones (PIC = Peripheral Interrupt Controller) provee 8 entradas de interrupcin. Estas interrupciones son tratadas en una unidad por separado. El CDA (convertidor digital a analgico) proporciona una salida analgica. El CAD (convertidor analgico a digital) proporciona una entrada analgica. La interfase perifrica programable (PPI = Peripheral Programmable Interface) enlaza el teclado y el puerto paralelo de 8 bits a la CPU. NUEVOS TRMINOS Y PALABRAS unipolar - tener una polaridad. bipolar - tener dos polaridades. monoestable redisparable - un multivibrador monoestable que puede ser disparado durante su pulso, de tal manera que ste se prolonga.
50
Microprocesador de 32 bits
53
Microprocesador de 32 bits
55
Microprocesador de 32 bits
57
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Al trmino de esta unidad, usted podr mostrar como la CPU 80386 procesa las interrupciones de software y hardware. Podr adems verificar sus resultados introduciendo y analizando programas de prueba sobre el tablero de circuitos MICROPROCESADOR DE 32 BIT y por la observacin de seales con el osciloscopio y la sonda lgica. FUNDAMENTOS DE LA UNIDAD Algunas veces la CPU debe suspender temporalmente la operacin de su rutina principal, para atender otra funcin. El objeto es la necesidad de atender a un dispositivo externo o responder a una condicin interna del sistema. El proceso de detener el flujo normal de un programa para atender otro requerimiento de servicio se denomina una interrupcin.
Cuando una interrupcin se presenta, la CPU termina la instruccin en curso y se transfiere a un programa especial llamado rutina de servicio de interrupcin (ISR). En la mayora de los casos, cuando la ISR termina su tarea, la CPU retorna al punto en el cual se produjo la interrupcin y vuelve a la operacin normal del programa principal. Como una interrupcin puede producirse en cualquier punto del programa, la CPU debe tener la manera de guardar el sitio a donde ella debe retornar despus de completar la rutina de servicio. El Segmento de Cdigo (CS) y el Puntero de Instrucciones (IP), siempre contienen la direccin de la prxima instruccin a ser ejecutada por la CPU. Cuando una interrupcin se presenta, la CPU salva los contenidos S-IP, antes de transferirse a la ISR. Durante el retorno, los contenidos originales son restaurados a CS e IP, y el programa resume la ejecucin desde la prxima instruccin. El contenido del registro de banderas (FLG) es tambin salvado durante una interrupcin, ya que este registro contiene importante informacin del estado del programa principal.
59
Microprocesador de 32 bits
Los registros CS e IP son almacenados en un rea RAM conocida como pila (stack). La pila es usada para almacenamiento secuencial en algunas operaciones del microprocesador, incluyendo el procesamiento de las interrupciones. La prxima direccin disponible en la pila a algn punto en el tiempo, es contenida en los registros segmento de pila (stack segment SS) y puntero de pila (stack pointer SP). El monitor inicializa la pila cargando una direccin de comienzo en el par de registros SS/SP. La posicin inicial est en el fondo de la pila. Puede cambiar la localizacin de la pila cambiando los contenidos de SS/SP. Para usar la pila, la CPU disminuye primero el puntero de pila a la prxima posicin disponible e introduce los datos ah. Esto est ubicado en la parte superior de la pila. Como ms datos son agregados, la ltima posicin escrita se convierte en la parte superior (TOP) de la pila. Palabras dobles pueden ser almacenadas en la pila, en cuyo caso el puntero de pila disminuye en 4. El dato que es retirado de la pila es tomado de la parte superior de la misma, aumentndose adems el puntero de pila. En terminologa de microprocesador agregar datos encima de la pila es una operacin presionar (PUSH). Retirar datos de la parte superior de la pila es una operacin descargar (POP). Este tipo de pila es llamada ltima en entrar-primera en salir (last-in-first-out LIFO) porque el ltimo dato que se introduce es el primero que sale de la pila. El microprocesador 80386 tiene instrucciones PUSH y POP, pero las manipulaciones de pila son realizadas automticamente, cuando se produce una interrupcin.
60
Microprocesador de 32 bits
Esta figura ilustra las operaciones de la pila durante una interrupcin. Cuando una interrupcin se produce, la CPU automticamente guarda los contenidos de los registros FLG, CS, e IP en la pila. La rutina de servicio es entonces ejecutada de acuerdo al tipo de interrupcin. Las interrupciones pueden darse de una o dos fuentes: interrupciones de hardware o excepciones. Una interrupcin de hardware es una seal de interrupcin de un dispositivo externo. Estas interrupciones no son necesariamente sincrnicas con el reloj del sistema. Una excepcin resulta cuando la CPU detecta ciertas condiciones internas. Como todas las seales internas son referenciadas al reloj del sistema, las excepciones son eventos sincrnicos.
Dos entradas se proporcionan (INTR y NMI) en la CPU 80386 para interrupciones de hardware. Un tipo de interrupcin de hardware se ocurre cuando el lgico alto es aplicado a la entrada peticin de interrupcin (INTR). Seales a la entrada INTR son llamadas interrupciones ocultas porque pueden ser inhabilitadas (u ocultadas) dependiendo del estado de uno de los bits en el registro FLG.
61
Microprocesador de 32 bits
El registro FLG contiene 32 bits, 18 de los cuales estn disponibles para el programador. Cada bit indica y/o controla el estado de una condicin diferente en el microprocesador. El bit 9 en el registro FLG es la bandera de habilitacin de interrupciones (IF). Cuando el bit es activado (IF=1), la entrada INTR es habilitada. Cuando el bit es desactivado (IF=0), las seales de entrada en INTR son ignoradas. La CPU algunas veces ajusta o borra el bit IF, basado en ciertas operaciones internas. Puede adems controlar el bit con las instrucciones interrupcin de ajuste (STI) e interrupcin de borrar (CLI). Puede ocultar las interrupciones INTR si no quiere que cierta operacin sea interrumpida o para prevenir futuras interrupciones mientras un servicio de interrupcin se est ejecutando. El otro tipo de interrupciones hardware, son las interrupciones no ocultas (NMI). Una seal NMI causa una interrupcin sin importar el estado de la bandera IF. La entrada NMI es normalmente usada para una condicin de interrupcin de alta prioridad. Por ejemplo, un circuito externo que detecta una falla de una fuente de potencia, puede generar la seal a travs de la entrada NMI. La CPU ejecutar una ISR especial, de tal manera que salve sistemas importantes de datos y coloque el equipo en una condicin segura antes que la potencia de la fuente se pierda.
Las excepciones son interrupciones generadas por condiciones internas de la CPU. Los tres tipos de excepciones son mostrados en la tabla.
62
Microprocesador de 32 bits
En unidades previas, ha visto instrucciones de salto en las cuales la transferencia a la direccin se especificaba por parte de la instruccin. La transferencia a la direccin para una rutina de servicio de interrupcin es derivada de una interrupcin de tipo nmero. El microprocesador 80386 tiene 256 tipos de interrupcin. Cada uno de ellos es asignado por un nmero desde 025510 (00-FFH).
Esta tabla las interrupciones con sus nmeros de tipo en decimal. Algunos de los nmeros son reservados para funciones especiales y no se debe hacer uso de ellos. Los tipos faltantes (que no estn reservados o no son interrupciones de hardware) son todas excepciones. Cada tipo interrupcin puede tener una diferente rutina de servicio. Los nmeros de tipo son adems usados para determinar la direccin de comienzo de cada ISR.
63
Microprocesador de 32 bits
La CPU usa una tabla en la RAM llamada tabla de vector, para determinar donde encontrar una rutina de servicio especfica. Cuando la CPU se enciende en el modo real, la tabla de vector ocupa el primer Kbyte de RAM (000H-3FFH). La tabla contiene un vector por cada tipo de interrupcin. El vector apunta a la direccin de comienzo de la rutina de servicio. La direccin hexadecimal en la cual el vector est localizado equivale al nmero del tipo multiplicado por 4, porque los nmeros de tipo son consecutivos y cada direccin contiene un vector de cuatro bytes. NUEVOS TRMINOS Y PALABRAS interrupcin - un proceso por el cual la CPU suspende temporalmente la operacin de su programa, para atender las necesidades de un dispositivo externo o una condicin interna. Cuando la interrupcin ha sido atendida, la CPU retorna normalmente a la prxima instruccin a ser ejecutada en el programa interrumpido. rutina de servicio de interrupcin (ISR) - un juego de instrucciones al cual la CPU salta cuando una interrupcin o excepcin se produce. registro de bandera (FLG) - un registro cuyos bits individuales indican o controlan el estado de varias funciones de la CPU. pila - un rea de la RAM, dispuesta para almacenamiento y recuperacin secuencial de datos. La pila es usada en algunas funciones del microprocesador, incluyendo el procesamiento de interrupciones. segmento de pila (SS) - un registro de la CPU que contiene el valor del segmento de la pila que se encuentra activa. puntero de pila (SP) - un registro de la CPU que contiene la direccin del ltimo dato guardado en la pila.
64
Microprocesador de 32 bits
introducir (push) - una operacin en la cual la CPU almacena una palabra o doble palabra en la parte superior de la pila y disminuye el puntero de pila. pop - una operacin en la cual la CPU extrae una palabra o doble palabra de la parte superior de la pila y aumenta entonces el puntero de pila. ltima-entrar primera-salir (last-in-first-out) (LIFO) - un tipo de pila en el cual el ltimo dato introducido en la pila es el primer dato en ser extrado de la pila. interrupciones de hardware - una interrupcin causada por una seal externa de hardware. excepciones - la respuesta de la CPU a ciertas condiciones internas durante la ejecucin de una instruccin. interrupciones ocultables - una interrupcin de hardware que se puede inhabilitar (ocultar) de acuerdo al bit en el registro FLG. tipo nmero - un nmero en el rango 0-255 (00-FFH) que es usado para identificar el tipo de interrupcin o excepcin a ser procesada por la CPU. tabla vector - una tabla que contiene los vectores para las rutinas de servicio de las interrupciones. En el modo real de la CPU 80386, la tabla normalmente est localizada en el primer Kbyte de la RAM (00-3FFh). vector - un valor lgico de direccin que apunta a la primera localidad de una rutina de servicio de interrupcin. excepciones programadas - una excepcin que resulta de la ejecucin de interrupcin por software. interrupciones de software - una instruccin que causa una excepcin programada. excepcin detectada por el procesador - una excepcin que resulta del reconocimiento por la CPU de ciertas condiciones internas. punto de ruptura - una interrupcin de software que para un programa con el propsito de depurar o evaluar las condiciones de software o hardware del sistema. sobreflujo - una condicin que se produce cuando el resultado de una operacin lgica o aritmtica cambia el MSB (bit de signo) de un operando. bit de signo. - se trata del bit ms significativo (MSB), el cual es utilizado como indicativo de signo algebraico de un operando. interrupcin no ocultable (NMI). - una interrupcin de hardware que no puede ser oculta o inhabilitada. EQUIPO REQUERIDO Unidad de base FACET Tablero de circuitos MICROPROCESADOR DE 32 BIT Osciloscopio de doble trazo
65
Microprocesador de 32 bits
68
Microprocesador de 32 bits
70
Microprocesador de 32 bits
El terminal adyacente a IR1 es etiquetado como COM (comunicaciones) y es usado como una solicitud de interrupcin del bloque de circuitos PUERTO SERIAL. IR2 e IR3 son requisiciones de interrupcin de propsito general (INTRA e INTRB) que la CPU puede dar salida por el PPI. IR4 puede ser conectado a la salida RXC del bloque PUERTO SERIAL. RXC es una seal de reloj derivada del oscilador de cristal del ACIA. Puede usar IR4 como una fuente de reloj en sus programas, cuando las aplicaciones del temporizador son requeridas. IR5 puede ser conectado a la salida de alistar dato (DR#) de un bloque de circuitos convertidor analgico a digital (ADC). Colocando una derivacin en la posicin IR5/DR#, permite que la CPU pueda ser interrumpida cuando el ADC complete su conversin. Antes que el procesamiento normal de una interrupcin oculta pueda empezar, la CPU debe emitir de 2 a 4 palabras del comando de inicializacin (ICW) hacia el PIC. E1 diagrama de flujo muestra la secuencia de inicializacin del PIC. Hay cuatro ICW's (de ICW hasta ICW4). La programacin siempre inicia con ICW1, seguido por ICW2. Los ocho bits de datos del ICW2, en conjuncin con el estado de la entrada A0, ajusta la configuracin inicial del PIC. ICW1 est caracterizado por las condiciones A0 = 0 y D4 = 1. Cada bit de datos controla una funcin o condicin en el PIC. Ajustando D1 a 1 especifica que un PIC sencillo (SNGL) es usado en el sistema. D1 es ajustado a 0 para especificar el modo cascada (ms de un PIC usado). Si la palabra comando ICW4 es tambin necesaria para programar el PIC, entonces el bit DO en ICW1 se ajusta a 1. DO = 0 si ICW4 no es necesario. Algunos bits de datos en las palabras de comando tienen valores fijos. Algunos de estos bits no son usados y algunos son reservados para usarse con diferentes microprocesadores o configuraciones de sistemas. ICW2 contiene los nmeros tipo de ocho requerimientos de interrupcin (IROIR7) del PIC que est siendo programado. E1 programador especifica los cinco bits de datos superiores (D3-D7). Si ICW4 es necesario, el nico bit que necesita cambiar en este sistema es D1, el cual controla el final del modo de interrupcin (EOI). Cuando D1 = 0, el modo EOI normal es seleccionado. En este modo, una secuencia de interrupcin finaliza cuando la CPU enva un comando EOI al PIC. Cuando D1 = 1, el modo seleccionado automticamente finaliza la interrupcin (AEOI). En el modo AEOI, una secuencia ce interrupcin finaliza automticamente cuando una segunda interrupcin de pulso de reconocimiento es recibido de la CPU.
71
Microprocesador de 32 bits
Una vez que los ICW's han inicializado el PIC, la CPU puede enviar comandos al PIC, emitiendo palabras de comando de operacin (OCW). Los OCW's pueden: ocultar (inhabilitar) una o ms de las entradas IR, establecer las prioridades de las entradas IR de manera que las funciones ms importantes del sistema se les de servicio primero, permitir que la CPU lea la informacin de estado del PIC y establezca modos de operacin especial La CPU tiene una secuencia de tiempo especial para manejar las interrupciones ocultas. La secuencia consta de dos ciclos de reconocimiento de interrupcin (INTA), separadas por cuatro estados inactivos. Cuando un requerimiento de interrupcin es recibido, la CPU responde, enviando el primer ciclo INTA. Las salidas BEO#, A3 - A31, M110#, D/C# y W/R# son manejadas en bajo. Los niveles de seal de control definen un nico tipo de ciclo de bus. Tambin durante el primer ciclo INTA, la CPU controla A2 y el resto de las habilitaciones de byte a alto. El primer ciclo INTA es seguido por cuatro estados inactivos consecutivos. Los estados inactivos son seguidos por el segundo ciclo INTA. Al final del segundo ciclo INTA, la CPU lee los ocho bits del nmero tipo de vector de PIC sobre las lneas de datos D0-D7.
72
Microprocesador de 32 bits
Ejercicio 3 Excepciones
OBJECTIVO DEL EJERCICIO Al terminar este ejercicio, usted podr explicar y demostrar cmo las excepciones interrumpen el microprocesador 80386. DISCUSIN Existen dos maneras en que las excepciones pueden interrumpir al microprocesador. Las excepciones pueden ser programadas, usando las instrucciones INT3, INTO o INTn en un programa. Algunas de estas instrucciones son llamadas interrupciones de software y requieren condiciones especficas para existir, con el fin de generar una interrupcin. Las excepciones detectadas por el procesador no dependen de una instruccin de un programa, sino que ocurren automticamente si ciertas condiciones se presentan en la CPU. El nmero tipo de interrupcin determina el vector que seala la rutina de servicio correcta. El nmero es requerido para cualquier tipo de excepcin y es asignado por la CPU. La interrupcin del software INT3 (o punto de ruptura) tiene un nmero tipo 3. El vector ISR est localizado en 0000CH. INT3 puede ser insertado en un programa en lugar de cualquier instruccin. La CPU detendr los comandos del programa de ejecucin cuando sta alcanza la instruccin INT3 permitiendo la examinacin de registros, memoria o condiciones de hardware. La instruccin INTO (interrupcin en sobreflujo) es una interrupcin condicional de software. INTO causa una interrupcin tipo 4, slo cuando una condicin de sobreflujo existe. La CPU ajusta la bandera de sobreflujo (OF), la cual es un bit 11 en los registros de bandera. Una vez que la interrupcin es limpiada la siguiente instruccin es ejecutada. INTn es una interrupcin de software que es utilizada en programas de depuracin o desarrollando sistemas de ayuda. El cdigo de operacin para INTn es CD n, donde n es un nmero de tipo de un bit de 00H-FFH. Estos valores son tabulados en el texto. Un programador debe verificar que la tabla del vector est establecida con la rutina de servicio apropiado para cada excepcin. En este tablero de circuitos muchas de las rutinas de servicio escriben un mensaje para informar que la excepcin fue detectada.
74
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Al trmino de esta unidad, usted podr describir y ejecutar los once modos de direccionamiento de la CPU 80386 usando el tablero de circuitos MICROPROCESADOR DE 32 BITS. FUNDAMENTOS DE LA UNIDAD Las unidades 6 y 7 cubren programacin y estn estrechamente relacionadas. Esta unidad cubre los registros de la CPU 80386 y los modos de direccionamiento y debe ser terminada antes de la unidad 7. La unidad 7 explica los formatos de los cdigos de instruccin. Para programar el MICROPROCESADOR DE 32 BITS debe saber lo siguiente: cmo la memoria externa es organizada y manejada el objeto, operaciones, funciones y limitaciones de los registros (memoria interna) de la CPU 80386 cmo direccionar registros y memoria externa cmo codificar instrucciones para la CPU 80386 cmo escribir las instrucciones en un programa, que permita a la CPU 80386 realizar las operaciones deseadas
En el modo protegido, el tamao de la direccin fsica de la memoria externa de la CPU 80386 es de 4 Gbytes (232). En el modo real, el tamao de la direccin fsica es de 1 Mbyte (220). El programa monitor del MICROPROCESADOR DE 32 BITS opera en el modo real para dar un completo acceso a todos los recursos de la CPU 80386.
77
Microprocesador de 32 bits
El mapa de memoria del tablero de circuitos MICROPROCESADOR DE 32 BITS es mostrado. El tablero de circuitos contiene 32 KBytes de RAM, con direcciones que van desde 00000 a 07FFF. La ROM del usuario est en el rango de direcciones 40000 a 4FFFF. La ROM del monitor est entre las direcciones 60000 y 6FFFF. El rango entre las direcciones 20000 y 2FFFF es abierto. Las restantes direcciones de memoria son direcciones imagen. Por ejemplo, la direccin 08000 es una direccin imagen de 00000; ambas direcciones tienen la misma localizacin fsica en el tablero de circuitos MICROPROCESADOR DE 32 BITS. El manejo de la memoria para el 80386 consiste de paginacin y segmentacin. La paginacin, la cual debe ser usada solamente en modo protegido, da acceso a estructuras de datos y programas ms grandes que el espacio de memoria disponible.
78
Microprocesador de 32 bits
Un segmento es una seccin de la memoria que es asignada para almacenar un tipo especfico de datos, tales como instrucciones de programa, datos, pila y similares. En el modo protegido, el tamao del segmento puede estar en el rango de 1 a 4 Gbytes (232 bytes). En el modo real, el tamao del segmento es fijado en 65,536 (216) bytes.
La CPU 80386 posee algunos registros que proporcionan almacenamiento temporal de datos, los cuales pueden ser accedidos rpidamente y otros registros que controlan el comportamiento del procesador.
79
Microprocesador de 32 bits
La CPU puede acceder a los datos almacenados en los registros sin necesidad de los ciclos de bus, lo cual incide en el tiempo de ejecucin de la instruccin. PUNTERO DE INSTRUCCIN SEGMENTO PROPOSITO GENERAL INDICADORES DIRECCION DEL SISTEMA DEPURACION PRUEBA CONTROL
El 80386 tiene 32 registros en las 8 categoras mostradas arriba. Estos registros son un conjunto de registros comunes al 8086, 8088, 80186 y 80286 y es as como todos estos registros de 16 bit de las CPUs anteriores estn contenidos en el 80386 de 32 bits. Slo los registros punteros de instruccin, segmento, propsito general, e indicadores son usados en esta unidad. Los modos de direccionamiento no usan los registros de direccin del sistema, depuracin, prueba, y de control; por lo tanto, esta unidad no describe las funciones de estos registros.
Los modos de direccionamiento del 80386 son mostrados arriba. Los modos de direccionamiento son maneras de localizar un operando, el cual puede estar en una instruccin, en un registro de propsito general, o en memoria.
80
Microprocesador de 32 bits
Tal como la direccin en el sobre de una carta le dice al cartero donde debe entregarla, el modo de direccionamiento de la instruccin le indica a la CPU donde localizar un operando. Usar la instruccin MOV para explorar la operacin de los modos de direccionamiento del operando. (DEST) (SRC)
La instruccin MOV (move = mover) copia datos de una ubicacin fuente (SRC = source) a una ubicacin destino (DEST). MOV (DEST), (SRC) En el nemnico de la instruccin MOV, la ubicacin DEST es especificada antes de la ubicacin fuente, separadas ambas por una coma.
Por ejemplo, la instruccin MOV AX, BX hace que la CPU copie los datos del registro de propsito general BX en el registro de propsito general AX. El cdigo hexadecimal (hex) para el nemnico MOV AX, BX es 89 D8; el hex code 89 D8 est en una direccin en la memoria. La instruccin MOV AX, BX mueve el operando 58DF en el registro BX al registro AX. Un operando es el dato o direccin que es operado por el cdigo de operacin. Los operandos pueden ser parte de una instruccin, estar en un registro de propsito general, o en memoria externa.
81
Microprocesador de 32 bits
NUEVOS TRMINOS Y PALABRAS modos de direccionamiento - formas de escribir cdigos de instruccin para localizar un operando, el cual puede estar en una instruccin, en un registro de propsito general o en memoria. direccin fsica - una direccin que identifica en forma nica una ubicacin en memoria. direcciones imagen - direcciones diferentes que se refieren a la misma ubicacin de memoria debido a la decodificacin parcial. paginacin - un mtodo de manejo de memoria que es usado en el modo protegido para brindar acceso a estructuras de datos y programas ms grandes que el espacio de la memoria disponible. segmentacin - un mtodo de manejo de memoria que permite dividirla en espacios de direccin independientes y seguros. segmento - un espacio de direccin independiente y seguro. operando - el dato o direccin que es manipulado por el cdigo de operacin. cdigo de operacin - la parte de la instruccin que contiene el cdigo para la operacin del microprocesador a ser realizada sobre el operando. direccin base - la primera ubicacin en un segmento. valores selectores de segmento - los valores de 16 bits que estn en la parte visible del registro de segmento. descriptor oculto - la parte oculta de un registro de segmento que contiene la direccin base del segmento, lmite e informacin de acceso. lmite - define el tamao de un segmento. informacin de acceso - informacin contenida en la parte oculta del descriptor del registro de segmento, sta controla qu programas pueden acceder a los datos en un segmento. tabla de descriptor - una tabla en memoria que contiene informacin para la parte oculta de un registro de segmento. direccin lineal - una direccin igual a la direccin base del segmento ms el desplazamiento, lo cual determina la direccin fsica cuando la paginacin est activada. direccin lgica - una representacin de la direccin fsica, escrita en forma de valor del selector de segmento: valor del desplazamiento. El valor selector de segmento es de 2 bytes y el valor del desplazamiento puede ser de 2 o de 4 bytes. direccin efectiva (EA) una direccin equivalente (calculado con la suma de los valores de ndice, base y desplazamiento) que localiza un operando en memoria con un segmento seleccionado. EQUIPO REQUERIDO Unidad base de FACET Tablero de circuitos MICROPOCESADOR DE 32 BITS Fuente de potencia, 15 Vcd (se requieren 2). Solamente requeridas si la unidad base de FACET no contiene una fuente de potencia.
82
Microprocesador de 32 bits
84
Microprocesador de 32 bits
En el modo protegido, la CPU agrega la compensacin a la direccin base de 32 bits para formar una direccin lineal. Si la paginacin est inactiva, la direccin lineal es la direccin fsica en memoria. Si la paginacin est activa, las estructuras de datos y programas pueden compartir espacio en memoria y en el almacenamiento del disco. La paginacin brinda acceso a estructuras de datos y programas que son ms grandes que el espacio de memoria disponible. En el modo real, las tablas del descriptor de segmento no son usadas. La CPU contiene la direccin de base, desplazando valor del segmento selector de 16 bits por 4 bits a la izquierda. Slo los 20 bits inferiores de la direccin base de 32 bits en el descriptor oculto del registro de segmento son significativos. Cuando un nuevo valor de seleccin es introducido, solamente la direccin de base en la parte oculta del registro de segmento es actualizada. Hay ocho registros de propsito general de 32 bits. Estos son EAX, EDX, ECX, EBX, ESP, EBP, ESI y EDI. Todos los registros de propsito general estn disponibles para clculos de direccin cuando la CPU usa un direccionamiento de 32 bits. Los 16 bits inferiores de los registros de propsito general son referenciados usando sus nombres 8086: AX, DX, CX, BX, BP, SI, DI y SP. Cada byte de los registros AX, DX, CX y BX de 16 bits tienen nombres. Los bytes altos son AH, DH, CH y BH mientras los bytes bajos son AL, DL, CL y BL. En el modo real, las instrucciones que usan un registro de propsito general de 32 bits requieren el prefijo de operando de 32 bits. Cuando el operando es un dato, el prefijo es un byte con un valor hexadecimal de 66, colocado antes del resto de la instruccin. Las instrucciones que especifican un registro de propsito general como destino, pueden cambiar los bytes de orden bajo en todos los bytes en el registro. Si el operando contiene menos bytes que el registro, los bytes de orden superior del registro permanecen sin cambiar. Los modos de direccionamiento son maneras de localizar un operando, las cuales puedan estar en la instruccin, en un registro general o en memoria. En el modo de direccionamiento del aperando inmediato, el operando es incluido como parte del cdigo de la instruccin. En el modo de direccionamiento del operando de registro, el operando est en un registro de propsito general.
85
Microprocesador de 32 bits
87
Microprocesador de 32 bits
Instrucciones no son necesarias para especificar explcitamente el registro del segmento para proporcionar la codificacin de instruccin compacta y aumentar el rendimiento del procesador. Cuando el valor base est en los registros EAX, EBX, ECX, EDX, ESI o EDI, el segmento DS es usado para el operando de memoria por defecto. La CPU calcula la direccin fsica del dato, agregando la direccin efectiva a la direccin base del segmento DS. Cuando el valor base est en los registros EBP o ESP, el segmento por defecto es SS. La CPU calcula la direccin fsica del dato, agregando la direccin efectiva a la direccin base del segmento SS. En general, el cdigo de instruccin de busca usa el registro CS; el registro CS contiene la direccin base para el segmento de cdigo del cdigo de instruccin. Cuando la CPU extrae el cdigo de la siguiente instruccin, determina la direccin fsica de la instruccin, agregando el valor de compensacin en el registro IP a la direccin base del segmento de cdigo. Cuando la CPU extrae el siguiente cdigo de pila, determina la direccin fsica de la pila, agregando la compensacin en el registro SP a la direccin base del segmento de pila. Los cdigos de instruccin deben tener prefijos para el direccionamiento de 32 bits y operandos de 32 bits. Las direcciones de 32 bits requieren tamao de direccin hexadecimal 67. Los operandos de 32 bits requieren el prefijo hexadecimal 66 del tamao del operando 66. Si ambos prefijos se requieren, el prefijo (67) debe estar antes del operando (66).
88
Microprocesador de 32 bits
91
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Cuando complete esta unidad, usted sabr escribir instrucciones para la CPU 80386 con cdigos de mquina y usar las instrucciones de programas de prueba en memoria que ejecutar usando el tablero de circuitos MICROPROCESADOR DE 32 BITS. FUNDAMENTOS DE LA UNIDAD Las unidades 6 y 7 cubren la programacin y estn muy relacionadas. Estas unidades explican los formatos de cdigos y su programacin. La Unidad 6 cubre los modos de direccionamiento y los registros de la CPU 80386 y debe ser completada antes de esta unidad. La CPU 80386 tiene ms de 100 instrucciones bsicas, algunos ejemplos de stas se dan en la ventana de ayudas (presionando AYUDA). Con estas instrucciones bsicas puede crear ms de 1000 variaciones. En la Unidad 6 usted us muchas variaciones de la instruccin MOV (mover). Si se consideran los modos de direccionamiento y los tipos de datos (byte, palabra, doble palabra), hay ms de 50 formas posibles de la instruccin MOV. Esta unidad no cubre todo el conjunto de instrucciones de la CPU 80386. Los ejercicios 1 y 2 tratan sobre la codificacin de las instrucciones MOV multibyte en lenguaje de mquina. Los ejercicios 3 y 4 cubren ciertos usos de estas instrucciones para hacer pruebas de la CPU. PROGRAMA DE PRUEBA DE MEMORIA En los ejercicios 3 y 4 se describe como se pueden combinar las instrucciones MOV (mover), INC (aumentar), CMP (comparar), JMP (transferir) e INT (interrupcin), de una forma simple en un programa con un bucle y un programa bucle de prueba de memoria, que se muestra en la ventana de ayuda (presionando AYUDA). Para una explicacin detallada de las instrucciones de la CPU 80386, consulte en el manual de referencia del programador del microprocesador 386TM DX, 1990, publicado por Intel Corporation, Literature Sales, Mt. Prospect., IL 60056. Las tablas de cdigos de instruccin usadas en esta unidad se basan en la informacin de dicho manual.
93
Microprocesador de 32 bits
En la grfica se ve la forma general del formato de una instruccin de la CPU 80386. Una instruccin individual de la CPU 80386 puede contener los 9 campos dados. Despus de que se extrae y decodifica completamente la instruccin, que puede contener hasta 16 bytes, la CPU ejecuta dicha instruccin.
Los cdigos de las instrucciones que se guardan en memoria estn el mismo orden en que son ejecutadas. Un programa de computadora puede contener de unos pocos a miles de cdigos de instruccin. NUEVOS TRMINOS Y PALABRAS lenguaje de mquina - un lenguaje que puede ser usado directamente por un microprocesador; un lenguaje binario, tambin llamado cdigo objeto. EQUIPO REQUERIDO Unidad base de FACET Tablero de circuitos MICROPROCESADOR DE 32 BITS Fuente de potencia, 15 Vcd (se requieren 2) Solamente requeridas si la unidad de base FACET no contiene una fuente de potencia.
94
Microprocesador de 32 bits
97
Microprocesador de 32 bits
99
Microprocesador de 32 bits
101
Microprocesador de 32 bits
103
Microprocesador de 32 bits
Si el dato de prueba en el registro DL no es 00, lo que sucedera cuando hex 01 sea agregado a FF, el programa se transfiere de regreso a la direccin 0400B para probar todas las direcciones de memoria con el dato de prueba incrementado. Las dos ltimas instrucciones (0401C y 0401D) son interrupciones. Si no hay errores, el programa de prueba de memoria termina despus de la interrupcin en 0401C. Si las instrucciones CMP DL, [BX] y JNE 401DH, en las direcciones 0400D 7 0400F respectivamente, detectan un error (el dato en la direccin y en el registro BX no son iguales), el programa se transfiere a la interrupcin en 0401D y para. Si un error es detectado, el registro BX contiene el valor de compensacin de la direccin que contiene la falla. Hay tres bucles en este programa: el primero, 04004 a 04009, inicializa las direcciones a ser probadas con hex 00. El bucle entre direcciones 0400B 7 0401A ocurre despus que cada direccin es probada con el mismo dato. El registro BX es reinicializado con la direccin de inicio y cada direccin es probada otra vez.
NOTAS
104
Microprocesador de 32 bits
OBJETIVO DE LA UNIDAD Cuando termine esta unidad, usted ser capaz de localizar fallas en el tablero MICROPROCESADOR DE 32 BITS. FUNDAMENTOS DE LA UNIDAD La iniciativa individual y la imaginacin combinada con el conocimiento del circuito y los procedimientos lgicos son elementos importantes para la localizacin exitosa de fallas. El aislamiento rpido de un componente con falla comienza con una fundamentacin slida de las habilidades de localizacin de fallas bsicas. La localizacin de fallas empieza despus de que un sntoma de un problema es advertido; analizar los sntomas puede ayudar a delimitar el problema de un componente especfico. Un diagrama de flujo proporciona una gua general paso a paso para determinar la condicin operacional de un circuito.
Inspeccionar visualmente el tablero de circuitos MICROPROCESADOR DE 32 BITS puede ayudar a localizar una falla evidente, tal como una conexin equivocada o un puente incorrecto y ahorrar el valioso tiempo de prueba. Si observa una falla, debe efectuar una prueba de funcionamiento.
105
Microprocesador de 32 bits
El propsito de una prueba de funcionamiento es indicar una operacin fuera de especificacin y ayudar a la identificacin rpida de un componente o conexin del circuito con falla. Si la prueba de funcionamiento falla, debe realizar las mediciones que le ayuden a aislar el componente o conexin con falla. Despus de la reparacin de la falla, repita la prueba de funcionamiento en el circuito MICROPROCESADOR DE 32 BITS. La prueba debe verificar que la falla fue corregida y que no existen otras fallas. Las tablas de especificacin de funcionamiento del circuito MICROPROCESADOR DE 32 BITS son proporcionadas en los ejercicios para ayudarle en la localizacin lgica de fallas. DISCUSIN Existen 8 procedimientos separados en este ejercicio. Cada procedimiento tiene una falla asociada con uno de los bloques de circuitos en el tablero de circuitos MICROPROCESADOR DE 32 BITS. Las fallas son insertadas despus de que la prueba de funcionamiento del circuito ha sido completada. Una TABLA DE ESPECIFICACIONES DE RENDIMIENTO es usada para tabular todos los valores observados, los parmetros normales y una lista de mediciones que pueden ser desarrolladas. sta tabla contiene un botn marcado < ? > que proporciona un men de informacin adicional del circuito. NUEVOS TRMINOS Y PALABRAS Ninguno EQUIPO REQUERIDO Ninguno
106
Microprocesador de 32 bits
Puede usar el tablero Aplicaciones del microprocesador para demostrar como los microprocesadores se comunican con dispositivos de control en el mundo exterior. El tablero Aplicaciones del microprocesador incluye circuitos de control de motor y control de temperatura. Puede conectar al tablero microprocesador a travs de lneas de control de E/S y el CDASAL (DACOUT) y seales de CADENT (ADCIN). Los dos bloques de circuitos de aplicacin son el CONTROLADOR DE MOTOR CD y el CONTROLADOR DE TEMPERATURA. Los bloques de circuitos POTENCIA Y CONTROL contienen conectores machos para conectarse al tablero MICROPROCESADOR DE 32 BITS. El bloque de circuitos PUNTOS DE PRUEBA contiene un conector macho cuyos terminales son puntos de prueba usados para monitorear las seales digitales y analgicas intercambindose entre los dos tableros de circuitos.
109
Microprocesador de 32 bits
El conector macho de 8 pines en el bloque de circuitos POTENCIA conecta al tablero de circuitos MICROPROCESADOR DE 32 BITS con un cable cinta. Este conector suministra +5V, +12V y 12V a los circuitos analgico y digital en el Tablero APLICACIN DEL MICROPROCESADOR. Las tierras digital y analgica se incluyen para maximizar la inmunidad al ruido. Las conexiones a tierra son accesibles en el bloque de circuitos PUNTOS DE PRUEBA.
El conector en el bloque de circuitos CONTROL tambin conecta al tablero MICROPROCESADOR DE 32 BITS con un cable cinta. Estas conexiones incluyen tres lneas de puertos de E/S as como las seales de CADENT (ADCIN) y CDASAL (DACOUT).
Las seales del cable de CONTROL son accesibles en el conector macho de 20 pines en el bloque PUNTOS DE PRUEBA. Dependiendo del tipo de seal, puede monitorear estos puntos con un osciloscopio, sonda lgica o voltmetro.
110
Microprocesador de 32 bits
El bloque de circuitos CONTROLADOR DE MOTOR CD tiene un motor cuya velocidad y direccin de rotacin puede ser controlada por el tablero microprocesador. El tablero microprocesador puede controlar el motor en una de dos formas, determinadas por un puente en el conector MOT. Cuando el puente en la posicin SWT (Switch = conmutar), el microprocesador usa un bit de salida en el PPI para activar totalmente el motor (1 lgico) o totalmente desactivado (0 lgico). En el modo SWT, el motor siempre gira en sentido contrario de las manecillas del reloj (CCW). Cuando el puente MOT est en la posicin LIN (lineal), la velocidad y direccin del motor se determina por un voltaje analgico enviado por el microprocesador a travs de la lnea DACOUT. La velocidad del motor es proporcional al voltaje CDASAL (DACOUT) y la direccin de rotacin depende de si el voltaje aplicado es positivo o negativo. El CDA (DAC) tiene una salida unipolar de 010V. Sin embargo, el bloque de circuitos CONTROLADOR DE MOTOR CD convierte el voltaje del CDA a un rango bipolar de 3V a +3V. En el modo LIN, la polaridad de este voltaje determina la direccin del motor y la magnitud del voltaje determina la velocidad. Montado en el eje del motor estn un aspa de ventilador y un disco codificador. Una de las funciones de estos componentes es la de permitir ver la rotacin del eje del motor.
111
Microprocesador de 32 bits
Esta vista lateral muestra el motor, ventilador, disco codificador y un interruptor ptico localizado abajo del disco. El ventilador se localiza de manera que el flujo de aire enfre el calor en el bloque de circuitos CONTROLADOR DE TEMPERATURA. El disco codificador tiene algunas marcas negras alrededor de su permetro. El disco se posiciona de manera como ste gira y pasa a travs del interruptor ptico. Cada vez que una marca negra pasa a travs de un interruptor ptico, un pulso digital es generado. El disco codificador y el interruptor ptico proporcionan un mtodo de percepcin de la velocidad del motor y retroalimentacin al microprocesador.
El bloque de circuitos Controlador de temperatura usa dos transductores de temperatura cuya corriente est en funcin de su temperatura. Un transductor est trmicamente unido a una resistencia que es usada como un calentador. El microprocesador usa un bit del puerto de salida para activar y desactivar el calentador y un LED rojo indica el estado del calentador. El segundo transductor se localiza distante del calentador y es usado como una referencia de temperatura ambiente. Un circuito op amp genera un voltaje que est en funcin de la diferencia de las dos salidas. El voltaje diferencial representa la diferencia entre la temperatura del calentador y temperatura ambiente. El microprocesador puede determinar la diferencia de temperatura leyendo el voltaje de salida del op amp. El microprocesador puede tambin enviar un valor digital al bloque de circuitos CONTROLADOR DE TEMPERATURA a travs de la lnea CDASAL (DACOUT). El valor CDASAL (DACOUT) sirve como voltaje de referencia en el circuito op amp. El conector ADC en el bloque de circuitos CONTROLADOR DE TEMPERATURA determina si el voltaje del motor o el voltaje del transductor de temperatura diferencial es llevado al microprocesador.
112
Microprocesador de 32 bits
NUEVOS TRMINOS Y PALABRAS interruptor ptico - un dispositivo opto-electrnico con un LED y un fototransistor localizados en lados opuestos de una ranura abierta. Un objeto que pasa a travs de la ranura puede interrumpir el haz de luz y hacer que el interruptor ptico genere un pulso de salida. transductores de temperatura - transductores cuyo parmetro de salida cambia con la temperatura. control de temperatura de bucle abierto - una forma de control de temperatura en la cual el calentador es activado pero la informacin de temperatura no es retroalimentada al dispositivo de control. control de temperatura de bucle cerrado - una forma de control de temperatura por la cual un calentador es activado y su temperatura es retroalimentada al dispositivo controlador para regular la temperatura. punto de ajuste - el valor deseado hacia el cual un controlador de temperatura trata de regular la temperatura. EQUIPO REQUERIDO Unidad base de FACET Tablero de circuitos APLICACIN DEL MICROPROCESADOR Multmetro Osciloscopio de doble trazo Tablero de circuitos MICROPROCESADOR DE 32 BITS Fuente de potencia, 15 Vcd (se requieren 2) Solamente requeridas si la unidad base de FACET no contiene una fuente de potencia.
113
Microprocesador de 32 bits
116
Microprocesador de 32 bits
118
Microprocesador de 32 bits
120
Microprocesador de 32 bits
Apndice A Seguridad
APNDICE A SEGURIDAD
La seguridad es responsabilidad de todos. Todos deben cooperar para crear el ambiente de trabajo lo ms seguro posible. A los estudiantes se les debe recordar el dao potencial y darles las reglas de seguridad de sentido comn e instruccin de seguir las reglas de seguridad elctrica. Cualquier ambiente puede ser peligroso cuando no es familiar. El laboratorio basado en computadoras de FACET puede ser un ambiente nuevo para algunos estudiantes. Instruya a los estudiantes en el uso adecuado de los equipos de FACET y explqueles qu comportamiento se espera de ellos en este laboratorio. Es responsabilidad del profesor proporcionar la introduccin necesaria al ambiente de estudio y a los equipos. Esta tarea evitar daos tanto a los estudiantes como a los equipos. El voltaje y corriente utilizados en el laboratorio basado en computadoras FACET son, en s mismos, inofensivos para una persona sana y normal. Sin embargo, un choque elctrico que llegue por sorpresa es incmodo y puede causar una reaccin que podra crear dao. Se debe asegurar que los estudiantes tengan en cuenta las siguientes reglas de seguridad elctrica. 1. Apague la alimentacin de potencia antes de trabajar en un circuito. 2. Confirme siempre que el circuito est cableado correctamente antes de encenderlo. Si se requiere, haga que su profesor revise el cableado de su circuito. 3. Desarrolle los experimentos siguiendo las instrucciones: no se desve de la documentacin. 4. Nunca toque cables energizados con sus manos o con herramientas. 5. Siempre sostenga las terminales de prueba por sus reas aisladas. 6. Tenga en cuenta que algunos componentes se pueden calentar mucho durante la operacin. (Sin embargo, esta no es una condicin normal para el equipo de su curso FACET) Permita siempre que los componentes se enfren antes de proceder a tocarlos o retirarlos del circuito. 7. No trabaje sin supervisin. Asegrese que hay alguien cerca para cortar la potencia y proveer primeros auxilios en caso de un accidente. 8. Desconecte los cables de potencia por la toma, no halando del cable. Revise que el aislamiento no est agrietado o roto en el cable.