Floating-point unit: Difference between revisions

Content deleted Content added
m Integrated FPUs: link on the first occurrence
Jrlevine (talk | contribs)
Line 12:
 
== History ==
 
In 1954, the [[IBM 704]] had floating point arithmetic as a standard feature, one of its major improvements over its predecessor the [[IBM 701]]. This was carried forward to its successors the 709, 7090, and 7094.
 
In 1963, Digital announced the [[PDP-6]] which had floating point as a standard feature.<ref>{{cite web |title=PDP-6 Handbook|URL=http://bitsavers.org/pdf/dec/pdp6/F-65_PDP-6_Handbook_Aug64.pdf|website=www.bitsavers.org}}</ref>
 
In 1963, the [[GE-200 series|GE-235]] featured an "Auxiliary Arithmetic Unit" for floating point and double-precision calculations.<ref>{{cite web |title=GE-2xx documents |url=http://www.bitsavers.org/pdf/ge/GE-2xx/ |website=www.bitsavers.org|at=[http://www.bitsavers.org/pdf/ge/GE-2xx/CPB-267_GE-235-SystemManual_1963.pdf CPB-267_GE-235-SystemManual_1963.pdf], p. IV-4}}</ref>
 
Historically, some systems implemented [[Floating-point arithmetic|floating point]] with a [[coprocessor]] rather than as an integrated unit (but now in addition to the CPU, e.g. [[graphics processing unit|GPUs]]{{snd}} that are coprocessors not always built into the CPU{{snd}} have FPUs as a rule, while first generations of GPUs didn't). This could be a single [[integrated circuit]], an entire [[Printed circuit board|circuit board]] or a cabinet. Where floating-point calculation hardware has not been provided, floating-point calculations are done in software, which takes more processor time, but avoids the cost of the extra hardware. For a particular computer architecture, the floating-point unit instructions may be [[Emulator|emulated]] by a library of software functions; this may permit the same [[object code]] to run on systems with or without floating-point hardware. Emulation can be implemented on any of several levels: in the CPU as [[microcode]] (not a common practice), as an [[operating system]] function, or in [[user-space]] code. When only integer functionality is available, the [[CORDIC]] floating-point emulation methods are most commonly used.
 
In most modern computer architectures, there is some division of floating-point operations from [[integer]] operations. This division varies significantly by architecture; some have dedicated floating-point registers, while some, like [[x86|Intel x86]], take it as far as independent [[computer clock|clocking]] schemes.<ref>{{Cite web |url=http://www.cpu-world.com/CPUs/80287/index.html |title=Intel 80287 family |website=www.cpu-world.com |access-date=2019-01-15}}</ref>