Componentes del computador
Transcript of Componentes del computador
![Page 1: Componentes del computador](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/30.jpg)
Funcionamiento del computador
Ciclos de captación y ejecución
![Page 31: Componentes del computador](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/43.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/44.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/45.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/46.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/47.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/48.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/49.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/50.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/51.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/52.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/53.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/54.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/55.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/56.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/57.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/58.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/59.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/60.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/61.jpg)
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](https://reader036.fdocuments.ec/reader036/viewer/2022070318/557b7b0ed8b42afc0c8b4eaa/html5/thumbnails/62.jpg)
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.