El documento describe los principales componentes de un computador y cómo interactúan. Los componentes clave son la unidad central de procesamiento (CPU), la memoria principal y los módulos de entrada y salida (E/S). La CPU ejecuta instrucciones almacenadas en la memoria siguiendo un ciclo de captación y ejecución. La memoria almacena tanto las instrucciones como los datos, e intercambia información con la CPU y los módulos E/S. Juntos, estos componentes permiten que el computador ejecute programas de forma sec
Sesión de aprendizaje Planifica Textos argumentativo.docx
Cómo interactúan los componentes del computador
1. CONTENIDO
Hardware
específico
Como interactúan
Hardware de uso
todos los
general
COMPONENTES componentes
DEL
COMPUTADOR Ciclos de
captación y
ejecución
Interrupciones
2. COMPONENTES DEL computador
Todos los computadores actuales se ha diseñado basándose en
los conceptos desarrollados por John von Neumann en el
Instituto de Estudios Avanzados de Priceton:
Los contenidos de esta
memoria se direccionan
indicando su posición, sin
considerar el tipo de dato
contenido en la misma.
Los datos y las La ejecución se produce
instrucciones se siguiendo una secuencia de
almacenan en una sola instrucción tras instrucción ( a
memoria de lectura y no ser que dicha secuencia se
escritura modifique explícitamente).
Se basa en 3
componentes
3. COMPONENTES DEL computador
Hardware específico
En este diagrama se ejemplifica el computador
realizaba una tarea fija con los datos, el sistema
acepta datos y produce resultados
4. COMPONENTES DEL computador
Hardware de uso general
En este diagrama vemos
ejemplificado que por
medio de instrucciones al
procesador, se podía hacer
que el computador sea de
uso general y realizar
distintas tareas. El sistema
acepta datos y señales de
control y produce
resultados
5. COMPONENTES DEL computador
Hardware de uso general
Como se puede apreciar, la
memoria y los datos provienen de
la misma memoria.
La idea es la siguiente, se leía una
instrucción, esta pasaba a la
unidad de control, dicha unidad
realizaba las conexiones
correspondientes para que la ALU
realizara una tarea
determinada, entraban los datos a
la ALU, esta realizaba las
operaciones, y el resultado salía
por algún dispositivo de E/S
6. COMPONENTES DEL computador
Hardware de uso general
CPU
Interprete de
instrucciones
Funciones lógicas y
aritméticas de uso
general
7. COMPONENTES DEL computador
Hardware de uso general
Interprete de instrucciones y módulo de uso general para
las funciones aritmético y lógicas
CPU
8. COMPONENTES DEL computador
Hardware de uso general
Además se requieren varios elementos adicionales para que el
computador funcione.
Ya que los datos y las instrucciones deben introducirse en el sistema
para eso se necesita algún tipo de modulo de entrada y también se
necesita un medio para proporcionar resultados el modulo de
salida.
E/S Modulo
9. COMPONENTES DEL computador
Hardware de uso general
Se necesita un componente más, como sabemos un programa no siempre ejecuta
las instrucciones según una misma secuencia, puede saltarse ciertas
instrucciones. Por ello debe existir un sitio para almacenar temporalmente tanto
las instrucciones como los datos.
MEMORIA PRINCIPAL
10. COMPONENTES DEL computador
Hardware de uso general
Como interactúan todos los componentes
CPU
Se encarga del control
Intercambia datos con
la memoria
11. COMPONENTES DEL computador
Hardware de uso general
Como interactúan todos los componentes
Para esto usualmente utiliza dos registros internos de la CPU
CPU Registro de dirección de Memoria
Especifica la dirección de memoria
que será accedida.
Registro temporal de memoria
(buffer)
contiene el valor a almacenar o la
palabra recibida de memoria.
12. COMPONENTES DEL computador
Hardware de uso general
Como interactúan todos los componentes
Igualmente un registro de direcciones de E/S especifica un
dispositivo de entrada y salida
CPU Registro de dirección E/S
Especifica un dispositivo
de E/S
Registro de datos E/S
Se utiliza para intercambiar
datos entre el módulo de E/S
y la CPU
13. COMPONENTES DEL computador
Hardware de uso general
Como interactúan todos los componentes
Un módulo de E/S transfiere datos desde los
dispositivos externos a la CPU y a la memoria. Contiene
los registros (buffers) internos para almacenar los datos
temporalmente, hasta que puedan enviarse
14. Funcionamiento del computador
La función básica que realiza un computador es
la ejecución de un programa, constituidos por un
conjunto de instrucciones almacenados en
memoria.
El procesador es el que se
encarga de ejecutar las
instrucciones especificadas
en el programa.
15. Funcionamiento del computador
Ciclos de captación y ejecución
EJECUCIÓN DE UN PROGRAMA
CONSTA DE DOS CICLOS
CICLOS DE CICLOS DE
CAPTACIÓN EJECUCIÓN
El procesador lee la El procesador ejecuta la
instrucción de la memoria instrucción
La ejecución de un programa consiste en la repetición
del proceso de captación y ejecución de instrucción
16. Funcionamiento del computador
Ciclos de captación y ejecución
Fases de ejecución de una instrucción
Captación
Preparación de la siguiente instrucción
Decodificación
Ejecución
La ejecución del programa se para solo si la maquina se
desconecta, se produce algún tipo de error irrecuperable o
ejecuta una instrucción del programa que detiene al computador
17. Funcionamiento del computador
Ciclos de captación y ejecución
Como se dijo anteriormente la CPU interpreta la instrucción y
lleva a cabo la acción requerida. En general, esta puede ser de 4
tipos:
1. Procesador – Memoria : Transferencia de datos desde o hacia
memoria.
2. Procesador – E/S: Transferencia de datos desde o hacia el
exterior a través de un modulo de E/S.
3. Procesamiento de Datos: Alguna operación aritmética o lógica
con los datos.
4. Control: Una instrucción puede especificar que la secuencia de
ejecución se altere
• Por ejemplo una instrucción de salto, que lo único que
requiere es que se cambie el valor del registro PC
Una instrucciones requieren una combinación de algunas.
18. Funcionamiento del computador
Ciclos de captación y ejecución
Se utiliza PC para seguir la
pista de la instrucción que
debe captarse a continuación.
A no ser que se indique lo
contrario
La CPU siempre incrementa 1
a PC después de cada
instrucción , de forma que
captará la siguiente
instrucción de secuencia
Al comienzo de cada ciclo de
instrucción la CPU
capta la instrucción de
memoria
19. Funcionamiento del computador
Ciclo de instrucción
1. Recuperar la
siguiente
instrucción desde 2. Decodificar el patrón de
memoria (apuntada por bits en el registro de
el program counter) y instrucción IR
luego incrementar el
program counter.
3. Ejecutar la instrucción
indicada en el registro de
instrucción IR
20. Funcionamiento del computador
Ciclo de ejecución
1. UC obtiene la próxima instrucción de
memoria (usando el registro PC)
2. Se incrementa el PC
3. La instrucción es decodificada a un
lenguaje que entiende la ALU
4. Obtiene de memoria los operandos
requeridos por la operación
5. La ALU ejecuta y deja los resultados en
registros o en memoria
6. Repetir paso 1
21. Funcionamiento del computador
Ciclo de ejecución
La unidad de control levanta la próxima de memoria
usando el “contador de programa” (o RPI) que dice en que
dirección esta la próxima instrucción.
22. Funcionamiento del computador
Ciclo de ejecución
La instrucción es decodificada a un lenguaje
que entiende la ALU (unidad aritmética lógica).
23. Funcionamiento del computador
Ciclo de ejecución
Cada operando requerido para ejecutar es levantado de la
memoria principal y ubicado en registros dentro de la CPU.
24. Funcionamiento del computador
Ciclo de ejecución
La ALU ejecuta la instrucción y coloca los resultados
en registros o en memoria.
25. Funcionamiento del computador
Ciclo de ejecución
TIPOS DE OPERACIONES
Procesador-memoria
Transferencia de datos entre la CPU y la memoria
Procesador-E/S
Transferencia de datos entre la CPU y un modulo de
E/S
Procesamiento de datos
Alguna operación aritmética o lógica sobre los datos
Control
Alteración de la secuencia de operaciones
Ej.: jump
26. Funcionamiento del computador
Ciclos de captación y ejecución
OPERACIONES ELEMENTALES SOBRE LA MEMORIA
LEER EL CONTENIDO DE LA MEMORIA
1. Decidir que celda se va leer (dar la dirección).
2. Esperar a que se complete la operación de copia del dato.
3. Recoger el dato y dar por terminada la operación.
ESCRITURA
1. Proporcionar el dato que se desea guardar.
2. Proporcionar la dirección de la celda en donde sería guardado
el dato.
3. Esperar un tiempo fijo para que se haga el almacenamiento.
27. Funcionamiento del computador
Ciclos de captación y ejecución
NECESIDAD DE LA CODIFICACIÓN
El segundo problema es cómo almacenar las instrucciones en la
memoria.
Como en las celdas de memoria sólo caben números, entonces
había que traducir las instrucciones a números para poder
almacenarlas, que es el concepto de codificación.
Para codificar las instrucciones se debe considerar cuantas y cuales
son las instrucciones disponibles y que esquema de codificación se
emplearía.
La cantidad depende básicamente de la capacidad de la unidad
de control del procesador central para hacer operaciones; a mayor
complejidad –y costo–, mayor sería el número de instrucciones
diferentes que podría efectuar. Se debe encontrar un código adecuado
para que a cada instrucción le corresponda uno, y sólo un,
valor numérico. Se usa una especie de diccionario electrónico.
28. Funcionamiento del computador
Ciclos de captación y ejecución
EJEMPLO DE EJECUCIÓN DE UN PROGRAMA
Se puede escribir un primer programa completo, usando el modelo
mostrado. Supongamos el problema de sumar 5+7
Consideraciones:
1. Se requieren tres celdas, dos para los datos y una para dejar el resultado,
sean las celdas 21, 22 y 23.
2. Se deben definir con detalle las operaciones a efectuar, el orden y la
codificación adecuada.
3. Introducir todos los datos e instrucciones en memoria.
Haciendo un análisis es necesario definir varias operaciones sobre la máquina,
por ejemplo: una instrucción para llevar el contenido de una celda al registro
acumulador; otra para hacer la suma, y otra para devolver el contenido del
acumulador a una celda de la memoria.
29. Funcionamiento del computador
Ciclos de captación y ejecución
LA UNIDAD DE CONTROL
Su función principal es dirigir la secuencia de pasos de modo que
la computadora lleve a cabo un ciclo completo de ejecución de una
instrucción, y hacer esto con todas las instrucciones de que conste
el programa. Los pasos son:
1. Ir a la memoria y extraer el código de la siguiente instrucción
(que estaría en la siguiente celda de memoria por leer).
2. Decodificar la instrucción recién leída (determinar de qué
instrucción se trata.
3. Ejecutar la instrucción.
4. Prepararse para leer la siguiente instrucción, y volver al primer
paso para continuar.
La unidad de control ejecutaría varias veces este ciclo de cuatro
”instrucciones alambradas”.
31. Funcionamiento del computador
Ciclos de captación y ejecución
Códigos de operación
hexadecimal binario
1 0001 Cargar AC desde memoria
2 0010 Almacenar AC en memoria
5 0101 Sumar a AC un dato de memoria1
Memoria Registros del CPU
300 1 940 300 PC
301 5 941 AC
302 2 941 1940 IR
940 0003
941 0002
32. Funcionamiento del computador
Ciclos de captación y ejecución
Memoria Registros del CPU
300 1 940 300 PC
301 5 941 AC
302 2 941 1940 IR
940 0003
941 0002
33. Funcionamiento del computador
Ciclos de captación y ejecución
Memoria
300 1 940 Especifica la dirección del
dato que se va a cargar
301 5 941
302 2 941
940 0003
941 0002
940 contiene el dato 0003
34. Funcionamiento del computador
Ciclos de captación y ejecución
1. La instrucción captada se almacena en un registro de la
CPU conocido como Registro de instrucción IR
2. El contador del PC se ubica en la primera instrucción (300)
3. La instrucción que es un valor hexadecimal (1940) se carga
en el registro de instrucción
Memoria Registros del CPU
300 1 940 300 PC
301 5 941 AC
302 2 941 1940 IR
940 0003
941 0002
35. Funcionamiento del computador
Ciclos de captación y ejecución
La CPU interpreta la instrucción y lleva a cabo la acción requerida
Memoria Registros del CPU
300 1940 300 PC
301 5941 0003 AC
302 2941 1940 IR
940 0003
941 0002
36. Funcionamiento del computador
Ciclos de captación y ejecución
El registro PC se incrementa, y se capta la siguiente instrucción
(5941) desde la dirección 301
Memoria Registros del CPU
300 1940 301 PC
301 5941 0003 AC
302 2941 5941 IR
940 0003
941 0002
37. Funcionamiento del computador
Ciclos de captación y ejecución
El contenido de AC y el de la posición de memoria 941 se suman
y el resultado se almacena en AC
Memoria Registros del CPU
300 1940 301 PC
301 5941 0005 AC
302 2941 5941 IR
940 0003 3+2=5
941 0002
38. Funcionamiento del computador
Ciclos de captación y ejecución
El registro PC se incrementa, y se capta la siguiente instrucción
(2941) desde la posición 302
Memoria Registros del CPU
300 1940 301 PC
301 5941 0005 AC
302 2941 2941 IR
940 0003
941 0002
39. Funcionamiento del computador
Ciclos de captación y ejecución
El contenido de AC se almacena en la posición 941
Memoria Registros del CPU
300 1940 301 PC
301 5941 0005 AC
302 2941 2941 IR
940 0003
941 0005
40. Funcionamiento del computador
Ciclos de captación y ejecución
Diagrama de estados del ciclo de una instrucción
El ciclo de ejecución de una instrucción particular puede ocasionar más de una
referencia a memoria. Además, en lugar de referencias a memoria, una
instrucción puede especificar una operación de E/S. Con esta especificaciones la
figura azul proporciona una visión más detallada del ciclo de instrucción básico
41. Funcionamiento del computador
Ciclos de captación y ejecución
Determina la dirección de la siguiente instrucción a ejecutar.
En general consiste en sumar 1 al registro PC, pero no siempre.
Supongamos que las instrucciones tienen un largo de 16 bits y la memoria se
organiza en plabras de 16 bits, en ese caso sumariamos 1 al PC, pero si la
memoria estuviera direccionada de byte, cada instrucción ocuparía 2 posiciones
de memoria, en ese caso tendríamos que sumar 2 al PC.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
42. Funcionamiento del computador
Ciclos de captación y ejecución
Instruction fetch: La CPU lee la instrucción desde su
posición en la memoria.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
43. Funcionamiento del computador
Ciclos de captación y ejecución
Instruccion operation decoding : Decodifica la
instrucción para saber el tipo de operación a realizar y
los operandos a utilizar.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
44. Funcionamiento del computador
Ciclos de captación y ejecución
Operand address calculation: Si el o los operandos se encuentran
en memoria o se accede a ellos a través de E/S, se determina la
dirección.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
45. Funcionamiento del computador
Ciclos de captación y ejecución
Operand fetch: Se capta el operando de memoria o a
través de E/S.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
46. Funcionamiento del computador
Ciclos de captación y ejecución
Data operation: Se realiza la operación que requiere la
instrucción.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
47. Funcionamiento del computador
Ciclos de captación y ejecución
Operand store: Se almacena el operando en memoria o a
través de E/S.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
48. Funcionamiento del computador
Ciclos de captación y ejecución
En el gráfico podes observar varias cosas, las etapas están dispuestas tal que en la parte
de arriba están las etapas que requieren salir del procesador, es decir ocasionan
intercambios entre la CPU y la memoria o un modulo de E/S
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
49. Funcionamiento del computador
Ciclos de captación y ejecución
La parte inferior están las etapas que se solucionan internamente,
solo ocasionan operaciones internas a la CPU
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
50. Funcionamiento del computador
Ciclos de captación y ejecución
Otra cosa para destacar son las flechas dobles en el momento de ir a buscar un
operando o al almacenarlo, esto se debe porque hay instrucciones que requieren varios
operandos y hay otras que generan mas de un resultado.
Por ultimo hay instrucciones que realizan una misma operación con distintos valores de
un vector, por eso, al terminar de almacenar el resultado no captan la siguiente
instrucción, en vez de eso, captan el próximo valor del vector realiza lo mismo con otros
valores.
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del
de la con datos
la instrucción operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
51. Funcionamiento del computador
interrupciones
Una interrupción es un mecanismo, con el
cual un modulo de E/S puede interrumpir el
procesamiento normal de la CPU.
Esto sirve para mejorar el rendimiento del
sistema. Este mecanismo puede llegar
deshabilitarse si es necesario.
52. Funcionamiento del computador
interrupciones
CLASES DE INTERRUPCIONES
FALLO DE
PROGRAMA TEMPORIZACIÓN E/S
HARDWARE
Generadas por alguna Generadas por Generadas por
condición que se
produce como un un controlador
Generadas por
resultado de la temporizador de E/S, para
ejecución de una un fallo tal
instrucción, tal como interno al indicar la
como la falta
desbordamiento procesador. finalización son
aritmético (averflow), de potencia de
división por cero, Esto permite al problemas de
alimentación o
intento de ejecutar una sistema una operación
instrucción máquina un error de
inexistente e intento de operativo o para avisar
paridad en la
acceder fuera del realizar ciertas de ciertas
espacio de memoria memoria
permitido para el funciones de condiciones de
usuario manera regular error
53. Funcionamiento del computador
interrupciones
Ejemplo, ya sabemos que la mayoría de los dispositivos externos son
las lentos que la CPU, imaginemos la CPU imprimiendo un
documento
54. Funcionamiento del computador
interrupciones
Procesador a 200 MHz (tiempo ciclo reloj = 5 ns; Ciclos por
instrucción CPI = 2 , en promedio)
• Una instrucción tarda en promedio 2 x 5 ns = 10 ns =>lla
computadora puede ejecutar ~100 Mips
Queremos imprimir un archivo de 10 Kbytes en una impresora láser
de 20 páginas por minuto
• 1 página ≅ 3.000 caracteres (1 carácter = 1 byte)
• La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/s
Hasta hora lo único que podíamos hacer era que la CPU envíe los
datos que pudiera recibir la impresora y esperar que termine de
imprimir o que solicite mas datos.
55. Funcionamiento del computador
interrupciones
Sin interrupciones:
• La CPU entra en un bucle y envía un nuevo byte cada vez que la
impresora está preparada para recibirlo.
• La impresora tarda 10 seg en imprimir 10 Kbytes
• La CPU está ocupada con la operación de E/S durante 10 seg.
(en ese tiempo la CPU podría haber ejecutado 1000 millones de
instrucciones)
Con el uso de interrupciones la CPU no tiene que esperar, mandaría
los datos a la impresora y seguiría haciendo alguna tarea productiva.
56. Funcionamiento del computador
interrupciones
Con interrupciones:
.
La impresora genera una interrupción cada vez que está preparada para recibir
un nuevo byte.
• Si la gestión de interrupción (ATI) tiene 10 instrucciones (salvar
contexto, comprobar estado, transferir byte, restaurar contexto, rti)
• Para transferir 10 Kbytes tenemos que ejecutar 10.000 veces la ATI
⇒ ejecutar 100.000 instrucciones para atender al periférico ⇒ la CPU tarda 0,001
seg.
• La CPU está ocupada con la operación de E/S durante 0,001 seg.
• La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU está
ocupada gestionando la impresora.
Esta diferencia es tan marcada porque el periférico es realmente muy lento, con
periféricos rápidos, solo con las interrupciones no alcanza para solucionar el
problema.
57. Funcionamiento del computador
interrupciones
En este gráfico se muestra el tiempo que
utiliza la CPU en el periférico, la línea
punteada nos marca en que se estaría
utilizando el CPU.
Cuando se atiende, un periférico el
procesador ejecuta un programa que atiende
al modulo de entrada salida, este programa
se carga, prepara lo necesario para que se
pueda realizar la operación requerida con el
periférico, seguido a esto se ejecuta la
instrucción solicitada, cuando termina el
periférico su tarea, en algunos casos el
programa cargado puede realizar alguna otra
tarea relacionada, para el lado del periférico
o para el lado de los buses, por ejemplo
mandar información de algún error que se
halla detectado en el periférico, para luego
proseguir con la ejecución del programa
original
58. Funcionamiento del computador
interrupciones
Se puede ver, en la primera sección,
que mientras esta funcionando el
periférico (entre los círculos 4 y 5) el
CPU no hace nada, solo espera que
termine.
En cambio se puede apreciar en la
segunda seccione del gráfico, que
luego de que el programa que
atiende la E/S pone en
funcionamiento el periférico, el
procesador dedica su tiempo en
procesar el programa original hasta
que reciba una nueva interrupción,
las 2 cruces identifican las
interrupciones.
59. Funcionamiento del computador
interrupciones
Sabiendo un poco de las interrupciones ahora podemos agregar
una nueva etapa al ciclo de la instrucción básico.
Ciclo Fetch Ciclo de Ciclo de
(Captura) ejecución interrupción
Interrupciones
inhabilitadas
Captura
INICIO Ejecuta Comprobación de interrupción;
siguiente interrupción del proceso
instrucción Interrupciones
instrucción
habilitadas
PARADA
En este gráfico podemos ver que si las interrupciones están deshabilitadas, el ciclo
es igual, pero si están habilitadas antes de captar la próxima instrucción, chequea si
hay alguna interrupción pendiente, si lo hay, en la etapa “Ciclo de interrupción" el
procesador guardara el contexto (registro que contiene los flags, registro PC, etc)
cargara en el registro PC la dirección donde esta el programa que atiende la
interrupción, y empezara a captar y ejecutar las instrucciones del programa de
atención a la interrupción.
60. Funcionamiento del computador
interrupciones
También vamos a agregar la etapa de detección de interrupciones el
gráfico mas detallado:
Captación Alcacena-
Captación
de instrucción miento de
del operando
operando
Varios Varios
operandos operandos
Decodificación
Cálculo de la Cálculo de la Cálculo de la Cálculo de la Cálculo de la
de la operación Operación
dirección de dirección del dirección del dirección del dirección del
de la con datos
la instrucción operando operando operando operando
instrucción
Instrucción completada Cadena o vector
Captar la siguiente instrucción de datos
61. Funcionamiento del computador
interrupciones
Bien, que sucedería si ocurre una
interrupción mientras se esta ejecutando
una interrupción?
Hay 2 alternativas, la primera es que
mientras se esta atendiendo una
interrupción se desactivan las demás,
luego que se termina de atender la
interrupción el procesador, antes de
proseguir con la ejecución del programa
principal, chequea si hay alguna
interrupción pendiente, y así las va
ejecutando secuencialmente.
La desventaja es que no se tiene en
cuenta ninguna prioridad, y es necesario
porque hay peticiones que en la que es
importante atenderlas rápidamente y hay
otras que no.
62. Funcionamiento del computador
interrupciones
La otra alternativa es que las
interrupciones tengan prioridad,
entonces, si una interrupción es
interrumpida por otra que posee
mayor prioridad, se almacena el
contexto de ejecución de la
interrupción en curso, se carga el PC
con la nueva dirección y se empieza
a ejecutar las instrucciones del
programa que atiende la nueva
interrupción, al terminar se continua
atendiendo la interrupción anterior,
y cuando se termina de atender
esta, se vuelve a la ejecución del
programa principal.