| |
|
|
|
Allayer Technologies |
C-Port, now Motorola |
EZChip |
IBM |
Intel (Level One) |
Maker, now Conexant |
MMC Networks, now Applied Micro Circuits |
SiTera,
now Vitesse |
Lexra |
Agere, now Lucent |
| |
|
|
|
ALxxx |
C-5 DCP |
NP-1 |
PowerNP |
IXP1200 |
Traffic Stream Processor |
nP |
PRISM IQ2000 |
NetVortex |
FPP/RSP/ASI |
| Application |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Capacity |
(e.g. xxGbits/s) |
|
|
5 Gb/s |
10 Gb/s |
8 Gb/s |
2.6 Gb/s |
OC-3 to OC-48 |
5 Gb/s |
6.4 Gb/s |
>10 Gb/s |
5 Gb/s |
| |
OSI layers |
(e.g. 2-4) |
|
2-4 |
|
2-7 |
2-5 |
2-7 |
Layer 2 – internetworking
(AAL SAR, MPLS), buffer management, congestion control, bandwidth management,
CRC & FCR error checking, traffic shaping |
2-7 |
|
|
2-4 |
| |
Physical
support |
(e.g. ATM, frame relay,...) |
|
|
|
Gigabit Ethernet, SONET |
SONET, ATM, Gigabit Ethernet |
|
|
SONET, Gigabit Etherner |
ATM, SONET, Gigabit Ethernet |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Micro-architecture |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Central
control |
(e.g. RISC for IXP, VLIW) |
|
|
1 executive
processor to coordinate with external processors |
|
On-chip
Power PC core; can also connect external control processor |
on-chip
200MHz StrongARM coordinates system activities |
32-bit RISC processor
optimized for traffic stream processing – specialized instructions; efficient
dispatch of parallel hardware operations; context-switching overhead
minimized by background process |
Network-optimized
instruction set, zero-overhead task switching |
none |
|
No |
| |
Multi-PE |
(e.g. IXP mEngine) |
|
ring-of-switches (ROX)
buss architecture supports up to 4 network processors, plus additional
processors that offer switch management |
16 channel
processors |
64 Task
Oriented Processors (TOPs) |
16
programmable protocol processors |
6
programmable microengines with hardware (zero-overhead swapping) context
support for four threads – total of 24 threads |
No |
No |
4 CPUs that
do route processing and system management; Optimized instruction set for
network operations |
modified
RISC with special instructions and threading support |
3 - Fast
Pattern Processor (FPP), Routing Switch Processor (RSP), and Agere System
Interface (ASI) |
| |
Task-based |
(e.g. hash engine for IXP) |
|
|
· fabric
processor: for using multiple C-5’s in a fabric
· table lookup unit: table lookup and update info
· queue management
· buffer management: fast, flexible memory management |
Each TOP has
a customized instruction set and data path
· Parse: identifies and extracts various packet headers and protocols
· Search: performs lookups at different levels (layer 2-7)
· Resolve: assign packet to appropriate queue and/or
port
· Modify: modifies packet contents
TOP’s in a super-pipelining and superscalar architecture |
each
programmable protocol processor pair shares a hardware coprocessor to
accelerate tree searching and frame manipulation |
in addition
to microengines, specialized functional units for hashing and queue
management |
|
|
network
co-processors that do packet processing for classification, lookups, and
QoS/Cos priority checking |
|
- FPP
performs pattern matching on a frame
- RSP performs actions based on FPP results
- ASI takes care of "slow path" processing |
| |
Reconfigurable |
(e.g. none for IXP) |
|
|
No |
No |
No |
No |
|
No |
No |
No |
No |
| |
Inter-PE communication structure |
(e.g. 2 buses for IXP) |
|
|
each channel
processor can be used individually, organized in a bank to handle a parallel
data stream, or organized serially.
60Gbps bus that connects all channel processors, and co-processors |
|
|
Microengines
communicate via Fast Bus Interface (FBI) |
|
Designed to
work with other nP’s, MMC switch chips, nP co-processors |
|
64-bit
Vortex bus that runs at chip speed (427 MHz) |
Functional
Bus Interface to connect FPP/ASI |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Archictecture |
|
|
|
|
|
|
|
|
|
|
|
|
| |
# of PC's |
|
|
|
16 |
|
16 |
6 |
|
1 |
4 |
2 |
3 |
| |
# of threads per PC |
|
|
|
4 |
|
2 |
4 |
|
|
5 |
configurable
from 1-4 (soon 1-8) |
64 for the
FPP |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Software
Support |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compilers |
|
|
|
C/C++ |
|
Assembler only |
Assembler only |
|
yes |
yes |
yes |
Interpretation
from Lucent's Functional Programming Language for the FPP |
| |
Operating systems |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Libraries |
|
|
|
C-Ware
Communications Programming Interfaces (CPI) – open set of standard interfaces
that abstract “common network task building blocks” such as physical
interface management, data forwarding, table lookups, buffer management,
queueing operations, etc. The CPI is
used to access the co-processors.
There is also a C-Ware reference library for use in common
applications. |
|
none |
none |
PortMaker software
provides a modular software architecture on top of the TSP |
network
software reference library |
Network
software library for common functions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Physical implementation |
|
|
|
|
|
|
|
|
|
Process technology |
|
|
|
|
|
|
|
|
|
|
|
|
|
Die size |
|
|
|
|
|
|
|
|
|
|
|
|
|
Core |
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
Speed |
|
|
|
|
|
|
|
|
|
|
|
|
|
Power |
|
|
|
|
|
|
|
|
|
7 W |
|
|
| Please
send feedback to Niraj Shah |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|