일부 전문가들은 네트워크 처리장치(NPU)를 채용하려면 어차피 네트워크 보조 처리장치(NCP)가 필요하기 때문에 별로 매력이 없다고 말하고 있지만 NPU의 중요성은 모든 문제를 해결해준다는 데 있지 않고 모든 솔루션을 위한 기반을 안정되게 마련해 준다는 데 있다. 그동안 NPU 시장이 확대되지 않은 이유는 네트워킹 장비 업체들이 NPU를 채용하는 제품을 디자인하는 데 NPU업체들이 홍보한 것보다 훨씬 긴 기간이 소요됐기 때문이다.
하지만 주문형 반도체(ASIC)의 디자인 기간과 개발비용에 비하면 NPU는 그보다 훨씬 적게 소요된다. 가령 ASIC은 디자인하는 데 대략 18개월의 기간과 마스크를 포함한 개발비용이 수천만달러나 소요된다. 그런데 네트워킹 표준 기술이 자주 새로 개발돼 1세대 ASIC이 완전히 개발되기 전에 새로운 기술이 등장하면 그 ASIC은 제대로 사용하지 못하고 2세대의 ASIC을 다시 개발해야 한다. 또 1세대 ASIC을 채용했던 서비스업체는 새로운 표준기술이 부상함에 따라 그 보드를 2세대 ASIC을 채용한 보드로 교체해야만 한다. 이는 ASIC의 개발 단계에서부터 서비스업체가 채용하는 단계에 이르기까지 엄청난 비용이 낭비되는 결과를 가져온다는 말해준다.
NPU의 경우는 디자인하는 데 12개월 정도 걸리고 비용도 불과 몇백만달러밖에 소요되지 않는다. 만일 디자인 단계에서 새로운 네트워킹 표준이 떠오르면 보드 제조업체는 다른 소프트웨어 개발팀으로 하여금 NPU의 코드에 새로운 표준의 프로토콜을 통합하도록 할 수 있을 것이다. 또 만일 NPU 솔루션이 출시된 몇 달 후에 소프트웨어가 개발될 경우는 1세대 NPU를 사용하고 있는 모든 업체로 보내서 하드웨어를 교체하지 않고도 새로운 코드를 기존 NPU에 로드시킬 수 있을 것이다. 응용프로그램에 따라서는 이런 작업을 원격으로도 할 수 있다.
더구나 ASIC 1세대 제품의 사용도중에 결함이 발견됐을 경우를 상정할 때 이는 2세대 제품과 교체돼야 하는데 그렇게 되면 보드업체가 엄청난 매출 손실을 보게 될 것이다. 하지만 NPU에 같은 문제가 발생했을 경우는 소프트웨어만 수정하면 되므로 시간과 비용을 크게 절감할 수 있다. 또 단기간에 수익을 올리는 데 있어서도 ASIC보다 NPU가 훨씬 더 유리하다. 다만 ASIC업체가 세계 시장을 지배하고 있고 긴 디자인 기간을 버틸 수 있는 사업자금이 충분히 있을 경우는 ASIC이 유리할 수 있으나 실제로 그러한 업체는 존재하지 않는다.
또 인터넷이 확산되고 기술이 빠르게 발전함에 따라 ASIC은 이를 수용하기 어렵게 돼가고 있다. 이런 경우 프로그래밍과 업그레이드가 가능한 NPU를 사용하면 문제를 쉽게 해결할 수 있을 것이다. 가령 네트워크 시스템을 업그레이드할 필요가 있을 경우 ASIC 기반의 네트워크는 기존 ASIC을 새로운 것으로 대체해야 하지만 NPU 기반의 시스템은 소프트웨어만 업그레이드시키면 되기 때문이다. 현재는 IP 주소를 http://www.etnews.co.kr처럼 209.67.241.29 형태의 4개 옥탄트(octant)로 나눈 IPv4 표준을 사용하고 있는데 이 표준으로는 43억개의 웹 주소밖에 사용할 수 없게 돼 있다.
하지만 현재 세계 인구가 약 60억명이고 한 대 이상의 컴퓨터를 사용하는 사람들이 있다고 볼 때 머지 않아 이 표준을 확대해야 한다는 것을 예상할 수 있다. 이를 해결할 수 있는 것이 IPv6로서 이것은255.254.253.252.251.250.249.248.247.246.245.244.243.242.241.240 형태의 16개 옥탄트로 나눌 수 있다. 이 표준은 총 3.4×1038개의 IP주소를 수용할 수 있다는 뜻이 된다. 앞으로 IPv6 표준이 채택되면 유연성 있고 프로그래밍이 가능한 NPU를 채용하는 것이 훨씬 더 경제적일 것이다.
NPU 솔루션에서 가장 중요한 것은 소프트웨어다. NPU의 역사가 5년 정도밖에 되지 않았기 때문에 오랜 경험을 가진 프로그래머들이 별로 많지 않은 상황이지만 프로그래머들이 소프트웨어를 개발하고 있다. 또 DSP 컴파일러를 개발한 프로그래머들이 NPU 컴파일러 개발 기간을 단축하는 데 도움이 될 수 있을 것이다.
특히 아기어(Agere)사가 자체 NPU를 위해 개발한 ‘기능 프로그래밍 언어(FPL:Functional Programming Language)’는 데이터의 분류를 처리하는 데 C언어의 20분의 1 정도 코드를 사용하지만 이것이 표준화되지는 않을 것으로 보인다. 그러나 네트워크 프로세서 포럼(Network Processor Forum)이 인터페이스와 기능 정의 등 표준을 개발하고 있어서 FPL과 같은 언어가 NPU 코드의 표준으로 채택될 수도 있을 것이다. 또 신생 소프트웨어 업체들이 NPU용 프로그램을 개발하고 있다.