SlideShare a Scribd company logo
1 of 20
CURSO:       PRACTICA
INTEGRAL III
ALUMNO:     RARÁZ TINOCO,
JORGE LUIS
PROFESOR:      DAVILA, JUAN
 Interrupciones del Microprocesador
    o De donde surgen
 Funcionamiento del mecanismo de interrupciones
    o IRQ
    o Interrupciones en un PC
 Tipos de Interrupciones
    o Interrupciones Hardware
    o Trampas - Traps
    o Interrupciones Software o excepciones
 Determinación de la dirección de la rutina de servicio de interrupció
    o Direcciones Fijas
    o Direcciones Variables
         Direccionamiento absoluto
         Direccionamiento relativo
         Direccionamiento indirecto
 Sistema de Prioridad
    o Interrupciones Anidadas
    o Interrupciones Simultaneas
    o Inhibición de Interrupciones
Interrupción (también conocida como corrupción del
hardware o petición de interrupción) es una señal
recibida por el procesador de un ordenador, indicando
que debe "interrumpir" el curso de ejecución actual y
pasar a ejecutar código específico para tratar esta
situación.
Una interrupción supone la ejecución temporaria de un
programa, para pasar a ejecutar una "subrutina de
servicio de interrupción", que pertenece al BIOS (Basic
                                                  Volver al Menú
Input Output System)
  ¿ De donde surgen las
  interrupciones?
Las interrupciones urgen de las necesidades que tienen los
dispositivos periféricos de enviar información al
procesador principal de un sistema de computación.
La primera técnica que se empleó fue que el propio
procesador se encargara de sondear (polling) el dispositivo
cada cierto tiempo para averiguar si tenía pendiente alguna
comunicación para él. Aunque esta técnica fue ineficiente
ya que el procesador requería de un estimado de tiempo o
a veces mayor.
El mecanismo de interrupciones fue la solución que
permitió al procesador desentenderse de esta
problemática. En este caso, el microprocesador, no sondea
a ningún dispositivo, sino que queda a la espera de que
estos le avisen (le "interrumpan") cuando tengan algo que
                                                    Volver al Menú
Cada dispositivo que desea comunicarse con el procesador
por interrupciones debe tener asignada una línea única
capaz de avisar a éste de que le requiere para una operación.
Esta línea es la llamada IRQ ("Interrupt ReQuest", petición
de interrupción).
Las IRQ son líneas que llegan al controlador de interrupciones,
un componente hardware dedicado a la gestión de las
interrupciones, y que puede estar integrado en el procesador
principal o ser un circuito separado conectado al procesador
principal. El controlador de interrupciones debe ser capaz
de habilitar o inhibir líneas de interrupción y establecer
                                                         Siguiente
Cuando varias líneas de petición de interrupción se
activan a la vez, el controlador de interrupciones
utilizará estas prioridades para escoger la interrupción
sobre la que informará al procesador principal. Sin
embargo hay interrupciones que no se pueden
enmascarar o deshabilitar, las conocidas como
interrupciones no enmascarables o NMI.
Un procesador principal suele tener una única línea de
interrupción llamada habitualmente INT . Esta línea es
activada por el controlador de interrupciones cuando
tiene una interrupción que servir. Al activarse esta línea,
el procesador consulta los registros del controlador de
interrupciones para averiguar qué IRQ es la que ha de
atender. A partir del número de IRQ busca en el vector
de interrupciones qué rutina debe llamar para atender al Menú
                                                    Volver
Pasos para el procesamiento de una IRQ :
1) Terminar la ejecución de la instrucción máquina en
   curso.
2) Salva el valor de contador de programa, IP, en la pila,
de manera que en la CPU, al terminar el proceso, pueda
seguir ejecutando el programa a partir de la última
instrucción.
3) La CPU salta a la dirección donde está almacenada la
rutina de servicio de interrupción (ISR, Interrupt Service
Routine) y ejecuta esa rutina que tiene como objetivo
atender al dispositivo que generó la interrupción.
4) Una vez que la rutina de la interrupción termina, el
procesador restaura el estado que había guardado Volver al Menú
                                                  en la
 Interrupciones en una PC
Un ordenador PC típico dispone en su placa base de un
controlador de interrupciones 8259 de Intel o de un
circuito integrado análogo. Este dispositivo electrónico
dispone de hasta 16 líneas IRQ, numeradas desde el 00
hasta el 15. En las nuevas placas base este circuito está
integrado junto con el resto del chipset y permite hasta
24 interrupciones.




                                                 Volver al Menú
1.- Interrupciones Hardware :
Son interrupciones que se producen como resultado
de, normalmente, una operación de E/S. No son producidas
por ninguna instrucción sino que son señales que producen
los dispositivos para indicarle al procesador que necesitan ser
'atendidos'. Las interrupciones hardware son interesantes en
cuanto a que permiten mejorar la productividad del
procesador ya que este último puede ordenar una operación
de E/S y en lugar de tener que esperar a que el dispositivo
acabe realizando una espera activa, es decir, sin hacer ningún
trabajo útil, se puede dedicar a atender a otro proceso o
aplicación y cuando el dispositivo este de nuevo disponible
será el encargado de notificarle al procesador mediante la al Menú
                                                       Volver
2.- Trampas – Traps :
Es un tipo de interrupción sincrónica típicamente
causada por una condición de error, por ej. una
división por 0 o un acceso inválido a memoria en un
proceso de usuario. Normalmente genera un cambio
de contexto a modo supervisor para que el sistema
operativo atienda el error. De manera que podemos
ver como las excepciones son un mecanismo de
protección que permite garantizar la integridad de los
datos tanto en el espacio de usuario como en el
espacio kernel. El SO cuando detecta una excepción
intenta solucionarla pero en caso de no poder
simplemente notificará la condición de error a la
aplicación y abortará la misma.                   Volver al Menú
3.- Interrupciones software o
excepciones :
A menudo se tiende a confundir las interrupciones
software y las trampas, ya que su naturaleza es bastante
similar. Sin embargo las excepciones se producen al
realizar una operación no permitida por lo que de algún
modo podemos decir que no es controlada directamente
por el programador sino que, por un fallo al programar,
se producen. No obstante las trampas sí que son
provocadas por el programador. Para provocar una
trampa existen distintas instrucciones en el código
máquina que permiten al programador producir una
interrupción al ejecutar dicha instrucción. Suelen tener
nemotécnicos tales como INT. Suelen ser de vitalVolver al Menú
En este apartado vamos a considerar las
distintas alternativas que se nos presentan a la
hora de decidir cómo determinar la dirección
de comienzo de la rutina de servicio de
interrupción que debe ejecutarse al recibir una
interrupción determinada. En principio
podemos definir dos alternativas:
1.- Direcciones fijas
2.- Direcciones variables                  Volver al Menú
1.- Direcciones Fijas:
Se hallan cableadas en el procesador y por tanto nunca
pueden ser cambiadas. Esto implica que las RSI siempre
estarán en una determinada posición de la memoria.
2.- Direcciones Variables (por interrupciones
vectorizadas) :
En este apartado hay que matizar una cosa. Entre
paréntesis podemos observar que pone "direcciones
por interrupciones vectorizadas" pues bien, en este
punto hay una confusión muy común y es nosotros a
menudo concebimos las direcciones por interrupciones
vectorizadas como un caso concreto de direcciones
variables que es aquella en la que existe una tabla con
los vectores de interrupción .
Entre las alternativas que se implementan de manera Siguiente
 Direccionamiento absoluto: En este caso es el
  dispositivo o la interfaz del dispositivo la encargada de
  conocer la dirección de la RSI y de enviarla al
  procesador para que este pueda localizar dicha
  subrutina y ejecutarla.
 Direccionamiento relativo: El dispositivo solo
  suministra parte de la dirección de comienzo y es el
  procesador el encargado de completarla (añadiendo
  bits o sumando una determinada cantidad, que
  siempre será fija). Esta alternativa tiene una ventaja
  sobre la anterior y es que permite especificar la
  dirección de comienzo con menos bits y por tanto
  simplifica el diseño. Ahora bien tiene una desventaja
  principal y es que limita el número de dispositivos queSiguiente
 Direccionamiento indirecto: También
 conocida como direccionamiento por interrupciones
 vectorizadas. Se mantiene una tabla de vectores de
 interrupción (direcciones de comienzo de las
 distintas RSI) y a cada interrupción se le asocia un
 número que será el índice por el cual se accederá a la
 tabla y se recuperará la información de la dirección
 de comienzo. Necesita señales de conformidad o
 'handshaking' para sincronizar al procesador con la
 interfaz, ya que esta última tiene que indicarle al
 procesador cuando va a enviarle el índice que
 necesita para buscar el vector de interrupción (INT)
 y el procesador deberá enviar otra señal para indicar
 que se ha reconocido la interrupción (INTA#).Volver al Menú
Existe las siguiente alternativas:
1.- Interrupciones anidadas :
Existen dos métodos para tratar las interrupciones anidadas.
El primero se basa en inhabilitar las interrupciones mientras
se está ejecutando una determinada RSI. Esto puede
realizarlo el hardware de manera automática en algunos
procesadores pero en otros será el usuario el encargado de
deshabilitarlas en caso de que desee que ninguna otra
interrupción pueda interrumpir el transcurso normal de la
rutina de servicio de interrupción. No es aconsejable
deshabilitar las interrupciones durante mucho tiempo ya que
esto degrada el rendimiento total del sistema. La otra
alternativa es permitir que solo las interrupciones más Siguiente
la RSI actual. Para esto tendremos que definir qué
líneas son más prioritarias que otras. Otra
consideración de esta segunda alternativa es que al
anidar distintas llamadas a rutinas tendremos que
contar con una pila suficientemente grande para
que esta no se desborde.
2.- Interrupciones simultáneas:
En este método tenemos dos alternativas, una de
ellas es que exista algún hardware que tenga como
entradas las señales de interrupción y de como
salida la interrupción más prioritaria que está activa
en ese momento. Otra alternativa es tener un
método de identificación de prioridades distribuida
y no generalizada como en el caso anterior, en este
caso tenemos que destacar dos técnicas distintas Siguiente
"Polling": Como ya vimos es la CPU la que chequea los
                                                 Siguiente

  dispositivos y el orden de sondeo determina la prioridad.

"Daisy-chain": "Daisy-chain" significa "cadena de
  flores" y viene a significar que podemos conectar los
  distintos dispositivos en cadena, en orden decreciente de
  prioridad y por tanto la señal de reconocimiento de
  interrupción (INTA#) solo será pasada al siguiente
  dispositivo en caso de que el anterior (más prioritario) no
  haya solicitado los servicios del procesador. Sin embargo
  hay algo importante que explicar y es que las señales de
  interrupción que van al procesador están conectadas todas
  a un mismo cable, por tanto, deberemos utilizar alguna
  técnica especial para que no se produzca un cortocircuito.
  Para evitar precisamente que la pista se cortocircuite se
por cada dispositivo) y por tanto estarán tantos
colectores conectados como dispositivos tengamos (se
entiende que son dispositivos que mandan petición de
interrupción al procesador).
Híbrida: Mezcla las dos técnicas explicadas
   anteriormente.

3.- Inhibiciòn de interrupciones
En este apartado queremos destacar las distintas
alternativas de inhibición de interrupciones. Como ya
hemos visto estas se pueden hacer de manera
automática por el hardware en algunos casos mientras
que en otros será el usuario el encargado de realizarlo
por software y esto depende de la arquitectura del Volver al Menú
procesador que consideremos

More Related Content

What's hot

Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistemajomapuga
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMMari Cruz
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorLuis Zurita
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumannvictor medra
 
Interrupciones
InterrupcionesInterrupciones
Interrupcionesmatrix1979
 
Microprocesador
MicroprocesadorMicroprocesador
MicroprocesadorSuarezJhon
 
Tipos de buses y microprocesadores
Tipos de buses y microprocesadoresTipos de buses y microprocesadores
Tipos de buses y microprocesadoresmario aguirre
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salidaitzayana bacilio
 
Arquitectura del microprocesador
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesadorDILMER OLIVERA
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discosJazmín Limón
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 

What's hot (20)

Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistema
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Tipos de buses y microprocesadores
Tipos de buses y microprocesadoresTipos de buses y microprocesadores
Tipos de buses y microprocesadores
 
Registro de banderas y alu
Registro de banderas y aluRegistro de banderas y alu
Registro de banderas y alu
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
2.2 y 2.3
2.2 y 2.32.2 y 2.3
2.2 y 2.3
 
Memorias semiconductoras
Memorias semiconductorasMemorias semiconductoras
Memorias semiconductoras
 
Arquitectura del microprocesador
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesador
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 

Viewers also liked

Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardwareSpiderHal
 
Procesadores segmentados arquitectura del computador
Procesadores segmentados arquitectura del computadorProcesadores segmentados arquitectura del computador
Procesadores segmentados arquitectura del computadorRene Sosa
 
Excepciones del Microprocesador
Excepciones del MicroprocesadorExcepciones del Microprocesador
Excepciones del MicroprocesadorCarlos David
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de ComputadoresErwin Meza
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareCarlos Yanez
 
Direccionamiento relativo y absoluto
Direccionamiento relativo y absolutoDireccionamiento relativo y absoluto
Direccionamiento relativo y absolutokarencocha98
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PCByron Medina
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativoalarcon14
 
Interrupciones
InterrupcionesInterrupciones
Interrupcionesjcarlosl
 
El microprocesador
El microprocesadorEl microprocesador
El microprocesadornticx
 
Componentes De Un Sistema Computacional[1].
Componentes De Un Sistema Computacional[1].Componentes De Un Sistema Computacional[1].
Componentes De Un Sistema Computacional[1].Gerardo González
 
Clases de tecnologías de disco duro
Clases de tecnologías de disco duroClases de tecnologías de disco duro
Clases de tecnologías de disco duroaangulomar
 

Viewers also liked (20)

05.Manejo de interrupciones
05.Manejo de interrupciones05.Manejo de interrupciones
05.Manejo de interrupciones
 
Interrupciones: Sistemas Operativos
Interrupciones: Sistemas OperativosInterrupciones: Sistemas Operativos
Interrupciones: Sistemas Operativos
 
Interrupciones de hardware
Interrupciones de hardwareInterrupciones de hardware
Interrupciones de hardware
 
Procesadores segmentados arquitectura del computador
Procesadores segmentados arquitectura del computadorProcesadores segmentados arquitectura del computador
Procesadores segmentados arquitectura del computador
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Excepciones del Microprocesador
Excepciones del MicroprocesadorExcepciones del Microprocesador
Excepciones del Microprocesador
 
8085 micro processor book
8085 micro processor book8085 micro processor book
8085 micro processor book
 
Arquitectura de Computadores
Arquitectura de ComputadoresArquitectura de Computadores
Arquitectura de Computadores
 
Tarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandezTarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandez
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardware
 
Direccionamiento relativo y absoluto
Direccionamiento relativo y absolutoDireccionamiento relativo y absoluto
Direccionamiento relativo y absoluto
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PC
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
El microprocesador
El microprocesadorEl microprocesador
El microprocesador
 
Componentes De Un Sistema Computacional[1].
Componentes De Un Sistema Computacional[1].Componentes De Un Sistema Computacional[1].
Componentes De Un Sistema Computacional[1].
 
Clases de tecnologías de disco duro
Clases de tecnologías de disco duroClases de tecnologías de disco duro
Clases de tecnologías de disco duro
 

Similar to Interrupciones del microprocesador

Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 
Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTicopainni
 
Control y manejo de interrupciones
Control y manejo de interrupcionesControl y manejo de interrupciones
Control y manejo de interrupcionestecnologia01
 
Interrupciones bios y irq
Interrupciones bios y irqInterrupciones bios y irq
Interrupciones bios y irqadolfoahumada94
 
Las interrupciones
Las interrupcionesLas interrupciones
Las interrupcionescwelio45
 
Sesión 10
Sesión 10Sesión 10
Sesión 10percebra
 
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_II
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_IIOrganización de Entrada y SalidaCorte_III_Sistemas_Digiales_II
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_IIJuanNarvaez48
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011ecuatareas
 
Unidad V: Organización de Entrada y Salida
Unidad V: Organización de Entrada y SalidaUnidad V: Organización de Entrada y Salida
Unidad V: Organización de Entrada y SalidaGilber Zerpa
 
FINAL Interrupciones - Arc.Computadoras.pptx.pdf
FINAL Interrupciones - Arc.Computadoras.pptx.pdfFINAL Interrupciones - Arc.Computadoras.pptx.pdf
FINAL Interrupciones - Arc.Computadoras.pptx.pdfEmanuelMuoz11
 
Organizacion de-entrada-y-salida
Organizacion de-entrada-y-salidaOrganizacion de-entrada-y-salida
Organizacion de-entrada-y-salidaJosGarca307
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1jherz2024
 
Gestión de entradas y salidas
Gestión de entradas y salidasGestión de entradas y salidas
Gestión de entradas y salidasMarbella Pereira
 

Similar to Interrupciones del microprocesador (20)

Interrupción - Informatica
Interrupción - InformaticaInterrupción - Informatica
Interrupción - Informatica
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTico
 
Control y manejo de interrupciones
Control y manejo de interrupcionesControl y manejo de interrupciones
Control y manejo de interrupciones
 
Interrupción informatica
Interrupción informaticaInterrupción informatica
Interrupción informatica
 
Interrupciones bios y irq
Interrupciones bios y irqInterrupciones bios y irq
Interrupciones bios y irq
 
PROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONESPROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONES
 
Las interrupciones
Las interrupcionesLas interrupciones
Las interrupciones
 
Sesión 10
Sesión 10Sesión 10
Sesión 10
 
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_II
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_IIOrganización de Entrada y SalidaCorte_III_Sistemas_Digiales_II
Organización de Entrada y SalidaCorte_III_Sistemas_Digiales_II
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011
 
Unidad V: Organización de Entrada y Salida
Unidad V: Organización de Entrada y SalidaUnidad V: Organización de Entrada y Salida
Unidad V: Organización de Entrada y Salida
 
3.sistema operativos
3.sistema operativos3.sistema operativos
3.sistema operativos
 
FINAL Interrupciones - Arc.Computadoras.pptx.pdf
FINAL Interrupciones - Arc.Computadoras.pptx.pdfFINAL Interrupciones - Arc.Computadoras.pptx.pdf
FINAL Interrupciones - Arc.Computadoras.pptx.pdf
 
Equipo1 comunicación con interrucción
Equipo1 comunicación con interrucciónEquipo1 comunicación con interrucción
Equipo1 comunicación con interrucción
 
Equipo1 comunicación con interrucción
Equipo1 comunicación con interrucciónEquipo1 comunicación con interrucción
Equipo1 comunicación con interrucción
 
Organizacion de-entrada-y-salida
Organizacion de-entrada-y-salidaOrganizacion de-entrada-y-salida
Organizacion de-entrada-y-salida
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 
Gestión de entradas y salidas
Gestión de entradas y salidasGestión de entradas y salidas
Gestión de entradas y salidas
 

More from Jorge Luis Tinoco

More from Jorge Luis Tinoco (7)

80286 80386-80486
80286 80386-8048680286 80386-80486
80286 80386-80486
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Metodologia uml
Metodologia umlMetodologia uml
Metodologia uml
 
Metodologia uml
Metodologia umlMetodologia uml
Metodologia uml
 
Metodologia UML
Metodologia UMLMetodologia UML
Metodologia UML
 
Applet java
Applet javaApplet java
Applet java
 
Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql server
 

Interrupciones del microprocesador

  • 1.
  • 2. CURSO: PRACTICA INTEGRAL III ALUMNO: RARÁZ TINOCO, JORGE LUIS PROFESOR: DAVILA, JUAN
  • 3.  Interrupciones del Microprocesador o De donde surgen  Funcionamiento del mecanismo de interrupciones o IRQ o Interrupciones en un PC  Tipos de Interrupciones o Interrupciones Hardware o Trampas - Traps o Interrupciones Software o excepciones  Determinación de la dirección de la rutina de servicio de interrupció o Direcciones Fijas o Direcciones Variables  Direccionamiento absoluto  Direccionamiento relativo  Direccionamiento indirecto  Sistema de Prioridad o Interrupciones Anidadas o Interrupciones Simultaneas o Inhibición de Interrupciones
  • 4. Interrupción (también conocida como corrupción del hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación. Una interrupción supone la ejecución temporaria de un programa, para pasar a ejecutar una "subrutina de servicio de interrupción", que pertenece al BIOS (Basic Volver al Menú Input Output System)
  • 5.  ¿ De donde surgen las interrupciones? Las interrupciones urgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) el dispositivo cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Aunque esta técnica fue ineficiente ya que el procesador requería de un estimado de tiempo o a veces mayor. El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática. En este caso, el microprocesador, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que Volver al Menú
  • 6. Cada dispositivo que desea comunicarse con el procesador por interrupciones debe tener asignada una línea única capaz de avisar a éste de que le requiere para una operación. Esta línea es la llamada IRQ ("Interrupt ReQuest", petición de interrupción). Las IRQ son líneas que llegan al controlador de interrupciones, un componente hardware dedicado a la gestión de las interrupciones, y que puede estar integrado en el procesador principal o ser un circuito separado conectado al procesador principal. El controlador de interrupciones debe ser capaz de habilitar o inhibir líneas de interrupción y establecer Siguiente
  • 7. Cuando varias líneas de petición de interrupción se activan a la vez, el controlador de interrupciones utilizará estas prioridades para escoger la interrupción sobre la que informará al procesador principal. Sin embargo hay interrupciones que no se pueden enmascarar o deshabilitar, las conocidas como interrupciones no enmascarables o NMI. Un procesador principal suele tener una única línea de interrupción llamada habitualmente INT . Esta línea es activada por el controlador de interrupciones cuando tiene una interrupción que servir. Al activarse esta línea, el procesador consulta los registros del controlador de interrupciones para averiguar qué IRQ es la que ha de atender. A partir del número de IRQ busca en el vector de interrupciones qué rutina debe llamar para atender al Menú Volver
  • 8. Pasos para el procesamiento de una IRQ : 1) Terminar la ejecución de la instrucción máquina en curso. 2) Salva el valor de contador de programa, IP, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción. 3) La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción. 4) Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado Volver al Menú en la
  • 9.  Interrupciones en una PC Un ordenador PC típico dispone en su placa base de un controlador de interrupciones 8259 de Intel o de un circuito integrado análogo. Este dispositivo electrónico dispone de hasta 16 líneas IRQ, numeradas desde el 00 hasta el 15. En las nuevas placas base este circuito está integrado junto con el resto del chipset y permite hasta 24 interrupciones. Volver al Menú
  • 10. 1.- Interrupciones Hardware : Son interrupciones que se producen como resultado de, normalmente, una operación de E/S. No son producidas por ninguna instrucción sino que son señales que producen los dispositivos para indicarle al procesador que necesitan ser 'atendidos'. Las interrupciones hardware son interesantes en cuanto a que permiten mejorar la productividad del procesador ya que este último puede ordenar una operación de E/S y en lugar de tener que esperar a que el dispositivo acabe realizando una espera activa, es decir, sin hacer ningún trabajo útil, se puede dedicar a atender a otro proceso o aplicación y cuando el dispositivo este de nuevo disponible será el encargado de notificarle al procesador mediante la al Menú Volver
  • 11. 2.- Trampas – Traps : Es un tipo de interrupción sincrónica típicamente causada por una condición de error, por ej. una división por 0 o un acceso inválido a memoria en un proceso de usuario. Normalmente genera un cambio de contexto a modo supervisor para que el sistema operativo atienda el error. De manera que podemos ver como las excepciones son un mecanismo de protección que permite garantizar la integridad de los datos tanto en el espacio de usuario como en el espacio kernel. El SO cuando detecta una excepción intenta solucionarla pero en caso de no poder simplemente notificará la condición de error a la aplicación y abortará la misma. Volver al Menú
  • 12. 3.- Interrupciones software o excepciones : A menudo se tiende a confundir las interrupciones software y las trampas, ya que su naturaleza es bastante similar. Sin embargo las excepciones se producen al realizar una operación no permitida por lo que de algún modo podemos decir que no es controlada directamente por el programador sino que, por un fallo al programar, se producen. No obstante las trampas sí que son provocadas por el programador. Para provocar una trampa existen distintas instrucciones en el código máquina que permiten al programador producir una interrupción al ejecutar dicha instrucción. Suelen tener nemotécnicos tales como INT. Suelen ser de vitalVolver al Menú
  • 13. En este apartado vamos a considerar las distintas alternativas que se nos presentan a la hora de decidir cómo determinar la dirección de comienzo de la rutina de servicio de interrupción que debe ejecutarse al recibir una interrupción determinada. En principio podemos definir dos alternativas: 1.- Direcciones fijas 2.- Direcciones variables Volver al Menú
  • 14. 1.- Direcciones Fijas: Se hallan cableadas en el procesador y por tanto nunca pueden ser cambiadas. Esto implica que las RSI siempre estarán en una determinada posición de la memoria. 2.- Direcciones Variables (por interrupciones vectorizadas) : En este apartado hay que matizar una cosa. Entre paréntesis podemos observar que pone "direcciones por interrupciones vectorizadas" pues bien, en este punto hay una confusión muy común y es nosotros a menudo concebimos las direcciones por interrupciones vectorizadas como un caso concreto de direcciones variables que es aquella en la que existe una tabla con los vectores de interrupción . Entre las alternativas que se implementan de manera Siguiente
  • 15.  Direccionamiento absoluto: En este caso es el dispositivo o la interfaz del dispositivo la encargada de conocer la dirección de la RSI y de enviarla al procesador para que este pueda localizar dicha subrutina y ejecutarla.  Direccionamiento relativo: El dispositivo solo suministra parte de la dirección de comienzo y es el procesador el encargado de completarla (añadiendo bits o sumando una determinada cantidad, que siempre será fija). Esta alternativa tiene una ventaja sobre la anterior y es que permite especificar la dirección de comienzo con menos bits y por tanto simplifica el diseño. Ahora bien tiene una desventaja principal y es que limita el número de dispositivos queSiguiente
  • 16.  Direccionamiento indirecto: También conocida como direccionamiento por interrupciones vectorizadas. Se mantiene una tabla de vectores de interrupción (direcciones de comienzo de las distintas RSI) y a cada interrupción se le asocia un número que será el índice por el cual se accederá a la tabla y se recuperará la información de la dirección de comienzo. Necesita señales de conformidad o 'handshaking' para sincronizar al procesador con la interfaz, ya que esta última tiene que indicarle al procesador cuando va a enviarle el índice que necesita para buscar el vector de interrupción (INT) y el procesador deberá enviar otra señal para indicar que se ha reconocido la interrupción (INTA#).Volver al Menú
  • 17. Existe las siguiente alternativas: 1.- Interrupciones anidadas : Existen dos métodos para tratar las interrupciones anidadas. El primero se basa en inhabilitar las interrupciones mientras se está ejecutando una determinada RSI. Esto puede realizarlo el hardware de manera automática en algunos procesadores pero en otros será el usuario el encargado de deshabilitarlas en caso de que desee que ninguna otra interrupción pueda interrumpir el transcurso normal de la rutina de servicio de interrupción. No es aconsejable deshabilitar las interrupciones durante mucho tiempo ya que esto degrada el rendimiento total del sistema. La otra alternativa es permitir que solo las interrupciones más Siguiente
  • 18. la RSI actual. Para esto tendremos que definir qué líneas son más prioritarias que otras. Otra consideración de esta segunda alternativa es que al anidar distintas llamadas a rutinas tendremos que contar con una pila suficientemente grande para que esta no se desborde. 2.- Interrupciones simultáneas: En este método tenemos dos alternativas, una de ellas es que exista algún hardware que tenga como entradas las señales de interrupción y de como salida la interrupción más prioritaria que está activa en ese momento. Otra alternativa es tener un método de identificación de prioridades distribuida y no generalizada como en el caso anterior, en este caso tenemos que destacar dos técnicas distintas Siguiente
  • 19. "Polling": Como ya vimos es la CPU la que chequea los Siguiente dispositivos y el orden de sondeo determina la prioridad. "Daisy-chain": "Daisy-chain" significa "cadena de flores" y viene a significar que podemos conectar los distintos dispositivos en cadena, en orden decreciente de prioridad y por tanto la señal de reconocimiento de interrupción (INTA#) solo será pasada al siguiente dispositivo en caso de que el anterior (más prioritario) no haya solicitado los servicios del procesador. Sin embargo hay algo importante que explicar y es que las señales de interrupción que van al procesador están conectadas todas a un mismo cable, por tanto, deberemos utilizar alguna técnica especial para que no se produzca un cortocircuito. Para evitar precisamente que la pista se cortocircuite se
  • 20. por cada dispositivo) y por tanto estarán tantos colectores conectados como dispositivos tengamos (se entiende que son dispositivos que mandan petición de interrupción al procesador). Híbrida: Mezcla las dos técnicas explicadas anteriormente. 3.- Inhibiciòn de interrupciones En este apartado queremos destacar las distintas alternativas de inhibición de interrupciones. Como ya hemos visto estas se pueden hacer de manera automática por el hardware en algunos casos mientras que en otros será el usuario el encargado de realizarlo por software y esto depende de la arquitectura del Volver al Menú procesador que consideremos