PDF de programación - Microprocesadores y Ensambladores

<<>>
Imágen de pdf Microprocesadores y Ensambladores

Microprocesadores y Ensambladoresgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 15 de Diciembre del 2017)
290 visualizaciones desde el 15 de Diciembre del 2017. Una media de 7 por semana
75,0 KB
20 paginas
Microprocesadores y Ensambladores

INTRODUCCIÓN

Las interrupciones y excepciones son temas de gran importancia al estudiar los
microprocesadores de las computadoras, pues se trata de fenómenos continuos y
no aislados en toda computadora. El simple hecho de presionar una tecla o hacer
clic, produce una interrupción. De igual forma el reloj de la computadora se
mantiene constantemente generando un tipo de interrupciones que permite el
buen funcionamiento de un sistema operativo.

En este documento se da a conocer el funcionamiento de las interrupciones en los
microprocesadores, comenzando con los conceptos elementales de lo que son y
para qué sirven las interrupciones, hasta llegar a detalles técnicos y descripciones
detalladas de cada una de las interrupciones que se dan en un CPU.

También se da a conocer la diferencia entre una interrupción y una excepción,
permitiendo al lector reconocer las características y particularidades de estos
fenómenos, su utilidad y funcionamiento.

OBJETIVO GENERAL

omprender la importancia y funcionamiento de las interrupciones en las

“C
computadoras”

OBJETIVOS ESPECÍFICOS

(cid:61623) Conocer los diferentes tipos de interrupciones.

(cid:61623) Diferenciar entre una interrupción y una excepción.

(cid:61623) Entender el motivo por el cual se dan las interrupciones.

(cid:61623) Comprender la utilidad de las interrupciones.

(cid:48)

Microprocesadores y Ensambladores

INTERRUPCIONES

E
l microprocesador está en constante interacción con los periféricos del
computador. Estos últimos requieren que en determinados momentos se ejecute
otro programa, comúnmente conocido como rutina de servicio de interrupción,
para procesar los datos que ellos generan. Ahora bien, ¿cómo puede el
microprocesador estar al tanto que en determinado momento el periférico requiere
de los servicios del microprocesador? Una de las respuestas a dicha pregunta es
implementando una rutina que supervise constantemente el estado del periférico.
Cuando esta rutina detecta que se cumplen ciertas condiciones, se ejecuta la
subrutina de servicio. Este método o procedimiento trae como desventaja emplear
innecesariamente ciclos de máquina del procesador en determinar el estado del
periférico, ya que la necesidad de ejecutar la subrutina de servicio es aleatoria.
Una manera más refinada de solucionar este problema es implementar un sistema
en el microprocesador que permita que el periférico le notifique la necesidad de
sus servicios. Este es el concepto de una interrupción, de modo que una
interrupción es una solicitud al microprocesador para que suspenda el programa
en ejecución, y se ejecute la rutina de servicio de interrupción.

A nivel físico, una interrupción se solicita activando una señal que llega a la unidad
de control del microprocesador. El agente generador o solicitante de la
interrupción activa la mencionada señal cuando necesita que se le atienda, es
decir, que se ejecute un programa que le atienda. Ante la solicitud de una
interrupción, siempre y cuando esté habilitado ese tipo de interrupción, la unidad
de control realiza un ciclo de aceptación de interrupción. Este ciclo se lleva a cabo
en cuanto termina la ejecución de la instrucción máquina que se esté ejecutando y
consiste en las siguientes operaciones:

1. Terminar la ejecución en curso: el programa o proceso actual debe ser

interrumpido temporalmente.

2. Salvar algunos registros del procesador, como son el de estado y el
contador de programa, de modo que la CPU, al terminar el proceso que

(cid:49)

Microprocesadores y Ensambladores

dio lugar a la interrupción, pueda seguir ejecutando el programa que
fue interrumpido a partir de la última instrucción: Los registros del
procesador se emplean para controlar instrucciones en ejecución, manejar
direccionamiento de memoria y proporcionar capacidad aritmética. Los
registros son espacios físicos dentro del microprocesador con capacidad de
4 bits hasta 64 bits dependiendo del procesador que se emplee. Uno de los
registros que se salvan es el de estado, pues este registro deja constancia
de algunas condiciones que se dieron en la última operación realizada y que
habrán de ser tenidas en cuenta para operaciones posteriores. Por ejemplo,
en el caso de hacer una resta, tiene que quedar constancia si el resultado
fue cero, positivo o negativo. Otro de los importantes registros del
procesador que se guardan es el registro contador del programa, que lo que
hace es indicar la posición en la que está el procesador en su secuencia de
instrucciones, de modo que contiene la dirección de la instrucción que es
ejecutada, o la dirección de la próxima instrucción a ser ejecutada. Por esta
razón se le llama puntero de instrucciones. El contador de programa es
incrementado automáticamente en cada ciclo de instrucción de tal manera
que las instrucciones son leídas en secuencia desde la memoria. Ciertas
instrucciones, tales como las bifurcaciones y las llamadas y retornos de
subrutinas, interrumpen la secuencia al colocar un nuevo valor en el
contador de programa. Es
importante que antes de ejecutar una
interrupción, el procesador guarde ciertos registros que permitirán regresar
luego de que la interrupción se realice, se continúen ejecutando los
procesos que se tenían de manera eficiente y con toda normalidad.

3. La CPU salta a la dirección donde está almacenada la rutina de
interrupción y ejecuta esa rutina que tiene como objetivo atender al
dispositivo que generó la interrupción.

4. Una vez que la rutina de la interrupción termina el procesador vuelve a
tomar el control: el procesador retoma los procesos que quedaron

(cid:50)

Microprocesadores y Ensambladores

pendientes y que se estaban ejecutando antes que se generara la
interrupción.

MOTIVO DE LAS INTERRUPCIONES

L
as interrupciones se pueden generar por diversas causas, que se pueden
clasificar de la siguiente forma:

1. Excepciones de programa: hay determinadas causas que hacen que un
programa presente un problema en su ejecución, por lo que deberá
generarse una interrupción, de forma que el sistema operativo trate dicha
causa. Ejemplos son el desbordamiento en las operaciones aritméticas, la
división por cero, el intento de ejecutar una instrucción con código de
operación incorrecto o de direccional una posición de memoria prohibida.

2. Interrupciones de reloj: el oscilador que gobierna las fases de ejecución de
las instrucciones máquina se denomina reloj. Cuando se dice que un
microprocesador es de 1.60GHz, lo que se está especificando es que el
oscilador que gobierna el ritmo de su funcionamiento interno produce una
onda cuadrada con una frecuencia de 1.60GHz. La señal producida por este
oscilador o por cualquier otro se divide mediante un divisor de frecuencia
para generar una interrupción cada cierto intervalo de tiempo. Estas
interrupciones, que se están produciendo constantemente, se denominan
interrupciones de reloj o ticks, dando lugar al reloj como generador de
interrupciones periódicas. El objetivo de estas interrupciones es hacer que el
sistema operativo entre a ejecutar operaciones de forma sistemática cada
cierto intervalo de tiempo. De esta manera, el sistema operativo puede evitar
que un programa monopolice el uso de la computadora y puede hacer que
entren a ejecutarse programas en determinados instantes de tiempo. Estas
interrupciones se producen cada varios milisegundos, por ejemplo cada 20
milisegundos.

(cid:51)

Microprocesadores y Ensambladores

3. Interrupciones de E/S: una de las funciones principales del kernel o núcleo
de cualquier sistema operativo es mantener una comunicación tal con el
microprocesador, que permita controlar correctamente los dispositivos de
E/S. Los controladores de estos dispositivos necesitan interrumpir para
indicar las operaciones que realizan.

4. Excepciones del hardware: La detección de un error de paridad en la
memoria o un corte de corriente se avisan mediante la correspondiente
interrupción. Las memorias RAM se dividen en estáticas y dinámicas. Una
computadora usa tanto memoria de nueve bits (ocho bits y un bit de paridad,
en 9 chips de memoria RAM dinámica) como memoria de ocho bits sin
paridad. En el primer caso los ocho primeros son para datos y el noveno es
para el chequeo de paridad, que se refiere al uso de bits de paridad para
verificar si los datos han sido transmitidos correctamente. El bit de paridad
es añadido a cada siete bits que se transmite. El bit de paridad para cada
byte (siete bits de datos más un bit de paridad) se pone para que todos los
bytes tengan un número impar o par de grupos de bits. Por ejemplo, si dos
dispositivos se están comunicando con paridad par (la forma más común de
chequeo de paridad), cuando el dispositivo transmisor envía datos, se
cuenta el número de grupos de bits en cada grupo de siete bits. Si el
número de bits es par, se pone el bit de paridad a 0; si el número de bits es
impar, se pone el bit de paridad a 1. De esta forma, cada byte tiene un
número par de grupos de bits. En el caso de recepción, el dispositivo
chequea cada byte para asegurarse que tiene un número par de grupos de
bits. Si el receptor encuentra un número impar de grupos de bits, sabe que
se ha producido un error durante la transmisión. El transmisor y el receptor
deben estar de acuerdo en chequear la paridad y el tipo de paridad a usar,
par o impar. Si ambos no tienen configurada la misma paridad, la
comunicación se hace im
  • Links de descarga
http://lwp-l.com/pdf7892

Comentarios de: Microprocesadores y Ensambladores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad