Knowledge

Network processor

Source đź“ť

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:)

Index

Network Processing Unit

integrated circuit
networking
software
central processing units
telecommunications networks
packet
packet switching
analog signals
public switched telephone network
TV
Radio
integrated circuits
hardware
software
network equipment
Routers
software routers
switches
Inter-network processors
Firewalls
Session border controllers
Intrusion detection devices
Intrusion prevention devices
Network monitoring
Network security
secure cryptoprocessors
P4
Barefoot Networks

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

↑