友人から28800bpsのモデムを購入したところ,「ファームウェアを書き換えれば33600 bpsになる」といわれました。このファームウェアとは何なのでしょうか。
一般的なアプリケーションとしてのソフトウェアやOSなどに対して,よりハードウェアに密着してそれを制御するための専用化されたソフトウェアのことをファームウェア(firmware)と呼びます。例えばターミナルアダプタ(TA)やモデム,PHSなどの中にもCPUが入っていますが,これらを制御するソフトウェアとしてファームウェアをROMなどに書き込んで使用します。ROMの種類としては少量生産品にはEPROM,量産品にはマスクROM,また,最近では部品としての単価は多少高いものの書き換えの容易なEEPROMやFlashメモリなどが採用されています。これらの書き換え可能なROMを使用することによりバグへの対応や,場合によっては機能アップに簡単に対応することが可能となり,大きなメリットがあります。
また,ROM内蔵タイプのワンチップマイコンなどでは内部のメモリに直接書き込まれます。プログラムの開発にはC言語などの高級言語も使われますが,少ないメモリ環境や低速なCPUの性能を最大限に引き出すために,コンパクトで高速な機械語を出力できるアセンブリ言語と混在させたり,アセンブリ言語だけで開発されるケースもあります。
(智)