專利名稱:一種仲裁邏輯實(shí)現(xiàn)多cpu并行工作的安全平臺(tái)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法,尤其涉及一種使用CPU系統(tǒng)仲裁器,配合高性能的PowerPC嵌入式處理器,實(shí)現(xiàn)多處理器的并行工作的總線仲裁方法,該多處理器平臺(tái)可以運(yùn)行Linux或Vxworks等操作系統(tǒng),對(duì)網(wǎng)絡(luò)安全數(shù)據(jù)包進(jìn)行百兆線速處理,該方法可以作為防火墻、VPN、防病毒、IDS等網(wǎng)絡(luò)安全軟件系統(tǒng)的理想處理和承載平臺(tái),屬于網(wǎng)絡(luò)安全
背景技術(shù):
目前,使用電腦時(shí),經(jīng)常會(huì)出現(xiàn)病毒,致使電腦不能工作,必需裝設(shè)防火墻。傳統(tǒng)的防火墻采用單處理器實(shí)現(xiàn),其性能低下,丟包嚴(yán)重,不能滿足網(wǎng)絡(luò)安全需要對(duì)數(shù)據(jù)包進(jìn)行深度處理的運(yùn)算需求,傳統(tǒng)的防火墻一般使用X86工控機(jī)實(shí)現(xiàn),少數(shù)使用ASIC實(shí)現(xiàn),X86具有性能低的缺點(diǎn),而純粹的ASIC雖然性能高,但缺乏靈活性,開發(fā)周期長,成本高,不能實(shí)現(xiàn)高層協(xié)議。目前也有少數(shù)安全廠商使用NP(Network Processor)來實(shí)現(xiàn)安全平臺(tái),但這樣的平臺(tái)缺乏靈活性,其微碼空間有限,不能實(shí)現(xiàn)對(duì)高層協(xié)議的處理。
發(fā)明內(nèi)容
本發(fā)明的目的是發(fā)明一種靈活的、高性能的、低成本的實(shí)現(xiàn)多個(gè)處理器的總線仲裁和任務(wù)調(diào)度的方法,從而實(shí)現(xiàn)了一種多CPU并行處理的高性能網(wǎng)絡(luò)安全硬件平臺(tái)。
為實(shí)現(xiàn)以上目的,本發(fā)明的技術(shù)方案是提供一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法,其特征在于,使用多CPU總線仲裁器,配合至少一個(gè)處理器,實(shí)現(xiàn)多處理器的總線仲裁方法,其方法為第一步初始狀態(tài)1)維持狀態(tài)條件總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;2)轉(zhuǎn)到第二步條件總線允許并且從CPU 1請(qǐng)求總線;3)轉(zhuǎn)到第四步條件總線允許且從CPU 1不請(qǐng)求總線且從CPU 2請(qǐng)求總線;第二步從CPU 1申請(qǐng)總線1)維持第二步狀態(tài)CPU應(yīng)答信號(hào)有效;2)轉(zhuǎn)到第一步條件從CPU 1不請(qǐng)求總線;3)轉(zhuǎn)到第三步條件CPU無應(yīng)答;第三步從CPU1獲得總線1)維持第三步狀態(tài)CPU無應(yīng)答;2)轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 1不請(qǐng)求總線;第四步從CPU2申請(qǐng)總線1)維持第四步狀態(tài)CPU應(yīng)答信號(hào)有效;2)轉(zhuǎn)到第一步條件從CPU 2不請(qǐng)求總線;3)轉(zhuǎn)到第五步條件CPU無應(yīng)答;第五步從CPU2獲得總線1)維持本狀態(tài)CPU無應(yīng)答;2)轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 2不請(qǐng)求總線;第六步回到初始狀態(tài)1)總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;2)從CPU 1不請(qǐng)求總線;3)從CPU 2不請(qǐng)求總線;4)CPU應(yīng)答或從CPU 1不請(qǐng)求總線;5)CPU應(yīng)答或從CPU 2不請(qǐng)求總線。
所述的一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法所用的設(shè)備,其特征在于,使用多CPU總線仲裁器分別連接由603E系統(tǒng)總線互連的三個(gè)嵌入式處理器,高性能處理器MPC750 CPU為主處理器,兩個(gè)集成多網(wǎng)口處理器MPC8250/8260CPU為從處理器CPU 1和CPU 2,8250、8260嵌入式處理器作為系統(tǒng)的從處理器,提供百兆的I/O接口,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)和轉(zhuǎn)發(fā)處理,750作為系統(tǒng)的主處理器,擔(dān)當(dāng)系統(tǒng)的主任務(wù)的處理,實(shí)現(xiàn)數(shù)據(jù)包的4~7層分析和處理。
所述的多CPU總線仲裁器是用CPLD可編程芯片或來編程實(shí)現(xiàn)的,該器件為可編程器件,由宏單元和門電路組成利用該CPLD的輸入/輸出口定義了9個(gè)CPU應(yīng)答、總線請(qǐng)求、總線允許引腳。
由于單8250/8260的處理能力不夠,網(wǎng)絡(luò)接口數(shù)目也有限,多個(gè)8250/8260通過仲裁器互連后,系統(tǒng)的網(wǎng)絡(luò)接口數(shù)目成倍的增加。而750作為主處理器,大大地提高了系統(tǒng)的處理性能,該主從式的多CPU架構(gòu),解決了單CPU的網(wǎng)口數(shù)不夠的問題,也解決了系統(tǒng)處理性能的問題。在這里,多CPU的仲裁器起到了關(guān)鍵的作用,實(shí)現(xiàn)了多CPU的并行處理和任務(wù)調(diào)度。
本技術(shù)發(fā)明中的FPGA邏輯,用狀態(tài)機(jī)來實(shí)現(xiàn),該邏輯的主要功能為實(shí)現(xiàn)多個(gè)處理起的總線仲裁和任務(wù)調(diào)度本發(fā)明的優(yōu)點(diǎn)是性能高,實(shí)現(xiàn)相對(duì)簡單,成本低,能對(duì)數(shù)據(jù)實(shí)現(xiàn)2~7層的深度分析。
圖1為多CPU系統(tǒng)仲裁器設(shè)備結(jié)構(gòu)示意圖;圖2為多CPU系統(tǒng)仲裁器邏輯狀態(tài)程序流程圖。
具體實(shí)施例方式
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
實(shí)施例——6網(wǎng)口百兆線速防火墻平臺(tái)(以1片MPC750作為主處理器,2片MPC8250作為從處理器,1片XILINX9572 CPLD作為仲裁器)本實(shí)施例中,MPC750作為主處理器,MPC8250作為嵌入式處理器作為系統(tǒng)的從處理器,提供6個(gè)百兆網(wǎng)口,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)和轉(zhuǎn)發(fā)處理,750作為系統(tǒng)的主處理器,擔(dān)當(dāng)系統(tǒng)的主任務(wù)的處理,實(shí)現(xiàn)數(shù)據(jù)包的4~7層分析和處理。
如圖1所示,為多CPU系統(tǒng)仲裁器設(shè)備結(jié)構(gòu)示意圖,表示了三個(gè)CPU即主CPU、從CPU 1、從CPU 2之間的設(shè)備連接關(guān)系(但理論上,本發(fā)明支持任意多個(gè)CPU的主從互連并轉(zhuǎn)換之間的狀態(tài)),所述的多CPU系統(tǒng)仲裁器設(shè)備是使用多CPU總線仲裁器分別連接由603E系統(tǒng)總線互聯(lián)的三個(gè)嵌入式處理器,嵌入式處理器為IBM或Freescale公司的PowerPC產(chǎn)品,如750、8250、8260,高性能處理器MPC750 CPU為主處理器,兩個(gè)集成多網(wǎng)口處理器MPC8250/8260CPU為從處理器CPU 1和CPU 2,仲裁器用CPLD可編程芯片來編程實(shí)現(xiàn)的,該器件由宏單元和門電路組成,利用該CPLD的輸入/輸出口定義了9個(gè)CPU應(yīng)答、總線請(qǐng)求、總線允許引腳,實(shí)現(xiàn)多個(gè)處理器的總線仲裁和任務(wù)調(diào)度。
用多CPU總線仲裁器分別連接603E系統(tǒng)總線互連的三個(gè)嵌入式處理器,高性能處理器MPC750 CPU為主處理器,兩個(gè)集成多網(wǎng)口處理器MPC8250CPU為從處理器CPU 1和CPU 2,所述的多CPU總線仲裁器用XILINX9572邏輯器件來編程實(shí)現(xiàn),其邏輯編程實(shí)現(xiàn)原理如圖2所示,為多CPU系統(tǒng)仲裁器邏輯狀態(tài)程序流程圖,該邏輯程序可以用FPGA之狀態(tài)機(jī)或組合邏輯實(shí)現(xiàn),狀態(tài)轉(zhuǎn)換條件(總線請(qǐng)求、CPU應(yīng)答、總線允許等)對(duì)應(yīng)FPGA或CPLD的物理引腳信號(hào),其狀態(tài)的變化引起CPU總線掌握權(quán)的變化,上圖中的五個(gè)狀態(tài)形成一個(gè)閉環(huán),任何外部條件的變化只能引起這五個(gè)狀態(tài)互相轉(zhuǎn)換。
一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法為第一步初始狀態(tài)1.維持狀態(tài)條件總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;2.轉(zhuǎn)到第二步條件總線允許并且從CPU 1請(qǐng)求總線;3.轉(zhuǎn)到第四步條件總線允許且從CPU 1不請(qǐng)求總線且從CPU 2請(qǐng)求總線;第二步從CPU 1申請(qǐng)總線1.維持第二步狀態(tài)CPU應(yīng)答信號(hào)有效;2.轉(zhuǎn)到第一步條件從CPU 1不請(qǐng)求總線;3.轉(zhuǎn)到第三步條件CPU無應(yīng)答;第三步從CPU1獲得總線1.維持第三步狀態(tài)CPU無應(yīng)答;2.轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 1不請(qǐng)求總線;
第四步從CPU2申請(qǐng)總線1)維持第四步狀態(tài)CPU應(yīng)答信號(hào)有效;2)轉(zhuǎn)到第一步條件從CPU 2不請(qǐng)求總線;3)轉(zhuǎn)到第五步條件CPU無應(yīng)答;第五步從CPU2獲得總線1)維持本狀態(tài)CPU無應(yīng)答;2)轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 2不請(qǐng)求總線;第六步回到初始狀態(tài)1)總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;2)從CPU 1不請(qǐng)求總線;3)從CPU 2不請(qǐng)求總線;4)CPU應(yīng)答或從CPU 1不請(qǐng)求總線;5)CPU應(yīng)答或從CPU 2不請(qǐng)求總線。
權(quán)利要求
1.一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法,其特征在于,使用多CPU總線仲裁器,配合至少一個(gè)處理器,實(shí)現(xiàn)多處理器的總線仲裁方法,其方法為第一步初始狀態(tài)4)維持狀態(tài)條件總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;5)轉(zhuǎn)到第二步條件總線允許并且從CPU 1請(qǐng)求總線;6)轉(zhuǎn)到第四步條件總線允許且從CPU 1不請(qǐng)求總線且從CPU 2請(qǐng)求總線;第二步從CPU 1申請(qǐng)總線1)維持第二步狀態(tài)CPU應(yīng)答信號(hào)有效;2)轉(zhuǎn)到第一步條件從CPU 1不請(qǐng)求總線;3)轉(zhuǎn)到第三步條件CPU無應(yīng)答;第三步從CPU 1獲得總線1)維持第三步狀態(tài)CPU無應(yīng)答;2)轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 1不請(qǐng)求總線;第四步從CPU 2申請(qǐng)總線1)維持第四步狀態(tài)CPU應(yīng)答信號(hào)有效;2)轉(zhuǎn)到第一步條件從CPU 2不請(qǐng)求總線;3)轉(zhuǎn)到第五步條件CPU無應(yīng)答;第五步從CPU2獲得總線1)維持本狀態(tài)CPU無應(yīng)答;2)轉(zhuǎn)到第一步條件CPU應(yīng)答或從CPU 2不請(qǐng)求總線;第六步回到初始狀態(tài)1)總線不允許或從CPU 1不請(qǐng)求且從CPU 2不請(qǐng)求總線;2)從CPU 1不請(qǐng)求總線;3)從CPU 2不請(qǐng)求總線;4)CPU應(yīng)答或從CPU 1不請(qǐng)求總線;5)CPU應(yīng)答或從CPU 2不請(qǐng)求總線。
2.根據(jù)權(quán)利要求1所述的一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法所用的網(wǎng)絡(luò)安全硬件平臺(tái)設(shè)備及其架構(gòu),其特征在于,使用多CPU總線仲裁器分別連接603E系統(tǒng)總線互連的三個(gè)嵌入式處理器,高性能處理器MPC750CPU為主處理器,兩個(gè)集成多網(wǎng)口處理器MPC8250/8260CPU為從處理器CPU 1和CPU 2,多CPU總線仲裁器實(shí)現(xiàn)多個(gè)處理器的總線仲裁和任務(wù)調(diào)度,8250、8260嵌入式處理器作為系統(tǒng)的從處理器,提供百兆的I/O接口,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)和轉(zhuǎn)發(fā)處理,750作為系統(tǒng)的主處理器,擔(dān)當(dāng)系統(tǒng)的主任務(wù)的處理,實(shí)現(xiàn)數(shù)據(jù)包的4~7層分析和處理。
3.根據(jù)權(quán)利要求2所述的一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法所用的網(wǎng)絡(luò)安全硬件平臺(tái)設(shè)備及其架構(gòu),其特征在于,所述的多CPU總線仲裁器是用CPLD可編程芯片來編程實(shí)現(xiàn)的,該器件為可編程器件,由宏單元和門電路組成利用該CPLD的輸入/輸出口定義了9個(gè)CPU應(yīng)答、總線請(qǐng)求、總線允許引腳。
4.根據(jù)權(quán)利要求2所述的一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法所用的網(wǎng)絡(luò)安全硬件平臺(tái)設(shè)備及其架構(gòu),其特征在于,所述的多CPU總線仲裁器可以用XILINX9572等FPGA/CPLD邏輯器件來編程實(shí)現(xiàn)的。
全文摘要
本發(fā)明涉及一種仲裁邏輯實(shí)現(xiàn)多CPU并行工作的安全平臺(tái)的方法所用的網(wǎng)絡(luò)安全硬件平臺(tái)設(shè)備及其架構(gòu),以及基于這種方法的多CPU的網(wǎng)絡(luò)安全硬件平臺(tái)的架構(gòu),尤其涉及一種的使用CPU系統(tǒng)仲裁器,配合高性能的PowerPC嵌入式處理器,實(shí)現(xiàn)多處理器的總線仲裁方法,可以運(yùn)行Linux或Vxworks等操作系統(tǒng),對(duì)網(wǎng)絡(luò)安全數(shù)據(jù)包進(jìn)行百兆線速處理,該方法可以作為防火墻、VPN、防病毒、IDS等網(wǎng)絡(luò)安全軟件系統(tǒng)的理想處理和承載平臺(tái),本發(fā)明的優(yōu)點(diǎn)是性能高,實(shí)現(xiàn)相對(duì)簡單,成本低,能對(duì)數(shù)據(jù)實(shí)現(xiàn)2~7層的深度分析。
文檔編號(hào)G06F15/16GK1968259SQ200510110540
公開日2007年5月23日 申請(qǐng)日期2005年11月18日 優(yōu)先權(quán)日2005年11月18日
發(fā)明者周耀華 申請(qǐng)人:上海吉盛網(wǎng)絡(luò)技術(shù)有限公司