网络处理器
網路處理器(英語:Network Processing Unit,NPU),是一種專門應用於網路應用封包的處理器。
網路處理器也是積體電路的一種,但區別於特殊用途積體電路(ASIC)的單一功能,網路處理更加複雜、更加靈活,一般可以利用軟體或靭件依照網路運算的特性特別編程從而實現網路的特殊用途,在一塊晶片上實現許多不同功能,以應用於多種不同的網路設備及產品。
特性
在現代通訊網路中,語音、視頻和資料等資訊不再以類比信號的方式傳送,而是以封包(packet data)的方式。網路處理器為了能優化處理封包,特別具備了一些特性和架構,以加速處理網路封包的效率。
輕度的運算負荷
網路型運算考量應用程式的不同要求,有許多重度的運算負荷,是完全在本機端運算完之後,才上傳到網路。此外,網路型應用程式的興起,也大輻改變了運算的型態,因為網路型應用程式中常見的收信、發信、寫文章、刪文章,對伺服器而言都只是簡單的工作;相對於傳統本機上的應用程式,每個執行緒的工作大多需要很複雜的計算才能完成。
多執行緒
網路型運算相對於本機型運算的單人使用、操作,必須同時執行多個操控動作(如網路社群線上服務必須在同一時間內同時應付數百、數千人同時收信、發信,就開啟了多個執行緒),相對於本機型運算只有一個人使用、操作,網路型運算同時間得應付的執行緒較多。
執行緒關連性低
網路型應用程式上的數百、數千人的存取服務要求,彼此之間並沒有強烈的關聯性。例如網路電子郵件系統上的A收信者和B發信者,彼此之間並沒有任何關係。
重視資料的通量
因為網路型運算的資料重複性低(A收信者和B發信者的資料重複性低),因此無法像CPU靠增加快取記憶體容量以加快處理效率,而必須加強處理資料的進出量。
減少處理程序
網路型運算完成的資料需要直接透過網路傳出去,因此網路處理器會一併整合網路控制器,讓CPU能直接存取網路控制器內的資料,以減少處理資料的程序,加速資料處理量。
傳統本機型運算視「網路」為附屬功能,資料必須先通過網路控制、記憶體、晶片組,CPU才能獲得;CPU處理完的資料,還必須透過相反的路徑才能送達網路控制器,增加處理資料程序的結果,是處理大量網路資料的效能不佳。
一般功能
網路處理器廣泛應用於:
- 路由器,軟體路由器和網路交換器(Router and Switches)
- 防火墙 (计算机) (Firewalls)
- 入侵检测系统 (Intrusion detection devices)
- 入侵预防系统 (Intrusion prevention devices)
- 網路監聽系統 (Network monitoring systems)
著名產品
- Cavium Networks
- OCTEON CN5860晶片[2]
- 16個核(MIPS64核心)
- 時脈約600MHz~1GHz
- 用電15~40W。
- OCTEON CN5860晶片[2]
- Raza Microelectronics Inc
- XLR 732[3]
- 8核32緒(MIPS64核心)
- 時脈800MHz~1.2GHz
- 用電50W以下
- XLR 732[3]
- Sun
- UltraSPARC T1
- 8核32緒(SPARC v9核心)
- 時脈1GHz~1.2GHz
- 用電約82W
- UltraSPARC T1
- Tilera
- TILE64[4]
- 64核
- 時脈600MHz~900MHz
- 用電170mW~300mW(每核)
- TILE64[4]
研發和生產廠商
参考文献
- ^ Broadcom,《BCM1480 - Quad-Core 64-bit MIPS® Processor with DDR2, GbE, SPI-4/HT 互联网档案馆的存檔,存档日期2010-05-20.》
- ^ Cavium,《OCTEON Plus CN58XX - Product Family (页面存档备份,存于互联网档案馆)》
- ^ RMI,《XLR 732 Processor 互联网档案馆的存檔,存档日期2010-02-15.》
- ^ Tilera,《TILE64 PROCESSOR FAMILY (页面存档备份,存于互联网档案馆)》