Informática
CPU (Central Process Unit)
ENTRENADOR FAMILIARIZARON
Un microprocesador, o la Unidad del Proceso Central (CPU), es un circuito integrado digital (IC) eso puede realizar aritmética y la lógica funciona y transfiere información a y de los dispositivos externos. El diagrama del bloque en figura 1-1 muestra un sistema del microprocesador típico.
Figura 1-1
El dispositivo de apoyo que normalmente se encuentra en un circuito del microprocesador incluye otra IC's digital para la memoria y Entrada / rendimiento (I/O) las funciones.
Memoria CI es un dispositivo de almacenamiento que contienen información en forma binaria. Alguna de esta información está en la forma de programas, o juegos de instrucciones para el CPU para ejecutar.
El CPU también acostumbra parte de la memoria a guardar información del sistema y resultados del cálculo.
El dispositivo de I/O le permite al CPU comunicar con el mundo externo. El CPU en una computadora personal acostumbra un dispositivo de la entrada a los órdenes del teclado, un un dispositivo del rendimiento para enviar texto y información de los gráficos a la pantalla para usted ver.
Otros componentes del sistema que pueden comunicar pizca el CPU en su computadora vía los dispositivos de I/O ocurren en los grupos de líneas que une que se llaman buses, como vea en figura 1-2. La información binaria viaja de un lado a otro en el bus de los datos.
Figura 1-2
El CPU acostumbra el bus de dirección a la punta de pin la situación exacta a que o de que el datos es transferido.
El tamaño de los buses (número de líneas que une) es una medida del CPU está procesando poder.
Los primeros microprocesadores tenían un 4 - el bit CPU podría enviar sólo un número en el rango 0 - 16 (2^4) en un funcionamiento. El CPU podría enviar un número grande haciendo varios sucesivo transfirió.
Figura 1-3
Las generaciones del microprocesador subsiguientes habían extendido buses, y por consiguiente, extendió procesando poder. El 8 bit CPU podría enviar un número tan alto como 256 (2^8) en un funcionamiento, y la 16 versión del bit podría enviar un número tan alto como 65,536 (2^16).
El 80386 microprocesador en su tablero del circuito es un 32 dispositivo del bit. El número más grande que puede enviar es 4294967296 (2^32).
Los 80386 tienen un número extendido o registros. Los registros son situaciones de memoria interiores para el almacenamiento de información de estado de sistema.
Para el funcionamiento más rápido, el CPU tiene el 32 bus de datos de bit interior y la habilidad de procesar una instrucción mientras sacando la próxima instrucción simultáneamente.
Además de los 80386 CPU, su tablero del circuito incluye dos tipos de dispositivos de memoria, la circuitería de la entrada y circuitería del rendimiento, y una área de las aplicaciones que usted puede acostumbrar a demostrar cómo los microprocesadores unen con el mundo externo.
Figura 1-4 muestras cómo usted puede comunicar directamente con el CPU en su tablero del circuito. Hay un teclado pequeño, un LCD alfanumérico despliega, y un grupo de LEDs que despliega la información binaria sobre los datos y buses de dirección.
Figura 1-4
El teclado pequeño es un dispositivo de la entrada, y el LEDs un despliegue de LCD es dispositivos del rendimiento.
Los microprocesadores comunican en pizca binaria otros dispositivos. Porque usted lo encontrará embarazoso trabajar con tantos bits de información binaria, la dirección y datos LEDs en su tablero se coloca en grupo de cuatro bits. Usted puede leer cada grupo como un digito del hexadecimal.
El teclado pequeño se diseña para los números del hexadecimal, y los LCD despliegan muestra números del hexadecimal además de las sugerencias de inglés llanas.
Usted lo encontrará valioso vuelto cómodo con binario y el hexadecimal numera en la posible fase más temprana.
NUEVOS TÉRMINOS Y PALABRAS
DIRÍJASE BUS: un grupo de signo del rendimiento de un microprocesador usado por especificar una situación en la que los datos serán leídos o se escribirán.
IDIOMA ASSEMBLE: un idioma de la programación que las palabras del usuario, declaraciones, y frases para producir instrucciones de CPU.
CICLO del BUS: un datos completo transfiere ciclo, incluso una demanda del bus del microprocesador y una contestación de un dispositivo externo.
BYTE: un grupo de ocho bits transfirió o operó adelante como una unidad.
BUS de los DATOS: un grupo de líneas bidireccionales usó por transferir datos entre un microprocesador y memoria o dispositivos de I/O.
MODO de la FUNCIÓN: un teclado pequeño que opera modo que existe cuando usted restableció el CPU.
INTERRUPCIÓN: un funcionamiento por el que el CPU detiene lo que está haciendo y ahorra su lugar en el programa realizar otra tarea. Cuando la tarea se completa, el CPU devuelve a su lugar anterior en el programa.
DIRECCIÓN LÓGICA: una ocho representación del digito de la dirección física, escrita en la forma AAAA,:BBBB (segmento: desplazamiento).
SONDA de la LÓGICA: un dispositivo para problemas digitales que gritan y señala trazado que tiene LEDs para indicar lógica nivela y actividad del pulso.
VUELTA: una serie de instrucciones que se repiten continuamente o para un número específico de tiempos.
MODO de MEMORIA: un teclado pequeño que opera modo que le permite ver o bytes de memoria de cambio.
MICROPROCESADOR: un elemento de la computadora que contiene la unidad del mando, circuitería del proceso central, y aritmética y funciones de la lógica; también llamado la Unidad del Proceso Central (CPU).
MEMONIC: una forma abreviada de una instrucción que se escribe para hacerlo fácil de revocar una función.
MONITOR: un programa que realiza inicialización del sistema funciona y permite interacción entre el CPUand el usuario.
DESPLAZAMIENTO: la distancia (en bytes) de una situación dada de la base del segmento.
DIRECCIÓN FÍSICA: la dirección que el CPU pone en el bus de dirección.
PROGRAMA. una serie de tiendas de las instrucciones en memoria ser
ejecutado o llevó a cabo por un microprocesador.
DIRECTOR de la INTERRUPCIÓN PROGRAMABLE (PIC): un apoyo IC que maneja
signos de la interrupción de varios dispositivos externos.
INTERFACE PERIFÉRICA PROGRAMABLE (PPI): un apoyo IC que maneja traslados de los datos entre el ans de CPU varios dispositivos externos.
REGISTRO: una área del almacenamiento temporal dentro de un microprocesador que sostiene información de estado de sistema, resultados de cálculos, y otros valores.
REGISTRE MODO: un teclado pequeño que opera modo que le permite ver o cambiar los volúmenes del los registros interiores de CPU.
SEGMENTO: una 64 sección del Kbyte de memoria.
BASE del SEGMENTO: la primera dirección en un segmento.
Introducción a la Tablero del circuito
DISCUSIÓN
Su tablero del circuito es dividido en varios circuito bloquea, o grupos de componentes que realizan funciones específicas (vea Figura 1-5)
Figura 1-5
EJERCICIO1-1
Figura 1-7 muestras que que las conexiones en JP3 son para CPU controle signos. Algunos de estos signos son rendimientos del CPU a los dispositivos externos, como memoria o I/O. Otros signos son entradas al CPU de los dispositivos externos.
imagínese 1-7
En JP3, como en otros títulos alrededor del circuito aborde, usted puede ver que algunos de los nombres señalados son seguidos por un símbolo de la libra (#).
Esta anotación indica que el signo es activo bajo. Por ejemplo, el RDY #el signo es activo cuando una lógica 0 aparece en esta línea, y inactivo para lógica 1.
Cuando una cuchillada aparece en un nombre señalado, como Escriba / Lea #(W/R) #, el #el símbolo indica qué función es activa bajo. La función que es ni siguió por un #el símbolo es activo alto. Una lógica 1 en el W/R #la línea indica un escriba función, y lógica 0 una función leída.
Adyacente al CPU circuito bloque el bloque de MANDO de BUS es (Figura 1-8) que los auxilios manejan comunicaciones entre el CPU y su circuitería de apoyo.
Figura 1-8
Uno de las funciones del Mando del BUS es sincronizar los signos del mando intercambiados entre los dispositivos a un signo de reloj de amo.
El bloque de MANDO de BUS incluye un oscilador de cristal que genera una 8Mhz ola del cuadrado sumamente precisa que se usa como el reloj del sistema.
El CPU y bloque de MANDO de BUS dividen la frecuencia del reloj en los intervalos por enviar y la información receptor y por probar signos del mando.
Figura 1-9 muestras el tres circuito bloquea (MONITOR ROM, ROM más americano y RAM) esa hechura a la memoria del sistema CCI en estos bloques es dispositivos del almacenamiento que contienen información en forma binaria.
Figura 1-9
La información podría consistir en instrucciones para el CPU, datos para una aritmética o funcionamiento de la lógica, información de estado de sistema, o otros valores.
Usted puede usar dos - las desviaciones de la posición en el ROM bloquean títulos para programar la ROM CCI para capacidades del almacenamiento diferentes. A menos que su instructor lo informa por otra parte, todas las desviaciones deben instalarse en la cima dos pin de cada título.
Su tablero del circuito se envió sin CCI o desviaciones en el bloque de ROM más americano. Usted puede acostumbrar este bloque después al memoty del installe CCI con sus propios programas y/o datos.
La CCI en el MONITOR el bloque de ROM contiene un programa llamó a un monitor que le permite comunicar directamente con el CPU.
El monitor permite el CPU a información de la entrada en la que usted entra en el teclado pequeño, y información del rendimiento para usted para seguir leyendo el despliegue de LCD.
El monitor también prepara áreas de memoria para el uso por el CPU, y realiza otro "gobierno de la casa" que las funciones necesitaron para el funcionamiento del sistema.
Su 32 BIT MICROPROCESADOR circuito tablero puede unir con dispositivos que son externo a la tablero del circuito por vía del PUERTO DE SERIE y los bloques de circuito de PUERTO PARALELOS.
Se hacen conexiones del PUERTO DE SERIE externas vía un 9 pin, conector del D-tipo (JP2), mostrado en figura 10.
Figura 1-10
Los conectores y señala ina el circuito de comunicación digital normalmente se diseña según uno de varias normas de industria para asegurar compatibilidad con otros dispositivos. La norma que aplica al bloque de circuito de PUERTO DE SERIE es RS232.
El bloque del PUERTO DE SERIE también tiene un 24 título del pin para permitirlo para supervisar I/O señala y programa la configuración operando con desviaciones.
El bloque del PUERTO DE SERIE genera su propio signo del reloj que deriva de un 1.843 cristal de Mhz.
El bloque de circuito de PUERTO PARALELO, mostrado en figura 1-11, puede transferir información ocho bits en un momento a o de un dispositivo externo.
Figura 1-11
El 3pin título le permite seleccionar entre un modo operando normal (norma) o un modo de la prueba especial (prueba) el dependign en la posición de la desviación. Usted debe guardar la desviación en la NORMA la posición a menos que le dicen que lo mueva.
El 82C55 IC usó en este bloque es una Interface Periférica Programable (PPI) con usted 8bit puertos bidireccionales; Ponga a babor UN, Puerto B y Puerto C. El CPU puede programar cada puerto como una entrada o un puerto del rendimiento.
Parte de Puerto UN (linea PA4 a través de PA7) se conecta a un 4 interruptor de ZAMBULLIDA de polo localizado en el bloque de circuito de PUERTO PARALELO. Usted puede acostumbrar este interruptor a la entrada a a 16 posibles códigos en el modo de la PRUEBA o para otras aplicaciones.
JP6 (figura 1-12) es un 20 título del pin que usted puede acostumbrar a supervisar I/O señala o para conectar a un dispositivo externo.
Figura 1-12
El ADC EN y se conectan DAC FUERA los signos al ADC y DAC bloquea, respectivamente. Estos signos se conectan a JP6, aunque ellos no se usan en el bloque de circuito de PUERTO PARALELO.
Los bloques de las aplicaciones en su tablero del circuito son el Digital al Conversor Analógico (DAC), Analógico al Conversor Digital (ADC), y Director de la Interrupción (DIRECTOR de IR) los bloques. Ellos le permiten al CPU unir con dispositivos externos para medir y mando los valores analógicos como voltaje, actual, temperaturas, acelere, etc.
El DAC circuito bloque en figura 1 - 13 contiene un DAC IC que convierten un 8 bit el número binario a un voltaje analógico en uno de dos rangos.
FIGURA 1-13
Usted puede acostumbrar una desviación en el 3 título del pin a seleccionar un rango de voltaje de rendimiento de 0 - 10 Vdc (como mostrado) o 0-2.56 Vdc.
El ADC circuito bloque (figura 1-14) realiza una función complementario a eso del DAC. El ADC IC ellos lo admite a un signo analógico externo y a convertido a un 8 bit proporcional el valor binario por procesar por el CPU.
figura 1-14
Un modo la desviación selecta le permite o seleccionar bipolar o funcionamiento del unipolar para el DAC.
Los ACD y " bloques de DAC tienen sotas para una conexión analógica externa (ADC EN y DAC FUERA). Estos signos también se conectan a JP6 en el bloque de circuito de PUERTO PARALELO.
El IR DIRECTOR circuito bloque (figura 1 - 15) maneja ocho signos de la interrupción que una aplicación externa puede enviar al CPU.
Figura 1 - 15
Generalmente, las interrupciones son signos de prioridad altos que causan el CPU para detener lo que está haciendo actualmente, ahorran su lugar en el programa, y inmediatamente reparan las necesidades de un dispositivo externo. Cuando la interrupción se ha reparado, el CPU reasume funcionamiento normal del punto al que fue interrumpido.
El 82C59 IC usó en este bloque del circuito es un Director de la Interrupción Programable (PIC).
El CPU puede programar el PIC para varios modos operando diferentes y también puede establecer una sucesión de prioridad para los signos de la interrupción.
La fila del fondo de pin en el 1 pin título JP4 tiene ocho entradas de la interrupción (IR0 aunque IR7) al PIC. Usted puede conectar que el parche lleva directamente a cualquiera de estos pin manejar la interrupción deseada.
Cinco pin en la fila de la cima (COM, INTRA, INTRB, RXC y DR #) se conecta internamente a otros bloques del circuito en su entrenador.
Usted puede acostumbrar una desviación a conectar uno de los pin de la cima directamente a la entrada de la interrupción debajo de él permitir el otro bloque del circuito (s) para interrumpir el CPU.
Por ejemplo, una desviación puso en la quinta posición, de la izquierda IR4 conectarían a RXC en el bloque del PUERTO DE SERIE.
El Power SUMINISTRO circuito bloque (figura 1-16) entrega un se filtró y reguló 5Vdc a todos los otros bloques del circuito.
Un +5V punto de conexión está disponible en el 8 título del pin, junto con +-12Vdc para los DAC y ADC circuito bloques. Todos los tres suministros tienen una tierra común.
Figura 1-16
Cuando su tablero del circuito se instala en un F.A.C.E.T. basan unidad, el voltaje de la entrada para el bloque de SUMINISTRO de PODER viene de la unidad baja. La 32 BIT MICROPROCESADOR circuito tablero también puede operarse independientemente de la unidad baja tapando un 9 Vdc externos 750mA suministro de poder en la sota de poder.
Un interruptor de la diapositiva (PWR) le permite apagar poder de tablero de circuito localmente sin apagar la unidad baja. Power es adelante cuando el interruptor es en su a la posición. Los LED sobre el interruptor de PWR le dicen si el poder a la tablero es adelante o fuera de.
Un rasgo importante de este plan de suministro de poder es su tendencia a cerrar cuando el suministro se carga excesivamente.
Si un componente falla, o si usted accidentalmente la causa un corto circuito mientras sondeando signos, usted puede ver el suministro de poder LLEVÓ giro fuera de y el circuito aborda perderá poder.
Figura 1-17 muestras un grupo de mandos manuales que lo ayudan opere la tablero del circuito.
Figura 1-17
El potentiometer de INTENSIDAD se proporciona soja que usted puede ajustar la intensidad del despliegue de LCD a su propia actuación viendo.
El interruptor RESTABLECIÓ le envía un signo restableció al CPU. Cada tiempo usted la prensa RESTABLECIÓ, el CPU empieza como procedimiento de la inicialización en el monitor. El mensaje "el Lab _ Voltio 32 bitu Proc. Entrenador" aparece es los LCD despliegan, y entonces el CPU espera por usted entrar en un orden en el teclado pequeño.
El SOLO bloque del CICLO tiene dos interruptor mientras en el modo del paso, el CPU ejecuta un ciclo del bus exactamente, o transfiere de información.
A cada paso, usted puede leer la dirección actual y el bus de los datos valora en el circuito aborde LEDs.
El modo del paso es una valiosa herramienta que le permite seguir el funcionamiento del CPU a su propia velocidad.
Apretando el botón de empujón de HALT da que usted accede a otro modo que es útil siguiendo el funcionamiento de CPU. como con el modo del paso, el modo de la halt detiene funcionamiento de CPU y le permite caminar a través de un programa. Sin embargo, cada paso en el modo de la halt ejecuta una instrucción completa que podría consistir de de un a catorce ciclos del bus.
en el modo de la halt, usted puede usar también el teclado pequeño y LCD despliegan ver y modificar los volúmenes de los volúmenes del CPU ' los registros de s. Los registros son situaciones de memoria interior al microprocesador que contiene una variedad de información del sistema importante.
En esta lección, se imprimirán los mandos manuales que no están en el teclado pequeño en cartas importantes. Por ejemplo, usted puede ver un paso del PROCEDIMIENTO que lee, "Enciende el SOLO interruptor del CICLO y PASO de la prensa."
Usted entra en sus órdenes y demandas al CPU por vía del teclado pequeño (figura 1-18).
Figura 1-18
Cada interruptor tiene un carácter del hexadecimal imprimido en él por entrar en información numérica que podría representar datos o una dirección de memoria. Cada interruptor también puede usarse como una interruptor de la función, como definido por la función (s) imprimió sobre cada interruptor. Por ejemplo, el hexadecimal que la interruptor de C también sirve como la interruptor de la función LEÍDA.
El monitor guarda huella, basada en el modo operando, de si una pulsación se usa entrar en un número del hexadecimal o activar una función.
En este volumen, una función del teclado pequeño es indicada por el nombre de la función capitalizado que es adjunto dentro de los símbolos <>. El datos numérico ser entrado es adjunto en comillas. Por ejemplo, un paso del PROCEDIMIENTO puede leer, "la Prensa <LEA>, entre en "0123 ABCD", entonces la prensa <el AUTOMÓVIL>.
Los LCD despliegan en su tablero del circuito es una dos línea, 16 columna, 5 x 8 tipo de matriz de punto. Puede desplegar carácteres alfanuméricos y muchos símbolos especiales. Figura 1-19 muestras el mensaje que usted ve cada tiempo que el CPU se restablece.
FIGURA 1-19
Un bloque de destello se usa como un cursor para indicar el espacio donde el próximo carácter entrado aparecerá.
En contestación a algunos órdenes de interruptor de función, el LCD despliega una sugerencia inglesa llana que le dice qué hacer luego.
¿Por ejemplo, si usted aprieta el <LEA> importante, la sugerencia "Lea Dirección?" aparece en la primera línea del despliegue con una serie de espacios debajo de él, como mostrado en Figura 1-20
Figura 1-20
El signo de interrogación en la sugerencia indica que que el CPU espera que usted entre en los 8 startin del digito diríjase de la sección de memoria que le gustaría leer. Cuando usted codifica en cada carácter, el carácter aparece en la segunda línea del despliegue.
Algunas otras funciones usted puede realizar con el teclado y el despliegue incluye:
leyendo o entrando en datos en memoria.
leyendo o datos cambiantes en el CPU ' s los registros interiores.
saltando a una situación de memoria específica.
caminando a través de un programa una instrucción en un momento.
La DIRECCIÓN LLEVÓ y los DATOS LED el circuito bloquea (Figura 1-21) el despliegue la información sobre los theaddress y buses de los datos en forma binaria (LLEVÓ adelante = 1, LLEVÓ fuera de = 0). La dirección LEDs son verdes y los datos LEDs son amarillos.
Figura 1-21
Cada bloque tiene un grupo de 16 LEDs. Los LEDs se colocan en 4 grupos del bitcada uno de los cuales pueden leerse de la dirección LEDs (UN), reestructurándolo en cuatro bir se agrupa (b), y conveting cada grupo a su hexadecimal equivalente (c).
Figura 1-22
Usted aprendió en PRINCIPIOS que el 80386 microprocesador tiene 32 líneas de dirección y 32 líneas de los datos. Para desplegar la dirección completa y información de bus de datos, cada uno LLEVÓ que el bloque tiene un HIGH/LOW seleccionador interruptor.
Cuando el interruptor en la posición BAJA, los LEDs despliegan la información sobre la 16 dirección más baja de líneas de los datos (A0 a través de A15 o D0 a través de d15). Usted puede acostumbrar la posición del interruptor ALTA a ver la información sobre las 16 líneas superiores (A16 a través de A31 o D16 a través de D31).
Figura 1-23 muestras cómo los modelos LLEVADOS aparecerán a lo largo de este volumen. Note que se muestran dirección alta y " baja y datos, y usted tiene a la barra traviesa el HIGH/LOW enciende el circuito aborde para ver la información completa.
Figura 1-23
En algunos casos, la dirección alta o la información de los datos es ni de interés. En estos casos sólo los modelos LLEVADOS bajos se mostrarán.
Para leer el bus de dirección, empiece de salió para corregir en la dirección alta y asilo cada grupo de cuatro pedazos binarios en uno hechice digito. Basado en la figura sobre, usted puede ver que el valor del hechizo de la dirección alta en FFCO.
Repitiendo el proceso con la dirección baja LEDs le da un valor de 54DB. Para la dirección completa, conbine los valores altos y bajos para un resultado de FFCO 54DB. Para la práctica, determine el valor del hechizo de los datos LEDs en figura 1-23
En cada lado de su tablero del circuito, usted encontrará un PRUEBA TIRA circuito bloque para el oscilloscope que une demuestra (figura 1-24). Estos bloques le permiten hacer sus conexiones del alcance a los bordes externos del circuito aborde, donde las sondas un cables no bloquearán su visión o accederán al teclado pequeño y interruptores.
Figura 1-24
Cada pin en el título de TIRA de PRUEBA se conecta al pin al lado de él. La figura muestra cómo usted puede usar el TES STRIP que el bloque y un parche llevan para conectar una sonda del alcance al RDY #el signo en CPU título JP3.
Debido a la lógica del high_speed señala en este circuito, es importante al probre de alcance de yor conectó con tierra minimizar distorsión del waveform.
El LÓGICA SONDA circuito bloque (figura 1-25) los auxilios usted para arreglar a las faltas de tablero de circuito y monitor los signos importantes para seguir el funcionamiento de los CPU y otros circuitos.
Figura 1-25
El bloque de SONDA de LÓGICA tiene tres indicadores LLEVADOS. El ALTO (ROJO) Y Bajo (verde) LEDs indican el nivel de la lógica de una estática (inmutable) el signo.
El PULSO (amarillo) LLEVÓ indica cuando un solo pulso ocurre o cuando un signo constantemente está pulsando.
Usted no puede acostumbrar la sonda de la lógica a medir el tipo señalado exacto y frecuencia cuando usted puede con un oscilloscope. Sin embargo, al supervisar un signo digital, es a menudo suffcient para saber simplemente el nivel de la lógica del signo y si o no está pulsando.
El TECLADO PEQUEÑO el COTROL circuito bloque (figura 1-26) las interfaces los 4 x 4 teclado pequeño con uno de los puertos de la entrada en el PPI.
Figura 1-26
El CPU lee el teclado pequeño a través del PPI determinar qué importante (si cualquiera) se aprieta.
Dependiendo del entrenador está operando modo en el momento, el programa del monitor decide si un golpe importante se lee como un número del hexadecimal o como un orden de la función.
El JP5 bloque del circuito (figura 1-27) contiene sólo un título con signos el asociado con algunos de los otros bloques del circuito.
n el modo del registro, usted puede seleccionar cualquier par de registro mostrado en paréntesis sobre las interruptors apropiadas. Las funciones del registro se explican en detalle en otras unidades.
Si usted selecciona el (UN-B) la interruptor de la función, el despliegue muestra los volúmenes del general - el propósito registra EAX un EBX (vea Figura 1-46).
Figura1-46
Para cualquiera de los registros en este modo, usted puede determinar el número de pedazos usado en el registro por el número de digitos del hechizo desplegado.
El EAX y EBX registra cada muestra ocho digitos . Puesto que cada digito representa que cuatro pedazos, EAX y EBX son 32 registros del pedazo.
Usted puede cambiar los volúmenes de los registros desplegados un byte (dos digitos ) a un lazo. Usted puede seleccionar un byte un byte usando el FWD y ATRÁS las interruptors.
Para cambiar los valores del byte, usted puede apretar WRT y puede codificar en remolque los nuevos digitos del hechizo.
Apretando el (C-D) la función las llamadas importantes al propósito general, 32 registra ECX y EDX (vea Figura 1-47),
Figura1 - 47
Cuando usted aprieta el (SI - DI) la interruptor de la función en la oda del registro, el despliegue muestra los volúmenes de la fuente ponen en un índice (ESI) y los indez del destino registran (edi9 (VEA Figura 1-48).
Figura1-48
Para ver el segmento del código (CS) el registro y indicador de la instrucción (IP), USTED puede SELECCIONAR EL (CS - IP) la interruptor de la función (vea Figura 1-49).
Figura1-49
Él los volúmenes del segmento de la pila (ss) y indicador de la pila (ESP) se despliegan registros cuando usted selecciona el (SS ESP) importante (vea figura 1-50).
Figura1-50
Cuando usted aprieta el (BP - FL) la interruptor de la función, usted puede ver el indicador bajo (EBP) y bandera (FLG) el registro (vea Figura 1-51).
Figura1-51
Usted puede ver el 16 registro de segmento de bitFS y GS apretando el (FS - GS) importante (vea figura 1-52).
Figura1-52
La última interruptor de función de registro (DS - ES) permite usted accede al segmento de los datos (ds) y el segmento extra (ES) los registros (vea Figura 1 - 53)
Figura1-53
Usted puede dejar el modo del registro a cualquier punto apretando la interruptor de la SALIDA
Figura1-54
Cuando usted termina, el CPU devuelve al modo de la función. Sin embargo, en lugar del mensaje del startup, el despliegue muestra la última dirección que aparecía antes de que usted entrara en el modo del registro (vea Figura 1-54).
Si usted aprieta la interruptor del PASO en el modo de la función, el CPU suspende funcionamiento y despliegues la dirección a que detuvo.
Si usted continúa apretando PASO, el CPU adelanta a través del programa una instrucción en un momento. Cada instrucción puede tener entre 1 y 14 bytes.
Usted puede apretar el interruptor de la HALT en la tablero del circuito en un momento interrumpir un programa (vea Figura 1 - 55).
Figura1-55
Cuando usted detiene un programa, la dirección a la que las HALTs de CPU aparecen en el despliegue, y el CPU devuelve al modo de la función.
FUNCIONAMIENTOS del BUS
DISCUSIÓN DE PRINCIPIOS
Un microprocesador, o la Unidad del Proceso Central (CPU)m es el elemento principal de un sistema de la computadora. El CPU contiene circuitería para el mando, aritmética, y funciones de la lógica. Como mostrado en Figura 2.1, el CPU tiene la habilidad de comunicar con circuitería externa, como memoria, entrada, y dispositivos del rendimiento.
Figura2-1
La comunicación es cumplida por vía de un busdel datos bidireccional. El CPU puede enviar información a un dispositivo externo (CPU escriben funcionamiento) o recibe información de un dispositivo externo (CPU leyó funcionamiento). El CPU envía información sobre el busde dirección seleccionar el dispositivo externo y la situación exacta a las que los datos serán escritos o se leerán.
Los dispositivos otra cosa que el CPU también leyeron un escriba datos que pueden llevar a confusión sobre la dirección de flujo de los datos.
Uniess especificó por otra parte, un funcionamiento leído se refiere a datos que entran en el CPU, y un escriba el funcionamiento se refiere a datos que salen del CPU.
El CPU tiene las entradas del mando y rendimientos que le permiten unir con un dispositivo externo como mostrados en Figura 2-2. Cuando el CPU comienza un traslado del datos, empieza una serie de eventos que aseguran un traslado del efficients. Primero, el CPU pone información sobre el busde dirección que indica un loation para el traslado de los datos.
Figura2-2
El CPU envía un indicar señalado entonces que esa información válida está disponible en el busde dirección. También envía un signo que especifica un lea o escriba funcionamiento. El dispositivo externo responde por datos del outputting hacia el busde los datos (CPU) lea funcionamiento o datos del inputting del bus(CPU escriben funcionamiento). El último paso en la sucesión es un signo enviado el dispositivo externo a la forma al CPU que indica ese traslado está completo. Un traslado completado es un ciclo del autobús.
Figura2-3 es un diagrama de flujo durante un ciclo leído típico. Un diagrama de flujo muestra los pasos en un proceso. El rectangular contenga pasos que ocurren en una sucesión determinan por la dirección de las flechas.
Figura2-3
El símbolo del diamante es una caja de decisión. Mira fijamente una condición, y el proceso puede tomar uno de varios caminos (en este caso SÍ o NINGÚN) dependiendo adelante si o no la condición en se encontró.
El CPU empieza enviando el dispositivo externo a una dirección y a señalización al rendimiento sus datos. El CPU envía un signo de dirección válido entonces. Luego, el CPU busca una contestación del dispositivo externo. Si una contestación no se recibe, el CPU espera por una contestación.
Cuando el dispositivo externo responde, el CPU reconoce que ese datos válido está en el busde los datos. El CPU lee los datos y prepara durante el próximo ciclo. La dirección de flujo de los datos durante un ciclos leídos es de un dispositivo externo al CPU.
El diagrama de flujo para un escriba ciclo, mostrado en Figura 2-4 es ligeramente diferente de eso o un ciclo leído. Cuando el microprocesador envía una dirección y un escriba signo, también escribe al busde los datos los datos que serán leídos por un dispositivo externo. Como el funcionamiento leído, los signos de CPU que la dirección es válida y espera una contestación. Al recibir una contestación, el CPU considera el traslado completo y prepara durante el próximo ciclo del autobús.
Nuevos términos y palabras
DIRÍJASE AUTOBÚS: un grupo de signos del rendimiento de un microprocesador usado por especificar un dispositivo y situación donde los datos serán leídos o se escribirán.
TRASLADOS ALINEADOS: traslados que involucran datos que no hacen overiap un palabra límite doble.
CICLO del AUTOBÚS: un datos completo transfiere ciclo incluso una demanda del busdel microprocesador y una contestación de un dispositivo externo.
BYTE: un grupo de ocho pedazos transfirió o operó adelante como una unidad.
BUSde los DATOS: un grupo de líneas bidireccionales usó por transferir datos entre un microprocesador y memoria o dispositivos de I/O.
PALABRA DOBLE: un grupo de 32 pedazos transfirió o operó adelante como una unidad.
PALABRA LÍMITES DOBLES: el arranque se dirige o 32 situaciones de memoria de pedazo. La dirección de arranque debe ser un múltiplo íntegro o cuatro.
ESTADO OCIOSO: un periodo durante el que un microprocesador no está pidiendo un ciclo del autobús.
MICROPROCESADOR: un elemento de la computadora que contiene la unidad del mando, circuitería del proceso central, y aritmética un funciones de la lógica; CPU también llamado
MISALIGNED TRANSFER: un 16, 24, o 32 traslado del bitque solapan un palabra límite doble.
PROGRAMAS: serie de tiendas de las instrucciones en memoria ser ejecutado o llevó a cabo por el microprocesador.
LEA CICLO: un ciclo del busdurante que una memoria o el dispositivo de I/O transfiere datos al microprocesador.
ESPERE ESTADO un periodo durante el que un microprocesador está esperando por una contestación de un dispositivo más lento.
FORMULE un grupo de pedazos transferido o operó adelante como una unidad; a menudo específicamente se referido a un grupo de 16 pedazos.
ESCRIBA CICLO: un ciclo del busdurante el que el microprocesador transfiere datos a una memoria o Entrada (I/O) el dispositivo.
ESTADOS del BUS
DISCUSIÓN
Figura2-6 muestras el signo del reloj (CLK2) eso se usa para establecer una relación cronometrando entre los varios signos en un 80386 sistema del microprocesador. Un segundo signo del reloj, CLK, es derivado por el CPU de CLK2. CLK es mitad la frecuencia de LCK2. Usted puede pensar en todos los funcionamientos de CPU interiores y externos como ser referenced al signo de CLK.
Figura2-6
Un ciclo del bustípico consiste en dos ciclos de CLK llamados el busdeclara T1 un T2 como mostrado en Figura 2-7. Durante los T1 sacie, el CPU pide un traslado del datos por señalización un dispositivo eterno. Durante el T2 estado, el dispositivo externo responde para completar el traslado.
Figura2-7
Entender la sucesión de eventos involucrada en los datos de un microprocesador mejor transfieren, usted puede examinar las funciones de algunos de los 80386 el I/O de CPU linea (los se figuran 2-8). Los 80386 tienen cinco rendimientos de estado de busy tres entradas de mando de autobús. Ellos se usan para comunicación entre el CPU y memoria o I/O.
Figura2-8
El símbolo #siguiendo un medios de la etiqueta que la función es activa bajo. En lecciones anteriores, usted acostumbró una barra sobre la etiqueta a indicar activo bajo. Por ejemplo, una astilla baja activa el signo selecto puede ser representado por CS' o CS #.
Si un signo tiene una función dual, uno se identifica como activo bajo, y el otro es activo alto. Por ejemplo, un signo de la entrada mostrado como Carrera / Halt#causará el dispositivo para correr cuando la entrada es alta y Haltcuando la entrada es baja.
Este ejercicio enfoca en las funciones de ANUNCIOS de rendimiento de estado #y entrada del mando RDY #. El Estado de dirección (ANUNCIOS #las líneas son el CPU rendimiento tat comienza todos los ciclos del autobús. ANUNCIOS #dice un dispositivo externo que la información válida está presente en el busde dirección.
Figura2-9 muestras el diagrama cronometrando de un ciclo del autobús. Las acciones de ANUNCIOS #y los linea de dirección son referenced al signo de CLK. Durante el curso de un ciclo del autobús, la información de dirección puede cambiar que un dispositivo externo sólo puede leer la información cuando es estable o válido. Cuando el microprocesador emite información de dirección válida, activa ANUNCIOS #. Los ANUNCIOS #la línea sólo es activa para el T1 estado.
Figura2-9
El RDY #el signo es el signo de un dispositivo externo al CPU que reconoce una demanda del busy ha respondido. Un RDY activo #la entrada permite el para terminar el ciclo del busal final de T2. El RDY #el signo se genera cuando el dispositivo externo ha respondido y ha estado listo terminar el ciclo del autobús.
Parte del RDY #signo mostrado en Figura 2-10 tiene crosshatching para indicar un no cuida condición. Esto significa que o puede ser alto o puede mugir para esta parte del ciclo del autobús. Cerca del extremo de T2, el CPU parece a, o muestras, el RDY #la línea. Si el signo es bajo, como mostrado, el dispositivo ha respondido y el CPU termina el ciclo del busal final o T2.
El diagrama cronometrando mostrado en Figura 2 - 11 es durante un ciclo leído típico. Una vez RDY #se ha probado bajo, el CPU lee los datos que se han puesto en el buspor el dispositivo externo y se han terminado el ciclo. RDY #se muestra como un no cuida condición durante T1 porque el CPU no ha probado RDY todavía #.
Figura2-11
Compare el diagrama cronometrando al diagrama de flujo en Figura 2-12. Nota que el SÍ el camino se toma porque RDY #ES ACTIVO al final de T2.
Figura2-12
En muchos casos, el CPU comienza un ciclo del buscuando el dispositivo externo no está listo o capaz para responder, como visto al final del ciclo 2 LEÍDO en Figura 2-13. Cuando esto pasa, el RDY #la entrada permanece inactiva (alto). El CPU ejecuta otro T2 estado entonces y de nuevo las muestras el RDY #la entrada. Si la línea todavía es alta, el CPU permanece en un estado de la espera y continúa ejecutando T2 estados hasta RDY #se pone activo. Cuando RDY #va bajo, el CPU termina el estado de la espera y procede t el próximo ciclo del autobús. Los estados de la espera del 80386 microprocesador le permiten unir con dispositivos externos que son más lentos que el CPU. Un no el camino fuera de la caja de decisión en Figura 2 - 12 corresponden a un estado de la espera.
Figura2-13
Hay tiempos cuando el CPU no está listo sacar otra instrucción para que no activa ANUNCIOS #para empezar un ciclo del autobús. En este caso, el estado que sigue el ciclo de busde las inmediatamente es un estado ocioso (Ti) como mostrado en Figura 2-14. El estado ocioso continúa hasta el próximo ciclo del busen requiriendo un traslado del datos ocurre. El estado ocioso (Ti) termina cuando el CPU pide un traslado del datos activando ANUNCIOS #.
Figura2 - 14
El diagrama estatal mostrado en Figura 2-15 es un gráfico simple que muestra las transiciones entre los estados del microprocesador diferentes (T1, T2 y Ti). UN ciclo del busempieza con un T1 sacie y siempre los beneficios a un T2 estado. Si RDY #es inactivo durante el T" el estado, los CPU ejecutan otro T", esta condición es un estado de la espera.
Figura2.15
¡Si RDY #se pone activo durante T2 y la demanda de busde antera está pendiente, el CPU devuelve al T! Estado. Esta acción significa que el CPU ha terminado el ciclo del busactual y ha estado empezando un nuevo ciclo.
Si el CPU está en un estado ocioso (Ti) y una demanda del busno está pendiente, permanece en un estado ocioso. Si una demanda está pendiente, el CPU termina el estado ocioso y beneficios a T1. Ti realmente no es parte de un ciclo del autobús. El ciclo del busempieza a las T1 con el CPU que activa los ANUNCIOS #la línea. El ciclo del busacaba después de un T" cuando el CPU recibe un RDY #la forma señalada la circuitería externa.
32 TRASLADOS de BUSde BIT
DISCUSIÓN
Además de los ANUNCIOS #un RDY #signos que usted examina en Ejercicio que se exigen 2-1 varios otros signos a definir un traslado del datos totalmente en un 80386 sistema del microprocesador.
Éstos incluyen a lo siguiente.
RENDIMIENTO de las ESTANCIAS W/R #(Write/Read #), M/IO #(memoria /input - el rendimiento #), un D/C #(datos / mando #)
CONTROLE ENTRADA BS 16 #(bustamaño 16)
El BYTE HABILITA RENDIMIENTOS BE0 #, BE1 #, BE3 #, BE3 #
Entender el byte mejor habilitan rendimientos, usted puede examinar el 80386 bus de los datos.
Pizca el 32 busde datos de pedazo, usted puede transferir datos en el grupo de 8, 16, 24 o 32 pedazos en un momento. Un grupo de 8 pedazos es un byte figura 2-28. Un byte tiene un rango del hexadecimal de 00-FFH, o 0 - 256 en decimal.
La carta H al final de una picadura de carácteres indica que es un número del hexadecimal. Por ejemplo el número del hechizo que FF se escribe a FFH.
Un grupo de 16 pedazos es una palabra. Los hexadecimal van para una palabra es 0000 - FFFFH que iguala 0 - 65,536 (10).
Un grupo de 32 pedazos (4 bytes) es una palabra doble y tiene un rango del hechizo de 0000 00000 - FFFF FFFFH que iguala 0 - 4294967296 (10). UN 24 grupo del bitno tiene un nombre especial, pero iguala tres bytes.
Figura2-28
Se designan los cuatro bytes del 32 grupo de datos de bitbyte 0 a través de byte 3 como mostrado en figura 2-29. Byte 0, el byte significante (LSB), consiste en datos líneas D0 a través de D7. Bytes 3, los bytes más significantes (MSB), consiste en líneas de los datos D 24 a través de D31. Dependiendo de la instrucción a ejecutándose, algunos de los cuatro bytes pueden requerirse para un traslado del autobús, mientras otros no se requieren. El CPU tiene cuatro byre habilitar rendimientos, BE0 #a través de BE3 #a corresponde a byte 0 BE1 #a byte 1 y así sucesivamente. Por ejemplo, el código 1100 se prefijaría al byte habilite rendimientos (BE3" a través de BE0 #) si el CPU fuera a sólo bytes del rendimiento 0 y 1.
Figura2 -29
Refiérase para figurar 2-30 el CPU usa los bytes habilitan rendimientos junto con el busde dirección seleccionar uno o más bytes para un traslado del datos. La dirección linea A2 aunque se usan A31 para seleccionar una 32 situación de memoria de pedazo. Los dos pedazos de dirección de orden bajos, A0 y A1. Se usa para generar el cuatro byte internamente habilite líneas, BE0 #a través de BE3 #. Estas líneas seleccionan uno o más bytes entonces dentro de esa situación. Los datos en la situación del byte (s) seleccionado por byte activo habilita se transfiere en el busde los datos. Por ejemplo, si sólo BE1 #y BE2 #es bajo, sólo datos se transfieren pedazos D8 a través de D23.
Figura2-30
Refiérase para figurar 2-31. Cada byte en memoria es individualmente addressable. Las direcciones del byte son secuenciales (0000H, 0001H, 0002H, y así sucesivamente). desde que una palabra doble es un grupo de cuatro bytes, el incremento de direcciones de palabra doble a través de cuatro (0000H, 0004H, 0008H, 000CH 0010H y así sucesivamente).
Figura2-31
Tabla2-1 muestras las combinaciones de bytes dentro de la misma 32 situación del bitque puede transferirse una vez. (no todo las posibles combinaciones se representan). Si más de un byte será transferido, los bytes deben ser inmediatos, o al lado de nosotros. Por ejemplo, usted no puede hacer un 24 traslado del bitque usa las combinaciones del byte 3 - 2 - 0 o 3-1-0.
Tabla2-1
Los límites superiores y más bajos de una 32 situación del bitson los palabra límites dobles. Los datos ser transferido pueden estar completamente dentro de los palabra límites dobles o pueden solapar uno de ellos. El datos transfiere involucrando bytes dentro de los palabra límites dobles se llama traslados alineados. Desde los datos en un traslado alineado está a una palabra dirección doble, y desde que una dirección se envía durante cada ciclo del autobús, los traslados alineados (si ellos son 8, 16, 24, o 32 pedazos) es cumplido en un ciclo del autobús.
Si los datos sean transferidos un palabra límite doble, el funcionamiento es un traslado del misaligned. Un traslado del misaligned puede involucrar 16, 24 o 32 él los datos se agrupan (dos tres o cuatro bytes). Figura 2-32 muestra dos 32 situaciones del bitinmediatas: 0004H y 0008H. Las direcciones del byte individuales también se muestran.
Figura2-32
Para un ejemplo de un traslado del misaligned, suponga el CPU escribe una palabra doble para dirigirse 0006H. Los dos bytes más bajos (2 y 3) se escribe en el byte se dirige 0008H y 0009H, qué está en palabra doble situación 0008H. El CPU transfiere byres primero a o de la dirección más alta, entonces la dirección más baja. El CPU necesita dos ciclos del buspara completar un traslado del misaligned. Se requieren dos ciclos del busporque un ciclo del busse necesita para cada palabra dirección doble.
Porque el byte habilita se usa para seleccionar situaciones del byte en memoria, usted puede considerarlos la parte del sistema dirigiéndose. De hecho, usted puede ver del diagrama cronometrando en figura 2 - 33 esa información en el byte habilite líneas es válido a él el mismo tiempo que la información de dirección es válida.
Figura2 - 33
El signo restante involucrado en un datos de memoria transfiere es rendimientos de estado W/R #, M/IO #, y mando entrada BS16 #(vea figura 2-34). El W/R #(escriba / lea #) el rendimiento es alto cuando el CPU ellos escribe datos a memoria o a I/O, y bajo cuando lee datos de memoria o I/O. El M/IO #(memoria / entrada rendimiento #) el rendimiento es alto cuando el traslado de los datos está entre el CPU y memoria; es bajo para los traslados entre el CPU y un dispositivo de I/O. El D/C #(los datos controlan #) el rendimiento es alto para los traslados de los datos y muge para la instrucción (mando) transfiere, como cuando el CPU lee una instrucción de la memoria.
Figura2-34
El 80386 microprocesador puede comunicar con dispositivos que operan en un 32 bito 16 busde datos de pedazo. Los BS16 #la entrada es usada por los 16 dispositivos del bitpara señalar el CPU para convertir a su 16 modo del pedazo.
Figura2 - 35 muestras cómo un 32 bit(U1) y un 16 bit(U2) el dispositivo de memoria se conecta al microprocesador. Todos los 32 momentos del busde los datos conectan a U1. sólo se conectan U2 a los 16 pedazos más bajos. Un sistema de memoria se diseña típicamente para que todos los 16 dispositivos del bitestén en una área del centain de memoria. Este plan permite la decodificación de parte del busde dirección para generar los BS16 #el signo.
Figura2-35
En el 16 modo del pedazo, los traslados de los datos ocurren sólo en los bytes del orden bajos, 0 y 1 (el datos linea D0 a través de D15) como mostrado en figura 2-36. El CPU puede manejar transfiere más de 16 pedazos así como el misligned transfiere, simplemente ejecutando ciclo del busadicional.
Figura2 - 36
EJERCICIO2 -3
LEA UN ESCRIBA CICLOS
DISCUSIÓN
Uno de dos tipos básicos de traslado de los datos puede ocurrir por un ciclo del autobús. Durante un ciclo leído, el datos se transfiere de memoria o I/O a él CPU, Durante un escriba ciclo, el datos se transfiere del CPU a memoria o I/O.
Figura2-59
Refiérase para figurar 2-60. El W/R #(escriba / Lea #) los rendimientos de estado determinan el tipo de ciclo que se ejecuta. Durante el mismo tiempo el CPU pone información válida sobre el busde dirección, él también los rendimientos el nivel apropiado para una era (bajo) o escribe (alto) ciclo. El W/R bajo #nivelado en la figura indique un ciclo leído.
Figura2-60
Cuando un dispositivo externo reconoce una dirección válida y el orden leído (w/R #bajo), responde poniendo sus datos en el busde los datos y RDY tendencia #bajo antes de T2 extremos. El CPU lee los datos entonces y termina el ciclo leído.
Figura2-61 es un diagrama cronometrando para un típico escriba ciclo, como indicado por el W/R alto #el nivel.
En un escriba ciclo, el CPU empieza emitiendo un ANUNCIOS bajos #el pulso y una dirección Válida. A mitad del camino aunque el T1 Ciclo, el Cpu escribe sus datos al busde los datos para que un dispositivo externo puede leer los datos. La información permanece en el busde los datos hasta la mitad del camino a través de T1 del próximo ciclo del autobús. Según el diagrama cronometrando en figura 2-61, RDY #se prueba mientras el datos es válido.
Figura2-61
Tabla2-2 muestras de las que hay tipos diferentes leyeron un escriba ciclos. Él también muestras que el tipo depende del M/IO #y D/C #el rendimiento además de W/R #. Cuando M/I #es bajo, un ciclo de I/O se ejecuta. D/C #siempre es alto durante un ciclo de I/O porque siempre se sacan instrucciones la memoria de la forma y nunca de I/O. El W/R #la línea determina si un ciclos de I/O son un datos leído (W/R #bajo) o un datos de I/O escriben (W/R #alto) ciclo. Cuando M/IO #es alto, el CPU ejecuta una memoria leída o la memoria escribe ciclo. Hay que dos tipos de memoria leyeron ciclos: el código de memoria leyó y los datos de memoria leyeron.
Tabla2-2
Un código de memoria leído ocurre cuando W/R #es bajo y el CPU saca una instrucción. Un datos de memoria leído ocurre cuando el CPU lee datos de la memoria.
El D/C #el signo determina si una memoria leyera que ciclo es un código de memoria leído (D/C #bajo) o un datos de memoria leyeron (D/C #alto).
EJERCICIO2-4
INICIALIZACIÓN de CPU
DISCUSIÓN
Es a menudo difícil a la punta de pinuna falta en un circuito del microprocesador porque muchas faltas diferentes pueden causar síntomas idénticos. Un síntoma común de un circuito de microprocesador de faulted es el fracaso claro del CPU para trabajar en absoluto. En este caso, es importante para usted saber las condiciones de signos importantes a un punto de arranque específico. El punto de arranque mejor para usar es el estado restableció del CPU.
Figura2-73 muestras cómo el activo - el signo RESTABLECIÓ alto al CPU se genera.
Figura2-73
Se conectan condensador c40 y resistencia R42 a la entrada del INVERSORpara formar un poder al circuito restableció. Cuando el poder se aplica primero, C40 mantienen un nivel de la lógica bajo a la entrada del inverter (RES #), comenzando un ciclo restableció. C40 empiezan a cobrar a través de R42 entonces. Cuando C40 cargo a al voltaje del umbral de la entrada del inversor, el rendimiento (RES) los interruptores. Esto termina el ciclo restableció. Mientras la tablero del circuito se impulsa a, usted también puede generar un restablezca apretando el INTERRUPTOR restableció. Cerrando el interruptor descarga C40 rápidamente a conecte con tierra a través de R40. Cuando el interruptor abre, C40 son de nuevo cargo a a través de R42, un RES cambia cuando el voltaje de umbral de entrada se alcanza.
El RES los alimentos señalados en un dispositivo de la lógica programable (PLD). UN PLD es se integra circuito (IC) eso puede programarse para una relación lógica específica entre sus rendimientos y entradas. En este circuito, los RES señalan en gated con CLK2 sincronizar un poder a restablezca o un botón del empujón restableció con el reloj de CPU. El signo del rendimiento resultante (RESTABLEZCA) se conecta a los CPU y otros dispositivos que requieren este signo. Para restablecer el microprocesador, o un poder a restablezca o un botón del empujón restableció es necesario.
Durante restablezca, el CPU suspende toda la actividad del busy juegos los rendimientos mostrados en Tabla2-4 a los niveles indicados.
Cuando usted restableció el CPU en su modo de la Carrera, usted no puede poder determinar si un fracaso debido a una falta del circuito ocurre durante restablezca, o después, cuando el CPU está ejecutando instrucciones. Determinar si un fracaso ocurre durante restablecieron, usted puede restablecer el CPU en su SOLO modo del CICLO. Este modo le permite examinar signos estáticamente y comparar sus niveles a aquéllos en Tabla2-4.
Tabla2 - 4
Los niveles del rendimiento de estado D/C #, W/R #, y M/IO #indique que un datos de I/O leyeron que ciclo ocurre (vea tabla2-5).
Tabla2 - 5
Para localizar una falta del circuito durante la que no se presenta restablecida, usted necesita saber lo después del que el CPU hace inmediatamente un restablezca.
Después de cada uno restablecido, el CPU saca una instrucción de la dirección de memoria FFFF FFF0H. El diseñador del sistema habrá puesto una instrucción a esta situación para que el CPU pueda empezar funcionamiento. En su tablero del circuito, esta instrucción es un salto a un programa de la inicialización, como mostrado en Figura 2-74.
Figura2-74
Después del salto, el CPU inicializa registros interiores y juegos a las áreas de memoria externas según las necesidades del sistema.
El CPU escribe la salida entonces al mensaje "Lab - el olt 32 bitu Proc. Entrenador" al LCD. Este mensaje es su puño indicación visual que el circuito está operando propiamente. Si el mensaje no aparece, el problema puede ser el rendimiento de estado impropio nivela a restablezca o un fracaso para ejecutar la instrucción del salto FFFF FFF0H. Después de escribir el mensaje del despliegue, el CPU entra en una vuelta y espera por usted apretar una interruptorde la función en el teclado pequeño. Ejecuta la función pedida entonces.
Una manera útil de descubrir faltas de circuito de inicialización es el el SOLO modo del CICLO de CPU. Este modo le permite caminar a través de un programa un ciclo del busen un momento. Durante el funcionamiento normal (EJECUTE modo), los CPU ejecutan ciclos del busque empiezan con un ANUNCIOS continuamente #el pulso y acaba con un RDY #el pulso. Figura2-75 muestras que el RDY #el signo al CPU puede venir de uno de dos fuentes: EXTRDY #(ESTernal Ready #) o PLDRDY #(PLD Ready #). EXTRDY #viene de un dispositivo que es externo a la tablero del circuito. PLDRDY #el rendimiento es el resultado del pulso bajo en o el EXTRDY #o el PLDRDY #la entrada.
Figura2-75
Figura2-76 muestras el PLD 8u24) y los signos asociaron con el SOLO modo del CICLO. El PLDRDY #el signo del rendimiento está en pin15. Encendiendo el SOLO interruptor del CICLO (S5) habilita el interruptor del PULSO (S7) y aplica un signo de la entrada a PLD fije 8. Estas acciones ponen el circuito en SOLO modo del CICLO. En modo del CICLO INDIVIDUAL, el PLD se programa para desactivar el PLDRDY #el rendimiento hasta un pulso se descubre de S7. Cada ciclo de S7 causa un PLDRDY #el pulso. El PLD también usa que los CLK señalan para sincronizar el funcionamiento del pushbutton con el CPU cronometrar. Cuando no se aprietan S7, el PLDRDY #el rendimiento es inactivo. El CPU no recibe un RDY #el signo y ruina en un estado de la espera.
Figura2 - 76
SOLO modo del CICLO usando, usted puede leer los 32 pedazos de dirección y 32 pedazos de los datos en forma binaria LEDs en la tablero del circuito. Los LEDs están en grupos de cuatro para que usted enlata asilo fácilmente ellos a los digitosdel hexadecimal. Los pedazos están en orden descendente de salió para corregir (Bitmás Significante (MSB) al BitSignificante (LSB)).
Algunas figuras en esta lección muestran todos los 32 momentos en seguida de un autobús, aunque usted puede ver sólo 16 pedazos en un momento. Los HIGH/LOW cambian cada uno LLEVADO casi el grupo le permite seleccionar el superior de amante cuatro bytes de cada autobús.
En el ejemplo debajo de, los bytes de dirección más significantes son 0111 1010(2) (7AH). La dirección completa es 7A3C F580H.
Figura
Para la práctica, convierta el 32 busde los datos LEDs en la figura en su hechizo equivalente.
MEMORIA INTERFACE
DISCUSIÓN DE PRINCIPIOS
La memoria es una parte importante de cualquier sistema del microprocesador. Se guardan las instrucciones que el CPU ejecuta en memoria, así como la información numérica como datos del sistema. Información de estado, y resultados de cálculos.
Figura3 - 1
Los dispositivos de memoria de semiconductor son Ics con una serie grande de situaciones de almacenamiento de datos. Se usan dos tipos básicos en sistemas del microprocesador: RAM (memoria de acceso de azar) y ROM (lea sólo memoria). El CPU puede escribir datos en el RAM y puede leer datos de él como mostrado en figura 3-2. Por su razón, el RAM se llama también memoria del read/write. La mayoría el RAM Ics (incluyendo aquéllos en su tablero del circuito) es volátil que los medios que cuando el poder está alejado, el datos guardado está perdido.
Figura3-2
Usted puede pensar en datos de ROM como guardarse permanentemente. Con algunos tipos de ROM, el datos se guarda durante el proceso industrial. Se fabrican otros tipos con datos pálidos. Usted puede acostumbrar un instrumento de la programación especial a cargar los datos antes de instalar el ROM en usted el circuito.
El tipo de ROM usado en su tablero del circuito es un EPROM (ROM Programable Borrable). el Datos se guarda en el EPROM por un instrumento de la programación especial ante el EPROM se instala en un circuito.
Usted puede cambiar datos de EPROM borrando el EPROM y reprogramándolo entonces. Para borrar el dispositivo, usted expondría la astilla (visible a través de una ventana clara encima del IC) a la luz ultravioleta de una intensidad específica, longitud de onda, y duración.
Una etiqueta de ID adhesiva normalmente cubre la ventana. La etiqueta identifica el programa y también previene raspadura accidental de datos bloqueando fuera el ambiente la luz ultravioleta.
Una vez el ROM está en su circuito, usted puede leer información del ROM, bur que usted no puede escribir a los datos en él. Porque un ROM retiene sus datos incluso él que el poder está alejado, es mejor guardar el programa del monitorpara la 32 BITMICROPROCESADOR circuito tablero en memoria de ROM debido a su no la volatilidad.
Figura3-4
El diagrama del bloque simplificado en figura 3-4 muestras que Apisonan y ROMs tienen la dirección y líneas de los datos a las que conectan el la dirección de CPU y autobúses de los datos. La información se transfiere a y de la memoria en el busde los datos. El CPU acostumbra el busde dirección a seleccionar la situación exacta en memoria donde el traslado ocurre. Un circuito del microprocesador puede tener muchos dispositivos de memoria. Parte del busde dirección en descifró para seleccionar una astilla de memoria particular o grupo de astillas en un momento. Los rendimientos del decodificador manejan astilla seleccione (CS) ' las entradas en cada dispositivo.
El 80386 CPU se diseña para trabajar con ambos 32 y 16 autobúses de datos de bitcomo mostrado en figura 3-6. Un sistema del microprocesador tiene a menudo áreas de memoria separadas por guardar datos en 32 - y 16 grupos del pedazo. En su tablero del circuito, el área del RAM se configura para 32 datos del pedazo. El área de ROM se configura para 16 datos del pedazo.
Higo 3-6
Tres de los PLDS(Programmable Lógica Dispositivos) en su tablero del circuito se usa por unir el CPU con memoria. El diagrama del bloque simplificado en figura 3-7 muestra estos PLDs y los signos asociados con interface de memoria. PLDs le permiten al diseñador del circuito reemplazar muchas otras verjas de la lógica y dispositivos con un solo IC.
Fig3-7
U24 y U27 función como un director del autobús. El director del buses necesario establecer el cronometrando apropiado y lógica para los traslados de memoria eficaces. U23 funciones como un líneas de dirección especifican una situación exacta dentro del bloque seleccionado. Los PLDs acostumbran signos del circuito del reloj a asegurar que sus rendimientos son síncronos con el CPU. El director del bususa CLK2 y CLK es común a ambos el buscontrolado y el decodificador de dirección.
El dirección descifrando se usa para configurar la memoria en una serie de bloques. El número de situaciones en un dispositivo de memoria es 2(a la n), donde n es el número de líneas de dirección.
Tablero 3-1
Por ejemplo, suponga 2 astillas del carnero tienen 13 dirección linea each(A0-A12) como mostrado en figura 3-5. La capacidad de cada uno es 2(a la 13), o 8192(8K), situaciones.
Higo 3-5
La próxima línea de dirección más alta (A13) puede usarse con un decodificador simple (el inversor) para seleccionar uno de dos 8k RAM. Un alto en A13 RAM 2 selecciona, y un bajo en A13 RAM 1 selecciona.
Si las próximas 2 líneas de dirección (A13 y A14) era descifre, usted podría seleccionar uno de cuatro (2 un la 2) 8K RAM. Si 3 líneas de dirección (A13, A14, y A15) se descifró, usted podría seleccionar 8RAMs, y así sucesivamente.
La memoria en su tablero del circuito consiste en RAM, monitorROM, y usuario ROM. Se usan tres de los rendimientos de decodificador de dirección para seleccionar uno de estos bloques para un traslado.
RAMSEL#(RAM SELect)enables transfiere a y del RAM.
MROMSEL#(Monitor ROM Select) habilita traslados del monitorROM.
UROMSEL#(User ROM Select) habilita traslados del usuario ROM.
El BS16#(Bus Tamaño 16) el rendimiento señala el CPU cuando un traslado involucra 16-bit dispositivos de memoria. ROM contiene 16-bit dispositivos.
Los rendimientos de director de busse derivan de los CPU estado rendimientos y signos del reloj. MWTC#/Memory escriben Orden) es activo cuando el CPU lee de la memoria. El director del bustambién genera el RDY #el signo al CPU..
SIGNOS de MANDO de MEMORIA
Del de Objetivo Ejercicio:
Usted de Cuando el ejercicio del este completo, capaz de será de usted del dato de un de describir, la dirección del una, y controlar las señales del dispositivo del memoria en un circuito microprocesador.
DISCUSIÓN
Los El bloque esquematico muestra el diagramas del la APISONAN y sus tipicas conexiones. Numero de El del lineas del dispositivo de del de direcciones del memoria tienen determinados numeros de la localización de la memoria. Numero de El del es de la localización 2(a la n), cuando el n es el numero de la dirección de la salida. Ejemplo de Por, los la APISONAN del tiene de figura de la 13 lineas del direcciones el puede de y, consiguiente del por localizar 8192(2 un la 13)direcciones.
Higo 3-8
Numero de El del líneas del datos determinan el tamaño de la localización del cada de la memoria. Las 8 líneas de la datos se muestran en la figura el indicando anterior 8 bitdel amplitud en las localizaciones para esta RAM. Configuración de Una del dispositivo del un del memoria está determinada por el numero del localizaciones multiplicada por el numero del sitio de por de pedazos. Los este de Para cortan del RAM, es de configuración de la (8192 sitios)X(8bits por sitio)=8KX8. el Esta practica es común en las hojas del datos del manufacturas, un partir de la los números en esa forma y ninguna multiplicación de la de ejecuta.
RAM también tiene contro del comunicarse de para de salidas contra el el microprocesador.CS1 y CS2 seleccionador del de es del del del salidas corta la de que de permiten el seleccione de CPU un medios de por de RAM del dato del un de la transferencia. La RAM el cuando de seleccionada de es CS1 esta en nivel bajos y CS2 contralto de en de está. En ese circuito, CS2 está puesto en contralto un traves de la resistencia del un tirar-a, los y la selección del cortan cumplida del es contra la señal del una el solo en CS1. LA WE(Habilitador de la escritura) la en la entrada especifica una operación del lectura cunado esta está en contralto la operación de y del escritura cuando esta está en bajo.
Los lineas de Las del datos del la APISONAN bidireccionales del hijo contra el salidas del estados del tres. Salidas de Las del tres estados hijo usadas en lineas del datos que permiten que el dispositivo se conecte al busdel datos. Señal de LA de la salida la OE es la habilitación de la salida. Cuando esto es activado(en bajo), los la APISONAN puede enviar datos al autobús. Cuando el OE es deshabilitada(Alto), los datos del los de la salida del la APISONAN hijo desconectados del busya que los pulidores de la tres estados están en alta impedancia.
SEÑALES del mando de la memoria:
El siguiente diagrama del una de esquematiza de bloque la ROM usando una tablero del parecida de muy de circuito un la del RAM del la. Líneas de Las del datos del la el ROM están etiquetadas desde O0 hasta O7 hijo de ellas de porque el solo salidas. LA la ROM mostrada en la figura 3-9 tiene la misma configuraciones del una APISONAN (8KX8) el por que esta tiene el mismo numero del líneas de la dirección el líneas de y del datos.
Los Del mismos modo que la APISONAN, LA el ROM también tiene un seleccionador de Chip(CS) el y un habilitador de la salida (OE), la del pero el tiene de ROM el solo seleccionador del un de la astilla para la salida. Un controlan de NOSOTROS de la salida ningún es necesario porque usted puede el solo datos de la mirada de soslayo contra el una ROM.
Figura 3-9
Cada 8KX8 de la Astilla del transfiere del RAM 8 pedazos en un tiempos. Como se observa en la figura 3.10 estas Apisona pueden combinarse para transfereir datos por encima de 32 pedazos en un tiempos. Las RAM el se conectan por las mismas 13 busde del de lineas del direcciones (A2-A14): el busde El del datos de 32 los se de los pedazos dividen entre en RAM de cuatro de las. Haga trampas 8 conectados de los pedazos del forma diferente por grupo.
Fig3-10
El Cuando el busdel direcciones se selecciona un sitio en el bloque del la APISONA, señal del la RAMSEL #el desde la dirección decodifica todas las actividades del los 4chip RAM.
La de Cuando que los CPU abrigo desde la APISONAN, MRDC #el registra un pulso bajo, el cual es apropiado para el busdel ciclos, el activa las salidas habilitando así las cuatro RAM.
Las Durante la operaciones de la escritura del la APISONAN, señal del la MWTC #el activa el tiempo apropiado para el busdel ciclos. Para cualquier byte usado en una transferencia, el correspondiente byte habilita las salidas(BEO-BE#3)quedando activos. El byte habilitado se ingreso contra MWTC #el la de activar de para NOSOTROS el RAM de seleccionador de del. Ejemplo de Por, si MWTC #el activo del es el si de y BEO #y BE1 #el están en estado bajo y BE2 #y BE#3 contralto de en de están, solo U34 y U35 datos del recibirán.
Los Cuando las cuatro APISONAN se conectan como se muestra en la figura 3-10, estos forman una nueva configuración, el las cuales usted aún puede calcular por medio del numero del de multiplicar del localizacion por el nuemero del lineas del datos. Los Puesto que las APISONAN mismas de las de forman 13 lineas del direcciones, numero del el del aún de es de localizaciones 2(a la 13) ó 8K. Hijo de Ahora 32 lineas del datos, configuración de la de asó el es 8KX32 total.
Direcciones de Las el y el busdel datos, se conectan las dos al CI ROM(U36yU37) la tablero del la del es del circuito similar un la del la Apisona como se muestra en la figura #3-11. Ambos el Rom usan lineas del direcciones de A1 hasta A13. Siempre de Como, solo 16 lineas de datos(D0 hasta D15) el se requieren puesto que la la ROM en la tablero del circuito es configurado para 16 pedazos.
Las configuraciones de LA suman del las la Rom conectadas se muestra en la figura 3-11 es del esta de 8KX16.
Higo 3-11
Cuando el busde la direcciones especifica un sitio en la memoria ROM, signo del el MROMSEL #el desde la dirección decodifica los y activa el supervisan al seleccionador del del de la astilla ROM. MRDC #el activa el tiempo apropiado en el ciclo del lectura para que las salidas del la el ROM sean habilitadas. Cuando las salidas del la el ROM se habilitan, la los puede de CPU miran de soslayo las de desde de datos ROM.
Bloque de El del corresponde de ROM un dos la CI vacantes en la tablero del circuito(ver higo 3-12). el Usted puede instalar su propia el ROM para almacenar programas el datos de y. Las conexiones hijo iguales un el de por de esas supervisan al ROMS excepto el seleccionador del por de guiado de astilla UROMSEL #.
Higo 3-12
SEÑAL DE MANDO DE MEMORIA
Si usted sospecha un fallo, o virus en el circuito de la memoria, el usted indicaría este en un modo sistemático porque sería muy grande el número del conexiones un evaluar. LA primera referencia para observar la falla es inicializar la CPU. Si al encender la pantalla aparece un mensaje, es que los la del que probables unen del ROM esté parcialmente operando. Por el recuerdo, la usted puede asumir una dirección, dato, que y controlan del SEÑAL para que la el funcione de ROM.
Si el mensaje del startup no aparece después un restablezca, usted puede empezar a poner a punto solo-caminando a través del código de ROM inicial saque y verificando el sepa los datos y información de dirección mostradas en figura 3-13. Empezando a la dirección FFFF FFF0H, el datos es EA 02 00 01H.
Si usted accede a una inscripción la instrucción de programa de amonestador, usted puede seguir el programa a través de cualquiera deseó número de instrucciones. En este ejercicio, usted puede limitar sus observaciones a los primeros pocos bytes.
Higo 3-13
EJERCICIO3-1
La primera dirección (FFFF FFF0H) y los primeros 2 bytes de los datos (02EAH) se muestra debajo cuando ellos aparecerían en el LEDs. El byte aparece en el derecho porque el CPU transfiere el primer byte en las 8 líneas de los datos más bajas.
Lo siguiente LLEVÓ los modelos podrían aparecer si varios errores estuvieran presentes durante la primera instrucción saque. El byte de dirección más significante debe ser FFH, pero los LEDs indican FBH. Usted puede ver que los A26 LED es fuera de que podría indicar que la línea de dirección es o abra o shorted a conecte con tierra.
El byte de dirección significante debe ser F0H, pero es muestras a como F4H UNA posible causa para el error es A2 shorted a Vcc.
El byte de los datos más significante debe ser =2h, pero se presenta como 0AH posible causa para el error es D11 Shorted a Vcc.
Nota: Cuando una dirección incorrecta ocurre, la situación de memoria mala se selecciona y usted verá datos que son completamente diferente de lo que usted esperó probablemente. EAH se indica aquí como los datos correctos a la dirección incorrecta (FBFF FFF4H) para sólo el ejemplo.
Si usted no encuentra ninguna falta en el ROM una, usted puede verificar la interface del RAM hasta cierto punto ejecutando el programa mostrado en figura 3-14. La primera instrucción escribe AAAA AAAAH a los datos a EAX, uno del los registros interiores de CPU. Luego el CPU escribe situación 5000H a los volúmenes de EAX RAM, complementos los datos del registro, y escribe los datos complementados (5555 5555H) para APISONAR situación 5004H.
HIGO 3-14
El CPU lee los datos entonces del RAM dirección 5000H y tiendas él en EBX (otro CPU registra): Entonces CPU lee del RAM dirección 5004H y tiendas él en EBX, y salta para repetir el ciclo atrás. Los datos a la dirección 5000H alternante entre AAAA AAAAH y 5555 5555H para cada paso a través de la vuelta.
El programa es útil para verificar la interface del RAM porque lee de y escribe para APISONAR situaciones. Caminando a través del programa en SOLO CICLO, usted puede observar los traslados y puede verificar dirección y información de los datos sobre el LEDs. Los datos AAAA AAAAH era escogido porque tiene un fácilmente el modelo reconocible de alternos y ceros (101010...). Cuando el datos se complementa, el resultado es un modelo alterno de ceros y ones (010101...). Con estos modelos desplegados en el LEDs, usted puede verificar todo el datos linea mancha rápidamente un bitincorrecto.
El programa de prueba de Carnero se guarda en el monitorROM para su uso poniendo a punto la interface del RAM. USTED puede accederlo saltando para dirigirse FFC0 0000H con un teclado pequeño <VA> el orden.
Usted también puede acostumbrar Tabla3-2 a verificar mando inicial las condiciones señaladas durante restablezca. Sin embargo, las líneas de los datos están en una condición del tristate durante restablezca y sus niveles pueden ser difíciles de interpretar con una sonda de la lógica o osciloscope. Por esta razón, usted debe usar simplemente los métodos describieron para verificar el RAM y ROM une para los errores de busde datos.
Tabla3-2
Algunos otros signos importantes usted el cheque del canto durante restablezca es los rendimientos del director del busy decodificador de dirección PLDs. Tabla3-3 muestra estos signos así como qué signos como rendimientos de CPU y qué es rendimientos de PLD. Usted puede verificar los niveles en la tablacuando el interruptor RESTABLECIÓ se aprieta y se sostiene.
Tabla3-3
Algunos de los signos en un circuito del microprocesador se derrotan a muchos dispositivos diferentes como mostrado en Figura 3-15. Por ejemplo, en su tablero del circuito, algunos o todas las líneas de busde datos conectan al CPU, todos los RAM, todo el ROMs, que los LCD despliegan, los paseos LLEVADOS, un DAC, y ADC, circuitería de I/O, y a los conectores para la circuitería externa. Usted debe verificar a menudo un signo a varios puntos diferentes en el circuito confirmar por esta razón, que está funcionando propiamente.
DECODIFICACIÓN de DIRECCIÓN de MEMORIA
EJERCICIOOBJETIVE
Cuando usted ha completado este ejercicio, usted podrá describir la dirección de memoria que descifra sistema que se usa para seleccionar bloques individuales de memoria.
DISCUSIÓN
U23 son las funciones de PLD como el decodificador de dirección de memoria en su circuito (vea Figura 3-26). Las líneas de dirección que se descifran son A17 y A18. El PLD produce el bloque de memoria selecto señala RAMSEL #, MROMSEL #y UROMSEL #, así como los BS16 #el signo. BS16 #es activo para MROM y " traslados de UROM.
Figura3-26
U23 usos los ANUNCIOS de los signos #y CLK para sincronizar y activar el bloque selecciona en el momento apropiado por el ciclo del autobús. M/IO #es incluido para asegurar ese RAM y ROM sólo se selecciona para los traslados de memoria, no para los traslados de I/O.
Figura3-27 muestras los primeros 20 pedazos de dirección (A0 a través de A19) del 32 busde dirección de pedazo. Cada grupo de cuatro pedazos comprende uno hechiza dedo, y hay cinco digitosdel hechizo (DIG0 a través de DIG4): se descifran A17 y A18 para producir el bloque de memoria los signos selectos.
Higo 3-27
Tablade La en figura 3-27 muestras que el bloque del RAM se selecciona cuando A17 y A18 son ambos 0. El bloque seleccionó cuando A17 son que 1 y A18 es 0 no se usa en su tablero del circuito. Usuario que ROM se selecciona cuando A17 y A18 son ambos 1.
El número de situaciones del byte en cada bloque es determinado por los 17 momentos de dirección más bajos (A0 a través de A16) como sigue:
#de situaciones del byte = 2(a la 17)=131,072(128K)
Hay cuatro bytes subsecuentemente en un doubleword, el bloque del RAM contiene 32,768 (32K) las situaciones del doubleword.
Tabla3-5 muestras que el bloque selecciona cuando ellos relacionan al valor de dirección del hechizo dedo 4 (A16-A19). Usted puede acostumbrar la tablaa determinar el rango de dirección de byte de cada bloque -
Tabla3-5
Por ejemplo, la primera dirección del RAM ocurre cuando dedo 4 es que 0H y todos los pedazos de dirección más bajos son 0. Por consiguiente, la primera dirección del RAM es 0000H. La última dirección del RAM ocurre cuando dedo 4 es que 1H y todos los pedazos de dirección más bajos son 1. Por consiguiente, la última dirección del RAM es 1FFFFH. Semejantemente. el rango del monitorel bloque de ROM es 60000H a 7FFFFH. En la primera dirección, dedo 4 está 6H y todos los pedazos de dirección más bajos son 0. En la última dirección, dedo 4 está 7H y todos los pedazos de dirección más bajos son 1.
El bloque va usted determinó puede mostrarse gráficamente en un mapa de memoria. Un diseñador del sistema acostumbra a menudo un mapa de memoria a guardar huella de asignaciones de bloque de memoria. Las primeras últimas direcciones del byte se muestran en figura 3-28 para cada bloque en memoria.
Usted determinó que el tamaño del bloque del RAM es 128Kbytes, excepto el RAM ellos corta ocupe 32 Kbytes.
Porque A15 y A16 como no descifró, la 32 sección del Kbyte de RAM parece ser repetida varios tiempos dentro del 128 bloque del Kbyte.
Figura3-29 muestra pedazos A15 a todo las combinaciones de dirección a través de A18 eso ocurra en el reloj del RAM. Recuerde que A17 y A18 siempre son 0 en el bloque del RAM. Hay cuatro posibles combinaciones 2(ala 2) de A15 y A16. Figura3-30 Muestras el bloque del RAM entero (0000H a través de 1FFFFH). Si usted asume que los valores de A15 y A16 son 0, usted puede pensar en las astillas del RAM como residir en la primera sección (0000H a través de 7FFFH).
Figura3-29, 3-30,
Cuando A15 son que 1 y A16 es =; la segunda sección (8000-17FFFH) se selecciona. Porque el busde dirección sólo se descifra parcialmente, el CPU no reconoce la segunda sección como un separado sino como una imagen de la primera sección. Esto significa ese datos contenidos a una dirección en la primera sección (por ejemplo, 0123H) el contralto aparece a la dirección correspondiente en la segunda sección (8123H).
Semejantemente, las otras dos combinaciones de A15 y A16 corresponden a dos secciones de la imagen adicionales. Por ejemplo, 8ABCH, 18ABCH,10ABCH son todas las imágenes de dirección 0ABCH, aunque ellos aparecen en secciones del RAM diferentes.
El número de pedazos de dirección de undecoded (n) determina el número de secciones (2 un la n) un un bloque de memoria. En el bloque del RAM, los 2 undecoded se dirigen pedazos (A15 y A16) el resultado en 4 (2 un la 2) las secciones.
Allí en los bloques de ROM tres undecoded se dirigen klines (A14, A15, y A16). hay 8 (2 un tres del la) las secciones en cada bloque de ROM (Vea Figura 3-31).
Figura3-32 muestras la dirección pedazos A14 a través de A18 en el monitorel bloque de ROM. En este bloque, A17 y A18 son siempre 1. la Figura 3-33 muestras el 128 monitordel Kbyte entero el bloque de ROM (60000H a través de 7FFFFH). Las ocho posibles combinaciones de A14 a través de A16 resultado en ocho acciones dentro del bloque de ROM.
Figura3-32, 3-33,
El bloque del RAM y el monitorel bloque de ROM es ambos 128 Kbytes en tamaño.
Sin embargo, el bloque del RAM tiene cuatro secciones (Vea Figura 3-34) y el monitorel bloque de ROM tiene ocho secciones. El RAM tiene menos secciones porque las situaciones del RAM tienen 4 bytes cada uno y las situaciones de ROM tienen 2 bytes cada uno.
Figura3-34.
La 13 dirección linea A18 anteriormente (A19 a través de A31) tampoco se descifra. Esto significa eso hay imágenes adicionales sobre el primer bloque, como mostrado en figura 3-35.
Higo 3-35
De hecho, usted puede pensar en el espacio de memoria entero entre el primer bloque de memoria y la última dirección de memoria (FFFF FFFFH) como empieza llenado con imágenes del primer bloque de memoria. Usted puede determinar el número de tiempos el primer bloque de memoria. usted puede determinar el número de tiempos que el primer bloque es repetido por el número de líneas del undecoded sobre A18.
#de repite = 2(a la trece)=8192
Al tratar con una dirección de la imagen, a veces es conveniente convertir la dirección a su dirección correspondiendo en el primer bloque de memoria. La dirección convertida tiene menos digitosdel hexadecimal y los pedazos binarios, y es conveniente pensar en todas las direcciones como las que se usan empieza se concentrado en el una área más pequeña.
Por ejemplo, figura 3-36 muestras cómo usted puede convertir la dirección de imagen de RAM 6789 ABCDH a su dirección correspondiendo en el primer bloque. Desde que la dirección linea A19 y a no se usa, usted puede asignar un valor de 0H a los tres digitosdel hechizo más significantes. Estos digitos(6,7,a 8) se tacha en la figura. Escriba 3 y 4 al equivalents binario de dedos. Estos digitoscontienen los pedazos del undecoded restantes en el busde dirección (A15, A16, y A19 para el RAM, y A14, A15, A16, y A19 para ROM).
Higo 3-36
Ponga los pedazos del undecoded a 0. Derrumbe los pedazos restantes sin cambiarlos. Convierta los valores binarios alterados a nuevos valores del hechizo por los digitos3 y 4. Derrumbe tres digitossignificantes sin cambiarlos. Convirtiendo la imagen a su dirección correspondiendo en el primer bloque, usted ha reducido el número de digitosdel hechizo y los pedazos binarios.
PROCEDIMIENTO UN -
OBSERVANDO EL BLOQUE de MEMORIA los RENDIMIENTOS SELECTOS
Para observar el bloque del decodificador de dirección los rendimientos selectos, usted puede usar el RAM interface pruebas programa. Este programa involucra traslados en el RAM y " monitorROM bloquea y le permite observar el RAMSEL #y MROMSEL #los signos de PLD U23(see Figura 3-37),
Higo 3-37
TRASLADOS de DATOS de MEMORIA
Discusión
Cuando usted ha completado este ejercicio, usted podrá describir 16 y 32 datos de memoria de bittransfiere en un 80386 circuito del microprocesador.
Para entender la diferencia entre 16 y 32 bittransfiere y RAM y ROM transfiere, usted puede examinar las conexiones de busde dirección de su circuito.
Usted vio en Unidad 2 que el CPU genera dirección rendimientos A2 a través de A31. Los dos pedazos de dirección significantes, A0 y A1, generan el cuatro byte internamente habilite signos (BEO #a través de BE3 #). En este circuito, PLD U20 descifra el byte permite generar A0 y A1 para el uso a través de otros dispositivos externos. no se usan A0 por el memoria dirigirse, pero A1 son parte de la dirección de ROM.
Higo 3-47.
Tabla3-8 muestras los valores decimales para las combinaciones de los tres prados los pedazos de dirección de byte significantes (A0 a través de A2).
Tabla3-8.
Porque una sucesión contando binaria se sigue, usted puede ver que UN cambios a cada paso, A1 cambios a cada segundo paso, y A2 cambios cada cuarto paso. A2 son el bitmás bajo necesitó dirigirse RAM porque el RAM se configura para el doubleword (4 byte) el almacenamiento. A1 son el bitmás bajo necesitó dirección ROM porque ROM se configura para la palabra (2byte) el almacenamiento. Usted puede dirigirse bytes individuales usando byte habilita.
Mostrado en figura 3-48 es el primer 2 doubleword se dirige en RAM y las primeras 2 palabra direcciones en monitorROM. Aviso cómo usted puede usar que el byte permite dirigirse bytes individuales dentro de un doubleword del RAM. BEO #a través de BE3 #no se dirige bytes de ROM directamente en su circuito. Los dos de los bytes más bajos siempre se transfieren cuando el CPU lee de ROM.
Higo 3-48
El esquemático de las muestras de sección de RAM que el byte habilita signos, el gated con MWTC #, maneje el RAM escriba habilite entradas (vea Figura 3-49). Basó en esta información, usted puede concluir que el byte habilita se usa para el RAM escriba ciclos, pero ni para el RAM ciclos leyeron. En un RAM ciclo leyó, el CPU activa el byte apropiado habilite signos, pero los signos no se usan en este circuito.
Higo 3-49
El CPU lee aflija 32 datos linea cuando lee del RAM. Dependiendo de la instrucción que ejecutándose, el CPU selecciona sólo el byte(s internamente) requirió para el funcionamiento a ser realizado.
En unidad 2, usted vio que un 32 misalingned del bitAPISONAN traslado (cuando el datos solapa un límite del doubleword) requiere dos ciclos del autobús.
La situación del doubleword más alta se dirige primero, con el byte apropiado habilita activo. El doubleword más bajo se dirige en el segundo ciclo y usa el byte apropiado una vez más habilita. Misaligned transfiere también puede ocurrir en ROM, pero la alineación es referenced al palabra límite.
Porque el área de ROM es dos bytes ancho, un 32 traslado del bitpuede solapar un o dos palabra límites. Si un palabra límite se cruza como mostrado en Figura 3-50(a), se requieren dos ciclos del buspara el traslado. Si el doubleword cruza dos palabra límites como mostrado en Figura 3-50(b), el traslado toma tres ciclos del autobús, uno para cada palabra dirección involucrada.
Higo 3-50 un y b
Porque los traslados de ROM se limitan a los 16 datos más bajos linea, deben darse consideraciones especiales a los traslados de más de 16 pedazos o para 16 traslados de misaligned de pedazo.
En estos casos, el CPU lee datos en las 16 líneas más bajas (HAGA a través de D15) que normalmente seguiría leyendo las 16 líneas superiores (D16 a través de D31).
Un traslado normal de uno o los dos del byted de los datos más bajo ocurre adelante HAGA
Figura3-51
Si un traslado involucra un byte del datos de D24 a D31, el datos aparece en D8 a D15 (BE1 #y BE3 #activo). Si un traslado involucra un byte del datos de D16 a D23, el datos aparece en D0 a D7 (BE0 #y BE2 #activo). Si el traslado requiere dos ciclos del autobús, el byte habilita determina qué bytes se leen en que ciclo.
Tabla3-9 muestras los estados del byte habilitan para uno - y dos-ciclo BS16 #transfiere dentro de una situación del doubleword.
Tabla3-9
Las muestras de la tablaque un segundo ciclo no se requiere si el traslado involucra un byte o dos bytes alineados (ambos bytes superiores o los dos los bytes más bajos).
Un BS16 #el traslado requiere dos ciclos del bussi los bytes son misaligned.
En traslados del dos-ciclo, los bytes más bajos se transfieren en el primer ciclo.
El CPU prueba los BS16 #el rendimiento durante el segundo medio (T2) del ciclo del bus(vea Figura 3-52). Esto significa que el CPU empieza el ciclo sin saber si el traslado será 16 o 32 su. Si el CPU prueba BS16 #bajo durante T2, pone el tamaño del busa 16. Si BS16 #se prueba alto, el CPU pone el tamaño del busa 32.
Higo 3-52
Por una instrucción del salto, el CPU puede ir a cualquier cuatro byte en una situación del doubleword (vea figura 3-53). Sin embargo, cuando el salto se ejecuta, la dirección enviada en el busde dirección siempre es la primera dirección del byte del doubleword. Cuando el CPU se dice para saltar a cierta situación del byte, la dirección en el buses un múltiplo de cuatro.
Figura3-53
UNIDAD 4
UNIDAD OBJETIVE
En la realización de esta unidad, usted estará capaz a demostrate que los signos necesitaron transferir datos entre los 386 COU usando la 32 bitmicroprocesador circuito tablero y sus componentes del input/output asociados.
DISCUSIÓN DE PRINCIPIOS
Acceder y usar las capacidades del CPU, usted debe ser capaz a la entrada y información del rendimiento a y del CPU. Este proceso se llama input/output uniendo, o I/O uniendo. El CPU siempre es el punto de la referencia cuando usted usa la entrada de los términos y rendimiento.
La 32 bitMICROPROCESADOR circuito tablero tiene un mapa de memoria y un mapa de I/O, como mostrado en figura 4-1. Todos los puertos de I/O se acceden del 64K mapa de I/O. Por consiguiente, acceder los dispositivos de I/O, usted debe usar EN y Fuera las instrucciones como opuso a instrucciones de MOV que acceden el mapa de memoria.
Higo 4-1
Figura4-2 muestras un diagrama del bloque del sistema. El decodificador de I/O usa la dirección linea A4, A5, y A6 más el mando señala ANUNCIOS #, M/IO#,IORC #; y IOWC #para habilitar los puertos de I/O diferentes.
figura4-2
Como muestras en Figura 4-3. La 32 bitmicroprocesador circuito tablero tiene 6 input/output bloquea, o puertos de I/O. Cada puerto de I/O tiene un rango de dirección específico para accederlo.
El despliegue le proporciona información al usuario. El puerto de serie es acostumbrado consecutivamente a la entrada y datos del rendimiento con otros dispositivos externos. El director de la interrupción periférico (PIC) proporciona 8 entradas de la interrupción externas. Se cubren interrupciones en una unidad separada. El DAC(Digital el conversor analógico) proporciona un rendimiento analógico. El ADC (conversor analógico-a-digital) proporciona una entrada analógica. El PPI(programmable la interface periférica) las interfaces el teclado pequeño 8 bitel puerto paralelo, y signos digitales externos al CPU.
HIGO 4-3
PPI Y INTERFACE del TECLADO PEQUEÑO
DISCUSIÓN
La interface periférica programable (PPI) se usa para unir dispositivos externos al CPU. Como figura 4-16 muestras, el PPI contiene tres 8 puertos del bitprogramables. Las interfaces de puerto de PAPÁ el teclado pequeño y la PRUEBA se ZAMBULLE interruptor. El puerto de PB conecta a JP6 y se usa como un 8 bitel puerto paralelo. El puerto de PC se usa para el mando (handshaking) los signos con el PAPÁ y puertos de PB.
Higo 4-16
Como Figura 4-17 muestras, el PPI conecta a las líneas de los datos CO a través de D7 que son byte 0 del busde los datos. Diríjase entradas que A0 y A1 seleccionan uno de los tres puertos o la palabra del mando. El CPU puede programar los puertos enviando una palabra del mando que define el funcionamiento de los tres puertos. Tabla4-1 muestras eso para acceder la palabra del mando, los dos que la dirección linea A1 y A0 son altos.
Higo 4-17
Refiérase para figurar 4-18. La inicialización del monitorlos juegos rutinarios el PPI PAPÁ puerto como un puerto de entrada de strobed. El puerto del PAPÁ se lee cuando un pulso (estroboscópico) el signo se aplica a PC4. Cuando la desviación de NORM/TEST está en la posición de la PRUEBA, el interruptor de la ZAMBULLIDA que S3 escena se lee en PA4-PA7 durante la inicialización. Los interruptor poniendo pueden usarse para ejecutar una rutina de la prueba entonces. Cuando la desviación de NORM/TEST está en la NORMA la posición, la rutina de la inicialización normal se corre, y el mensaje salida-despierto se despliega. La inicialización el puerto del PAPÁ persigue fijo como una entrada, y el código importante se lee en PAO-PA3 después de un cierre importante se da cuenta de.
Higo 4-18
La interruptorexamina signo (KSCLK) es un signo del reloj libre-corriente de aproximadamente 260Khz. Como Figura 4-19 muestras, PLD U20 genera el signo de KSCLK.
Figura4.19
IC U 40 en figura 4-20 es un uno-tiro del retriggerable dual.
El signo de KSCLK guarda retriggering U40A para que los restos señalados ESTROBOSCÓPICOS alto. Cuando usted aprieta una llave, U40A pin2 va bajo y los KSCLK señalan ya no puede activar U40A. El uno disparó tiempos puestos y el signo ESTROBOSCÓPICO va bajo. Los restos ESTROBOSCÓPICOS bajo hasta que usted suelte la llave.
Higo 4-20
Cuando el signo ESTROBOSCÓPICO va bajo, el puerto del PAPÁ los datos en las líneas del PAPÁ. Refiérase para Figurar 4-18 de nuevo. El datos linea PA0 por PA3 contenga el código importante. Después de que los ingresos señalados ESTROBOSCÓPICOS alto, el CPU lee los datos en el PAPÁ ponga a babor y procesos él. Los convertido de programa de monitorel código importante al valor de la interruptorapretado. Por ejemplo, la 1 interruptorgenera el código FH o 111. Este código se convierte a 1H, o 0001.
El puerto de PB se inicializa como un puerto del rendimiento y es accesible a las jp6. Con este puerto, pueden escribirse datos del CPU a un dispositivo externo, como una copiadora o 8-bit dispositivo paralelo.
El puerto de PC se inicializa para el mando y signos de estado. Los signos en el PC ponen a babor que los alfileres dependen de la configuración del PAPÁ y puertos de PB. En la 32 bitMICROPROCESADOR circuito tabla, el puerto de PC se usa para el mando (handshaking) los signos con el PAPÁ y puertos de PB.
Despliegue y el Puerto De serie
DISCUSIÓN
El despliegue en la 32 bitMICROPROCESADOR circuito tabla, mostrado en figura 4-26, es un 16 carácter a través de 2-line despliegue de cristal líquido (LCD). Cada carácter es formado por un 5 a través de 7 matriz del punto. El generador del carácter forma el despliegue y determina qué puntos son visibles formar un carácter. El código del hechizo escrito al despliegue determina el carácter que es crated por el generador del carácter. Apéndice UN muestras el juego del carácter completo para el despliegue.
Figura4-26
Refiérase para Figurar 4-27. Para acceder el generador del carácter, el registro selecciona (RS) línea conectada a A2 debe ser alta cuando DP_EN es activo. El despliegue se conecta a byte 1 del busde los datos (el datos linea D8 por D15). A0 deben ser altos escribir o rad byte 1 del busde los datos.
Higo 4-27
Los convertido del puerto de serie un byte paralelo de datos a un datos de serie ata con el bitsignificante transmitido primero. Vea Figura 4-28 (próxima página). la SALIDA (lógica 0) y DETIENE (lógica 1) se agregan pedazos para identificar el principio y extremo de un byte del datos. El cordón de los datos de serie se usa para comunicar con otros dispositivos del folletín externos. El puerto de serie también recibe a un byte de serie y convertido él a un byte paralelo. La SALIDA y DETIENE los pedazos son despojados por el receptor que deja sólo los pedazos de los datos. El puerto de serie es bidirecci9nal. Pueden recibirse datos a través del puerto de serie así como transmitió.
Figura28
La lógica nivela para los signos en la 32 bitMICROPROCESADOR circuito tablero es 5V signos. Una Lógica 0 iguala 0 v y lógica 1 iguala 5v.
Los RS-232C son una norma de comunicaciones. El puerto de serie en la 32 bitMICROPROCESADOR circuito tablero usa RS-232C niveles del signo. Estos niveles tienen un rango de +5v a +15v para la lógica 0 y -5v to-15v para lógica 1. Usted usará un valor nominal de +10v y -10v en esta unidad para simplicidad.
U15, mostrados en Figura 4-29, son un comunicaciones asíncronas unen adaptador (HACIA). Este IC se diseña para convertir datos paralelos a los datos de serie sobre todo. Inserta la SALIDA y DETIENE pedazos y transmite el signo de serie al rendimiento de TXD. UU15 reciben datos de serie al RXD fije y convertido él para parangonar datos. También realiza todas las funciones requeridas para comunicaciones de serie.
Higo 4-29
Refiérase para figurar 4-30 IC U7 es RS232C chófer y convertido los 5v niveles del signo a 10V y -10V niveles para el puerto de serie. IC U16 es un RS232C receptor y convertido los +10v y -10v niveles entrantes a 5v niveles del signo.
Higo 4-30
El título en la sección del puerto de serie se usa para configurar el DB 9 conector. Esto permite al puerto unir con cualquier RS-232c puerto. Estos signos son RS-232C niveles.
Unidad 5
Proceso de la interrupción
DISCUSIÓN DE FUNDAMENTALES
El CPU a veces debe suspender temporalmente funcionamiento de su programa principal para realizar otra función. El propósito puede ser reparar las necesidades de un dispositivo externo o responder a una condición del sistema interior.
El proceso de detener el flujo del programa normal para reparar otro requisito llamó una interrupción.
Cuando una interrupción ocurre, el CPU completa su instrucción actual y saltos a un programa especial llamó una rutina de servicio de interrupción (ISR) (vea figura 5-1). En la mayoría de los casos, cuando el ISR ha completado su tarea, el CPU devuelve al punto al que la interrupción ocurrió y reasume funcionamiento normal del programa principal.
Puesto que una interrupción puede ocurrir a cualquier punto en un programa, el CPU debe tener una manera de guardar huella de donde debe volver después de completar una rutina de servicio.
Higo 5-1
El segment(CS del código) y indicador de la instrucción (IP) los registros siempre contienen la dirección de la próxima instrucción en ser sacada por el CPU. Cuando una interrupción ocurre, el CPU ahorra que los volúmenes del CS-IP registran par antes de saltar al ISR. Durante un retorno, los volúmenes originales se restauran a CS y IP, y curriculum vitae de ejecución de programa de la próxima instrucción.
Las banderas (FLG) también se ahorran volúmenes del registro durante una interrupción porque este registro contiene información de estado importante sobre el programa principal.
El CS y IP registran se guarda información en una área del RAM sepa como una PILA (vea higo 5-2). La pila se usa para el almacenamiento secuencial en varios funcionamientos del microprocesador, incluso el proceso de la interrupción. La próxima dirección disponible en la pila a cualquier punto se contiene a tiempo en el segmento de la pila (SS) y pointer(SP de la pila) los registros.
El monitorinicializa la pila cargando una dirección de arranque en el SS/SP registro par. Esta situación de la inicial es el fondo de la pila. Usted también puede cambiar la situación de la pila cambiando los volúmenes de SS/SP.
Para usar la pila, el CPU primero el decrements el indicador de la pila para apuntar a la próxima situación disponible y inserta datos allí. Esta situación es la cima de la pila. Cuando más datos se agrega, la última situación escrita a se vuelve la cima de la pila. En Higo 5-2, el decrements de indicador de pila a través de 2, indicando ese datos se guarda en palabras.
Doubleword también puede guardarse a la pila en que el caso el indicador de la pila habría decrement a través de 4. Datos que está alejado de la pila se toma de la cima de la pila, y el indicador de la pila se incrementa.
En terminología del microprocesador, agregando datos a la cima de la pila es un funcionamiento del empujón. El datos quitando de la cima de la pila es un funcionamiento del estallido. El último datos que usted agrega a la pila es el primer datos en ser quitado.
La pila en higo 5-2 se llama un último-en primero fuera (LIFO) la pila porque el último datos en el que usted empujó es el primer datos en ser hecho estallar fuera.
El 80386 microprocesador tiene EMPUJÓN y instrucciones del ESTALLIDO, pero la manipulación de la pila se maneja automáticamente cuando las interrupciones ocurren.
HIGO 5-3
Cuando la interrupción ocurre, el CPU empujó automáticamente que los FLG, CS, y IP registran volúmenes hacia la pila. La rutina de servicio se ejecuta entonces según el tipo de interrupción. Al final de la rutina de servicio, el CPU hace estallar la información fuera de la pila en orden de la marcha atrás (Último-en-primero-fuera).
Las interrupciones pueden venir de uno de dos fuentes: Interrupciones del hardware o excepciones. Una interrupción del hardware es un signo de la interrupción de un dispositivo externo. Las interrupciones del hardware no son necesariamente síncronas al reloj del sistema. Una excepción resulta cuando el CPU descubre ciertas condiciones interiores. Puesto que todos los signos interiores son referenced al reloj del sistema, las excepciones son eventos síncronos.
Dos entradas (INTR y NMI) se mantiene en los 80386 CPU el hardware interrumpe (vea higo 5-4). Un tipo de interrupción del hardware ocurre cuando un nivel de la lógica alto se aplica a la demanda de la interrupción (INTR) la entrada.
Se llaman signos a la entrada de INTR Maskable interrumpe porque ellos pueden desactivarse ("enmascaró fuera") dependiendo del estado de los pedazos en el registro de FLG.
Higo 5-4
El registro de FLG se muestra en figura 5-5. Dieciocho de sus 32 pedazos están disponibles al programador. Cada momento indica o controla el estado de una condición del microprocesador diferente.
Higo 5-5
Bit9 en el registro de FLG es la interrupción habilite bandera (SI). Cuando el bites fijo (IF=1), la entrada de INTR se habilita. Cuando el bitse aclara (IF=0), la entrada señala en INTR se ignora. Las interrupciones del maskable se enmascaran cuando SI se aclara.
El CPU a veces pone o aclara el SI el bitbasara en ciertos funcionamientos interiores. Usted también puede controlar el bitcon la interrupción fija (STI) y claro interrumpió o para prevenir interrupciones extensas mientras una rutina de servicio de interrupción está corriendo.
El otro tipo de interrupción del hardware es el no-maskable la interrupción (NMI). Un NMI signo causas una interrupción sin tener en cuenta el estado del SI la bandera.
La entrada de NMI normalmente se usa para una condición de la interrupción prioritaria. Por ejemplo, un circuito externo que descubre un fracaso de poder impidiendo puede señalar el CPU vía la entrada de NMI. Los CPU correrían un ISR especial que inmediatamente ahorra inmediatamente ahorra datos del sistema importantes y lugares el hardware en una condición segura antes de poder está perdido.
Las excepciones son interrupciones que son generadas por condiciones de CPU interiores. Se muestran LOS tres tipos de excepciones en tabla5-1.
Tabla5-1
EN unidades anteriores, usted ha visto instrucciones del salto en que el dirigirse se especificó como parte de la instrucción. El para dirigirse para una rutina de servicio de interrupción (vea higo 5-6) se deriva de un número de tipo de interrupción.
El 80386 microprocesador tiene 256 tipos de la interrupción. Cada uno se asigna un número del tipo de 0-255 base 10 (00-FFH).
Figura5-6
Tabla5-2 muestras las interrupciones con sus números del tipo decimales. Algunos de los números (15,17-31) es reservado para las funciones especiales, y usted no debe usar éstos. Los tipos restantes (eso no son reservados o no son el hardware interrumpe) es todas las excepciones. Cada tipo de interrupción puede tener una rutina de servicio diferente. Los números del tipo también usa determinan la dirección de arranque de cada ISR:
Tabla5-2
El CPU usa una tablaen RAM, Llamó una tabladel Vector (vea figura 5-7), para determinar dónde encontrar una rutina de servicio específica. Cuando el CCPU impulsa a en el modo real, la tabladel vector ocupa el primer 1 kbyte de RAM (000H-3FFH). La tablacontiene un vector para cada tipo de la interrupción. El vector apunta el CPU a la dirección de arranque de la rutina de servicio. Los hexadecimal se dirigen a que un vector se localiza iguala el número de tipo de hechizo multiplicado por 4, porque los números del tipo son consecutivos y cada dirección contiene un vector del cuatro-byte.
Figura5-7
NO-MASKABLE las INTERRUPCIONES
DISCUSIÓN
El circuito en Figura 5-8 muestras cómo el no-maskable la interrupción (NMI) el signo se genera al CPU en su tablero del circuito. El rendimiento de NMI del circuito se conecta directamente al la entrada de NMI -alta activa de CPU.
Figura5-8
NAND que verja U38D se muestra como una verja de OREGÓN con invertir entradas. El rendimiento (pin11) es alto si cualquier entrada (pin12 o 13) es bajo. El signo del interruptor de HALTde pushbutton (PB HALT) es latched y debounced a través de los invertido U29E y U29F. El signo resultante se entrega para fijar 1 de u38D.
Fije 13 de U38D se termina al NM #el pinen título JP3 (localizó en el CPU circuito bloque). Conectando con tierra este pingenera un externo no-maskable la interrupción.
§ salva el CS,IP, y FLG registran volúmenes a la pila.
§ Fetches el vector para la interrupción tipo 02.
§ Jumps a la dirección especificada por el vector.
§ Begins que ejecuta la rutina de servicio a esa dirección.
El organigrama en figura 5-9 resume que los funcionamientos del NMI reparan rutina en su tablero del circuito.
El ISR ahorra los volúmenes del propósito general y registros del segmento primero. El ISR entonces los despliegues la dirección de la instrucción a la que la interrupción ocurrió, junto con los volúmenes de esa dirección. El sistema entra en el modo de la función y esperas entonces para su orden del teclado pequeño.
El mapa de flujo hace ni muestra que el segmento del código, indicador de la instrucción, y volúmenes de registro de bandera empiezan ahorrado a la pila. Éstos registran se ahorran volúmenes automáticamente antes del vector de la interrupción está cargado.
Figura5-9
Varias condiciones aplican al funcionamiento del CPU cuando un signo de NMI se aplica. Un no-maskable la interrupción se reconoce a la transición bajo-a-alta del signo de NMI. El signo debe perseguir bajo durante por lo menos ocho CLK2 ciclos la transición, como mostrado en Figura 5-10. Esto le permite al CPU reconocer NMI sólo válido señala y para ignorar pulsos cortos, transeúntes.
Figura5-10
En caso de varios NMI válido sucesivo pulsa, el CPU responde al primer pulso ejecutando una rutina de servicio, como mostrado en Figura 5-11. Si los pulsos de NMI extensos ocurren y curan el ISR, el CPU salva sólo los primeros ISR, y ignora pulsos adicionales.
Figura5-11
NMI es un signo borde-activado; las interrupciones sólo ocurrirán adelante un bajo-a la transición alta de la entrada de NMI, como mostrado en Figura 5-12. Si los restos señalados que ISR más a popa alto completó, la rutina de servicio no se repite.
Figura5-12.
MASKABLE INTERRUPTS
DISCUSIÓN
Las interrupciones de Maskable ocurren cuando el el INTR de CPU (demanda de la Interrupción) la entrada se activa, o manejado alto. Una astilla de apoyo especial llamó una interrupción programable controlada (PIC) las interfaces los maskable externos interrumpen signos al CPU (vea Figura 5-15). El Pic tiene ocho datos I/O linea que conecta a los ocho pedazos más bajos (D0-D7) del busde datos de sistema. Esta conexión le permite al CPU enviar programar información al pic y le permite al PIC enviarle un número de tipo de interrupción al CPU.
Figura5-15
Un grupo de entradas del mando y rendimientos también es necesario para comunicación entre el PIC y el CPU.
Los leyeron (RD) y escribe (WR) las entradas son manejadas por el I/O lea orden (IORC #) y I/O escriben orden (IOWC #) los signos, respectivamente. Estos signos son generados por el mando del busPLD.
El PIC se es dirigido por el PIC EN #el signo del decodificador de I/O PLD. Pic-EN #maneja el la astilla de PIC selecciona (CS) la entrada.
La A0 entrada de dirección al PIC es manejada a través de A2 del busde dirección de sistema. El PIC acostumbra esta entrada a descifrar palabras del orden enviadas de los CPU y palabras de estado enviadas al CPU.
Hay ocho entradas de demanda de interrupción (IRO-IR /) en el PIC para los signos de la interrupción de los dispositivos externos. Cuando uno o más de las entradas de IR se activan, el PIC genera una demanda de la interrupción al CPU vía la línea de INTR.
Cuando el CPU termina ejecutando su instrucción actual, los PIC los conectan fácilmente a otros bloques del circuito o a los dispositivos externos (vea Figura 5-16).
Las líneas de demanda de interrupción sólo se conectan para tirar-bajar resistencias y a una fila de alfileres en título JP4. En su tablero del circuito, ésta es la fila del fondo de alfileres. Usted puede activar que cualquier IR linea conectando +5V al pinapropiado en la fila del fondo.
Usted puede conectar que la demanda de la interrupción linea IR1-IR5 a otros bloques del circuito instalando una desviación entre los alfileres adyacentes en la cima y filas del fondo de JP4. El pinadyacente a IR1 COM se etiqueta (comunicaciones) y se usa como una demanda de la interrupción del bloque de circuito de PUERTO DE SERIE.
Figura5-16
IR" y IR3 son demanda de interrupción de general-propósito (INTRA y INTRAB) que el CPU enlata rendimiento vía el PPI. IR $puede conectarse al rendimiento de RXC del bloque del PUERTO de serie. RXC es un signo del reloj derivado del el oscilador de cristal de ACIA. Usted puede usar IR4 como una fuente del reloj en sus programas cuando cronometrando aplicaciones se requieren. pueden conectarse IR5 a los datos prepare (DR #) el rendimiento del conversor analógico-a-digital (ADC) el bloque del circuito. Poniendo una desviación en los IR5/DR #la posición le permite al CPU ser interrumpido cuando el ADC completa su conversión.
Antes del proceso normal de interrupciones del maskable puede empezar, el CPU debe rendimiento de dos a cuatro palabras de orden de inicialización (ICW) al PIC. El diagrama de flujo en Figura 5-17 muestras la sucesión por inicializar el PIC.
Allí el ae cuatro ICWs (ICW1 a través de ICW4). siempre Programando empieza con ICW1, seguidos por ICW2.
Figura5-17
Los ocho pedazos de los datos del ICW, junto con el estado de la A0 entrada la configuración inicial del PIC puso. ICW1 son caracterizados por las condiciones A0=0 y D4=1 (vea Figura 5-18). Cada datos mordieron mandos una función o condicionan en el PIC. Por ejemplo, el D3 biten ICW1 juegos el modo del gatillo de las entradas de IR. Cuando D3=1, el Pic es fijo para el modo de la interrupción nivelado-activado (LTIM). Cuando D3=0, el modo de la interrupción borde-activado se selecciona.
Higo 5-18
Poniendo D1 a 1 especifica que un solo (SNGL) PIC se usa en el sistema. se ponen D1 a 0 para especificar modo de la cascada (más de uno PIC usó). Si orden que palabra ICW4 también se necesita programar el PIC, entonces bitD0 en ICW1 se pone a 1. D0 = 0 si no se necesitan ICW4.
Como un ejemplo de programación ICW1, el valor del hechizo es 12H whne ICW4 no se necesita y se borde-activa y se especifican modos de SNGL.
Algunos momentos de los datos en las palabras del orden han arreglado valores. EN Figura 5-18 éstos son A0, D2, y D4-D7. Algunos de estos pedazos no se usan, y algunos son reservados para el uso con microprocesador diferente o configuraciones del sistema.
ICW2 contienen el tipo numera de la ocho demanda de la interrupción (IR0-IR7) del PIC a programándose (vea Figura 5-19). El programador especifica los cinco pedazos de los datos superiores (D3-D7). Cuando se envían ICW2, los tres pedazos de los datos más bajos (D0-D2) es" los dont't cuidan" los niveles. El PIC completa el tipo numera con D0-D2 según Tabla5-3 (000 para IR0, 001 para IR1, 002 para IR2,etc.). por ejemplo, si un ICW2 valor de F8H (1111 1000) se envía, los 5 pedazos superiores son all1. El IR0 número del tipo sería 1111 1000 (F8H), el IR1 número del tipo sería 1111 1001 (F9H), y así sucesivamente.
Higo 5-19
Después de las ICW1 y ICW2 se recibe, el PIC determina si el modo de la cascada fue especificado.
sólo se usan ICW3 en el modo de la cascada. Desde que su tablero del circuito usa sólo un PIC (modo de SNGL) el NO el camino en el organigrama siempre se toma y nunca se usan ICW3. El PIC determina entonces si se necesitan ICW4. (se necesitan ICW4 cuando ICW1 bitD0=1)
Higo 5-20
Si se necesitan ICW4, el único bitque usted puede necesitar cambiar en este sistema es D1 que los mandos el extremo de interrupt(E0I) el modo.
Cuando D1=0, el modo de Eoi normal se selecciona. En este modo, una sucesión de la interrupción acaba cuando el CPU emite un orden de EOI al PIC.
Cuando D1=1, el modo seleccionado es extremo automático de interrupción (AEOI). En el modo de AEOI, una sucesión de la interrupción acaba automáticamente cuando una segunda interrupción reconoce que el pulso se recibe del CPU.
Figura5-21
Una vez los ICWs han inicializado el PIC, el CPU puede emitir órdenes al PIC por outputting funcionamiento orden palabras (=CW).
El OCWs puede
-enmascare 8disable) uno o más de las entradas de IR.
-ponga las prioridades de las entradas de IR que para que el sistema más importante funcione primero será reparado.
-permítale al CPU leer información de estado del PIC.
-ponga modos operando especiales.
El CPU tiene una sucesión cronometrando especial por manejar maskable interrumpe, como mostrado en Figura 5-22.
Figura5-22
La sucesión consiste en dos interrupción reconozca (INTA) ciclos separados por cuatro estados ociosos.
Cuando una demanda de la interrupción se recibe, el CPU responde emitiendo el primer ciclo de INTA. Los rendimientos BE0 #, A3-A31, M/IO#,D/C #, y W/R #es todos manejados bajo.
El mando los niveles señalados definen un único tipo de ciclo de busque puede agregarse a la tablausted usado en unidades anteriores.
Tabla5-4
También durante primero ciclo de INTA, el CPU maneja A2 y el byte restante habilita alto. El primer ciclo de INTA es seguido a través de cuatro estados ociosos consecutivos. Los estados ociosos son seguidos por el segundo ciclo de INTA. Al final del segundo ciclo de INTA, el CPU lee el ocho-bitvector tipo número del PIC en datos linea D0-D7.
EXEPTIONS
DISCUSIÓN
Las excepciones pueden interrumpir el 80386 microprocesador en un fo dos maneras.
Usted puede generar excepciones programadas insertando instrucciones como INT3, EN, o INTn en un programa. Algunas de estas instrucciones, el software también llamado interrumpe, sólo causará una interrupción si ciertas condiciones existen.
Las excepciones procesador-descubiertas no dependen de instrucciones programadas y automáticamente causa una interrupción si ciertas condiciones se levantan dentro del CPU.
Para cualquier tipo de excepción, el CPU asigna un número de tipo de interrupción para determinar el vector que apuntará a la rutina de servicio correcta.
La INT3 interrupción del software, también llamó un punto de ruptura, tiene un número del tipo de 3 (vea figura 5-37). El el vector de ISR se localiza a las 0000CH (3X4=12 base 10=CH). Usted puede insertar la INT3 instrucción en cualquier parte en un programa en lugar de otra instrucción. El CPU detiene al punto de ruptura, y usted puede examinar registros, memoria, entonces o el hardware condiciona para ver cómo el programa está progresando.
Figura5-37
En el ejemplo mostrado en Figura 5-38 que la INT3 interrupción del software se inserta en lugar de INSTRUCCIÓN 2.
FIGURA5-38.
La rutina de servicio de punto de ruptura en el monitorde su tablero del circuito escribe la próxima dirección después del punto de ruptura en el despliegue, y entonces los saltos al modo de la función. A estas alturas, usted puede examinar las condiciones del sistema. Usted tiene la opción de reasumir ejecución del programa a INSTRUCCIÓN 8 apretando <VA> y entrando en INSTRUCCIÓN 3's dirección, o usted puede usar el <el PASO> importante para la sola ejecución de la instrucción.
El EN (Interrupción en inundación) la instrucción es una interrupción del software condicional. EN las causas un tipo 04 interrupción sólo cuando una condición de la inundación existe. Por otra parte, la próxima instrucción se ejecutará.
Una inundación a veces ocurre después de aritmética de CPU o funcionamientos de la lógica. Para entender la condición de la inundación, es útil entender la manera que un microprocesador opera en números binarios.
El CPU debe poder realizar aritmética y funcionamientos de la lógica en valores positivos y " negativos.
Usted establece la señal algebraica de un número usando su MSB como un bitde la señal (vea Figura 5-39). UN 0 en el MSB indican un positivo (+) el valor, y un 1 en el MSB indica un negativo (-) el valor.
Los pedazos restantes (D0-D6) determine la magnitud positiva o negativa del número.
Una condición de la Inundación ocurre cuando el resultado de una aritmética o funcionamiento de la lógica cambia el MSB (bitde la señal) de un operand, si el funcionamiento involucra firmado o los números sin firmar.
Ilustrar una condición de la inundación, usted puede usar la suma de dos 8-bit números como un ejemplo.
Si usted agrega que los dos valoran 7EH y 01H, el resultado es 7FH. Se muestran los equivalents binarios del operand y la suma en figura 5-40.
FIGURA5-40,
Si usted agrega 01H al primer resultado (7FH), la suma es 80H. Cuando se agregan 01H a 7FH, el lleve en el MSB es una inundación.
SI una aritmética o el funcionamiento de la lógica produce una inundación, el CPU descubre esta condición y sts la inundación (DE) bandera que es bit11 en las banderas registra (vea figura 5-41).
Si un EN la instrucción se ejecuta con este juego de la bandera (OF=1), un tipo que 04 interrupción ocurre. Si la bandera se aclara (OF=0), no hay ninguna interrupción, y el CPU ejecuta la próxima instrucción.
Figura5-41
La instrucción de INTn es una interrupción del software que usted puede acostumbrar a simular cualquier otra excepción o interrupción del hardware. INTn es otra herramienta útil por poner a punto un programa o ayudar en desarrollo del sistema.
Los op codifican para INTn que es CD n, donde n es un número de tipo de uno-byte de 00H-FFH. Por ejemplo, los op codifican CD 06 causarían un tipo 06 interrupción (inválido de código).
Las excepciones restantes causan una interrupción del tipo indicado cuando la condición empezó que la columna de la Descripción existe (Vea figura 5-42).
Figura5-42
El programador debe asegurarse que una tabla del vector se establece con una rutina de servicio apropiada para cada excepción.
EN su tablero del circuito, muchas de las excepciones tienen rutinas de servicio que escriben un mensaje al despliegue para informarlo de la excepción que se descubrió. El mensaje de excepción de FALTA GENERAL se muestra en Figura 5-43 como un ejemplo.
Figura5-43
Usted puede reasumir funcionamiento de tablero de circuito normal entonces apretando cualquier interruptor en el teclado pequeño saltar al modo de la función.
Descargar
Enviado por: | Mulder |
Idioma: | castellano |
País: | Guatemala |