基于NIOS II多處理機技術(shù)的的網(wǎng)絡(luò)數(shù)據(jù)處理研究
1 SOPC的嵌入式開發(fā)技術(shù)概述
本文引用地址:http://cafeforensic.com/article/201706/349012.htm這些年以來,計算機網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)進(jìn)入了飛速發(fā)展時期,這種快速發(fā)展給人們帶來了極大便捷,但并且也帶來了數(shù)據(jù)信息在處理、存儲、傳輸和應(yīng)用時,容易被竊取和篡改等難題?,F(xiàn)在的網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)安全辦理,有多種方法可用于網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)安全協(xié)議處理,常用的大抵分成ASIC(Application Specific Integrate
d Circuit)和可編程方法兩類。ASIC方法是系統(tǒng)完全由硬件來實現(xiàn),其特征是速度快,本錢高,純軟件方式性能低,存在一定的安全隱患,并且?guī)缀鯖]有靈活性和可擴展性,必要很高本錢和較長的設(shè)計時間;可編程方法主要有兩種類型:NP(Network Processor)和FPGA(Field Programmable Gate Array),NP提供的是以處理器為中心的可編程本領(lǐng),而FPGA提供的是以硬件為中心的可編程本領(lǐng)。NP方法應(yīng)用RISC處理器結(jié)構(gòu)進(jìn)行網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)包處理。支持這一方法的器件稱為網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)處理器,并且是軟件可編程的。NP包括多個優(yōu)化的嵌入式RISC CPU,以提供可編程本領(lǐng)和用于通用數(shù)據(jù)包處理功能。其設(shè)計理念是應(yīng)用硬件電路處理數(shù)據(jù)包的分類和修改,而應(yīng)用RISC引擎進(jìn)行上層辦理。NP中的多處理器引擎配置成不一樣的架構(gòu)以優(yōu)化關(guān)鍵的路徑延遲,在配置每個RISC引擎時,使得專用的RISC引擎不可以再以高級語言編程,從而迫應(yīng)用戶應(yīng)用微代碼/匯編語言,并且削弱了提供靈活性和時間優(yōu)勢這一網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)處理器面臨的根本基礎(chǔ),應(yīng)用起來非常麻煩。對于SOPC(System On Programmable Chip)嵌入式開發(fā)技術(shù)的FPGA方法,具有高度并行邏輯結(jié)構(gòu)的可編程器件,可提供由用戶自定義的性能和靈活性組合,對任何高速并行數(shù)據(jù)處理都非常抱負(fù)。FPGA內(nèi)部可以嵌入RISC軟核,應(yīng)用FPGA內(nèi)部的硬件可編程特性,和很強的靈活性和可擴展本領(lǐng),大幅度地提升系統(tǒng)性能。由于FPGA沒有內(nèi)置的網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)處理功能,用戶可經(jīng)過在FPGA內(nèi)增加網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)系統(tǒng)所要求的特性,應(yīng)用硬件描述語言(HDL)、知識(知識是人類生產(chǎn)和生活經(jīng)驗的總結(jié))產(chǎn)權(quán)核心(IP)和C語言對其進(jìn)行硬件編程。SOPC為網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)安全協(xié)議的實現(xiàn)提供了一個極靈活的處理方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)。應(yīng)用FPGA器件,可以在單片器件內(nèi)集成范圍廣泛的硬和軟IP核,此中的硬件和固件具有可升級本領(lǐng)。SOPC的嵌可編程本領(lǐng),縮短了系統(tǒng)開發(fā)時間,使單個FPGA處理方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)更適用于設(shè)計需求,可以在整個開發(fā)周期中對系統(tǒng)進(jìn)行優(yōu)化,并且還為硬件和軟件設(shè)計提供了靈活、方便的方法,需要成為今后網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)處理技術(shù)發(fā)展的一個方向。
2 多處理器系統(tǒng)處理方案
在嵌入式系統(tǒng)中實現(xiàn)網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)協(xié)議、暗碼算法處理的方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)主要有ASIC、NP、FPGA、純軟件方式等,其系統(tǒng)內(nèi)部一般為有一個CPU,每一個時刻CPU只能執(zhí)行一條指令。該系統(tǒng)內(nèi)部既然可以采用并行技術(shù),如指令流水線、多個ALU單元和專用的協(xié)處理器等,但這些并行技術(shù)只能提升次序程序的指令執(zhí)行速度,它無法提供進(jìn)程級、作業(yè)級的并行性。采用多處理器、多指令多數(shù)據(jù)流(MIMD)系統(tǒng),可以提供高級并行性,它經(jīng)過并行處理實現(xiàn)最大的效率與功能,高級并行不但可以是多個處理器并且操縱,并且并且還能夠是多個程序(進(jìn)程)在同一時間片內(nèi)執(zhí)行。在具體的實現(xiàn)上可以是多處理器,多計算機、也可以將多處理器系統(tǒng)作為多計算機系統(tǒng)中的結(jié)點,構(gòu)成一種混合的多處理機。MIMD實現(xiàn)方式與曾經(jīng)的SISD(單指令流單數(shù)據(jù)流)實現(xiàn)方式相比,增加了單位時間內(nèi)的數(shù)據(jù)流,它經(jīng)過卸載單個處理器任務(wù)的策略來提升系統(tǒng)整體性能,經(jīng)過根據(jù)任務(wù)的分類來組織任務(wù)執(zhí)行,將不一樣類型的任務(wù)放在不一樣的CPU中執(zhí)行,任務(wù)間的協(xié)調(diào)是經(jīng)過共享存儲器中的公共變量或Send/Receive操縱原語來實現(xiàn)。該系統(tǒng)中給每個CPU分配了特定的任務(wù),在這些任務(wù)中,大概會存在對特定I/O設(shè)備的訪問,降低CPU對每個外部設(shè)備的訪問要求。MIMD在硬件架構(gòu)上更適于用多處理機實現(xiàn),可以經(jīng)過共享的存儲器在不一樣的CPU上實現(xiàn)不一樣的專有任務(wù),并且根據(jù)系統(tǒng)級任務(wù)進(jìn)行分類,它提供了更高級別的并行性,將相關(guān)的任務(wù)放在同一CPU內(nèi)執(zhí)行,由各CPU之間并行地完成系統(tǒng)級任務(wù),從一定程度上降低了進(jìn)程間因互相遷移而造成的通信時間,系統(tǒng)級的任務(wù)大概要求CPU可以訪問每個外部設(shè)備,要求相關(guān)任務(wù)在每個CPU執(zhí)行的等效性,要求每個CPU有等同的硬件架構(gòu)。實現(xiàn)任務(wù)的邏輯分組,更高效的發(fā)揮處理本領(lǐng),可以以較低的時鐘頻率和功耗實現(xiàn)較高的性能。多處理機中共享的存儲器經(jīng)過ICN(互聯(lián)網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的))被所有的CPU共享,其ICN的實現(xiàn)方式將決定多處理器的個數(shù)及系統(tǒng)性能,當(dāng)采用總線方式時,其處理器的個數(shù)一般不超過4個,當(dāng)采用交叉開關(guān)的方式時可擴展到####個。MIMD系統(tǒng)中多計算機架構(gòu)為系統(tǒng)級并行提供了方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃),而多處理機為任務(wù)級并行提供了方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃),經(jīng)過并行處理實現(xiàn)最大的效率與功能,并行不但指多個處理器并且操縱,并且指多個程序(進(jìn)程)在同一時間片內(nèi)執(zhí)行。它靈活的方式可以克服SISD系統(tǒng)中CPU大量頻繁的數(shù)據(jù)操縱所消耗大量CPU等待時間,系統(tǒng)由多個SU(System Unit)單元構(gòu)成,系統(tǒng)可以并行地處理N個系統(tǒng)級任務(wù),SU提供系統(tǒng)級功能,主要完成網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)協(xié)議、暗碼算法處理功能,由TU(Task Unit)任務(wù)單元提供比力單一的任務(wù)功能,如TU0完成網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)協(xié)議,TU1完成暗碼算法。混合方式為系統(tǒng)并行性提供了更多的組合方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃),整個系統(tǒng)可以集成更多的SU單元,SU單元又可以集成更多的TU單元,分層級連的方式擴容了系統(tǒng)的集成本領(lǐng),極大地提升了系統(tǒng)的并行性。
3 對于NiosII的嵌入式網(wǎng)絡(luò)
數(shù)據(jù)處理系統(tǒng)嵌入式系統(tǒng)中網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)安全實現(xiàn)的技術(shù)主要有關(guān)到主機安全技術(shù)、身份認(rèn)證、訪問控制、安全傳輸協(xié)議、數(shù)據(jù)加密、防火墻、安全審計等技術(shù),此中網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)傳輸是基礎(chǔ),數(shù)加密技術(shù)是核心?,F(xiàn)在網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)安全協(xié)議的實現(xiàn)上大多采用了單處理器系統(tǒng)(無法提供進(jìn)程級、作業(yè)級的并行性)、并且嵌入式系統(tǒng)中系統(tǒng)的時鐘提升空間在時間上日趨飽和,系統(tǒng)在軟件上需求也越來越復(fù)雜,應(yīng)用需求也越來越多,對于單CPU的設(shè)計方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)無法適應(yīng)這樣日益復(fù)雜的必要。所以,引入多處理機成為一種必然。對于NiosII的可擴展多處理器方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃),較好地處理了CPU之間信息高效交互、緩沖區(qū)一致性、任務(wù)劃分、系統(tǒng)集成度等相關(guān)系列難題。NiosII是Nios的第二代產(chǎn)品,其速度更快、資源占用更少,僅保存了32位模式。NiosII是32位RISC嵌入式處理器,其性能可以超過200MIP,由于是軟核處理器,具有較高的靈活性,在嵌入式系統(tǒng)中,可以實現(xiàn)從硬件、軟件、性能、編譯環(huán)境等多個方面對處理器,網(wǎng)卡芯片的類型、實現(xiàn)方式等硬件整體架構(gòu)進(jìn)行設(shè)計。NiosII IDE(集成開發(fā)環(huán)境)是NiosII嵌入式系統(tǒng)的基本軟件開發(fā)工具,所有的軟件開發(fā)任務(wù)都需要在NiosII IDE下完成,包括編輯、編譯和調(diào)試程序。嵌入式系統(tǒng)的軟件開發(fā)可分為應(yīng)用程序開發(fā)和驅(qū)動程序開發(fā)兩部分。NiosII IDE為用戶提供了設(shè)備的驅(qū)動程序,這便是硬件抽象層(HAL)系統(tǒng)庫,用戶只要應(yīng)用HAL提供的各種函數(shù)就可以編寫應(yīng)用程序,HAL系統(tǒng)庫在NiosII IDE中創(chuàng)建一個新的工程時,由IDE智能化生成。NiosII IDE是和SOPC Builder緊密相關(guān)的,假設(shè)硬件配置有了變化,HAL設(shè)備驅(qū)動配置也會自動隨之變動,從而避免了由于底層硬件的變化而產(chǎn)生的編程錯誤。NiosII IDE也為用戶自動創(chuàng)建和辦理HAL系統(tǒng)庫文件提供了極大的方便,用戶不用創(chuàng)建或拷貝HAL文件,也不用編輯HAL中的任何源代碼。對于NiosII的嵌入式系統(tǒng)開發(fā),必要應(yīng)用Altera公司的SOPC開發(fā)環(huán)境,它主要由由三個部分組成組成:IP庫(NiosII處理器,Avlon總線,外圍設(shè)備接口等),SOPC Builde開發(fā)工具,IDE軟件編譯器。其開發(fā)整個過程主要有:首先確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)必要的計算機性能、帶寬和吞吐量、接口類型和是否必要多線程的軟件等。然后進(jìn)行硬件設(shè)計,應(yīng)用Altera提供的IP庫,在SOPC Builde中添加必要的功能模塊,生成一個NiosII系統(tǒng)模塊,最后在Quartus中編譯生成軟件,完成軟件設(shè)計。在NiosII IDE軟件開發(fā)環(huán)境中,用戶并且還能夠根據(jù)必要編寫自定義設(shè)備的操縱流程、操縱系統(tǒng)的移植、相應(yīng)的應(yīng)用代碼等。
4 結(jié)束語與展望
筆者針對嵌入式系統(tǒng)對網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)傳輸、網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)安全協(xié)議實現(xiàn)方上,對SOPC技術(shù)進(jìn)行了闡述,提出了多處理器系統(tǒng)處理方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)和了對于NiosII的軟、硬聯(lián)合的雙核的網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)處理處理方案(進(jìn)行工作的具體計劃或?qū)δ骋粏栴}制定的規(guī)劃)。這種對于SOPC技術(shù)、NIOS-II多處理機的網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)處理方法將成為今后網(wǎng)絡(luò)(網(wǎng)絡(luò)就是用物理鏈路將各個孤立的工作站或主機相連在一起,組成數(shù)據(jù)鏈路,從而達(dá)到資源共享和通信的目的)數(shù)據(jù)處理技術(shù)發(fā)展的方向。
評論