Manejador de interrupción (subrutina)

Slides:



Advertisements
Presentaciones similares
REGISTROS INTERNOS DEL PROCESADOR.
Advertisements

TEMA 2 Arquitectura de un Ordenador
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
ITESCAM Lenguaje de Interfaz
ENTRADA / SALIDA 1.
Programación en Lenguaje Ensamblador.
Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C.
Evidencia no. 5 modos de direccionamiento Paréntesis para poder resolverla ADD OP-DESTINO, OP.FUENTE OP1 OP2 SUMA= ADD ¿Cómo funciona? Op_Destino=Op_Destino+Op.Fuente.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO

Introducción al lenguaje ensamblador
MODOS DE DIRECCIONAMIENTO

Lenguaje Ensamblador Unidad 2
Microprocesador (80X86) Universidad Nacional de Ingeniería
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Introducción al tiempo real en sistemas empotrados
Tema 1: DATOS Y REGISTROS
Departamento de Informática. Curso ENTRADA Y SALIDA LECCIÓN 12 ORGANIZACIÓN DE ENTRADA Y SALIDA.
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.


A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la.
MODOS Y METODOS DE DIRECCIONAMIENTO
Sistemas Operativos Ensamblador. Junio de 2005Cesar Guisado2 Ventajas del Ensamblador La primera razón para trabajar con ensamblador es que proporciona.
SEMANA 01_2.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
TEMA : ARQUITECTURA DE COMPUTADORAS
Programación en Lenguaje Ensamblador.
Módulo Serial Asicrónico SCI (Serial Communications Interface Module)
Arquitectura de Computadores
Etapas de solución de un problema. Módulo o secciones de un algoritmo.
El microprocesador y su arquitectura
El Computador. Computador. Máquina compuesta de elementos físicos (en su mayoría de origen electrónico) capaz de aceptar unos datos de entrada, realizar.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Arquitectura de PCs Programación de periféricos. Introducción Función de E/S: acceso a un dispositivo periférico por la interfaz de la CPU al dispositivo.
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 PCs El BIOS. Introducción Un PC tiene parámetros específicos para el acceso a dispositivos periféricos: por ejemplo, acceso a disco duro.
Arquitectura de Computadores Clase 13 Subrutinas y Manejo de Stack IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de PCs Secuencia de compilación de un programa.
Organización del Computador Entradas / Salidas. Modelo de I/O.
Constitución General de una Computadora.  Son todos los dispositivos y componentes físicos de una computadora.  Dispositivos de entrada.  Dispositivos.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
ARQUITECTURA BÁSICA DE UN ORDENADOR
Unidad 01 Introducción a la computación
Datapath para las instrucciones de carga y almacenamiento (load/store)
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
Arquitectura 2013 Explicación 3 - continuación.
Clase 7 Assembly - Simulador MSX88.
Explicación 3 Periféricos.
MC Beatriz Beltrán Martínez Primavera 2016
Informática ¿Qué es una computadora?
Clase 6 Assembly - Simulador MSX88 Subrutinas.
Arquitectura 2014 Explicación 1.
PICOBLAZE RESUMEN.
Explicación 2 Interrupciones.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
Lenguaje Ensamblador. Repertorio de instrucciones Microprocesador Z80.
Organización de la memoria
Periféricos de entrada
Manejo de video y teclado
PICOBLAZE RESUMEN.
MC Beatriz Beltrán Martínez Otoño 2017
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Control De Interrupción En El Sistema Operativo Alumno: Juan Gómez v Ángel Dávila v-xxxxxxxx Profesor República Bolivariana de Venezuela Ministerio.
Gestión del sistema de entrada / salida
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

Manejador de interrupción (subrutina) Programa en ejecución 1. Interrupción 4. Vuelta al programa 2. Salto a la subrutina Manejador de interrupción (subrutina) 3. Se maneja la interrupción

Implementación ¿Cómo lo solucionamos? El procesador tiene una única entrada de pedido de interrupciones. Si tenemos varios productores de interrupciones ¿Cómo lo solucionamos?

Interrupciones vectorizadas El dispositivo que quiere interrumpir además de la señal de pedido de interrupción, debe colocar en el bus de datos un identificador (tipo).

Vector de interrupciones 0000H DIR 0_0 0001H DIR 0_1 0002H DIR 0_2 0003H DIR 0_3 0004H DIR 1_0 0005H DIR 1_1 0006H DIR 1_2 0007H DIR 1_3 0008H DIR 2_0 0009H DIR 2_1 000AH DIR 2_2 000BH DIR 2_3 000CH DIR 3_0 000DH DIR 3_1 … 0400H INT 0 INT 1 TIPO 1k = 1024 Bytes INT 2 Dirección de la rutina de atención a la interrupción 2 … INT 255

Vector de interrupciones ¿Cómo trabajan? 3. Accede al vector de acuerdo al identificador x [ X * 4 ] Vector de interrupciones 4. salto PILA Programa en ejecución 6. desapilar 1. Int x IP 2. apilar PSW Rutina de atención 5. Se maneja la interrupción

Interrupciones por software Tipos preasignados INT 0 (HLT) INT 3 (debug) INT 6 (leer caracter) BX tiene la dirección donde se almacena el carácter INT 7 (imprimir un string) BX tiene la dir donde comienza el string AL cantidad de caracteres a imprimir

Ej 1 Escritura de datos en la pantalla de comandos. BX 10 00H AX Implementar un programa en el lenguaje assembler del simulador MSX88 que muestre en la pantalla de comandos un mensaje previamente almacenado en memoria de datos, aplicando la interrupción por software INT 7. ORG 1000H MSJ DB "ARQUITECTURA DE COMPUTADORAS-" DB "FACULTAD DE INFORMATICA-" DB 55H DB 4EH DB 4CH DB 50H FIN DB ? ORG 2000H MOV BX, OFFSET MSJ MOV AL, OFFSET FIN-OFFSET MSJ INT 7 INT 0 END BX 10 00H AX 00 37H ARQUITECTURA DE COMPUTADORAS FACULTAD DE INFORMATICA UNLP

Ej 4 Lectura de datos desde el teclado. BX 10 00H AX 00 11H 1500 ? CX Escribir un programa que solicite el ingreso de un número (de un dígito) por teclado e inmediatamente lo muestre en la pantalla de comandos, haciendo uso de las interrupciones por software INT 6 e INT 7. ORG 1000H MSJ DB "INGRESE UN NUMERO:" FIN DB ? ORG 1500H NUM DB ? ORG 2000H MOV BX, OFFSET MSJ MOV AL, OFFSET FIN-OFFSET MSJ INT 7 MOV BX, OFFSET NUM INT 6 MOV AL, 1 MOV CL, NUM INT 0 END BX 1500H 10 00H AX 00 11H 01 INGRESE UN NUMERO: 4 NUM 1500 ? 34H CX 34H 4

PIC Dispositivo controlador de interrupciones Periférico encargado de administrar los pedidos de interrupción procedentes de los demás periféricos.

PIC Dispositivo controlador de interrupciones

PIC - Registros internos EOI: para comandos Para fin de int escribir 20H IMR: máscara de int enmascara con ‘1’ IRR: petición de int Indica con bit en 1 ISR: int en servicio INT0...INT7 c/u con su ‘tipo’ PIC EOI 20H IMR 21H IRR 22H ISR 23H INT0 24H INT1 25H INT2 26H INT3 27H … Memoria de E/S Son accedidos con operaciones lectura y escritura en el espacio de E/S (IN y OUT).

Tecla F10 Timer Handshake DMA … PIC EOI 20H IMR 21H IRR 22H ISR 23H INT0 24H INT1 25H INT2 26H INT3 27H …

Vector de interrupciones ¿Cómo trabajan? 3. Accede al vector de acuerdo al identificador x [ X * 4 ] Vector de interrupciones 4. salto PILA Programa en ejecución 6. desapilar 1. Int x IP 2. apilar PSW Rutina de atención 5. Se maneja la interrupción

TIPO 1k = 1024 Bytes INT 0 INT 1 INT 2 0000H DIR 0_0 0001H DIR 0_1 0002H DIR 0_2 0003H DIR 0_3 0004H DIR 1_0 0005H DIR 1_1 0006H DIR 1_2 0007H DIR 1_3 0008H DIR 2_0 0009H DIR 2_1 000AH DIR 2_2 000BH DIR 2_3 000CH DIR 3_0 000DH DIR 3_1 … 0400H INT 0 INT 1 TIPO 1k = 1024 Bytes INT 2 Dirección de la rutina de atención a la interrupción 2 … INT 255

PIC … Tecla F10 PIC Vector ORG 3000H SUBRUTINA: INC DX IRET … 38 39 00 40 03 41 42 43 44 45 ORG 3000H SUBRUTINA: INC DX IRET

Ej 10 Interrupción por hardware: Tecla F10 Escribir un programa que, mientras ejecuta un lazo infinito, cuente el número de veces que se presiona la tecla F10 y acumule este valor en el registro DX.

Ej 10 Tipo int elegido : 10 => 10*4 = 40 AX DX 1 I Z S O C A P Registro de estado Vector 1 … 38 39 00 40 03 41 42 43 44 45 I Z S O C A P PIC EQU 20H EOI EQU 20H N_F10 EQU 10 ORG 40 IP_F10 DW RUT_F10 ORG 2000H CLI MOV AL, 0FEH OUT PIC+1, AL ; PIC: registro IMR MOV AL, N_F10 OUT PIC+4, AL ; PIC: registro INT0 MOV DX, 0 STI LAZO: JMP LAZO ORG 3000H RUT_F10: PUSH AX INC DX MOV AL, EOI OUT EOI, AL ; PIC: registro EOI POP AX IRET END AX 0FEH 20H 10 10 DX 1 PIC EOI 20H IMR 21H IRR 22H ISR 23H INT0 24H INT1 25H INT2 26H INT3 27H 20H 0FEH = 11111110 10

TIMER (temporizador) Entrada int1 Posee dos registros de 8 bits. COMP: registro de comparación que determina el módulo de la cuenta del timer. CONT: registro contador, muestra la cuenta de los pulsos de la señal aplicada a la entrada del periférico. Cuando coincide su valor con el del registro COMP provoca una señal de salida. Direcciones de registros: 10H y 11H Entrada int1

TIMER TIMER CONT 10H COMP 11H PIC … Timer Tecla F10

Ej 12 Interrupción por hardware: TIMER. Implementar a través de un programa un reloj segundero que muestre en pantalla los segundos transcurridos (00-59 seg) desde el inicio de la ejecución.

Ej12 … … 1 Vector TIMER PIC Registro de estado 01 02 10 39 … 40 00 41 AX 0FDH 2 2 20H 20H 10 1 TIMER 39 … 40 00 41 03 42 43 44 45 CONT 10H COMP 11H BX 10 00 H 1 1 TIMER EQU 10H PIC EQU 20H EOI EQU 20H N_CLK EQU 10 ORG 40 IP_CLK DW RUT_CLK ORG 1000H SEG DB 30H DB 30H FIN DB ? PIC EOI 20H IMR 21H IRR 22H ISR 23H INT0 24H INT1 25H INT2 26H INT3 27H 20H 0FDH = 11111101 … 1000H 30H 1001H 1002H ? 1003H 1004H 1005H ORG 2000H CLI MOV AL, 0FDH ; PIC: registro IMR OUT PIC+1, AL MOV AL, N_CLK ; PIC: registro INT1 OUT PIC+5, AL MOV AL, 1 ; TIMER: registro COMP OUT TIMER+1, AL MOV AL, 0 ; TIMER: registro CONT OUT TIMER, AL MOV BX, OFFSET SEG MOV AL, OFFSET FIN-OFFSET SEG STI LAZO: JMP LAZO END 31H 32H 31H 39H 3AH 30H ORG 3000H RUT_CLK: PUSH AX INC SEG+1 CMP SEG+1, 3AH JNZ RESET MOV SEG+1, 30H INC SEG CMP SEG, 36H MOV SEG, 30H RESET: INT 7 MOV AL, 0 OUT TIMER, AL MOV AL, EOI OUT PIC, AL POP AX IRET 10 Registro de estado 1 01 02 I Z S O C A P … 10