ネットワークプロセッサ

ネットワークプロセッサ（）は、ネットワーキングアプリケーションに特化した機能を持つ集積回路(IC)である。
ネットワークプロセッサは、典型的にはソフトウェアプログラマブルデバイスであり、様々な種類の機器や製品で一般的に使用されている汎用中央処理装置(CPU)と同様の一般的な特性を有する。
開発の歴史.
公衆交換電話網(PTSN)やアナログのテレビ・ラジオのネットワークなどの情報をアナログ信号として搬送する古いとは違い、現代の電気通信ネットワークでは情報（音声、映像、データ）はパケットデータとして転送される（パケット交換）。これらのパケットの処理は、パケットデータを扱うのに最適化された集積回路(IC)の登場によって可能となったものである。ネットワークプロセッサは、ネットワーク内でのパケット処理を強化し最適化するための特定の機能やアーキテクチャを備えている。
ネットワークプロセッサは特定の機能を持つICに進化した。この進化により、より複雑で柔軟なICが作成されるようになった。新しい回路はプログラム可能であり、そのため、適切なソフトウェアをインストールすることで、単一のハードウェアIC設計で多数の異なる機能を実現することを可能にする。
ネットワークプロセッサは、次のような様々な種類のネットワーク機器の製造に使用されている。
一般的な機能.
パケットプロセッサとしての一般的な役割として、ネットワークプロセッサには通常、いくつかの最適化された機能がある。
アーキテクチャパラダイム.
高いデータレートに対処するために、いくつかのアーキテクチャパラダイムが一般的に使用されている。
さらに、トラフィック管理は、L2 - L3ネットワーク処理において重要な要素であり、かつては様々なコプロセッサによって実行されていたが、これはネットワークプロセッサアーキテクチャの不可欠な部分となり、そのシリコン領域の大部分は統合トラフィックマネージャに費やされている。最新のネットワークプロセッサには、コア間で小さなメッセージを交換するために最適化された低遅延で高スループットのオンチップ相互接続ネットワークも装備されている。このようなネットワークは、共有メモリの標準的な使用とは別に、効率的なコア間通信のための代替機能として使用できる。
アプリケーション.
ネットワークプロセッサの一般的な機能を使用して、ソフトウェアプログラムはネットワークプロセッサが実行するアプリケーションを実装し、その結果、物理機器がタスクを実行したりサービスを提供したりする。ネットワークプロセッサ上で動作するソフトウェアとして一般的に実装されているアプリケーションには、次のようなものがある。