MULTI-THREADED PACKET PROCESSING ARCHITECTURE
A network processor has numerous novel features including a multi-threaded processor array, a multi-pass processing model, and Global Packet Memory (GPM) with hardware managed packet storage. These unique features allow the network processor to perform high-touch packet processing at high data rates...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A network processor has numerous novel features including a multi-threaded processor array, a multi-pass processing model, and Global Packet Memory (GPM) with hardware managed packet storage. These unique features allow the network processor to perform high-touch packet processing at high data rates. The packet processor can also be coded using a stack-based high-level programming language, such as C or C++. This allows quicker and higher quality porting of software features into the network processor. Processor performance also does not severely drop off when additional processing features are added. For example, packets can be more intelligently processed by assigning processing elements to different bounded duration arrival processing tasks and variable duration main processing tasks. A recirculation path moves packets between the different arrival and main processing tasks. Other novel hardware features include a hardware architecture that efficiently intermixes co-processor operations with multi-threaded processing operations and improved cache affinity.
L'invention concerne un processeur réseau présentant de nombreux éléments nouveaux tels qu'un réseau de processeur multifilière, un modèle de traitement multipasse et une mémoire à paquets globale (GPM) à stockage par paquets matériel géré. Ces éléments permettent au processeur réseau de réaliser un traitement par paquets à des débits élevés. Le processeur de paquets peut également être codé au moyen d'un langage de programmation de haut niveau à base de piles, tel que C ou C++. Ceci permet un portage plus rapide et de meilleure qualité d'éléments réseau dans le processeur réseau. Les performances du réseau ne sont que très peu affectées par l'addition d'éléments de traitement supplémentaires. Par exemple, des paquets peuvent être traités de façon plus intelligente par affectation d'éléments de traitement à diverses tâches de traitement d'arrivée à durée fixe et tâches de traitement principales à durée variable. Une voie de recirculation déplace des paquets entre des tâches de traitement d'arrivée et principales. D'autres éléments nouveaux comportent une architecture matérielle mélangeant efficacement des opérations de coprocesseur et des opérations de traitement multifilière, et une meilleure affinité de cache. |
---|