Arquitectura de Computadores Clases 14 - 15 Interrupciones de software y hardware IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica.

Slides:



Advertisements
Presentaciones similares
Consideraciones generales (2). Evolución de la arquitectura Un periférico conectado al procesador mediante un bus especial Un buffer intermedio que permite.
Advertisements

LA COMPUTADORA.
RESUMEN: Softmicro de 8 bits Xilinx
Ordenador, computadora P.C. Conceptos.
Informática II Prof. Dr. Gustavo Patiño MJ
SISTEMAS OPERATIVOS UNIDAD 1..
UTFSM - Sistemas Operativos
Funcionamiento de una Computadora
Composición Interna de un Procesador
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
TRADUCTOR DE UN PROGRAMA

LA COMPUTACIÓN.
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
Unidad 2: Organización del CPU
Informática Conceptos básicos.
Unidad 7 Entrada/Salida
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.
SEMANA 9_3.
Overview Sistemas Computacionales
Esquemas de Interrupción
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
Introducción al tiempo real en sistemas empotrados
Ing. Jorge A. Abraham Técnicas Digitales II
Puertos I/O Los puertos son los encargados de enviar y recibir la información en un computador, pero como hace el procesador para hacer este intercambio.
1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.
Gestión de procesos Sistemas Operativos Edwin Morales
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.

1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Memoria virtual.
“Organización y Arquitectura de Computadores” William Stallings
Sesión 08: Interrupciones - IRQ. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
Conceptos Básicos de Informática
Computadoras Analógicas Computadoras Digitales
Tecnología de la Información y Comunicación 1
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
Operación del Hardware en el manejo de aplicaciones de cómputo
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
Sesión 07: Interrupciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Hecho por: M.C. Luis Fernando Guzmán Nateras v3 Organización de Computadoras Preparación: Examen 1 JEOPARDY.
PLAN DE CLASE Nº 4    Tema: Informática: Software y Hardware.
Principio unidad 1.
INTERRUPCIONES – ABRAZO MORTAL
Elementos y tipos de sistemas operativos
Driver o controlador para la pc.
UNIDAD I INTRODUCCION A LOS S.O.
Presentación Que es informática Sistema informativo Que es un computador Dispositivos de entrada Dispositivos de salida Software y hardware Dispositivos.
José Alvarado – Cristian Anzola
ò Unidad Aritmético-Lógica ò Unidad de Control ò Buses internos ò Registros ò Puntero de Instrucciones (IP o PC) ò Acumulador ò De uso Generales ò.
Arquitectura de Computadores
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
 Software  Humanware  Hardware Conformado por.
Arquitectura de Computadores Clase 16 Sistemas y Jerarquías de Almacenamiento IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Universidad de Los Andes Facultad de Humanidades y Educación Educación: Mención Lenguas Modernas Br. Diego N. Gutiérrez D. C.I Mérida, 22 de.
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores Clase 13 Subrutinas y Manejo de Stack IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Arquitectura de Computadores
Estructura y funcionamiento de un sistema de cómputo
Arquitectura de Computadores Clase 12 Instrucciones en lenguaje de máquina IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile.
Transcripción de la presentación:

Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Objetivos Capítulo 4 : Unidad de Procesamiento Central (CPU) Entender qué son y para qué sirven las interrupciones. Entender todas las partes del flujo de una interrupción. Entender el funcionamiento de un controlador externo de interrupciones. Objetivos R.Mitnik 2Arquitectura de Computadores

R.Mitnik Arquitectura de Computadores3 Índice Capítulo 4 : Unidad de Procesamiento Central (CPU) 4.1 Partes de la CPU. 4.2 Conjunto de Instrucciones y tipos de funcionalidad. 4.3 Ciclo de la Instrucción. 4.4 Diseño de una CPU básica. 4.5 Modos de direccionamiento. 4.6 Instrucciones en lenguaje de máquina. 4.7 Subrutinas y Manejo de Stack. 4.8 Interrupciones de software y hardware. 4.9 CISC/RISC.

R.Mitnik Arquitectura de Computadores4 Capítulo 4 : Unidad de Procesamiento Central (CPU) Interrupciones de software y hardware Son una forma de alterar externamente el flujo del programa Interrumpen el flujo para ejecutar otro código Pueden ocurrir en cualquier momento No se sabe a priori cuando van a ocurrir Duración del evento gatillante puede ser muy corto Necesitan ser atendidas muy pronto Interrupciones

R.Mitnik Arquitectura de Computadores5 Capítulo 4 : Unidad de Procesamiento Central (CPU) Usos: I/O Mejora la eficiencia por que no hay que hacer polling  Polling  overhead Asegura atención en el momento requerido  Exactitud Errores Ej. división por cero, Index out of range, page fault Error no previsto, puede ocurrir en cualquier momento. Timer Soporte para Sistema Operativo (task switching) Software Interrupciones de software y hardware

R.Mitnik Arquitectura de Computadores6 Capítulo 4 : Unidad de Procesamiento Central (CPU) Ej. Un computador, además de estar ejecutando programas, recibe datos por un puerto usb y los muestra en pantalla Espera activa no sirve Se queda pegado. Los otros programas no se siguen ejecutando. Polling es ineficiente Pueden ser muchos puertos. Estoy en otro loop y no reviso en el momento adecuado  se pierde el dato. Interrupciones Programa sigue corriendo y solo busca el dato cuando le “avisan” que llegó. Busca solo en el puerto que lo interrumpió. No importa donde esté en el código. Interrupciones de software y hardware

R.Mitnik Arquitectura de Computadores7 Capítulo 4 : Unidad de Procesamiento Central (CPU) Ej. ¿Qué pasa si estoy guardando un archivo muy pesado y muevo el mouse? Sin interrupciones: el puntero del mouse no se mueve a tiempo real Si el buffer está en la CPU se pierden los datos Si el buffer está en la tarjeta del mouse al terminar de guardar el archivo, se ejecutan todos los movimientos seguidos Con interrupciones se mueve de inmediato y normalmente Interrupciones de software y hardware

R.Mitnik Arquitectura de Computadores8 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware 1 Dispositivo: Teclado CPU int

R.Mitnik Arquitectura de Computadores9 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware 1 Dispositivo: Teclado Para “conversar” con el teclado sin interrupciones necesito: Conexión con el bus de datos Conexión con el bus de direcciones Para interrumpir necesito: Señal de interrupción A ti te hablo y esto te digo direcciones datos

R.Mitnik Arquitectura de Computadores10 Capítulo 4 : Unidad de Procesamiento Central (CPU) Teclado interrumpe CPU termina instrucción CPU pide datos al teclado Teclado entrega datos Sigue pidiendo hasta que no queden más datos CPU le dice que ya no siguen conversando EOI CPU vuelve a lo que estaba haciendo antes ISRISR Interrupt Service Routine Secuencia: Interrupciones de software y hardware

R.Mitnik Arquitectura de Computadores11 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware 2 Dispositivos: Teclado & Mouse CPU Int Controlador de interrupciones Int a

R.Mitnik Arquitectura de Computadores12 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware 2 Dispositivos: Teclado & Mouse Agregamos controlador que nos indica quien interrumpió ¿Por que no 2 líneas de int? No es escalable Pierde eficiencia CPU resuelve todo

CPU ejecuta ISR asociado al teclado R.Mitnik Arquitectura de Computadores13 Capítulo 4 : Unidad de Procesamiento Central (CPU) Teclado interrumpe CPU termina instrucción EOI al controlador Pasa a la siguiente interrupción Cuando se acaben … CPU vuelve a lo que estaba haciendo antes CPU pregunta quien interrumpió Controlador le responde por el bus de datos Implementación en Hardware

Teclado interrumpe CPU termina instrucción CPU pregunta quien interrumpió Controlador le responde por el bus de datos CPU vuelve a lo que estaba haciendo antes CPU ejecuta ISR asociado al teclado R.Mitnik Arquitectura de Computadores14 Capítulo 4 : Unidad de Procesamiento Central (CPU) EOI al controlador Pasa a la siguiente interrupción Cuando se acaben … Si no quiero que alguien interrumpa lo enmascaro Implementación en Hardware

R.Mitnik Arquitectura de Computadores15 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware 8 Dispositivos Agregamos controlador 8259 PIC (Programable Interrupt Controller) IMR: Interrupt Mask Register IRR: Interrupt Request Register ISR: In Service Register

Int Int a R.Mitnik Arquitectura de Computadores16 Capítulo 4 : Unidad de Procesamiento Central (CPU) CPU 8259 PIC IRQ0 IRQ1 IRQ7 ISRPriority solver IRRIMR Control Logic Data Bus Addr Bus Control Bus 8259 PIC Implementación en Hardware

CPU busca dirección de ISR en el vector de interrupciones Dispositivo interrumpe CPU termina instrucción CPU pregunta quien interrumpió Controlador le dice por bus de datos PIC pone valor de la interrupción en el bus de datos R.Mitnik Arquitectura de Computadores17 Capítulo 4 : Unidad de Procesamiento Central (CPU) Determinar enmascaramiento Resolver Prioridad Almacenar int a procesar EOI al controlador Pasa a la siguiente interrupción Cuando se acaben … CPU vuelve a lo que estaba haciendo antes PIC manda INTA PIC CPU ejecuta ISR asociado al teclado dispositivo IRQ0 IRQ1 IRQ2 IRQ3. Vector de interrupciones ISR IRQ3 Implementación en Hardware

CPU busca dirección de ISR en vector PIC interrumpe CPU termina instrucción CPU manda INTA PIC pone valor de la interrupción en el bus de datos R.Mitnik Arquitectura de Computadores18 Capítulo 4 : Unidad de Procesamiento Central (CPU) Determinar enmascaramiento Resolver Prioridad Almacenar int a procesar EOI al PIC Pasa a la siguiente interrupción Cuando se acaben … CPU vuelve a lo que estaba haciendo antes CPU ejecuta ISR asociado al dispositivo Implementación en Hardware

R.Mitnik Arquitectura de Computadores19 Capítulo 4 : Unidad de Procesamiento Central (CPU) Int Int a CPU 8259 PIC 0x20 IRQ0 IRQ1 IRQ PIC IRQ8 IRQ9 IRQ PIC 0xA0 Implementación en Hardware

Vector de interrupciones Contiene 256 direcciones 00  FF Cada dirección ocupa 4 bytes R.Mitnik Arquitectura de Computadores20 Capítulo 4 : Unidad de Procesamiento Central (CPU) CPU pide valor de interrupción PIC1: xxx xxx : IRQ0-7  08 – 0F PIC2: xxx xxx : IRQ8-15  70 – 77 CPU busca dirección de ISR en vector de interrupciones Implementación en Hardware

Vector de interrupciones x86 R.Mitnik Arquitectura de Computadores21 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Hardware

Cuando el programa se interrumpe, antes de ejecutar el ISR correspondiente se debe: Terminar instrucción. Guardar: PC Registros Condition Codes o Status word R.Mitnik Arquitectura de Computadores22 Capítulo 4 : Unidad de Procesamiento Central (CPU) Implementación en Software Fetch ExeINT Sin int Con int int

Resumen Capítulo 4 : Unidad de Procesamiento Central (CPU) Interrupciones Qué son Usos Ventajas Secuencia de procesamiento de una interrupción Uso e importancia del PIC 8259 R.Mitnik 23Arquitectura de Computadores Resumen