INTERRUPCIONES Ing. Julio César Doumecq – Prof. Asoc. Área Digitales – Fac. Ingeniería UNMDP, Mar del Plata, Argentina ©2011 1 INTERRUPCIONES Definición de interrupción Interrupciones en el µP 6800 Diagrama de flujo de interrup. Diagrama temporal de RES, IRQ, NMI Instrucciones WAI y SWI CI’s controladores de interrup. Repaso de E/S estándar E/S con uso de interrupciones Ing. Julio César Doumecq – © 2011 2 InterrupcionesDefinición Son el mecanismo más importante para vincular al µP con el mundo exterior Son similares a una subrutina Se diferencian por: - la forma en que se inician, - los datos que se guardan y - su desvinculación del programa principal De forma similar a la subrutina, al finalizar se regresa a la instrucción siguiente a la que estaba ejecutando el µP cuando recibió el pedido de interrupción Ing. Julio César Doumecq – © 2011 3 El proceso de atención de un pedido de interrupción Mapa de Memoria 6800 0000h Inicio Programa Principal XXXXh Instante de arribo del pedido IRQ de interrupción al µP Programa Principal (memoria de programa) Salto a la Rutina de Interrupción Retorno al Programa Principal YYZZh Subrutina de atención de interrupción RTI Instrucción final de subrutina de atención de IRQ Zona de vectores de interrupción IRQ YY ZZ FFF8h SWI NMI RES FFFFh Ing. Julio César Doumecq – © 2011 4 Vectores de Interrupción IRQ (Byte Alto) $FFF8 IRQ (Byte Bajo) $FFF9 SWI (Byte Alto) $FFFA SWI (Byte Bajo) $FFFB NMI (Byte Alto) $FFFC NMI (Byte Bajo) $FFFD RES (Byte Alto) $FFFE RES (Byte Bajo) $FFFF Ing. Julio César Doumecq – © 2011 5 Interrupciones en el µP 6800 Interrupciones por Hardware - RES: se usa para iniciar el µP o cuando es necesario “resetearlo” - IRQ: se activa por un nivel BAJO y es “enmascarable” (si bit I del CCR es “1”) - NMI: se activa por un flanco NEGATIVO, ignora el bit “I” del CCR Interrupciones por Software - SWI: interrupción por programa, es una subrutina “ampliada” - WAI: instrucción de espera de una interrupción por hardware. Inconveniente: detiene la ejecución del programa hasta que llega la interrupción Ing. Julio César Doumecq – © 2011 6 RES - Diagrama de flujo Ing. Julio César Doumecq – © 2011 7 IRQ - Diagrama de flujo Ing. Julio César Doumecq – © 2011 8 NMI - Diagrama de flujo Ing. Julio César Doumecq – © 2011 9 SWI - Diagrama de flujo Ing. Julio César Doumecq – © 2011 10 WAI - Diagrama de flujo SWI WAI NMI IRQ Ing. Julio César Doumecq – © 2011 11 Ahora veamos esto mismo en los diagramas temporales … (cambiamos de Presentación, después volvemos para ver el hardware) Ing. Julio César Doumecq – © 2011 12 CI Motorola MC6828 PIC: controlador de interrupciones priorizadas $FFF8,9 $FFE8,9 $FFEA,B $FFEC,D $FFEE,F $FFF0,1 $FFF2,3 $FFF4,5 $FFF6,7 13 Interior del PIC 6828 ¿Cuándo actúa el 6828? Si se detecta pedido de interrup. y: - R/W en ALTO, - VMA en ALTO, - A4 a A1 en 1100 ($C) y - A15 a A5 en $FFF ¿Cómo se establece el límite de prioridad? - R/W en BAJO, El PIC interpreta que se lo está seleccionando - VMA en ALTO y y las líneas A4 a A1 se toman como datos, definiendo el nivel de máscara de inhibición - A15 a A5 en $FFF 14 El CI de la PC actual 15 Cómo hace una PC para manejar más de 8 pedidos de IRQ? Pedidos de interrupción De esta forma se puede manejar hasta un máximo de 64 pedidos de interrupción por parte de dispositivos externos al µP. Ing. Julio César Doumecq – © 2011 16 Manejo de Entradas/Salidas mediante interrupciones Ing. Julio César Doumecq – © 2011 17 Repaso de E/S estándar E/S por puertos mapeados Æ sondeo o encuesta (“polling” - 6800) E/S por puertos dedicados (Intel) 18 E/S con interrupciones (µP Intel) Ing. Julio César Doumecq – © 2011 19 Esto es todo por hoy … Ing. Julio César Doumecq – © 2011 20