Resumen Stalling
Enviado por pablocopo • 5 de Mayo de 2014 • 42.480 Palabras (170 Páginas) • 214 Visitas
1.1- 4 componentes básicos:
• Procesador: controla la operación del computador y lleva a cabo las funciones del procesamiento de datos.
• Memoria principal: almacena los datos y los programas, normalmente es volátil.
• Módulos de E/S: transporta los datos entre el computador y su entorno exterior.
• Interconexión de sistemas: ciertos mecanismos y estructuras que permiten la comunicación entre procesadores, memoria principal y los terminales.
El procesador para intercambiar datos con la memoria utiliza los siguientes registros:
• Memory Address Register: especifica la dirección en memoria de la próxima escritura o lectura.
• Memory Buffer Register: contiene los datos que serán escritos en memoria o que fueron leídos de la misma.
Similarmente hay un registro de direcciones de E/S (I/O AR), que especifica el dispositivo de E/S y un buffer (I/O BR) para el intercambio de datos entre el procesador y el módulo de E/S.
1.2- Registros del procesador:
• Registros visibles de usuario: son accesibles para todos los programas, tanto para los de aplicación como para los del sistema. Se dividen en tres:
1. Registros de datos: el programador los puede asignar a diferentes funciones. Pueden ser de propósito general, y por lo tanto utilizados con cualquier instrucción de máquina, que realice operaciones con datos. O pueden ser dedicados para operaciones específicas.
2. Registros de dirección: contienen direcciones de memoria principal o una parte de ellas. Pueden ser de propósito general, o dedicados a un modo de direccionamiento específico, por ejemplo el registro índice, puntero de segmento y puntero de pila.
3. Códigos de condición: son bits activados por el procesador como resultado de determinadas operaciones. Generalmente las instrucciones de máquina permiten leer estos bits pero no pueden ser alterados por el programador.
• Registros de control y estado: son utilizados por el procesador para el control de las operaciones o por rutinas privilegiadas del sistema operativo para controlar la ejecución de los programas. Los esenciales son: MAR, MBR, I/O AR, I/O BR nombrados anteriormente, y los siguientes: Program Counter que contiene la dirección de la instrucción a ser leída, e Instruction Register que contiene la instrucción que se está ejecutando. Hay otro registro o conjunto de registros Program Status Word que contiene información de estado, algunos de ellos son: signo, cero, overflow, habilitar/inhabilitar interrupciones, supervisor.
1.3- Ejecución de instrucciones: el ciclo básico de instrucción consta de dos pasos: el procesador lee la instrucción de memoria, y luego la ejecuta. La ejecución de un programa consiste en la repetición de este proceso de lectura y ejecución de la instrucción.
Al comienzo de cada ciclo de instrucción el procesador lee una instrucción de la dirección de memoria apuntada por el PC, luego de lo cual incrementa su valor. La instrucción leída se almacena en el IR, y contiene bits que especifican la acción que el procesador llevará a cabo. Generalmente esta acción se clasifica en una de estas categorías:
1. Procesador-Memoria: se transfieren datos del procesador a la memoria y viceversa.
2. Procesador-E/S: se transfieren datos desde o hacia un dispositivo periférico a través de un módulo de E/S.
3. Tratamiento de datos: el procesador realiza operaciones aritméticas o lógicas sobre los datos.
4. Control: la instrucción pide que se altere la secuencia de ejecución.
1.4- Interrupciones: hay un mecanismo mediante el cual otros módulos (E/S, memoria) pueden interrumpir la ejecución del procesador. Las interrupciones se clasifican en:
1. Programa: se producen como resultado de la ejecución de una instrucción.
2. Reloj: generadas por un reloj interno del procesador, permiten al sistema operativo realizar funciones con regularidad.
3. E/S: producidas por un controlador de E/S para indicar la finalización normal o no de una operación.
4. Fallas de hardware: generadas por fallos tales como corte de energía o un error de paridad.
Las interrupciones aparecen, principalmente, como una vía para mejorar la eficiencia del procesamiento. En el caso de las operaciones de E/S, sin interrupciones el procesador debe esperar a que se finalice la ejecución de la rutina de E/S para luego continuar ejecutando el programa. Si se incorporan interrupciones el procesador podrá continuar con la ejecución del programa una vez emitido el comando de E/S, mientras el periférico ejecuta esta operación y el procesador será interrumpido una vez finalizada dicha operación. Pueden plantearse dos casos: interrupciones con corta espera de E/S o con larga espera de E/S. En el primer caso, la operación de E/S finaliza mientras el procesador está ejecutando el programa principal, por lo cual es interrumpido para ejecutar las instrucciones de finalización de la E/S y luego retorna al programa principal. En el segundo caso el procesador continúa ejecutando el programa principal, y al presentarse otra operación de E/S antes de que finalice la operación de E/S anterior, debe esperar para poder continuar.
Para poder dar cabida a las interrupciones se agrega un ciclo de interrupción al ciclo de instrucción, que consiste en comprobar si ha ocurrido una interrupción luego de la ejecución de una instrucción. Si se produjo una interrupción el procesador suspende la ejecución del programa y ejecuta una rutina de tratamiento de la interrupción.
El tratamiento de la interrupción desencadena una serie de sucesos tanto en el hardware como en el software:
1. El dispositivo emite una señal de interrupción al procesador.
2. El procesador finaliza la ejecución de la instrucción en curso.
3. El procesador envía la señal de reconocimiento de la interrupción.
4. El procesador inserta el PSW y el PC en la pila, para luego poder reanudar la ejecución del programa.
5. El procesador carga el nuevo valor del PC con la ubicación de entrada del programa de tratamiento de la interrupción. A partir de aquí el software ejecutará los siguientes pasos según el procesador ejecute las instrucciones de la rutina invocada.
6. Los contenidos de los registros del procesador se guardarán en la pila para preservar su valor ya que pueden ser modificados por la rutina de tratamiento de la interrupción.
7. La rutina de tratamiento de la interrupción puede ahora procesar la interrupción.
8. Se restaura la información de estado del proceso, sacando los valores de los registros de la pila.
9. Se restaura los valores del PSW y del PC, para continuar con el programa interrumpido.
Interrupciones
...