Lably
Skip to content

Firmware

Low-level computer software

  • 7 min read
  • 5 chapters
WD Blue WD5000LPVX - controller - Winbond 25X20CLVIG - spiflash 2M-BIT serial flash memory with 4KB sectors and dual I/O SPI. Package: VSOP-8
Raimond Spekking · CC BY-SA 4.0

Related on Lably

Through Computing, Computer hardware and Operating system

Firmware is found in a wide range of computing devices, including personal computers, smartphones, home appliances, vehicles, computer peripherals and in many of the integrated circuits inside each of these larger systems. It can be found, for instance, in the microcontroller of a computer keyboard.

Firmware is stored in non-volatile memory – either read-only memory (ROM) or programmable memory such as EPROM, EEPROM, or flash. Changing a device's firmware stored in ROM requires physically replacing the memory chip or the device itself. Programmable firmware memory can be reprogrammed via a procedure sometimes called flashing. Common reasons for changing firmware include fixing bugs and adding features.

History and etymology

Ascher Opler used the term firmware in a 1967 Datamation article, as an intermediary term between hardware and software. Opler projected that fourth-generation computer systems would have a writable control store (a small specialized high-speed memory) into which microcode firmware would be loaded. Many software functions would be moved to microcode, and instruction sets could be customized, with different firmware loaded for different instruction sets.

As computers began to increase in complexity, it became clear that various programs needed to first be initiated and run to provide a consistent environment necessary for running more complex programs at the user's discretion. This required programming the computer to run those programs automatically. Furthermore, as companies, universities, and marketers wanted to sell computers to people with little technical knowledge, greater automation became necessary to allow a layperson to easily run programs for practical purposes. This gave rise to a kind of software that a user would not consciously run, and it led to software that a lay user would not even know about.

As originally used, firmware contrasted with hardware (the CPU itself) and software (normal instructions executing on a CPU). It was not composed of CPU machine instructions, but of lower-level microcode involved in the implementation of machine instructions. It existed on the boundary between hardware and software; thus the name firmware. Over time, popular usage extended the word firmware to denote any computer program that is tightly linked to hardware, including BIOS on PCs, boot firmware on smartphones, computer peripherals, or the control systems on simple consumer electronic devices, such as microwave ovens and remote controls.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication