Hello,
We need to choose hardware platform for our network processing appliance (common 1-2U server, not an embedded device). Currently we're going to use only base hardware, without specific hardware like NPU or FPGA. I have experience with Bivio 7000 platform - high performance platform for network processing, which is very close to what we're looking for. Bivio in its solutions uses Freescale MPC7448 processors for application processing units (on which a user can run his or her custom applications like IDS, HTTP proxy etc).
I had a look at MPC7448 specification: 2 32bit cores, 1.6Ghz, 32KB L1i and L1d, 1MB L2, 32 general purpose registers and emphasize on superscalar abilities (4 (3 + branch) instructions per clock). The CPU costs about $250. From other side, for example, Intel Xeon E5606 costs about the same, but has 4 64bit cores, 2.13Ghz, 32KB L1i and L1d, 256KB L2 per core, 8MB L3, 16 general purpose registers.
So why it has sense to use PowerPC processor instead of x86-46 for high performance network processing? From my point of view double number of cores and larger caches must beat double number of registers and maybe better instruction level parallelism (however x86-64 is also superscalar processor).
The typical workload for our application is memory intensive operations which requires gigabytes of RAM with large work sets (i.e. we have relatively low cache hit).
Many thanks in advance.