Download 03 - El BIOS

Document related concepts
no text concepts found
Transcript
CARRERA: TÉCNICO SUPERIOR EN TELECOMUNICACIONES
AÑO: 2011
CURSO: SEGUNDO AÑO
MATERIA: ARQUITECTURA DEL COMPUTADOR
Unidad Nro 3: El BIOS
El BIOS
El sistema Básico de entrada/salida Basic Input-Output System (BIOS) es un código de interfaz que localiza y
carga el sistema operativo en la RAM; es un software muy básico instalado en la placa base que permite que
ésta cumpla su cometido. Proporciona la comunicación de bajo nivel, y el funcionamiento y configuración del
hardware del sistema que, como mínimo, maneja el teclado y proporciona salida básica (emitiendo pitidos
normalizados por el altavoz del ordenador si se producen fallos) durante el arranque. El BIOS usualmente está
escrito en lenguaje ensamblador. El primer término BIOS apareció en el sistema operativo CP/M, y describe la
parte de CP/M que se ejecutaba durante el arranque y que iba unida directamente al hardware (las máquinas de
CP/M usualmente tenían un simple cargador arrancable en la ROM, y nada más). La mayoría de las versiones
de MS-DOS tienen un archivo llamado "IBMBIO.COM" o "IO.SYS" que es análogo al CP/M BIOS.
En los primeros sistemas operativos para PC (como el DOS), el BIOS todavía permanecía activo tras el arranque
y funcionamiento del sistema operativo. El acceso a dispositivos como la disquetera y el disco duro se hacían a
través del BIOS. Sin embargo, los sistemas operativos SO más modernos realizan estas tareas por sí mismos,
sin necesidad de llamadas a las rutinas del BIOS.
Al encender el ordenador, el BIOS se carga automáticamente en la memoria principal y se ejecuta desde ahí por
el procesador (aunque en algunos casos el procesador ejecuta la BIOS leyéndola directamente desde la ROM
que la contiene), cuando realiza una rutina de verificación e inicialización de los componentes presentes en la
computadora, a través de un proceso denominado POST (Power On Self Test). Al finalizar esta fase busca el
código de inicio del sistema operativo (bootstrap) en algunos de los dispositivos de memoria secundaria
presentes, lo carga en memoria y transfiere el control de la computadora a éste.
Firmware
Se puede resumir diciendo que el BIOS es el firmware presente en computadoras IBM PC y compatibles, que
contiene las instrucciones más elementales para el funcionamiento de las mismas por incluir rutinas básicas de
control de los dispositivos de entrada y salida. Está almacenado en un chip de memoria ROM o Flash, situado en
la placa base de la computadora. Este chip suele denominarse en femenino "la BIOS", pues se refiere a una
memoria (femenino) concreta; aunque para referirnos al contenido, lo correcto es hacerlo en masculino "el
BIOS", ya que nos estamos refiriendo a un sistema (masculino) de entrada/salida.
Firmware en tarjetas adaptadoras
Un sistema puede contener varios chips con firmware BIOS. Además del BIOS de arranque situado en la placa
base, del que ya se ha hablado en este artículo, existen otros dispositivos, tales como tarjetas adaptadoras
SCSI, discos duros, adaptadores de memoria USB, o tarjetas de vídeo tales como tarjetas de video para ranuras
AGP o PCI que pueden incluir sus propios BIOS, complementando o reemplazando el código BIOS del sistema
para el componente dado, sin alterar las demas funcionabilidades que nos ofrece las BIOS tal como chip con
relacion a otros componentes del computador.
Limitaciones
El principal lastre de este componente es que mantiene prácticamente intacta su estructura que lucia a principios
de los 80, una década que que reinaba el sistema DOS.
Y es que incluso los microprocesadores mas modernos de 64 bits de doble núcleo corren en modo real de 16
bits cuando encendemos la PC, emulando al procesador Intel 8086 de 1978. En estas circunstancias, la memoria
principal que va mas allá del primer MB no puede utilizarse durante el inicio de la máquina. Ademas, las tarjetas
de expansión y, en general, los dispositivos que deben permanecer accesibles en este proceso, tienen que
incorporar una memoria de lectura de 128 kbytes.
Otra importante desventaja es que siguen programándose en lenguaje emsamblador. Este lenguaje permite
generar código más rápido y compacto, pero el tiempo en su desarrollo es mayor. Aun así, se ha añadido nuevas
funciones a la BIOS que han contribuido de forma de decisiva a incrementar su complejidad.
Las BIOS anteriores a 1995 no reconocen los discos duros de más de 40GB.
Arquitectura del Computador / El BIOS - 1
EL POST
El POST es el acrónimo inglés de Power On Self Test (Auto diagnóstico al encender). Es un proceso de
verificación e inicialización de los componentes de entrada y salida en un sistema de cómputo que se encarga de
configurar y diagnosticar el estado del hardware.
Códigos de error
El conocimiento de los POST es muy importante cuando vamos a comprobar una tarjeta madre nueva o
agregamos algún hardware.
El código POST le envía al usuario una serie de sonidos que le indican el resultado del chequeo automático del
sistema. Se emite usando un dispositivo que rara vez puede estar afectado, la bocina del sistema. Los códigos
más importantes son:
Código o cantidad de
pitidos
Significado
Ningún tono
No hay electricidad (o las bocinas están desconectadas)
Tono ininterrumpido
Fallo en el suministro eléctrico
Tonos cortos y seguidos
Placa base estropeada
1 tono largo
La memoria RAM no funciona o no hay instalada
1 tono largo y 1 corto
Fallo en la placa base o en ROM
1 tono largo y 2 cortos
Fallo en la tarjeta de vídeo o no hay instalada
1 tono largo y 3 cortos
Fallo en la tarjeta EGA
2 tonos largos y 1 corto
Fallo en la sincronización de imagen.
2 tonos cortos
Error en la paridad de la memoria
3 tonos cortos
Fallo en los primeros 64 Kb de la memoria RAM
4 tonos cortos
Temporizador o contador defectuoso
5 tonos cortos
El procesador o la tarjeta de vídeo no pasan el test
6 tonos cortos
Fallo en el controlador del teclado
7 tonos cortos
Modo virtual de procesador AT activo, Error de excepción/identificador del
procesador.
8 tonos cortos
Fallo en la escritura de la RAM de video.
9 tonos cortos
Error de checksum de la ROM en la BIOS
10 tonos cortos
Error de CMOS.
2 - Arquitectura del Computador / El BIOS
Variaciones
Aunque el POST está establecido como un estándar internacional, cada fabricante puede decidir cambiar y
agregar códigos personalizados.
Códigos de diagnóstico numéricos
BIOS POST card para el bus ISA.
Existen también dispositivos especiales que provistos de una pantalla LCD y conectado vía puerto serie (COM)
permite visualizar un número hexadecimal el cual luego de ser buscado en otra tabla especial realiza la misma
función, pero por supuesto, de una manera mucho más cómoda.
Actuamente las placas madres suelen tener integrado un par de visualizadores de siete segmentos que muestra
los estados del POST y en su manual de fábrica la correspondiente descripción detallada de los códigos que
muestra.
La Memoria ROM
Memoria ROM conteniendo la BIOS de una vieja tarjeta madre
ROM es la sigla de read-only memory, que significa "memoria de sólo lectura": una memoria de semiconductor
destinada a ser leída y no destructible, es decir, que no se puede escribir sobre ella y que conserva intacta la
información almacenada, incluso en el caso de que se interrumpa la corriente (memoria no volátil). La ROM
suele almacenar la configuración del sistema o el programa de arranque de la computadora.
Las memorias de sólo lectura o ROM son utilizadas como medio de almacenamiento de datos en las
computadoras. Debido a que no se puede escribir fácilmente, su uso principal reside en la distribución de
programas que están estrechamente ligados al soporte físico de la computadora, y que seguramente no
necesitarán actualización. Por ejemplo, una tarjeta gráfica puede realizar algunas funciones básicas a través de
los programas contenidos en la ROM.
Las computadoras domésticas a comienzos de los 80 venían con todo su sistema operativo en ROM. No había
otra alternativa razonable ya que las unidades de disco eran generalmente opcionales. La actualización a una
nueva versión significa usar un soldador o un grupo de interruptores DIP y reemplazar el viejo chip de ROM por
uno nuevo. En el año 2000 los sistemas operativos en general ya no van en ROM. Todavía las computadoras
pueden dejar algunos de sus programas en memoria ROM, pero incluso en este caso, es más frecuente que
vaya en memoria flash. Los teléfonos móviles y los asistentes personales digitales (PDA) suelen tener
programas en memoria ROM (o por lo menos en memoria flash).
Algunas de las consolas de videojuegos que utilizan programas basados en la memoria ROM son la Super
Nintendo, la Nintendo 64, la Mega Drive o la Game Boy. Estas memorias ROM, pegadas a cajas de plástico
aptas para ser utilizadas e introducidas repetidas veces, son conocidas como cartuchos. Por extensión la palabra
ROM puede referirse también a un archivo de datos que contenga una imagen del programa que se distribuye
normalmente en memoria ROM, como una copia de un cartucho de videojuego.
Una razón de que todavía se utilice la memoria ROM para almacenar datos es la velocidad ya que los discos son
más lentos. Aún más importante, no se puede leer un programa que es necesario para ejecutar un disco desde
el propio disco. Por lo tanto, la BIOS, o el sistema de arranque oportuno de la computadora normalmente se
encuentran en una memoria ROM.
La memoria RAM normalmente es más rápida para lectura que la mayoría de las memorias ROM, por lo tanto el
contenido ROM se suele traspasar normalmente a la memoria RAM cuando se utiliza.
Arquitectura del Computador / El BIOS - 3
Memoria PROM
PROM D23128C en la plaqueta de una Sinclair ZX Spectrum.
PROM es el acrónimo de Programmable Read-Only Memory (ROM programable). Es una memoria digital donde
el valor de cada bit depende del estado de un fusible (o antifusible), que puede ser quemado una sola vez. Por
esto la memoria puede ser programada (pueden ser escritos los datos) una sola vez a través de un dispositivo
especial, un programador PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades
menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos.
Pequeñas PROM han venido utilizándose como generadores de funciones, normalmente en conjunción con un
multiplexor. A veces se preferían a las ROM porque son bipolares, habitulamente Schottky, consiguiendo
mayores velocidades.
Historia
La memoria PROM fue inventada en 1956 por Wen Tsing Chow, trabajando para la División Arma, de la
American Bosch Arma Corporation en Garden City, Nueva York. La invención fue concebida a petición de la
Fuerza Aérea de los Estados Unidos, para conseguir una forma más segura y flexible para almacenar las
constantes de los objetivos en la computadora digital del MBI Atlas E/F.
La patente y la tecnología asociadas fueron mantenidas bajo secreto por varios años mientras el Atlas E/F era el
principal misil de Estados Unidos. El término "quemar", refiriéndose al proceso de grabar una PROM, se
encuentra también en la patente original, porque como parte de la implementación original debía quemarse
literalmente los diodos internos con un exceso de corriente para producir la discontinuidad del circuito. Las
primeras máquinas de programación de PROMs también fueron desarrolladas por ingenieros de la División Arma
bajo la dirección del Sr. Chow y fueron ubicados el laboratorio Arma de Garden City, y en la jefatura del
Comando estratégico aéreo de las Fuerzas Aéreas.
Programación
Una PROM común se encuentra con todos los bits en valor 1 como valor por defecto de fábrica; el quemado de
cada fusible, cambia el valor del correspondiente bit a 0. La programación se realiza aplicando pulsos de altos
voltajes que no se encuentran durante operaciones normales (12 a 21 voltios). El término Read-only (sólo
lectura) se refiere a que, a diferencia de otras memorias, los datos no pueden ser cambiados (al menos por el
usuario final).
EPROM y EEPROM
Wen Tsing Chow y otros ingenieros de la División Arma continuaron con este suceso diseñando la primera
Memoria de Sólo Lectura No destruible' (Non-Destructive Read-Only Memory, NDRO) para aplicarlo a
misiles guiados, basado en una base de doble abertura magnética. Estas memorias, diseñadas originalmente
para mantener constantes de objetivos, fueron utilizadas para sistemas de armas de MBIs y MMRBMs.
La principal motivación para este invento fue que la Fuerza Aérea Estadounidense necesitaba reducir los costes
de la fabricación de plaquetas de objetivos basadas en PROMs que necesitaban cambios constantes a medida
que llegaba nueva información sobre objetivos del bloque de naciones comunistas. Como estas memorias son
borrables, programables y re-programables, constituyen la primera implementación de una producción de
memorias EPROM y EEPROM, de fabricación anterior al 1963.
Debe observarse que los términos modernos de estos dispositivos, PROM, EPROM y EEPROM, no fueron
creados hasta un tiempo después de que las aplicaciones de misiles guiados nucleares hayan estado
operacionales. Las implementaciones originales de Arma se refieren a las PROMs como "matriz de
almacenamiento de constantes"; y a las EPROMs y EEPROMs simplemente eran denominadas "memorias
NDRO".
Las modernas implementaciones comerciales de las PROM, EPROM y EEPROM basadas en circuitos
integrados, borrado por luz ultravioleta, y varias propiedades de los transistores, aparecen unos 10 años
después. Hasta que esas nuevas implementaciones fueron desarrolladas, fuera de aplicaciones militares, era
más barato fabricar memorias ROM que utilizar una de las nuevas caras tecnologías desarrolladas y fabricados
por los contratistas de misiles de las fuerzas aéreas.
De todas formas, en misiles, naves espaciales, satélites y otras aplicaciones de mucha confiabilidad, siguen en
uso muchos de los métodos de la implementación original de los '50.
4 - Arquitectura del Computador / El BIOS
Bootstrapping
La palabra inglesa bootstrapping es generalmente un término más extenso para el arranque, o proceso de
inicio de cualquier ordenador. Suele referirse al programa que arranca un sistema operativo como por ejemplo
GRUB, Lilo o NTLDR. Se ejecuta tras el proceso POST de la BIOS. También es llamado "Bootstrap Loader"
(cargador de inicialización).
Una vez el PC arranca, comienza a ejecutarse el código que se encuentra en la dir. F000:FFF0 el cual pertenece
al ROM-BIOS y es el encargado de realizar una serie de tests e inicializaciones. Esta rutina se llama POST
(Power On Self-Test). Una vez que la BIOS termina con sus tests e inicializaciones carga el sector 1 (cilindro 0,
cabeza 0, sector 1) en la dir. 0000:7C00 (7C00 lineal), comprueba que contenga código válido (comprueba que
esté firmado con 55H, AAH en los bytes 511 y 512) y salta a esa dirección (CS:IP apuntan a esa dirección).
El bootstrapping también puede referirse al proceso mediante el cual se han desarrollado entornos de
programación cada vez más complejos a partir de otros más simples. El entorno más simple sería, quizás, un
editor de textos muy sencillo (p.e. ed) y un programa ensamblador. Utilizando estas herramientas, se puede
escribir un editor de texto más complejo y un compilador simple para un lenguaje de más alto nivel y así
sucesivamente, hasta obtener un entorno integrado de desarrollo y un lenguaje de programación de muy alto
nivel.
También por ejemplo es conocido ese término, para 'construir' un sistema completo a partir de sus componentes
base, o bien, de previas versiones precompiladas de esos componentes, como por ejemplo una instalación vía
'stage1' en gentoo linux.
Overclock
AMD Athlon XP Pantalla del setup del BIOS en una tarjeta madre ABIT NF7-S. El overclock del procesador
permite aumentar la frecuencia de 133mhz a 148mhz, y el multiplicador cambio de x13.5 a x16.5
Overclock es un anglicismo de uso habitual en informática. Literalmente significa sobre el reloj, es decir,
aumentar la frecuencia de reloj de la CPU. La práctica conocida como overclocking (antiguamente conocido
como undertiming) pretende alcanzar una mayor velocidad de reloj para un componente electrónico (por encima
de las especificaciones del fabricante). La idea es conseguir un rendimiento más alto gratuitamente, o superar
las cotas actuales de rendimiento, aunque esto pueda suponer una pérdida de estabilidad o acortar la vida útil
del componente.
Esta práctica se popularizó en los últimos tiempos, ya que no merecía la pena perder el componente por ganar
unos pocos megaherzios. El overclocking ya está más avanzado y permite forzar los componentes aún más
(muchas veces cerca del doble) sin que pase nada, siempre que tengan una buena refrigeración.
Este aumento de velocidad produce un mayor gasto energético, y por tanto, una mayor producción de calor
residual en el componente electrónico. El calor puede producir fallos en el funcionamiento del componente, y se
debe combatir con diversos sistemas de refrigeración (por aire con ventiladores, por agua o con una célula
Peltier unida a un ventilador). A veces, los fallos producidos por esta práctica, pueden dañar de forma definitiva
el componente, otras veces, pueden producir un reinicio que conlleva la pérdida de datos de las aplicaciones
abiertas, o en algún caso, la pérdida del sistema de archivos entero.
Esta práctica está muy extendida entre los usuarios de informática más exigentes, que tratan de llevar al máximo
el rendimiento de sus máquinas. Los consumidores menos atrevidos suelen comprar componentes informáticos
de bajo coste, forzándolos posteriormente y alcanzando así el rendimiento esperado por los componentes de
gama más alta. Por otro lado, los consumidores más fanáticos pueden llegar a adquirir componentes de última
hornada para forzar su funcionamiento, y conseguir así pruebas de rendimiento inalcanzables para cualquier
equipo de consumo. Por este motivo, la mayoría de los fabricantes decide no incluir en la garantía de su
hardware los daños producidos por overclockearlos.
Hoy en día fabricantes de hardware producen sus productos desbloqueados para permitirles a los usuarios
realizar overclock sobre los mismos. Es el caso de, por ejemplo, placas de video, microprocesadores, etc.
Arquitectura del Computador / El BIOS - 5
Underclock
Underclock es un anglicismo usado en informatica que significa debajo del reloj. UnderClock es el proceso
inverso a Overclock, mientras que en el Overclock se aumenta la velocidad de reloj del CPU o memorias para
ganar rendimiento, en el UnderClock se baja la velocidad de reloj.
Aunque con esta practica se reduce el rendimiento del componente puede tener algun uso, como ser,
underclockear el procesador permite jugar a juegos antiguos y del emulador MAME que, si se utilizan con el
hardware actual sin underclokear, funcionan a velocidades hasta 3 veces mayores a las normales. Esta tecnica
tambien ayuda a reducir la temperatura de los componentes, por lo que algunas personas la usan en
computadoras donde la refrigeracion no es suficiente para mantener los componentes a una temperatura
funcional aceptable.
6 - Arquitectura del Computador / El BIOS