|
En la edición pasada vimos
la configuración básica del sistema,
qué es Flash BIOS, cuáles son las funciones
del BIOS, interrupciones. En esta entrega explicaremos
las rutinas elementales del BIOS, el Set up BIOS,
Post, errores del AMI BIOS, y otros temas de gran
importancia, relacionados con los motherboards. Como
siempre le decimos, si desea saber más sobre
este tema, puede visitar nuestro sitio de internet
en www.webelectronica.com.ar, donde encontrará
abundante información y las formas de acceder
a lo que usted necesita. |
|
Rutinas
Elementales del BIOS |
|
Las instrucciones
detalladas que gobiernan las operaciones de bajo
nivel son provistas por el software grabado en el
BIOS. El ROM es una memoria lenta en comparación
con la RAM, así que emplean algunas técnicas
para mejorar su funcionamiento.
La memoria RAM es de 6 a 8 veces
más rápida que la ROM, por lo que
el copiar la memoria ROM a una RAM, nos da velocidad.
Otra de las ventajas es poder actualizar su contenido
mediante programas o “drivers” nuevos.
El copiar el BIOS a RAM se le llama Shadow Memory.
El ROM BIOS guarda un juego fundamental de programas
que proporcionan soporte para la operación
de la computadora. |
|
|
Esta sección
permite configurar la computadora de acuerdo a las
características del hardware de cada motherboard.
En las primeras motherboard, esos parámetros
se configuraban por medio de DIP switches (pequeños
interruptores con valor “conectado o desconectado”)
o “jumpers”.
Este sistema se usa para la velocidad del reloj.
Al salir las AT, se cambió la configuración
por medio de un diskette y posteriormente se activó
un menú cuando el usuario presionaba ciertas
teclas al mismo tiempo. Al ir aumentando las características
del sistema, los parámetros a controlar
también crecieron. Desafortunadamente,
estos parámetros no se han estandarizado,
por lo que cada fabricante utiliza los que considera
más convenientes, complicando a los usuarios
su utilización. En algunas ocasiones es
el BIOS el que los controla, en otros es el Chipset
y existen también versiones en la motherboard,
que es a través de jumpers.
Algunos tips para optimizar el BIOS de
su computadora son:
-
Asegurarse de que se tienen
declarados todos los componentes del sistema
(fecha, hora, discos, etc.)
-
Asegurarse que la/s memoria/
s caché (L1 y L2) está/n habilitada/s.
Obviamente debe contar con ambas para habilitarlas.
-
Asegurarse que los estados
de espera (wait states) tengan los valores mínimos,
si coloca un valor que su sistema no soporta,
éste se trabará.
-
Asegurarse que la memoria
Shadow está habilitada. Recuerde que
la memoria RAM es más rápida que
la ROM.
Si desea borrar el contenido del BIOS, basta
con entrar al programa y poner los valores que
usted desea. Otra opción es desconectar
la batería o poner en “corto”
el jumper que normalmente se destina para ello.
|
|
|
Cuando el equipo
se prende, el BIOS toma el control del sistema y
lo primero que hace es una prueba del sistema. Se
inicializa el video, se buscan tarjetas instaladas
y se prueba la memoria RAM existente. La mayoría
de los sistemas realizan los siguientes cuatro pasos:
-
Se ve en pantalla la información
de la tarjeta de video que está siendo
usada. Esta información la toma del BIOS
de la misma tarjeta. Esta tarjeta está
en la primera dirección de memoria que
busca el POST.
-
Se manda el mensaje del fabricante
del BIOS y la versión del mismo. Este
mensaje es importante porque puede ayudarle
a resolver algunos problemas de conflictos.
-
Se revisa la memoria existente
en el sistema.
-
Una vez que se han verificado
los demás componentes del sistema, se
corre el “bootstrap”, que es la
rutina encargada de llamar al sistema operativo
de disco (DOS, Windows, OS-2, etc)
Un cuadro con las características del
sistema aparece por breves momentos. En él,
se tiene la siguiente información. (Ver
tabla de características del sistema).
|
|
|
La compañía
AMI ha definido varios tipos de errores que pueden
ser identificados mediante sonidos hechos con la
bocina del sistema. Recordemos que si existen errores
a este nivel, por lo general el monitor no desplegará
nada y sería mucho más difícil
poder identificarlos; éstos son:
1 beep:
Error en el refresco de la memoria DRAM.
El circuito del motherboard no funciona correctamente.
2 beeps:
Se detectó un error de paridad
en la memoria.
3 beeps:
Error en los primeros 64k de memoria, no se puede
cargar nada.
4 beeps:
El reloj de tiempo real del sistema no funciona
correctamente.
5 beeps:
Error en el microprocesador.
6 beeps:
Error en la controladora del teclado. El CPU no
puede trabajar en modo virtual.
7 beeps:
El CPU generó un error de interrupción.
8 beeps:
Error de lectura o escritura en tarjeta de video
(no reconoce la memoria de video)
9 beeps:
No concuerda la paridad del ROM BIOS, es probable
que esté dañado.
10 beeps:
El registro del CMOS está dañado.
11 beeps:
La memoria caché externa está dañada
1 beep largo:
Problemas con la memoria.
1 beep corto y dos largos:
Falló la prueba de video. No hay comunicación
con el BIOS de video o el BIOS de la tarjeta no
funciona.
1 beep largo y tres cortos:
Falla en la tarjeta de video. Las posibles causas
son el DAC, la detección del monitor o
la memoria de video.
|
|
|
La primera aparición
del Plugand-Play (PnP) apareció con las especificaciones
originales del ISA desarrollado por Intel-Microsoft
el 28 de Mayo de 1993. Esto inspiró a otras
compañías a unirse a esta nueva tecnología
y a asociarse para comenzar a desarrollar los estándares
y extenderla a otros problemas en los procesos de
configuración, particularmente SCSI, Compaq
Computer Corporation and Phoenix Technologies se
unieron a Intel para desarrollar las especificaciones
de BIOS para plug and play (PnP) y su primera versión
fue el 1º de noviembre de 1993. En nuestros
días los sistemas plug-and-play (PnP) trabajan
cambiando las responsabilidades de recordar y asignar
las opciones de configuración del hardware
y software de nosotros al sistema Op. de la computadora.
Después de todo, una PC probablemente tiene
mejor memoria que nosotros. Plug-and-play (PnP)
requiere por lo menos 3 elementos del sistema que
se encuentran fundamentados en el estándar-PC
y su BIOS, el sistema Op, la tarjeta de expansión
y los componentes adjuntos a la PC.
Cualquier dispositivo viejo, que no se alinee
a los estándares de plug-and-play (PnP),
es considerado como un dispositivo legacy. El
sistema plug-and- play (PnP) intenta acomodar
dispositivos legacy, pero no puede resolver todos
los conflictos entre ellos. Para acelerar la muerte
de los productos legacy, Intel y Microsoft han
dado el manual de soporte para ISA en sus sistemas
más recientes.
Todos los sistemas operativos de Microsoft desde
Windows 95 tienen plug-and-play (PnP) y aproximadamente
todas las tarjetas de expansión PCI se
han fabricado para los estándares plug-and-play
(PnP). La idea principal de plug-and-play (PnP)
es que el sistema se haga responsable de la configuración
del hardware y software, que se está agregando.
El objetivo era crear PCs sin switches, ni jumpers
o headches. El procedimiento básico de
plug-and-play (PnP) se resume en un proceso de
3 pasos:
-
El sistema checa los recursos
que cada dispositivo de expansión necesita
-
Coordina las asignaciones
para evitar conflictos
-
Le dice al sistema y software
las elecciones que ha hecho.
El proceso de configuración de Plug-and-play
(PnP) es capaz de desactivarse por sí sola
en caso de que no responda normalmente, eso es,
se desconecta de todos los recursos del sistema
evitando cualquier tipo de conflicto. En una tarjeta
de expansión, las especificaciones de plugand-
play (PnP) definen explícitamente 8 registros
de control, y reservan 2 grandes rangos, uno de
24 registros para futuras necesidades del estándar
y un segundo rango de 16, que los fabricantes
de tarjetas pueden asignar para sus propios propósitos.
Además las especificaciones de plug-and-play
(PnP) permiten tarjetas que pueden ser configuradas
como dispositivos lógicos y les asigna
algunos puertos de control. La dirección
del puerto le permite al Write Data port seleccionar
cuál de los dispositivos lógicos
está activo y los recursos del sistema
que se encuentra ocupado.
|
|
|
El sistema operativo
actúa como interfase entre los programas
en ejecución y los recursos de hardware de
la PC, proveyendo además su administración.
No obstante, existe un escalón más
bajo aún de software, que permite al sistema
operativo y a programas entenderse con los dispositivos
de hardware. Se trata del BIOS (Basic Input Output
System). El BIOS consiste, hablando más propiamente,
en firmware, es decir, software grabado en una memoria
no volátil y de sólo lectura (ROM).
Habitualmente se trata de una PROM o EPROM, en la
que se ha grabado el software necesario para garantizar
el arranque (star up) del equipo, la carga del sistema
operativo y la provisión de “servicios”
para la operación de periféricos.
Desde el punto de vista físico, el BIOS
reside en una o dos PROMs, normalmente identificadas
con el copyright y la versión del Firmware
contenido. Considerado como memoria (de sólo
lectura), el BIOS se encuentra mapeada en el segmento
F000h. Es posible programar algunos equipos para
que copien el código de la ROM a algún
área del RAM, y ejecuten el BIOS desde
allí, con la ventaja de un mejor tiempo
de acceso.
|
|
|
Porque pocas
interrupciones están disponibles, diferentes
funciones están disponibles para muchas interrupciones.
Estas funciones están identificadas y técnicamente
se llaman parameter passing. Un programa que necesita
servicios del BIOS, pasa un número determinado
de comandos para ser operados en el BIOS como un
parámetro, un valor se mantiene en uno o
más de los registros en el tiempo que la
interrupción del software se emite. El programa
que realiza el llamado decide qué función
quiere que el BIOS realice, carga el valor del parámetro,
el registro apropiado y ejecuta la interrupción.
El código del BIOS examina el registro para
determinar qué función es la que quiere
el programa. Esta misma técnica es usada
para pasar información entre programas que
llaman al BIOS. Los datos que son pasados a través
de él son simplemente cargados en un registro
y el parámetro identifica el comando en el
otro registro. Parar regresar los resultados al
programa que hizo el llamado, el BIOS carga los
datos en un registro al cual se podrá acceder
para leerlo.
Usar registros para mover datos dentro de las
rutinas del BIOS, tiene sus propios inconvenientes.
Los parámetros y funciones están
limitadas a aquellas que son comunes entre PCs.
Existe un pequeño espacio disponible para
los programas que quieran agregar sus propias
interrupciones. Más aún, el escaso
número de registros en los procesadores
Intel limita el número de parámetros,
que pueden ser pasados desde y a una función.
Muchas rutinas usan un byte de datos individual.
Para mover bloques de datos más grandes,
algunas rutinas de algunos BIOS, en muchos programas
usan la memoria. Un programa que hace un llamado,
almacena los valores que quiere pasar a la subrutina
en un bloque de la RAM que está direccionado.
Y con esto pasa a la subrutina la localidad de
los datos y la subrutina trabaja con los datos.
|
|
|
Controlar el
hardware de una PC requiere que el sistema tenga
la posibilidad de pasar comandos, datos e información
al hardware. Por ejemplo, si se cuenta con un modem,
será necesario que podamos mandar comandos,
datos e información al hardware; o para marcar
un número de teléfono o cambiar su
velocidad. Una vez que estamos comunicados, se tiene
que mardar bytes, aun más, megabytes de datos
al modem y recibir la misma cantidad de byes o más
bytes de regreso. Las rutinas del BIOS pueden usar
memoria o puertos de E/S para pasar los comandos
y datos a los diferentes dispositivos del hardware.
Cuando un dispositivo usa un bloque de memoria para
intercambiar información, se denomina mapeo
de E/S. Las rutinas del BIOS y dispositivos de hardware
comparten un rango común de direcciones de
memoria, que ellos usan para pasar bytes de información.
Los programas usan rutinas del BIOS en lugar de
direcciones físicas para alcanzar los dispositivos.
El mapeo de E/S usa puertos de Entrada/Salida para
intercambiar información. Un puerto de entrada
y salida de un microprocesador es un rango especial
de direcciones que se encuentran aisladas por la
memoria principal y tienen acceso mediante instrucciones
especiales. En el esquema de Intel, sus microprocesadores
tienen un rango de 65,536 puertos de E/S (comparado
a los más de 4 billones de direcciones de
memoria discreta que se tienen). Como sea. Gracias
a un error en el diseño de la primera tarjeta
de expansión para PCs, solo 1,024 son comúnmente
asignados a dispositivos que se añaden a
las ranuras estándar de expansión
de una PC. Para reducir el costo de las primeras
tarjetas de expansión, se diseñaron
tarjetas para decodificar sólo 10 de 16 líneas
de direcciones.
Aunque nuevos buses pueden tomar
ventaja del rango de puertos de E/S, las tarjetas
de expansión rápidamente consumieron
los puertos disponibles o 2 tarjetas pueden tratar
de usar el mismo puerto. Tales conflictos entre
tarjetas es la razón más común
de por qué las tarjetas de expansión
no operan apropiadamente. Algunas veces el instalar
una tarjeta de expansión crea un conflicto
entre puertos que impide que el resto del sistema
continúe trabajando del todo correctamente.
La siguiente tabla lista algunos de los conflictos
más comunes que surgen a la hora de la asignación
de puertos de E/S. Puertos comunes de asignación
de E/S y conflictos potenciales. Ver tabla 3.
Si nuestra PC se encuentra trabajando
con el sistema operativo Windows, nosotros podemos
ver los puertos actuales de E/S asignados por nuestra
PC. Para ver estas asignaciones, podemos consultar
el Administrador de Dispositivos seleccionando el
ícono de Sistema en la opción del
menú de panel de control. Seleccionamos nuestra
computadora en el menú de dispositivos y
damos un click derecho y en el menú seleccionamos
propiedades. Del Visor de Recursos que aparece en
nuestra pantalla, seleccionamos el radio botón
E/S, de esta manera podremos ver todos los puertos
de E/S que se encuentran en uso y el hardware que
los usa. Con dispositivos Plug and Play (PnP), Windows
generalmente hará las asignaciones de los
puertos de E/S, si queremos reservar uno o más
puertos de E/S, para dispositivos que se instalarán
después, existe una opción. Buses
como el PCI proveen acceso al rango completo de
puertos de E/S, reduciendo la probabilidad de la
existencia de conflictos, las tarjetas de expansión
Plug and Play (PnP) se supone que automáticamente
pueden resolver conflictos entre puertos. |
|
Sobre
un trabajo de Jonás Heriberto Mejía
Robles |
|
|
|
|