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

Re: New summary: Binary peripheral software



J.D. Hood wrote:

>  --- 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.
Yes.  Added point, though.  Before non-volatile rewritable memory became
common and cheap, firmware was often in ROM or PROM (not even EPROM), and
actually *wasn't* more easily changed than hardware by *end users*.  It was
more easily changed by the *hardware developers*, who would solder an EPROM 
onto the development versions of board instead of the ROM....

> 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.
No, stick with the original usage of "firmware".

> 
> --
> Thomas


-- 
Make sure your vote will count.
http://www.verifiedvoting.org/



Reply to: