晚上9点到11点是什么时辰| 男人手大代表什么| 有机食品什么意思| 10.19什么星座| 淋巴肉是什么| 下半年有什么节日| style是什么意思| 水清则无鱼什么意思| 男人左眼跳是什么意思| 血池是什么意思| 曲水流觞是什么意思| 多汗症是什么原因引起的| 上海手表什么档次| 红糖是什么做的| 打生长激素有什么危害和副作用| 小孩晚上睡不着是什么原因| 安乐片是什么药| 梦见大胖小子是什么意思| 吃什么变聪明| 人参片泡水喝有什么功效和作用| hpv感染吃什么药| 自然数的定义是什么| 偶尔失眠是什么原因| 梦见被警察抓预示什么| 间隔旁型肺气肿是什么| 淋巴结有什么症状| 出淤泥而不染是什么意思| 啖是什么意思| 托梦是什么意思| 三毛为什么自杀| 血小板计数是什么意思| 舌头两边锯齿状是什么原因| 什么的日子| 前三个月怀孕注意什么| 膝盖痛用什么药| 2025年属什么生肖| 唐氏综合征是什么意思| 豆汁是什么味道| 621什么星座| 脂肪是什么颜色| 高胆红素血症是什么病| 大专跟本科有什么区别| 糜烂型脚气用什么药| 月经推迟7天是什么原因| 人才辈出是什么意思| 属马的跟什么属相最配| 每晚都做梦是什么原因| 荷尔蒙爆发是什么意思| 道德绑架什么意思| 枸杞不能和什么一起吃| 血脂查什么项目| 为什么大便是绿色的| 外阴苔藓用什么药膏| 什么是邮箱地址应该怎么填写| 腹胀是什么原因| 什么食物对眼睛视力好| 什么不一| 治疗幽门螺杆菌用什么药效果最好| 头响脑鸣是什么原因引起的| 横店是什么| 半夜容易醒是什么原因| 坐以待毙是什么意思| 流涎是什么意思| 确认妊娠是什么意思啊| 中午吃什么不会胖| 死缓什么意思| 脑供血不足吃什么药效果好| 汗水里面有什么成分| 河南有什么特色美食| 云南雪燕有什么作用| 乳酸高是什么原因| 大便想拉又拉不出来是什么原因| 100001是什么电话| 执业药师什么时候考试| 什么叫更年期| 狐臭是什么人种的后代| 尿道炎症状吃什么药| 竹心泡水喝有什么功效| 吃什么容易消化| 三和大神是什么意思| 吃什么食物能降低胆固醇| 宫腔粘连是什么意思| p和t分别是什么意思| 心有灵犀是什么意思| 小厮是什么意思| 妊娠囊是什么意思| 尿粒细胞酯酶阳性什么意思| 三月24号是什么星座的| 转氨酶是什么意思| 淋巴结炎吃什么药| 曹操为什么要杀华佗| 什么是托特包| 夏天吃什么好| 羟苯乙酯是什么东西| 口角炎涂什么药膏| 吠陀是什么意思| 猫咪结膜炎用什么药好| 耳聋是什么原因引起的| 月蚀是什么意思| hpv42阳性是什么意思| 多巴胺是什么| 阙是什么意思| 不举是什么原因造成的| cor是什么意思| 喝水喝多了有什么坏处| 哈达是什么| 深褐色是什么颜色| 什么地舞动| 大便一粒粒的是什么原因| 乳腺3类是什么意思| 润物细无声是什么意思| 91年的羊是什么命| 腿抽筋用什么药| 肾阴阳两虚吃什么| 1970年属什么生肖| 黑绿色大便是什么原因| 意外是什么意思| 眼睛痒是怎么回事用什么药| 大便咖啡色什么原因| nbcs是什么意思| 梦见爆炸是什么意思| 吃什么水果能美白| 什么东西能吸水| 水滴石穿是什么变化| 什么然而止| 睡醒嘴巴苦是什么原因| 漏尿吃什么药| alt医学上是什么意思| 甲亢病吃什么药效果好| 横空出世什么意思| 艾滋病吃什么药| 牛肉馅饺子配什么菜| 最近老坏东西暗示什么| 小孩鼻子出血什么原因| 印度人是什么人种| 经常肚子痛什么原因| 肝实质回声细密是什么意思| 甲亢什么不能吃| 引力是什么| 喝莓茶有什么好处| 宫颈纳囊什么意思| 多巴胺分泌是什么意思| 有病是什么意思| 2021属什么| 乘载和核载是什么意思| 胎儿打嗝是什么原因| 预估是什么意思| 大侠是什么意思| oh什么意思| 嗓子痒痒是什么原因| 乐意是什么意思| 人体有365个什么| 桃花什么生肖| 脚肿是什么原因造成的| l是什么意思| 女生腰疼是什么原因| 二甲双胍什么时候吃最好| 喜欢吃冰的是什么原因| 手小的男人代表什么| 姜太公钓鱼愿者上钩是什么意思| 肝内多发钙化灶是什么意思| 降尿酸什么药最好| 58什么意思| 人中起痘痘是什么原因| 杠杠的是什么意思| 什么树木| 低血压高是什么原因| 米索前列醇片是什么药| 嘴巴里长水泡是什么原因| 制氧机什么牌子好| 6月15日什么星座| 欣五行属什么| 7月30日什么星座| 唯我独尊指什么生肖| 大器晚成是什么意思| 阅人无数什么意思| 三观不合是什么意思| 怀疑是什么意思| 桂附地黄丸治什么病| 雌二醇是什么| 发热门诊属于什么科| 土豆炒什么好吃| 撒西不理是什么意思| 出汗少是什么原因| 贫血吃什么| 113是什么意思| 麻烦别人说什么礼貌用语| amy什么意思| 梦见牛是什么意思| 古代上元节是什么节日| ng是什么单位| 味淋可以用什么代替| 神经纤维瘤挂什么科| 今年65岁属什么生肖| 舌头有麻木感什么原因| 肠梗阻有什么症状| 脚底发麻是什么原因| 海员是干什么的| 紧张是什么意思| 心血管狭窄吃什么药| 三个土念什么| 非农业户口是什么意思| 什么夺目| 刮痧不出痧是什么原因| 说什么情深似海我却不敢当| 两肺结节是什么意思| 摩羯座男生喜欢什么样的女生| 增殖灶是什么意思| cip是什么| 手上起皮是什么原因| 鋆字五行属什么| 活检是什么检查| 空气栓塞取什么卧位| 西瓜又什么又什么填空| 小囊性灶是什么意思| 护理主要学什么| 朋友圈发女朋友照片配什么文字| 粘纤是什么面料优缺点| 政协主席是什么级别| 吃花生有什么好处| 吃石斛有什么功效| 木芙蓉什么时候开花| 丘比特是什么意思| 禾末念什么| 肌酐高吃什么食物| 公租房是什么| 单独粘米粉能做什么| 农历6月28日是什么星座| 屁多是什么原因造成的| 换身份证需要带什么| 配偶什么意思| 用盐水洗脸有什么好处和坏处| 手经常抖是什么原因| 蛋白石是什么| st什么意思| 空调除湿和制冷有什么区别| 器质性是什么意思| 封建思想是什么意思| 阳上人是什么意思| 产检都检查什么项目| 冬虫虫念什么| 月破是什么意思| 什么属相不能住西户| 为什么感冒吃冰棒反而好了| 全自动洗衣机漏水是什么原因| 麻风病是什么病| 性功能障碍挂什么科| 早上8点是什么时辰| 国民老公是什么意思| 吃什么可以补钾| 女人胯骨疼是什么原因| 放屁多是什么病的征兆| 双相情感障碍是什么| 什么是阳虚什么是阴虚| 糜烂性胃炎可以吃什么蔬菜| 密送是什么意思| 骨折可以吃什么| 风湿病是什么原因造成的| 梦见女儿结婚是什么意思| 容易淤青的体质叫什么| 什么的雪人| 什么人不能吃鹅蛋| 财五行属什么| 血糖高适合吃什么食物| 百度Jump to content

广东云浮筠城国际广场亮相第12届中国商业地产节

From Wikipedia, the free encyclopedia
Collection of the x87 family of math coprocessors by Intel
百度 特朗普签署对中国部分商品加征关税后,美国股市出现了大幅下跌,那就加征关税这一话题,央视财经频道第一时间连线我台驻美国华盛顿的记者王冠在美国了解到的最新情况。

A floating-point unit (FPU), numeric processing unit (NPU),[1] colloquially math coprocessor, is a part of a computer system specially designed to carry out operations on floating-point numbers.[2] Typical operations are addition, subtraction, multiplication, division, and square root. Modern designs generally include a fused multiply-add instruction, which was found to be very common in real-world code. Some FPUs can also perform various transcendental functions such as exponential or trigonometric calculations, but the accuracy can be low,[3][4] so some systems prefer to compute these functions in software.

Floating-point operations were originally handled in software in early computers. Over time, manufacturers began to provide standardized floating-point libraries as part of their software collections. Some machines, those dedicated to scientific processing, would include specialized hardware to perform some of these tasks with much greater speed. The introduction of microcode in the 1960s allowed these instructions to be included in the system's instruction set architecture (ISA). Normally these would be decoded by the microcode into a series of instructions that were similar to the libraries, but on those machines with an FPU, they would instead be routed to that unit, which would perform them much faster. This allowed floating-point instructions to become universal while the floating-point hardware remained optional; for instance, on the PDP-11 one could add the floating-point processor unit at any time using plug-in expansion cards.

The introduction of the microprocessor in the 1970s led to a similar evolution as the earlier mainframes and minicomputers. Early microcomputer systems performed floating point in software, typically in a vendor-specific library included in ROM. Dedicated single-chip FPUs began to appear late in the decade, but they remained rare in real-world systems until the mid-1980s, and using them required software to be re-written to call them. As they became more common, the software libraries were modified to work like the microcode of earlier machines, performing the instructions on the main CPU if needed, but offloading them to the FPU if one was present. By the late 1980s, semiconductor manufacturing had improved to the point where it became possible to include an FPU with the main CPU, resulting in designs like the i486 and 68040. These designs were known as an "integrated FPU"s, and from the mid-1990s, FPUs were a standard feature of most CPU designs except those designed as low-cost as embedded processors.

In modern designs, a single CPU will typically include several arithmetic logic units (ALUs) and several FPUs, reading many instructions at the same time and routing them to the various units for parallel execution. By the 2000s, even embedded processors generally included an FPU as well.

History

[edit]

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.[5]

In 1963, the GE-235 featured an "Auxiliary Arithmetic Unit" for floating point and double-precision calculations.[6]

Historically, some systems implemented floating point with a coprocessor rather than as an integrated unit (but now in addition to the CPU, e.g. GPUs – that are coprocessors not always built into the CPU – have FPUs as a rule, while first generations of GPUs did not). This could be a single integrated circuit, an entire 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 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, as an operating system function, or in user-space code. When only integer functionality is available, the CORDIC methods are most commonly used for transcendental function evaluation.[citation needed]

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 Intel x86, go as far as independent clocking schemes.[7]

CORDIC routines have been implemented in Intel x87 coprocessors (8087,[8][9][10][11][12] 80287,[12][13] 80387[12][13]) up to the 80486[8] microprocessor series, as well as in the Motorola 68881[8][9] and 68882 for some kinds of floating-point instructions, mainly as a way to reduce the gate counts (and complexity) of the FPU subsystem.

Floating-point operations are often pipelined. In earlier superscalar architectures without general out-of-order execution, floating-point operations were sometimes pipelined separately from integer operations.

The modular architecture of Bulldozer microarchitecture uses a special FPU named FlexFPU, which uses simultaneous multithreading. Each physical integer core, two per module, is single-threaded, in contrast with Intel's Hyperthreading, where two virtual simultaneous threads share the resources of a single physical core.[14][15]

Floating-point library

[edit]

Some floating-point hardware only supports the simplest operations: addition, subtraction, and multiplication. But even the most complex floating-point hardware has a finite number of operations it can support – for example, no FPUs directly support arbitrary-precision arithmetic.

When a CPU is executing a program that calls for a floating-point operation that is not directly supported by the hardware, the CPU uses a series of simpler floating-point operations. In systems without any floating-point hardware, the CPU emulates it using a series of simpler fixed-point arithmetic operations that run on the integer arithmetic logic unit.

The software that lists the necessary series of operations to emulate floating-point operations is often packaged in a floating-point library.

Integrated FPUs

[edit]

In some cases, FPUs may be specialized, and divided between simpler floating-point operations (mainly addition and multiplication) and more complicated operations, like division. In some cases, only the simple operations may be implemented in hardware or microcode, while the more complex operations are implemented as software.

In some current architectures, the FPU functionality is combined with SIMD units to perform SIMD computation; an example of this is the augmentation of the x87 instructions set with SSE instruction set in the x86-64 architecture used in newer Intel and AMD processors.

Add-on FPUs

[edit]

Several models of the PDP-11, such as the PDP-11/45,[16] PDP-11/34a,[17]:?184–185? PDP-11/44,[17]:?195,?211? and PDP-11/70,[17]:?277,?286–287? supported an add-on floating-point unit to support floating-point instructions. The PDP-11/60,[17]:?261? MicroPDP-11/23[18] and several VAX models[19][20] could execute floating-point instructions without an add-on FPU (the MicroPDP-11/23 required an add-on microcode option),[18] and offered add-on accelerators to further speed the execution of those instructions.

In the 1980s, it was common in IBM PC/compatible microcomputers for the FPU to be entirely separate from the CPU, and typically sold as an optional add-on. It would only be purchased if needed to speed up or enable math-intensive programs.

The IBM PC, XT, and most compatibles based on the 8088 or 8086 had a socket for the optional 8087 coprocessor. The AT and 80286-based systems were generally socketed for the 80287, and 80386/80386SX-based machines – for the 80387 and 80387SX respectively, although early ones were socketed for the 80287, since the 80387 did not exist yet. Other companies manufactured co-processors for the Intel x86 series. These included Cyrix and Weitek. Acorn Computers opted for the WE32206 to offer single, double and extended precision[21] to its ARM powered Archimedes range, introducing a gate array to interface the ARM2 processor with the WE32206 to support the additional ARM floating-point instructions.[22] Acorn later offered the FPA10 coprocessor, developed by ARM, for various machines fitted with the ARM3 processor.[23]

Coprocessors were available for the Motorola 68000 family, the 68881 and 68882. These were common in Motorola 68020/68030-based workstations, like the Sun-3 series. They were also commonly added to higher-end models of Apple Macintosh and Commodore Amiga series, but unlike IBM PC-compatible systems, sockets for adding the coprocessor were not as common in lower-end systems.

There are also add-on FPU coprocessor units for microcontroller units (MCUs/μCs)/single-board computer (SBCs), which serve to provide floating-point arithmetic capability. These add-on FPUs are host-processor-independent, possess their own programming requirements (operations, instruction sets, etc.) and are often provided with their own integrated development environments (IDEs).

See also

[edit]

References

[edit]
  1. ^ "Intel 80287XL Numeric Processing Unit". computinghistory.org.uk. Retrieved 2025-08-06.
  2. ^ Anderson, Stanley F.; Earle, John G.; Goldschmidt, Robert Elliott; Powers, Don M. (January 1967). "The IBM System/360 Model 91: Floating-Point Execution Unit". IBM Journal of Research and Development. 11 (1): 34–53. doi:10.1147/rd.111.0034. ISSN 0018-8646.
  3. ^ Dawson, Bruce (2025-08-06). "Intel Underestimates Error Bounds by 1.3 quintillion". randomascii.wordpress.com. Retrieved 2025-08-06.
  4. ^ "FSIN Documentation Improvements in the "Intel? 64 and IA-32 Architectures Software Developer's Manual"". intel.com. 2025-08-06. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  5. ^ "PDP-6 Handbook" (PDF). www.bitsavers.org. Archived (PDF) from the original on 2025-08-06.
  6. ^ "GE-2xx documents". www.bitsavers.org. CPB-267_GE-235-SystemManual_1963.pdf, p. IV-4.
  7. ^ "Intel 80287 family". www.cpu-world.com. Retrieved 2025-08-06.
  8. ^ a b c Muller, Jean-Michel (2006). Elementary Functions: Algorithms and Implementation (2nd ed.). Boston, Massachusetts: Birkh?user. p. 134. ISBN 978-0-8176-4372-0. LCCN 2005048094. Retrieved 2025-08-06.
  9. ^ a b Nave, Rafi (March 1983). "Implementation of Transcendental Functions on a Numerics Processor". Microprocessing and Microprogramming. 11 (3–4): 221–225. doi:10.1016/0165-6074(83)90151-5.
  10. ^ Palmer, John F.; Morse, Stephen Paul (1984). The 8087 Primer (1st ed.). John Wiley & Sons Australia, Limited. ISBN 0471875694. 9780471875697. Retrieved 2025-08-06.
  11. ^ Glass, L. Brent (January 1990). "Math Coprocessors: A look at what they do, and how they do it". Byte. 15 (1): 337–348. ISSN 0360-5280.
  12. ^ a b c Jarvis, Pitts (2025-08-06). "Implementing CORDIC algorithms – A single compact routine for computing transcendental functions". Dr. Dobb's Journal: 152–156. Retrieved 2025-08-06.
  13. ^ a b Yuen, A. K. (1988). "Intel's Floating-Point Processors". Electro/88 Conference Record: 48/5/1–7.
  14. ^ "AMD Steamroller vs Bulldozer". WCCFtech. Archived from the original on 9 May 2015. Retrieved 14 March 2022.
  15. ^ Halfacree, Gareth (28 October 2010). "AMD unveils Flex FP". bit-tech.net. Archived from the original on Mar 22, 2017. Retrieved 29 March 2018.
  16. ^ PDP-11/45 Processor Handbook (PDF). Digital Equipment Corporation. 1973. Chapter 7 "Floating Point Processor".
  17. ^ a b c d PDP-11 Processor Handbook (PDF). Digital Equipment Corporation. 1979.
  18. ^ a b MICRO/PDP-11 Handbook (PDF). Digital Equipment Corporation. 1983. p. 33.
  19. ^ VAX – Hardware Handbook Volume I – 1986 (PDF). Digital Equipment Corporation. 1985.
  20. ^ VAX – Hardware Handbook Volume II – 1986 (PDF). Digital Equipment Corporation. 1986.
  21. ^ "Western Electric 32206 co-processor". www.cpu-world.com. Retrieved 2025-08-06.
  22. ^ Fellows, Paul (March 1990). "Programming The ARM: The Floating Point Co-processor". A&B Computing. pp. 43–44.
  23. ^ "Acorn Releases Floating Point Accelerator" (Press release). Acorn Computers Limited. 5 July 1993. Retrieved 7 April 2021.

Further reading

[edit]
八月一日是什么日子 半夏是什么 暑假什么时候结束 什么时间运动减肥效果最好 什么然有序
舌苔发白是什么问题 马英九是什么生肖 什么平什么静 黄金豆是什么豆 满面红光是什么意思
一个月小猫吃什么 饭前饭后吃药有什么区别 反水是什么意思 阴道感染有什么症状 生不如死是什么生肖
马蹄粉是什么粉 蚊子为什么咬人 肝囊肿有什么危害 卵巢畸胎瘤是什么病 女人吃什么能活血化瘀
玉兔是什么意思hcv8jop8ns3r.cn 吃什么助于长高helloaicloud.com 孕激素六项检查什么时候做hcv8jop3ns6r.cn wifi用户名是什么hcv8jop7ns6r.cn rfc是什么意思hcv8jop3ns2r.cn
吃了小龙虾不能吃什么hcv8jop9ns2r.cn 丹凤眼是什么样的hcv8jop7ns0r.cn 血管为什么是青色的hcv8jop3ns9r.cn 女人在什么时候最容易怀孕hcv8jop1ns8r.cn 胃不好吃什么水果luyiluode.com
荨麻疹要注意些什么hcv7jop5ns5r.cn 农历六月六日是什么节日96micro.com 胃窦黄斑瘤是什么病hcv8jop8ns1r.cn 囧途什么意思hcv8jop8ns7r.cn 红豆不能和什么一起吃hcv8jop0ns9r.cn
百香果是什么季节的水果travellingsim.com 为什么女生喜欢腹肌hcv9jop5ns8r.cn 梦见死猪是什么意思hcv8jop8ns7r.cn 女孩叫兮兮是什么意思travellingsim.com 铅是什么东西jasonfriends.com
百度