[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New summary: Binary peripheral software

 --- Henning Makholm <henning@makholm.net> wrote: 
> Scripsit Florian Weimer <fw@deneb.enyo.de>
> > What about firmware that is executed on the host CPU?
> How can the word "firmware" possibly be appropriate in such a case?

Originally the word 'firmware' referred to software stored in non-
volatile memory.  Thus a system BIOS, which is executed by the system
CPU, was firmware.  The word 'firm', I speculate, was meant to
express the idea that firmware was more easily changed than the wiring
inside the box (hardware) but less easily changed than a loaded
program (software).

Contemporary computers contain more than one processing unit.  Some
years ago the peripheral processing units usually ran software that
was stored in a ROM -- i.e., it was firmware.  In order to save money, 
manufacturers began leaving out the ROMs and began shipping the
code for the peripheral processors along with the driver; the driver
downloaded the software for the peripheral processor at boot time.
Quite naturally people began to refer to "downloadable firmware".
The word 'firmware' had come to mean, in their minds, software that
runs on a peripheral processor.

The word thus became ambiguous.  Ambiguity is often bad: it causes
confusion and misunderstanding.  The way to deal with an ambiguous
term is either to agree on a definition or to avoid the term and use
some other expression that is less ambiguous.  I suggested using the
term 'peripheral software'.  However, if everyone is willing to
define 'firmware' so that it refers to software running on peripherals
(so that my computer's BIOS isn't firmware but the program that gets
loaded into my computer's DSP chip to make it implement a modem _is_
firmware) then I'll go along with that.


Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 

Reply to: