Unidad 2: Segmentación
Excepciones en la Segmentación
Docente: Ing. José Díaz Chow
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III
PreámbuloClases anteriores:
• Procesador segmentado adelanta la ejecución creando riesgos por dependencias .
• Riesgos pueden ser: Estructurales, Datos, Control
• El principal peligro es la incoherencia.• Lidiar con las latencias que degradan el
rendimiento.• Otras dificultades: Excepciones
Unidad 2: Segmentación
Contenido:
2.9 Excepciones• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples
Objetivos
• Expresar la dificultades y riesgos que representan las excepciones en el diseño de CPUs segmentados.
• Identificar las diferentes excepciones que pueden surgir en cada etapa del segmentado y evaluar los casos de excepciones múltiples que pueden darse.
• Proponer técnicas para el tratamiento de las excepciones en los CPUs segmentados.
Unidad 2: Segmentación
Contenido: 2.9 Excepciones
• Interrupciones y excepciones• Tratamiento de las excepciones• Excepciones múltiples
Excepciones
¿Qué son las Excepciones? ¿Errores? ¿Interrupciones ? ¿Por qué se les llama así?
Interrupciones y excepciones (1/2)
• Interrupciones: interrupción de la tarea en el flujo de ejecución actual y desvío del mismo para atender algún evento.
• Tipos: • Asíncrona: Dispositivos Externos.• Síncronas: Ocurren síncronamente y
como consecuencia de la ejecución (excepciones).
Interrupciones y excepciones (2/2)
• El CPU debe atender la Interrupción almacenando el estado de la máquina y modificando el PC para que cargue la ISR (TRAP).
• Con las excepciones tenemos otras dificultades:• Ocurren durante la ejecución.• Algunas debe ser recomenzables.
• Interrupciones: el procesador emite un trap en el próximo ciclo, luego de ejecutar la instrucción actual: Tratamiento Preciso.
TRATAMIENTO DE INTERRUPCIONES
Unidad 2: Segmentación
Contenido:
2.9 Excepciones• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples
Tratamiento de la Excepción (1/2)
• Cuando ocurre una Excepción:• CPU fuerza un trap en el siguiente ciclo.• Hasta que el trap sea efectivo, inhibir
las escrituras de la instrucción que genera la excepción y las posteriores.
• CPU guarda el estado + Dirección de la instrucción que genera la excepción.
Tratamiento de la Excepción (2/2)
• ... Cuando ocurre una Excepción:• Si existe ejecución en desorden (P.E:
Salto retardado) es requerido tener réplicas del PC y guardar y restablecer todas las instrucciones.
• Tratamiento anterior: También es un Tratamiento Preciso
Unidad 2: Segmentación
Contenido: 2.9 Excepciones
• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples
Excepciones Múltiples (1/4)
• El escenario anterior es ideal. En la realidad tenemos excepciones múltiples.
• Multiples instrucciones ejecutando al unísono.• Etapas que pueden generar en el DLX:• BUS, MEM: Fallo de bloque de caché• D/L: Error de código de operación• ALU: Excepción aritmética
Excepciones Múltiples (2/4)
• El caso más sencillo: Excepciones múltiples Simultáneas. Permiten el tratamiento Preciso.
MEM
BUS
ALU
Excepciones Múltiples (3/4)
• El caso más difícil: Instrucciones posteriores generan excepciones antes.
MEM
ALU
BUS
ALU
BUS
MEM
ALU
Excepciones Múltiples (4/4)
• Forma precisa: En el orden de la instrucción.− Se emplea un vector de excepciones para registrar cada excepción
que ocurre en el cauce. − Al ocurrir una excepción se registra en el vector y se inhiben las
escrituras de la instrucción y sus sucesoras (hasta antes que se inicie el próximo trap).
− En la etapa MEM se consulta si la instrucción tiene excepción registrada y de ser así, se fuerza un trap en el próximo ciclo. Éste ejecutará la rutina de tratamiento para resolver la excepción.
− Una vez resuelta la excepción, se reinicia la instrucción (desde la etapa BUS).
¿Cómo tratarlas? :
Excepciones Múltiples (4/4)
• Forma no precisa: En el orden de aparición. − Cuando ocurre una excepción se detiene todo el
cauce (se inhiben todas las escrituras de las instrucciones en ejecución).
− Se guarda el estado del CPU y se fuerza un trap en el próximo ciclo, el que ejecutará la rutina de tratamiento que resuelve la excepción.
− Una vez resuelta la excepción, se recomienza todo el cauce a partir de donde apareció la excepción.
¿Cómo tratarlas? :