28:
226:, the result is a wide instruction that operates on one or more fields of the PHV and data to support this instruction. The output PHV is then sent to the next MA stage or to the deparser. The deparser takes in the PHV as well as the original packet and it's metadata (to fill in missing bits that weren't extracted into the PHV) and then outputs the modified packet as chunks. It's typically programmable as with the parser and may reuse some of the configuration files.
218:...) and extracts certain fields from the packet into the Packet Header Vector (PHV). Certain fields in the PHV may be reserved for special uses such as present headers or total packet length. The protocols are typically programmable, and so are the fields to extract. The Match-Action tables are a series of units that read an input PHV, match certain fields in it using a
198:
335:
Using the generic function of the network processor, a software program implements an application that the network processor executes, resulting in the piece of physical equipment performing a task or providing a service. Some of the applications types typically implemented as software running on
326:
network processing and used to be executed by a variety of co-processors, has become an integral part of the network processor architecture, and a substantial part of its silicon area ("real estate") is devoted to the integrated traffic manager. Modern network processors are also equipped with
327:
low-latency high-throughput on-chip interconnection networks optimized for the exchange of small messages among cores (few data words). Such networks can be used as an alternative facility for the efficient inter-core communication aside of the standard use of shared memory.
205:
An RMT pipeline relies on three main stages; the programmable parser, the Match-Action tables and the programmable deparser. The parser reads the packet in chunks and processes these chunks to find out which protocols are used in the packet
181:
Reconfigurable Match-Tables were introduced in 2013 to allow switches to operate at high speeds while maintaining flexibility when it comes to the network protocols running on them, or the processing to does to them.
101:
Network processors have evolved into ICs with specific functions. This evolution has resulted in more complex and more flexible ICs being created. The newer circuits are programmable and thus allow a single
98:(IC) that are optimised to deal with this form of packet data. Network processors have specific features or architectures that are provided to enhance and optimise packet processing within these networks.
361:(QoS) enforcement – identifying different types or classes of packets and providing preferential treatment for some types or classes of packet at the expense of other types or classes of packet.
2724:
1753:
457:
267:
Control processing – the micro operations of processing a packet are controlled at a macro level which involves communication and orchestration with other nodes in a system.
2994:
725:
2668:
1864:
1047:
1566:
564:
Kaufmann, Antoine; Peter, SImon; Sharma, Naveen Kr.; Anderson, Thomas; Krishnamurthy, Arvind (2016-03-25). "High
Performance Packet Processing with FlexNIC".
1723:
1289:
1106:
416:
1069:
1718:
241:
In the generic role as a packet processor, a number of optimised features or functions are typically present in a network processor, which include:
662:
364:
Access
Control functions – determining whether a specific packet or stream of packets should be allowed to traverse the piece of network equipment.
2823:
1790:
27:
1543:
293:
691:
656:
618:
583:
516:
233:
allowing servers to send and receive packets at high speeds while maintaining protocol flexibility and without increasing the CPU overhead.
2487:
1611:
874:
718:
248:
Key lookup – the ability to quickly undertake a database lookup using a key (typically an address in a packet) to find a result, typically
456:
Bosshart, Pat; Gibb, Glen; Kim, Hun-Seok; Varghese, George; McKeown, Nick; Izzard, Martin; Mujica, Fernando; Horowitz, Mark (2013-08-01).
2661:
2497:
1638:
765:
2974:
2828:
1805:
1633:
1606:
985:
83:
956:
2863:
2746:
2620:
2183:
1076:
1042:
1037:
921:
566:
Proceedings of the Twenty-First
International Conference on Architectural Support for Programming Languages and Operating Systems
2595:
2492:
1893:
1800:
1601:
844:
822:
711:
340:
71:
2989:
2654:
1340:
775:
2818:
1795:
1643:
1477:
1091:
1052:
909:
370:
of data streams – built in hardware-based encryption engines allow individual data flows to be encrypted by the processor.
2984:
2232:
2077:
2072:
1994:
1470:
1431:
1086:
1081:
1015:
827:
436:
258:
Data bitfield manipulation – the ability to change certain data fields contained in the packet as it is being processed.
230:
951:
1859:
1556:
1254:
643:. 2014 International Conference on High Performance Computing Simulation (HPCS 2014). Bologna, Italy. pp. 55–64.
154:
2979:
2729:
2509:
2156:
1573:
1064:
1032:
802:
790:
770:
223:
149:
67:
286:
of processors - each stage of the pipeline consisting of a processor performing one of the functions listed above.
2999:
2924:
2756:
2600:
2563:
2553:
941:
396:
183:
144:
2893:
2741:
2719:
2693:
2615:
2022:
1958:
1935:
1785:
1747:
1583:
1533:
1528:
1005:
899:
807:
421:
133:
812:
2878:
2568:
2351:
2245:
2209:
2126:
2110:
1952:
1741:
1700:
1688:
1551:
1465:
1386:
1151:
755:
264:
management – as packets are received, processed and scheduled to be sent onwards, they are stored in queues.
245:
Pattern matching – the ability to find specific patterns of bits or bytes within packets in a packet stream.
55:
2773:
2768:
2374:
2346:
2256:
2221:
1970:
1964:
1946:
1680:
1674:
1578:
1482:
1373:
1312:
1174:
817:
307:
261:
169:
670:
2914:
2858:
2850:
2703:
2685:
2677:
2548:
2457:
2203:
1915:
1733:
1492:
1460:
1418:
1330:
1131:
946:
936:
926:
916:
886:
869:
734:
635:
465:
139:
2883:
2806:
2790:
2578:
2514:
2100:
1822:
1712:
1659:
1191:
904:
760:
742:
406:
391:
2625:
2227:
2931:
2610:
2430:
2281:
2263:
2215:
1869:
1816:
1621:
1616:
1593:
1509:
1391:
1246:
1141:
1000:
114:
44:
2941:
2909:
2698:
2482:
2474:
2326:
2301:
2105:
1980:
1504:
1445:
1325:
1057:
785:
589:
522:
373:
358:
348:
289:
159:
121:
95:
40:
637:
Run-time mechanisms for fine-grained parallelism on network processors: The TILEPro64 experience
2838:
2435:
2402:
2318:
2250:
2151:
2141:
2131:
2062:
2057:
2052:
1904:
1810:
1770:
1403:
1353:
1303:
1279:
1161:
1101:
1096:
978:
894:
687:
652:
614:
579:
512:
431:
401:
386:
187:
103:
2919:
2833:
2761:
2605:
2538:
2379:
2286:
2240:
2047:
2042:
2037:
2032:
2027:
2017:
1887:
1854:
1765:
1760:
1669:
1521:
1516:
1499:
1487:
1426:
990:
968:
854:
832:
750:
644:
569:
504:
165:
75:
2953:
2948:
2519:
2504:
2452:
2356:
2331:
2168:
2161:
2012:
2007:
2002:
1941:
1849:
1839:
1561:
1396:
1348:
1111:
995:
963:
864:
859:
780:
478:
426:
279:
In order to deal with high data-rates, several architectural paradigms are commonly used:
219:
125:
458:"Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN"
78:) which is in contrast to older telecommunications networks that carried information as
2936:
2888:
2751:
2630:
2464:
2447:
2440:
2336:
2193:
1930:
1844:
1775:
1358:
1320:
1269:
1264:
1259:
973:
797:
352:
207:
129:
54:
programmable devices and would have generic characteristics similar to general purpose
17:
568:. ASPLOS '16. New York, NY, USA: Association for Computing Machinery. pp. 67–81.
2968:
2425:
2341:
1381:
1363:
1156:
849:
79:
526:
2635:
2573:
2389:
2366:
2178:
1899:
837:
593:
283:
2420:
2384:
2095:
2067:
1925:
1780:
648:
344:
211:
496:
2736:
2306:
2296:
2291:
2273:
2173:
2146:
1408:
1241:
1211:
931:
508:
367:
106:
IC design to undertake a number of different functions, where the appropriate
2868:
2397:
2394:
2136:
1206:
1184:
574:
495:
Gibb, Glen; Varghese, George; Horowitz, Mark; McKeown, Nick (October 2013).
323:
319:
311:
300:
113:
Network processors are used in the manufacture of many different types of
94:
networks. The processing of these packets has resulted in the creation of
58:
that are commonly used in many different types of equipment and products.
2873:
2811:
2412:
1284:
1231:
703:
411:
107:
51:
2646:
1221:
1179:
249:
541:"P4: Programming Protocol-Independent Packet Processors | acm sigcomm"
2778:
2524:
1236:
1201:
1166:
540:
684:
Network
Systems Design Using Network Processors: Intel 2XXX Version
608:
197:
1694:
1226:
1196:
196:
191:
91:
610:
Network
Processors: Architecture, Programming, and Implementation
347:
discrimination and forwarding, that is, the basic operation of a
318:
Additionally, traffic management, which is a critical element in
2558:
1706:
1626:
1216:
310:
architectures, network processors can be used for higher layer (
215:
2650:
707:
1146:
1136:
190:
was based around these processors and was later purchased by
87:
303:
engines to more efficiently accomplish the tasks at hand.
501:
Architectures for
Networking and Communications Systems
634:
Buono, Daniele; Mencagli, Gabriele (21–25 July 2014).
270:
Quick allocation and re-circulation of packet buffers.
70:, information (voice, video, data) is transferred as
43:
which has a feature set specifically targeted at the
2902:
2849:
2799:
2712:
2684:
2588:
2537:
2473:
2411:
2365:
2317:
2272:
2192:
2119:
2088:
1993:
1914:
1878:
1832:
1732:
1658:
1592:
1542:
1453:
1444:
1417:
1372:
1339:
1311:
1302:
1122:
1025:
1014:
885:
741:
2662:
719:
8:
1724:Computer performance by orders of magnitude
417:List of defunct network processor companies
2669:
2655:
2647:
2189:
1829:
1450:
1308:
1022:
726:
712:
704:
292:with multiple processors, often including
186:is used to program the chips. The company
573:
2995:Application-specific integrated circuits
229:FlexNIC attempts to apply this model to
26:
613:. Systems on Silicon. Morgan Kaufmann.
448:
497:"Design principles for packet parsers"
474:
463:
7:
1695:Floating-point operations per second
490:
488:
668:from the original on 27 March 2019.
25:
2747:Hardware random number generation
84:public switched telephone network
50:Network processors are typically
2621:Semiconductor device fabrication
2596:History of general-purpose CPUs
823:Nondeterministic Turing machine
776:Deterministic finite automaton
1:
1567:Simultaneous and heterogenous
231:Network Interface Controllers
2251:Integrated memory controller
2233:Translation lookaside buffer
1432:Memory dependence prediction
875:Random-access stored program
828:Probabilistic Turing machine
437:Network interface controller
155:Intrusion prevention devices
1707:Synaptic updates per second
649:10.1109/HPCSim.2014.6903669
177:Reconfigurable Match-Tables
150:Intrusion detection devices
68:telecommunications networks
3016:
2111:Heterogeneous architecture
1033:Orthogonal instruction set
803:Alternating Turing machine
791:Quantum cellular automaton
682:Comer, Douglas E. (2005).
145:Session border controllers
2742:Digital signal processing
2601:Microprocessor chronology
2564:Dynamic frequency scaling
1719:Cache performance metrics
509:10.1109/ANCS.2013.6665172
397:Knowledge-based processor
2975:Embedded microprocessors
2694:Universal Turing machine
2616:Hardware security module
1959:Digital signal processor
1936:Graphics processing unit
1748:Graphics processing unit
422:Network Processing Forum
336:network processors are:
201:RMP Pipeline Description
134:Inter-network processors
56:central processing units
2752:Artificial intelligence
2569:Dynamic voltage scaling
2352:Memory address register
2246:Branch target predictor
2210:Address generation unit
1953:Physics processing unit
1742:Central processing unit
1701:Transactions per second
1689:Instructions per second
1612:Array processing (SIMT)
756:Stored-program computer
575:10.1145/2872362.2872367
275:Architectural paradigms
170:secure cryptoprocessors
18:Network Processing Unit
2774:Custom hardware attack
2375:Hardwired control unit
2257:Memory management unit
2222:Memory management unit
1971:Secure cryptoprocessor
1965:Tensor Processing Unit
1947:Vision processing unit
1681:Cycles per instruction
1675:Instructions per cycle
1622:Associative processing
1313:Instruction pipelining
735:Processor technologies
473:Cite journal requires
202:
62:History of development
32:
2990:Hardware acceleration
2704:Distributed computing
2678:Hardware acceleration
2458:Sum-addressed decoder
2204:Arithmetic logic unit
1331:Classic RISC pipeline
1285:Epiphany architecture
1132:Motorola 68000 series
200:
30:
2807:High-level synthesis
2579:Performance per watt
2157:replacement policies
1823:Package on a package
1713:Performance per watt
1617:Pipelined processing
1387:Tomasulo's algorithm
1192:Clipper architecture
1048:Application-specific
761:Finite-state machine
607:Giladi, Ran (2008).
407:Computer engineering
392:Multi-core processor
47:application domain.
2985:Networking hardware
2932:Digital electronics
2884:In-memory computing
2864:Transport triggered
2611:Digital electronics
2264:Instruction decoder
2216:Floating-point unit
1870:Soft microprocessor
1817:System in a package
1392:Reservation station
922:Transport-triggered
306:With the advent of
290:Parallel processing
96:integrated circuits
2942:Hardware emulation
2910:Programmable logic
2699:Parallel computing
2483:Integrated circuit
2327:Processor register
1981:Baseband processor
1326:Operand forwarding
786:Cellular automaton
686:. Addison-Wesley.
503:. pp. 13–24.
359:Quality of service
203:
160:Network monitoring
41:integrated circuit
33:
2980:Network on a chip
2962:
2961:
2839:Network on a chip
2644:
2643:
2533:
2532:
2152:Instruction cache
2142:Scratchpad memory
1989:
1988:
1976:Network processor
1905:Network on a chip
1860:Ultra-low-voltage
1811:Multi-chip module
1654:
1653:
1440:
1439:
1427:Branch prediction
1404:Register renaming
1298:
1297:
1280:VISC architecture
1102:Quantum computing
1097:VISC architecture
979:Secondary storage
895:Microarchitecture
855:Register machines
693:978-0-13-187286-8
658:978-1-4799-5313-4
620:978-0-12-370891-5
585:978-1-4503-4091-5
518:978-1-4799-1641-2
432:Network on a chip
402:Active networking
387:Content processor
237:Generic functions
188:Barefoot Networks
115:network equipment
86:(PSTN) or analog
37:network processor
16:(Redirected from
3007:
3000:System on a chip
2954:Embedded systems
2834:System on a chip
2671:
2664:
2657:
2648:
2606:Processor design
2498:Power management
2380:Instruction unit
2241:Branch predictor
2190:
1888:System on a chip
1830:
1670:Transistor count
1594:Flynn's taxonomy
1451:
1309:
1112:Addressing modes
1023:
969:Memory hierarchy
833:Hypercomputation
751:Abstract machine
728:
721:
714:
705:
698:
697:
679:
673:
669:
667:
642:
631:
625:
624:
604:
598:
597:
577:
561:
555:
554:
552:
551:
537:
531:
530:
492:
483:
482:
476:
471:
469:
461:
453:
166:Network security
126:software routers
76:packet switching
31:Intel FWIXP422BB
21:
3015:
3014:
3010:
3009:
3008:
3006:
3005:
3004:
2965:
2964:
2963:
2958:
2949:Logic synthesis
2898:
2845:
2800:Implementations
2795:
2708:
2680:
2675:
2645:
2640:
2626:Tick–tock model
2584:
2540:
2529:
2469:
2453:Address decoder
2407:
2361:
2357:Program counter
2332:Status register
2313:
2268:
2228:Load–store unit
2195:
2188:
2115:
2084:
1985:
1942:Image processor
1917:
1910:
1880:
1874:
1850:Microcontroller
1840:Embedded system
1828:
1728:
1661:
1650:
1588:
1538:
1436:
1413:
1397:Re-order buffer
1368:
1349:Data dependency
1335:
1294:
1124:
1118:
1017:
1016:Instruction set
1010:
996:Multiprocessing
964:Cache hierarchy
957:Register/memory
881:
781:Queue automaton
737:
732:
702:
701:
694:
681:
680:
676:
665:
659:
640:
633:
632:
628:
621:
606:
605:
601:
586:
563:
562:
558:
549:
547:
545:www.sigcomm.org
539:
538:
534:
519:
494:
493:
486:
472:
462:
455:
454:
450:
445:
427:Queueing theory
383:
333:
277:
239:
179:
82:such as in the
64:
23:
22:
15:
12:
11:
5:
3013:
3011:
3003:
3002:
2997:
2992:
2987:
2982:
2977:
2967:
2966:
2960:
2959:
2957:
2956:
2951:
2946:
2945:
2944:
2937:Virtualization
2934:
2929:
2928:
2927:
2922:
2912:
2906:
2904:
2900:
2899:
2897:
2896:
2891:
2889:Systolic array
2886:
2881:
2876:
2871:
2866:
2861:
2855:
2853:
2847:
2846:
2844:
2843:
2842:
2841:
2831:
2826:
2821:
2816:
2815:
2814:
2803:
2801:
2797:
2796:
2794:
2793:
2788:
2783:
2782:
2781:
2771:
2769:Machine vision
2766:
2765:
2764:
2754:
2749:
2744:
2739:
2734:
2733:
2732:
2727:
2716:
2714:
2710:
2709:
2707:
2706:
2701:
2696:
2690:
2688:
2682:
2681:
2676:
2674:
2673:
2666:
2659:
2651:
2642:
2641:
2639:
2638:
2633:
2631:Pin grid array
2628:
2623:
2618:
2613:
2608:
2603:
2598:
2592:
2590:
2586:
2585:
2583:
2582:
2576:
2571:
2566:
2561:
2556:
2551:
2545:
2543:
2535:
2534:
2531:
2530:
2528:
2527:
2522:
2517:
2512:
2507:
2502:
2501:
2500:
2495:
2490:
2479:
2477:
2471:
2470:
2468:
2467:
2465:Barrel shifter
2462:
2461:
2460:
2455:
2448:Binary decoder
2445:
2444:
2443:
2433:
2428:
2423:
2417:
2415:
2409:
2408:
2406:
2405:
2400:
2392:
2387:
2382:
2377:
2371:
2369:
2363:
2362:
2360:
2359:
2354:
2349:
2344:
2339:
2337:Stack register
2334:
2329:
2323:
2321:
2315:
2314:
2312:
2311:
2310:
2309:
2304:
2294:
2289:
2284:
2278:
2276:
2270:
2269:
2267:
2266:
2261:
2260:
2259:
2248:
2243:
2238:
2237:
2236:
2230:
2219:
2213:
2207:
2200:
2198:
2187:
2186:
2181:
2176:
2171:
2166:
2165:
2164:
2159:
2154:
2149:
2144:
2139:
2129:
2123:
2121:
2117:
2116:
2114:
2113:
2108:
2103:
2098:
2092:
2090:
2086:
2085:
2083:
2082:
2081:
2080:
2070:
2065:
2060:
2055:
2050:
2045:
2040:
2035:
2030:
2025:
2020:
2015:
2010:
2005:
1999:
1997:
1991:
1990:
1987:
1986:
1984:
1983:
1978:
1973:
1968:
1962:
1956:
1950:
1944:
1939:
1933:
1931:AI accelerator
1928:
1922:
1920:
1912:
1911:
1909:
1908:
1902:
1897:
1894:Multiprocessor
1891:
1884:
1882:
1876:
1875:
1873:
1872:
1867:
1862:
1857:
1852:
1847:
1845:Microprocessor
1842:
1836:
1834:
1833:By application
1827:
1826:
1820:
1814:
1808:
1803:
1798:
1793:
1788:
1783:
1778:
1776:Tile processor
1773:
1768:
1763:
1758:
1757:
1756:
1745:
1738:
1736:
1730:
1729:
1727:
1726:
1721:
1716:
1710:
1704:
1698:
1692:
1686:
1685:
1684:
1672:
1666:
1664:
1656:
1655:
1652:
1651:
1649:
1648:
1647:
1646:
1636:
1631:
1630:
1629:
1624:
1619:
1614:
1604:
1598:
1596:
1590:
1589:
1587:
1586:
1581:
1576:
1571:
1570:
1569:
1564:
1562:Hyperthreading
1554:
1548:
1546:
1544:Multithreading
1540:
1539:
1537:
1536:
1531:
1526:
1525:
1524:
1514:
1513:
1512:
1507:
1497:
1496:
1495:
1490:
1480:
1475:
1474:
1473:
1468:
1457:
1455:
1448:
1442:
1441:
1438:
1437:
1435:
1434:
1429:
1423:
1421:
1415:
1414:
1412:
1411:
1406:
1401:
1400:
1399:
1394:
1384:
1378:
1376:
1370:
1369:
1367:
1366:
1361:
1356:
1351:
1345:
1343:
1337:
1336:
1334:
1333:
1328:
1323:
1321:Pipeline stall
1317:
1315:
1306:
1300:
1299:
1296:
1295:
1293:
1292:
1287:
1282:
1277:
1274:
1273:
1272:
1270:z/Architecture
1267:
1262:
1257:
1249:
1244:
1239:
1234:
1229:
1224:
1219:
1214:
1209:
1204:
1199:
1194:
1189:
1188:
1187:
1182:
1177:
1169:
1164:
1159:
1154:
1149:
1144:
1139:
1134:
1128:
1126:
1120:
1119:
1117:
1116:
1115:
1114:
1104:
1099:
1094:
1089:
1084:
1079:
1074:
1073:
1072:
1062:
1061:
1060:
1050:
1045:
1040:
1035:
1029:
1027:
1020:
1012:
1011:
1009:
1008:
1003:
998:
993:
988:
983:
982:
981:
976:
974:Virtual memory
966:
961:
960:
959:
954:
949:
944:
934:
929:
924:
919:
914:
913:
912:
902:
897:
891:
889:
883:
882:
880:
879:
878:
877:
872:
867:
862:
852:
847:
842:
841:
840:
835:
830:
825:
820:
815:
810:
805:
798:Turing machine
795:
794:
793:
788:
783:
778:
773:
768:
758:
753:
747:
745:
739:
738:
733:
731:
730:
723:
716:
708:
700:
699:
692:
674:
657:
626:
619:
599:
584:
556:
532:
517:
484:
475:|journal=
447:
446:
444:
441:
440:
439:
434:
429:
424:
419:
414:
409:
404:
399:
394:
389:
382:
379:
378:
377:
371:
365:
362:
356:
332:
329:
316:
315:
304:
297:
294:multithreading
287:
276:
273:
272:
271:
268:
265:
259:
256:
253:
246:
238:
235:
178:
175:
174:
173:
163:
157:
152:
147:
142:
137:
110:is installed.
80:analog signals
63:
60:
24:
14:
13:
10:
9:
6:
4:
3:
2:
3012:
3001:
2998:
2996:
2993:
2991:
2988:
2986:
2983:
2981:
2978:
2976:
2973:
2972:
2970:
2955:
2952:
2950:
2947:
2943:
2940:
2939:
2938:
2935:
2933:
2930:
2926:
2923:
2921:
2918:
2917:
2916:
2913:
2911:
2908:
2907:
2905:
2901:
2895:
2892:
2890:
2887:
2885:
2882:
2880:
2879:Heterogeneous
2877:
2875:
2872:
2870:
2867:
2865:
2862:
2860:
2857:
2856:
2854:
2852:
2851:Architectures
2848:
2840:
2837:
2836:
2835:
2832:
2830:
2827:
2825:
2822:
2820:
2817:
2813:
2810:
2809:
2808:
2805:
2804:
2802:
2798:
2792:
2789:
2787:
2784:
2780:
2777:
2776:
2775:
2772:
2770:
2767:
2763:
2760:
2759:
2758:
2755:
2753:
2750:
2748:
2745:
2743:
2740:
2738:
2735:
2731:
2728:
2726:
2723:
2722:
2721:
2718:
2717:
2715:
2711:
2705:
2702:
2700:
2697:
2695:
2692:
2691:
2689:
2687:
2683:
2679:
2672:
2667:
2665:
2660:
2658:
2653:
2652:
2649:
2637:
2634:
2632:
2629:
2627:
2624:
2622:
2619:
2617:
2614:
2612:
2609:
2607:
2604:
2602:
2599:
2597:
2594:
2593:
2591:
2587:
2580:
2577:
2575:
2572:
2570:
2567:
2565:
2562:
2560:
2557:
2555:
2552:
2550:
2547:
2546:
2544:
2542:
2536:
2526:
2523:
2521:
2518:
2516:
2513:
2511:
2508:
2506:
2503:
2499:
2496:
2494:
2491:
2489:
2486:
2485:
2484:
2481:
2480:
2478:
2476:
2472:
2466:
2463:
2459:
2456:
2454:
2451:
2450:
2449:
2446:
2442:
2439:
2438:
2437:
2434:
2432:
2429:
2427:
2426:Demultiplexer
2424:
2422:
2419:
2418:
2416:
2414:
2410:
2404:
2401:
2399:
2396:
2393:
2391:
2388:
2386:
2383:
2381:
2378:
2376:
2373:
2372:
2370:
2368:
2364:
2358:
2355:
2353:
2350:
2348:
2347:Memory buffer
2345:
2343:
2342:Register file
2340:
2338:
2335:
2333:
2330:
2328:
2325:
2324:
2322:
2320:
2316:
2308:
2305:
2303:
2300:
2299:
2298:
2295:
2293:
2290:
2288:
2285:
2283:
2282:Combinational
2280:
2279:
2277:
2275:
2271:
2265:
2262:
2258:
2255:
2254:
2252:
2249:
2247:
2244:
2242:
2239:
2234:
2231:
2229:
2226:
2225:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2201:
2199:
2197:
2191:
2185:
2182:
2180:
2177:
2175:
2172:
2170:
2167:
2163:
2160:
2158:
2155:
2153:
2150:
2148:
2145:
2143:
2140:
2138:
2135:
2134:
2133:
2130:
2128:
2125:
2124:
2122:
2118:
2112:
2109:
2107:
2104:
2102:
2099:
2097:
2094:
2093:
2091:
2087:
2079:
2076:
2075:
2074:
2071:
2069:
2066:
2064:
2061:
2059:
2056:
2054:
2051:
2049:
2046:
2044:
2041:
2039:
2036:
2034:
2031:
2029:
2026:
2024:
2021:
2019:
2016:
2014:
2011:
2009:
2006:
2004:
2001:
2000:
1998:
1996:
1992:
1982:
1979:
1977:
1974:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1943:
1940:
1937:
1934:
1932:
1929:
1927:
1924:
1923:
1921:
1919:
1913:
1906:
1903:
1901:
1898:
1895:
1892:
1889:
1886:
1885:
1883:
1877:
1871:
1868:
1866:
1863:
1861:
1858:
1856:
1853:
1851:
1848:
1846:
1843:
1841:
1838:
1837:
1835:
1831:
1824:
1821:
1818:
1815:
1812:
1809:
1807:
1804:
1802:
1799:
1797:
1794:
1792:
1789:
1787:
1784:
1782:
1779:
1777:
1774:
1772:
1769:
1767:
1764:
1762:
1759:
1755:
1752:
1751:
1749:
1746:
1743:
1740:
1739:
1737:
1735:
1731:
1725:
1722:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1682:
1679:
1678:
1676:
1673:
1671:
1668:
1667:
1665:
1663:
1657:
1645:
1642:
1641:
1640:
1637:
1635:
1632:
1628:
1625:
1623:
1620:
1618:
1615:
1613:
1610:
1609:
1608:
1605:
1603:
1600:
1599:
1597:
1595:
1591:
1585:
1582:
1580:
1577:
1575:
1572:
1568:
1565:
1563:
1560:
1559:
1558:
1555:
1553:
1550:
1549:
1547:
1545:
1541:
1535:
1532:
1530:
1527:
1523:
1520:
1519:
1518:
1515:
1511:
1508:
1506:
1503:
1502:
1501:
1498:
1494:
1491:
1489:
1486:
1485:
1484:
1481:
1479:
1476:
1472:
1469:
1467:
1464:
1463:
1462:
1459:
1458:
1456:
1452:
1449:
1447:
1443:
1433:
1430:
1428:
1425:
1424:
1422:
1420:
1416:
1410:
1407:
1405:
1402:
1398:
1395:
1393:
1390:
1389:
1388:
1385:
1383:
1382:Scoreboarding
1380:
1379:
1377:
1375:
1371:
1365:
1364:False sharing
1362:
1360:
1357:
1355:
1352:
1350:
1347:
1346:
1344:
1342:
1338:
1332:
1329:
1327:
1324:
1322:
1319:
1318:
1316:
1314:
1310:
1307:
1305:
1301:
1291:
1288:
1286:
1283:
1281:
1278:
1275:
1271:
1268:
1266:
1263:
1261:
1258:
1256:
1253:
1252:
1250:
1248:
1245:
1243:
1240:
1238:
1235:
1233:
1230:
1228:
1225:
1223:
1220:
1218:
1215:
1213:
1210:
1208:
1205:
1203:
1200:
1198:
1195:
1193:
1190:
1186:
1183:
1181:
1178:
1176:
1173:
1172:
1170:
1168:
1165:
1163:
1160:
1158:
1157:Stanford MIPS
1155:
1153:
1150:
1148:
1145:
1143:
1140:
1138:
1135:
1133:
1130:
1129:
1127:
1121:
1113:
1110:
1109:
1108:
1105:
1103:
1100:
1098:
1095:
1093:
1090:
1088:
1085:
1083:
1080:
1078:
1075:
1071:
1068:
1067:
1066:
1063:
1059:
1056:
1055:
1054:
1051:
1049:
1046:
1044:
1041:
1039:
1036:
1034:
1031:
1030:
1028:
1024:
1021:
1019:
1018:architectures
1013:
1007:
1004:
1002:
999:
997:
994:
992:
989:
987:
986:Heterogeneous
984:
980:
977:
975:
972:
971:
970:
967:
965:
962:
958:
955:
953:
950:
948:
945:
943:
940:
939:
938:
937:Memory access
935:
933:
930:
928:
925:
923:
920:
918:
915:
911:
908:
907:
906:
903:
901:
898:
896:
893:
892:
890:
888:
884:
876:
873:
871:
870:Random-access
868:
866:
863:
861:
858:
857:
856:
853:
851:
850:Stack machine
848:
846:
843:
839:
836:
834:
831:
829:
826:
824:
821:
819:
816:
814:
811:
809:
806:
804:
801:
800:
799:
796:
792:
789:
787:
784:
782:
779:
777:
774:
772:
769:
767:
766:with datapath
764:
763:
762:
759:
757:
754:
752:
749:
748:
746:
744:
740:
736:
729:
724:
722:
717:
715:
710:
709:
706:
695:
689:
685:
678:
675:
672:
664:
660:
654:
650:
646:
639:
638:
630:
627:
622:
616:
612:
611:
603:
600:
595:
591:
587:
581:
576:
571:
567:
560:
557:
546:
542:
536:
533:
528:
524:
520:
514:
510:
506:
502:
498:
491:
489:
485:
480:
467:
459:
452:
449:
442:
438:
435:
433:
430:
428:
425:
423:
420:
418:
415:
413:
410:
408:
405:
403:
400:
398:
395:
393:
390:
388:
385:
384:
380:
375:
372:
369:
366:
363:
360:
357:
354:
350:
346:
342:
339:
338:
337:
330:
328:
325:
321:
314:) processing.
313:
309:
305:
302:
298:
295:
291:
288:
285:
282:
281:
280:
274:
269:
266:
263:
260:
257:
254:
251:
247:
244:
243:
242:
236:
234:
232:
227:
225:
221:
217:
213:
209:
199:
195:
193:
189:
185:
176:
171:
167:
164:
161:
158:
156:
153:
151:
148:
146:
143:
141:
138:
135:
131:
127:
123:
120:
119:
118:
116:
111:
109:
105:
99:
97:
93:
89:
85:
81:
77:
74:data (termed
73:
69:
61:
59:
57:
53:
48:
46:
42:
38:
29:
19:
2894:Neuromorphic
2785:
2757:Cryptography
2713:Applications
2636:Chip carrier
2574:Clock gating
2493:Mixed-signal
2390:Write buffer
2367:Control unit
2179:Clock signal
1975:
1918:accelerators
1900:Cypress PSoC
1557:Simultaneous
1374:Out-of-order
1006:Neuromorphic
887:Architecture
845:Belt machine
838:Zeno machine
771:Hierarchical
683:
677:
636:
629:
609:
602:
565:
559:
548:. Retrieved
544:
535:
500:
466:cite journal
451:
334:
331:Applications
317:
299:Specialized
278:
252:information.
240:
228:
204:
180:
112:
100:
65:
49:
36:
34:
2421:Multiplexer
2385:Data buffer
2096:Single-core
2068:bit slicing
1926:Coprocessor
1781:Coprocessor
1662:performance
1584:Cooperative
1574:Speculative
1534:Distributed
1493:Superscalar
1478:Instruction
1446:Parallelism
1419:Speculative
1251:System/3x0
1123:Instruction
900:Von Neumann
813:Post–Turing
374:TCP offload
255:Computation
2969:Categories
2925:chronology
2786:Networking
2541:management
2436:Multiplier
2297:Logic gate
2287:Sequential
2194:Functional
2174:Clock rate
2147:Data cache
2120:Components
2101:Multi-core
2089:Core count
1579:Preemptive
1483:Pipelining
1466:Bit-serial
1409:Wide-issue
1354:Structural
1276:Tilera ISA
1242:MicroBlaze
1212:ETRAX CRIS
1107:Comparison
952:Load–store
932:Endianness
550:2022-03-26
443:References
376:processing
368:Encryption
301:microcoded
224:CAM memory
66:In modern
45:networking
2915:Processor
2869:Multicore
2475:Circuitry
2395:Microcode
2319:Registers
2162:coherence
2137:CPU cache
1995:Word size
1660:Processor
1304:Execution
1207:DEC Alpha
1185:Power ISA
1001:Cognitive
808:Universal
308:multicore
194:in 2019.
140:Firewalls
117:such as:
2874:Manycore
2859:Dataflow
2812:C to HDL
2413:Datapath
2106:Manycore
2078:variable
1916:Hardware
1552:Temporal
1232:OpenRISC
927:Cellular
917:Dataflow
910:modified
663:Archived
527:12282067
412:Internet
381:See also
284:Pipeline
220:crossbar
208:Ethernet
130:switches
108:software
104:hardware
52:software
2903:Related
2730:DirectX
2589:Related
2520:Quantum
2510:Digital
2505:Boolean
2403:Counter
2302:Quantum
2063:512-bit
2058:256-bit
2053:128-bit
1896:(MPSoC)
1881:on chip
1879:Systems
1697:(FLOPS)
1510:Process
1359:Control
1341:Hazards
1227:Itanium
1222:Unicore
1180:PowerPC
905:Harvard
865:Pointer
860:Counter
818:Quantum
671:Alt URL
594:9625891
250:routing
162:systems
122:Routers
2920:design
2779:scrypt
2686:Theory
2525:Switch
2515:Analog
2253:(IMC)
2224:(MMU)
2073:others
2048:64-bit
2043:48-bit
2038:32-bit
2033:24-bit
2028:16-bit
2023:15-bit
2018:12-bit
1855:Mobile
1771:Stream
1766:Barrel
1761:Vector
1750:(GPU)
1709:(SUPS)
1677:(IPC)
1529:Memory
1522:Vector
1505:Thread
1488:Scalar
1290:Others
1237:RISC-V
1202:SuperH
1171:Power
1167:MIPS-X
1142:PDP-11
991:Fabric
743:Models
690:
655:
617:
592:
582:
525:
515:
353:switch
349:router
341:Packet
72:packet
39:is an
2737:Audio
2725:GPGPU
2581:(PPW)
2539:Power
2431:Adder
2307:Array
2274:Logic
2235:(TLB)
2218:(FPU)
2212:(AGU)
2206:(ALU)
2196:units
2132:Cache
2013:8-bit
2008:4-bit
2003:1-bit
1967:(TPU)
1961:(DSP)
1955:(PPU)
1949:(VPU)
1938:(GPU)
1907:(NoC)
1890:(SoC)
1825:(PoP)
1819:(SiP)
1813:(MCM)
1754:GPGPU
1744:(CPU)
1734:Types
1715:(PPW)
1703:(TPS)
1691:(IPS)
1683:(CPI)
1454:Level
1265:S/390
1260:S/370
1255:S/360
1197:SPARC
1175:POWER
1058:TRIPS
1026:Types
666:(PDF)
641:(PDF)
590:S2CID
523:S2CID
345:frame
312:L4-L7
262:Queue
192:Intel
92:Radio
2829:CPLD
2824:ASIC
2819:FPGA
2791:Data
2559:ACPI
2292:Glue
2184:FIFO
2127:Core
1865:ASIP
1806:CPLD
1801:FPOA
1796:FPGA
1791:ASIC
1644:SPMD
1639:MIMD
1634:MISD
1627:SWAR
1607:SIMD
1602:SISD
1517:Data
1500:Task
1471:Word
1217:M32R
1162:MIPS
1125:sets
1092:ZISC
1087:NISC
1082:OISC
1077:MISC
1070:EPIC
1065:VLIW
1053:EDGE
1043:RISC
1038:CISC
947:HUMA
942:NUMA
688:ISBN
653:ISBN
615:ISBN
580:ISBN
513:ISBN
479:help
222:and
216:IPv4
212:VLAN
128:and
2762:TLS
2720:GPU
2554:APM
2549:PMU
2441:CPU
2398:ROM
2169:Bus
1786:PAL
1461:Bit
1247:LMC
1152:ARM
1147:x86
1137:VAX
645:doi
570:doi
505:doi
351:or
343:or
2971::
2488:3D
661:.
651:.
588:.
578:.
543:.
521:.
511:.
499:.
487:^
470::
468:}}
464:{{
324:L3
320:L2
214:,
210:,
184:P4
124:,
88:TV
35:A
2670:e
2663:t
2656:v
727:e
720:t
713:v
696:.
647::
623:.
596:.
572::
553:.
529:.
507::
481:)
477:(
460:.
355:.
322:-
296:.
206:(
172:)
168:(
136:)
132:(
90:/
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.