Knowledge

Instruction pipelining

Source đź“ť

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

Index


verification
improve this article
adding citations to reliable sources
"Instruction pipelining"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Basic five-stage pipeline
computer engineering
instruction-level parallelism
instructions
pipeline
processor units
central processing unit
von Neumann cycle
logic gates
CPU
throughput
clock rate
latency
logic gates
IBM Stretch
classic RISC pipeline
Atmel AVR
PIC microcontroller
Intel

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

↑