Conceptos e interrupciones
Publicado por Romina el 18.07.2008 21:11:57 en Ensamblador - Nivel Intermedio
En este artículo se podrá ver como es el funcionamiento interno de una computadora y los procesos que se realizan cuando hay algun tipo de interrupción.
6-Comprobación de la primera 64 k de memoria RAM.
7-Comprobación y configuración del PIC.
8-Comprobación y configuración de las memorias caché.
9-Acceso a la controladora de video.
10-Chequeo de la memoria principal sobre los 64k.
11-Control y configuración de puertos paralelos y serie,
12-Verificación de disqueteras y discos.
Estas son algunas de las tareas que se realizan, si bien existen muchas más.
Búsqueda de extensiones ROM BIOS.
Entre sus actividades el programa POST va a buscar posibles extensiones BIOS en segmento específicos tale como el C y el D de manera de agregar nuevos algoritmos BIOS a los propios.
Las extensiones más comunes son las previstas por las placas de video y por las placas de tecnología (SCSI).
La detección de la extensión se logra a partir de la ubicación del par de bytes 55AA. El tercer bite indica la cantidad de bloques que constituyen la extensión, siendo un bloque igual a 512 bytes.
La BIOS (algoritmos).
La BIOS es el sistema básico de entrada/salida y reúne lo algoritmos suficientes para gobernar el hardware hasta que se cargue el sistema operativo. Estos algoritmos son interrupciones del hardware y entre las más conocidas encontramos la 8 de reloj, la 9 de teclado, la 10 de video, etc.
Si bien estos algoritmos son los básicos con el advenimiento de nuevas tecnologías (LAN, USB) se han incorporado nuevos algoritmos.
Programa SETUP.
Permite establecer las modificaciones de configuración interna y ajuste que tendrá nuestro equipo. Si bien el programa se encuentra en la ROM BIOS las variables se almacenarán en una memoria de tipo RAM cuya capacidad suele ser de 64 a 128 bytes.
A esta memoria se la identifica también como memoria CMOS por el material con el que esta constituido (metal oxido semiconductor complementario) ya que esta tecnología tiene muy bajo consumo teniendo en cuenta que la memoria tiene que estar permanentemente energizada por una pila (CR2032 – 3V).
A la memoria se la accede indirectamente a través de 2 puertos de entrada/salida ubicados en las direcciones 70h y 71h, trabajando el primero como un puntero mientras que el segundo es un buffer del dato de la dirección de memoria apuntada por el par 70h, si quisiéramos escribir un dato (Ejemplo: AA) en una posición de (Ejemplo: 20) debemos hacer un OUT de 20 a 70h y luego un OUT de AA a 71h. Para leer un dato de una dirección (Ejemplo: 10) debemos hacer un OUT de 10 a 70h y un IN de 71h.
El Sistema Operativo tiene la posibilidad de utilizar los algoritmos BIOS aunque en la mayoría de los sistemas los algoritmos actuales ésta ya no se usa más. Por este motivo alg1s programas SETUP permiten hacer una copia de los algoritmos de la ROM BIOS sobre memoria RAM. A esta copia se la conoce como SHADOW RAM.
Teclado.
El teclado es un dispositivo periférico de entrada con comunicación serie sincrónica con el Esquema Ordenado establecida por 5 o 6 líneas de conexión que incluyen líneas de energía para el teclado.
Internamente (el teclado) es similar a una matriz de filas y columnas en las cuales se produce un contacto eléctrico cada vez que se presione una tecla.
Dicha pulsación es detectada por un microcontrolador interno (5042, 8048, 8049) que asigna una identificación de 8 bits conocido como Código de Scan a de Ubicación cuyos valores van desde 00 a 7F, es decir, 128 posibilidades.
Cuando se libera la tecla se genera un segundo código denominado Break o de Soltado cuyo valor es de 80 veces en hexa más alto que el de Scan.
Al mismo tiempo los almacena en una memoria interna del teclado cuya capacidad es de 10 pulsaciones a 20 bytes y además solicita una interrupción al Esquema Ordenador a través del 8259 sobre el IRQ 1 (interrupción siempre fija).
Además los primeros 2 códigos pulsados (Scan y Break) se almacenan en los puertos 60h y 61h.
Interrupción 9.
La interrupción solicitada por el teclado es la 9 que realiza las siguientes acciones.
Lee del puerto 60h y 61h el código de Scan y Break, a continuación revisa 2 registros de estado del teclado que se ubican las direcciones efectivas: 417 y 418. Las mismas indican si alguna tecla de conmutación (Cap, Scrol, Bloq Num…) están activas o si existe alguna tecla de cambio oprimida (Shift, ctrl., Alt.…).
Con esta información consulta una tabla de relación Scan – ASCII para asignarle un valor ASCII a la tecla pulsada.
Descargas asociadas al artículo:
Estadisticas:
Artículo leido 747 veces con un puntaje de 9.50 pts
Comentarios.
Sus comentarios son importantes.
Gastón Furini aportó:
Excelente artículo :)
Hasta tiene descargas!
Gracias Srta.