| Luciano Polo on Tue, 18 Mar 2003 13:39:17 -0600 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Indice por Fecha] [Indice por Hilo]
| Re: [l-linux] lenguaje ensamblador en intel vs sparc |
On Monday 17 March 2003 20:00, Daniel White wrote: > saludos, la mayoria conocemos en intel, una interrupcion de hardware > que abreviare como (int), como la int 10, trata sobre el video, una int > 21, trata sobre el manejo de archivos, ,etc mas las int de software, > como para dejar un programa residente en memoria un TSR, (mm suena la > base de un virus!) > Daniel, El microprocesador está en constante interacción con los periféricos del computador. Estos últimos requieren que en determinados momentos se ejecute otro programa, comúnmente conocido como rutina de servicio de interrupción, para procesar los datos que ellos generan. Ahora bien, ¿cómo puede el microprocesador estar al tanto que en determinado momento el periférico requiere de los servicios del microprocesador?. Una de las respuestas a dicha pregunta es implementando una rutina que supervise constantemente el estado del periférico. Cuando esta rutina detecta que se cumplen ciertas condiciones, se ejecuta la subrutina de servicio. Este método o procedimiento trae como desventaja emplear, innecesariamente, ciclos de máquina del microprocesador en determinar el estado del periférico, ya que la necesidad de ejecutar la subrutina de servicio es aleatoria. Una manera más refinada de solucionar este problema es implementar un sistema en el microprocesador que permita que el periférico le notifique la necesidad de sus servicios. Este es el concepto de una interrupción; es decir; una interrupción es una solicitud al microprocesador para que suspenda el programa en ejecución, y se ejecute la rutina de servicio de interrupción. Existen tres tipos de interrupciones, a saber: interrupciones por hardware, interrupciones por software e interrupciones de excepción. Se entiende como interrupción por hardware aquella interrupción solicitada por un dispositivo de hardware. Existen dos tipos de estas interrupciones, a saber: las mascarables y las no mascarables. Las interrupciones de hardware mascarables son aquellas que pueden ser deshabilitadas. Las no mascarables son aquellas que no pueden ser deshabilitadas. Se entiende como interrupción por software aquella interrupción solicitidada a través de una instrucción de interrupción, como por ejemplo la instrucción INT 30, donde INT es la instrucción de interrupción de la serie de microprocesadores Intel (8088, 80286, 80386, 80486, Pentium, Pro Pentium) y 30 es el número del Puntero de la subrutina de servicio de dicha interrupción. Se entiende como interrupción de excepción aquella interrupción del programa en curso a consecuencia de alguna anormalidad durante la ejecución de dicho programa o un error en el sistema. Después que una de estas interrupciones halla sido activada, el microprocesador almacena todos sus registros programables en la Pila (Stack). Luego se accesa el puntero de la interrupción activada, con el fin de comenzar a ejecutar la subrutina de servicio pertinente. La localidad de memoria donde se encuentran todos los punteros de las diferentes subrutinas de servicio es conocida con el nombre de Tabla de Vectores de Interrupción. La localidad de memoria de la tabla de vectores de interrupciones y como se procesan las solicitudes de interrupciones en un microprocesador depende de la arquitectura del microprocesador. Espero que esta breve explicacion te sirva de complemento para que comprendas la respuesta de tu pregunta: >me surge la duda, con respecto al lenguaje ensamblador en una sparc, una >int 10, en una sparc tambien se refiere al video?. -- Luciano Polo Lupolo@NewDevices.com http://www.newdevices.com B12E F38E 2FBD D68F D079 4A90 3751 8165 23A1 3C64 ________________________________________________________________________ Lista de Correo <l-linux@linux.org.ve> Visite http://www.linux.org.ve/cgi-bin/mailman/listinfo/l-linux para suscribirse, retirarse y leer las normas de uso. Visite el canal IRC #velug en undernet.org para consultas interactivas