日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
網(wǎng)絡(luò)處理器Intel IXP1200應(yīng)用
[1] [2]  下一頁
網(wǎng)絡(luò)處理器Intel IXP1200應(yīng)用
 更新時(shí)間:2008-8-17 20:00:20  點(diǎn)擊數(shù):14
【字體: 字體顏色

隨著網(wǎng)絡(luò)規(guī)模和接口速度的增加,基于通用RISC技術(shù)的網(wǎng)絡(luò)設(shè)備無法在性能上滿足線速處理要求;另一方面新的網(wǎng)絡(luò)通信協(xié)議、標(biāo)準(zhǔn)不斷出現(xiàn)或變化,用戶的需求也在不斷變化之中,使得數(shù)據(jù)通信產(chǎn)品的更新?lián)Q代周期迅速縮短。在這種背景下,網(wǎng)絡(luò)處理器(Network Processor,NP)為下一代通信產(chǎn)品的設(shè)計(jì)提供了一種靈活的解決方案。

網(wǎng)絡(luò)處理器是一種專用于網(wǎng)絡(luò)通信設(shè)備的通用芯片,是一種開放式的、多樣化、可編程的開發(fā)環(huán)境,允許不同的設(shè)備供應(yīng)商采用同樣的芯片制造出各自不同功能和特色的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)處理器芯片專門針對(duì)通信功能進(jìn)行了優(yōu)化,綜合了RISC芯片和ASIC的優(yōu)點(diǎn)——既像RISC可以軟件編程、提供足夠的靈活性來適應(yīng)數(shù)據(jù)通信市場高速的發(fā)展,又具有ASIC那樣的高性能,但又不象ASIC那樣需要長達(dá)12個(gè)月的開發(fā)周期。通過下載不同的程序,同樣的硬件平臺(tái)可以支持Vlan交換機(jī)、路由器、寬帶接入服務(wù)器、NAT、防火墻、WEB交換機(jī)等,支持各種速率的以太網(wǎng)、ATM、POS等接口,升級(jí)非常方便。

目前提供NP的主要廠商有Agere、Intel、IBM、Maker/Conexant、MMC、Motorola等。IXP1200網(wǎng)絡(luò)處理器是Level-One公司(現(xiàn)屬Intel)的拳頭產(chǎn)品。

IXP1200由7個(gè)RISC處理器、外部存儲(chǔ)器接口、IX總線接口以及PCI總線接口等封裝于1個(gè)芯片上構(gòu)成。7個(gè)RISC處理器當(dāng)中有6個(gè)為包作業(yè)處理引擎以及1個(gè)管理/控制包作業(yè)處理引擎的“StrongARM”核。圖1為IXP1200結(jié)構(gòu)圖。

IXP1200主要包括以下組件:

1.6個(gè)集成的32位可編程微引擎,工作頻率可達(dá)200MHz,每個(gè)引擎可支持四個(gè)線程,每個(gè)線程有獨(dú)立的程序計(jì)數(shù)器;

2.集成有Intel StrongARM 32位處理器(RISC)核,16K指令緩沖,8K數(shù)據(jù)緩沖,512字節(jié)的一次性臨時(shí)數(shù)據(jù)緩沖,寫緩沖,內(nèi)存管理單元;

3.高帶寬4.2Gb/s 的I/O總線;

4.集成的32位,66MHz PCI總線接口。

網(wǎng)絡(luò)處理器的最大特點(diǎn)是可編程性,因此開發(fā)重點(diǎn)由硬件轉(zhuǎn)向軟件。IXP1200平臺(tái)上的軟件按運(yùn)行位置可分為兩部分:StrongARM核上運(yùn)行BSP、驅(qū)動(dòng)程序、實(shí)時(shí)操作系統(tǒng)、路由表維護(hù)及上層應(yīng)用程序,使用標(biāo)準(zhǔn)C語言開發(fā);微引擎進(jìn)行數(shù)據(jù)流輸入/輸出、打包/拆包、分類、快速查表、轉(zhuǎn)發(fā)等實(shí)時(shí)要求非?量痰奶幚。每個(gè)微引擎包含一段可編程的控制存儲(chǔ)器區(qū)(1024×32bit,1K條指令),用以存儲(chǔ)微碼程序。微引擎中的四個(gè)線程共享該控制存儲(chǔ)器。微引擎編程使用一套專為網(wǎng)絡(luò)數(shù)據(jù)流處理應(yīng)用定制的指令集,去掉了通用RISC芯片中對(duì)協(xié)議及包處理用處不大的部分,同時(shí)保留了RISC指令長度一致、單周期執(zhí)行時(shí)間、易于并行和流水線處理等優(yōu)點(diǎn)。

微引擎目前可以使用33條基本指令,大部分指令可以有不同執(zhí)行選項(xiàng),合理組合使用可以達(dá)到最高性能。指令集合按功能可以分為如下五類:算術(shù)邏輯運(yùn)算、移位類;分支及跳轉(zhuǎn)類;訪問類指令;本地寄存器操作;雜類指令。

Intel鼓勵(lì)使用宏風(fēng)格的編程方式,提供了一套宏庫,大大提高了編程效率及軟件可維護(hù)性。

IXP1200是通過硬件和軟件的并行開發(fā)來縮短開發(fā)周期的。Intel免費(fèi)提供了一個(gè)完全集成的開發(fā)環(huán)境Developer Workbench用于微碼編程、符號(hào)匯編、鏈接、仿真、調(diào)試、性能分析等,使用界面類似微軟的Visual C++。一個(gè)完整的工程包括:工程文件、微碼源程序文件、宏庫、調(diào)試腳本、生成映象文件的匯編及鏈接設(shè)置、仿真外圍器件或ARM應(yīng)用程序的外部DLL等。相比常見的集成開發(fā)環(huán)境,其仿真模擬器和擴(kuò)展外部模塊比較有特色。

IXP1200編程最大的挑戰(zhàn)在于利用其微引擎硬件多線程處理特性,充分利用現(xiàn)有存儲(chǔ)器帶寬,從而滿足高速處理要求。設(shè)計(jì)者需要折衷考慮硬件高速處理和軟件靈活性,主要圍繞優(yōu)化數(shù)據(jù)處理性能,包括數(shù)據(jù)包分類、指令效率、數(shù)據(jù)管理、控制通道和數(shù)據(jù)通道隔離、查表加速,還有存儲(chǔ)器容量和可擴(kuò)展性等方面。下面總結(jié)一些提高處理性能的經(jīng)驗(yàn)。

1、程序結(jié)構(gòu)組織及線程資源的合理分配使用;根據(jù)具體應(yīng)用處理要求,在設(shè)計(jì)中可以將線程分為接收調(diào)度、接收、發(fā)送調(diào)度、發(fā)送、包處理等線程。各個(gè)微引擎進(jìn)行相應(yīng)的分工,使其協(xié)同工作,性能最優(yōu),同時(shí)使各個(gè)階段的處理相對(duì)獨(dú)立,功能模塊化,程序結(jié)構(gòu)清晰。

2、不同內(nèi)存資源的靈活使用:SRAM讀寫速度快,但價(jià)格高配置容量小,一般用于使用頻繁的索引表、隊(duì)列等;SDRAM容量大,主要作為包緩沖區(qū)、大的復(fù)雜數(shù)據(jù)區(qū);SCRATCH暫存區(qū)作為片內(nèi)小容量的存儲(chǔ)區(qū)。

3、靈活運(yùn)用指令選項(xiàng)進(jìn)行優(yōu)化:微碼指令通常按五級(jí)流水線方式執(zhí)行,當(dāng)執(zhí)行管道被指令填滿時(shí),則每個(gè)指令周期都將有一條指令完成,但分支指令、跳轉(zhuǎn)指令、上下文切換指令等會(huì)引起執(zhí)行管道中的指令異常退出,從而導(dǎo)致微引擎效率降低。解決方法是巧妙安排指令執(zhí)行順序,使用優(yōu)化選項(xiàng)。

后延分支(Defer)的目的在于減少或消除執(zhí)行管道中的異常退出指令。在后延分支中,緊跟在分支決定后的指令可以在分支生效前執(zhí)行。如果在分支指令后可找到有用的工作來填充浪費(fèi)的指令周期,則分支引起的等待時(shí)間就可隱藏起來。

猜測分支(Guess Branch)可選標(biāo)識(shí)允許在實(shí)際的分支決定作出之前,從分支路徑上預(yù)取指令。因此為使程序管道指令運(yùn)行效率更高,在編程中應(yīng)注意分支指令周圍的指令安排:適當(dāng)使用deferred branch,在分支指令后面安排一些指令以填充指令執(zhí)行管道;用于分支決定的條件代碼應(yīng)盡早確定;根據(jù)處理器的猜測分支邏輯安排分支語句,并適當(dāng)?shù)丶由戏种Э蛇x標(biāo)識(shí)。

在讀寫SRAM、SDRAM類指令后可用ctx_swap選項(xiàng),使得訪問存儲(chǔ)器的延時(shí)可以被其它線程利用。同樣在一段較長的處理過程中加入ctx_arb[voluntary]讓其它線程有機(jī)會(huì)運(yùn)行。

4、盡可能使用高效率的算法:

微引擎包處理很大一部分工作(如路由查找、過濾匹配)需要進(jìn)行各種查表處理,采用高效的查找算法可以提高處理性能。如使用IXP1200硬件HASH功能一次可以計(jì)算出三個(gè)鍵值,多項(xiàng)式HASH算法中用到的乘子多項(xiàng)式值可以根據(jù)分布特點(diǎn)選取以得到最佳的HASH結(jié)果,減少?zèng)_突概率!

 

參考文獻(xiàn)

1 IXP1200 Network Processor Datasheet

2 IXP1200 Network Processor Hardware Reference Manual

3 IXP1200 Network Processor Programmer''s Reference

4 IXP1200 Network Processor Software Reference Manual

  • 上一篇: 便攜式儀器需要高性能充電器
  • 下一篇: 采用可編程串行接口設(shè)計(jì)背板
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1