freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

網絡處理器中微引擎的設計與實現(xiàn)畢業(yè)論文-文庫吧資料

2025-06-29 01:21本頁面
  

【正文】 MAX_I,SRC1,1;Mov MAX_I,SRC2,1; MAX運算單元,首先,將P2級輸入SetMaxMin指令的源操作數(shù)A_operand _p2[31:0]寫入目的寄存器MAX_I [7:0]和MAX_O [7:0]。 Mint_ctrl=0:SIZE=1時,[0]到DST;SIZE=2時,[0][1]到DST;Mint_ctrl=1:[1]到DST。其中每一個結果位OUT[i]都由M[i]和MASK[i]進行與和或運算得到。: Minterm運算示意圖 首先,根據(jù)輸入Mint_i_p2[31:0]和Mint_invmask_p2[31:0],每兩位相比較:相同輸出1,不相同輸出0,故可分別得到M0~M15。同時根據(jù)Alu_size[2:0]產生寫回時所需的屏蔽位Alu_mask[31:0]。兩個源操作數(shù)Alu_a[31:0]與Alu_b[31:0]由前一級取操作數(shù)級產生,ALU執(zhí)行單元根據(jù)4位控制信號Alu_ctrl[3:0]判斷所執(zhí)行的具體操作;Alu_maskreg[15:0]提供mask操作所需的值,Alu_mode[1:0]表明了mask如何控制,0——無需mask,1——與A操作數(shù)進行mask操作,2——與B操作數(shù)進行mask操作,3——與A、B操作數(shù)都進行mask操作。(4)功能執(zhí)行單元 功能執(zhí)行單元包括邏輯算術運算單元ALU、小項運算單元MINT、序列大小比較單元MAX、優(yōu)先級編碼單元PRI_ENC、移動執(zhí)行單元MOVE。16個不同長度的特殊寄存器SREG主要為微引擎提供存儲器和寄存器間接尋址、保存分支跳轉地址、工作狀態(tài)標記、流水線狀態(tài)標記等功能。(3) 內部寄存器堆 16個32位的通用寄存器UREG可由微碼程序員任意的訪問使用。輸入輸出存儲器均通過基址加偏移量尋址訪問。192字節(jié)的OMEM,每幀可以最多保存8個關鍵字/消息。Get、Copy、GetRndBits、GetFixBits、GetRnd4Bits指令可以從輸入存儲器中取出源操作數(shù)。(2) 輸入輸出存儲器 輸入存儲器存放搜索微引擎的查找結果,其中RMEM保存由搜索微引擎寫入的結果/消息(每幀最多16個),大小為384字節(jié);RMEM對應搜索微引擎的128位數(shù)據(jù)總線。Host通過PCI接口能夠一次性下載超過32位的數(shù)據(jù)。初始化時Host主機通過配置WIDE_LOAD寄存器,將程序裝載到指令存儲器中。 微引擎內部模塊示意圖(1) 指令存儲器指令存儲器使用SRAM,可以存放1536條指令。在執(zhí)行過程中,取指、取操作數(shù)、寫回運算結果都是在微引擎內部進行,無需訪問外部存儲設備,因此能夠在單周期內以極高的速度執(zhí)行操作。8) Resolve微引擎通知網絡模塊(NETS)中的接收幀描述符模塊(RFD)丟棄幀。6) Resolve微引擎向Modify微引擎?zhèn)魉蛶男畔ⅲ嚎刂萍拇嫫?、幀的? 針。4) Resolve微引擎向Search2微引擎?zhèn)魉蛶年P鍵字(Keys)和消息 (Messages)。2) Resolve微引擎接收Search1微引擎?zhèn)魉偷膸阉鹘Y果(Results)。 全局Host寄存器地址寄存器名描述讀/寫0x00INT_REG中斷寄存器寫0x010x04WIDE_LOAD[3:0]指令裝載寄存器寫0x08BR_ADDR子程序地址寫0x090x18MREG[15:0]ALU掩碼寄存器寫0x19HOST_CONF學習、排序和信道支持寄存器寫0x200x27HOST_REG[7:0]host調試寄存器讀0x2CMCODE_BR_INT微碼執(zhí)行或斷點命令讀0x2DSTATUS_REG狀態(tài)寄存器讀地址寄存器名描述讀/寫0x2E0x35PCREG[7:0]host PC調試寄存器讀0x36MCODE_ERR_REG微碼偶校驗錯誤寄存器讀 微引擎結構設計 微引擎結構描述 在本文設計的P1600網絡處理器轉發(fā)微引擎為可編程處理器,采用類超標量結構,共有4個RISC核,一個周期可以同時處理多條指令。初始值也可以由P1600微碼插入然后在加載期間執(zhí)行。8) HREG:8個幀頭寄存器用于保存微引擎處理之后的數(shù)據(jù)幀幀頭數(shù)據(jù)。6) SREG:16個不同長度的寄存器用于特殊用途,如間接尋址。4) MINTERM:2個用于Minterm指令運算。2) ALU32:1個32位寄存器專用于ALU運算,保存運算結果。通常在條件分支指令中計算分支目標地址時用到。在存儲器訪問指令中計算存儲器訪問地址時用到。3)寄存器間接尋址:操作數(shù)所在寄存器的序列號來自專門的間接尋址寄存器。根據(jù)操作數(shù)來源的不同,微引擎支持的尋址方式有:1)立即數(shù)尋址:操作數(shù)在指令中以最多32位立即數(shù)形式出現(xiàn),因此可以直接從指令中獲得操作數(shù),主要用于移動指令、ALU指令和一些特殊指令。指令集不僅提供了位操作的專用指令,其指令系統(tǒng)中的運算類指令操作數(shù)的長度也是可調的,這樣處理起來非常靈活,不必要處理的字節(jié)或者位可以不必參與運算,提高了處理的效率和速度(最大可支持64位的操作數(shù)移動)。根據(jù)輸入寄存器的狀態(tài),選擇8個源操作數(shù)中的某一個操作數(shù)輸出。另外微引擎決定了幀的目的、優(yōu)先級等,設計SetMaxMin指令可以最多從16個元素的序列中選出最大值或者最小值,并且指出它的序列號。網絡處理器的轉發(fā)微引擎對數(shù)據(jù)幀的作出轉發(fā)決定需要涉及到大量的復雜的邏輯與和或運算。轉發(fā)微引擎沒有設計專門的Load/Store指令來完成網絡處理器微引擎與存儲器之間的數(shù)據(jù)傳送,而是分別設計Get完成存儲器到微引擎寄存器的移動,Mov指令完成微引擎寄存器之間移動,Put指令完成微引擎寄存器到輸出存儲器的移動,Copy指令完成輸入存儲器到輸出存儲器之間的移動。5)八個源操作數(shù):分為兩種,一種是目的寄存器不確定的GetRndBits和GetFixBits指令。3)兩個操作數(shù):此類指令是ALU運算指令。2)一個源操作數(shù):主要是移動指令。指令格式按操作數(shù)劃分可以歸結為以下幾類。不同指令還包含一些需要配置的模式(Mode),比如比較最大值或者最小值以及選擇不同的Minterm運算等等。 微引擎指令集列表指令指令描述移動指令Mov按字節(jié)將立即數(shù)或寄存器數(shù)據(jù)移到目的寄存器MovBits按位將立即數(shù)或寄存器數(shù)據(jù)移到目的寄存器Mov4Bits移動任意四位數(shù)據(jù)到目的寄存器MovMul根據(jù)優(yōu)先級編碼寄存器的值,移動八個 源寄存器 中的一個到目的寄存器Get按字節(jié)把存儲器數(shù)據(jù)移到目的寄存器指令指令描述PutKey按字節(jié)把立即數(shù)或寄存器數(shù)據(jù)移到目的存儲器Copy按字節(jié)把存儲器數(shù)據(jù)移到目的存儲器PutHdr按字節(jié)把立即數(shù)或寄存器數(shù)據(jù)移到Header寄存器PutHdrBits按位把立即數(shù)或寄存器數(shù)據(jù)移到Header寄存器PutHdr4Bits移動任意四位數(shù)據(jù)到Header寄存器GetRndBits移動任意八位Result Control寄存器數(shù)據(jù)到目的寄存器GetFixBits移動有限制的八位Result Control寄存器數(shù)據(jù)到目的寄存器GetRnd4Bits移動任意四位Result Control寄存器數(shù)據(jù)到目的寄存器分支跳轉指令Jmp無條件跳轉Jstack間接跳轉,地址來自PC_STACK寄存器Return間接跳轉,地址來自PC_STACK寄存器,類同JstackJmul根據(jù)優(yōu)先級編碼寄存器的值,地址八選一進行跳轉Loop跳轉然后Loop Counter寄存器遞減Call跳轉并保存當前PC值到PC_STACK寄存器CallstackJstack并保存當前PC值到PC_STACK寄存器ALU指令And邏輯與Xor邏輯異或Or邏輯或Not取反Add不帶進位加法操作Sub不帶進位減法操作AddcDST=SRC1+SRC2+CarrySubbDST=SRC1SRC2CarryDecode將源操作數(shù)對應位置1后賦給DSTEncode取源操作數(shù)最高位數(shù)值NumOnes計算源操作數(shù)中1的個數(shù)特殊指令Minterm預定義12種運算,根據(jù)參數(shù)選擇SetMaxMin從輸入的序列中選出最大值或最小值及該最值的序列號Halt掛起,四種模式分別用于單播、多播、丟棄幀、調試Nop空指令微引擎指令的最高位(72位)是偶校驗位(Even),當需要復雜操作時,可以直接由編譯器解析指令完成。P1600網絡處理器轉發(fā)微引擎采用73位專用指令集設計,并根據(jù)轉發(fā)微引擎的功能要求做出了相應的優(yōu)化設計。因此微引擎指令集中的尋址方式必須包括位尋址的機制。通用處理器的指令尋址的最小單位一般都是字節(jié),但可以采用掩碼結合邏輯與或的方式實現(xiàn)位操作。另一方面,網絡協(xié)議處理中存在著大量的查找比較操作,它并不是按字節(jié)或是字對齊的方式而是按位進行處理,因此微引擎的指令集設計必須對位操作有很好的支持。通常微引擎的指令集是基于RISC處理器指令集的定點操作部分,然后通過適當裁減并增加一些特殊的控制和運算指令來實現(xiàn)的。最后分析了微引擎的并行技術流水線和超標量。 其次,研究了微引擎設計技術。 本章小結 首先分析了網絡處理器的微引擎處理單元之間的組織結構,即串行、并行以及混合模式。采用超標量技術處理器的在每個時鐘周期能夠發(fā)送多條指令,并相互獨立地執(zhí)行。(2)超標量技術 超標量(Superscaler)架構是指在處理器中有兩條及兩條以上的流水線,且每個時鐘周期可完成多條指令,其實質是以空間換取時間[]。流水線在遇到分支跳轉指令或其它會改變PC(程序指針)值的指令所造成的沖突。大部分數(shù)據(jù)沖突可以通過修改相關寄存器別名來消除。2)數(shù)據(jù)沖突。因為硬件資源(如功能單元、寄存器和存儲器等)滿足不了指令重疊執(zhí)行的要求而發(fā)生流水線沖突。 五級經典流水線此外實際中的流水線中的加速比,會由于流水級間邏輯增加新的開銷,以及由于存在著多種多樣的沖突導致流水線的停頓而大幅降低。在理想狀況下各流水段處理時間相等,從而使吞吐率提高到n倍(n為流水線的深度),但在實際中,處理時間最長的流水段將成為流水線的瓶頸。(1)流水線技術如今已廣泛使用的流水線技術通過將任務劃分為多個流水段執(zhí)行而提高系統(tǒng)的吞吐率。針對本文的設計,本節(jié)只介紹指令級并行。隨著網絡應用的發(fā)展,數(shù)據(jù)平面和控制平面的界限已經逐漸模糊,因此現(xiàn)在微引擎指令集必須同時考慮兩方面的處理。RISC的這些努力使計算機的結構更簡單合理,運算效率更高。正因為CISC的這些缺點,產生了RISC技術。每條指令可執(zhí)行多個操作,如乘法和寫數(shù)據(jù)等操作。目前處理器的兩種指令集架構分別是復雜指令集計算機(CISC)和精簡指令集計算機(RISC)。 微引擎指令集架構微引擎的一個重要功能是執(zhí)行程序的每條指令,完成程序所要實現(xiàn)的功能。這種架構和傳統(tǒng)的順序編程模型差別很大,它不需要顯式的控制流,只要處理單元的功能部件接收到所需數(shù)據(jù)就馬上進行處理。目前采用VLIW架構的NP不多,如Cisco PXF等,一般應用于網絡邊緣的高性能路由器中。VLIW 結構的目的是通過把多條指令連接在一起來發(fā)掘出更多的指令級并行性,但需要相應的編譯器進行輔助開發(fā)。其中的 RISC 核心既有簡單的單標量流水線結構,也有復雜的超標量流水線結構。1) 基于 RISC 核心。一方面需要盡量的降低每個微引擎的面積和功耗,從而才能使集成多個微引擎的NP整體仍然滿足約束;另一方面微引擎還要根據(jù)網絡業(yè)務特點,提供豐富操作和較高頻率,才能使NP達到較好的處理能力。它采用40位專用指令集,支持6K行微碼指令。: 轉發(fā)微引擎組織結構 修改微引擎修改(Modify)微引擎修改數(shù)據(jù)包的內容,在數(shù)據(jù)包中的任何地方執(zhí)行改寫、加或插入操作。Resolve是一個可編程的處理器,每個周期執(zhí)行1個微碼指令。Resolve的決定和修改指令,被編譯到一個消息中,傳到Modify。Resolve還能更新數(shù)據(jù)流條目的狀態(tài),向搜索結構(只支持hash)中學習新的條目。它決定了幀的目的、優(yōu)先級、格式以及內容的改變。主要支持的表結構是FastIP表、Hash表、直接訪問表、Tree表及其組合,其中當采用組合方式查表需要微碼支持,即在Searchl上需要編寫微碼指令。將該部分解析的內容以消息(massages)的方式發(fā)送給Resolve和以關鍵字(keys)的方式寫入HREG供Searehl查表使用,每次最多可以發(fā)送16條消息/關鍵字,Parse也可以實現(xiàn)簡單的查表和統(tǒng)計功能。數(shù)據(jù)包的順序由每個端口自動維護。微引擎處理器采用共享的資源,而沒有連到一個物理端口。在相同流水段的多個微引擎能完成多個數(shù)據(jù)包并行處理。 P1600網絡處理器結構框圖微引擎構成的功能流水線以一種類超標量結構運行,能把數(shù)據(jù)包的消息和指針從一個處理階段傳到下一個階段。大容量的代碼存儲器可用于支持多個復雜的應用,同時為增加新性能提供擴展空間。網絡處理器芯片使用一個簡單的單鏡像編程模型,沒有并行編程或多線程。微引擎性能受益于類超標量結構,微引擎的多個核在每個流水段并行運行。每個微引擎處理器的類型采用一種獨特的體系結構,帶一個定制的、特殊功能的數(shù)據(jù)通路和指令集。4種類型的微引擎——Parse、Search、Resolve和Modify——被用于執(zhí)行數(shù)據(jù)包處理的主要任務,即分類、轉發(fā)和修改?;谝陨蟽煞N模式優(yōu)缺點,提出的混合模式在串行模式的硬件有效性和并行模式的編程有效性之間進行折衷,但是關于具體采用多少條流水線以及每條流水線使用多少個處理單元較好仍然沒有明確的解決。其優(yōu)點是擴展性較好,增加新的處理資源容易;編程較為簡易,因為開發(fā)人員只需面對一個處理單元,無需進行任務劃分。該模式下每個處理單元完全同構,能獨立完
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1