Milestone-Proposal:IEEE Standard 754 for Floating Point Arithmetic: Difference between revisions

From IEEE Milestones Wiki
No edit summary
No edit summary
Line 30: Line 30:
: Prof. William Kahan, w ho had attended the second IEEE 754 meeting in September 1977, recruited visiting Prof. Harold Stone and graduate student Jerome Coonen to help write an initial proposal for the next subcommittee meeting, in April 1978.
: Prof. William Kahan, w ho had attended the second IEEE 754 meeting in September 1977, recruited visiting Prof. Harold Stone and graduate student Jerome Coonen to help write an initial proposal for the next subcommittee meeting, in April 1978.
; Inspired by ongoing collaboration with Intel,  
; Inspired by ongoing collaboration with Intel,  
: In 1976, John Palmer at Intel approached Kahan to help develop a corporate floating point standard, whose first targets would be the 432 processor and the 8087 math co-processor for the 8086. When the 754 subcommittee appeared, Kahan appealed to Intel management to permit him to develop the arithmetic toward an international standard, while leaving many proprietary features of the Intel standard undisclosed.  
: In 1976, John Palmer at Intel approached Kahan to help develop a corporate floating point standard, whose first targets would be the 432 processor and the 8087 math coprocessor for the 8086. When the 754 subcommittee appeared, Kahan appealed to Intel management to permit him to develop the arithmetic toward an international standard, while leaving many proprietary features of the Intel standard undisclosed.  
; the proposal revolutionized numerical computing.  
; the proposal revolutionized numerical computing.  
: IEEE 754 changed everything. Programmers could depend on the floating point data types presented in programming languages. They could depend on the behavior of the arithmetic.
: IEEE 754 changed everything. Programmers could depend on the floating point data types presented in programming languages. They could depend on the behavior of the arithmetic.
Line 36: Line 36:
: IEEE standard arithmetic is designed to deliver ''the most sensible'' result for every operation. Its 32-bit and 64-bit data types facilitate data transmission in compact binary form.
: IEEE standard arithmetic is designed to deliver ''the most sensible'' result for every operation. Its 32-bit and 64-bit data types facilitate data transmission in compact binary form.
; promoted unprecedented program reliability and portability.  
; promoted unprecedented program reliability and portability.  
: The keyword here is ''unprecedented''. Until IEEE 754, the best approach to portability was to quantify machine characteristics such as radix – binary, octal, decimal , hex – and the maximum and mininum values '''for which the computer behaved reliably''' and then to enumerate axioms of arithmetic every relevant computer would adhere to. Such axioms necessarily represented an abstract machine worse than any ever actually built. This was not a feasible path to portability. The emergence of microprocessors offered a one-time opportunity to start with a clean slate.
: The keyword here is ''unprecedented''. Until IEEE 754, the best approach to portability was to quantify machine characteristics such as radix – binary, octal, decimal , hex – and the maximum and mininum values ''for which the computer behaved reliably'' and then to enumerate axioms of arithmetic every relevant computer would adhere to. Such axioms necessarily represented an abstract machine worse than any ever actually built. This was not a feasible path to portability. The emergence of microprocessors offered a one-time opportunity to start with a clean slate.
; By 1980, microprocessor companies were already implementing the proposal,  
; By 1980, microprocessor companies were already implementing the proposal,  
: Intel delivered the 8087 in 1980. Motorola was working on the 68881 coprocessor for its 68000 family. Zilog was actively developing the Z8070 coprocessor for the z8000 family, though it never shipped. Apple, years away from being a chip company, full endorsed the proposed standard with software implementations on the Apple ii, Apple ///, Lisa, and Macintosh, and an ambitious Pascal system supporting all the features of the 754 proposal.
: Intel delivered the 8087 in 1980. Motorola was working on the 68881 coprocessor for its 68000 family. Zilog was actively developing the Z8070 coprocessor for the z8000 family, though it never shipped. Apple, years away from being a chip company, full endorsed the proposed standard with software implementations on the Apple ii, Apple ///, Lisa, and Macintosh, and an ambitious Pascal system supporting all the features of the 754 proposal.

Revision as of 17:42, 9 June 2021


To see comments, or add a comment to this discussion, click here.

Docket #:2021-06

This Proposal has been approved, and is now a Milestone


To the proposer’s knowledge, is this achievement subject to litigation? No

Is the achievement you are proposing more than 25 years old? Yes

Is the achievement you are proposing within IEEE’s designated fields as defined by IEEE Bylaw I-104.11, namely: Engineering, Computer Sciences and Information Technology, Physical Sciences, Biological and Medical Sciences, Mathematics, Technical Communications, Education, Management, and Law and Policy. Yes

Did the achievement provide a meaningful benefit for humanity? Yes

Was it of at least regional importance? Yes

Has an IEEE Organizational Unit agreed to pay for the milestone plaque(s)? Yes

Has an IEEE Organizational Unit agreed to arrange the dedication ceremony? Yes

Has the IEEE Section in which the milestone is located agreed to take responsibility for the plaque after it is dedicated? Yes

Has the owner of the site agreed to have it designated as an IEEE Milestone? Yes


Year or range of years in which the achievement occurred:

1977-1985

Title of the proposed milestone:

IEEE Standard 754 for Floating-Point Arithmetic

Plaque citation summarizing the achievement and its significance:

In 1978, faculty and students at U.C. Berkeley drafted what became IEEE Standard 754 for Binary Floating-Point Arithmetic. Inspired by ongoing collaboration with Intel, the proposal revolutionized numerical computing. Its robust arithmetic and standard data types promoted unprecedented program reliability and portability. By 1980, microprocessor companies were already implementing the proposal, which was formally approved in 1985. IEEE 754 remains the standard for reliable numerical computing.

200-250 word abstract describing the significance of the technical achievement being proposed, the person(s) involved, historical context, humanitarian and social impact, as well as any possible controversies the advocate might need to review.


IEEE technical societies and technical councils within whose fields of interest the Milestone proposal resides.


In what IEEE section(s) does it reside?

Oakland / East Bay

IEEE Organizational Unit(s) which have agreed to sponsor the Milestone:

IEEE Organizational Unit(s) paying for milestone plaque(s):


IEEE Organizational Unit(s) arranging the dedication ceremony:


IEEE section(s) monitoring the plaque(s):


Milestone proposer(s):


Please note: your email address and contact information will be masked on the website for privacy reasons. Only IEEE History Center Staff will be able to view the email address.

Street address(es) and GPS coordinates in decimal form of the intended milestone plaque site(s):

Soda Hall, Le Roy Ave, Berkeley, CA 94709; 37.875624, -122.258882

Describe briefly the intended site(s) of the milestone plaque(s). The intended site(s) must have a direct connection with the achievement (e.g. where developed, invented, tested, demonstrated, installed, or operated, etc.). A museum where a device or example of the technology is displayed, or the university where the inventor studied, are not, in themselves, sufficient connection for a milestone plaque.

Please give the address(es) of the plaque site(s) (GPS coordinates if you have them). Also please give the details of the mounting, i.e. on the outside of the building, in the ground floor entrance hall, on a plinth on the grounds, etc. If visitors to the plaque site will need to go through security, or make an appointment, please give the contact information visitors will need. Soda Hall on U.C. Berkeley campus houses the Computer Science Department. During spring break 1978, Prof. William Kahan and visiting Prof. Harold Stone and graduate student Jerome Coonen met to discuss Kahan's plan for a standard for floating point arithmetic. He had attended the second meeting of a new IEEE standards subcommittee and he had a plan to bring an ambitious proposal to the third meeting, coming in April 1978. And so arose the first drafts of what became IEEE 754.

Are the original buildings extant?

Yes

Details of the plaque mounting:

Wall mounting, adjacent to the existing IEEE Milestone plaque for First RISC Microprocessor

How is the site protected/secured, and in what ways is it accessible to the public?

Soda Hall is a campus building, of offices, lecture halls, and classrooms, with all the attendant public access and off-hours security.

Who is the present owner of the site(s)?

Regents of the University of California

What is the historical significance of the work (its technological, scientific, or social importance)? If personal names are included in citation, include justification here. (see section 6 of Milestone Guidelines)

IEEE 754 marks a unique opportunity in history, when technology could take a huge leap forward. With 8-bit microprocessors well-established, semiconductor technology was advancing rapidly and the prospect for scientific, engineering, and financial computation was just ahead. The mainframe and minicomputer industries had splintered in into factions of binary, octal, and hexadecimal arithmetic on data elements of varying sizes. Portability of numerical codes was a nightmare. A new standard for floating point arithmetic offered the prospect of high quality, dependable arithmetic across a wide range of computers and programming languages.

What obstacles (technical, political, geographic) needed to be overcome?

Final approval of IEEE 754 in 1985 spanned an elapsed 8 years from the founding of the subcommittee in 1977. That's a remarkable time period, given that the proposal was largely established by 1980. Technology was not a problem. Features of the standard were understood and known to be feasible. But as with any advance, there was resistance to change from past and current practice. Remarkably, the fiercest competitors in the emerging microprocessor industry were the first to converge on the KCS proposal from Berkeley that became the subcommittee's ultimate focus. Given the wide range of possibilities in a new arithmetic system , ideas arose from different academic and industrial corners. Every contribution required response.

What features set this work apart from similar achievements?

What sets IEEE 754 apart is its sheer scope. The floating point standard has influenced every processor design of the past four decades and more. Even the supercomputers adopted the standard. And now the new generation of machine learning processors adapt features of 754 to their specialized, narrow numeric types. The standard also has reach into programming languages, an area much slower to incorporate features of the standard but nonetheless an area that continues to advance. IEEE 754 is a one-of-a-kind standard whose like may never be seen again.

Supporting texts and citations to establish the dates, location, and importance of the achievement: Minimum of five (5), but as many as needed to support the milestone, such as patents, contemporary newspaper articles, journal articles, or chapters in scholarly books. 'Scholarly' is defined as peer-reviewed, with references, and published. You must supply the texts or excerpts themselves, not just the references. At least one of the references must be from a scholarly book or journal article. All supporting materials must be in English, or accompanied by an English translation.

Annotated Citation

While the draft citation will inevitably change during the approval process, a line-by-line accounting of the working draft might be helpful.

In 1978, faculty and students at U.C. Berkeley drafted what became IEEE Standard 754 for Binary Floating-Point Arithmetic.
Prof. William Kahan, w ho had attended the second IEEE 754 meeting in September 1977, recruited visiting Prof. Harold Stone and graduate student Jerome Coonen to help write an initial proposal for the next subcommittee meeting, in April 1978.
Inspired by ongoing collaboration with Intel,
In 1976, John Palmer at Intel approached Kahan to help develop a corporate floating point standard, whose first targets would be the 432 processor and the 8087 math coprocessor for the 8086. When the 754 subcommittee appeared, Kahan appealed to Intel management to permit him to develop the arithmetic toward an international standard, while leaving many proprietary features of the Intel standard undisclosed.
the proposal revolutionized numerical computing.
IEEE 754 changed everything. Programmers could depend on the floating point data types presented in programming languages. They could depend on the behavior of the arithmetic.
Its robust arithmetic and standard data types
IEEE standard arithmetic is designed to deliver the most sensible result for every operation. Its 32-bit and 64-bit data types facilitate data transmission in compact binary form.
promoted unprecedented program reliability and portability.
The keyword here is unprecedented. Until IEEE 754, the best approach to portability was to quantify machine characteristics such as radix – binary, octal, decimal , hex – and the maximum and mininum values for which the computer behaved reliably and then to enumerate axioms of arithmetic every relevant computer would adhere to. Such axioms necessarily represented an abstract machine worse than any ever actually built. This was not a feasible path to portability. The emergence of microprocessors offered a one-time opportunity to start with a clean slate.
By 1980, microprocessor companies were already implementing the proposal,
Intel delivered the 8087 in 1980. Motorola was working on the 68881 coprocessor for its 68000 family. Zilog was actively developing the Z8070 coprocessor for the z8000 family, though it never shipped. Apple, years away from being a chip company, full endorsed the proposed standard with software implementations on the Apple ii, Apple ///, Lisa, and Macintosh, and an ambitious Pascal system supporting all the features of the 754 proposal.
which was formally approved in 1985.
The IEEE process is necessarily deliberate. The subcommittee replied to many alternative proposals. There was no indication that any of the proposals were being implemented, aside from designs pre-dating 754.
IEEE 754 remains the standard for reliable numerical computing.
As of 2021, all general-purpose processors with floating point arithmetic adhere substantially to IEEE 754. Special-purpose chips such as DSPs use IEEE formats and arithmetic for the functions they support. Even the newest Machine Lerning and GPU chips take inspiration from IEEE 7t54, as evidenced by the 16-bit types half-float and bfloat16, and the attention to unbiased rounding to nearest in supported operations.

Supporting materials (supported formats: GIF, JPEG, PNG, PDF, DOC): All supporting materials must be in English, or if not in English, accompanied by an English translation. You must supply the texts or excerpts themselves, not just the references. For documents that are copyright-encumbered, or which you do not have rights to post, email the documents themselves to ieee-history@ieee.org. Please see the Milestone Program Guidelines for more information.


Please email a jpeg or PDF a letter in English, or with English translation, from the site owner(s) giving permission to place IEEE milestone plaque on the property, and a letter (or forwarded email) from the appropriate Section Chair supporting the Milestone application to ieee-history@ieee.org with the subject line "Attention: Milestone Administrator." Note that there are multiple texts of the letter depending on whether an IEEE organizational unit other than the section will be paying for the plaque(s).

Please recommend reviewers by emailing their names and email addresses to ieee-history@ieee.org. Please include the docket number and brief title of your proposal in the subject line of all emails.