Browse Prior Art Database

An Overview of Firmware Engineering Disclosure Number: IPCOM000131304D
Original Publication Date: 1978-May-01
Included in the Prior Art Database: 2005-Nov-10
Document File: 17 page(s) / 58K

Publishing Venue

Software Patent Institute

Related People

Scott Davidson: AUTHOR [+4]


University of Southwestern Louisiana

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 6% of the total text.

Page 1 of 17


This record contains textual material that is copyright ©; 1978 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Contact the IEEE Computer Society (714-821-8380) for copies of the complete work that was the source of this textual material and for all use beyond that as a record from the SPI Database.

An Overview of Firmware Engineering

Scott Davidson and Bruce O. Shriver

University of Southwestern Louisiana

Firmware engineering, in analogy to software engineering, covers the specification and design of microprograms, construction techniques, debugging, testing, verification, and maintenance. Here is a look at the current state of the art and coming trends.

Although microprogramming was introduced by Wilkes63 in 1951, the first extensive commercial microprogramming project was the design and implementation of several processors of the IBM 360 series in the early 1960's.48 Since then the field has grown rapidly: today it is a widely accepted processor implementation technique.

With this growth comes the requirement for better microprogram production techniques. Just as the need for software to be produced more quickly, cheaply, and reliably has been recognized, so too has the need for these characteristics in microprogram development become obvious. There are three maj or reasons for this need. The first is that many microprograms, such as those used in the implementation of an instruction set, are still being committed to read only store. Errors in these applications are expensive to repair if a proper set of tools is not available. The second reason is the increased migration of programs from other programming levels into firmware, a trend which has led to larger microprograms. This trend is attributable to the increased availability of microprogrammable processors with writable control store. A third reason is the growth of user microprogramming, also brought about by the availability of processors with WCS. In the past, the microprogrammed has been intimately familiar with the architecture of the machine. To open the field to others, tools such as machine-independent higher-level microprogramming languages, which do not require detailed knowledge of the host processor, are needed.

Development history.

The history of firmware development tools is analogous in many ways to the history of software development tools. The earliest computers were programmed in binary, just as the first microprogramming was done at a very primitive leveler Machine-dependent assemblers were next developed, increasing the productivity of programmers and making programs easier to understand and maintain. Similarly, machinedependent microassemblers are currently widely used.

The next step in the evolution of software development tools was the machine-independent higherlevel language. Recently, work has been done on software design me...