Knowledge

Floating-point unit

Source đź“ť

20: 165:
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
270:
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
306:
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
431:
range, introducing a gate array to interface the ARM2 processor with the WE32206 to support the additional ARM floating-point instructions. Acorn later offered the FPA10 coprocessor, developed by ARM, for various machines fitted with the ARM3 processor.
278:
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
352:
models could execute floating-point instructions without an add-on FPU (the MicroPDP-11/23 required an add-on microcode option), and offered add-on accelerators to further speed the execution of those instructions.
629: 348:, such as the PDP-11/45, PDP-11/34a, PDP-11/44, and PDP-11/70, supported an add-on floating-point unit to support floating-point instructions. The PDP-11/60, MicroPDP-11/23 and several 399:
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
157: – 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 637: 936: 567:
Anderson, Stanley F.; Earle, John G.; Goldschmidt, Robert Elliott; Powers, Don M. (January 1967). "The IBM System/360 Model 91: Floating-Point Execution Unit".
2255: 967: 1227: 2366: 1549: 2068: 669: 1346: 2225: 1791: 1608: 2579: 294:
The software that lists the necessary series of operations to emulate floating-point operations is often packaged in a floating-point
1571: 605: 2220: 2292: 825: 569: 368:, and typically sold as an optional add-on. It would only be purchased if needed to speed up or enable math-intensive programs. 174:
to run on systems with or without floating-point hardware. Emulation can be implemented on any of several levels: in the CPU as
2574: 2045: 416: 412: 201:
operations. This division varies significantly by architecture; some have dedicated floating-point registers, while some, like
1063: 752: 2989: 2113: 1376: 1220: 467:
series, but unlike IBM PC-compatible systems, sockets for adding the coprocessor were not as common in lower-end systems.
2999: 2140: 1267: 944: 491: 2307: 2135: 2108: 1487: 547: 315: 1109: 1086: 3158: 3122: 2685: 1578: 1544: 1539: 1458: 1423: 101:
When a CPU is executing a program that calls for a floating-point operation, there are three ways to carry it out:
3097: 2994: 2395: 2302: 2103: 1324: 1213: 2123: 1842: 1277: 833: 537: 272: 694: 2297: 2145: 2118: 1979: 1593: 1554: 1411: 1118: 1095: 1072: 1046: 1016: 993: 251: 124:
had floating-point arithmetic as a standard feature, one of its major improvements over its predecessor the
98:
do not have hardware support for floating-point operations (while they increasingly have them as standard).
3163: 2734: 2496: 1972: 1933: 1588: 1583: 1517: 1329: 1171: 891: 482:
capability. These add-on FPUs are host-processor-independent, possess their own programming requirements (
79:
calculations, but the accuracy can be low, so some systems prefer to compute these functions in software.
2361: 2058: 1756: 1453: 1007: 255: 630:"FSIN Documentation Improvements in the "Intel® 64 and IA-32 Architectures Software Developer's Manual"" 3011: 2658: 2075: 1566: 1534: 1304: 1292: 1272: 1037: 3102: 3065: 3055: 1443: 375:, and most compatibles based on the 8088 or 8086 had a socket for the optional 8087 coprocessor. The 323: 146: 44: 3117: 2524: 2460: 2437: 2287: 2249: 2085: 2035: 2030: 1507: 1401: 1309: 542: 376: 372: 154: 892:"Implementing CORDIC algorithms – A single compact routine for computing transcendental functions" 658: 3173: 3070: 2853: 2747: 2711: 2628: 2612: 2454: 2243: 2202: 2190: 2053: 1967: 1888: 1653: 1314: 1257: 856:
Glass, L. Brent (January 1990). "Math Coprocessors: A look at what they do, and how they do it".
738: 509: 365: 191: 91: 68: 197:
In most modern computer architectures, there is some division of floating-point operations from
2876: 2848: 2758: 2723: 2472: 2466: 2448: 2182: 2176: 2080: 1984: 1875: 1814: 1676: 1319: 1198: 785:
Nave, Rafi (March 1983). "Implementation of Transcendental Functions on a Numerics Processor".
483: 284: 244: 236: 60: 142:
featured an "Auxiliary Arithmetic Unit" for floating point and double-precision calculations.
3168: 3050: 2959: 2705: 2417: 2235: 1994: 1962: 1920: 1832: 1633: 1448: 1438: 1428: 1418: 1388: 1371: 1236: 896: 503: 475: 436: 288: 162: 83: 3080: 3016: 2602: 2324: 2214: 2161: 1693: 1406: 1262: 1244: 258:. Each physical integer core, two per module, is single-threaded, in contrast with Intel's 72: 8: 3127: 3112: 2932: 2783: 2765: 2729: 2371: 2318: 2095: 2011: 1893: 1748: 1643: 1502: 523:
routines are used in many FPUs to implement functions but not greatly increase gate count
515: 295: 247:, floating-point operations were sometimes pipelined separately from integer operations. 262:, where two virtual simultaneous threads share the resources of a single physical core. 2984: 2976: 2828: 2803: 2607: 2482: 2006: 1947: 1827: 1559: 1287: 813: 420: 228:
and 68882 for some kinds of floating-point instructions, mainly as a way to reduce the
158: 95: 2937: 2904: 2820: 2752: 2653: 2643: 2633: 2564: 2559: 2554: 2477: 2406: 2312: 2272: 1905: 1855: 1805: 1781: 1663: 1603: 1598: 1480: 1396: 987: 867: 829: 798: 758: 748: 586: 1156:
Fellows, Paul (March 1990). "Programming The ARM: The Floating Point Co-processor".
3107: 3040: 3026: 2881: 2788: 2742: 2549: 2544: 2539: 2534: 2529: 2519: 2389: 2356: 2267: 2262: 2171: 2023: 2018: 2001: 1989: 1928: 1492: 1470: 1356: 1334: 1252: 794: 578: 428: 424: 179: 1132: 3021: 3006: 2954: 2858: 2833: 2670: 2663: 2514: 2509: 2504: 2443: 2351: 2341: 2063: 1898: 1850: 1613: 1497: 1465: 1366: 1361: 1282: 858: 708: 487: 471: 408: 318:
units to perform SIMD computation; an example of this is the augmentation of the
3132: 2966: 2949: 2942: 2838: 2695: 2432: 2346: 2277: 1860: 1822: 1771: 1766: 1761: 1475: 1299: 818: 526: 448: 444: 440: 361: 259: 225: 206: 87: 56: 3152: 2927: 2843: 1883: 1865: 1658: 1351: 871: 590: 396: 139: 76: 1786: 744: 3137: 3075: 2891: 2868: 2680: 2401: 1339: 686: 2922: 2886: 2597: 2569: 2427: 2282: 1205: 452: 388: 380: 339: 240: 221: 171: 150: 64: 52: 582: 153:
rather than as an integrated unit (but now in addition to the CPU, e.g.
2808: 2798: 2793: 2775: 2675: 2648: 1910: 1743: 1713: 1433: 479: 229: 217: 183: 314:
In some current architectures, the FPU functionality is combined with
128:. This was carried forward to its successors the 709, 7090, and 7094. 2899: 2896: 2638: 1708: 1686: 460: 308: 175: 105:
A floating-point unit emulator (a floating-point library in software)
459:
series. They were also commonly added to higher-end models of Apple
2914: 1733: 531: 280: 167: 48: 40: 762: 1723: 1681: 311:, while the more complex operations are implemented as software. 198: 125: 121: 1738: 1703: 1668: 520: 404: 392: 384: 357: 345: 327: 187: 566: 2196: 1728: 1698: 464: 456: 400: 170:
by a library of software functions; this may permit the same
132: 3060: 2208: 2128: 1718: 19: 23:
Collection of the x87 family of math coprocessors by Intel
1648: 1638: 921:
Yuen, A. K. (1988). "Intel's Floating-Point Processors".
349: 319: 213: 202: 1058: 1056: 186:
code. When only integer functionality is available, the
1032: 1030: 1028: 1026: 606:"Intel Underestimates Error Bounds by 1.3 quintillion" 1174:(Press release). Acorn Computers Limited. 5 July 1993 1149: 1053: 330:
architecture used in newer Intel and AMD processors.
43:
system specially designed to carry out operations on
1023: 740:
Elementary Functions: Algorithms and Implementation
817: 135:, which had floating point as a standard feature. 3150: 470:There are also add-on FPU coprocessor units for 383:-based systems were generally socketed for the 885: 883: 881: 490:, etc.) and are often provided with their own 478:(SBCs), which serve to provide floating-point 232:counts (and complexity) of the FPU subsystem. 1221: 1019:. 1973. Chapter 7 "Floating Point Processor". 732: 730: 728: 364:for the FPU to be entirely separate from the 254:uses a special FPU named FlexFPU, which uses 1196: 974:. Archived from the original on Mar 22, 2017 916: 914: 2226:Computer performance by orders of magnitude 1172:"Acorn Releases Floating Point Accelerator" 1164: 878: 811: 780: 778: 1235: 1228: 1214: 849: 805: 725: 965: 911: 391:-based machines – for the 265: 224:microprocessor series, as well as in the 212:CORDIC routines have been implemented in 1111:VAX – Hardware Handbook Volume II – 1986 826:John Wiley & Sons Australia, Limited 775: 86:, one or more FPUs may be integrated as 18: 1155: 1088:VAX – Hardware Handbook Volume I – 1986 743:(2nd ed.). Boston, Massachusetts: 570:IBM Journal of Research and Development 145:Historically, some systems implemented 3151: 889: 736: 603: 1209: 1133:"Western Electric 32206 co-processor" 966:Halfacree, Gareth (28 October 2010). 855: 67:. Some FPUs can also perform various 2197:Floating-point operations per second 920: 787:Microprocessing and Microprogramming 784: 695:CPB-267_GE-235-SystemManual_1963.pdf 435:Coprocessors were available for the 235:Floating-point operations are often 492:integrated development environments 287:operations that run on the integer 190:methods are most commonly used for 13: 1190: 301: 14: 3185: 3123:Semiconductor device fabrication 675:from the original on 2022-10-09. 47:numbers. Typical operations are 3098:History of general-purpose CPUs 1325:Nondeterministic Turing machine 1125: 1102: 1079: 1000: 959: 929: 411:opted for the WE32206 to offer 356:In the 1980s, it was common in 131:In 1963, Digital announced the 1278:Deterministic finite automaton 1197:Filiatreault, Raymond (2003). 937:"AMD Steamroller vs Bulldozer" 701: 679: 651: 622: 597: 560: 538:IBM hexadecimal floating point 333: 273:arbitrary-precision arithmetic 243:architectures without general 1: 2069:Simultaneous and heterogenous 1119:Digital Equipment Corporation 1096:Digital Equipment Corporation 1073:Digital Equipment Corporation 1047:Digital Equipment Corporation 1017:Digital Equipment Corporation 553: 548:Multiply–accumulate operation 283:it using a series of simpler 2753:Integrated memory controller 2735:Translation lookaside buffer 1934:Memory dependence prediction 1377:Random-access stored program 1330:Probabilistic Turing machine 1009:PDP-11/45 Processor Handbook 923:Electro/88 Conference Record 890:Jarvis, Pitts (1990-10-01). 799:10.1016/0165-6074(83)90151-5 737:Muller, Jean-Michel (2006). 636:. 2014-10-09. Archived from 604:Dawson, Bruce (2014-10-09). 250:The modular architecture of 111:Integrated FPU (in hardware) 7: 2209:Synaptic updates per second 497: 256:simultaneous multithreading 252:Bulldozer microarchitecture 205:, go as far as independent 10: 3190: 2613:Heterogeneous architecture 1535:Orthogonal instruction set 1305:Alternating Turing machine 1293:Quantum cellular automaton 337: 220:, 80287, 80387) up to the 115: 3103:Microprocessor chronology 3090: 3066:Dynamic frequency scaling 3039: 2975: 2913: 2867: 2819: 2774: 2694: 2621: 2590: 2495: 2416: 2380: 2334: 2234: 2221:Cache performance metrics 2160: 2094: 2044: 1955: 1946: 1919: 1874: 1841: 1813: 1804: 1624: 1527: 1516: 1387: 1243: 1039:PDP-11 Processor Handbook 992:: CS1 maint: unfit URL ( 610:randomascii.wordpress.com 16:Part of a computer system 3118:Hardware security module 2461:Digital signal processor 2438:Graphics processing unit 2250:Graphics processing unit 543:Graphics processing unit 69:transcendental functions 3159:Central processing unit 3071:Dynamic voltage scaling 2854:Memory address register 2748:Branch target predictor 2712:Address generation unit 2455:Physics processing unit 2244:Central processing unit 2203:Transactions per second 2191:Instructions per second 2114:Array processing (SIMT) 1258:Stored-program computer 534:floating-point standard 510:Address generation unit 443:. These were common in 326:instruction set in the 192:transcendental function 92:central processing unit 2877:Hardwired control unit 2759:Memory management unit 2724:Memory management unit 2473:Secure cryptoprocessor 2467:Tensor Processing Unit 2449:Vision processing unit 2183:Cycles per instruction 2177:Instructions per cycle 2124:Associative processing 1815:Instruction pipelining 1237:Processor technologies 344:Several models of the 322:instructions set with 285:fixed-point arithmetic 266:Floating-point library 245:out-of-order execution 84:computer architectures 24: 2960:Sum-addressed decoder 2706:Arithmetic logic unit 1833:Classic RISC pipeline 1787:Epiphany architecture 1634:Motorola 68000 series 1065:MICRO/PDP-11 Handbook 968:"AMD unveils Flex FP" 504:Arithmetic logic unit 476:single-board computer 437:Motorola 68000 family 289:arithmetic logic unit 22: 3081:Performance per watt 2659:replacement policies 2325:Package on a package 2215:Performance per watt 2119:Pipelined processing 1889:Tomasulo's algorithm 1694:Clipper architecture 1550:Application-specific 1263:Finite-state machine 709:"Intel 80287 family" 3164:Computer arithmetic 3113:Digital electronics 2766:Instruction decoder 2718:Floating-point unit 2372:Soft microprocessor 2319:System in a package 1894:Reservation station 1424:Transport-triggered 1075:. 1983. p. 33. 814:Morse, Stephen Paul 583:10.1147/rd.111.0034 108:Add-on FPU hardware 96:embedded processors 82:In general-purpose 29:floating-point unit 2985:Integrated circuit 2829:Processor register 2483:Baseband processor 1828:Operand forwarding 1288:Cellular automaton 897:Dr. Dobb's Journal 687:"GE-2xx documents" 421:extended precision 159:integrated circuit 25: 3146: 3145: 3035: 3034: 2654:Instruction cache 2644:Scratchpad memory 2491: 2490: 2478:Network processor 2407:Network on a chip 2362:Ultra-low-voltage 2313:Multi-chip module 2156: 2155: 1942: 1941: 1929:Branch prediction 1906:Register renaming 1800: 1799: 1782:VISC architecture 1604:Quantum computing 1599:VISC architecture 1481:Secondary storage 1397:Microarchitecture 1357:Register machines 1160:. pp. 43–44. 1158:A&B Computing 1137:www.cpu-world.com 812:Palmer, John F.; 754:978-0-8176-4372-0 713:www.cpu-world.com 691:www.bitsavers.org 666:www.bitsavers.org 474:units (MCUs/ÎĽCs)/ 39:) is a part of a 35:, colloquially a 3181: 3108:Processor design 3000:Power management 2882:Instruction unit 2743:Branch predictor 2692: 2691: 2390:System on a chip 2332: 2331: 2172:Transistor count 2096:Flynn's taxonomy 1953: 1952: 1811: 1810: 1614:Addressing modes 1525: 1524: 1471:Memory hierarchy 1335:Hypercomputation 1253:Abstract machine 1230: 1223: 1216: 1207: 1206: 1202: 1184: 1183: 1181: 1179: 1168: 1162: 1161: 1153: 1147: 1146: 1144: 1143: 1129: 1123: 1122: 1116: 1106: 1100: 1099: 1093: 1083: 1077: 1076: 1070: 1060: 1051: 1050: 1044: 1034: 1021: 1020: 1014: 1004: 998: 997: 991: 983: 981: 979: 963: 957: 956: 954: 952: 943:. Archived from 933: 927: 926: 918: 909: 908: 906: 905: 887: 876: 875: 853: 847: 846: 844: 843: 824:(1st ed.). 823: 809: 803: 802: 793:(3–4): 221–225. 782: 773: 772: 770: 769: 734: 723: 722: 720: 719: 705: 699: 698: 683: 677: 676: 674: 663: 659:"PDP-6 Handbook" 655: 649: 648: 646: 645: 626: 620: 619: 617: 616: 601: 595: 594: 564: 488:instruction sets 182:function, or in 180:operating system 94:; however, many 37:math coprocessor 3189: 3188: 3184: 3183: 3182: 3180: 3179: 3178: 3149: 3148: 3147: 3142: 3128:Tick–tock model 3086: 3042: 3031: 2971: 2955:Address decoder 2909: 2863: 2859:Program counter 2834:Status register 2815: 2770: 2730:Load–store unit 2697: 2690: 2617: 2586: 2487: 2444:Image processor 2419: 2412: 2382: 2376: 2352:Microcontroller 2342:Embedded system 2330: 2230: 2163: 2152: 2090: 2040: 1938: 1915: 1899:Re-order buffer 1870: 1851:Data dependency 1837: 1796: 1626: 1620: 1519: 1518:Instruction set 1512: 1498:Multiprocessing 1466:Cache hierarchy 1459:Register/memory 1383: 1283:Queue automaton 1239: 1234: 1193: 1191:Further reading 1188: 1187: 1177: 1175: 1170: 1169: 1165: 1154: 1150: 1141: 1139: 1131: 1130: 1126: 1114: 1108: 1107: 1103: 1091: 1085: 1084: 1080: 1068: 1062: 1061: 1054: 1042: 1036: 1035: 1024: 1012: 1006: 1005: 1001: 985: 984: 977: 975: 964: 960: 950: 948: 935: 934: 930: 919: 912: 903: 901: 888: 879: 854: 850: 841: 839: 838:. 9780471875697 836: 820:The 8087 Primer 810: 806: 783: 776: 767: 765: 755: 747:. p. 134. 735: 726: 717: 715: 707: 706: 702: 685: 684: 680: 672: 661: 657: 656: 652: 643: 641: 628: 627: 623: 614: 612: 602: 598: 565: 561: 556: 516:Load–store unit 500: 472:microcontroller 441:68881 and 68882 409:Acorn Computers 342: 336: 304: 302:Integrated FPUs 268: 118: 88:execution units 17: 12: 11: 5: 3187: 3177: 3176: 3174:Floating point 3171: 3166: 3161: 3144: 3143: 3141: 3140: 3135: 3133:Pin grid array 3130: 3125: 3120: 3115: 3110: 3105: 3100: 3094: 3092: 3088: 3087: 3085: 3084: 3078: 3073: 3068: 3063: 3058: 3053: 3047: 3045: 3037: 3036: 3033: 3032: 3030: 3029: 3024: 3019: 3014: 3009: 3004: 3003: 3002: 2997: 2992: 2981: 2979: 2973: 2972: 2970: 2969: 2967:Barrel shifter 2964: 2963: 2962: 2957: 2950:Binary decoder 2947: 2946: 2945: 2935: 2930: 2925: 2919: 2917: 2911: 2910: 2908: 2907: 2902: 2894: 2889: 2884: 2879: 2873: 2871: 2865: 2864: 2862: 2861: 2856: 2851: 2846: 2841: 2839:Stack register 2836: 2831: 2825: 2823: 2817: 2816: 2814: 2813: 2812: 2811: 2806: 2796: 2791: 2786: 2780: 2778: 2772: 2771: 2769: 2768: 2763: 2762: 2761: 2750: 2745: 2740: 2739: 2738: 2732: 2721: 2715: 2709: 2702: 2700: 2689: 2688: 2683: 2678: 2673: 2668: 2667: 2666: 2661: 2656: 2651: 2646: 2641: 2631: 2625: 2623: 2619: 2618: 2616: 2615: 2610: 2605: 2600: 2594: 2592: 2588: 2587: 2585: 2584: 2583: 2582: 2572: 2567: 2562: 2557: 2552: 2547: 2542: 2537: 2532: 2527: 2522: 2517: 2512: 2507: 2501: 2499: 2493: 2492: 2489: 2488: 2486: 2485: 2480: 2475: 2470: 2464: 2458: 2452: 2446: 2441: 2435: 2433:AI accelerator 2430: 2424: 2422: 2414: 2413: 2411: 2410: 2404: 2399: 2396:Multiprocessor 2393: 2386: 2384: 2378: 2377: 2375: 2374: 2369: 2364: 2359: 2354: 2349: 2347:Microprocessor 2344: 2338: 2336: 2335:By application 2329: 2328: 2322: 2316: 2310: 2305: 2300: 2295: 2290: 2285: 2280: 2278:Tile processor 2275: 2270: 2265: 2260: 2259: 2258: 2247: 2240: 2238: 2232: 2231: 2229: 2228: 2223: 2218: 2212: 2206: 2200: 2194: 2188: 2187: 2186: 2174: 2168: 2166: 2158: 2157: 2154: 2153: 2151: 2150: 2149: 2148: 2138: 2133: 2132: 2131: 2126: 2121: 2116: 2106: 2100: 2098: 2092: 2091: 2089: 2088: 2083: 2078: 2073: 2072: 2071: 2066: 2064:Hyperthreading 2056: 2050: 2048: 2046:Multithreading 2042: 2041: 2039: 2038: 2033: 2028: 2027: 2026: 2016: 2015: 2014: 2009: 1999: 1998: 1997: 1992: 1982: 1977: 1976: 1975: 1970: 1959: 1957: 1950: 1944: 1943: 1940: 1939: 1937: 1936: 1931: 1925: 1923: 1917: 1916: 1914: 1913: 1908: 1903: 1902: 1901: 1896: 1886: 1880: 1878: 1872: 1871: 1869: 1868: 1863: 1858: 1853: 1847: 1845: 1839: 1838: 1836: 1835: 1830: 1825: 1823:Pipeline stall 1819: 1817: 1808: 1802: 1801: 1798: 1797: 1795: 1794: 1789: 1784: 1779: 1776: 1775: 1774: 1772:z/Architecture 1769: 1764: 1759: 1751: 1746: 1741: 1736: 1731: 1726: 1721: 1716: 1711: 1706: 1701: 1696: 1691: 1690: 1689: 1684: 1679: 1671: 1666: 1661: 1656: 1651: 1646: 1641: 1636: 1630: 1628: 1622: 1621: 1619: 1618: 1617: 1616: 1606: 1601: 1596: 1591: 1586: 1581: 1576: 1575: 1574: 1564: 1563: 1562: 1552: 1547: 1542: 1537: 1531: 1529: 1522: 1514: 1513: 1511: 1510: 1505: 1500: 1495: 1490: 1485: 1484: 1483: 1478: 1476:Virtual memory 1468: 1463: 1462: 1461: 1456: 1451: 1446: 1436: 1431: 1426: 1421: 1416: 1415: 1414: 1404: 1399: 1393: 1391: 1385: 1384: 1382: 1381: 1380: 1379: 1374: 1369: 1364: 1354: 1349: 1344: 1343: 1342: 1337: 1332: 1327: 1322: 1317: 1312: 1307: 1300:Turing machine 1297: 1296: 1295: 1290: 1285: 1280: 1275: 1270: 1260: 1255: 1249: 1247: 1241: 1240: 1233: 1232: 1225: 1218: 1210: 1204: 1203: 1192: 1189: 1186: 1185: 1163: 1148: 1124: 1101: 1078: 1052: 1022: 999: 958: 928: 910: 877: 866:(1): 337–348. 848: 834: 804: 774: 753: 724: 700: 678: 650: 621: 596: 558: 557: 555: 552: 551: 550: 545: 540: 535: 529: 527:Execution unit 524: 518: 513: 507: 499: 496: 463:and Commodore 445:Motorola 68020 362:microcomputers 338:Main article: 335: 332: 303: 300: 267: 264: 260:Hyperthreading 226:Motorola 68881 216:coprocessors ( 147:floating point 117: 114: 113: 112: 109: 106: 57:multiplication 45:floating-point 15: 9: 6: 4: 3: 2: 3186: 3175: 3172: 3170: 3167: 3165: 3162: 3160: 3157: 3156: 3154: 3139: 3136: 3134: 3131: 3129: 3126: 3124: 3121: 3119: 3116: 3114: 3111: 3109: 3106: 3104: 3101: 3099: 3096: 3095: 3093: 3089: 3082: 3079: 3077: 3074: 3072: 3069: 3067: 3064: 3062: 3059: 3057: 3054: 3052: 3049: 3048: 3046: 3044: 3038: 3028: 3025: 3023: 3020: 3018: 3015: 3013: 3010: 3008: 3005: 3001: 2998: 2996: 2993: 2991: 2988: 2987: 2986: 2983: 2982: 2980: 2978: 2974: 2968: 2965: 2961: 2958: 2956: 2953: 2952: 2951: 2948: 2944: 2941: 2940: 2939: 2936: 2934: 2931: 2929: 2928:Demultiplexer 2926: 2924: 2921: 2920: 2918: 2916: 2912: 2906: 2903: 2901: 2898: 2895: 2893: 2890: 2888: 2885: 2883: 2880: 2878: 2875: 2874: 2872: 2870: 2866: 2860: 2857: 2855: 2852: 2850: 2849:Memory buffer 2847: 2845: 2844:Register file 2842: 2840: 2837: 2835: 2832: 2830: 2827: 2826: 2824: 2822: 2818: 2810: 2807: 2805: 2802: 2801: 2800: 2797: 2795: 2792: 2790: 2787: 2785: 2784:Combinational 2782: 2781: 2779: 2777: 2773: 2767: 2764: 2760: 2757: 2756: 2754: 2751: 2749: 2746: 2744: 2741: 2736: 2733: 2731: 2728: 2727: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2703: 2701: 2699: 2693: 2687: 2684: 2682: 2679: 2677: 2674: 2672: 2669: 2665: 2662: 2660: 2657: 2655: 2652: 2650: 2647: 2645: 2642: 2640: 2637: 2636: 2635: 2632: 2630: 2627: 2626: 2624: 2620: 2614: 2611: 2609: 2606: 2604: 2601: 2599: 2596: 2595: 2593: 2589: 2581: 2578: 2577: 2576: 2573: 2571: 2568: 2566: 2563: 2561: 2558: 2556: 2553: 2551: 2548: 2546: 2543: 2541: 2538: 2536: 2533: 2531: 2528: 2526: 2523: 2521: 2518: 2516: 2513: 2511: 2508: 2506: 2503: 2502: 2500: 2498: 2494: 2484: 2481: 2479: 2476: 2474: 2471: 2468: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2445: 2442: 2439: 2436: 2434: 2431: 2429: 2426: 2425: 2423: 2421: 2415: 2408: 2405: 2403: 2400: 2397: 2394: 2391: 2388: 2387: 2385: 2379: 2373: 2370: 2368: 2365: 2363: 2360: 2358: 2355: 2353: 2350: 2348: 2345: 2343: 2340: 2339: 2337: 2333: 2326: 2323: 2320: 2317: 2314: 2311: 2309: 2306: 2304: 2301: 2299: 2296: 2294: 2291: 2289: 2286: 2284: 2281: 2279: 2276: 2274: 2271: 2269: 2266: 2264: 2261: 2257: 2254: 2253: 2251: 2248: 2245: 2242: 2241: 2239: 2237: 2233: 2227: 2224: 2222: 2219: 2216: 2213: 2210: 2207: 2204: 2201: 2198: 2195: 2192: 2189: 2184: 2181: 2180: 2178: 2175: 2173: 2170: 2169: 2167: 2165: 2159: 2147: 2144: 2143: 2142: 2139: 2137: 2134: 2130: 2127: 2125: 2122: 2120: 2117: 2115: 2112: 2111: 2110: 2107: 2105: 2102: 2101: 2099: 2097: 2093: 2087: 2084: 2082: 2079: 2077: 2074: 2070: 2067: 2065: 2062: 2061: 2060: 2057: 2055: 2052: 2051: 2049: 2047: 2043: 2037: 2034: 2032: 2029: 2025: 2022: 2021: 2020: 2017: 2013: 2010: 2008: 2005: 2004: 2003: 2000: 1996: 1993: 1991: 1988: 1987: 1986: 1983: 1981: 1978: 1974: 1971: 1969: 1966: 1965: 1964: 1961: 1960: 1958: 1954: 1951: 1949: 1945: 1935: 1932: 1930: 1927: 1926: 1924: 1922: 1918: 1912: 1909: 1907: 1904: 1900: 1897: 1895: 1892: 1891: 1890: 1887: 1885: 1884:Scoreboarding 1882: 1881: 1879: 1877: 1873: 1867: 1866:False sharing 1864: 1862: 1859: 1857: 1854: 1852: 1849: 1848: 1846: 1844: 1840: 1834: 1831: 1829: 1826: 1824: 1821: 1820: 1818: 1816: 1812: 1809: 1807: 1803: 1793: 1790: 1788: 1785: 1783: 1780: 1777: 1773: 1770: 1768: 1765: 1763: 1760: 1758: 1755: 1754: 1752: 1750: 1747: 1745: 1742: 1740: 1737: 1735: 1732: 1730: 1727: 1725: 1722: 1720: 1717: 1715: 1712: 1710: 1707: 1705: 1702: 1700: 1697: 1695: 1692: 1688: 1685: 1683: 1680: 1678: 1675: 1674: 1672: 1670: 1667: 1665: 1662: 1660: 1659:Stanford MIPS 1657: 1655: 1652: 1650: 1647: 1645: 1642: 1640: 1637: 1635: 1632: 1631: 1629: 1623: 1615: 1612: 1611: 1610: 1607: 1605: 1602: 1600: 1597: 1595: 1592: 1590: 1587: 1585: 1582: 1580: 1577: 1573: 1570: 1569: 1568: 1565: 1561: 1558: 1557: 1556: 1553: 1551: 1548: 1546: 1543: 1541: 1538: 1536: 1533: 1532: 1530: 1526: 1523: 1521: 1520:architectures 1515: 1509: 1506: 1504: 1501: 1499: 1496: 1494: 1491: 1489: 1488:Heterogeneous 1486: 1482: 1479: 1477: 1474: 1473: 1472: 1469: 1467: 1464: 1460: 1457: 1455: 1452: 1450: 1447: 1445: 1442: 1441: 1440: 1439:Memory access 1437: 1435: 1432: 1430: 1427: 1425: 1422: 1420: 1417: 1413: 1410: 1409: 1408: 1405: 1403: 1400: 1398: 1395: 1394: 1392: 1390: 1386: 1378: 1375: 1373: 1372:Random-access 1370: 1368: 1365: 1363: 1360: 1359: 1358: 1355: 1353: 1352:Stack machine 1350: 1348: 1345: 1341: 1338: 1336: 1333: 1331: 1328: 1326: 1323: 1321: 1318: 1316: 1313: 1311: 1308: 1306: 1303: 1302: 1301: 1298: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1268:with datapath 1266: 1265: 1264: 1261: 1259: 1256: 1254: 1251: 1250: 1248: 1246: 1242: 1238: 1231: 1226: 1224: 1219: 1217: 1212: 1211: 1208: 1200: 1195: 1194: 1173: 1167: 1159: 1152: 1138: 1134: 1128: 1120: 1113: 1112: 1105: 1097: 1090: 1089: 1082: 1074: 1067: 1066: 1059: 1057: 1048: 1041: 1040: 1033: 1031: 1029: 1027: 1018: 1011: 1010: 1003: 995: 989: 973: 969: 962: 947:on 9 May 2015 946: 942: 938: 932: 924: 917: 915: 899: 898: 893: 886: 884: 882: 873: 869: 865: 861: 860: 852: 837: 831: 827: 822: 821: 815: 808: 800: 796: 792: 788: 781: 779: 764: 760: 756: 750: 746: 742: 741: 733: 731: 729: 714: 710: 704: 696: 692: 688: 682: 671: 667: 660: 654: 640:on 2020-01-16 639: 635: 631: 625: 611: 607: 600: 592: 588: 584: 580: 576: 572: 571: 563: 559: 549: 546: 544: 541: 539: 536: 533: 530: 528: 525: 522: 519: 517: 514: 511: 508: 505: 502: 501: 495: 493: 489: 485: 481: 477: 473: 468: 466: 462: 458: 454: 450: 446: 442: 438: 433: 430: 426: 422: 418: 414: 410: 406: 402: 398: 394: 390: 389:80386/80386SX 386: 382: 378: 374: 369: 367: 363: 359: 354: 351: 347: 341: 331: 329: 325: 321: 317: 312: 310: 299: 297: 292: 290: 286: 282: 276: 274: 263: 261: 257: 253: 248: 246: 242: 239:. In earlier 238: 233: 231: 227: 223: 219: 215: 210: 208: 204: 200: 195: 193: 189: 185: 181: 177: 173: 169: 164: 163:circuit board 160: 156: 152: 148: 143: 141: 138:In 1963, the 136: 134: 129: 127: 123: 120:In 1954, the 110: 107: 104: 103: 102: 99: 97: 93: 89: 85: 80: 78: 77:trigonometric 74: 70: 66: 62: 58: 54: 50: 46: 42: 38: 34: 30: 21: 3169:Coprocessors 3138:Chip carrier 3076:Clock gating 2995:Mixed-signal 2892:Write buffer 2869:Control unit 2717: 2681:Clock signal 2420:accelerators 2402:Cypress PSoC 2059:Simultaneous 1876:Out-of-order 1508:Neuromorphic 1389:Architecture 1347:Belt machine 1340:Zeno machine 1273:Hierarchical 1199:"SIMPLY FPU" 1176:. Retrieved 1166: 1157: 1151: 1140:. Retrieved 1136: 1127: 1110: 1104: 1087: 1081: 1064: 1038: 1008: 1002: 976:. Retrieved 972:bit-tech.net 971: 961: 949:. Retrieved 945:the original 940: 931: 922: 902:. Retrieved 895: 863: 857: 851: 840:. Retrieved 819: 807: 790: 786: 766:. Retrieved 739: 716:. Retrieved 712: 703: 690: 681: 665: 653: 642:. Retrieved 638:the original 633: 624: 613:. Retrieved 609: 599: 577:(1): 34–53. 574: 568: 562: 469: 453:workstations 434: 371:The IBM PC, 370: 360:/compatible 355: 343: 313: 305: 293: 277: 269: 249: 234: 211: 196: 194:evaluation. 161:, an entire 144: 137: 130: 119: 100: 81: 36: 32: 28: 26: 2923:Multiplexer 2887:Data buffer 2598:Single-core 2570:bit slicing 2428:Coprocessor 2283:Coprocessor 2164:performance 2086:Cooperative 2076:Speculative 2036:Distributed 1995:Superscalar 1980:Instruction 1948:Parallelism 1921:Speculative 1753:System/3x0 1625:Instruction 1402:Von Neumann 1315:Post–Turing 925:: 48/5/1–7. 455:, like the 340:Coprocessor 334:Add-on FPUs 241:superscalar 172:object code 151:coprocessor 90:within the 73:exponential 65:square root 53:subtraction 3153:Categories 3043:management 2938:Multiplier 2799:Logic gate 2789:Sequential 2696:Functional 2676:Clock rate 2649:Data cache 2622:Components 2603:Multi-core 2591:Core count 2081:Preemptive 1985:Pipelining 1968:Bit-serial 1911:Wide-issue 1856:Structural 1778:Tilera ISA 1744:MicroBlaze 1714:ETRAX CRIS 1609:Comparison 1454:Load–store 1434:Endianness 1142:2021-11-06 904:2016-01-02 842:2016-01-02 835:0471875694 768:2015-12-01 763:2005048094 745:Birkhäuser 718:2019-01-15 697:, p. IV-4. 644:2020-01-16 615:2020-01-16 554:References 484:operations 480:arithmetic 429:Archimedes 184:user-space 2977:Circuitry 2897:Microcode 2821:Registers 2664:coherence 2639:CPU cache 2497:Word size 2162:Processor 1806:Execution 1709:DEC Alpha 1687:Power ISA 1503:Cognitive 1310:Universal 900:: 152–156 872:0360-5280 634:intel.com 591:0018-8646 461:Macintosh 309:microcode 237:pipelined 214:Intel x87 209:schemes. 203:Intel x86 176:microcode 2915:Datapath 2608:Manycore 2580:variable 2418:Hardware 2054:Temporal 1734:OpenRISC 1429:Cellular 1419:Dataflow 1412:modified 988:cite web 978:29 March 951:14 March 941:WCCFtech 816:(1984). 670:Archived 532:IEEE 754 498:See also 494:(IDEs). 427:powered 281:emulates 207:clocking 178:, as an 168:emulated 71:such as 61:division 49:addition 41:computer 3091:Related 3022:Quantum 3012:Digital 3007:Boolean 2905:Counter 2804:Quantum 2565:512-bit 2560:256-bit 2555:128-bit 2398:(MPSoC) 2383:on chip 2381:Systems 2199:(FLOPS) 2012:Process 1861:Control 1843:Hazards 1729:Itanium 1724:Unicore 1682:PowerPC 1407:Harvard 1367:Pointer 1362:Counter 1320:Quantum 1178:7 April 1121:. 1986. 1098:. 1985. 1049:. 1979. 451:-based 423:to its 397:80387SX 296:library 199:integer 149:with a 126:IBM 701 122:IBM 704 116:History 3027:Switch 3017:Analog 2755:(IMC) 2726:(MMU) 2575:others 2550:64-bit 2545:48-bit 2540:32-bit 2535:24-bit 2530:16-bit 2525:15-bit 2520:12-bit 2357:Mobile 2273:Stream 2268:Barrel 2263:Vector 2252:(GPU) 2211:(SUPS) 2179:(IPC) 2031:Memory 2024:Vector 2007:Thread 1990:Scalar 1792:Others 1739:RISC-V 1704:SuperH 1673:Power 1669:MIPS-X 1644:PDP-11 1493:Fabric 1245:Models 870:  832:  761:  751:  589:  521:CORDIC 439:, the 417:double 413:single 405:Weitek 387:, and 358:IBM PC 346:PDP-11 328:x86-64 188:CORDIC 140:GE-235 63:, and 3083:(PPW) 3041:Power 2933:Adder 2809:Array 2776:Logic 2737:(TLB) 2720:(FPU) 2714:(AGU) 2708:(ALU) 2698:units 2634:Cache 2515:8-bit 2510:4-bit 2505:1-bit 2469:(TPU) 2463:(DSP) 2457:(PPU) 2451:(VPU) 2440:(GPU) 2409:(NoC) 2392:(SoC) 2327:(PoP) 2321:(SiP) 2315:(MCM) 2256:GPGPU 2246:(CPU) 2236:Types 2217:(PPW) 2205:(TPS) 2193:(IPS) 2185:(CPI) 1956:Level 1767:S/390 1762:S/370 1757:S/360 1699:SPARC 1677:POWER 1560:TRIPS 1528:Types 1115:(PDF) 1092:(PDF) 1069:(PDF) 1043:(PDF) 1013:(PDF) 673:(PDF) 662:(PDF) 512:(AGU) 506:(ALU) 465:Amiga 457:Sun-3 449:68030 401:Cyrix 393:80387 385:80287 381:80286 222:80486 133:PDP-6 3061:ACPI 2794:Glue 2686:FIFO 2629:Core 2367:ASIP 2308:CPLD 2303:FPOA 2298:FPGA 2293:ASIC 2146:SPMD 2141:MIMD 2136:MISD 2129:SWAR 2109:SIMD 2104:SISD 2019:Data 2002:Task 1973:Word 1719:M32R 1664:MIPS 1627:sets 1594:ZISC 1589:NISC 1584:OISC 1579:MISC 1572:EPIC 1567:VLIW 1555:EDGE 1545:RISC 1540:CISC 1449:HUMA 1444:NUMA 1180:2021 994:link 980:2018 953:2022 868:ISSN 859:Byte 830:ISBN 759:LCCN 749:ISBN 587:ISSN 419:and 403:and 395:and 379:and 316:SIMD 230:gate 218:8087 155:GPUs 3056:APM 3051:PMU 2943:CPU 2900:ROM 2671:Bus 2288:PAL 1963:Bit 1749:LMC 1654:ARM 1649:x86 1639:VAX 795:doi 579:doi 425:ARM 366:CPU 350:VAX 324:SSE 320:x87 75:or 33:FPU 3155:: 2990:3D 1135:. 1117:. 1094:. 1071:. 1055:^ 1045:. 1025:^ 1015:. 990:}} 986:{{ 970:. 939:. 913:^ 894:. 880:^ 864:15 862:. 828:. 791:11 789:. 777:^ 757:. 727:^ 711:. 693:. 689:. 668:. 664:. 632:. 608:. 585:. 575:11 573:. 486:, 415:, 407:. 377:AT 373:XT 298:. 291:. 275:. 59:, 55:, 51:, 27:A 1229:e 1222:t 1215:v 1201:. 1182:. 1145:. 996:) 982:. 955:. 907:. 874:. 845:. 801:. 797:: 771:. 721:. 647:. 618:. 593:. 581:: 447:/ 31:(

Index


computer
floating-point
addition
subtraction
multiplication
division
square root
transcendental functions
exponential
trigonometric
computer architectures
execution units
central processing unit
embedded processors
IBM 704
IBM 701
PDP-6
GE-235
floating point
coprocessor
GPUs
integrated circuit
circuit board
emulated
object code
microcode
operating system
user-space
CORDIC

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑