Qué es el firmware, y por qué es importante que esté actualizado

Todos los componentes electrónicos de nuestro PC tienen un firmware. Este software es una pieza básica para el funcionamiento de los mismos, pero, aun así, todavía hay usuarios que no saben qué es y la importancia que tiene su presencia en nuestros componentes. En este artículo nos adentraremos más en su definición, su importancia, así como la de tenerlo actualizado.

A muchos usuarios cuando les hablas de firmware, piensan automáticamente en una especie de driver que es lo que permite que el software entienda el hardware. La realidad es bien distinta, ya que el firmware es el software que ejecuta de manera interna el hardware para poder realizar ciertas funciones que realiza de forma continua y recursiva mientras se encuentra en funcionamiento. El firmware es, por tanto, el software que en combinación con el microcontrolador integrado en tu tarjeta gráfica, tu disco duro e incluso tu teclado hace que tenga las funciones que tiene y se pueda comunicar.

¿Qué es el firmware de un componente?

Se conoce como firmware al software integrado dentro del hardware, habitualmente en una memoria ROM, que lleva el sello o la firma del fabricante y que le especifica cómo ha de funcionar y cuál es su configuración. El firmware de un componente es un tipo de software que es capaz de proporcionar un control de bajo nivel específico para el componente en cuestión.

Este software puede ser capaz de proporcionar un entorno de operación para las funciones más complejas del componente, o bien puede actuar como el propio sistema operativo interno del componente. En definitiva, el firmware es el encargado de decirle al mismo cómo ha de funcionar o cómo comportarse cuando funciona en consonancia con otros dispositivos.

BIOS GIGABYTE Normal

Un claro ejemplo de lo que es un firmware avanzado es la BIOS/UEFI de nuestras placas base. Gracias a ellas, la placa puede hacer funcionar nuestro PC, pero también gracias a ella, podemos configurar muchos aspectos de nuestros sistemas de manera diferente a lo que sería la configuración de serie del mismo.

Como contrapunto, tenemos software más sencillos, como el que se usa para controlar nuestras unidades de almacenamiento. Generalmente, estos software no suelen ser modificables por los usuarios y los suelen proporcionar los fabricantes de los propios dispositivos.

Como norma, el firmware se suele almacenar en un chip de memoria no volátil. Este tipo de chip puede ser de memoria ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory) o memoria NAND Flash. En la actualidad, se usan más las memorias NAND Flash por su facilidad a la hora de actualizar el software que contienen.

En algunos dispositivos se utilizan puertos y pines de bajo consumo para comunicarse con el chip que almacena el firmware, por ejemplo interfaces UART o I2C se suelen implementar entre los pines de comunicación de un procesador central o de apoyo para darle acceso al chip que almacena el firmware durante el arranque. Especialmente cuando el ordenador se encuentra en modo reposo y no se pueden emplear aquellas con un alto nivel de consumo.

EEPROM Firmware GPU

¿Por qué es importante actualizarlo?

Los fabricantes de componentes de hardware suelen trabajar en modificaciones del software que hace funcionar sus componentes. Estas modificaciones pueden añadir nuevas funcionalidades a las originales del componente, o pueden corregir fallos que hubieran aparecido en el componente una vez salió al mercado. Incluso pueden hacer que se incremente el rendimiento del componente en cuestión.

Buena parte del hardware usa un microcontrolador que dicta cómo ha de funcionar a través de leer un programa en una ROM, pues bien ese programa es el firmware.

Un ejemplo muy típico es el de las actualizaciones de la BIOS de las placas base. Gracias a ellas se incrementa la estabilidad de nuestros sistemas, o se le da mayor compatibilidad con los módulos de memoria RAM u otros dispositivos, además de que en algunos casos habilitan el usar nuevos modelos de procesadores que, previamente, no estaban soportados, prolongando la vida útil de la placa base para el usuario.

Pero no solo eso, un firmware puede modificar aspectos clave de seguridad o rendimiento, ya sea por la inclusión de nuevas mejoras o por la corrección de errores que se hayan detectado, así como de un simple soporte con una tecnología de nueva factura.

actualización de Firmware

Hay ejemplos para todos los gustos como los SSD y su controladora, los cuales y dado que actualmente y por norma es Windows quien gestiona gran parte de los accesos y asignaciones mediante un driver común mantener el firmware actualizado puede suponer ventajas de rendimiento.

Las tarjetas gráficas también tienen su propio firmware a modo de VBIOS y en este caso aunque no es tan complejo como en una placa base la cantidad de parámetros y saltos que tienen lo hacen un software muy complejo realmente.

¿Cómo saber si el firmware de nuestro PC está actualizado?

Hay programas como AIDA64 que os pueden dar esa información.

AIDA64 pantalla Firmware

Sin embargo, no podemos negar las ventajas de tener nuestros componentes correctamente actualizados, con respecto a su firmware. Por ello, es muy recomendable que estemos pendientes de si salen revisiones de este, al menos cada cierto tiempo.

Por tanto, si queremos hacer que nuestro hardware funcione siempre a su máximo rendimiento, es buena política comprobar que el firmware de nuestros componentes está correctamente actualizado. Sin embargo, esta es una operación que deberemos de realizar de manera manual en muchos casos (aunque en otros las actualizaciones se pueden realizar de manera automática), y para ello deberemos de conocer cuál es el firmware de nuestros dispositivos, lo cual muchas veces no es algo fácil de saber.

Para ello aunque existen programas como el citado AIDA64, normalmente los fabricantes integran pequeñas utilidades individuales por modelo o serie para dicha tarea. Así, las marcas de SSD suelen tener una suite con algunas opciones donde entre ellas está la opción de actualizar dicho firmware. El mejor caso es Samsung y su software Magician, pero CORSAIR también tiene su Toolbox, la cual se integrará en iCUE en no demasiado tiempo para todos los modelos.

NVIDIA tiene su propio instalador que comprueba y flashea sus BIOS, aunque hay otros como NVFlash o similares. Los auriculares también tienen firmware y en no pocos casos mejoran o cambian el sonido de los cascos amparándose en correcciones o calibraciones distintas. En definitiva, casi todo hardware o periférico tiene firmware en la actualidad, incluso tu teclado, ya que es una herramienta simple para corregir errores y mejorar rendimientos o compatibilidades.

Diferencias entre driver y firmware

Es importante el saber diferenciar entre un firmware y unos drivers. Los controladores, de actualización muy habitual cada poco tiempo como por ejemplo sucede con las tarjetas gráficas, son un software en toda regla que de manera efectiva pueden modificar el comportamiento de los dispositivos; siguiendo con el ejemplo de las tarjetas gráficas, se añaden optimizaciones para nuevos juegos en pos de conseguir un mejor rendimiento, además de solucionar vulnerabilidades conocidas de seguridad.

Velocidad procesador clocking switching

Sin embargo, y aunque en muchos casos una actualización de firmware puede tener el mismo efecto, hay que tener en cuenta que no es un software como tal sino el código interno del dispositivo. Es decir, el driver le dice al SO cómo tiene que interactuar con el componente, el firmware le dice al componente como tiene que interactuar con el SO, aunque parezca lo mismo, realmente no lo es. Hay que tener, además, en especial consideración de que si se va la luz durante una actualización de firmware el dispositivo podría quedar inutilizado para siempre, cosa que no sucede cuando actualizas unos drivers.

Por lo que la diferencia principal entre un driver y el firmware es que el primero se ejecuta en el PC mientras que el segundo lo hace en el propio hardware de manera directa. El firmware además puede trabajar de manera conjunta con el driver, pasando parámetros importantes para el correcto funcionamiento y la seguridad del dispositivo o componente en cuestión.

1 Comentario