劉素桃,高 飛
(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081)
基于龍芯2F的國(guó)產(chǎn)處理器平臺(tái)在路由器中的設(shè)計(jì)實(shí)現(xiàn)
劉素桃,高 飛
(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081)
高性能處理器(CPU)作為路由器設(shè)備的核心部件之一,主要用于實(shí)現(xiàn)路由器設(shè)備的控制及協(xié)議處理功能。對(duì)核心部件CPU采用了國(guó)產(chǎn)的龍芯2F處理器及與之相適配的中標(biāo)麒麟操作系統(tǒng),構(gòu)建了國(guó)產(chǎn)處理器平臺(tái),應(yīng)用到路由器設(shè)備中,解決了長(zhǎng)期以來(lái)路由器設(shè)備對(duì)國(guó)外處理器的依賴,提高了路由器設(shè)備的安全可靠性,實(shí)現(xiàn)了路由器設(shè)備在硬件、軟件的自主可控。對(duì)國(guó)產(chǎn)處理器平臺(tái)進(jìn)行了簡(jiǎn)要介紹,并結(jié)合實(shí)例驗(yàn)證了國(guó)產(chǎn)處理器平臺(tái)在路由器設(shè)備中的設(shè)計(jì)方案正確可行,能夠滿足路由器的需要,可以進(jìn)行推廣應(yīng)用。
龍芯2F處理器;Linux;公共嵌入式平臺(tái);CPU
近年來(lái),美國(guó)斯諾登爆料的涉及安全的各種事件讓各國(guó)充分意識(shí)到,研發(fā)自主知識(shí)產(chǎn)權(quán)的設(shè)備極為迫切,而路由器設(shè)備是信息化建設(shè)中的重要設(shè)備之一,其核心部件CPU采用國(guó)產(chǎn)處理器平臺(tái)可以解決諸多安全隱患問(wèn)題[1]。
隨著近些年我國(guó)自主化技術(shù)的積累與推進(jìn),國(guó)內(nèi)的幾大廠商相繼研發(fā)出了自主的CPU,并已在計(jì)算機(jī)平臺(tái)得到了成功應(yīng)用[2],這為路由器設(shè)備選用國(guó)產(chǎn)化CPU提供了可供選擇的方案與契機(jī)。然而市場(chǎng)上國(guó)產(chǎn)化的CPU目前主要用于計(jì)算機(jī)平臺(tái)[3],在路由器設(shè)備中還沒(méi)有成功的方案可以借鑒,需要?jiǎng)?chuàng)新地設(shè)計(jì)一種適合路由器設(shè)備的國(guó)產(chǎn)處理器平臺(tái)。
高性能的CPU主要用于路由器設(shè)備的控制及協(xié)議處理[4]。龍芯中科公司的龍芯2F芯片,具有低功耗、高可靠性的特點(diǎn),適合應(yīng)用到路由器設(shè)備中。結(jié)合路由器設(shè)備的應(yīng)用,對(duì)龍芯2F處理器在性能、環(huán)境適應(yīng)性及可靠性方面進(jìn)行測(cè)試驗(yàn)證。
1.1 龍芯2F處理器簡(jiǎn)介
龍芯2F處理器是一款中國(guó)科學(xué)院計(jì)算技術(shù)研究所研制的、內(nèi)部集成了龍芯64位CPU核,兼容MIPS64指令系統(tǒng)的高性能低功耗處理器芯片,支持軟件動(dòng)態(tài)調(diào)節(jié)處理器工作頻率,操作系統(tǒng)利用這個(gè)特性可根據(jù)負(fù)載情況改變處理器工作頻率以達(dá)到降低功耗的目的。龍芯2F采用先進(jìn)的四發(fā)射超流水線結(jié)構(gòu),實(shí)現(xiàn)了轉(zhuǎn)移猜測(cè)、寄存器重命名、動(dòng)態(tài)調(diào)度以及非阻塞的高速緩存訪問(wèn)等亂序執(zhí)行技術(shù),片內(nèi)包含64 KB一級(jí)指令高速緩存、64 KB一級(jí)數(shù)據(jù)高速緩存和512 KB二級(jí)高速緩存[5]。
龍芯2F集成了64位DDR2內(nèi)存控制器、PCI/PCI-X控制器、Local-Bus總線接口、中斷控制器和視頻加速單元。系統(tǒng)擴(kuò)展通過(guò)標(biāo)準(zhǔn)的PCI/PCI-X總線進(jìn)行,既能作為PCI/PCI-X總線的主控制器,也能作為PCI/PCI-X的設(shè)備。
龍芯2F內(nèi)部的互連核心是一個(gè)128位寬度的2x2 AXI交叉開關(guān)。CPU核和PCI/PCI-X從設(shè)備占用兩個(gè)主設(shè)備端口,DDR2控制器占用一個(gè)從設(shè)備端口,PCI/PCI-X主設(shè)備及其他模塊共享另一個(gè)從設(shè)備端口。
龍芯2F的典型工作頻率為800 MHz,在該頻率下的實(shí)測(cè)功耗為3 W左右,適用于低功耗、高性能需求的嵌入式應(yīng)用領(lǐng)域。
1.2 龍芯處理器現(xiàn)狀及應(yīng)用
中科院計(jì)算技術(shù)研究所研制的龍芯系列處理器,已經(jīng)在技術(shù)及穩(wěn)定性方面逐漸成熟。目前龍芯系列處理器,已經(jīng)成功應(yīng)用于計(jì)算機(jī)平臺(tái)[6],作為加固計(jì)算機(jī)平臺(tái)已成功應(yīng)用于控制領(lǐng)域[7]。龍芯2F的工作溫度范圍可達(dá)-40℃~55℃,滿足工業(yè)級(jí)的應(yīng)用需求,能夠應(yīng)用到桌面及嵌入式控制領(lǐng)域,能夠滿足路由器在惡劣環(huán)境下應(yīng)用的溫度范圍。
2.1 硬件設(shè)計(jì)
國(guó)產(chǎn)處理器平臺(tái)的硬件組成如圖1所示,它主要由龍芯2F處理器模塊、BIOS引導(dǎo)程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器DDR2 SDRAM、南橋、調(diào)試串口、調(diào)試網(wǎng)口、功能擴(kuò)展模塊組成。該硬件平臺(tái)的實(shí)現(xiàn)目標(biāo)是構(gòu)建嵌入式的自主可控的高性能處理器公共平臺(tái),并能實(shí)現(xiàn)功能的擴(kuò)展。
圖1 國(guó)產(chǎn)處理器平臺(tái)硬件組成框圖
其中電源模塊主要用于提供嵌入式高性能處理器平臺(tái)所需要的電源,平臺(tái)采用5V供電,經(jīng)過(guò)DC/DC變化生成龍芯2F及相關(guān)外圍芯片所需要的內(nèi)核電壓及IO電壓;
復(fù)位控制是按照龍芯2F的上電復(fù)位要求進(jìn)行的控制設(shè)計(jì),時(shí)鐘模塊提供龍芯2F工作需要的時(shí)鐘信號(hào);
數(shù)據(jù)存儲(chǔ)器設(shè)計(jì)采用4片MT47H128M16的DDR2 SDRAM顆粒,提供容量為1 GB的數(shù)據(jù)存儲(chǔ);
南橋主要提供調(diào)試串口、IDE總線及USB總線,并連接到功能擴(kuò)展模塊實(shí)現(xiàn)功能的擴(kuò)展。
龍芯2F通過(guò)PCI總線掛接一片Intel的以太網(wǎng)控制器82540實(shí)現(xiàn)調(diào)試以太網(wǎng)口的功能。
功能擴(kuò)展設(shè)計(jì)是采用SAMTEC公司的四個(gè)高速高密度連接器,連接器的可靠性能夠滿足路由器設(shè)備的可靠性要求;信號(hào)定義在ETX3.02規(guī)范[8]的基礎(chǔ)上進(jìn)行了改進(jìn),增加了LOCAL總線的定義,去掉了鍵盤、鼠標(biāo)等無(wú)用信號(hào),從而適合路由器設(shè)備及嵌入式應(yīng)用;把在路由器中常用的LOCAL并行總線、PCI總線及IDE總線、USB總線引接到板間互聯(lián)連接器上,方便在路由器設(shè)備應(yīng)用中的功能擴(kuò)展,最終作為一個(gè)公共的嵌入式高性能處理器平臺(tái)應(yīng)用到多個(gè)項(xiàng)目的設(shè)計(jì)中,滿足不同的應(yīng)用需求。
路由器設(shè)備需要使用路由交換芯片[9],如圖1所示,通過(guò)功能擴(kuò)展模塊的PCI總線連接到路由交換芯片,同時(shí)創(chuàng)新地利用了龍芯2F提供的2個(gè)片選信號(hào),滿足了路由器設(shè)備的應(yīng)用。
2.2 Local總線設(shè)計(jì)
龍芯2F的LocalIO控制器提供了訪問(wèn)外設(shè)的接口,主要連接用于系統(tǒng)啟動(dòng)的BIOS。龍芯2F對(duì)外提供兩個(gè)片選,即LIO_ROMCS、LIO_CS,具有可配置的數(shù)據(jù)位寬和訪問(wèn)延遲,可以根據(jù)外掛接的設(shè)備接口進(jìn)行時(shí)序的簡(jiǎn)單控制。圖2是龍芯2F的LOCAL總線設(shè)計(jì)功能框圖,龍芯2F通過(guò)CPLD進(jìn)行地址譯碼,對(duì)外提供CS1和CS2兩個(gè)片選信號(hào),其中CS1片選是8位總線接口,CS2片選是16位總線接口,它們的容量都為8 MB,同時(shí)將這兩個(gè)片選信號(hào)連接到功能擴(kuò)展模塊,用于提供實(shí)時(shí)時(shí)鐘以及其他嵌入式常用的成幀器芯片或控制邏輯的實(shí)現(xiàn),為路由器及嵌入式的應(yīng)用提供了方便。外部掛接的實(shí)時(shí)時(shí)鐘芯片是DALLAS公司DS1554,它是一款數(shù)據(jù)總線位寬為8位、地址總線為15位的低速外設(shè),與CS1片選連接;外部掛接的成幀器芯片是一款總線位寬為16位、地址總線為14位的外設(shè),與CS2片選連接,從而合理地利用了龍芯LOCAL總線的能力,若其他外設(shè)需要片選,還可以進(jìn)一步進(jìn)行擴(kuò)展。
圖2 龍芯2F的LOCAL總線設(shè)計(jì)
BIOS引導(dǎo)主要用于存儲(chǔ)LINUX內(nèi)核啟動(dòng)及配置需要的PMON固件。通過(guò)龍芯2F的片選信號(hào)LIO_ROMCS連接,設(shè)計(jì)選用一款容量為512KB的SST39VF040的FLASH芯片
2.3 軟件設(shè)計(jì)
路由器設(shè)備除了核心CPU采用國(guó)產(chǎn)化處理器外,與之適配的固件、操作系統(tǒng)軟件以及應(yīng)用軟件都實(shí)現(xiàn)了國(guó)產(chǎn)化。
固件軟件選用基于MIPS架構(gòu)的龍芯2F的PMON程序,針對(duì)本國(guó)產(chǎn)處理器平臺(tái)進(jìn)行了修改,滿足路由器的需要;運(yùn)行于龍芯2F之上的操作系統(tǒng)采用中標(biāo)麒麟LINUX定制系統(tǒng)軟件。
路由器設(shè)備的軟件框架如圖3所示,主要包括BIOS引導(dǎo)程序、中標(biāo)麒麟LINUX操作系統(tǒng)以及路由器設(shè)備應(yīng)用軟件,應(yīng)用軟件主要包括鏈路控制軟件、TCP/IP協(xié)議軟件、單播路由軟件、組播路由軟件、MPLS協(xié)議軟件、流量工程軟件以及安全認(rèn)證軟件等。
圖3 路由器設(shè)備的軟件框架
其中鏈路控制軟件由PPP協(xié)議軟件、交換芯片控制軟件、以太網(wǎng)數(shù)據(jù)處理軟件組成,主要實(shí)現(xiàn)鏈路狀態(tài)檢測(cè)、交換芯片控制、數(shù)據(jù)處理及協(xié)議認(rèn)證的功能。
維護(hù)管理軟件主要實(shí)現(xiàn)網(wǎng)絡(luò)代理、設(shè)備維護(hù)管理、在線升級(jí)等功能,實(shí)現(xiàn)對(duì)各個(gè)業(yè)務(wù)單元板的的輪詢、工作模式的控制以及收集各單元板的狀態(tài)并存于數(shù)據(jù)庫(kù)中。
協(xié)議及協(xié)議管理軟件主要完成各種路由協(xié)議的協(xié)議交互,定期發(fā)送協(xié)議控制報(bào)文進(jìn)行協(xié)議溝通,并向業(yè)務(wù)板發(fā)送相關(guān)協(xié)議配置消息進(jìn)行接口地址的配置等,數(shù)據(jù)庫(kù)軟件主要用于存放對(duì)各個(gè)業(yè)務(wù)板庫(kù)文件的存儲(chǔ)及數(shù)據(jù)的搜集等功能;網(wǎng)絡(luò)管理軟件主要用于對(duì)網(wǎng)絡(luò)的規(guī)劃及實(shí)現(xiàn)互聯(lián)互通的配置等功能。
安全認(rèn)證軟件主要由設(shè)備鑒權(quán)認(rèn)證軟件、路由協(xié)議認(rèn)證軟件和用戶認(rèn)證軟件組成。
下面重點(diǎn)介紹一下國(guó)產(chǎn)處理器平臺(tái)BIOS的開發(fā)應(yīng)用。
2.4 BIOS的開發(fā)及應(yīng)用
國(guó)產(chǎn)處理器平臺(tái)的BIOS設(shè)計(jì)采用的是PMON,實(shí)現(xiàn)操作系統(tǒng)的BootLoader的功能。PMON是MIPS架構(gòu)CPU最常用的BIOS,功能十分強(qiáng)大[10],占用資源少,僅需要一個(gè)串口,512 KB ROM,128 KB RAM就能實(shí)現(xiàn)PMON的全部特性,它不僅支持BIOS啟動(dòng)配置、內(nèi)核加載,還支持程序調(diào)試、內(nèi)存寄存器顯示和設(shè)置、內(nèi)存反匯編等。本設(shè)計(jì)中支持從CF卡及TFTP來(lái)引導(dǎo)操作系統(tǒng),PMON程序初始化流程圖如圖4所示[11]。
圖4 PMON程序初始化流程圖
3.1 性能測(cè)試實(shí)例1
搭建的國(guó)產(chǎn)處理器平臺(tái)數(shù)據(jù)處理性能測(cè)試框圖如圖5所示,使用思博倫的TestCenter測(cè)試儀從以太網(wǎng)接口發(fā)送IPv4、目的地址為2.0.0.9的數(shù)據(jù)報(bào)文,幀長(zhǎng)為1 500字節(jié),該數(shù)據(jù)報(bào)文直接依靠CPU進(jìn)行轉(zhuǎn)發(fā)到以太網(wǎng)接口,在發(fā)送帶寬為60%時(shí)不丟包。
圖5 國(guó)產(chǎn)處理器平臺(tái)數(shù)據(jù)處理性能測(cè)試
3.2 性能測(cè)試實(shí)例2
利用SFTP服務(wù)器進(jìn)行500 MB大小的文件WindRiver.rar的下載,數(shù)據(jù)處理速度可達(dá)7 362 KB/s,CPU處理數(shù)據(jù)的性能如下所示:
為了驗(yàn)證國(guó)產(chǎn)化處理器龍芯2F的環(huán)境適應(yīng)能力,對(duì)路由器設(shè)備作了環(huán)境適應(yīng)性高低溫[12]試驗(yàn),測(cè)試結(jié)果如表1所示。
此外,還對(duì)路由器設(shè)備進(jìn)行每天8小時(shí),連續(xù)48小時(shí)的可靠性試驗(yàn),路由器設(shè)備能夠正常穩(wěn)定工作,驗(yàn)證了其長(zhǎng)期穩(wěn)定工作的能力。
表1 路由器設(shè)備高低溫測(cè)試
主要對(duì)基于國(guó)產(chǎn)的龍芯2F處理器搭建的公共嵌入式平臺(tái)進(jìn)行了較為詳細(xì)的介紹,并結(jié)合路由器設(shè)備的應(yīng)用特點(diǎn),重點(diǎn)介紹了LOCAL總線的應(yīng)用設(shè)計(jì)、PMON的應(yīng)用,結(jié)合應(yīng)用實(shí)例測(cè)試,驗(yàn)證了國(guó)產(chǎn)化龍芯2F在路由器設(shè)備應(yīng)用中能夠滿足性能指標(biāo),經(jīng)過(guò)高低溫試驗(yàn)、可靠性考核,驗(yàn)證了龍芯2F能夠滿足路由器設(shè)備的應(yīng)用需求,為其他設(shè)備的工程應(yīng)用提供了成功的借鑒。
[1]劉冀川,李冬梅.萬(wàn)兆以太網(wǎng)技術(shù)的研究與實(shí)現(xiàn)[J].無(wú)線電工程,2012,42(12):7-9,45.
[2]芮 雪,王亮亮,楊 琴.國(guó)產(chǎn)處理器研究與發(fā)展現(xiàn)狀綜述[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2014(8):15-19.
[3]黃天章.軍事認(rèn)知通信網(wǎng)絡(luò)研究[J].無(wú)線電通信技術(shù),2011,37(6):14-16.
[4]楊邦甲.高性能路由器的功能與基本結(jié)構(gòu)[J].電腦知識(shí)與技術(shù),2009,5(12):3118-3119.
[5]李士剛,黃 威,張 鵬.龍芯處理器性能測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2013,36(23):88-90.
[6]滑 偉.一種PCI總線接口的數(shù)據(jù)接收卡設(shè)計(jì)[J].無(wú)線電通信技術(shù),2013,39(4):53-55,92.
[7]張 軍,蔡 曄.基于龍芯2F的車載和便攜設(shè)備系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,25(5):59-60.
[8]徐 宏,方 方,胡曉龍.基于ETX載板測(cè)控平臺(tái)的研制[J].核電子學(xué)與探測(cè)技術(shù),2013,33(9):1139-1143.
[9]胡龍斌.下一代高性能路由器關(guān)鍵技術(shù)研究[J].廣東科技,2014(16):188-189.
[10]李 雷,鄭為民,劉金剛.基于PMON的龍芯BIOS初始化及VGA BIOS模擬器[J].計(jì)算機(jī)工程,2009(1):204-206.
[11]張菊莉,張君毅,孟小鎖.基于龍芯2F架構(gòu)的PMON分析與優(yōu)化[J].現(xiàn)代電子技術(shù),2011,34(2):19-21.
[12]邢占春,曹芳菊,黃進(jìn)燕,等.基于CPCI總線的多卡實(shí)現(xiàn)32路采集平臺(tái)設(shè)計(jì)[J].無(wú)線電工程,2014,44(4):77-80.
Design and Implementation of Domestic-processor Platform Based on Loongson 2F in Routers
LIU Su-tao,GAO Fei
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)
The high performance processor(CPU)is one of the critical part of router.It is mainly used to realize the control and protocol disposer.In our router,a domestic Loongson 2F processor is adopted,and together with Kylin embedded Linux system,to build a national processor platform used in router device.This platform can facilitate the problem of router device dependence on foreign CPU technology for a long time.Moreover,it also improves the device safety and reliability.Finally,it promotes the independency and control-lability of the critical hardware and software in router.This national developed processor is simply introduced.And it is proved that the project of the native Loongson 2F used in the router is right and feasible,satisfying the router need,and can be popularized.
Loongson 2F;Linux;embedded platform;central processing unit
TN915.142
A
1003-3114(2015)06-84-4
10.3969/j.issn.1003-3114.2015.06.22
劉素桃,高 飛.基于龍芯2F的國(guó)產(chǎn)處理器平臺(tái)在路由器中的設(shè)計(jì)實(shí)現(xiàn)[J].無(wú)線電通信技術(shù),2015,41(6):84-87.
2015-08-10
國(guó)家部委基金資助項(xiàng)目
劉素桃(1971—)女,高級(jí)工程師,主要研究方向:通信網(wǎng)絡(luò)設(shè)備。高 飛(1985—)男,工程師,主要研究方向:通信網(wǎng)絡(luò)設(shè)備。