Interrupciones de Reloj y Teclado.

Documentos relacionados
Arquitectura de computadoras

Conmutación de Tareas

Práctica 3: El teclado del PC

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

CICLOS DEL PROCESADOR

Introducción Ejercicios PIC: Intel 8259 Más ejercicios Preguntas. Entrada/Salida. Polling e Interrupciones. Francisco García Eijó

Taller de Sistemas Operativos. Interrupciones y Excepciones

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema

Entrada/Salida. Nano Semelman Maximiliano Geier Maximiliano Sacco. Sistemas Operativos, 2c DC - FCEyN - UBA

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

Velocidades Típicas de transferencia en Dispositivos I/O

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

Procesamiento con Multitarea

Laboratorio 06. Diseño e implementación de un sistema digital para la captura de caracteres desde teclado

1Guía de configuración de redes inalámbricas

Manejo de Entrada-Salida. Arquitectura de Computadoras

Conmutación de Tareas

Entrada/Salida. Polling e Interrupciones. Verano de Mariano Moscato. Organización del Computador 1

Actualizaciones de software Guía del usuario

Arquitectura de Computadores II Clase 15

Manejo de Entrada-Salida. Arquitectura de Computadoras

Tema 9 Periféricos de Entrada

SISTEMAS OPERATIVOS Arquitectura de computadores

Arquitectura de Computadores I Ejercicios de laboratorio de E/S 1

Microprocesadores. Procesadores IA-32 e Intel R 64 Tareas. Alejandro Furfaro

Utilidad de configuración

Controlador Programable de Interrupciones i8259

Juego Jarras con Agua Guía del Usuario

Procesadores IA-32 e Intel R 64 Inicialización

Funcionamiento de un ordenador. Conrado Perea

INTRODUCCIÓN. Interrupciones.

Procesadores de 64 bits

MINI GUIA: CONEXIÓN SEPAM CON USB WINDOWS - XP

Examen 23 de Febrero de 2007

MANUAL PARA CONECTARSE A LA RED WI-FI SISTEMA OPERATIVO WINDOWS XP.

SISTEMAS BASADOS EN MICROPROCESADORES

NOCIONES GENERALES Y ENTORNO

Unidad 2. Elementos de Word2007 (I)

Tema 4: Las interrupciones y la ROM-BIOS

TUTORIAL SOBRE HOJAS DE CALCULO

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Tutorial para el uso de la Plataforma de la Construcción Curricular

ÁREA SISTEMAS GUÍA DE APRENDIZAJE

HERRAMIENTAS DEL SISTEMA PRESENTADO POR: NELSON PLAZAS ANDRES CHARRY

Word Básico Word Básico

Actualizaciones de software Guía del usuario

Manual de Instrucción para el usuario del sistema de TELE-MAPA

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

En primer lugar, analizaremos algunos de los principios del hardware y después del software de E/S en general.

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1

REQUISITOS, INSTALACIÓN, CONFIGURACIÓN E INICIO

Microsoft Office Word

Excel 2010 Introducción al entorno de trabajo

ARQUITECTURA DE COMPUTADORES (2º ING. INFORMATICA) PRACTICA 5 (CURSO 2004/05) ENTRADA/SALIDA. Contador 1. Contador 2

Intel Learning Series Theft Deterrent Sistema disuasivo de robos y administrador de activos

1 Configurar una conexión inalámbrica (Wi-Fi)

HP Hotkey Filter. Guía del administrador

TECNOLOGÍA DE REDES. Temario (Segunda Parte) 18/04/2008. Unidad 3. Introducción a los Routers (Segunda Parte)

Entrada / Salida. Relojes y terminales. Dr. Alonso Ramírez Manzanares 4-Nov-2010

Configuración preliminar de blender para usar el editor de video.

Manual de Actualización del Componente JAVA para Firma Electrónica Avanzada

MATERIA: Módulo profesional de ofimática. FACILITADOR: Lic. Armando Barrios Mercado. TEMA: Clasificación del Hardware

Introducción. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

Manual del usuario. Sistema de Cotizaciones SoCoE PROVEEDOR

Ashampoo Rescue Disc

Introducción a la Entrada/Salida

TRABAJO RECUPERACION

Manual de Usuario. Aplicación de Autoevaluación de Centros

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

06. GESTIÓN DE PROCESOS Y RECURSOS

Agosto de 2012 TUTORIAL PSEINT. Servicio Nacional de Aprendizaje SENA Jordan Angulo Canabal

INSTRUCTIVO DE REGISTRACIÓN DE USUARIOS WEB

UNIDAD 2. CREAR, ABRIR Y CERRAR UNA BASE DE DATOS

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS.

1-Componentes Físicos y Lógicos de un Ordenador.

Bochs: VESA Bios Extensions

Arquitectura de Computadores

EXÁMEN SISTEMAS OPERATIVOS MONOPUESTO

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Profesor: Marcelo Rebellato. Teórico 3. Teclado

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

COLEGIO NUESTRA SEÑORA DEL CARMEN Hatillo, Puerto Rico Año escolar:

Introducción a la arquitectura de computadores

Velocidades Típicas de transferencia en Dispositivos I/O

Validación De Certificados - Autoridad De Registro 01/ Configuraciones Previas:

Periféricos Interfaces y Buses

Introducción a los Sistemas Operativos

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

RECEPCIÓN DE LA PLANILLA POR IVA PAGADO PORTAL SAT MANUAL ENVÍO ELECTRÓNICO PLANILLA DE IVA

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Elementos esenciales del formulario

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador.

Procesadores IA-32 e Intel R 64 Gestión de Interrupciones

LOGGER DE TEMPERATURA AMBIENTAL H Manual del usuario

Esta guía describe los recursos comunes a la mayoría de los modelos. Es posible que algunos recursos no estén disponibles en su equipo.

Actividad 1.1 Instalación típica de Windows 2000 Server

Procedimiento general Luminotecnia: PGL11F

Relación de Problemas I

Transcripción:

Interrupciones de Reloj y Teclado. Diplomónadas Microspóridas... Cadenas Manuel Ferreria Pablo Somodi Mariano Cerrutti DC - FCEyN - UBA 6 de Junio de 2017 Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 1 / 15

Repaso de IDT Contexto IDT: Almacena descriptores de interrupción. Su dirección se almacena en el registro IDTR. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 2 / 15

Contexto Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 3 / 15

Contexto Lo que vimos Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 4 / 15

Contexto Lo que vemos hoy Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 5 / 15

Contexto Interrupciones externas Interrupciones Externas (Enmascarables) Reloj: La máquina posee un reloj interno que genera interrupciones a intervalos regulares de tiempo. Hoy veremos cómo capturar esa interrupción y hacer que se ejecute una rutina cada vez que esto sucede. Teclado: También veremos cómo capturar las interrupciones generadas por el teclado, al presionar una tecla. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 6 / 15

Cómo manejar interrupciones externas Cómo las manejamos? Esquema General Igual que manejamos las excepciones: 1 Se definen las rutinas de atención para cada interrupción. void isrxx() 2 Se declaran en la IDT. Cómo? JMP clase3 3 Se remapea el PIC. Remapear que? 4 Se activan las interrupciones. Cómo? Se activa el flag IF del registro EFLAGS. Buscar la instrucción sti en el manual. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 7 / 15

Cómo manejar interrupciones externas El PIC Esquema del controlador de interrupciones Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 8 / 15

El PIC Cómo manejar interrupciones externas El PIC Es un dispositivo (chip) al que le llegan las interrupciones de los demás dispositivos de la máquina. Administra las interrupciones por prioridad, y las manda al procesador (i.e. la interrupción del reloj y la del teclado van primero). Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 9 / 15

El PIC Cómo manejar interrupciones externas El PIC El PIC puede atender 15 interrupciones (IRQ0 - IRQ15, la IRQ2 no cuenta ya que es donde se conecta otro PIC en cascada). Por defecto, estas IRQs están mapeadas a las interrupciones 0x8 a 0xF (PIC1) y de 0x70 a la 0x77 (PIC2). Como vimos, las interrupciones de la 0 a la 31 están reservadas para el procesador y, en particular, de la 8 a la 15 ya están ocupadas por las excepciones del mismo... Si se produce la interrupción, se llama al handler de la excepción. Hay un conflicto, y para solucionarlo hay que remapearlas. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 10 / 15

Cómo manejar interrupciones externas El PIC Habilitando/Deshabilitando PIC Las rutinas para hacer esto ya están hechas y listas para usar en el archivo pic.h. Éstas son: resetear pic (remapeo), habilitar pic y deshabilitar pic. Por lo tanto: Después de remapear el PIC y habilitarlo, tenemos que la interrupción de reloj está mapeada a la interrupción 32 y el teclado, a la 33. Resta habilitar las interrupciones utilizando la instrucción sti. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 11 / 15

Cómo manejar interrupciones externas Rutinas de Atención Rutinas de atención - Esquema general 1 Preservar los registros que vayamos a romper ( la interrupción debe ser transparente!) 2 Comunicar al PIC que ya se atendió la interrupción (EOI) (rutina fin intr pic1) del archivo pic.h. 3 Realizar la tarea correspondiente a la interrupción. 4 Restaurar los registros. 5 Retornar de la interrupción. (iret) NOTA: No es necesario deshabilitar las interrupciones al comienzo de la rutina, ya que el procesador lo hace automáticamente (si definimos el descriptor como un interrupt gate). Tampoco es necesario volver a habilitarlas al finalizar. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 12 / 15

Cómo manejar interrupciones externas Rutinas de atención del teclado Rutinas de Atención Leemos del teclado a través del puerto 0x60 (in al, 0x60). Obtenemos un scan code. Scan code: Es lo que genera el teclado luego de presionar una tecla; es decir, a cada tecla le corresponde uno. El teclado reconoce cuando se está presionando una tecla y cuando se la está soltando y genera diferentes códigos en cada caso. Estos códigos son denominados make codes y break codes, respectivamente. Por ejemplo: La tecla a tiene asociado el scan code 0x1E, la tecla b el 0x30, etc. Cuando se suelta la tecla a se genera el break code 0x9E (= 0x1E + 0x80), es decir, se suma 0x80 al valor del make code. Pueden ver los scan codes correpondientes a cada tecla en: http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html (sección: 1.4 Ordinary scancodes ). Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 13 / 15

Listo! Cómo manejar interrupciones externas Rutinas de Atención Preguntas? Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 14 / 15

TP! Cómo manejar interrupciones externas Rutinas de Atención 1 Completar las entradas necesarias en la IDT para asociar una rutina a la interrupción del reloj, otra a la interrupción de teclado y por último una a la interrupción de software 0x66. 2 Escribir la rutina asociada a la interrupción del reloj, para que por cada tick llame a la función screen proximo reloj. La misma se encarga de mostrar cada vez que se llame, la animación de un cursor rotando en la esquina inferior derecha de la pantalla. La función proximo reloj está definida en isr.asm. 3 Escribir la rutina asociada a la interrupción de teclado de forma que si se presiona cualquiera de las teclas a utilizar en el juego, se presente la misma en la esquina superior derecha de la pantalla. 4 Escribir la rutina asociada a la interrupción 0x66 para que modifique el valor de eax por 0x42. Posteriormente este comportamiento va a ser modificado para atender el servicio del sistema. Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones por hardware. 6 de Junio de 2017 15 / 15