885:
583:
running on a digital system with a single CPU/MCU it is required to have some sort of software and hardware facilities to keep track of an executing processes data (memory page addresses, registers etc.) and to save and recover them back to the state they were in before they were suspended. This is
737:
is one language feature designed to handle runtime errors, providing a structured way to catch completely unexpected situations as well as predictable errors or unusual results without the amount of inline error checking required of languages without it. More recent advancements in runtime engines
560:
specific to the source language that provide crucial services not supplied directly by the computer itself. This supportive environment, for instance, usually decouples a program from direct manipulation of the computer peripherals, providing more general, abstract services instead.
660:, and code optimization are typically done at compile time, but may be done at runtime depending on the particular language and compiler. Many other runtime errors exist and are handled differently by different
892:
In simpler CPUs, the instruction cycle is executed sequentially, each instruction being processed before the next one is started. In most modern CPUs, the instruction cycles are instead executed
742:
which provides "root-cause" debug information for every exception of interest and is implemented independent of the source code, by attaching a special software product to the runtime engine.
707:. In some cases, a language or implementation will have these tasks done by the language runtime instead, though this is unusual in mainstream languages on common consumer operating systems.
373:. Each instruction of a program is a description of a particular action which must be carried out, in order for a specific problem to be solved. Execution involves repeatedly following a "
1014:, are designed to also emulate (or "virtually imitate") different system architectures thus allowing execution of software applications and operating systems written for another
827:
makes assumptions depending on the specific runtime system to generate correct code. Typically the runtime system will have some responsibility for setting up and managing the
992:
to share and manage hardware, allowing for multiple environments which are isolated from one another, yet exist on the same physical machine. Modern hypervisors use
881:
until the computer has shut down in order to process instructions. It is composed of three main stages: the fetch stage, the decode stage, and the execute stage.
904:: the next instruction starts being processed before the previous instruction has finished, which is possible because the cycle is broken up into separate steps.
2305:
680:
errors, and many other runtime errors generally considered as software bugs which may or may not be caught and handled by any particular computer language.
726:
with real data, despite sophisticated compile-time checking and pre-release testing. In this case, the end-user may encounter a "runtime error" message.
17:
1277:
803:
have some form of runtime system that provides an environment in which programs run. This environment may address a number of issues including the
2416:
1599:
549:. Programs usually contain implicit and explicit assumptions about resources available at the time of execution. Most programs execute within
2118:
1396:
2275:
1841:
1658:
341:
2629:
964:
and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination.
415:
is used almost synonymously. A related meaning of both "to run" and "to execute" refers to the specific action of a user starting (or
1621:
449:) to produce an executable. This executable is then invoked, most often by an operating system, which loads the program into memory (
382:
2270:
2342:
2624:
2095:
784:, a piece of software that provides the programmer a more convenient environment for running programs during their production (
1222:
836:
3039:
2163:
1426:
1270:
1239:
3049:
2190:
1317:
1045:
781:
769:
466:
2357:
2185:
2158:
1537:
1137:
3172:
2735:
1628:
1594:
1589:
1508:
1473:
1161:
993:
175:
3147:
3044:
2445:
2352:
2153:
1374:
1263:
334:
3208:
2173:
1892:
1327:
511:
470:
2347:
2195:
2168:
2029:
1643:
1604:
1461:
922:
of the program. Loosely speaking, an interpreter directly executes a program. This contrasts with a language
595:
is usually saved into a process descriptor in memory to implement switching of context. PCIDs are also used.
219:
792:
of an execution model being applied to the developed program which is itself then run in the aforementioned
2784:
2546:
2022:
1983:
1638:
1633:
1567:
1379:
844:
739:
710:
Some program debugging can only be performed (or is more efficient or accurate when performed) at runtime.
462:
268:
510:, is a list of instructions and data to cause a computer "to perform indicated tasks according to encoded
381:. As the executing machine follows the instructions, specific effects are produced in accordance with the
2411:
2108:
1806:
1503:
1011:
812:
789:
76:
3061:
2708:
2125:
1616:
1584:
1354:
1342:
1322:
828:
657:
585:
401:
327:
229:
408:. In this case, the "commands" are simply program instructions, whose execution is chained together.
3152:
3115:
3105:
1493:
1023:
677:
192:
163:
3167:
2574:
2510:
2487:
2337:
2299:
2135:
2085:
2080:
1557:
1451:
1359:
579:
to work without interference and share the same hardware memory and access to the I/O system, in a
247:
169:
980:
VMs) provide a substitute for a real machine. They provide functionality needed to execute entire
3120:
2903:
2797:
2761:
2678:
2662:
2504:
2293:
2252:
2240:
2103:
2017:
1938:
1703:
1364:
1307:
1019:
919:
913:
874:
772:
lifecycle phase of a program, during which the runtime system is in operation. When treating the
637:
626:
622:
530:
432:
405:
300:
225:
104:
2926:
2898:
2808:
2773:
2522:
2516:
2498:
2232:
2226:
2130:
2034:
1925:
1864:
1726:
1369:
972:
923:
723:
315:
274:
52:
888:
This is a simple diagram illustrating the individual stages of the fetch-decode-execute cycle.
3100:
3009:
2755:
2467:
2285:
2044:
2012:
1970:
1882:
1683:
1498:
1488:
1478:
1468:
1438:
1421:
1286:
961:
832:
580:
550:
525:
The exact interpretation depends upon the use. "Instructions" is traditionally taken to mean
197:
180:
3130:
3066:
2652:
2374:
2264:
2211:
1743:
1456:
1312:
1294:
1198:
901:
893:
800:
715:
673:
661:
358:
253:
8:
3177:
3162:
2982:
2833:
2815:
2779:
2767:
2421:
2368:
2145:
2061:
1943:
1798:
1693:
1552:
1214:
1203:
1190:
977:
653:
397:
69:
3034:
3026:
2878:
2853:
2657:
2532:
2056:
1997:
1877:
1609:
1337:
1070:
897:
840:
734:
693:
689:
592:
1098:
545:
The context in which execution takes place is crucial. Very few programs execute on a
2987:
2954:
2870:
2802:
2703:
2693:
2683:
2614:
2609:
2604:
2527:
2456:
2362:
2322:
1955:
1905:
1855:
1831:
1713:
1653:
1648:
1530:
1446:
1218:
1210:
1143:
1133:
856:
804:
576:
474:
374:
3157:
3090:
3076:
2931:
2838:
2792:
2599:
2594:
2589:
2584:
2579:
2569:
2439:
2406:
2317:
2312:
2221:
2073:
2068:
2051:
2039:
1978:
1542:
1520:
1406:
1384:
1302:
981:
820:
785:
700:
665:
615:
553:
515:
393:
389:
370:
47:
3071:
3056:
3004:
2908:
2883:
2720:
2713:
2564:
2559:
2554:
2493:
2401:
2391:
2113:
1948:
1900:
1663:
1547:
1515:
1416:
1411:
1332:
1078:
1050:
1040:
957:
935:
808:
765:
697:
669:
557:
454:
366:
213:
109:
1002:
are designed to execute computer programs in a platform-independent environment.
3182:
3016:
2999:
2992:
2888:
2745:
2482:
2396:
2327:
1910:
1872:
1821:
1816:
1811:
1525:
1349:
949:
751:
570:
465:
of the operating system. At this point execution begins and the program enters
437:
Prior to execution, a program must first be written. This is generally done in
187:
87:
3202:
2977:
2893:
1933:
1915:
1708:
1401:
1186:
884:
649:
1836:
1147:
926:
that converts a program from one language to another before it is executed.
3187:
3125:
2941:
2918:
2730:
2451:
1389:
719:
641:
630:
584:
achieved by a context switching. The running programs are often assigned a
546:
526:
442:
378:
142:
62:
1237:
2972:
2936:
2647:
2619:
2477:
2332:
1255:
1127:
989:
967:
Virtual machines differ and are organized by their function, shown here:
711:
704:
458:
438:
283:
264:
132:
127:
2858:
2848:
2843:
2825:
2725:
2698:
1960:
1793:
1763:
1483:
1194:
1035:
985:
816:
486:
99:
640:
after or during the execution (running state) of a program, whereas a
533:. In some contexts, a file containing scripting instructions (such as
2949:
2946:
2688:
1758:
1736:
450:
446:
147:
703:
it needs, and then the execution begins starting from the program's
2964:
1783:
953:
824:
645:
534:
362:
137:
57:
1773:
1731:
996:, virtualization-specific hardware, primarily from the host CPUs.
878:
278:
234:
718:
bounds checking are examples. For this reason, some programming
1788:
1753:
1718:
633:. In other words, "runtime" is the running phase of a program.
519:
259:
2246:
1778:
1748:
1022:
allows the resources of a computer to be partitioned via the
310:
3110:
2258:
2178:
1768:
1007:
306:
243:
238:
780:(RTE), the first may be defined as a specific part of the
591:
In Linux-based operating systems, a set of data stored in
469:. The program then runs until it ends, either in a normal
1698:
1688:
1015:
625:, in which the code is being executed on the computer's
1132:. Marco Cesati (3 ed.). Sevastopol, CA: O'Reilly.
788:
and similar), while the second (RTE) would be the very
457:, and then begins execution by moving control to the
722:
are not discovered until the program is tested in a
1238:Crystal Chen, Greg Novick and Kirk Shimano (2000).
1162:"Difference between Swapping and Context Switching"
361:and software engineering is the process by which a
1202:
729:
1185:
1026:. The terms are not universally interchangeable.
423:) a program, as in "Please run the application."
3200:
782:application software (IDE) used for programming
918:A system that executes a program is called an
461:of the program; all these steps depend on the
1271:
388:Programs for a computer may be executed in a
369:interprets and acts on the instructions of a
335:
815:, mechanisms for passing parameters between
2276:Computer performance by orders of magnitude
1205:Compilers: Principles, Techniques and Tools
1285:
1278:
1264:
342:
328:
683:
377:" cycle for each instruction done by the
1006:Some virtual machine emulators, such as
883:
1179:
676:errors, several types of underflow and
540:
14:
3201:
768:. This is not to be confused with the
764:, primarily implements portions of an
1259:
1125:
696:setup and links the program with any
648:before the program is ever executed.
537:) may also be considered executable.
502:, sometimes simply referred to as an
2247:Floating-point operations per second
1121:
1119:
850:
688:When a program is to be executed, a
564:
1075:Merriam-Webster's Online Dictionary
835:, and may include features such as
24:
929:
847:features built into the language.
522:) by a program to be meaningful.
293:Notable compilers & toolchains
27:Running of a program by a computer
25:
3220:
1116:
960:. Virtual machines are based on
745:
18:Runtime (program lifecycle phase)
3173:Semiconductor device fabrication
1209:(2nd ed.). Boston, MA, US:
994:hardware-assisted virtualization
3148:History of general-purpose CPUs
1375:Nondeterministic Turing machine
730:Application errors (exceptions)
392:without human interaction or a
1328:Deterministic finite automaton
1231:
1154:
1129:Understanding the Linux Kernel
1091:
1063:
907:
581:multitasking operating systems
13:
1:
2119:Simultaneous and heterogenous
1056:
692:first performs the necessary
670:array subscript out of bounds
480:
2803:Integrated memory controller
2785:Translation lookaside buffer
1984:Memory dependence prediction
1427:Random-access stored program
1380:Probabilistic Turing machine
1012:video game console emulators
740:automated exception handling
529:instructions for a physical
463:Application Binary Interface
441:, which is then compiled at
250:target-specific initializer)
92:
7:
2259:Synaptic updates per second
1029:
811:, how the program accesses
586:Process Context IDentifiers
77:Intermediate representation
10:
3225:
2663:Heterogeneous architecture
1585:Orthogonal instruction set
1355:Alternating Turing machine
1343:Quantum cellular automaton
933:
911:
867:fetch–decode–execute cycle
854:
749:
598:
575:In order for programs and
568:
518:that must be interpreted (
484:
445:(and statically linked at
430:
426:
3153:Microprocessor chronology
3140:
3116:Dynamic frequency scaling
3089:
3025:
2963:
2917:
2869:
2824:
2744:
2671:
2640:
2545:
2466:
2430:
2384:
2284:
2271:Cache performance metrics
2210:
2144:
2094:
2005:
1996:
1969:
1924:
1891:
1863:
1854:
1674:
1577:
1566:
1437:
1293:
1126:Bovet, Daniel P. (2005).
644:error is detected by the
638:runtime error is detected
3168:Hardware security module
2511:Digital signal processor
2488:Graphics processing unit
2300:Graphics processing unit
1000:Process virtual machines
873:) is the cycle that the
614:is the final phase of a
385:of those instructions.
3121:Dynamic voltage scaling
2904:Memory address register
2798:Branch target predictor
2762:Address generation unit
2505:Physics processing unit
2294:Central processing unit
2253:Transactions per second
2241:Instructions per second
2164:Array processing (SIMT)
1308:Stored-program computer
1020:OS-level virtualization
973:System virtual machines
914:Interpreter (computing)
875:central processing unit
819:, interfacing with the
668:errors, domain errors,
627:central processing unit
433:Program lifecycle phase
301:GNU Compiler Collection
226:Common Language Runtime
2927:Hardwired control unit
2809:Memory management unit
2774:Memory management unit
2523:Secure cryptoprocessor
2517:Tensor Processing Unit
2499:Vision processing unit
2233:Cycles per instruction
2227:Instructions per cycle
2174:Associative processing
1865:Instruction pipelining
1287:Processor technologies
1099:"Machine Instructions"
962:computer architectures
889:
724:production environment
684:Implementation details
156:Compilation strategies
3209:Computing terminology
3010:Sum-addressed decoder
2756:Arithmetic logic unit
1883:Classic RISC pipeline
1837:Epiphany architecture
1684:Motorola 68000 series
1199:Ullman, Jeffrey David
1046:Runtime program phase
887:
823:, and otherwise. The
801:programming languages
776:as distinct from the
662:programming languages
453:), possibly performs
431:Further information:
181:Compile and go system
3131:Performance per watt
2709:replacement policies
2375:Package on a package
2265:Performance per watt
2169:Pipelined processing
1939:Tomasulo's algorithm
1744:Clipper architecture
1600:Application-specific
1313:Finite-state machine
1191:Lam, Monica Sin-Ling
902:instruction pipeline
674:arithmetic underflow
541:Context of execution
375:fetch–decode–execute
254:Java virtual machine
176:Tracing just-in-time
3163:Digital electronics
2816:Instruction decoder
2768:Floating-point unit
2422:Soft microprocessor
2369:System in a package
1944:Reservation station
1474:Transport-triggered
978:full virtualization
877:(CPU) follows from
871:fetch-execute cycle
865:(also known as the
778:runtime environment
762:runtime environment
654:register allocation
514:", as opposed to a
402:interactive session
70:Optimizing compiler
3035:Integrated circuit
2879:Processor register
2533:Baseband processor
1878:Operand forwarding
1338:Cellular automaton
890:
837:garbage collection
735:Exception handling
698:dynamically linked
577:interrupt handlers
558:run-time libraries
500:executable program
3196:
3195:
3085:
3084:
2704:Instruction cache
2694:Scratchpad memory
2541:
2540:
2528:Network processor
2457:Network on a chip
2412:Ultra-low-voltage
2363:Multi-chip module
2206:
2205:
1992:
1991:
1979:Branch prediction
1956:Register renaming
1850:
1849:
1832:VISC architecture
1654:Quantum computing
1649:VISC architecture
1531:Secondary storage
1447:Microarchitecture
1407:Register machines
1224:978-0-321-48681-3
1211:Pearson Education
1018:or architecture.
982:operating systems
863:instruction cycle
857:Instruction cycle
851:Instruction cycle
565:Context switching
352:
351:
34:Program execution
16:(Redirected from
3216:
3158:Processor design
3050:Power management
2932:Instruction unit
2793:Branch predictor
2742:
2741:
2440:System on a chip
2382:
2381:
2222:Transistor count
2146:Flynn's taxonomy
2003:
2002:
1861:
1860:
1664:Addressing modes
1575:
1574:
1521:Memory hierarchy
1385:Hypercomputation
1303:Abstract machine
1280:
1273:
1266:
1257:
1256:
1250:
1249:
1247:
1246:
1235:
1229:
1228:
1208:
1183:
1177:
1176:
1174:
1173:
1158:
1152:
1151:
1123:
1114:
1113:
1111:
1110:
1095:
1089:
1088:
1086:
1085:
1067:
990:native execution
869:, or simply the
821:operating system
666:division by zero
620:
616:computer program
554:operating system
371:computer program
344:
337:
330:
206:Notable runtimes
193:Transcompilation
40:General concepts
30:
29:
21:
3224:
3223:
3219:
3218:
3217:
3215:
3214:
3213:
3199:
3198:
3197:
3192:
3178:Tick–tock model
3136:
3092:
3081:
3021:
3005:Address decoder
2959:
2913:
2909:Program counter
2884:Status register
2865:
2820:
2780:Load–store unit
2747:
2740:
2667:
2636:
2537:
2494:Image processor
2469:
2462:
2432:
2426:
2402:Microcontroller
2392:Embedded system
2380:
2280:
2213:
2202:
2140:
2090:
1988:
1965:
1949:Re-order buffer
1920:
1901:Data dependency
1887:
1846:
1676:
1670:
1569:
1568:Instruction set
1562:
1548:Multiprocessing
1516:Cache hierarchy
1509:Register/memory
1433:
1333:Queue automaton
1289:
1284:
1254:
1253:
1244:
1242:
1236:
1232:
1225:
1184:
1180:
1171:
1169:
1160:
1159:
1155:
1140:
1124:
1117:
1108:
1106:
1097:
1096:
1092:
1083:
1081:
1079:Merriam-Webster
1069:
1068:
1064:
1059:
1051:Program counter
1041:Run-time system
1032:
958:computer system
942:virtual machine
938:
936:Virtual machine
932:
930:Virtual machine
916:
910:
896:, and often in
859:
853:
807:of application
766:execution model
754:
748:
732:
686:
658:code generation
618:
601:
573:
567:
543:
496:executable file
492:Executable code
489:
483:
455:dynamic linking
435:
429:
367:virtual machine
348:
228:(CLR) and
214:Android Runtime
110:Virtual machine
28:
23:
22:
15:
12:
11:
5:
3222:
3212:
3211:
3194:
3193:
3191:
3190:
3185:
3183:Pin grid array
3180:
3175:
3170:
3165:
3160:
3155:
3150:
3144:
3142:
3138:
3137:
3135:
3134:
3128:
3123:
3118:
3113:
3108:
3103:
3097:
3095:
3087:
3086:
3083:
3082:
3080:
3079:
3074:
3069:
3064:
3059:
3054:
3053:
3052:
3047:
3042:
3031:
3029:
3023:
3022:
3020:
3019:
3017:Barrel shifter
3014:
3013:
3012:
3007:
3000:Binary decoder
2997:
2996:
2995:
2985:
2980:
2975:
2969:
2967:
2961:
2960:
2958:
2957:
2952:
2944:
2939:
2934:
2929:
2923:
2921:
2915:
2914:
2912:
2911:
2906:
2901:
2896:
2891:
2889:Stack register
2886:
2881:
2875:
2873:
2867:
2866:
2864:
2863:
2862:
2861:
2856:
2846:
2841:
2836:
2830:
2828:
2822:
2821:
2819:
2818:
2813:
2812:
2811:
2800:
2795:
2790:
2789:
2788:
2782:
2771:
2765:
2759:
2752:
2750:
2739:
2738:
2733:
2728:
2723:
2718:
2717:
2716:
2711:
2706:
2701:
2696:
2691:
2681:
2675:
2673:
2669:
2668:
2666:
2665:
2660:
2655:
2650:
2644:
2642:
2638:
2637:
2635:
2634:
2633:
2632:
2622:
2617:
2612:
2607:
2602:
2597:
2592:
2587:
2582:
2577:
2572:
2567:
2562:
2557:
2551:
2549:
2543:
2542:
2539:
2538:
2536:
2535:
2530:
2525:
2520:
2514:
2508:
2502:
2496:
2491:
2485:
2483:AI accelerator
2480:
2474:
2472:
2464:
2463:
2461:
2460:
2454:
2449:
2446:Multiprocessor
2443:
2436:
2434:
2428:
2427:
2425:
2424:
2419:
2414:
2409:
2404:
2399:
2397:Microprocessor
2394:
2388:
2386:
2385:By application
2379:
2378:
2372:
2366:
2360:
2355:
2350:
2345:
2340:
2335:
2330:
2328:Tile processor
2325:
2320:
2315:
2310:
2309:
2308:
2297:
2290:
2288:
2282:
2281:
2279:
2278:
2273:
2268:
2262:
2256:
2250:
2244:
2238:
2237:
2236:
2224:
2218:
2216:
2208:
2207:
2204:
2203:
2201:
2200:
2199:
2198:
2188:
2183:
2182:
2181:
2176:
2171:
2166:
2156:
2150:
2148:
2142:
2141:
2139:
2138:
2133:
2128:
2123:
2122:
2121:
2116:
2114:Hyperthreading
2106:
2100:
2098:
2096:Multithreading
2092:
2091:
2089:
2088:
2083:
2078:
2077:
2076:
2066:
2065:
2064:
2059:
2049:
2048:
2047:
2042:
2032:
2027:
2026:
2025:
2020:
2009:
2007:
2000:
1994:
1993:
1990:
1989:
1987:
1986:
1981:
1975:
1973:
1967:
1966:
1964:
1963:
1958:
1953:
1952:
1951:
1946:
1936:
1930:
1928:
1922:
1921:
1919:
1918:
1913:
1908:
1903:
1897:
1895:
1889:
1888:
1886:
1885:
1880:
1875:
1873:Pipeline stall
1869:
1867:
1858:
1852:
1851:
1848:
1847:
1845:
1844:
1839:
1834:
1829:
1826:
1825:
1824:
1822:z/Architecture
1819:
1814:
1809:
1801:
1796:
1791:
1786:
1781:
1776:
1771:
1766:
1761:
1756:
1751:
1746:
1741:
1740:
1739:
1734:
1729:
1721:
1716:
1711:
1706:
1701:
1696:
1691:
1686:
1680:
1678:
1672:
1671:
1669:
1668:
1667:
1666:
1656:
1651:
1646:
1641:
1636:
1631:
1626:
1625:
1624:
1614:
1613:
1612:
1602:
1597:
1592:
1587:
1581:
1579:
1572:
1564:
1563:
1561:
1560:
1555:
1550:
1545:
1540:
1535:
1534:
1533:
1528:
1526:Virtual memory
1518:
1513:
1512:
1511:
1506:
1501:
1496:
1486:
1481:
1476:
1471:
1466:
1465:
1464:
1454:
1449:
1443:
1441:
1435:
1434:
1432:
1431:
1430:
1429:
1424:
1419:
1414:
1404:
1399:
1394:
1393:
1392:
1387:
1382:
1377:
1372:
1367:
1362:
1357:
1350:Turing machine
1347:
1346:
1345:
1340:
1335:
1330:
1325:
1320:
1310:
1305:
1299:
1297:
1291:
1290:
1283:
1282:
1275:
1268:
1260:
1252:
1251:
1230:
1223:
1187:Aho, Alfred V.
1178:
1153:
1138:
1115:
1090:
1061:
1060:
1058:
1055:
1054:
1053:
1048:
1043:
1038:
1031:
1028:
1004:
1003:
997:
950:virtualization
934:Main article:
931:
928:
912:Main article:
909:
906:
855:Main article:
852:
849:
794:runtime system
774:runtime system
760:, also called
758:runtime system
752:Runtime system
750:Main article:
747:
746:Runtime system
744:
731:
728:
685:
682:
612:execution time
600:
597:
571:Context switch
569:Main article:
566:
563:
542:
539:
485:Main article:
482:
479:
428:
425:
350:
349:
347:
346:
339:
332:
324:
321:
320:
319:
318:
313:
304:
295:
294:
290:
289:
288:
287:
281:
272:
262:
257:
251:
241:
232:
223:
217:
208:
207:
203:
202:
201:
200:
195:
190:
188:Precompilation
185:
184:
183:
178:
167:
158:
157:
153:
152:
151:
150:
145:
140:
135:
130:
122:
121:
117:
116:
115:
114:
113:
112:
107:
102:
97:
96:
95:
88:Runtime system
80:
74:
73:
72:
67:
66:
65:
50:
42:
41:
37:
36:
26:
9:
6:
4:
3:
2:
3221:
3210:
3207:
3206:
3204:
3189:
3186:
3184:
3181:
3179:
3176:
3174:
3171:
3169:
3166:
3164:
3161:
3159:
3156:
3154:
3151:
3149:
3146:
3145:
3143:
3139:
3132:
3129:
3127:
3124:
3122:
3119:
3117:
3114:
3112:
3109:
3107:
3104:
3102:
3099:
3098:
3096:
3094:
3088:
3078:
3075:
3073:
3070:
3068:
3065:
3063:
3060:
3058:
3055:
3051:
3048:
3046:
3043:
3041:
3038:
3037:
3036:
3033:
3032:
3030:
3028:
3024:
3018:
3015:
3011:
3008:
3006:
3003:
3002:
3001:
2998:
2994:
2991:
2990:
2989:
2986:
2984:
2981:
2979:
2978:Demultiplexer
2976:
2974:
2971:
2970:
2968:
2966:
2962:
2956:
2953:
2951:
2948:
2945:
2943:
2940:
2938:
2935:
2933:
2930:
2928:
2925:
2924:
2922:
2920:
2916:
2910:
2907:
2905:
2902:
2900:
2899:Memory buffer
2897:
2895:
2894:Register file
2892:
2890:
2887:
2885:
2882:
2880:
2877:
2876:
2874:
2872:
2868:
2860:
2857:
2855:
2852:
2851:
2850:
2847:
2845:
2842:
2840:
2837:
2835:
2834:Combinational
2832:
2831:
2829:
2827:
2823:
2817:
2814:
2810:
2807:
2806:
2804:
2801:
2799:
2796:
2794:
2791:
2786:
2783:
2781:
2778:
2777:
2775:
2772:
2769:
2766:
2763:
2760:
2757:
2754:
2753:
2751:
2749:
2743:
2737:
2734:
2732:
2729:
2727:
2724:
2722:
2719:
2715:
2712:
2710:
2707:
2705:
2702:
2700:
2697:
2695:
2692:
2690:
2687:
2686:
2685:
2682:
2680:
2677:
2676:
2674:
2670:
2664:
2661:
2659:
2656:
2654:
2651:
2649:
2646:
2645:
2643:
2639:
2631:
2628:
2627:
2626:
2623:
2621:
2618:
2616:
2613:
2611:
2608:
2606:
2603:
2601:
2598:
2596:
2593:
2591:
2588:
2586:
2583:
2581:
2578:
2576:
2573:
2571:
2568:
2566:
2563:
2561:
2558:
2556:
2553:
2552:
2550:
2548:
2544:
2534:
2531:
2529:
2526:
2524:
2521:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2495:
2492:
2489:
2486:
2484:
2481:
2479:
2476:
2475:
2473:
2471:
2465:
2458:
2455:
2453:
2450:
2447:
2444:
2441:
2438:
2437:
2435:
2429:
2423:
2420:
2418:
2415:
2413:
2410:
2408:
2405:
2403:
2400:
2398:
2395:
2393:
2390:
2389:
2387:
2383:
2376:
2373:
2370:
2367:
2364:
2361:
2359:
2356:
2354:
2351:
2349:
2346:
2344:
2341:
2339:
2336:
2334:
2331:
2329:
2326:
2324:
2321:
2319:
2316:
2314:
2311:
2307:
2304:
2303:
2301:
2298:
2295:
2292:
2291:
2289:
2287:
2283:
2277:
2274:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2234:
2231:
2230:
2228:
2225:
2223:
2220:
2219:
2217:
2215:
2209:
2197:
2194:
2193:
2192:
2189:
2187:
2184:
2180:
2177:
2175:
2172:
2170:
2167:
2165:
2162:
2161:
2160:
2157:
2155:
2152:
2151:
2149:
2147:
2143:
2137:
2134:
2132:
2129:
2127:
2124:
2120:
2117:
2115:
2112:
2111:
2110:
2107:
2105:
2102:
2101:
2099:
2097:
2093:
2087:
2084:
2082:
2079:
2075:
2072:
2071:
2070:
2067:
2063:
2060:
2058:
2055:
2054:
2053:
2050:
2046:
2043:
2041:
2038:
2037:
2036:
2033:
2031:
2028:
2024:
2021:
2019:
2016:
2015:
2014:
2011:
2010:
2008:
2004:
2001:
1999:
1995:
1985:
1982:
1980:
1977:
1976:
1974:
1972:
1968:
1962:
1959:
1957:
1954:
1950:
1947:
1945:
1942:
1941:
1940:
1937:
1935:
1934:Scoreboarding
1932:
1931:
1929:
1927:
1923:
1917:
1916:False sharing
1914:
1912:
1909:
1907:
1904:
1902:
1899:
1898:
1896:
1894:
1890:
1884:
1881:
1879:
1876:
1874:
1871:
1870:
1868:
1866:
1862:
1859:
1857:
1853:
1843:
1840:
1838:
1835:
1833:
1830:
1827:
1823:
1820:
1818:
1815:
1813:
1810:
1808:
1805:
1804:
1802:
1800:
1797:
1795:
1792:
1790:
1787:
1785:
1782:
1780:
1777:
1775:
1772:
1770:
1767:
1765:
1762:
1760:
1757:
1755:
1752:
1750:
1747:
1745:
1742:
1738:
1735:
1733:
1730:
1728:
1725:
1724:
1722:
1720:
1717:
1715:
1712:
1710:
1709:Stanford MIPS
1707:
1705:
1702:
1700:
1697:
1695:
1692:
1690:
1687:
1685:
1682:
1681:
1679:
1673:
1665:
1662:
1661:
1660:
1657:
1655:
1652:
1650:
1647:
1645:
1642:
1640:
1637:
1635:
1632:
1630:
1627:
1623:
1620:
1619:
1618:
1615:
1611:
1608:
1607:
1606:
1603:
1601:
1598:
1596:
1593:
1591:
1588:
1586:
1583:
1582:
1580:
1576:
1573:
1571:
1570:architectures
1565:
1559:
1556:
1554:
1551:
1549:
1546:
1544:
1541:
1539:
1538:Heterogeneous
1536:
1532:
1529:
1527:
1524:
1523:
1522:
1519:
1517:
1514:
1510:
1507:
1505:
1502:
1500:
1497:
1495:
1492:
1491:
1490:
1489:Memory access
1487:
1485:
1482:
1480:
1477:
1475:
1472:
1470:
1467:
1463:
1460:
1459:
1458:
1455:
1453:
1450:
1448:
1445:
1444:
1442:
1440:
1436:
1428:
1425:
1423:
1422:Random-access
1420:
1418:
1415:
1413:
1410:
1409:
1408:
1405:
1403:
1402:Stack machine
1400:
1398:
1395:
1391:
1388:
1386:
1383:
1381:
1378:
1376:
1373:
1371:
1368:
1366:
1363:
1361:
1358:
1356:
1353:
1352:
1351:
1348:
1344:
1341:
1339:
1336:
1334:
1331:
1329:
1326:
1324:
1321:
1319:
1318:with datapath
1316:
1315:
1314:
1311:
1309:
1306:
1304:
1301:
1300:
1298:
1296:
1292:
1288:
1281:
1276:
1274:
1269:
1267:
1262:
1261:
1258:
1241:
1234:
1226:
1220:
1216:
1212:
1207:
1206:
1200:
1196:
1192:
1188:
1182:
1167:
1166:GeeksforGeeks
1163:
1157:
1149:
1145:
1141:
1139:0-596-00565-2
1135:
1131:
1130:
1122:
1120:
1104:
1103:GeeksforGeeks
1100:
1094:
1080:
1076:
1072:
1066:
1062:
1052:
1049:
1047:
1044:
1042:
1039:
1037:
1034:
1033:
1027:
1025:
1021:
1017:
1013:
1009:
1001:
998:
995:
991:
987:
983:
979:
976:(also termed
975:
974:
970:
969:
968:
965:
963:
959:
955:
951:
947:
943:
937:
927:
925:
921:
915:
905:
903:
900:, through an
899:
895:
886:
882:
880:
876:
872:
868:
864:
858:
848:
846:
842:
838:
834:
830:
826:
822:
818:
814:
810:
806:
802:
797:
795:
791:
787:
783:
779:
775:
771:
767:
763:
759:
753:
743:
741:
736:
727:
725:
721:
717:
713:
708:
706:
702:
699:
695:
691:
681:
679:
675:
671:
667:
663:
659:
655:
651:
650:Type checking
647:
643:
639:
634:
632:
628:
624:
617:
613:
609:
605:
596:
594:
589:
587:
582:
578:
572:
562:
559:
555:
552:
548:
538:
536:
532:
528:
523:
521:
517:
513:
509:
505:
501:
497:
493:
488:
478:
476:
472:
468:
464:
460:
456:
452:
448:
444:
440:
434:
424:
422:
418:
414:
409:
407:
403:
399:
395:
391:
390:batch process
386:
384:
380:
376:
372:
368:
364:
360:
356:
345:
340:
338:
333:
331:
326:
325:
323:
322:
317:
314:
312:
308:
305:
302:
299:
298:
297:
296:
292:
291:
285:
282:
280:
276:
273:
270:
266:
263:
261:
258:
255:
252:
249:
245:
242:
240:
236:
233:
231:
227:
224:
221:
218:
215:
212:
211:
210:
209:
205:
204:
199:
198:Recompilation
196:
194:
191:
189:
186:
182:
179:
177:
174:
173:
171:
168:
165:
164:Ahead-of-time
162:
161:
160:
159:
155:
154:
149:
146:
144:
141:
139:
136:
134:
131:
129:
126:
125:
124:
123:
120:Types of code
119:
118:
111:
108:
106:
103:
101:
98:
94:
91:
90:
89:
86:
85:
84:
81:
78:
75:
71:
68:
64:
61:
60:
59:
56:
55:
54:
51:
49:
46:
45:
44:
43:
39:
38:
35:
32:
31:
19:
3188:Chip carrier
3126:Clock gating
3045:Mixed-signal
2942:Write buffer
2919:Control unit
2731:Clock signal
2470:accelerators
2452:Cypress PSoC
2109:Simultaneous
1926:Out-of-order
1558:Neuromorphic
1439:Architecture
1397:Belt machine
1390:Zeno machine
1323:Hierarchical
1243:. Retrieved
1240:"Pipelining"
1233:
1204:
1181:
1170:. Retrieved
1168:. 2021-06-10
1165:
1156:
1128:
1107:. Retrieved
1105:. 2015-11-03
1102:
1093:
1082:. Retrieved
1074:
1071:"executable"
1065:
1005:
999:
971:
966:
945:
941:
939:
917:
894:concurrently
891:
870:
866:
862:
860:
798:
793:
777:
773:
761:
757:
755:
733:
712:Logic errors
709:
687:
642:compile-time
635:
631:machine code
611:
607:
603:
602:
590:
574:
551:multitasking
547:bare machine
544:
527:machine code
524:
512:instructions
507:
503:
499:
495:
491:
490:
443:compile time
436:
420:
416:
412:
410:
387:
379:control unit
354:
353:
170:Just-in-time
143:Machine code
82:
63:Compile time
33:
2973:Multiplexer
2937:Data buffer
2648:Single-core
2620:bit slicing
2478:Coprocessor
2333:Coprocessor
2214:performance
2136:Cooperative
2126:Speculative
2086:Distributed
2045:Superscalar
2030:Instruction
1998:Parallelism
1971:Speculative
1803:System/3x0
1675:Instruction
1452:Von Neumann
1365:Post–Turing
1195:Sethi, Ravi
920:interpreter
908:Interpreter
705:entry point
471:termination
459:entry point
439:source code
406:interpreter
284:Zend Engine
265:Objective-C
133:Object code
128:Source code
105:Interpreter
53:Translation
3093:management
2988:Multiplier
2849:Logic gate
2839:Sequential
2746:Functional
2726:Clock rate
2699:Data cache
2672:Components
2653:Multi-core
2641:Core count
2131:Preemptive
2035:Pipelining
2018:Bit-serial
1961:Wide-issue
1906:Structural
1828:Tilera ISA
1794:MicroBlaze
1764:ETRAX CRIS
1659:Comparison
1504:Load–store
1484:Endianness
1245:2019-06-26
1213:. p.
1172:2022-08-10
1109:2019-09-18
1084:2008-07-19
1057:References
1036:Executable
986:hypervisor
924:translator
817:procedures
805:management
664:, such as
623:life cycle
504:executable
487:Executable
481:Executable
100:Executable
3027:Circuitry
2947:Microcode
2871:Registers
2714:coherence
2689:CPU cache
2547:Word size
2212:Processor
1856:Execution
1759:DEC Alpha
1737:Power ISA
1553:Cognitive
1360:Universal
954:emulation
948:) is the
843:or other
813:variables
701:libraries
629:(CPU) as
593:registers
516:data file
451:load time
447:link time
417:launching
411:The term
396:may type
383:semantics
355:Execution
309:and
277:and
267:and
237:and
148:Microcode
83:Execution
3203:Category
2965:Datapath
2658:Manycore
2630:variable
2468:Hardware
2104:Temporal
1784:OpenRISC
1479:Cellular
1469:Dataflow
1462:modified
1201:(2007).
1148:64549743
1030:See also
898:parallel
825:compiler
790:instance
678:overflow
672:errors,
646:compiler
608:run time
588:(PCID).
535:bytecode
498:, or an
467:run time
421:invoking
398:commands
363:computer
359:computer
222:(Erlang)
138:Bytecode
58:Compiler
3141:Related
3072:Quantum
3062:Digital
3057:Boolean
2955:Counter
2854:Quantum
2615:512-bit
2610:256-bit
2605:128-bit
2448:(MPSoC)
2433:on chip
2431:Systems
2249:(FLOPS)
2062:Process
1911:Control
1893:Hazards
1779:Itanium
1774:Unicore
1732:PowerPC
1457:Harvard
1417:Pointer
1412:Counter
1370:Quantum
879:boot-up
845:dynamic
841:threads
786:testing
770:runtime
738:enable
604:Runtime
599:Runtime
427:Process
279:Node.js
235:CPython
93:Runtime
3077:Switch
3067:Analog
2805:(IMC)
2776:(MMU)
2625:others
2600:64-bit
2595:48-bit
2590:32-bit
2585:24-bit
2580:16-bit
2575:15-bit
2570:12-bit
2407:Mobile
2323:Stream
2318:Barrel
2313:Vector
2302:(GPU)
2261:(SUPS)
2229:(IPC)
2081:Memory
2074:Vector
2057:Thread
2040:Scalar
1842:Others
1789:RISC-V
1754:SuperH
1723:Power
1719:MIPS-X
1694:PDP-11
1543:Fabric
1295:Models
1221:
1146:
1136:
1024:kernel
809:memory
694:memory
690:loader
520:parsed
508:binary
404:of an
400:in an
260:LuaJIT
172:(JIT)
3133:(PPW)
3091:Power
2983:Adder
2859:Array
2826:Logic
2787:(TLB)
2770:(FPU)
2764:(AGU)
2758:(ALU)
2748:units
2684:Cache
2565:8-bit
2560:4-bit
2555:1-bit
2519:(TPU)
2513:(DSP)
2507:(PPU)
2501:(VPU)
2490:(GPU)
2459:(NoC)
2442:(SoC)
2377:(PoP)
2371:(SiP)
2365:(MCM)
2306:GPGPU
2296:(CPU)
2286:Types
2267:(PPW)
2255:(TPS)
2243:(IPS)
2235:(CPI)
2006:Level
1817:S/390
1812:S/370
1807:S/360
1749:SPARC
1727:POWER
1610:TRIPS
1578:Types
988:uses
956:of a
829:stack
799:Most
716:array
619:'
610:, or
494:, an
475:crash
473:or a
311:Clang
303:(GCC)
286:(PHP)
269:Swift
256:(JVM)
216:(ART)
166:(AOT)
3111:ACPI
2844:Glue
2736:FIFO
2679:Core
2417:ASIP
2358:CPLD
2353:FPOA
2348:FPGA
2343:ASIC
2196:SPMD
2191:MIMD
2186:MISD
2179:SWAR
2159:SIMD
2154:SISD
2069:Data
2052:Task
2023:Word
1769:M32R
1714:MIPS
1677:sets
1644:ZISC
1639:NISC
1634:OISC
1629:MISC
1622:EPIC
1617:VLIW
1605:EDGE
1595:RISC
1590:CISC
1499:HUMA
1494:NUMA
1219:ISBN
1144:OCLC
1134:ISBN
1010:and
1008:QEMU
984:. A
861:The
833:heap
831:and
720:bugs
714:and
556:and
506:or
394:user
316:MSVC
307:LLVM
244:crt0
239:PyPy
230:Mono
220:BEAM
79:(IR)
48:Code
3106:APM
3101:PMU
2993:CPU
2950:ROM
2721:Bus
2338:PAL
2013:Bit
1799:LMC
1704:ARM
1699:x86
1689:VAX
1215:427
1016:CPU
531:CPU
419:or
413:run
365:or
357:in
3205::
3040:3D
1217:.
1197:;
1193:;
1189:;
1164:.
1142:.
1118:^
1101:.
1077:.
1073:.
946:VM
940:A
839:,
796:.
756:A
656:,
652:,
636:A
621:s
606:,
477:.
275:V8
271:'s
1279:e
1272:t
1265:v
1248:.
1227:.
1175:.
1150:.
1112:.
1087:.
952:/
944:(
343:e
336:t
329:v
248:C
246:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.