Why Instruction Sets No Longer Matter: Difference between revisions

From ETHW
Line 22: Line 22:
=== Development of Firmware ===
=== Development of Firmware ===


Prior to the advent of firmware, the idea of an instruction set was sort of meaningless.  The operation of a given machine's CPU was defined by the physical layout of wiring, whether solid-state or vacuum tube.
Prior to the advent of firmware, the idea of an instruction set was sort of meaningless.  The operation of a given machine's CPU was defined solely by the physical layout of wiring.
[File:eniac_programming.jpg]


1.Opler, Ascher (January 1967). "Fourth-Generation Software". Datamation 13 (1): 22–24.
1.Opler, Ascher (January 1967). "Fourth-Generation Software". Datamation 13 (1): 22–24.

Revision as of 21:18, 10 December 2011

Why Instruction Sets No Longer Matter

About the Author

* I'm a student in the History of Computing class at San Jose State University
* (http://www.cs.sjsu.edu/~mak/CS185C/).  This is a work in progress that will
* turn into a final article by the end of the semester.
*
* I welcome your comments and advice!
*

Summary

Background: Microcode

Most people today are probably more familiar with "firmware" than "microcode." Originally, when Aschler Opler coined the term in 1967, both referred to pretty much the same thing--the contents of the writable control store that defined the instuction set of a given computer[1]. Later, the definition of "firmware" would be expanded to it's current understanding of any microcode that exist, anywhere on the chip, for any purpose, while "microcode" would retain it's original scope but perhaps being too technical would remain largely restricted to the ivorty towers of computer engineering and thus outside of the public consciousness.

Indeed the use of the over-specialized and semi-archaic term "microcode" can cause confusion even in the modern software engineering and computer science circles--at a recent talk at San Jose State RISC pioneer Dr. Robert Garner spoke at great length about microcode. At the end of his presentation, during the Q&A session, a student asked quite bluntly, "I'm still confused...what is microcode?" In fact, the entire Q&A session mostly revolved around the need for clarification about "microcode." I have no doubt that if Dr. Garner had merely interchanged one word for the other there would have been little confusion among the CS & SE students in attendance about the role of "firmware" in today's computers.

In any event for clarity and accessibility, and having witnessed the result other wise, this article will use the term "firmware", but restrict it's meaning to that originally defined by Opler--ie., to mean "microcode."

Development of Firmware

Prior to the advent of firmware, the idea of an instruction set was sort of meaningless. The operation of a given machine's CPU was defined solely by the physical layout of wiring. [File:eniac_programming.jpg]

1.Opler, Ascher (January 1967). "Fourth-Generation Software". Datamation 13 (1): 22–24.