180 likes | 422 Views
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 .
E N D
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Excepciones en la Segmentación Unidad 2: Segmentación Docente: Ing. José Díaz Chow
Preámbulo • Clasesanteriores: • Procesadorsegmentadoadelanta la ejecucióncreandoriesgospordependencias . • Riesgospuedenser: Estructurales, Datos,Control • El principal peligroes la incoherencia. • Lidiar con laslatenciasquedegradan el rendimiento. • Otrasdificultades: Excepciones
Unidad 2: Segmentación Contenido: • 2.9 Excepciones • Interrupciones y excepciones • Tratamiento de la excepción • Excepcionesmúltiples
Objetivos • Expresar la dificultades y riesgosquerepresentanlasexcepciones en el diseño de CPUs segmentados. • Identificarlasdiferentesexcepcionesquepuedensurgir en cadaetapa del segmentado y evaluar los casos de excepcionesmúltiplesquepuedendarse. • Proponertécnicas para el tratamiento de lasexcepciones en los CPUs segmentados.
Unidad 2: Segmentación Contenido: • 2.9 Excepciones • Interrupciones y excepciones • Tratamiento de lasexcepciones • Excepcionesmúltiples
Excepciones • ¿Qué son las Excepciones? • ¿Errores? • ¿Interrupciones ? • ¿Por qué se les llama así?
Interrupciones y excepciones(1/2) • Interrupciones: interrupciónde la tarea en el flujo de ejecución actual y desvíodel mismo para atenderalgúnevento. • Tipos: • Asíncrona: DispositivosExternos. • Síncronas: Ocurrensíncronamente y comoconsecuencia de la ejecución (excepciones).
Interrupciones y excepciones(2/2) TRATAMIENTO DE INTERRUPCIONES • El CPU debeatender la Interrupciónalmacenando el estado de la máquina y modificando el PC para quecargue la ISR (TRAP). • Interrupciones: el procesadoremite un trap en el próximociclo, luego de ejecutar la instrucción actual: TratamientoPreciso. • Con lasexcepcionestenemosotrasdificultades: • Ocurrendurante la ejecución. • Algunasdebeserrecomenzables.
Unidad 2: Segmentación Contenido: • 2.9 Excepciones • Interrupciones y excepciones • Tratamiento de la excepción • Excepcionesmúltiples
Tratamiento de la Excepción(1/2) • CuandoocurreunaExcepción: • CPU fuerza un trap en el siguienteciclo. • Hasta que el trap sea efectivo, inhibirlasescrituras de la instrucciónque genera la excepción y lasposteriores. • CPU guarda el estado + Direcciónde la instrucciónque genera la excepción.
Tratamiento de la Excepción(2/2) • ... CuandoocurreunaExcepción: • Si existeejecución en desorden (P.E: Salto retardado) esrequeridotenerréplicasdel PC y guardar y restablecertodaslasinstrucciones. • Tratamientoanterior: Tambiénes un TratamientoPreciso
Unidad 2: Segmentación Contenido: • 2.9 Excepciones • Interrupciones y excepciones • Tratamiento de la excepción • Excepcionesmúltiples
ExcepcionesMúltiples(1/4) • El escenario anterior es ideal. En la realidadtenemosexcepcionesmúltiples. • Multiples instruccionesejecutando al unísono. • Etapasquepuedengenerar en el DLX: • BUS, MEM:Fallo de bloque de caché • D/L: Error de código de operación • ALU:Excepciónaritmética
ExcepcionesMúltiples(2/4) • El casomássencillo: ExcepcionesmúltiplesSimultáneas. Permiten el tratamientoPreciso.
ExcepcionesMúltiples(3/4) • El casomásdifícil: Instruccionesposterioresgeneranexcepciones antes.
ExcepcionesMúltiples(4/4) ¿Cómotratarlas? : • Forma precisa:En el ordende la instrucción. • Se emplea un vector de excepcionespara registrar cadaexcepciónqueocurre en el cauce. • Al ocurrirunaexcepciónse registraen el vector y se inhibenlasescrituras de la instrucción y sussucesoras (hasta antes que se inicie el próximo trap). • En la etapa MEM se consultasi la instruccióntieneexcepciónregistrada y de serasí, se fuerza un trap en el próximociclo. Ésteejecutará la rutina de tratamiento para resolver la excepción. • Unavezresuelta la excepción, se reinicia la instrucción (desde la etapa BUS).
ExcepcionesMúltiples(4/4) ¿Cómotratarlas? : • Forma no precisa:En el ordende aparición. • Cuandoocurreunaexcepción se detienetodo el cauce (se inhibentodaslasescrituras de lasinstrucciones en ejecución). • Se guarda el estado del CPU y se fuerzaun trap en el próximociclo, el queejecutará la rutina de tratamientoqueresuelve la excepción. • Unavezresuelta la excepción, se recomienzatodo el caucea partir de dondeapareció la excepción.