Knowledge

Multithreading (computer architecture)

Source đź“ť

250: 4656: 1925: 1935: 70: 1945: 172: 29: 326:, the other threads can continue taking advantage of the unused computing resources, which may lead to faster overall execution, as these resources would have been idle if only a single thread were executed. Also, if a thread cannot use all the computing resources of the CPU (because instructions depend on each other's result), running another thread may prevent those resources from becoming idle. 610:
In addition to the hardware costs discussed in the block type of multithreading, interleaved multithreading has an additional cost of each pipeline stage tracking the thread ID of the instruction it is processing. Also, since there are more threads being executed concurrently in the pipeline, shared
532:
Additional hardware support for multithreading allows thread switching to be done in one CPU cycle, bringing performance improvements. Also, additional hardware allows each thread to behave as if it were executing alone and not sharing any hardware resources with other threads, minimizing the amount
848:
A major area of research is the thread scheduler that must quickly choose from among the list of ready-to-run threads to execute next, as well as maintain the ready-to-run and stalled thread lists. An important subtopic is the different thread priority schemes that can be used by the scheduler. The
398:
The simplest type of multithreading occurs when one thread runs until it is blocked by an event that normally would create a long-latency stall. Such a stall might be a cache miss that has to access off-chip memory, which might take hundreds of CPU cycles for the data to return. Instead of waiting
757:
In addition to the hardware costs discussed for interleaved multithreading, SMT has the additional cost of each pipeline stage tracking the thread ID of each instruction being processed. Again, shared resources such as caches and TLBs have to be sized for the large number of active threads being
528:
The goal of multithreading hardware support is to allow quick switching between a blocked thread and another thread ready to run. Switching from one thread to another means the hardware switches from using one register set to another. To achieve this goal, the hardware for the program visible
629:. Whereas a normal superscalar processor issues multiple instructions from a single thread every CPU cycle, in simultaneous multithreading (SMT) a superscalar processor can issue instructions from multiple threads every CPU cycle. Recognizing that any single thread has a limited amount of 361:
extensions and performing data prefetches (as a good video encoder might) do not suffer from cache misses or idle computing resources. Such programs therefore do not benefit from hardware multithreading and can indeed see degraded performance due to contention for shared resources.
863:
to be created for each thread. This allows each thread to run its own operating system on the same processor. On the other hand, if only user-mode state is saved, then less hardware is required, which would allow more threads to be active at one time for the same die area or cost.
301:. Even though it is very difficult to further speed up a single thread or single program, most computer systems are actually multitasking among multiple threads or programs. Thus, techniques that improve the throughput of all tasks result in overall performance gains. 606:
This type of multithreading was first called barrel processing, in which the staves of a barrel represent the pipeline stages and their executing threads. Interleaved, preemptive, fine-grained or time-sliced multithreading are more modern terminology.
338:(TLBs). As a result, execution times of a single thread are not improved and can be degraded, even when only one thread is executing, due to lower frequencies or additional pipeline stages that are necessary to accommodate thread-switching hardware. 365:
From the software standpoint, hardware support for multithreading is more visible to software, requiring more changes to both application programs and operating systems than multiprocessing. Hardware techniques used to support
399:
for the stall to resolve, a threaded processor would switch execution to another thread that was ready to run. Only when the data for the previous thread had arrived, would the previous thread be placed back on the list of
566:. Since one thread is relatively independent from other threads, there is less chance of one instruction in one pipelining stage needing an output from an older instruction in the pipeline. Conceptually, it is similar to 529:
registers, as well as some processor control registers (such as the program counter), is replicated. For example, to quickly switch between two threads, the processor is built with two sets of registers.
349:, while a synthetic program just performing a loop of non-optimized dependent floating-point operations actually gains a 100% speed improvement when run in parallel. On the other hand, hand-tuned 525:, in which tasks voluntarily give up execution time when they need to wait upon some type of event. This type of multithreading is known as block, cooperative or coarse-grained multithreading. 87: 42: 3982: 3009: 633:, this type of multithreading tries to exploit parallelism available across multiple threads to decrease the waste associated with unused issue slots. 1981: 134: 106: 903: 3120: 2303: 4072: 2822: 859:
If the multithreading scheme replicates all of the software-visible state, including privileged control registers and TLBs, then it enables
113: 3924: 2100: 2979: 2545: 2362: 940: 48: 3333: 968: 544:
for interrupts. Such schemes can be considered a type of block multithreading among the user program thread and the interrupt threads.
120: 2325: 2974: 3046: 102: 3328: 1678: 570:
multitasking used in operating systems; an analogy would be that the time slice given to each active thread is one CPU cycle.
1703: 930: 4093: 4320: 3743: 2867: 2130: 1974: 1554: 4343: 3753: 2894: 1708: 987: 934: 852:
Another area of research is what type of events should cause a thread switch: cache misses, inter-thread communication,
4232: 2021: 1220: 849:
thread scheduler might be implemented totally in software, totally in hardware, or as a hardware/software combination.
4088: 4338: 4315: 3061: 2889: 2862: 2241: 1860: 1688: 1225: 371: 233: 215: 153: 56: 197: 4681: 3917: 3876: 3439: 2332: 2298: 2293: 2212: 2177: 1948: 1049: 127: 4686: 4310: 4125: 3851: 3748: 3149: 3056: 2857: 2078: 1967: 1336: 189: 4417: 4331: 4280: 2877: 2596: 2031: 1627: 1589: 1253: 961: 182: 91: 4641: 4475: 4326: 4013: 3051: 2899: 2872: 2733: 2347: 2308: 2165: 1769: 1746: 1476: 1466: 833: 762: 630: 290: 4701: 3488: 3250: 2726: 2687: 2342: 2337: 2271: 2083: 1850: 1438: 1346: 1258: 1034: 1019: 335: 4696: 4660: 4606: 4066: 3910: 3115: 2812: 2510: 2207: 1938: 1673: 1178: 620: 4585: 4380: 4265: 4227: 4077: 3967: 3765: 3412: 2829: 2320: 2288: 2058: 2046: 2026: 1910: 1559: 883: 777: 522: 346: 611:
resources such as caches and TLBs need to be larger to avoid thrashing between the different threads.
533:
of software changes needed within the application and the operating system to support multithreading.
4601: 4580: 4525: 4412: 4402: 4375: 4237: 3856: 3819: 3809: 2197: 1928: 1855: 1830: 1693: 1341: 954: 910: 367: 274: 4691: 4555: 4181: 4120: 4033: 3871: 3278: 3214: 3191: 3041: 3003: 2839: 2789: 2784: 2261: 2155: 2063: 1779: 1612: 1205: 1074: 812: 808: 804: 4616: 4611: 4470: 4061: 3824: 3607: 3501: 3465: 3382: 3366: 3208: 2997: 2956: 2944: 2807: 2721: 2642: 2407: 2068: 2011: 1840: 1774: 1665: 1481: 1148: 837: 751: 388: 334:
Multiple threads can interfere with each other when sharing hardware resources such as caches or
266: 193: 80: 4355: 4287: 4191: 4083: 4038: 3630: 3602: 3512: 3477: 3226: 3220: 3202: 2936: 2930: 2834: 2738: 2629: 2568: 2430: 2073: 1905: 1736: 1617: 1384: 1374: 1369: 567: 298: 4447: 4407: 4360: 4350: 4145: 4008: 3947: 3804: 3713: 3459: 3171: 2989: 2748: 2716: 2674: 2586: 2387: 2202: 2192: 2182: 2172: 2142: 2125: 1990: 1875: 1845: 1835: 1731: 1645: 1521: 1461: 1428: 1418: 1308: 1273: 1263: 1200: 1069: 1044: 1039: 1004: 626: 354: 258: 4387: 4275: 4270: 4260: 4247: 4043: 3834: 3770: 3356: 3078: 2968: 2915: 2447: 2160: 2016: 1998: 1635: 1607: 1579: 1574: 1403: 1379: 1331: 1316: 1298: 1288: 1283: 1245: 1195: 1190: 1107: 1053: 853: 563: 294: 270: 8: 4550: 4505: 4305: 4171: 3881: 3866: 3686: 3537: 3519: 3483: 3471: 3125: 3072: 2849: 2765: 2647: 2502: 2397: 2256: 1900: 1825: 1741: 1726: 1491: 1278: 1235: 1230: 1127: 1117: 1089: 4575: 4424: 4397: 4222: 4186: 4176: 4135: 3977: 3957: 3952: 3933: 3738: 3730: 3582: 3557: 3361: 3236: 2760: 2701: 2581: 2313: 2041: 1865: 1764: 1640: 1597: 1506: 1448: 1433: 1423: 1215: 1014: 17: 941:
Operating System | Difference between Multitasking, Multithreading and Multiprocessing
4621: 4297: 4255: 4150: 3691: 3658: 3574: 3506: 3407: 3397: 3387: 3318: 3313: 3308: 3231: 3160: 3066: 3026: 2659: 2609: 2559: 2535: 2417: 2357: 2352: 2234: 2150: 1885: 1815: 1794: 1756: 1564: 1531: 1511: 1210: 1122: 996: 350: 754:" is used to denote when instructions from only one thread can be issued at a time. 4631: 4430: 4365: 4212: 4028: 4023: 4018: 3987: 3861: 3794: 3780: 3635: 3542: 3496: 3303: 3298: 3293: 3288: 3283: 3273: 3143: 3110: 3021: 3016: 2925: 2777: 2772: 2755: 2743: 2682: 2246: 2224: 2110: 2088: 2006: 1718: 1602: 1569: 1364: 1293: 1182: 1168: 1163: 1112: 1099: 1024: 977: 816: 553: 400: 4495: 4435: 4370: 4217: 4207: 4140: 4130: 3972: 3962: 3775: 3760: 3708: 3612: 3587: 3424: 3417: 3268: 3263: 3258: 3197: 3105: 3095: 2817: 2652: 2604: 2367: 2251: 2219: 2120: 2115: 2036: 1789: 1683: 1655: 1549: 1501: 1486: 1471: 1326: 1321: 1268: 1158: 1132: 1084: 1029: 878: 860: 559: 537: 310: 323: 4626: 4442: 4099: 3992: 3886: 3720: 3703: 3696: 3592: 3449: 3186: 3100: 3031: 2614: 2576: 2525: 2520: 2515: 2229: 2053: 1895: 1799: 1698: 1544: 1516: 541: 4675: 4515: 4392: 3681: 3597: 2637: 2619: 2412: 2105: 1784: 1079: 819: 2540: 4115: 3891: 3829: 3645: 3622: 3434: 3155: 2093: 1880: 1539: 4636: 3676: 3640: 3351: 3323: 3181: 3036: 1959: 1870: 1496: 1408: 873: 770: 249: 3562: 3552: 3547: 3529: 3429: 3402: 2664: 2497: 2467: 2187: 1890: 1820: 1413: 1153: 1009: 253:
A process with two threads of execution, running on a single processor
246:
Ability of a CPU to provide multiple threads of execution concurrently
4510: 4485: 3902: 3653: 3650: 3392: 2462: 2440: 1395: 1356: 750:
To distinguish the other types of multithreading from SMT, the term "
540:
and embedded processors have multiple register banks to allow quick
200:. Statements consisting only of original research should be removed. 69: 4560: 4540: 4465: 3668: 2487: 1456: 946: 826: 286: 4565: 4545: 4520: 4155: 2477: 2435: 521:
Conceptually, it is similar to cooperative multi-tasking used in
464:
is issued, which is a load instruction that misses in all caches.
358: 4535: 4530: 2492: 2457: 2422: 800: 796: 792: 788: 784: 766: 374:. Thread scheduling is also a major problem in multithreading. 293:
have stalled since the late 1990s. This allowed the concept of
2950: 2482: 2452: 774: 342: 558:
The purpose of Fine grained multithreading is to remove all
4570: 4500: 4490: 3814: 2962: 2882: 2472: 823: 904:"Intel Hyper-Threading Technology, Technical User's Guide" 4480: 4457: 2402: 2392: 830: 781: 937:, March 2003, by Theo Ungerer, Borut Robi and Jurij Silc 382: 289:
has become more popular as efforts to further exploit
625:
The most advanced type of multithreading applies to
931:
A Survey of Processors with Explicit Multithreading
94:. Unsourced material may be challenged and removed. 304:Two major techniques for throughput computing are 4673: 393: 370:often parallel the software techniques used for 297:to re-emerge from the more specialized field of 474:: thread scheduler invoked, switches to thread 614: 547: 3918: 1975: 986:Note: This template roughly follows the 2012 962: 2980:Computer performance by orders of magnitude 843: 103:"Multithreading" computer architecture 57:Learn how and when to remove these messages 3925: 3911: 1989: 1982: 1968: 969: 955: 377: 234:Learn how and when to remove this message 216:Learn how and when to remove this message 154:Learn how and when to remove this message 248: 4674: 3932: 1679:Knowledge representation and reasoning 345:claims up to 30% improvement with its 3906: 1963: 1704:Philosophy of artificial intelligence 950: 2951:Floating-point operations per second 1030:Energy consumption (Green computing) 976: 165: 92:adding citations to reliable sources 63: 22: 1709:Distributed artificial intelligence 988:ACM Computing Classification System 383:Interleaved/Temporal multithreading 13: 1221:Integrated development environment 14: 4713: 1689:Automated planning and scheduling 1226:Software configuration management 924: 38:This article has multiple issues. 4655: 4654: 3877:Semiconductor device fabrication 1943: 1933: 1924: 1923: 329: 170: 68: 27: 4126:Analysis of parallel algorithms 3852:History of general-purpose CPUs 2079:Nondeterministic Turing machine 1934: 1337:Computational complexity theory 79:needs additional citations for 46:or discuss these issues on the 2032:Deterministic finite automaton 1128:Network performance evaluation 896: 746:are all simultaneously issued. 707:are all simultaneously issued. 1: 4073:Simultaneous and heterogenous 2823:Simultaneous and heterogenous 1492:Multimedia information system 1477:Geographic information system 1467:Enterprise information system 1063:Computer systems organization 889: 631:instruction-level parallelism 598:: an instruction from thread 584:: an instruction from thread 394:Coarse-grained multithreading 336:translation lookaside buffers 317: 291:instruction-level parallelism 269:(CPU) (or a single core in a 16:For threads in software, see 4661:Category: Parallel computing 3507:Integrated memory controller 3489:Translation lookaside buffer 2688:Memory dependence prediction 2131:Random-access stored program 2084:Probabilistic Turing machine 1851:Computational social science 1439:Theoretical computer science 1259:Software development process 1035:Electronic design automation 1020:Very Large Scale Integration 943:GeeksforGeeks, 6 Sept. 2018. 909:. p. 13. Archived from 7: 2963:Synaptic updates per second 1674:Natural language processing 1462:Information storage systems 867: 621:Simultaneous multithreading 615:Simultaneous multithreading 548:Fine grained multithreading 523:real-time operating systems 341:Overall efficiency varies; 280: 196:the claims made and adding 10: 4718: 3968:High-performance computing 3367:Heterogeneous architecture 2289:Orthogonal instruction set 2059:Alternating Turing machine 2047:Quantum cellular automaton 1590:Human–computer interaction 1560:Intrusion detection system 1472:Social information systems 1457:Database management system 884:Speculative multithreading 778:Hyper-Threading Technology 667:are simultaneously issued. 618: 562:stalls from the execution 551: 386: 347:Hyper-Threading Technology 322:If a thread gets a lot of 15: 4650: 4602:Automatic parallelization 4594: 4456: 4296: 4246: 4238:Application checkpointing 4200: 4164: 4108: 4052: 4001: 3940: 3857:Microprocessor chronology 3844: 3820:Dynamic frequency scaling 3793: 3729: 3667: 3621: 3573: 3528: 3448: 3375: 3344: 3249: 3170: 3134: 3088: 2988: 2975:Cache performance metrics 2914: 2848: 2798: 2709: 2700: 2673: 2628: 2595: 2567: 2558: 2378: 2281: 2270: 2141: 1997: 1919: 1856:Computational engineering 1831:Computational mathematics 1808: 1755: 1717: 1664: 1626: 1588: 1530: 1447: 1393: 1355: 1307: 1244: 1177: 1141: 1098: 1062: 995: 984: 3872:Hardware security module 3215:Digital signal processor 3192:Graphics processing unit 3004:Graphics processing unit 1866:Computational healthcare 1861:Differentiable computing 1780:Graphics processing unit 1206:Domain-specific language 1075:Computational complexity 844:Implementation specifics 761:Implementations include 4682:Central processing unit 4617:Embarrassingly parallel 4612:Deterministic algorithm 3825:Dynamic voltage scaling 3608:Memory address register 3502:Branch target predictor 3466:Address generation unit 3209:Physics processing unit 2998:Central processing unit 2957:Transactions per second 2945:Instructions per second 2868:Array processing (SIMT) 2012:Stored-program computer 1841:Computational chemistry 1775:Photograph manipulation 1666:Artificial intelligence 1482:Decision support system 752:temporal multithreading 389:Temporal multithreading 378:Types of multithreading 267:central processing unit 4687:Instruction processing 4332:Associative processing 4288:Non-blocking algorithm 4094:Clustered multi-thread 3631:Hardwired control unit 3513:Memory management unit 3478:Memory management unit 3227:Secure cryptoprocessor 3221:Tensor Processing Unit 3203:Vision processing unit 2937:Cycles per instruction 2931:Instructions per cycle 2878:Associative processing 2569:Instruction pipelining 1991:Processor technologies 1906:Educational technology 1737:Reinforcement learning 1487:Process control system 1385:Computational geometry 1375:Algorithmic efficiency 1370:Analysis of algorithms 1025:Systems on Chip (SoCs) 627:superscalar processors 299:transaction processing 273:) to provide multiple 254: 4448:Hardware acceleration 4361:Superscalar processor 4351:Dataflow architecture 3948:Distributed computing 3714:Sum-addressed decoder 3460:Arithmetic logic unit 2587:Classic RISC pipeline 2541:Epiphany architecture 2388:Motorola 68000 series 1876:Electronic publishing 1846:Computational biology 1836:Computational physics 1732:Unsupervised learning 1646:Distributed computing 1522:Information retrieval 1429:Mathematical analysis 1419:Mathematical software 1309:Theory of computation 1274:Software construction 1264:Requirements analysis 1142:Software organization 1070:Computer architecture 1040:Hardware acceleration 1005:Printed circuit board 372:computer multitasking 259:computer architecture 252: 4327:Pipelined processing 4276:Explicit parallelism 4271:Implicit parallelism 4261:Dataflow programming 3835:Performance per watt 3413:replacement policies 3079:Package on a package 2969:Performance per watt 2873:Pipelined processing 2643:Tomasulo's algorithm 2448:Clipper architecture 2304:Application-specific 2017:Finite-state machine 1636:Concurrent computing 1608:Ubiquitous computing 1580:Application security 1575:Information security 1404:Discrete mathematics 1380:Randomized algorithm 1332:Computability theory 1317:Model of computation 1289:Software maintenance 1284:Software engineering 1246:Software development 1196:Programming language 1191:Programming paradigm 1108:Network architecture 840:microarchitectures. 295:throughput computing 275:threads of execution 271:multi-core processor 265:is the ability of a 88:improve this article 4702:Threads (computing) 4551:Parallel Extensions 4356:Pipelined processor 3867:Digital electronics 3520:Instruction decoder 3472:Floating-point unit 3126:Soft microprocessor 3073:System in a package 2648:Reservation station 2178:Transport-triggered 1911:Document management 1901:Operations research 1826:Enterprise software 1742:Multi-task learning 1727:Supervised learning 1449:Information systems 1279:Software deployment 1236:Software repository 1090:Real-time computing 285:The multithreading 4697:Parallel computing 4425:Massively parallel 4403:distributed shared 4223:Cache invalidation 4187:Instruction window 3978:Manycore processor 3958:Massively parallel 3953:Parallel computing 3934:Parallel computing 3739:Integrated circuit 3583:Processor register 3237:Baseband processor 2582:Operand forwarding 2042:Cellular automaton 1694:Search methodology 1641:Parallel computing 1598:Interaction design 1507:Computing platform 1434:Numerical analysis 1424:Information theory 1216:Software framework 1179:Software notations 1118:Network components 1015:Integrated circuit 699:, and instruction 255: 181:possibly contains 18:Thread (computing) 4669: 4668: 4622:Parallel slowdown 4256:Stream processing 4146:Karp–Flatt metric 3900: 3899: 3789: 3788: 3408:Instruction cache 3398:Scratchpad memory 3245: 3244: 3232:Network processor 3161:Network on a chip 3116:Ultra-low-voltage 3067:Multi-chip module 2910: 2909: 2696: 2695: 2683:Branch prediction 2660:Register renaming 2554: 2553: 2536:VISC architecture 2358:Quantum computing 2353:VISC architecture 2235:Secondary storage 2151:Microarchitecture 2111:Register machines 1957: 1956: 1886:Electronic voting 1816:Quantum Computing 1809:Applied computing 1795:Image compression 1565:Hardware security 1555:Security services 1512:Digital marketing 1299:Open-source model 1211:Modeling language 1123:Network scheduler 856:completion, etc. 773:(not completed), 728:and instructions 542:context switching 536:Many families of 351:assembly language 244: 243: 236: 226: 225: 218: 183:original research 164: 163: 156: 138: 61: 4709: 4658: 4657: 4632:Software lockout 4431:Computer cluster 4366:Vector processor 4321:Array processing 4306:Flynn's taxonomy 4213:Memory coherence 3988:Computer network 3927: 3920: 3913: 3904: 3903: 3862:Processor design 3754:Power management 3636:Instruction unit 3497:Branch predictor 3446: 3445: 3144:System on a chip 3086: 3085: 2926:Transistor count 2850:Flynn's taxonomy 2707: 2706: 2565: 2564: 2368:Addressing modes 2279: 2278: 2225:Memory hierarchy 2089:Hypercomputation 2007:Abstract machine 1984: 1977: 1970: 1961: 1960: 1947: 1946: 1937: 1936: 1927: 1926: 1747:Cross-validation 1719:Machine learning 1603:Social computing 1570:Network security 1365:Algorithm design 1294:Programming team 1254:Control variable 1231:Software library 1169:Software quality 1164:Operating system 1113:Network protocol 978:Computer science 971: 964: 957: 948: 947: 918: 917: 915: 908: 900: 861:virtual machines 817:Sun Microsystems 745: 741: 734: 727: 723: 716: 706: 702: 698: 694: 687: 683: 676: 666: 662: 659:and instruction 658: 654: 647: 643: 601: 597: 587: 583: 554:Barrel processor 538:microcontrollers 516: 512: 505: 495: 491: 487: 477: 473: 463: 459: 452: 442: 438: 431: 421: 417: 413: 239: 232: 221: 214: 210: 207: 201: 198:inline citations 174: 173: 166: 159: 152: 148: 145: 139: 137: 96: 72: 64: 53: 31: 30: 23: 4717: 4716: 4712: 4711: 4710: 4708: 4707: 4706: 4692:Microprocessors 4672: 4671: 4670: 4665: 4646: 4590: 4496:Coarray Fortran 4452: 4436:Beowulf cluster 4292: 4242: 4233:Synchronization 4218:Cache coherence 4208:Multiprocessing 4196: 4160: 4141:Cost efficiency 4136:Gustafson's law 4104: 4048: 3997: 3973:Multiprocessing 3963:Cloud computing 3936: 3931: 3901: 3896: 3882:Tick–tock model 3840: 3796: 3785: 3725: 3709:Address decoder 3663: 3617: 3613:Program counter 3588:Status register 3569: 3524: 3484:Load–store unit 3451: 3444: 3371: 3340: 3241: 3198:Image processor 3173: 3166: 3136: 3130: 3106:Microcontroller 3096:Embedded system 3084: 2984: 2917: 2906: 2844: 2794: 2692: 2669: 2653:Re-order buffer 2624: 2605:Data dependency 2591: 2550: 2380: 2374: 2273: 2272:Instruction set 2266: 2252:Multiprocessing 2220:Cache hierarchy 2213:Register/memory 2137: 2037:Queue automaton 1993: 1988: 1958: 1953: 1944: 1915: 1896:Word processing 1804: 1790:Virtual reality 1751: 1713: 1684:Computer vision 1660: 1656:Multiprocessing 1622: 1584: 1550:Security hacker 1526: 1502:Digital library 1443: 1394:Mathematics of 1389: 1351: 1327:Automata theory 1322:Formal language 1303: 1269:Software design 1240: 1173: 1159:Virtual machine 1137: 1133:Network service 1094: 1085:Embedded system 1058: 991: 980: 975: 927: 922: 921: 913: 906: 902: 901: 897: 892: 879:Super-threading 870: 846: 743: 736: 729: 725: 718: 711: 704: 700: 696: 689: 685: 678: 671: 664: 660: 656: 649: 645: 644:: instructions 641: 623: 617: 599: 592: 585: 578: 560:data dependency 556: 550: 514: 507: 500: 493: 489: 482: 475: 468: 461: 454: 447: 440: 433: 426: 419: 415: 411: 396: 391: 385: 380: 353:programs using 332: 320: 311:multiprocessing 283: 247: 240: 229: 228: 227: 222: 211: 205: 202: 187: 175: 171: 160: 149: 143: 140: 97: 95: 85: 73: 32: 28: 21: 12: 11: 5: 4715: 4705: 4704: 4699: 4694: 4689: 4684: 4667: 4666: 4664: 4663: 4651: 4648: 4647: 4645: 4644: 4639: 4634: 4629: 4627:Race condition 4624: 4619: 4614: 4609: 4604: 4598: 4596: 4592: 4591: 4589: 4588: 4583: 4578: 4573: 4568: 4563: 4558: 4553: 4548: 4543: 4538: 4533: 4528: 4523: 4518: 4513: 4508: 4503: 4498: 4493: 4488: 4483: 4478: 4473: 4468: 4462: 4460: 4454: 4453: 4451: 4450: 4445: 4440: 4439: 4438: 4428: 4422: 4421: 4420: 4415: 4410: 4405: 4400: 4395: 4385: 4384: 4383: 4378: 4371:Multiprocessor 4368: 4363: 4358: 4353: 4348: 4347: 4346: 4341: 4336: 4335: 4334: 4329: 4324: 4313: 4302: 4300: 4294: 4293: 4291: 4290: 4285: 4284: 4283: 4278: 4273: 4263: 4258: 4252: 4250: 4244: 4243: 4241: 4240: 4235: 4230: 4225: 4220: 4215: 4210: 4204: 4202: 4198: 4197: 4195: 4194: 4189: 4184: 4179: 4174: 4168: 4166: 4162: 4161: 4159: 4158: 4153: 4148: 4143: 4138: 4133: 4128: 4123: 4118: 4112: 4110: 4106: 4105: 4103: 4102: 4100:Hardware scout 4097: 4091: 4086: 4081: 4075: 4070: 4064: 4058: 4056: 4054:Multithreading 4050: 4049: 4047: 4046: 4041: 4036: 4031: 4026: 4021: 4016: 4011: 4005: 4003: 3999: 3998: 3996: 3995: 3993:Systolic array 3990: 3985: 3980: 3975: 3970: 3965: 3960: 3955: 3950: 3944: 3942: 3938: 3937: 3930: 3929: 3922: 3915: 3907: 3898: 3897: 3895: 3894: 3889: 3887:Pin grid array 3884: 3879: 3874: 3869: 3864: 3859: 3854: 3848: 3846: 3842: 3841: 3839: 3838: 3832: 3827: 3822: 3817: 3812: 3807: 3801: 3799: 3791: 3790: 3787: 3786: 3784: 3783: 3778: 3773: 3768: 3763: 3758: 3757: 3756: 3751: 3746: 3735: 3733: 3727: 3726: 3724: 3723: 3721:Barrel shifter 3718: 3717: 3716: 3711: 3704:Binary decoder 3701: 3700: 3699: 3689: 3684: 3679: 3673: 3671: 3665: 3664: 3662: 3661: 3656: 3648: 3643: 3638: 3633: 3627: 3625: 3619: 3618: 3616: 3615: 3610: 3605: 3600: 3595: 3593:Stack register 3590: 3585: 3579: 3577: 3571: 3570: 3568: 3567: 3566: 3565: 3560: 3550: 3545: 3540: 3534: 3532: 3526: 3525: 3523: 3522: 3517: 3516: 3515: 3504: 3499: 3494: 3493: 3492: 3486: 3475: 3469: 3463: 3456: 3454: 3443: 3442: 3437: 3432: 3427: 3422: 3421: 3420: 3415: 3410: 3405: 3400: 3395: 3385: 3379: 3377: 3373: 3372: 3370: 3369: 3364: 3359: 3354: 3348: 3346: 3342: 3341: 3339: 3338: 3337: 3336: 3326: 3321: 3316: 3311: 3306: 3301: 3296: 3291: 3286: 3281: 3276: 3271: 3266: 3261: 3255: 3253: 3247: 3246: 3243: 3242: 3240: 3239: 3234: 3229: 3224: 3218: 3212: 3206: 3200: 3195: 3189: 3187:AI accelerator 3184: 3178: 3176: 3168: 3167: 3165: 3164: 3158: 3153: 3150:Multiprocessor 3147: 3140: 3138: 3132: 3131: 3129: 3128: 3123: 3118: 3113: 3108: 3103: 3101:Microprocessor 3098: 3092: 3090: 3089:By application 3083: 3082: 3076: 3070: 3064: 3059: 3054: 3049: 3044: 3039: 3034: 3032:Tile processor 3029: 3024: 3019: 3014: 3013: 3012: 3001: 2994: 2992: 2986: 2985: 2983: 2982: 2977: 2972: 2966: 2960: 2954: 2948: 2942: 2941: 2940: 2928: 2922: 2920: 2912: 2911: 2908: 2907: 2905: 2904: 2903: 2902: 2892: 2887: 2886: 2885: 2880: 2875: 2870: 2860: 2854: 2852: 2846: 2845: 2843: 2842: 2837: 2832: 2827: 2826: 2825: 2820: 2818:Hyperthreading 2810: 2804: 2802: 2800:Multithreading 2796: 2795: 2793: 2792: 2787: 2782: 2781: 2780: 2770: 2769: 2768: 2763: 2753: 2752: 2751: 2746: 2736: 2731: 2730: 2729: 2724: 2713: 2711: 2704: 2698: 2697: 2694: 2693: 2691: 2690: 2685: 2679: 2677: 2671: 2670: 2668: 2667: 2662: 2657: 2656: 2655: 2650: 2640: 2634: 2632: 2626: 2625: 2623: 2622: 2617: 2612: 2607: 2601: 2599: 2593: 2592: 2590: 2589: 2584: 2579: 2577:Pipeline stall 2573: 2571: 2562: 2556: 2555: 2552: 2551: 2549: 2548: 2543: 2538: 2533: 2530: 2529: 2528: 2526:z/Architecture 2523: 2518: 2513: 2505: 2500: 2495: 2490: 2485: 2480: 2475: 2470: 2465: 2460: 2455: 2450: 2445: 2444: 2443: 2438: 2433: 2425: 2420: 2415: 2410: 2405: 2400: 2395: 2390: 2384: 2382: 2376: 2375: 2373: 2372: 2371: 2370: 2360: 2355: 2350: 2345: 2340: 2335: 2330: 2329: 2328: 2318: 2317: 2316: 2306: 2301: 2296: 2291: 2285: 2283: 2276: 2268: 2267: 2265: 2264: 2259: 2254: 2249: 2244: 2239: 2238: 2237: 2232: 2230:Virtual memory 2222: 2217: 2216: 2215: 2210: 2205: 2200: 2190: 2185: 2180: 2175: 2170: 2169: 2168: 2158: 2153: 2147: 2145: 2139: 2138: 2136: 2135: 2134: 2133: 2128: 2123: 2118: 2108: 2103: 2098: 2097: 2096: 2091: 2086: 2081: 2076: 2071: 2066: 2061: 2054:Turing machine 2051: 2050: 2049: 2044: 2039: 2034: 2029: 2024: 2014: 2009: 2003: 2001: 1995: 1994: 1987: 1986: 1979: 1972: 1964: 1955: 1954: 1952: 1951: 1941: 1931: 1920: 1917: 1916: 1914: 1913: 1908: 1903: 1898: 1893: 1888: 1883: 1878: 1873: 1868: 1863: 1858: 1853: 1848: 1843: 1838: 1833: 1828: 1823: 1818: 1812: 1810: 1806: 1805: 1803: 1802: 1800:Solid modeling 1797: 1792: 1787: 1782: 1777: 1772: 1767: 1761: 1759: 1753: 1752: 1750: 1749: 1744: 1739: 1734: 1729: 1723: 1721: 1715: 1714: 1712: 1711: 1706: 1701: 1699:Control method 1696: 1691: 1686: 1681: 1676: 1670: 1668: 1662: 1661: 1659: 1658: 1653: 1651:Multithreading 1648: 1643: 1638: 1632: 1630: 1624: 1623: 1621: 1620: 1615: 1610: 1605: 1600: 1594: 1592: 1586: 1585: 1583: 1582: 1577: 1572: 1567: 1562: 1557: 1552: 1547: 1545:Formal methods 1542: 1536: 1534: 1528: 1527: 1525: 1524: 1519: 1517:World Wide Web 1514: 1509: 1504: 1499: 1494: 1489: 1484: 1479: 1474: 1469: 1464: 1459: 1453: 1451: 1445: 1444: 1442: 1441: 1436: 1431: 1426: 1421: 1416: 1411: 1406: 1400: 1398: 1391: 1390: 1388: 1387: 1382: 1377: 1372: 1367: 1361: 1359: 1353: 1352: 1350: 1349: 1344: 1339: 1334: 1329: 1324: 1319: 1313: 1311: 1305: 1304: 1302: 1301: 1296: 1291: 1286: 1281: 1276: 1271: 1266: 1261: 1256: 1250: 1248: 1242: 1241: 1239: 1238: 1233: 1228: 1223: 1218: 1213: 1208: 1203: 1198: 1193: 1187: 1185: 1175: 1174: 1172: 1171: 1166: 1161: 1156: 1151: 1145: 1143: 1139: 1138: 1136: 1135: 1130: 1125: 1120: 1115: 1110: 1104: 1102: 1096: 1095: 1093: 1092: 1087: 1082: 1077: 1072: 1066: 1064: 1060: 1059: 1057: 1056: 1047: 1042: 1037: 1032: 1027: 1022: 1017: 1012: 1007: 1001: 999: 993: 992: 985: 982: 981: 974: 973: 966: 959: 951: 945: 944: 938: 926: 925:External links 923: 920: 919: 916:on 2010-08-21. 894: 893: 891: 888: 887: 886: 881: 876: 869: 866: 845: 842: 748: 747: 717:: instruction 708: 688:, instruction 677:: instruction 668: 619:Main article: 616: 613: 604: 603: 589: 552:Main article: 549: 546: 519: 518: 506:: instruction 497: 488:: instruction 479: 465: 453:: instruction 444: 432:: instruction 423: 414:: instruction 395: 392: 387:Main article: 384: 381: 379: 376: 368:multithreading 331: 328: 319: 316: 306:multithreading 282: 279: 263:multithreading 245: 242: 241: 224: 223: 178: 176: 169: 162: 161: 76: 74: 67: 62: 36: 35: 33: 26: 9: 6: 4: 3: 2: 4714: 4703: 4700: 4698: 4695: 4693: 4690: 4688: 4685: 4683: 4680: 4679: 4677: 4662: 4653: 4652: 4649: 4643: 4640: 4638: 4635: 4633: 4630: 4628: 4625: 4623: 4620: 4618: 4615: 4613: 4610: 4608: 4605: 4603: 4600: 4599: 4597: 4593: 4587: 4584: 4582: 4579: 4577: 4574: 4572: 4569: 4567: 4564: 4562: 4559: 4557: 4554: 4552: 4549: 4547: 4544: 4542: 4539: 4537: 4534: 4532: 4529: 4527: 4524: 4522: 4519: 4517: 4516:Global Arrays 4514: 4512: 4509: 4507: 4504: 4502: 4499: 4497: 4494: 4492: 4489: 4487: 4484: 4482: 4479: 4477: 4474: 4472: 4469: 4467: 4464: 4463: 4461: 4459: 4455: 4449: 4446: 4444: 4443:Grid computer 4441: 4437: 4434: 4433: 4432: 4429: 4426: 4423: 4419: 4416: 4414: 4411: 4409: 4406: 4404: 4401: 4399: 4396: 4394: 4391: 4390: 4389: 4386: 4382: 4379: 4377: 4374: 4373: 4372: 4369: 4367: 4364: 4362: 4359: 4357: 4354: 4352: 4349: 4345: 4342: 4340: 4337: 4333: 4330: 4328: 4325: 4322: 4319: 4318: 4317: 4314: 4312: 4309: 4308: 4307: 4304: 4303: 4301: 4299: 4295: 4289: 4286: 4282: 4279: 4277: 4274: 4272: 4269: 4268: 4267: 4264: 4262: 4259: 4257: 4254: 4253: 4251: 4249: 4245: 4239: 4236: 4234: 4231: 4229: 4226: 4224: 4221: 4219: 4216: 4214: 4211: 4209: 4206: 4205: 4203: 4199: 4193: 4190: 4188: 4185: 4183: 4180: 4178: 4175: 4173: 4170: 4169: 4167: 4163: 4157: 4154: 4152: 4149: 4147: 4144: 4142: 4139: 4137: 4134: 4132: 4129: 4127: 4124: 4122: 4119: 4117: 4114: 4113: 4111: 4107: 4101: 4098: 4095: 4092: 4090: 4087: 4085: 4082: 4079: 4076: 4074: 4071: 4068: 4065: 4063: 4060: 4059: 4057: 4055: 4051: 4045: 4042: 4040: 4037: 4035: 4032: 4030: 4027: 4025: 4022: 4020: 4017: 4015: 4012: 4010: 4007: 4006: 4004: 4000: 3994: 3991: 3989: 3986: 3984: 3981: 3979: 3976: 3974: 3971: 3969: 3966: 3964: 3961: 3959: 3956: 3954: 3951: 3949: 3946: 3945: 3943: 3939: 3935: 3928: 3923: 3921: 3916: 3914: 3909: 3908: 3905: 3893: 3890: 3888: 3885: 3883: 3880: 3878: 3875: 3873: 3870: 3868: 3865: 3863: 3860: 3858: 3855: 3853: 3850: 3849: 3847: 3843: 3836: 3833: 3831: 3828: 3826: 3823: 3821: 3818: 3816: 3813: 3811: 3808: 3806: 3803: 3802: 3800: 3798: 3792: 3782: 3779: 3777: 3774: 3772: 3769: 3767: 3764: 3762: 3759: 3755: 3752: 3750: 3747: 3745: 3742: 3741: 3740: 3737: 3736: 3734: 3732: 3728: 3722: 3719: 3715: 3712: 3710: 3707: 3706: 3705: 3702: 3698: 3695: 3694: 3693: 3690: 3688: 3685: 3683: 3682:Demultiplexer 3680: 3678: 3675: 3674: 3672: 3670: 3666: 3660: 3657: 3655: 3652: 3649: 3647: 3644: 3642: 3639: 3637: 3634: 3632: 3629: 3628: 3626: 3624: 3620: 3614: 3611: 3609: 3606: 3604: 3603:Memory buffer 3601: 3599: 3598:Register file 3596: 3594: 3591: 3589: 3586: 3584: 3581: 3580: 3578: 3576: 3572: 3564: 3561: 3559: 3556: 3555: 3554: 3551: 3549: 3546: 3544: 3541: 3539: 3538:Combinational 3536: 3535: 3533: 3531: 3527: 3521: 3518: 3514: 3511: 3510: 3508: 3505: 3503: 3500: 3498: 3495: 3490: 3487: 3485: 3482: 3481: 3479: 3476: 3473: 3470: 3467: 3464: 3461: 3458: 3457: 3455: 3453: 3447: 3441: 3438: 3436: 3433: 3431: 3428: 3426: 3423: 3419: 3416: 3414: 3411: 3409: 3406: 3404: 3401: 3399: 3396: 3394: 3391: 3390: 3389: 3386: 3384: 3381: 3380: 3378: 3374: 3368: 3365: 3363: 3360: 3358: 3355: 3353: 3350: 3349: 3347: 3343: 3335: 3332: 3331: 3330: 3327: 3325: 3322: 3320: 3317: 3315: 3312: 3310: 3307: 3305: 3302: 3300: 3297: 3295: 3292: 3290: 3287: 3285: 3282: 3280: 3277: 3275: 3272: 3270: 3267: 3265: 3262: 3260: 3257: 3256: 3254: 3252: 3248: 3238: 3235: 3233: 3230: 3228: 3225: 3222: 3219: 3216: 3213: 3210: 3207: 3204: 3201: 3199: 3196: 3193: 3190: 3188: 3185: 3183: 3180: 3179: 3177: 3175: 3169: 3162: 3159: 3157: 3154: 3151: 3148: 3145: 3142: 3141: 3139: 3133: 3127: 3124: 3122: 3119: 3117: 3114: 3112: 3109: 3107: 3104: 3102: 3099: 3097: 3094: 3093: 3091: 3087: 3080: 3077: 3074: 3071: 3068: 3065: 3063: 3060: 3058: 3055: 3053: 3050: 3048: 3045: 3043: 3040: 3038: 3035: 3033: 3030: 3028: 3025: 3023: 3020: 3018: 3015: 3011: 3008: 3007: 3005: 3002: 2999: 2996: 2995: 2993: 2991: 2987: 2981: 2978: 2976: 2973: 2970: 2967: 2964: 2961: 2958: 2955: 2952: 2949: 2946: 2943: 2938: 2935: 2934: 2932: 2929: 2927: 2924: 2923: 2921: 2919: 2913: 2901: 2898: 2897: 2896: 2893: 2891: 2888: 2884: 2881: 2879: 2876: 2874: 2871: 2869: 2866: 2865: 2864: 2861: 2859: 2856: 2855: 2853: 2851: 2847: 2841: 2838: 2836: 2833: 2831: 2828: 2824: 2821: 2819: 2816: 2815: 2814: 2811: 2809: 2806: 2805: 2803: 2801: 2797: 2791: 2788: 2786: 2783: 2779: 2776: 2775: 2774: 2771: 2767: 2764: 2762: 2759: 2758: 2757: 2754: 2750: 2747: 2745: 2742: 2741: 2740: 2737: 2735: 2732: 2728: 2725: 2723: 2720: 2719: 2718: 2715: 2714: 2712: 2708: 2705: 2703: 2699: 2689: 2686: 2684: 2681: 2680: 2678: 2676: 2672: 2666: 2663: 2661: 2658: 2654: 2651: 2649: 2646: 2645: 2644: 2641: 2639: 2638:Scoreboarding 2636: 2635: 2633: 2631: 2627: 2621: 2620:False sharing 2618: 2616: 2613: 2611: 2608: 2606: 2603: 2602: 2600: 2598: 2594: 2588: 2585: 2583: 2580: 2578: 2575: 2574: 2572: 2570: 2566: 2563: 2561: 2557: 2547: 2544: 2542: 2539: 2537: 2534: 2531: 2527: 2524: 2522: 2519: 2517: 2514: 2512: 2509: 2508: 2506: 2504: 2501: 2499: 2496: 2494: 2491: 2489: 2486: 2484: 2481: 2479: 2476: 2474: 2471: 2469: 2466: 2464: 2461: 2459: 2456: 2454: 2451: 2449: 2446: 2442: 2439: 2437: 2434: 2432: 2429: 2428: 2426: 2424: 2421: 2419: 2416: 2414: 2413:Stanford MIPS 2411: 2409: 2406: 2404: 2401: 2399: 2396: 2394: 2391: 2389: 2386: 2385: 2383: 2377: 2369: 2366: 2365: 2364: 2361: 2359: 2356: 2354: 2351: 2349: 2346: 2344: 2341: 2339: 2336: 2334: 2331: 2327: 2324: 2323: 2322: 2319: 2315: 2312: 2311: 2310: 2307: 2305: 2302: 2300: 2297: 2295: 2292: 2290: 2287: 2286: 2284: 2280: 2277: 2275: 2274:architectures 2269: 2263: 2260: 2258: 2255: 2253: 2250: 2248: 2245: 2243: 2242:Heterogeneous 2240: 2236: 2233: 2231: 2228: 2227: 2226: 2223: 2221: 2218: 2214: 2211: 2209: 2206: 2204: 2201: 2199: 2196: 2195: 2194: 2193:Memory access 2191: 2189: 2186: 2184: 2181: 2179: 2176: 2174: 2171: 2167: 2164: 2163: 2162: 2159: 2157: 2154: 2152: 2149: 2148: 2146: 2144: 2140: 2132: 2129: 2127: 2126:Random-access 2124: 2122: 2119: 2117: 2114: 2113: 2112: 2109: 2107: 2106:Stack machine 2104: 2102: 2099: 2095: 2092: 2090: 2087: 2085: 2082: 2080: 2077: 2075: 2072: 2070: 2067: 2065: 2062: 2060: 2057: 2056: 2055: 2052: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2023: 2022:with datapath 2020: 2019: 2018: 2015: 2013: 2010: 2008: 2005: 2004: 2002: 2000: 1996: 1992: 1985: 1980: 1978: 1973: 1971: 1966: 1965: 1962: 1950: 1942: 1940: 1932: 1930: 1922: 1921: 1918: 1912: 1909: 1907: 1904: 1902: 1899: 1897: 1894: 1892: 1889: 1887: 1884: 1882: 1879: 1877: 1874: 1872: 1869: 1867: 1864: 1862: 1859: 1857: 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1837: 1834: 1832: 1829: 1827: 1824: 1822: 1819: 1817: 1814: 1813: 1811: 1807: 1801: 1798: 1796: 1793: 1791: 1788: 1786: 1785:Mixed reality 1783: 1781: 1778: 1776: 1773: 1771: 1768: 1766: 1763: 1762: 1760: 1758: 1754: 1748: 1745: 1743: 1740: 1738: 1735: 1733: 1730: 1728: 1725: 1724: 1722: 1720: 1716: 1710: 1707: 1705: 1702: 1700: 1697: 1695: 1692: 1690: 1687: 1685: 1682: 1680: 1677: 1675: 1672: 1671: 1669: 1667: 1663: 1657: 1654: 1652: 1649: 1647: 1644: 1642: 1639: 1637: 1634: 1633: 1631: 1629: 1625: 1619: 1618:Accessibility 1616: 1614: 1613:Visualization 1611: 1609: 1606: 1604: 1601: 1599: 1596: 1595: 1593: 1591: 1587: 1581: 1578: 1576: 1573: 1571: 1568: 1566: 1563: 1561: 1558: 1556: 1553: 1551: 1548: 1546: 1543: 1541: 1538: 1537: 1535: 1533: 1529: 1523: 1520: 1518: 1515: 1513: 1510: 1508: 1505: 1503: 1500: 1498: 1495: 1493: 1490: 1488: 1485: 1483: 1480: 1478: 1475: 1473: 1470: 1468: 1465: 1463: 1460: 1458: 1455: 1454: 1452: 1450: 1446: 1440: 1437: 1435: 1432: 1430: 1427: 1425: 1422: 1420: 1417: 1415: 1412: 1410: 1407: 1405: 1402: 1401: 1399: 1397: 1392: 1386: 1383: 1381: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1362: 1360: 1358: 1354: 1348: 1345: 1343: 1340: 1338: 1335: 1333: 1330: 1328: 1325: 1323: 1320: 1318: 1315: 1314: 1312: 1310: 1306: 1300: 1297: 1295: 1292: 1290: 1287: 1285: 1282: 1280: 1277: 1275: 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1252: 1251: 1249: 1247: 1243: 1237: 1234: 1232: 1229: 1227: 1224: 1222: 1219: 1217: 1214: 1212: 1209: 1207: 1204: 1202: 1199: 1197: 1194: 1192: 1189: 1188: 1186: 1184: 1180: 1176: 1170: 1167: 1165: 1162: 1160: 1157: 1155: 1152: 1150: 1147: 1146: 1144: 1140: 1134: 1131: 1129: 1126: 1124: 1121: 1119: 1116: 1114: 1111: 1109: 1106: 1105: 1103: 1101: 1097: 1091: 1088: 1086: 1083: 1081: 1080:Dependability 1078: 1076: 1073: 1071: 1068: 1067: 1065: 1061: 1055: 1051: 1048: 1046: 1043: 1041: 1038: 1036: 1033: 1031: 1028: 1026: 1023: 1021: 1018: 1016: 1013: 1011: 1008: 1006: 1003: 1002: 1000: 998: 994: 989: 983: 979: 972: 967: 965: 960: 958: 953: 952: 949: 942: 939: 936: 932: 929: 928: 912: 905: 899: 895: 885: 882: 880: 877: 875: 872: 871: 865: 862: 857: 855: 850: 841: 839: 835: 832: 828: 825: 821: 820:UltraSPARC T2 818: 814: 810: 806: 802: 798: 794: 790: 786: 783: 779: 776: 772: 768: 764: 759: 755: 753: 739: 732: 721: 714: 709: 692: 681: 674: 669: 652: 639: 638: 637: 636:For example: 634: 632: 628: 622: 612: 608: 595: 590: 581: 576: 575: 574: 573:For example: 571: 569: 565: 561: 555: 545: 543: 539: 534: 530: 526: 524: 510: 503: 498: 485: 480: 471: 466: 457: 450: 445: 436: 429: 424: 409: 408: 407: 406:For example: 404: 402: 390: 375: 373: 369: 363: 360: 356: 352: 348: 344: 339: 337: 330:Disadvantages 327: 325: 315: 313: 312: 307: 302: 300: 296: 292: 288: 278: 276: 272: 268: 264: 260: 251: 238: 235: 220: 217: 209: 199: 195: 191: 185: 184: 179:This article 177: 168: 167: 158: 155: 147: 136: 133: 129: 126: 122: 119: 115: 112: 108: 105: â€“  104: 100: 99:Find sources: 93: 89: 83: 82: 77:This article 75: 71: 66: 65: 60: 58: 51: 50: 45: 44: 39: 34: 25: 24: 19: 4201:Coordination 4131:Amdahl's law 4067:Simultaneous 4053: 3892:Chip carrier 3830:Clock gating 3749:Mixed-signal 3646:Write buffer 3623:Control unit 3435:Clock signal 3174:accelerators 3156:Cypress PSoC 2813:Simultaneous 2799: 2630:Out-of-order 2262:Neuromorphic 2143:Architecture 2101:Belt machine 2094:Zeno machine 2027:Hierarchical 1881:Cyberwarfare 1650: 1540:Cryptography 911:the original 898: 858: 851: 847: 760: 756: 749: 742:from thread 737: 730: 724:from thread 719: 712: 703:from thread 695:from thread 690: 684:from thread 679: 672: 663:from thread 655:from thread 650: 635: 624: 609: 605: 593: 579: 572: 557: 535: 531: 527: 520: 513:from thread 508: 501: 492:from thread 483: 469: 460:from thread 455: 448: 439:from thread 434: 427: 418:from thread 405: 401:ready-to-run 397: 364: 340: 333: 324:cache misses 321: 309: 305: 303: 284: 262: 256: 230: 212: 206:October 2010 203: 180: 150: 144:October 2009 141: 131: 124: 117: 110: 98: 86:Please help 81:verification 78: 54: 47: 41: 40:Please help 37: 4637:Scalability 4398:distributed 4281:Concurrency 4248:Programming 4089:Cooperative 4078:Speculative 4014:Instruction 3677:Multiplexer 3641:Data buffer 3352:Single-core 3324:bit slicing 3182:Coprocessor 3037:Coprocessor 2918:performance 2840:Cooperative 2830:Speculative 2790:Distributed 2749:Superscalar 2734:Instruction 2702:Parallelism 2675:Speculative 2507:System/3x0 2379:Instruction 2156:Von Neumann 2069:Post–Turing 1891:Video games 1871:Digital art 1628:Concurrency 1497:Data mining 1409:Probability 1149:Interpreter 874:Async/await 758:processed. 4676:Categories 4642:Starvation 4381:asymmetric 4116:PRAM model 4084:Preemptive 3797:management 3692:Multiplier 3553:Logic gate 3543:Sequential 3450:Functional 3430:Clock rate 3403:Data cache 3376:Components 3357:Multi-core 3345:Core count 2835:Preemptive 2739:Pipelining 2722:Bit-serial 2665:Wide-issue 2610:Structural 2532:Tilera ISA 2498:MicroBlaze 2468:ETRAX CRIS 2363:Comparison 2208:Load–store 2188:Endianness 1949:Glossaries 1821:E-commerce 1414:Statistics 1357:Algorithms 1154:Middleware 1010:Peripheral 890:References 602:is issued. 588:is issued. 568:preemptive 517:is issued. 496:is issued. 443:is issued. 422:is issued. 318:Advantages 190:improve it 114:newspapers 43:improve it 4376:symmetric 4121:PEM model 3731:Circuitry 3651:Microcode 3575:Registers 3418:coherence 3393:CPU cache 3251:Word size 2916:Processor 2560:Execution 2463:DEC Alpha 2441:Power ISA 2257:Cognitive 2064:Universal 1770:Rendering 1765:Animation 1396:computing 1347:Semantics 1045:Processor 834:Bulldozer 403:threads. 194:verifying 49:talk page 4607:Deadlock 4595:Problems 4561:pthreads 4541:OpenHMPP 4466:Ateji PX 4427:computer 4298:Hardware 4165:Elements 4151:Slowdown 4062:Temporal 4044:Pipeline 3669:Datapath 3362:Manycore 3334:variable 3172:Hardware 2808:Temporal 2488:OpenRISC 2183:Cellular 2173:Dataflow 2166:modified 1929:Category 1757:Graphics 1532:Security 1201:Compiler 1100:Networks 997:Hardware 868:See also 564:pipeline 287:paradigm 281:Overview 4566:RaftLib 4546:OpenACC 4521:GPUOpen 4511:C++ AMP 4486:Charm++ 4228:Barrier 4172:Process 4156:Speedup 3941:General 3845:Related 3776:Quantum 3766:Digital 3761:Boolean 3659:Counter 3558:Quantum 3319:512-bit 3314:256-bit 3309:128-bit 3152:(MPSoC) 3137:on chip 3135:Systems 2953:(FLOPS) 2766:Process 2615:Control 2597:Hazards 2483:Itanium 2478:Unicore 2436:PowerPC 2161:Harvard 2121:Pointer 2116:Counter 2074:Quantum 1939:Outline 765:(later 359:AltiVec 188:Please 128:scholar 4659:  4536:OpenCL 4531:OpenMP 4476:Chapel 4393:shared 4388:Memory 4323:(SIMT) 4266:Models 4177:Thread 4109:Theory 4080:(SpMT) 4034:Memory 4019:Thread 4002:Levels 3781:Switch 3771:Analog 3509:(IMC) 3480:(MMU) 3329:others 3304:64-bit 3299:48-bit 3294:32-bit 3289:24-bit 3284:16-bit 3279:15-bit 3274:12-bit 3111:Mobile 3027:Stream 3022:Barrel 3017:Vector 3006:(GPU) 2965:(SUPS) 2933:(IPC) 2785:Memory 2778:Vector 2761:Thread 2744:Scalar 2546:Others 2493:RISC-V 2458:SuperH 2427:Power 2423:MIPS-X 2398:PDP-11 2247:Fabric 1999:Models 829:, and 803:, IBM 801:POWER9 797:POWER8 793:POWER7 789:POWER6 785:POWER5 767:Compaq 710:Cycle 670:Cycle 640:Cycle 591:Cycle 577:Cycle 499:Cycle 481:Cycle 467:Cycle 446:Cycle 425:Cycle 410:Cycle 130:  123:  116:  109:  101:  4506:Dryad 4471:Boost 4192:Array 4182:Fiber 4096:(CMT) 4069:(SMT) 3983:GPGPU 3837:(PPW) 3795:Power 3687:Adder 3563:Array 3530:Logic 3491:(TLB) 3474:(FPU) 3468:(AGU) 3462:(ALU) 3452:units 3388:Cache 3269:8-bit 3264:4-bit 3259:1-bit 3223:(TPU) 3217:(DSP) 3211:(PPU) 3205:(VPU) 3194:(GPU) 3163:(NoC) 3146:(SoC) 3081:(PoP) 3075:(SiP) 3069:(MCM) 3010:GPGPU 3000:(CPU) 2990:Types 2971:(PPW) 2959:(TPS) 2947:(IPS) 2939:(CPI) 2710:Level 2521:S/390 2516:S/370 2511:S/360 2453:SPARC 2431:POWER 2314:TRIPS 2282:Types 1342:Logic 1183:tools 914:(PDF) 907:(PDF) 775:Intel 343:Intel 135:JSTOR 121:books 4571:ROCm 4501:CUDA 4491:Cilk 4458:APIs 4418:COMA 4413:NUMA 4344:MIMD 4339:MISD 4316:SIMD 4311:SISD 4039:Loop 4029:Data 4024:Task 3815:ACPI 3548:Glue 3440:FIFO 3383:Core 3121:ASIP 3062:CPLD 3057:FPOA 3052:FPGA 3047:ASIC 2900:SPMD 2895:MIMD 2890:MISD 2883:SWAR 2863:SIMD 2858:SISD 2773:Data 2756:Task 2727:Word 2473:M32R 2418:MIPS 2381:sets 2348:ZISC 2343:NISC 2338:OISC 2333:MISC 2326:EPIC 2321:VLIW 2309:EDGE 2299:RISC 2294:CISC 2203:HUMA 2198:NUMA 1181:and 1054:Form 1050:Size 836:and 824:Cray 735:and 648:and 308:and 107:news 4586:ZPL 4581:TBB 4576:UPC 4556:PVM 4526:MPI 4481:HPX 4408:UMA 4009:Bit 3810:APM 3805:PMU 3697:CPU 3654:ROM 3425:Bus 3042:PAL 2717:Bit 2503:LMC 2408:ARM 2403:x86 2393:VAX 935:ACM 854:DMA 838:Zen 831:AMD 827:XMT 813:z15 809:z14 805:z13 782:IBM 771:EV8 763:DEC 740:+ 2 733:+ 1 722:+ 3 715:+ 2 693:+ 1 682:+ 2 675:+ 1 653:+ 1 596:+ 2 582:+ 1 511:+ 1 504:+ 5 486:+ 4 472:+ 3 458:+ 2 451:+ 2 437:+ 1 430:+ 1 357:or 355:MMX 257:In 192:by 90:by 4678:: 3744:3D 1052:/ 933:, 822:, 815:, 780:, 769:) 314:. 277:. 261:, 52:. 3926:e 3919:t 3912:v 1983:e 1976:t 1969:v 990:. 970:e 963:t 956:v 811:/ 807:/ 799:/ 795:/ 791:/ 787:/ 744:C 738:m 731:m 726:A 720:j 713:i 705:C 701:m 697:B 691:k 686:A 680:j 673:i 665:B 661:k 657:A 651:j 646:j 642:i 600:C 594:i 586:B 580:i 515:B 509:k 502:i 494:B 490:k 484:i 478:. 476:B 470:i 462:A 456:j 449:i 441:A 435:j 428:i 420:A 416:j 412:i 237:) 231:( 219:) 213:( 208:) 204:( 186:. 157:) 151:( 146:) 142:( 132:· 125:· 118:· 111:· 84:. 59:) 55:( 20:.

Index

Thread (computing)
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Multithreading" computer architecture
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
original research
improve it
verifying
inline citations
Learn how and when to remove this message
Learn how and when to remove this message
A process with two threads of execution, running on a single processor. Thread #1 is executed first, eventually starts Thread #2, and waits for a response. When Thread #2 finishes, it signals Thread #1 to resume execution to completion and then finishes.
computer architecture
central processing unit
multi-core processor
threads of execution
paradigm
instruction-level parallelism
throughput computing
transaction processing

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

↑