ARQUITECTURA DE MÁQUINAS
COMPUTADORAS III
Unidad 2:
Segmentación
Excepciones en la Segmentación
Docente: Ing. José Díaz Chow
Preámbulo
Clases 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).
• Interrupciones: el procesador emite un trap en el próximo ciclo, luego
de ejecutar la instrucción actual: Tratamiento Preciso.
• Con las excepciones tenemos otras dificultades:
• Ocurren durante la ejecución.
• Algunas debe ser recomenzables.
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
ALU
BUS
Excepciones Múltiples (3/4)
• El caso más difícil: Instrucciones posteriores
generan excepciones antes.
MEM
ALU
BUS
MEM
ALU
BUS
ALU
Excepciones Múltiples (4/4)
¿Cómo tratarlas? :
• 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).
Excepciones Múltiples (4/4)
¿Cómo tratarlas? :
• 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.
Descargar

Presentación U2.4