Excepciones en la Segmentación

17
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III

description

ARQUITECTURA DE MÁQUINAS COMPUTADORAS III. Excepciones en la Segmentación. Unidad 2: Segmentación. Docente: Ing. José Díaz Chow. Preámbulo. Clases anteriores : Procesador segmentado adelanta la ejecución creando riesgos por dependencias . - PowerPoint PPT Presentation

Transcript of Excepciones en la Segmentación

Page 1: Excepciones  en la  Segmentación

Unidad 2: Segmentación

Excepciones en la Segmentación

Docente: Ing. José Díaz Chow

ARQUITECTURA DE MÁQUINAS COMPUTADORAS III

Page 2: Excepciones  en la  Segmentación

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

Page 3: Excepciones  en la  Segmentación

Unidad 2: Segmentación

Contenido:

2.9 Excepciones• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples

Page 4: Excepciones  en la  Segmentación

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.

Page 5: Excepciones  en la  Segmentación

Unidad 2: Segmentación

Contenido: 2.9 Excepciones

• Interrupciones y excepciones• Tratamiento de las excepciones• Excepciones múltiples

Page 6: Excepciones  en la  Segmentación

Excepciones

¿Qué son las Excepciones? ¿Errores? ¿Interrupciones ? ¿Por qué se les llama así?

Page 7: Excepciones  en la  Segmentación

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).

Page 8: Excepciones  en la  Segmentación

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

Page 9: Excepciones  en la  Segmentación

Unidad 2: Segmentación

Contenido:

2.9 Excepciones• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples

Page 10: Excepciones  en la  Segmentación

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.

Page 11: Excepciones  en la  Segmentació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

Page 12: Excepciones  en la  Segmentación

Unidad 2: Segmentación

Contenido: 2.9 Excepciones

• Interrupciones y excepciones• Tratamiento de la excepción• Excepciones múltiples

Page 13: Excepciones  en la  Segmentación

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

Page 14: Excepciones  en la  Segmentación

Excepciones Múltiples (2/4)

• El caso más sencillo: Excepciones múltiples Simultáneas. Permiten el tratamiento Preciso.

MEM

BUS

ALU

Page 15: Excepciones  en la  Segmentación

Excepciones Múltiples (3/4)

• El caso más difícil: Instrucciones posteriores generan excepciones antes.

MEM

ALU

BUS

ALU

BUS

MEM

ALU

Page 16: Excepciones  en la  Segmentación

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? :

Page 17: Excepciones  en la  Segmentación

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? :