Knowledge

Cycles per instruction

Source đź“ť

579:. To get better CPI values without pipelining, the number of execution units must be greater than the number of stages. For example, with six executions units, six new instructions are fetched in stage 1 only after the six previous instructions finish at stage 5, therefore on average the number of clock cycles it takes to execute an instruction is 5/6 (CPI = 5/6 < 1). To get better CPI values with pipelining, there must be at least two execution units. For example, with two executions units, two new instructions are fetched every clock cycle by exploiting instruction-level parallelism, therefore two different instructions would complete stage 5 in every clock cycle and on average the number of clock cycles it takes to execute an instruction is 1/2 (CPI = 1/2 < 1). 25: 366: 562:, therefore, since one could theoretically have five instructions in the five pipeline stages at once (one instruction per stage), a different instruction would complete stage 5 in every clock cycle and on average the number of clock cycles it takes to execute an instruction is 1 (CPI = 1). In this case, the processor is said to be 1269: 1109: 931: 183: 1351: 1194: 742: 1185: 554:, a new instruction is fetched in stage 1 only after the previous instruction finishes at stage 5, therefore the number of clock cycles it takes to execute an instruction is five (CPI = 5 > 1). In this case, the processor is said to be 1058: 1052: 512: 361:{\displaystyle \mathrm {CPI} :={\frac {\Sigma _{i}(\mathrm {IC} _{i})(\mathrm {CC} _{i})}{\mathrm {IC} }}={\frac {\Sigma _{i}(\mathrm {IC} _{i}\cdot \mathrm {CC} _{i})}{\Sigma _{i}(\mathrm {IC} _{i})}}} 982: 838: 1273: 1022: 1264:{\displaystyle {\text{Execution time}}(T)={\text{CPI}}\times {\text{Instruction count}}\times {\text{clock time}}={\frac {{\text{CPI}}\times {\text{Instruction Count}}}{\text{frequency}}}} 573:
processor, the best CPI attainable is 1. However, with a multiple-execution-unit processor, one may achieve even better CPI values (CPI < 1). In this case, the processor is said to be
453: 401: 650: 1113: 421: 2499: 1104:{\displaystyle {\text{Effective processor performance}}={\text{MIPS}}={\frac {\text{clock frequency}}{\text{CPI}}}\times {\frac {1}{\text{1 Million}}}} 760: 1471: 2610: 1793: 2312: 1590: 2469: 2035: 1852: 2823: 1815: 89: 2464: 1027: 926:{\displaystyle {\text{CPI}}={\frac {45000\times 1+32000\times 2+15000\times 2+8000\times 2}{100000}}={\frac {155000}{100000}}=1.55} 61: 458: 2536: 830: 42: 1346:{\displaystyle ={\frac {1.55\times 100000}{400\times 1000000}}={\frac {1.55}{4000}}=0.0003875\,{\text{sec}}=0.3875\,{\text{ms}}} 937: 2818: 2289: 68: 3233: 2357: 1620: 1464: 3243: 2384: 989: 75: 1511: 2551: 2379: 2352: 1731: 1428: 1397:
article provides a useful introduction to computer performance measurement for those readers interested in the topic.
108: 3366: 2929: 1822: 1788: 1783: 1702: 1667: 57: 3402: 3341: 3238: 2639: 2546: 2347: 1568: 1457: 1388: 514:
is the total instruction count. The summation sums over all instruction types for a given benchmarking process.
2367: 2086: 1521: 150: 46: 3417: 2541: 2389: 2362: 2223: 1837: 1798: 1655: 559: 618: 612: 606: 2978: 2740: 2216: 2177: 1832: 1827: 1761: 1573: 2605: 2302: 2000: 1697: 3255: 2902: 2319: 1810: 1778: 1548: 1536: 1516: 546:
Each stage requires one clock cycle and an instruction passes through the stages sequentially. Without
426: 374: 3346: 3309: 3299: 1687: 737:{\displaystyle {\text{CPI}}={\frac {5\times 50+4\times 25+4\times 15+3\times 8+3\times 2}{100}}=4.4} 82: 3361: 2768: 2704: 2681: 2531: 2493: 2329: 2279: 2274: 1751: 1645: 1553: 174: 3314: 3097: 2991: 2955: 2872: 2856: 2698: 2487: 2446: 2434: 2297: 2211: 2132: 1897: 1558: 1501: 1377: 1180:{\displaystyle ={\frac {400,000,000}{1.55\times 1000000}}={\frac {400}{1.55}}=258\,{\text{MIPS}}} 142: 35: 3120: 3092: 3002: 2967: 2716: 2710: 2692: 2420: 2324: 2228: 2119: 2058: 1920: 1563: 1371: 547: 158: 154: 3407: 3294: 3203: 2949: 2661: 2479: 2238: 2206: 2164: 2076: 1877: 1692: 1682: 1672: 1662: 1632: 1615: 1480: 1394: 551: 523: 122: 3324: 3260: 2846: 2568: 2458: 2405: 1937: 1650: 1506: 1488: 8: 3371: 3356: 3176: 3027: 3009: 2973: 2961: 2615: 2562: 2339: 2255: 2137: 1992: 1887: 1746: 3228: 3220: 3072: 3047: 2851: 2726: 2250: 2191: 2071: 1803: 1531: 406: 3181: 3148: 3064: 2996: 2897: 2887: 2877: 2808: 2803: 2798: 2721: 2650: 2556: 2516: 2149: 2099: 2049: 2025: 1907: 1847: 1842: 1724: 1640: 1424: 1417: 756: 593: 3351: 3284: 3270: 3125: 3032: 2986: 2793: 2788: 2783: 2778: 2773: 2763: 2633: 2600: 2511: 2506: 2415: 2267: 2262: 2245: 2233: 2172: 1736: 1714: 1600: 1578: 1496: 1361: 3265: 3250: 3198: 3102: 3077: 2914: 2907: 2758: 2753: 2748: 2687: 2595: 2585: 2307: 2142: 2094: 1857: 1741: 1709: 1610: 1605: 1526: 833:(Millions of instructions per second) rate, and execution time for this program. 558:. With pipelining, a new instruction is fetched every clock cycle by exploiting 3412: 3376: 3210: 3193: 3186: 3082: 2939: 2676: 2590: 2521: 2104: 2066: 2015: 2010: 2005: 1719: 1543: 1383: 570: 3396: 3171: 3087: 2127: 2109: 1902: 1595: 2030: 1443:
Advanced Computer Architecture by Kai Hwang, Chapter 1, Exercise Problem 1.1
3381: 3319: 3135: 3112: 2924: 2645: 1583: 3166: 3130: 2841: 2813: 2671: 2526: 1449: 764: 575: 146: 3052: 3042: 3037: 3019: 2919: 2892: 2154: 1987: 1957: 1677: 3143: 3140: 2882: 1952: 1930: 24: 3158: 1977: 1967: 1925: 1419:
Computer Organization and Design: The Hardware/Software Interface
1982: 1947: 1912: 2440: 1972: 1942: 1365: 1047:{\displaystyle {\text{MIPS}}\propto {\text{clock frequency}}} 507:{\displaystyle \mathrm {IC} =\Sigma _{i}(\mathrm {IC} _{i})} 3304: 2452: 2372: 1962: 403:
is the number of instructions for a given instruction type
977:{\displaystyle 400\,{\text{MHz}}=400,000,000\,{\text{Hz}}} 169:
The average of Cycles Per Instruction in a given process (
1892: 1882: 752: 1276: 1197: 1116: 1061: 1030: 992: 940: 841: 653: 461: 429: 409: 377: 186: 1017:{\displaystyle {\text{MIPS}}\propto 1/{\text{CPI}}} 49:. Unsourced material may be challenged and removed. 1416: 1345: 1263: 1179: 1103: 1046: 1016: 976: 925: 736: 506: 455:is the clock-cycles for that instruction type and 447: 415: 395: 360: 16:The average number of clock cycles per instruction 1414: 3394: 1415:Patterson, David A.; Hennessy, John L. (1994). 153:for a program or program fragment. It is the 1465: 533:Instruction decode/Register fetch cycle (ID). 2470:Computer performance by orders of magnitude 1479: 1472: 1458: 1337: 1325: 1171: 968: 944: 109:Learn how and when to remove this message 596:, there are five types of instructions: 536:Execution/Effective address cycle (EX). 3395: 145:'s performance: the average number of 1453: 2441:Floating-point operations per second 47:adding citations to reliable sources 18: 13: 526:, with the following five stages: 491: 488: 474: 466: 463: 435: 432: 383: 380: 342: 339: 325: 309: 306: 291: 288: 274: 261: 258: 243: 240: 222: 219: 205: 194: 191: 188: 14: 3429: 448:{\displaystyle \mathrm {CC} _{i}} 396:{\displaystyle \mathrm {IC} _{i}} 3367:Semiconductor device fabrication 755:processor was used to execute a 23: 3342:History of general-purpose CPUs 1569:Nondeterministic Turing machine 1064:Effective processor performance 34:needs additional citations for 1522:Deterministic finite automaton 1437: 1408: 1209: 1203: 517: 501: 483: 352: 334: 319: 283: 253: 235: 232: 214: 173:) is defined by the following 1: 2313:Simultaneous and heterogenous 1401: 829:Determine the effective CPI, 560:instruction-level parallelism 530:Instruction fetch cycle (IF). 164: 2997:Integrated memory controller 2979:Translation lookaside buffer 2178:Memory dependence prediction 1621:Random-access stored program 1574:Probabilistic Turing machine 746: 587: 131:clock cycles per instruction 7: 2453:Synaptic updates per second 1355: 582: 10: 3434: 2857:Heterogeneous architecture 1779:Orthogonal instruction set 1549:Alternating Turing machine 1537:Quantum cellular automaton 3347:Microprocessor chronology 3334: 3310:Dynamic frequency scaling 3283: 3219: 3157: 3111: 3063: 3018: 2938: 2865: 2834: 2739: 2660: 2624: 2578: 2478: 2465:Cache performance metrics 2404: 2338: 2288: 2199: 2190: 2163: 2118: 2085: 2057: 2048: 1868: 1771: 1760: 1631: 1487: 3362:Hardware security module 2705:Digital signal processor 2682:Graphics processing unit 2494:Graphics processing unit 58:"Cycles per instruction" 3315:Dynamic voltage scaling 3098:Memory address register 2992:Branch target predictor 2956:Address generation unit 2699:Physics processing unit 2488:Central processing unit 2447:Transactions per second 2435:Instructions per second 2358:Array processing (SIMT) 1502:Stored-program computer 1378:Instructions per second 635:15% R-type instructions 3403:Instruction processing 3121:Hardwired control unit 3003:Memory management unit 2968:Memory management unit 2717:Secure cryptoprocessor 2711:Tensor Processing Unit 2693:Vision processing unit 2427:Cycles per instruction 2421:Instructions per cycle 2368:Associative processing 2059:Instruction pipelining 1481:Processor technologies 1372:Instructions per cycle 1347: 1265: 1181: 1105: 1048: 1018: 978: 927: 738: 638:8% branch instructions 632:25% store instructions 542:Write-back cycle (WB). 508: 449: 417: 397: 362: 159:instructions per cycle 155:multiplicative inverse 135:clocks per instruction 127:cycles per instruction 3204:Sum-addressed decoder 2950:Arithmetic logic unit 2077:Classic RISC pipeline 2031:Epiphany architecture 1878:Motorola 68000 series 1348: 1266: 1182: 1106: 1049: 1019: 979: 928: 739: 629:50% load instructions 552:multi-cycle processor 524:classic RISC pipeline 509: 450: 418: 398: 363: 141:) is one aspect of a 123:computer architecture 3418:Computer performance 3325:Performance per watt 2903:replacement policies 2569:Package on a package 2459:Performance per watt 2363:Pipelined processing 2133:Tomasulo's algorithm 1938:Clipper architecture 1794:Application-specific 1507:Finite-state machine 1274: 1195: 1114: 1059: 1028: 990: 938: 839: 651: 641:2% jump instructions 592:For the multi-cycle 539:Memory access (MEM). 459: 427: 407: 375: 184: 43:improve this article 3357:Digital electronics 3010:Instruction decoder 2962:Floating-point unit 2616:Soft microprocessor 2563:System in a package 2138:Reservation station 1668:Transport-triggered 784:Integer Arithmetic 759:with the following 3229:Integrated circuit 3073:Processor register 2727:Baseband processor 2072:Operand forwarding 1532:Cellular automaton 1343: 1261: 1177: 1101: 1044: 1014: 974: 923: 779:Clock cycle count 776:Instruction count 734: 645:then, the CPI is: 625:If a program has: 504: 445: 413: 393: 358: 3390: 3389: 3279: 3278: 2898:Instruction cache 2888:Scratchpad memory 2735: 2734: 2722:Network processor 2651:Network on a chip 2606:Ultra-low-voltage 2557:Multi-chip module 2400: 2399: 2186: 2185: 2173:Branch prediction 2150:Register renaming 2044: 2043: 2026:VISC architecture 1848:Quantum computing 1843:VISC architecture 1725:Secondary storage 1641:Microarchitecture 1601:Register machines 1341: 1329: 1317: 1304: 1259: 1258: 1253: 1252:Instruction Count 1245: 1234: 1226: 1225:Instruction count 1218: 1201: 1175: 1163: 1150: 1099: 1098: 1086: 1085: 1082: 1073: 1065: 1042: 1034: 1012: 996: 972: 948: 915: 902: 845: 827: 826: 817:Control transfer 773:Instruction TYPE 757:benchmark program 726: 657: 416:{\displaystyle i} 356: 265: 119: 118: 111: 93: 3425: 3352:Processor design 3244:Power management 3126:Instruction unit 2987:Branch predictor 2936: 2935: 2634:System on a chip 2576: 2575: 2416:Transistor count 2340:Flynn's taxonomy 2197: 2196: 2055: 2054: 1858:Addressing modes 1769: 1768: 1715:Memory hierarchy 1579:Hypercomputation 1497:Abstract machine 1474: 1467: 1460: 1451: 1450: 1444: 1441: 1435: 1434: 1422: 1412: 1362:Cycle per second 1352: 1350: 1349: 1344: 1342: 1339: 1330: 1327: 1318: 1310: 1305: 1303: 1292: 1281: 1270: 1268: 1267: 1262: 1260: 1256: 1255: 1254: 1251: 1246: 1243: 1240: 1235: 1232: 1227: 1224: 1219: 1216: 1202: 1199: 1186: 1184: 1183: 1178: 1176: 1173: 1164: 1156: 1151: 1149: 1138: 1121: 1110: 1108: 1107: 1102: 1100: 1096: 1092: 1087: 1083: 1080: 1079: 1074: 1071: 1066: 1063: 1053: 1051: 1050: 1045: 1043: 1040: 1035: 1032: 1023: 1021: 1020: 1015: 1013: 1010: 1008: 997: 994: 983: 981: 980: 975: 973: 970: 949: 946: 932: 930: 929: 924: 916: 908: 903: 898: 851: 846: 843: 770: 769: 743: 741: 740: 735: 727: 722: 663: 658: 655: 603:Store (4 cycles) 522:Let us assume a 513: 511: 510: 505: 500: 499: 494: 482: 481: 469: 454: 452: 451: 446: 444: 443: 438: 422: 420: 419: 414: 402: 400: 399: 394: 392: 391: 386: 367: 365: 364: 359: 357: 355: 351: 350: 345: 333: 332: 322: 318: 317: 312: 300: 299: 294: 282: 281: 271: 266: 264: 256: 252: 251: 246: 231: 230: 225: 213: 212: 202: 197: 175:weighted average 172: 114: 107: 103: 100: 94: 92: 51: 27: 19: 3433: 3432: 3428: 3427: 3426: 3424: 3423: 3422: 3393: 3392: 3391: 3386: 3372:Tick–tock model 3330: 3286: 3275: 3215: 3199:Address decoder 3153: 3107: 3103:Program counter 3078:Status register 3059: 3014: 2974:Load–store unit 2941: 2934: 2861: 2830: 2731: 2688:Image processor 2663: 2656: 2626: 2620: 2596:Microcontroller 2586:Embedded system 2574: 2474: 2407: 2396: 2334: 2284: 2182: 2159: 2143:Re-order buffer 2114: 2095:Data dependency 2081: 2040: 1870: 1864: 1763: 1762:Instruction set 1756: 1742:Multiprocessing 1710:Cache hierarchy 1703:Register/memory 1627: 1527:Queue automaton 1483: 1478: 1448: 1447: 1442: 1438: 1431: 1413: 1409: 1404: 1358: 1338: 1326: 1309: 1293: 1282: 1280: 1275: 1272: 1271: 1250: 1242: 1241: 1239: 1231: 1223: 1215: 1198: 1196: 1193: 1192: 1172: 1155: 1139: 1122: 1120: 1115: 1112: 1111: 1091: 1081:clock frequency 1078: 1070: 1062: 1060: 1057: 1056: 1041:clock frequency 1039: 1031: 1029: 1026: 1025: 1009: 1004: 993: 991: 988: 987: 969: 945: 939: 936: 935: 907: 852: 850: 842: 840: 837: 836: 806:Floating point 761:instruction mix 749: 664: 662: 654: 652: 649: 648: 600:Load (5 cycles) 590: 585: 520: 495: 487: 486: 477: 473: 462: 460: 457: 456: 439: 431: 430: 428: 425: 424: 408: 405: 404: 387: 379: 378: 376: 373: 372: 346: 338: 337: 328: 324: 323: 313: 305: 304: 295: 287: 286: 277: 273: 272: 270: 257: 247: 239: 238: 226: 218: 217: 208: 204: 203: 201: 187: 185: 182: 181: 170: 167: 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 3431: 3421: 3420: 3415: 3410: 3405: 3388: 3387: 3385: 3384: 3379: 3377:Pin grid array 3374: 3369: 3364: 3359: 3354: 3349: 3344: 3338: 3336: 3332: 3331: 3329: 3328: 3322: 3317: 3312: 3307: 3302: 3297: 3291: 3289: 3281: 3280: 3277: 3276: 3274: 3273: 3268: 3263: 3258: 3253: 3248: 3247: 3246: 3241: 3236: 3225: 3223: 3217: 3216: 3214: 3213: 3211:Barrel shifter 3208: 3207: 3206: 3201: 3194:Binary decoder 3191: 3190: 3189: 3179: 3174: 3169: 3163: 3161: 3155: 3154: 3152: 3151: 3146: 3138: 3133: 3128: 3123: 3117: 3115: 3109: 3108: 3106: 3105: 3100: 3095: 3090: 3085: 3083:Stack register 3080: 3075: 3069: 3067: 3061: 3060: 3058: 3057: 3056: 3055: 3050: 3040: 3035: 3030: 3024: 3022: 3016: 3015: 3013: 3012: 3007: 3006: 3005: 2994: 2989: 2984: 2983: 2982: 2976: 2965: 2959: 2953: 2946: 2944: 2933: 2932: 2927: 2922: 2917: 2912: 2911: 2910: 2905: 2900: 2895: 2890: 2885: 2875: 2869: 2867: 2863: 2862: 2860: 2859: 2854: 2849: 2844: 2838: 2836: 2832: 2831: 2829: 2828: 2827: 2826: 2816: 2811: 2806: 2801: 2796: 2791: 2786: 2781: 2776: 2771: 2766: 2761: 2756: 2751: 2745: 2743: 2737: 2736: 2733: 2732: 2730: 2729: 2724: 2719: 2714: 2708: 2702: 2696: 2690: 2685: 2679: 2677:AI accelerator 2674: 2668: 2666: 2658: 2657: 2655: 2654: 2648: 2643: 2640:Multiprocessor 2637: 2630: 2628: 2622: 2621: 2619: 2618: 2613: 2608: 2603: 2598: 2593: 2591:Microprocessor 2588: 2582: 2580: 2579:By application 2573: 2572: 2566: 2560: 2554: 2549: 2544: 2539: 2534: 2529: 2524: 2522:Tile processor 2519: 2514: 2509: 2504: 2503: 2502: 2491: 2484: 2482: 2476: 2475: 2473: 2472: 2467: 2462: 2456: 2450: 2444: 2438: 2432: 2431: 2430: 2418: 2412: 2410: 2402: 2401: 2398: 2397: 2395: 2394: 2393: 2392: 2382: 2377: 2376: 2375: 2370: 2365: 2360: 2350: 2344: 2342: 2336: 2335: 2333: 2332: 2327: 2322: 2317: 2316: 2315: 2310: 2308:Hyperthreading 2300: 2294: 2292: 2290:Multithreading 2286: 2285: 2283: 2282: 2277: 2272: 2271: 2270: 2260: 2259: 2258: 2253: 2243: 2242: 2241: 2236: 2226: 2221: 2220: 2219: 2214: 2203: 2201: 2194: 2188: 2187: 2184: 2183: 2181: 2180: 2175: 2169: 2167: 2161: 2160: 2158: 2157: 2152: 2147: 2146: 2145: 2140: 2130: 2124: 2122: 2116: 2115: 2113: 2112: 2107: 2102: 2097: 2091: 2089: 2083: 2082: 2080: 2079: 2074: 2069: 2067:Pipeline stall 2063: 2061: 2052: 2046: 2045: 2042: 2041: 2039: 2038: 2033: 2028: 2023: 2020: 2019: 2018: 2016:z/Architecture 2013: 2008: 2003: 1995: 1990: 1985: 1980: 1975: 1970: 1965: 1960: 1955: 1950: 1945: 1940: 1935: 1934: 1933: 1928: 1923: 1915: 1910: 1905: 1900: 1895: 1890: 1885: 1880: 1874: 1872: 1866: 1865: 1863: 1862: 1861: 1860: 1850: 1845: 1840: 1835: 1830: 1825: 1820: 1819: 1818: 1808: 1807: 1806: 1796: 1791: 1786: 1781: 1775: 1773: 1766: 1758: 1757: 1755: 1754: 1749: 1744: 1739: 1734: 1729: 1728: 1727: 1722: 1720:Virtual memory 1712: 1707: 1706: 1705: 1700: 1695: 1690: 1680: 1675: 1670: 1665: 1660: 1659: 1658: 1648: 1643: 1637: 1635: 1629: 1628: 1626: 1625: 1624: 1623: 1618: 1613: 1608: 1598: 1593: 1588: 1587: 1586: 1581: 1576: 1571: 1566: 1561: 1556: 1551: 1544:Turing machine 1541: 1540: 1539: 1534: 1529: 1524: 1519: 1514: 1504: 1499: 1493: 1491: 1485: 1484: 1477: 1476: 1469: 1462: 1454: 1446: 1445: 1436: 1429: 1406: 1405: 1403: 1400: 1399: 1398: 1391: 1386: 1384:Megahertz myth 1381: 1375: 1369: 1357: 1354: 1336: 1333: 1324: 1321: 1316: 1313: 1308: 1302: 1299: 1296: 1291: 1288: 1285: 1279: 1249: 1238: 1230: 1222: 1214: 1211: 1208: 1205: 1200:Execution time 1170: 1167: 1162: 1159: 1154: 1148: 1145: 1142: 1137: 1134: 1131: 1128: 1125: 1119: 1095: 1090: 1077: 1069: 1038: 1007: 1003: 1000: 967: 964: 961: 958: 955: 952: 943: 922: 919: 914: 911: 906: 901: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 849: 825: 824: 821: 818: 814: 813: 810: 807: 803: 802: 799: 796: 795:Data transfer 792: 791: 788: 785: 781: 780: 777: 774: 748: 745: 733: 730: 725: 721: 718: 715: 712: 709: 706: 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 661: 643: 642: 639: 636: 633: 630: 623: 622: 616: 610: 604: 601: 589: 586: 584: 581: 571:execution-unit 569:With a single- 544: 543: 540: 537: 534: 531: 519: 516: 503: 498: 493: 490: 485: 480: 476: 472: 468: 465: 442: 437: 434: 412: 390: 385: 382: 369: 368: 354: 349: 344: 341: 336: 331: 327: 321: 316: 311: 308: 303: 298: 293: 290: 285: 280: 276: 269: 263: 260: 255: 250: 245: 242: 237: 234: 229: 224: 221: 216: 211: 207: 200: 196: 193: 190: 166: 163: 117: 116: 31: 29: 22: 15: 9: 6: 4: 3: 2: 3430: 3419: 3416: 3414: 3411: 3409: 3406: 3404: 3401: 3400: 3398: 3383: 3380: 3378: 3375: 3373: 3370: 3368: 3365: 3363: 3360: 3358: 3355: 3353: 3350: 3348: 3345: 3343: 3340: 3339: 3337: 3333: 3326: 3323: 3321: 3318: 3316: 3313: 3311: 3308: 3306: 3303: 3301: 3298: 3296: 3293: 3292: 3290: 3288: 3282: 3272: 3269: 3267: 3264: 3262: 3259: 3257: 3254: 3252: 3249: 3245: 3242: 3240: 3237: 3235: 3232: 3231: 3230: 3227: 3226: 3224: 3222: 3218: 3212: 3209: 3205: 3202: 3200: 3197: 3196: 3195: 3192: 3188: 3185: 3184: 3183: 3180: 3178: 3175: 3173: 3172:Demultiplexer 3170: 3168: 3165: 3164: 3162: 3160: 3156: 3150: 3147: 3145: 3142: 3139: 3137: 3134: 3132: 3129: 3127: 3124: 3122: 3119: 3118: 3116: 3114: 3110: 3104: 3101: 3099: 3096: 3094: 3093:Memory buffer 3091: 3089: 3088:Register file 3086: 3084: 3081: 3079: 3076: 3074: 3071: 3070: 3068: 3066: 3062: 3054: 3051: 3049: 3046: 3045: 3044: 3041: 3039: 3036: 3034: 3031: 3029: 3028:Combinational 3026: 3025: 3023: 3021: 3017: 3011: 3008: 3004: 3001: 3000: 2998: 2995: 2993: 2990: 2988: 2985: 2980: 2977: 2975: 2972: 2971: 2969: 2966: 2963: 2960: 2957: 2954: 2951: 2948: 2947: 2945: 2943: 2937: 2931: 2928: 2926: 2923: 2921: 2918: 2916: 2913: 2909: 2906: 2904: 2901: 2899: 2896: 2894: 2891: 2889: 2886: 2884: 2881: 2880: 2879: 2876: 2874: 2871: 2870: 2868: 2864: 2858: 2855: 2853: 2850: 2848: 2845: 2843: 2840: 2839: 2837: 2833: 2825: 2822: 2821: 2820: 2817: 2815: 2812: 2810: 2807: 2805: 2802: 2800: 2797: 2795: 2792: 2790: 2787: 2785: 2782: 2780: 2777: 2775: 2772: 2770: 2767: 2765: 2762: 2760: 2757: 2755: 2752: 2750: 2747: 2746: 2744: 2742: 2738: 2728: 2725: 2723: 2720: 2718: 2715: 2712: 2709: 2706: 2703: 2700: 2697: 2694: 2691: 2689: 2686: 2683: 2680: 2678: 2675: 2673: 2670: 2669: 2667: 2665: 2659: 2652: 2649: 2647: 2644: 2641: 2638: 2635: 2632: 2631: 2629: 2623: 2617: 2614: 2612: 2609: 2607: 2604: 2602: 2599: 2597: 2594: 2592: 2589: 2587: 2584: 2583: 2581: 2577: 2570: 2567: 2564: 2561: 2558: 2555: 2553: 2550: 2548: 2545: 2543: 2540: 2538: 2535: 2533: 2530: 2528: 2525: 2523: 2520: 2518: 2515: 2513: 2510: 2508: 2505: 2501: 2498: 2497: 2495: 2492: 2489: 2486: 2485: 2483: 2481: 2477: 2471: 2468: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2428: 2425: 2424: 2422: 2419: 2417: 2414: 2413: 2411: 2409: 2403: 2391: 2388: 2387: 2386: 2383: 2381: 2378: 2374: 2371: 2369: 2366: 2364: 2361: 2359: 2356: 2355: 2354: 2351: 2349: 2346: 2345: 2343: 2341: 2337: 2331: 2328: 2326: 2323: 2321: 2318: 2314: 2311: 2309: 2306: 2305: 2304: 2301: 2299: 2296: 2295: 2293: 2291: 2287: 2281: 2278: 2276: 2273: 2269: 2266: 2265: 2264: 2261: 2257: 2254: 2252: 2249: 2248: 2247: 2244: 2240: 2237: 2235: 2232: 2231: 2230: 2227: 2225: 2222: 2218: 2215: 2213: 2210: 2209: 2208: 2205: 2204: 2202: 2198: 2195: 2193: 2189: 2179: 2176: 2174: 2171: 2170: 2168: 2166: 2162: 2156: 2153: 2151: 2148: 2144: 2141: 2139: 2136: 2135: 2134: 2131: 2129: 2128:Scoreboarding 2126: 2125: 2123: 2121: 2117: 2111: 2110:False sharing 2108: 2106: 2103: 2101: 2098: 2096: 2093: 2092: 2090: 2088: 2084: 2078: 2075: 2073: 2070: 2068: 2065: 2064: 2062: 2060: 2056: 2053: 2051: 2047: 2037: 2034: 2032: 2029: 2027: 2024: 2021: 2017: 2014: 2012: 2009: 2007: 2004: 2002: 1999: 1998: 1996: 1994: 1991: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1969: 1966: 1964: 1961: 1959: 1956: 1954: 1951: 1949: 1946: 1944: 1941: 1939: 1936: 1932: 1929: 1927: 1924: 1922: 1919: 1918: 1916: 1914: 1911: 1909: 1906: 1904: 1903:Stanford MIPS 1901: 1899: 1896: 1894: 1891: 1889: 1886: 1884: 1881: 1879: 1876: 1875: 1873: 1867: 1859: 1856: 1855: 1854: 1851: 1849: 1846: 1844: 1841: 1839: 1836: 1834: 1831: 1829: 1826: 1824: 1821: 1817: 1814: 1813: 1812: 1809: 1805: 1802: 1801: 1800: 1797: 1795: 1792: 1790: 1787: 1785: 1782: 1780: 1777: 1776: 1774: 1770: 1767: 1765: 1764:architectures 1759: 1753: 1750: 1748: 1745: 1743: 1740: 1738: 1735: 1733: 1732:Heterogeneous 1730: 1726: 1723: 1721: 1718: 1717: 1716: 1713: 1711: 1708: 1704: 1701: 1699: 1696: 1694: 1691: 1689: 1686: 1685: 1684: 1683:Memory access 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1661: 1657: 1654: 1653: 1652: 1649: 1647: 1644: 1642: 1639: 1638: 1636: 1634: 1630: 1622: 1619: 1617: 1616:Random-access 1614: 1612: 1609: 1607: 1604: 1603: 1602: 1599: 1597: 1596:Stack machine 1594: 1592: 1589: 1585: 1582: 1580: 1577: 1575: 1572: 1570: 1567: 1565: 1562: 1560: 1557: 1555: 1552: 1550: 1547: 1546: 1545: 1542: 1538: 1535: 1533: 1530: 1528: 1525: 1523: 1520: 1518: 1515: 1513: 1512:with datapath 1510: 1509: 1508: 1505: 1503: 1500: 1498: 1495: 1494: 1492: 1490: 1486: 1482: 1475: 1470: 1468: 1463: 1461: 1456: 1455: 1452: 1440: 1432: 1430:9781558602816 1426: 1421: 1420: 1411: 1407: 1396: 1392: 1390: 1387: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1363: 1360: 1359: 1353: 1334: 1331: 1322: 1319: 1314: 1311: 1306: 1300: 1297: 1294: 1289: 1286: 1283: 1277: 1247: 1236: 1228: 1220: 1212: 1206: 1190: 1187: 1168: 1165: 1160: 1157: 1152: 1146: 1143: 1140: 1135: 1132: 1129: 1126: 1123: 1117: 1093: 1088: 1075: 1067: 1054: 1036: 1005: 1001: 998: 984: 965: 962: 959: 956: 953: 950: 941: 933: 920: 917: 912: 909: 904: 899: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 847: 834: 832: 822: 819: 816: 815: 811: 808: 805: 804: 800: 797: 794: 793: 789: 786: 783: 782: 778: 775: 772: 771: 768: 766: 762: 758: 754: 744: 731: 728: 723: 719: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 677: 674: 671: 668: 665: 659: 646: 640: 637: 634: 631: 628: 627: 626: 620: 617: 614: 611: 608: 605: 602: 599: 598: 597: 595: 580: 578: 577: 572: 567: 565: 561: 557: 553: 549: 541: 538: 535: 532: 529: 528: 527: 525: 515: 496: 478: 470: 440: 410: 388: 347: 329: 314: 301: 296: 278: 267: 248: 227: 209: 198: 180: 179: 178: 176: 162: 160: 156: 152: 148: 144: 140: 136: 132: 128: 124: 113: 110: 102: 99:December 2009 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: â€“  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 3408:Clock signal 3382:Chip carrier 3320:Clock gating 3239:Mixed-signal 3136:Write buffer 3113:Control unit 2925:Clock signal 2664:accelerators 2646:Cypress PSoC 2426: 2303:Simultaneous 2120:Out-of-order 1752:Neuromorphic 1633:Architecture 1591:Belt machine 1584:Zeno machine 1517:Hierarchical 1439: 1418: 1410: 1191: 1188: 1055: 985: 934: 835: 828: 750: 647: 644: 624: 591: 574: 568: 563: 555: 545: 521: 370: 168: 147:clock cycles 138: 134: 130: 126: 120: 105: 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 3167:Multiplexer 3131:Data buffer 2842:Single-core 2814:bit slicing 2672:Coprocessor 2527:Coprocessor 2408:performance 2330:Cooperative 2320:Speculative 2280:Distributed 2239:Superscalar 2224:Instruction 2192:Parallelism 2165:Speculative 1997:System/3x0 1869:Instruction 1646:Von Neumann 1559:Post–Turing 1189:Therefore: 765:clock cycle 576:superscalar 518:Explanation 151:instruction 3397:Categories 3287:management 3182:Multiplier 3043:Logic gate 3033:Sequential 2940:Functional 2920:Clock rate 2893:Data cache 2866:Components 2847:Multi-core 2835:Core count 2325:Preemptive 2229:Pipelining 2212:Bit-serial 2155:Wide-issue 2100:Structural 2022:Tilera ISA 1988:MicroBlaze 1958:ETRAX CRIS 1853:Comparison 1698:Load–store 1678:Endianness 1402:References 1233:clock time 621:(3 cycles) 615:(3 cycles) 609:(4 cycles) 548:pipelining 165:Definition 69:newspapers 3221:Circuitry 3141:Microcode 3065:Registers 2908:coherence 2883:CPU cache 2741:Word size 2406:Processor 2050:Execution 1953:DEC Alpha 1931:Power ISA 1747:Cognitive 1554:Universal 1395:benchmark 1323:0.0003875 1298:× 1287:× 1257:frequency 1248:× 1229:× 1221:× 1144:× 1097:1 Million 1089:× 1037:∝ 999:∝ 893:× 881:× 869:× 857:× 747:Example 2 717:× 705:× 693:× 681:× 669:× 588:Example 1 556:subscalar 475:Σ 326:Σ 302:⋅ 275:Σ 206:Σ 143:processor 3159:Datapath 2852:Manycore 2824:variable 2662:Hardware 2298:Temporal 1978:OpenRISC 1673:Cellular 1663:Dataflow 1656:modified 1356:See also 583:Examples 3335:Related 3266:Quantum 3256:Digital 3251:Boolean 3149:Counter 3048:Quantum 2809:512-bit 2804:256-bit 2799:128-bit 2642:(MPSoC) 2627:on chip 2625:Systems 2443:(FLOPS) 2256:Process 2105:Control 2087:Hazards 1973:Itanium 1968:Unicore 1926:PowerPC 1651:Harvard 1611:Pointer 1606:Counter 1564:Quantum 1301:1000000 1147:1000000 986:since: 767:count: 550:, in a 83:scholar 3271:Switch 3261:Analog 2999:(IMC) 2970:(MMU) 2819:others 2794:64-bit 2789:48-bit 2784:32-bit 2779:24-bit 2774:16-bit 2769:15-bit 2764:12-bit 2601:Mobile 2517:Stream 2512:Barrel 2507:Vector 2496:(GPU) 2455:(SUPS) 2423:(IPC) 2275:Memory 2268:Vector 2251:Thread 2234:Scalar 2036:Others 1983:RISC-V 1948:SuperH 1917:Power 1913:MIPS-X 1888:PDP-11 1737:Fabric 1489:Models 1427:  1335:0.3875 1290:100000 913:100000 910:155000 900:100000 809:15000 798:32000 787:45000 613:Branch 607:R-type 564:scalar 371:Where 85:  78:  71:  64:  56:  3413:Rates 3327:(PPW) 3285:Power 3177:Adder 3053:Array 3020:Logic 2981:(TLB) 2964:(FPU) 2958:(AGU) 2952:(ALU) 2942:units 2878:Cache 2759:8-bit 2754:4-bit 2749:1-bit 2713:(TPU) 2707:(DSP) 2701:(PPU) 2695:(VPU) 2684:(GPU) 2653:(NoC) 2636:(SoC) 2571:(PoP) 2565:(SiP) 2559:(MCM) 2500:GPGPU 2490:(CPU) 2480:Types 2461:(PPW) 2449:(TPS) 2437:(IPS) 2429:(CPI) 2200:Level 2011:S/390 2006:S/370 2001:S/360 1943:SPARC 1921:POWER 1804:TRIPS 1772:Types 1380:(IPS) 1374:(IPC) 878:15000 866:32000 854:45000 820:8000 751:A 400 137:, or 129:(aka 90:JSTOR 76:books 3305:ACPI 3038:Glue 2930:FIFO 2873:Core 2611:ASIP 2552:CPLD 2547:FPOA 2542:FPGA 2537:ASIC 2390:SPMD 2385:MIMD 2380:MISD 2373:SWAR 2353:SIMD 2348:SISD 2263:Data 2246:Task 2217:Word 1963:M32R 1908:MIPS 1871:sets 1838:ZISC 1833:NISC 1828:OISC 1823:MISC 1816:EPIC 1811:VLIW 1799:EDGE 1789:RISC 1784:CISC 1693:HUMA 1688:NUMA 1425:ISBN 1393:The 1389:MIPS 1315:4000 1312:1.55 1284:1.55 1174:MIPS 1161:1.55 1141:1.55 1072:MIPS 1033:MIPS 1024:and 995:MIPS 921:1.55 890:8000 831:MIPS 763:and 619:Jump 594:MIPS 149:per 62:news 3300:APM 3295:PMU 3187:CPU 3144:ROM 2915:Bus 2532:PAL 2207:Bit 1993:LMC 1898:ARM 1893:x86 1883:VAX 1328:sec 1295:400 1244:CPI 1217:CPI 1169:258 1158:400 1136:000 1130:000 1124:400 1084:CPI 1011:CPI 966:000 960:000 954:400 947:MHz 942:400 844:CPI 753:MHz 732:4.4 724:100 656:CPI 171:CPI 157:of 139:CPI 121:In 45:by 3399:: 3234:3D 1423:. 1366:Hz 1340:ms 971:Hz 823:2 812:2 801:2 790:1 696:15 684:25 672:50 566:. 423:, 199::= 177:: 161:. 133:, 125:, 1473:e 1466:t 1459:v 1433:. 1368:) 1364:( 1332:= 1320:= 1307:= 1278:= 1237:= 1213:= 1210:) 1207:T 1204:( 1166:= 1153:= 1133:, 1127:, 1118:= 1094:1 1076:= 1068:= 1006:/ 1002:1 963:, 957:, 951:= 918:= 905:= 896:2 887:+ 884:2 875:+ 872:2 863:+ 860:1 848:= 729:= 720:2 714:3 711:+ 708:8 702:3 699:+ 690:4 687:+ 678:4 675:+ 666:5 660:= 502:) 497:i 492:C 489:I 484:( 479:i 471:= 467:C 464:I 441:i 436:C 433:C 411:i 389:i 384:C 381:I 353:) 348:i 343:C 340:I 335:( 330:i 320:) 315:i 310:C 307:C 297:i 292:C 289:I 284:( 279:i 268:= 262:C 259:I 254:) 249:i 244:C 241:C 236:( 233:) 228:i 223:C 220:I 215:( 210:i 195:I 192:P 189:C 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Cycles per instruction"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer architecture
processor
clock cycles
instruction
multiplicative inverse
instructions per cycle
weighted average
classic RISC pipeline
pipelining
multi-cycle processor
instruction-level parallelism
execution-unit
superscalar
MIPS
R-type
Branch
Jump
MHz
benchmark program

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

↑