固件
外观
“firmware”的各地常用名称 | |
---|---|
中国大陆 | 固件 |
台湾 | 韧体 |
港澳 | 韧体 |
固件(英语:firmware),是一种嵌入在硬件设备中的软件。通常它是位于特殊应用集成电路(ASIC)或可编程逻辑器件(PLD)之中的闪存或EEPROM或PROM里,有的可以让用户更新。可以应用在非常广泛的电子产品中,从遥控器、计算器到电脑中的键盘、硬盘,甚至工业机器人中都可见到它的身影。
顾名思义,固件是介于软件和硬件之间的。像软件一样,它是由电脑所执行的程序。然而它是对于硬件内部而言更加贴近以及更加重要的部分,而对于外在世界而言较无重要的意义。
起源
[编辑]“固件”这个名词是源自于为了如AMD29xx之类的微程序所写之微程序。[来源请求]后来它被当成取代一个低价的微处理器里的一部分功能。
实际而言,一般硬件可以透过对固件的升级提升其性能及可靠性。在众多的有规律的固件升级中刻录设备是其中之一,比如说光盘刻录器(DVD, CD, HD DVD, Blu-ray),随着媒体技术的日新月异,固件的更新可以确保硬件保持在最新的状态以及确保其兼容性。
固件使用的演进
[编辑]固件已经演进为一个硬件设备当中的可编程的内容,比如说固件可能包含有一处理器之机器代码或者固定功能之设备,或是网关数组或者可编程之逻辑器件之设置。
固件的一个一般性的特色是它可以随时以电流清除并重写 或更换存储介质的方式更新。
固件可以(但并非必需)暴露出一个可由外界连接的接口。比如说在某些调制解调器的实现中,固件并非可以直接访问,但却是由硬件以及韧体所组成回应主机的一部分。
固件原本被存放在于ROM中,然而价格以及性能的需求已经让原件供应商妥协于其他的替代方案,包含了非易失性的媒体比如说EEPROM以及闪存或是SRAM的解决方案。
标准
[编辑]- 联邦标准1037C(Federal Standard 1037C)
- MIL-STD-188
- 可扩展固件接口
示例
[编辑]- 个人电脑中的BIOS或UEFI
- CPU和GPU
- 硬盘或固态盘的固件
- SPARC架构电脑和PowerPC苹果电脑中使用的Open Firmware,Intel Mac则使用EFI
- 在只读存储器中的计算机程序
- 在PROM中,这些程序只可以被特别的外部硬件来更改,而不能经由应用程序更新
- PlayStation Portable系统软体
- 路由器或交换机的固件
未经授权地更改固件有时候可以得到制造商不提供的功能或规避某些侦测,例如使DVD播放机的区码功能失效。