Componentes del computador

62
CONTENIDO COMPONENTES DEL COMPUTADOR Hardware específico Hardware de uso general Como interactúan todos los componente s Ciclos de captación y ejecución Interrupciones

Transcript of Componentes del computador

Page 1: Componentes del computador

CONTENIDOCOMPONENTES DEL COMPUTADOR

Hardware específico

Hardware de uso general

Como interactúan todos los componentes

Ciclos de captación y ejecución

Interrupciones

Page 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:

COMPONENTES DEL computador

Se basa en 3 componentes

Los datos y las instrucciones se almacenan

en una sola memoria de lectura y escritura

Los contenidos de esta memoria se direccionan

indicando su posición, sin considerar el tipo de dato

contenido en la misma.

La ejecución se produce siguiendo una secuencia de

instrucción tras instrucción ( a no ser que dicha secuencia se

modifique explícitamente).

Page 3: Componentes del computador

En este diagrama se ejemplifica el computador realizaba una tarea fija con los datos, el sistema acepta datos y produce resultados

COMPONENTES DEL computador

Hardware específico

Page 4: Componentes del computador

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

COMPONENTES DEL computador

Hardware de uso general

Page 5: Componentes del computador

COMPONENTES DEL computador

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

Hardware de uso general

Page 6: Componentes del computador

COMPONENTES DEL computador

Hardware de uso general

CPU

Interprete de instrucciones

Funciones lógicas y aritméticas de uso

general

Page 7: Componentes del computador

Interprete de instrucciones y módulo de uso general para las funciones aritmético y lógicas

COMPONENTES DEL computador

Hardware de uso general

CPU

Page 8: Componentes del computador

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.

COMPONENTES DEL computador

Hardware de uso general

E/S Modulo

Page 9: Componentes del computador

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

Page 10: Componentes del computador

COMPONENTES DEL computador

Hardware de uso general

CPUSe encarga del control

Intercambia datos con la memoria

Como interactúan todos los componentes

Page 11: Componentes del computador

COMPONENTES DEL computador

Hardware de uso general

Para esto usualmente utiliza dos registros internos de la CPU

Registro temporal de memoria (buffer)

contiene el valor a almacenar o la palabra recibida de memoria.

Registro de dirección de MemoriaEspecifica la dirección de memoria

que será accedida.

Como interactúan todos los componentes

CPU

Page 12: Componentes del computador

COMPONENTES DEL computador

Hardware de uso general

Igualmente un registro de direcciones de E/S especifica un dispositivo de entrada y salida

Registro de dirección E/SEspecifica un dispositivo

de E/S

Registro de datos E/SSe utiliza para intercambiar

datos entre el módulo de E/S y la CPU

Como interactúan todos los componentes

CPU

Page 13: Componentes del computador

COMPONENTES DEL computador

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

Hardware de uso generalComo interactúan todos los componentes

Page 14: Componentes 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.

Funcionamiento del computador

Page 15: Componentes del computador

EJECUCIÓN DE UN PROGRAMA CONSTA DE DOS CICLOS

CICLOS DE CAPTACIÓNEl procesador lee la

instrucción de la memoria

CICLOS DE EJECUCIÓN

El procesador ejecuta la instrucción

La ejecución de un programa consiste en la repetición del proceso de captación y ejecución de instrucción

Funcionamiento del computador

Ciclos de captación y ejecución

Page 16: Componentes del computador

Funcionamiento del computador

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

Ciclos de captación y ejecución

Page 17: Componentes del computador

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.

Funcionamiento del computador

Ciclos de captación y ejecución

Page 18: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Al comienzo de cada ciclo de instrucción la CPU

capta la instrucción de memoria

Se utiliza PC para seguir la pista de la instrucción que

debe captarse a continuación. A no ser que se indique lo

contrarioLa CPU siempre incrementa 1

a PC después de cada instrucción , de forma que

captará la siguiente instrucción de secuencia

Page 19: Componentes del computador

1. Recuperar la siguienteinstrucción desdememoria (apuntada porel program counter) yluego incrementar elprogram counter.

3. Ejecutar la instrucciónindicada en el registro deinstrucción IR

2. Decodificar el patrón debits en el registro deinstrucción IR

Funcionamiento del computador

Ciclo de instrucción

Page 20: Componentes del computador

1. UC obtiene la próxima instrucción de memoria (usando el registro PC)

2. Se incrementa el PC3. La instrucción es decodificada a un

lenguaje que entiende la ALU4. Obtiene de memoria los operandos

requeridos por la operación5. La ALU ejecuta y deja los resultados en

registros o en memoria6. Repetir paso 1

Funcionamiento del computador

Ciclo de ejecución

Page 21: Componentes del computador

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.

Funcionamiento del computador

Ciclo de ejecución

Page 22: Componentes del computador

La instrucción es decodificada a un lenguaje que entiende la ALU (unidad aritmética lógica).

Funcionamiento del computador

Ciclo de ejecución

Page 23: Componentes del computador

Cada operando requerido para ejecutar es levantado de la memoria principal y ubicado en registros dentro de la CPU.

Funcionamiento del computador

Ciclo de ejecución

Page 24: Componentes del computador

Funcionamiento del computador

Ciclo de ejecución

La ALU ejecuta la instrucción y coloca los resultados en registros o en memoria.

Page 25: Componentes del computador

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

Funcionamiento del computador

Ciclo de ejecución

TIPOS DE OPERACIONES

Page 26: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

OPERACIONES ELEMENTALES SOBRE LA MEMORIA

LEER EL CONTENIDO DE LA MEMORIA1. 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.

ESCRITURA1. 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.

Page 27: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

El segundo problema es cómo almacenar las instrucciones en la memoria.Como en las celdas de memoria sólo caben números, entonceshabí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 cualesson las instrucciones disponibles y que esquema de codificación se emplearía.La cantidad depende básicamente de la capacidad de la unidadde control del procesador central para hacer operaciones; a mayorcomplejidad –y costo–, mayor sería el número de instruccionesdiferentes 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.

NECESIDAD DE LA CODIFICACIÓN

Page 28: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Se puede escribir un primer programa completo, usando el modelomostrado. 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.

EJEMPLO DE EJECUCIÓN DE UN PROGRAMA

Page 29: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Su función principal es dirigir la secuencia de pasos de modo quela computadora lleve a cabo un ciclo completo de ejecución de unainstrucción, y hacer esto con todas las instrucciones de que consteel 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”.

LA UNIDAD DE CONTROL

Page 30: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Page 31: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

300

1 9 4 0

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

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

Page 32: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

300

1 9 4 0

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

Page 33: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

300

301

302

940

941

Memoria

Especifica la dirección del dato que se va a cargar

940 contiene el dato 0003

Page 34: Componentes del computador

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

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

300

1 9 4 0

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

Page 35: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

300

0 0 0 3

1 9 4 0

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

La CPU interpreta la instrucción y lleva a cabo la acción requerida

Page 36: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

301

0 0 0 3

5 9 4 1

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

El registro PC se incrementa, y se capta la siguiente instrucción (5941) desde la dirección 301

Page 37: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

301

0 0 0 5

5 9 4 1

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

3 + 2 = 5

El contenido de AC y el de la posición de memoria 941 se suman y el resultado se almacena en AC

Page 38: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 2

301

0 0 0 5

2 9 4 1

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

El registro PC se incrementa, y se capta la siguiente instrucción (2941) desde la posición 302

Page 39: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

1 9 4 0

5 9 4 1

2 9 4 1

0 0 0 3

0 0 0 5

301

0 0 0 5

2 9 4 1

300

301

302

940

941

Registros del CPUMemoria

PC

AC

IR

El contenido de AC se almacena en la posición 941

Page 40: Componentes del computador

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

Page 41: Componentes del computador

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.

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Page 42: Componentes del computador

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.

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Page 43: Componentes del computador

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.

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Page 44: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

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.

Page 45: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Operand fetch: Se capta el operando de memoria o a través de E/S.

Page 46: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Data operation: Se realiza la operación que requiere la instrucción.

Page 47: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Operand store: Se almacena el operando en memoria o a través de E/S.

Page 48: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

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

Page 49: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

La parte inferior están las etapas que se solucionan internamente, solo ocasionan operaciones internas a la CPU

Page 50: Componentes del computador

Funcionamiento del computador

Ciclos de captación y ejecución

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

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.

Page 51: Componentes del computador

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.

Page 52: Componentes del computador

Funcionamiento del computador

interrupciones

CLASES DE INTERRUPCIONES

PROGRAMA

Generadas por alguna condición que se

produce como resultado de la

ejecución de una instrucción, tal como

desbordamiento aritmético (averflow),

división por cero, intento de ejecutar

una instrucción máquina inexistente e intento de acceder fuera del espacio de memoria permitido

para el usuario

TEMPORIZACIÓN

Generadas por un

temporizador interno al

procesador. Esto permite

al sistema operativo

realizar ciertas funciones de

manera regular

E/S

Generadas por un controlador

de E/S, para indicar la

finalización son problemas de una operación o para avisar

de ciertas condiciones de

error

FALLO DE HARDWARE

Generadas por un fallo tal como la falta de potencia

de alimentación o un error de paridad en la

memoria

Page 53: Componentes del computador

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

Page 54: Componentes del computador

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.

Page 55: Componentes del computador

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.

Page 56: Componentes del computador

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.

Page 57: Componentes del computador

Funcionamiento del computador

interrupcionesEn 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

Page 58: Componentes del computador

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.

Page 59: Componentes del computador

Funcionamiento del computador

interrupciones

Sabiendo un poco de las interrupciones ahora podemos agregar una nueva etapa al ciclo de la instrucción básico.

INICIO

PARADA

Capturasiguiente

instrucción

Ejecutainstrucción

Ciclo Fetch (Captura)

Ciclo de ejecución

Comprobación de interrupción;interrupción del procesoInterrupciones

habilitadas

Interrupciones inhabilitadas

Ciclo de interrupción

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.

Page 60: Componentes del computador

Funcionamiento del computador

interrupciones

También vamos a agregar la etapa de detección de interrupciones el gráfico mas detallado:

Variosoperandos

Variosoperandos

Instrucción completadaCaptar la siguiente instrucción

Cadena o vectorde datos

Captaciónde instrucción

Cálculo de ladirección de

la instrucción

Decodificaciónde la operación

de la instrucción

Captacióndel operando

Cálculo de ladirección del

operando

Operacióncon datos

Alcacena-miento de operando

Cálculo de ladirección del

operando

Cálculo de ladirección del

operando

Cálculo de ladirección del

operando

Page 61: Componentes del computador

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.

Page 62: Componentes del computador

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.