ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Concurrencia


Enviado por   •  8 de Octubre de 2015  •  Apuntes  •  1.515 Palabras (7 Páginas)  •  161 Visitas

Página 1 de 7

Capitulo 1

Registros del procesador

Los procesadores modernos cuentan con un conjunto de registros especializados y otros de proposito general, disponibles al programador.

1 Registros de control y status:

Usado por el procesador para controlar actividades del procesador

Usado por rutinas privilegiadas del SO para la ejecucion de programas

Program counter (PC): contiene la direccion de la proxima instruccion

Instruction register (IR): almacena la instrucion mas reciente

Memory address register (MAR): contiene la direccion de memoria de donde se debe leer o escribir

Memory buffer register (MBR): almacena temporalmente el dato de I/O register, I/O buffer register PSW (program status word)

2 Registros de proposito general (visibles al programador)

Pueden ser referenciados por lenguaje de maquina y estan disponibles a todos los programas

Permite optimizar el uso de registros y minimizar referencias a memoria principal

Registros de datos, direcciones, indices, Segment pointer (SP), Stack pointer (SP)

Ciclo basico de instruccion o ciclo fetch

La tarea principal del procesador es ejecutar instrucciones almacenadas en memoria

Las etapas de este ciclo dependen de cada arquitectura, pero generalmente incluyen al menos:

1 Fetch: se va a buscar a memoria la direccion apuntada por el IP (o PC)

2 Decode: se decodifica la instruccion y si es necesario se van a buscar operandos a memoria

Otras clasificaciones de excepciones

Interrupcion: señal proviene de dispositivo de I/O. Siempre retorna a la proxima instruccion

Trap: excepcion intencional (por ejemplo un llamado al sistema).

Siempre retorna a la proxima instruccion

Fault: error potencialmente recuperable (por ejemplo un fallo de pagina).

Puede retornar a la instruccion actual, la que produjo el fallo. Si el error

no es recuperable el SO aborta (termina) el proceso

Abort: error no recuperable (por ejemplo division por zero). No retorna

3 Execute: se ejecta la instruccion

4 Write: se almacena en memoria o en el acumulador el resultado de la instruccion

Interrupciones y excepciones

El ciclo fetch de un programa continua hasta que termina o hasta que se produce algun tipo de excepcion

Una excepcion es cualquier evento en el sistema que requiere alterar la secuencia normal de ejecucion y fuerza al procesador a ejecutar instrucciones en un modo privilegiado

Todas las excepciones llegan al procesador en la forma de señales. Algunas vienen de dispositivos de I/O, mientras que otras son generadas por el mismo programa en ejecucion

Interrupciones en x86

1 Las interrupciones generadas por dispositivos son manejadas por el Programmable Interrupt Controller (PIC)

2 Cada controlador puede emitir un Interrupt ReQuest (IRQ)

El PIC monitorea las IRQ Cuando una o mas IRQ se activan, selecciona la de menor valor

Almacena el vector (numero) en un registro

Envia un señal al procesador a traves de la linea INT (Interrupcion)

Espera hasta que el procesador acknowledges la interrupcion INTA Limpia la INT

Cada tipo de interrupcion es asignado un numero entre 0 y 255

0 - 31: reservadas para interrupciones del procesador (arquitectura Intel), como por ejemplo el reloj o fallo de pagina

32 -255: son configuradas por el SO, por ejemplo para dispositivos de I/O, y llamados al sistema

Excepciones y flujo de control

Toda excepcion implica un cambio en el flujo de control, por ejemplo a una rutina del SO que se encarga de atender la excepcion

Luego de atender la excepcion, el flujo de control puede retornar al programa que estaba en ejecucion cuando se produjo la excepcion.

Tipos de excepciones

1 Sincronas : ocurren cuando hay algun error o problema al finalizar la ejecucion de la instruccion actual

Division por zero

Llamado al sistema

Referencia a memoria incorrecta

2 Asincronas: ocurren por eventos externos, como Dispositivos de I/O Relojes

3 Denominacion Intel

Interrupciones; excepciones asincronas Excepciones: excepciones sincronas

Manejo de excepciones

Cuando el procesador detecta que una excepcion ha ocurrido, realiza un llamado a procedimiento a un manejador de excepciones o manejador de interrupciones especifico para atender la excepcion.

Al finalizar el manejo de la interrupcion, existen tres posibles escenarios:

el manejador retorna el control a la instruccion actual

el manejador retorna el control a la proxima instruccion a ejecutarse

el manejador aborta el programa interrumpido

En realidad existen mas posibilidades, que se veran luego.

Es importante recalcar que la deteccion de la excepcion y la transferencia de control al manejador de interrupciones es realizada por el hardware, pero el manejo de la interrupcion es realizada por software.

Almacenamiento y recuperacion de registros

Antes de saltar a la direccion del manejador de interrupciones, el procesador debe almacenar algunos registros del procesador. Estos generalmente se almacenan en el stack del sistema o stack de control.

Otras clasificaciones de excepciones

Interrupcion: señal proviene de dispositivo de I/O. Siempre retorna a la proxima instruccion

Trap: excepcion intencional (por ejemplo un llamado al sistema).

Siempre retorna a la proxima instruccion

Fault: error potencialmente recuperable (por ejemplo un fallo de pagina).

Puede retornar a la instruccion actual, la que produjo el fallo. Si el error no es recuperable el SO aborta (termina) el proceso

...

Descargar como (para miembros actualizados) txt (11 Kb) pdf (51 Kb) docx (16 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com