Excepciones e interrupciones

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Arquitectura de Computadores I
Camino de Datos y Control
Datapath para las instrucciones aritméticas y lógicas
66.20 Organización de Computadoras
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
ISA (Instruction Set Architecture)
Unidad 2: Organización del CPU
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 18 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Introducción al tiempo real en sistemas empotrados
Funcionamiento de la CPU
Capítulo 5. El procesador: Camino de datos y control.
Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
CLASE 13.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
CLASE 14.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Instruction fetch cycle (IF) IR
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 17 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Simulación en VHDL del Controlador FSM del MIPS
Unidad Central de Proceso
ARQUITECTURA DE COMPUTADORES
Curso: Fundamentos de Computación
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
Representación de números en binario
Organización de computadoras
Procesadores superescalares
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipelining Peligros de control.
Pipeline: Peligros de datos
Unidad aritmético-lógica
El procesador Diseño del control.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Datapath para las instrucciones de brinco
Pipelining Peligros (hazards).
8. Diseño del Procesador Fundamentos de los Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
Creando un solo datapath
Memoria virtual.
Memoria virtual.
Pipelining Introducción.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
Organización del Computador
PANTALLA LCD.
Organización del Computador
ESTRUCTURA DEL SISTEMA OPERATIVO INTEGRANTES: *CARBAJAL GONZALES, ESMERALDA *GONZALES CABRERA, MIRIAM *OTRIZ SARAVIA, KAREN.
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
Scheduling dinámico: algoritmo de Tomasulo
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Pipelining Peligros de control.
El procesador Datapath y control.
Pipelining Peligros de control.
Conjunto de programas contenidos en un núcleo o kernel que efectúan la gestión de los procesos básicos de un Sistema informático, y permite la normal.
Transcripción de la presentación:

Excepciones e interrupciones Pipelining Excepciones e interrupciones

Excepciones e interrupciones Son eventos, que no son branches ni jumps, que cambian el flujo normal de ejecución de las instrucciones. Fueron creadas para manejar eventos inesperados dentro de la CPU. Algunas arquitecturas no distinguen entre excepciones e interrupciones Universidad de Sonora Arquitectura de Computadoras

Excepciones e interrupciones En MIPS (y otras arquitecturas): Se llama excepción si la causa del evento es interna. Se llama interrupción si la causa del evento es externa. Ejemplos: Fuente: COD 5, p. 326. Universidad de Sonora Arquitectura de Computadoras

Excepciones e interrupciones Para no estar escribiendo “excepciones e interrupciones” en el resto de esta presentación se habla solo de “excepciones.” Universidad de Sonora Arquitectura de Computadoras

Excepciones en MIPS Cuando se produce una excepción: Se guarda la dirección de la instrucción actual en el registro EPC (Exception Program Counter). Se transfiere en control al sistema operativo en alguna dirección específica. El sistema operativo maneja la excepción. El sistema operativo puede: Abortar el programa. Continuar la ejecución usando el EPC para regresar. Universidad de Sonora Arquitectura de Computadoras

Manejo de excepciones En el paso 3 “El sistema operativo maneja la excepción.” El sistema operativo debe saber cuál fue la excepción. Hay dos formas de saber: Usar un registro de status. Usar interrupciones vectorizadas (vectored interrupts). Universidad de Sonora Arquitectura de Computadoras

Registro de status El registro de status tiene un campo que indica la razón de la excepción. En MIPS se llama “registro Causa” (Cause register). La rutina de manejo de excepciones tiene una dirección. El sistema operativo brinca a esa dirección y analiza el registro Causa para saber la razón de la excepción. Universidad de Sonora Arquitectura de Computadoras

Interrupciones vectorizadas Cada interrupción tiene su propio manejador (handler). Las direcciones se guardan en una tabla. Por ejemplo: Tipo de excepción Dirección (hex) Instrucción no definida 0x80000000 Overflow 0x80000180 Etc. Universidad de Sonora Arquitectura de Computadoras

Interrupciones vectorizadas El sistema operativo sabe la causa de la excepción por la dirección. Como parte del manejo de la excepción, el sistema operativo guarda en alguna parte la causa de la excepción. Universidad de Sonora Arquitectura de Computadoras

Implementación Se supone que la rutina que maneja excepciones está en la dirección 0x80000180. Se necesitan agregar dos registros: EPC. Registro de 32 bits para guardar la dirección donde se produjo la excepción. Causa. Registro de 32 bits que registra la causa de la excepción en un campo de 5 bits. Suponer que 10 representa una instrucción indefinida y 12 un overflow. Una excepción se trata igual que un brinco mal adividado. Universidad de Sonora Arquitectura de Computadoras

Implementación Se hacen dos cosas: Eliminar (flush) las instrucciones que sigan a la instrucción que provocó la excepción. Empezar a sacar instrucciones de la dirección de la rutina de manejo de excepciones (0x80000180 en el ejemplo). El pipeline se limpia poniendo a ceros las señales de control. Universidad de Sonora Arquitectura de Computadoras

Implementación Se agregan dos señales de control: ID.Flush para eliminar la instrucción en la etapa ID. EX.Flush para eliminar la instrucción en la etapa EX. Se debe evitar que la instrucción que provocó la excepción escriba en WB. Por último, se guarda la dirección de la instrucción que provocó la excepción en el registro EPC. Se muestra el datapath para manejar excepciones. Universidad de Sonora Arquitectura de Computadoras

Datapath Fuente: COD 5, p. 329. Universidad de Sonora Arquitectura de Computadoras

Explicación La dirección 0x80000180 entra al mux que controla lo que se guarda en el PC. Si se genera una excepción, se comienza a sacar instrucciones de la dirección 0x80000180. El registro Causa registra la causa de la excepción. El registro EPC guarda la dirección de la instrucción que provocó la excepción. Universidad de Sonora Arquitectura de Computadoras

Ejemplo Dado el siguiente código 0x40 sub $11, $2, $4 0x44 and $12, $2, $5 0x48 or $13, $2, $6 0x4C add $1, $2, $1 0x50 slt $15, $6, $7 0x54 lw $16, 50($7) … Universidad de Sonora Arquitectura de Computadoras

Ejemplo Suponer que la rutina de manejo de excepciones comienza con: 0x80000180 sw $26, 1000($0) 0x80000184 sw $27, 1004($0) … Mostrar que pasa si la instrucción add produce un overflow. Universidad de Sonora Arquitectura de Computadoras

Antes Antes. Fuente: COD 5, p. 330. Universidad de Sonora Arquitectura de Computadoras

Después Después. Fuente: COD 5, p. 330. Universidad de Sonora Arquitectura de Computadoras

Temas avanzados Manejo de excepciones múltiples. Excepciones imprecisas. Universidad de Sonora Arquitectura de Computadoras