Firmware is a type of software that runs on a hardware device, performing low-level tasks. For example, everything from a television remote control to a computer hard drive to an aerial drone runs its own firmware. And microcode is basically firmware for your CPU.
What Is Firmware?
Software refers to the programs, application, and other computer code that runs on a device. Hardware refers to the actual physical devices. So, if you have a Windows PC, the Windows operating system and all the applications you use are software, and the PC itself and its components like the hard disk, CPU, motherboard, mouse, and display are hardware.
“Firmware,” like its name suggests, is something in between software and hardware. Firmware is actually just a type of software, but it is usually programmed into memory built in to that hardware and runs at a much lower level. In the case of a PC, your motherboard, CPU, graphics processor, hard drive, mouse, and other devices all have their own firmware.
For example, when you boot up your PC, the firmware on your motherboard—either UEFI or BIOS—starts and initializes your devices, before handing startup off to your hard drive, and then your operating system. Your solid state drive has firmware that automatically manages where data should be stored on the physical flash memory cells for optimum performance. The video BIOS is a type of firmware that translates video-related instructions before they’re sent to your computer’s graphics processor. Even your USB mouse has firmware that handles interpreting the physical mouse input, communicating with your computer, and powering any lights that may be on your mouse.
Firmware Can Be a Simple Device’s Entire Operating System
For some simple devices, the “firmware” can refer to the device’s entire operating system. For example, if you have a digital camera, the camera “firmware” refers to all the software that runs on that digital camera. This includes everything from the low-level photography capturing functions to the camera’s graphical operating system. Even aerial drones have firmware, which is the software that runs onboard the drone itself.
So, to update a device’s entire operating system—like on a digital camera, router, printer, music player, or a GPS navigation device—you’ll often have to perform a “firmware update,” or download and install a new “firmware” file from the manufacturer.
An operating system seems like it should just be software, so this may seem a little inconsistent. but that’s because firmware isn’t a precise term. While software and hardware are fairly clear, firmware is just a type of low-level software.
What is Microcode?
Microcode has become more important with the Spectre vulnerability. Intel CPUs need new “microcode” from Intel to properly defend against Spectre attacks.
Think of microcode like a firmware for your computer’s CPU. Microcode translates the instructions the CPU receives into the physical, circuit-level operations that happen inside the CPU. In other words, an updated microcode can send different instructions to the circuits inside the CPU. This can prevent certain Spectre attacks by changing the way the CPU functions. Microcode updates can also fix bugs and other errors, without requiring complete replacement of CPU hardware.
Microcode updates are generally delivered along with UEFI firmware or BIOS updates. When your computer boots up, the computer’s UEFI firmware or BIOS loads the microcode onto the CPU. However, it’s also possible for operating systems like Windows or Linux to load new microcode at boot time.
For example, if you want to get the latest Intel microcode for your CPU to protect against Spectre and your PC manufacturer won’t release UEFI updates for your system, Microsoft has an optional Windows update you can install.
Should You Update a Device’s Firmware?
Whether you should update a device’s firmware depends on the device and what the manufacturer recommends.
In many cases, you will never need to update a hardware device’s firmware. For example, your television remote control is running firmware, and there’s almost certainly no way to update it. There’s no reason you’d want to update it, anyway. Your remote control is fine, and you don’t need to worry about it.
For many other hardware devices, updating the firmware may sometimes be helpful to fix bugs and deliver minor improvements. For example, your solid-state drive’s manufacturer may offer a newer version of the firmware that improves reliability or performance. Your graphics card manufacturer may offer a new video BIOS that fixes a bug. Or your router manufacturer may offer a firmware update that includes new administrative features.
Many device manufacturers recommend you only install a firmware update if you have a problem that needs to be fixed (or you require a specific new feature), or if the manufacturer specifically instructs you to install it.
For other devices, firmware updates are almost always a great idea. You probably want the latest and greatest firmware update for your digital camera, for example, to improve performance and get new features. And Microsoft recommends you keep your Xbox One controller’s firmware updated to ensure it works properly with the games you play.
You should follow the manufacturer’s recommendation for each device. Many manufacturers recommend you only update their device’s firmware if you aren’t experiencing a problem. If the power dies or an error occurs while updating firmware, there often isn’t a way to cleanly recover. In other words, a botched firmware update may “brick” a device, rendering it unusable. This depends on the device.
How to Update Your Hardware’s Firmware
If you do need to update a device’s firmware, these general instructions should help you out. The exact process for updating a device’s firmware depends on the device itself, and the device manufacturer should provide instructions on their website.
First, head to the manufacturer’s website and find the support or download page for the specific product you’re using. For example, if you have a Samsung solid state drive, head to Samsung’s website and find the support page for your specific model of SSD. If you want to update your motherboard’s firmware or BIOS, head to your PC manufacturer’s website and look for your exact mode of PC—or, if you built your own computer, head to the motherboard manufacturer’s website and look for the model of motherboard you have.
Look for any sort of “firmware” update download on the support site. If you can’t find one, there’s probably no updated firmware available for your device. Download the latest version you see, and be sure to read any release notes that appear on the website.
Once you’ve downloaded the new firmware, open the download and look for a README file. If you can’t find one, look for separate firmware installation instructions on the download page. The manufacturer’s instructions will lay out exactly what you need to do.
For some firmware updates, you may simply need to run an .exe file from within Windows and it will take care of everything for you. For others, you may need to create a bootable DOS drive with the firmware file on it, boot into the DOS environment, and run a command to update your firmware from there. Or, if you want to update a separate device, you may need to put the firmware file on a USB drive or SD card and bring it to the other device.
If the firmware file you downloaded is just an .exe file and you can’t find any instructions, you probably just need to double-click it and run it from within Windows.
These are general instructions, and you may need to perform different steps for different devices. For example, to update your Xbox One controller’s firmware, you have to use an Xbox One or the Xbox Accessories app on Windows 10. Some programs may automatically prompt you to install firmware updates for associated hardware devices, if they’re really necessary.