音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

10G網(wǎng)絡(luò)處理器驅(qū)動軟件的設(shè)計與實現(xiàn)

出處:蕭琪 發(fā)布于:2007-04-28 11:55:53

摘要:在對10G城域網(wǎng)技術(shù)研究的基礎(chǔ)上,提出了10G網(wǎng)絡(luò)處理器的驅(qū)動程序設(shè)計中的一些思路并對此展開一定的分析和研究。

關(guān)鍵詞:10G以太網(wǎng) 網(wǎng)絡(luò)處理器 驅(qū)動 應(yīng)用程序接口 中斷服務(wù)程序

網(wǎng)絡(luò)技術(shù)的高速發(fā)展使下一代網(wǎng)絡(luò)技術(shù)不斷迎接新的挑戰(zhàn)。網(wǎng)絡(luò)處理從傳統(tǒng)的基于GPP(General Purpose Processor)的設(shè)計到基于ASIC(Application Specific Integrated Circuit)的設(shè)計再到基于網(wǎng)絡(luò)處理器NP(Network Processor)的設(shè)計,不斷向著高性能和高靈活性的方向發(fā)展。隨著城域網(wǎng)技術(shù)的發(fā)展,近年來許多廠家推出了10G的以太網(wǎng)設(shè)置。10G網(wǎng)絡(luò)處理器是實現(xiàn)10G以太網(wǎng)交換技術(shù)的關(guān)鍵點(diǎn),10G網(wǎng)絡(luò)處理器的開發(fā)成為目前城域網(wǎng)建設(shè)中的一個重要環(huán)節(jié)。

本文介紹了10G的網(wǎng)絡(luò)處理器及其驅(qū)動程序,并對驅(qū)動程序的開發(fā)方法進(jìn)行了研究和探討。

1 網(wǎng)絡(luò)處理器和驅(qū)動程序

網(wǎng)絡(luò)處理器是一種可編程器件,它特定地應(yīng)用于通信領(lǐng)域的多種任務(wù),例如數(shù)據(jù)包處理、協(xié)議分析、路由查找、數(shù)據(jù)和匯聚、防火墻、QoS等。網(wǎng)絡(luò)處理器具有多協(xié)議支持、優(yōu)化的體系結(jié)構(gòu)、專用的硬件設(shè)計和高速的數(shù)據(jù)轉(zhuǎn)發(fā)處理、高性能、高可靠性、豐富的流分類、擁塞管理、隊列調(diào)度、靈活的軟件開發(fā)和升級、靈活擴(kuò)展和組合等特點(diǎn)。

網(wǎng)絡(luò)處理器器件內(nèi)部由若干個微碼處理器和若干硬件協(xié)議處理器組成,多個微碼處理器在網(wǎng)絡(luò)處理器內(nèi)部并行處理,通過預(yù)先編制的微碼來控制處理數(shù)據(jù)包的操作。而對于一些復(fù)雜的標(biāo)準(zhǔn)操作(如內(nèi)存操作、路由表查找算法、QoS的擁塞控制算法、流量高度算法等)則彩硬件協(xié)議處理器進(jìn)一步提高處理性能,從而實現(xiàn)業(yè)務(wù)的高靈活性與高性能的有機(jī)結(jié)構(gòu)。

目前的網(wǎng)絡(luò)處理器系列有:面向網(wǎng)絡(luò)接入端的設(shè)備;支持企業(yè)、電信市場接入和邊緣應(yīng)用的設(shè)備(支持2.5Gbps數(shù)據(jù)傳輸率);支持網(wǎng)絡(luò)應(yīng)用的設(shè)備(支持10Gbps數(shù)據(jù)傳輸率)等。

網(wǎng)絡(luò)處理器的驅(qū)動程序在系統(tǒng)中位于底層BSP(Board Support Packet)和上層軟件之間,如所示。驅(qū)動程序是建立起上下層軟件之間通信的一個橋梁,為上下層軟件提供相應(yīng)的接口,能夠把上層命令解釋為底層軟件可以識別的代碼寫入芯片的寄存器中,包括兩個功能模塊;底層驅(qū)動模塊和業(yè)務(wù)驅(qū)動模塊。底層驅(qū)動模塊提供NP芯片初始化、配置、裝載微碼、建立維護(hù)NP查找結(jié)構(gòu)、中斷處理、IP內(nèi)部表項維護(hù)、NP實現(xiàn)檢測等功能;業(yè)務(wù)驅(qū)動模塊為上層應(yīng)用提供數(shù)據(jù)包發(fā)送和接收、路由表操作、ARP表操作、VLAN操作、端口表操作、MAC表操作等功能。

2 驅(qū)動程序開發(fā)方法研究

網(wǎng)絡(luò)處理器的芯片廠家需要提供相應(yīng)的驅(qū)動開發(fā)軟件包,開發(fā)包主要包括封裝了特定代碼的庫文件和說明文檔,這些庫文件在系統(tǒng)編譯時進(jìn)行鏈接。開發(fā)人員通過調(diào)用驅(qū)勸開發(fā)包中的API(Application Programming Interface)來完成對芯片的一系列操作。

2.1 芯片的初始化

包括正確地初始化網(wǎng)絡(luò)處理器芯片,使芯片能夠正常工作。網(wǎng)絡(luò)處理器芯片作為PCI設(shè)備掛在CPU的PCI總線上,它通過PCI總線識別,系統(tǒng)為其分配相應(yīng)的PCI地址和中斷號。CPU通過網(wǎng)絡(luò)處理器的PCI地址對NP內(nèi)部的寄存器進(jìn)行訪問。

NP初始化步驟:

(1) 調(diào)用識別函數(shù)識別NP:如果與廠商號相符,則說明NP已經(jīng)被識別。

(2) 配置NP的PCI設(shè)備:為NP分配內(nèi)存地址;為NP配置中斷號。

(3) 注冊PCI中斷處理程序:安裝芯片的中斷處理程序;將NP的PCI中斷處理程序與中斷號關(guān)聯(lián)。通常該中斷處理程序內(nèi)部會調(diào)用一個全局的函數(shù)指針,開發(fā)者可以對其賦值,使能NP的PCI中斷。

(4) 中斷事件處理方式:通常網(wǎng)絡(luò)處理器或交換芯片都定義有多種中斷事情,這些中斷事件由中斷事件狀態(tài)寄存器和中斷屏蔽寄存器進(jìn)行控制。NP會定義若干種中斷事情,每種中斷用一個二進(jìn)制位表示,該二進(jìn)制位的取值決定中斷事件的中斷狀態(tài)(如:1表示有中斷,0表示無中斷)。中斷屏蔽寄存器則決定是否對中斷進(jìn)行處理。

(5) NP的中斷事件類型:

數(shù)據(jù)幀中斷:當(dāng)NP需要向CPU發(fā)數(shù)據(jù)包時,就產(chǎn)生此中斷,以通知主控系統(tǒng)有相關(guān)的數(shù)據(jù)幀和該數(shù)據(jù)幀的指針需要處理;
查找中斷:當(dāng)NP的硬件表進(jìn)行更新時,會產(chǎn)生此中斷。例如,NP的MAC地址學(xué)習(xí)機(jī)制和地址老化機(jī)制更新MAC表后,會將更新結(jié)果通過消息的形式上報主控系統(tǒng);

統(tǒng)計中斷:當(dāng)NP的統(tǒng)計隊列有消息時,產(chǎn)生此中斷,通知主控系統(tǒng)某個統(tǒng)計計數(shù)器已經(jīng)達(dá)到閾值。

(6) 中斷處理流程如所示。當(dāng)主機(jī)接收到一個NP發(fā)生的PCI中斷時,NP的PCI ISR被觸發(fā),PCI ISR確定哪一個NP發(fā)生中斷,將該NP編程通過消息的方式傳給驅(qū)動任務(wù),驅(qū)動任務(wù)從中斷消息中獲得NP的ID號、中斷屏蔽寄存器的值和中斷事件寄存器的值,對中斷屏蔽寄存器和中斷事件寄存器的值進(jìn)行位操作,對操作結(jié)果進(jìn)行判斷,進(jìn)而確定是否調(diào)用該中斷事件的中斷處理程序。

(7) 初始化芯片上的數(shù)據(jù)通道:復(fù)位芯片上的寄存器并賦給默認(rèn)值;指定硬件搜索引擎?zhèn)€數(shù);設(shè)定統(tǒng)計計數(shù)器的門限值;設(shè)備外部存儲器值;啟動通道進(jìn)入接收中斷狀態(tài)。

(8) 加載硬件表結(jié)構(gòu)和微碼:硬件表結(jié)構(gòu)包括二層表、三層表、路由表、三層接口表、VLAN表等;表結(jié)構(gòu)在微碼中定義;微碼中定義了數(shù)據(jù)包收發(fā)的方式和相應(yīng)的操作方法。

2.2 數(shù)據(jù)包處理

在中斷處理的基礎(chǔ)上進(jìn)行數(shù)據(jù)包的接收,如所示。CPU通過中斷方式接收來自網(wǎng)絡(luò)處理器的數(shù)據(jù)包。

(1) CPU接收來自網(wǎng)絡(luò)處理器數(shù)據(jù)包中斷后,會在驅(qū)動任務(wù)中調(diào)用響應(yīng)的數(shù)據(jù)包的ISR,在該ISR中將數(shù)據(jù)包發(fā)給上層協(xié)議。

(2) 按協(xié)議標(biāo)準(zhǔn)對數(shù)據(jù)包格式或內(nèi)容進(jìn)行修改和轉(zhuǎn)換。

(3) 通過驅(qū)動API提供的函數(shù)發(fā)送數(shù)據(jù)包。

2.3 硬件表操作

硬件表是NP中由微碼定義的表查找結(jié)構(gòu),由NP完成MAC地址查找、VALN表添加、路由表搜索等各種表條目的添加和刪除等操作。

(1) 由微碼定義和創(chuàng)建硬件表的種類、長度、編號等信息。

(2) 由驅(qū)動在芯片初始化過程中加載硬件表結(jié)構(gòu)并啟動微碼。

(3) 驅(qū)動程序中要為上層協(xié)議提供硬件表添加、刪除、修改、顯示等接口。
隨著10G以太網(wǎng)技術(shù)的發(fā)展,已經(jīng)有越來越多的廠家推出了自己的NP產(chǎn)品。高速網(wǎng)絡(luò)處理器已經(jīng)成為當(dāng)前以太網(wǎng)研究中的一個重點(diǎn),同時需要對芯片的驅(qū)動程序深入開發(fā)。本文對10G網(wǎng)絡(luò)處理器的驅(qū)動程序設(shè)計進(jìn)行了分析和研究,提出了驅(qū)動軟件開發(fā)中的一些思路。由于目前與10G以太網(wǎng)技術(shù)相關(guān)標(biāo)準(zhǔn)和技術(shù)的成熟和完美還需要一定的時間;各廠家使用不同的軟硬件開發(fā)環(huán)境;存在不同的嵌入式操作系統(tǒng);以及一些廠家使用專用的代碼開發(fā)和調(diào)試工具等因素,使NP及其驅(qū)動程序的發(fā)展還需要進(jìn)一步地提高。今后的主要工作包括:提高不同廠家的設(shè)備之間互通性和兼容性;加強(qiáng)NP軟件代碼的規(guī)范性和可移植性;完善NP驅(qū)動軟件的開發(fā)方法。

10G網(wǎng)絡(luò)處理器作為下一代網(wǎng)絡(luò)的關(guān)鍵,以其多方面的優(yōu)勢,可以較好滿足未來高速網(wǎng)絡(luò)技術(shù)發(fā)展的需求,具有非常廣泛的發(fā)展空間。


  
關(guān)鍵詞:10G網(wǎng)絡(luò)處理器驅(qū)動軟件的設(shè)計與實現(xiàn)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!