This week Broadcom announced their latest SoC a “3G phone on a chip”. It reminded me that I’ve been very hard on Network Processor’s (NPU‘s) for a long time, and that I’ve been rather silent about my support of SoC’s like BRCM’s. What gives?
Many point out to me that SoC’s and NPU’s are technically the same. NPU’s and SoC’s are both highly integrated “programmable” semiconductor devices. The subtle difference is that an SoC vendor is deploying programmable elements to solve specific problems in a narrower application space. The vendor of an SoC is providing a finished ( or close-to-finished ) solution. The SoC vendor could have easily “hard-coded” the device, but the best way to provide the solution was to deploy programmable elements.
In summary, the subtle difference is that an “SoC Solution/Ecosystem” is provided by a “system focussed vendor leveraging technology” and the “NPU device” is provided by a “technology focussed vendor”. The SoC vendor knows the system problems that they want to solve and thus can prove that the solution delivers. The NPU vendor does not fully know the system problems that their device will be required to solve and thus have to work very closely with their customers to prove that it works.