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

正文內(nèi)容

第四部分intel網(wǎng)絡處理器(編輯修改稿)

2024-10-07 08:14 本頁面
 

【文章內(nèi)容簡介】 到推 /拉總線的連接,傳遞參數(shù)及計算結(jié)果。 ? 到推 /拉仲裁單元的連接,控制推/拉總線上的傳輸。 入口隊列 譯碼 Scratchpad存儲器 ? 為 IXP2XXX片內(nèi)存儲資源,由 SHaC控制訪問。 ? 容量為 16KB,組織成 4K長字。 ? 提供一般的數(shù)據(jù)讀 /寫操作,一次可從 Scratch中讀 /寫 64個字節(jié)( 16個長字)的數(shù)據(jù),可用作本地數(shù)據(jù)存儲器。 ? 提供兩種可由微引擎線程用來進行協(xié)調(diào)的操作,因而常用于線程間通信: ? 提供原子操作,用于設置 /清除比特、增量 /減量、加 /減、交換數(shù)值等。 ? 提供實現(xiàn)通信環(huán)的邏輯,支持環(huán)緩沖器的自動管理和操作,可容納16個環(huán)緩沖器,允許在不相鄰的一對微引擎之間傳遞信息(使用pull/push reflector 指令)。 Scratchpad的讀 /寫過程 ? 以將微引擎中的數(shù)據(jù)寫入 Scratchpad為例: ? 微引擎將數(shù)據(jù)寫入傳輸寄存器,將指令 “ scratch [wr, xfer, src_op1, src_op2, ref_t], opt_tok”發(fā)送到命令總線。 ? SHaC單元從命令總線接收命令,控制邏輯檢查命令的 Target_ID,若為Scratch則將指令緩存在入口隊列中。 ? 控制邏輯對指令進行譯碼,發(fā)送信號通知 Pull總線仲裁器將數(shù)據(jù)從傳輸寄存器中讀入 pull_fifo中。 ? 當數(shù)據(jù)讀入完成后,將 pull_fifo中的數(shù)據(jù)寫入 Scratchpad。 ? SHaC單元向微引擎發(fā)送信號,告知操作完成。 ? 使用 Pull/Push Reflector在不相鄰的微引擎間傳輸數(shù)據(jù): ? 首先通過 Pull總線從源微引擎中將數(shù)據(jù)讀入 Scratchpad ? 再通過 Push總線將數(shù)據(jù)寫入目的微引擎。 哈希單元 ? 哈希單元用于執(zhí)行查表和其它需要乘法或除法的任務。 ? 支持 48比特、 64比特和 128比特哈希操作。 ? 哈希單元有兩個輸入緩沖器,微引擎可以用一條指令發(fā)射1~3個哈希請求, SHaC順序地將請求傳遞給哈希單元。 ? 啟動哈希操作的過程: ? 微引擎將 1~3個數(shù)據(jù)值放在一組連續(xù)的 SRAM傳輸寄存器中,然后將哈希運算指令發(fā)送到命令總線。 ? 哈希單元接收命令,利用 Pull總線從微引擎的傳輸寄存器中讀取源操作數(shù),執(zhí)行哈希運算,然后通過 Push總線將運算結(jié)果推送到微引擎的傳輸寄存器中。 ? 操作結(jié)束后,哈希單元向微引擎發(fā)送信號。 CAP操作 ? 設備的控制狀態(tài)寄存器( CSR)被映射到 XScale的地址空間,但其中的一部分 CSR是本地的(并不對應一個外部設備),本地 CSR用于控制微引擎及記錄微引擎的狀態(tài) 。 ? 硬件定義了四十多個微引擎 CSR,每個 CSR控制處理的一個方面。 ? XScale使用本地 CSR將指令裝入微引擎并控制微引擎。 ? 每個微引擎只能訪問自己的本地 CSR。 ? SHaC集成了許多 CSR,對這些 CSR的訪問是通過 SHaC中的 CAP進行的。 ? Cap指令用于讀 /寫 CSR,如: ? Cap [read, xfer, csr_addr], opt_tok ? Cap [write, xfer, csr_addr], opt_tok ? Cap [fast_wr, xfer, csr_addr], opt_tok. 處理器間通信 ? 微引擎與 XScale通信( contexttoXScale): ? 中斷:微引擎可使用 SHaC單元向 XScale發(fā)出中斷 ? 共享存儲器:與 polling機制一起使用 ? 存儲器環(huán)機制:用于轉(zhuǎn)發(fā)數(shù)據(jù) ? 線程之間的通信( contexttocontext): ? 事件信號 ? Scratchpad或 SRAM環(huán)機制:任意線程 ? 鄰居寄存器:相鄰微引擎上的線程 ? 反射總線機制:任意微引擎上的線程 ? IXP2xxx之間: ? CBUS機制:不同 IXP2xxx上的線程相互通信。 DRAM控制器 ? DRAM控制器位于主控單元與 DRAM存儲設備之間,負責控制、管理主控單元對 DRAM存儲設備的訪問。 ? DRAM控制器通過命令總線、 Push總線和 Pull總線與主控單元相連。 DRAM控制器的特點 ? 支持 1個 DRAM通道, 64比特數(shù)據(jù)寬度, 2GB存儲空間。 ? 以 8字節(jié)為單位進行讀 /寫,一條指令可以讀 /寫連續(xù)的8~128個字節(jié),特別適合大數(shù)據(jù)量傳輸。 ? 支持 4個 DRAM bank及交織操作: ? 交織:通過地址映射將連續(xù)的存儲地址分布到 4個 bank上,一次操作可讀 /寫相鄰的兩個 bank中的數(shù)據(jù)。 ? 地址映射完全由硬件完成,對軟件是透明的。 ? 訪問 DRAM的指令格式: ? dram [cmd, xfer, src_op1, src_op2, ref_t], sig1, sig2 DRAM讀指令的執(zhí)行過程 ? 微引擎發(fā)送指令至命令總線, DRAM控制器從命令總線接收指令。 ? 檢查指令的 Target_ID,若為 DRAM則將指令緩存在 cmd_fifo隊列中。 ? 確定是否需要訪問相鄰的 2個 bank,若需要則根據(jù)指令提供的地址及數(shù)據(jù)字節(jié)數(shù)產(chǎn)生在相鄰 2個 bank的 bank操作及地址;否則直接使用指令中提供的地址。 ? 將各相應的 DRAM地址裝入指定的 bank隊列,將 bank隊列中的 DRAM地址發(fā)送到 FSM管腳上。 ? FSM管腳檢查 bank操作符及 DRAM地址是否符合規(guī)范,若符合,驅(qū)動相應的地址引腳,將數(shù)據(jù)從 DRAM存儲器中讀出。 ? 數(shù)據(jù)先緩存在 push_fifo中,然后通過 D Push總線將數(shù)據(jù)推送到 xfer指定的傳輸寄存器,并給微引擎發(fā)送 sig1和 sig2指定的信號。 SRAM控制器 ? SRAM控制器用于管理和控制主控單元對 SRAM存儲設備的訪問,以及用于連接符合 QDR規(guī)范的協(xié)處理器。 ? 以長字為單位訪問,一條指令可以讀 /寫連續(xù) 1~16個長字的數(shù)據(jù)。 ? SRAM控制器具有復雜的硬件功能結(jié)構(gòu),支持: ? 一般的數(shù)據(jù)讀 /寫操作 ? 原子操作:設置 /清除比特位,遞增 /遞減,數(shù)據(jù)交換 ? 支持對鏈表、環(huán)緩沖器等復雜數(shù)據(jù)結(jié)構(gòu)的自動操作 ? SRAM存儲設備通常用于存儲如發(fā)送隊列、數(shù)據(jù)包描述符、緩沖區(qū)鏈表等重要而復雜的數(shù)據(jù)結(jié)構(gòu)。 鏈表和環(huán)緩沖器 ? 鏈表和環(huán)緩沖器是網(wǎng)絡數(shù)據(jù)處理中非常重要的數(shù)據(jù)結(jié)構(gòu), ? 鏈表:由位于不連續(xù)的存儲空間中的若干 buffer組成, buffer的個數(shù)不限。鏈表主要用作包隊列,每個 buffer存放一個包描述符。 ? 環(huán)緩沖區(qū):由位于連續(xù)存儲空間中的若干存儲單元組成,創(chuàng)建時即確定了位置和大小。 ? 如果用軟件實現(xiàn)以上數(shù)據(jù)結(jié)構(gòu),比如將一個數(shù)據(jù)包放入發(fā)送隊列: ? 先從 SRAM中讀該發(fā)送隊列的描述符(隊列頭指針及尾指針) ? 修改尾指針使指向新的數(shù)據(jù)包 ? 將修改后的隊列描述符寫回 SRAM ? 軟件實現(xiàn)的缺點: ? 操作復雜 ? 涉及多次 SRAM讀寫,延遲大,效率低 ? 這些數(shù)據(jù)結(jié)構(gòu)需要被頻繁使用,影響處理速度。 QArray ? SRAM控制器集成了稱為 QArray的硬件結(jié)構(gòu)來支持上述的數(shù)據(jù)結(jié)構(gòu): ? 每個 SRAM通道有一個 QArray。 ? 每個 QArray有 64個存儲單元,每個單元存儲一個隊列描述符或一個環(huán)緩沖器描述符。 ? QArray支持入隊和出隊操作。 ? 微引擎只需向 SRAM控制器發(fā)送指令,具體的數(shù)據(jù)讀 /寫操作由 SRAM控制器完成。 MSF接口 ? MSF是 IXP2XXX上的一個復雜單元,提供與外部設備進行高速包傳輸?shù)闹饕涌凇? ? MSF單元有相互獨立的接收和發(fā)送接口,每個接口可被配置為處理標準的 MAC接口和交換結(jié)構(gòu)接口。 ? 所有與外部的輸入 /輸出均通過 MSF中的一組硬件緩沖器(稱 BUF)進行, BUF構(gòu)成了外設與微引擎之間的唯一通道。 ? BUF按照傳輸方向分為 RBUF和 TBUF。 ? 每個 BUF包含 8KB,可以被劃分為大小為 64字節(jié)、 128字節(jié)或 256字節(jié)的單元。微引擎可以選擇任意一個或一些單元用于一次傳輸。 ? 較大的包劃分成若干 mpacket,每個 mpacket裝入一個 BUF單元。MAC硬件及微引擎軟件負責將包劃分成 mpacket。 MSF接收單元 MSF數(shù)據(jù)包接收流程 ? 當某一個線程完成指定的數(shù)據(jù)包處理任務后,將自己加入到Receive_Thread_Freelist。 ? 當數(shù)據(jù)包到達 MSF的接收邏輯單元時, MSF為數(shù)據(jù)包分配合適的 RBUF單元,并將數(shù)據(jù)包移入。 ? 將該 RBUF單元標識為 Full Element,加入 Full Element List。 ? 控制單元從 Full Element List中取出一個 RBUF單元,從Receive_Thread_Freelist中取出一個空閑線程,創(chuàng)建該單元的接收狀態(tài)字,送到空閑線程的傳輸寄存器,然后通知空閑線程處理數(shù)據(jù)包。 ? 在將 RBUF單元中的內(nèi)容讀入傳輸寄存器或 DRAM存儲器之后,線程將RBUF單元釋放。 MSF發(fā)送單元 MSF數(shù)據(jù)包發(fā)送流程 ? 線程取出一個空閑的 TBUF單元,分配給要發(fā)送的數(shù)據(jù)包。 ? 線程將數(shù)據(jù)包從傳輸寄存器或 DRAM存儲器中移入 TBUF單元。 TBUF單元中的數(shù)據(jù)包由附加數(shù)據(jù)和凈荷數(shù)據(jù)組成,附加數(shù)據(jù)一般由線程創(chuàng)建,作為數(shù)據(jù)包的包頭,凈荷數(shù)據(jù)來自于 DRAM存儲設備,作為數(shù)據(jù)包的包體。 ? 線程創(chuàng)建發(fā)送控制字。 ? MSF將 TBUF單元中的數(shù)據(jù)包按發(fā)送控制字指定的方式發(fā)送出去。 加密單元 ? 加密單元提供了高速處理數(shù)據(jù)加 /解密的硬件。 ? 每個 IXP2850包含兩個相同的、獨立運行的硬件單元,由程序員決定如何使用這兩個硬件單元。 ? 每個硬件單元包含了可執(zhí)行多種加密標準的硬件: ? 兩個 3DES/DES核 ? 一個 AES核,可以使用 12 192或 256比特的密鑰 ? 兩個用于認證的 SHA1核 ? 支持一些常見的標準,如 ECB和 CBC ? 所有加密信息(如密鑰)包含在兩個加密硬件單元中,不會保存在共享存儲器中。 ? 從程序員的角度來看,加密單元是用一個 API來訪問的。 總結(jié) ? 提高并行處理能力是 IXP2xxx的主要設計考慮: ? 包含多個微引擎,每個微引擎有自己的專用資源 ? 每個微引擎包含多個硬件線程,每個硬件線程有自己的專用資源 ? 并行操作的功能單元,每個功能單元有自己的命令緩存隊列、指令譯碼和指令邏輯 ? 多條分立的總線,且讀 /寫總線分開 ? 通用寄存器組分成兩個 bank ? 傳輸寄存器按總線及方向劃分 ? MSF包含獨立的接收和發(fā)送接口 ? DRAM支持多個 bank及交織操作 主要內(nèi)容 ? Intel網(wǎng)絡處理器概述 ? XScale核 ? 微引擎 ? 其它功能單元 ? 編程模型 ? 參考設計 網(wǎng)絡應用結(jié)構(gòu) ? 數(shù)據(jù)面:高速處理和轉(zhuǎn)發(fā)數(shù)據(jù)包,對性能影響最大。 ? 快路徑:微引擎,處理絕大部分的數(shù)據(jù)包。 ? 慢路徑: XScale Core,處理例外包。 ? 控制面:處理協(xié)議消息,并負責建立、配置和更新由數(shù)據(jù)面所使用的表及其它數(shù)據(jù)結(jié)構(gòu)。 ? 管理面:負責系統(tǒng)配置、收集和報告統(tǒng)計信息、根據(jù)用戶輸入或來自其它應用的消息停止或啟動應用。 為微引擎和 XScale編碼 ? 區(qū)分微引擎和 XScale對程序員來說很重要: ? 為微引擎編寫的代碼經(jīng)編譯后下載到裸露的硬件上執(zhí)行,因此程序員必須直接處理硬件的所有方面; ? 為 XScale編寫的代碼編譯后運行在操作系統(tǒng)下,程序員不需要描寫所有的低層操作,必須使用操作系統(tǒng)功能來執(zhí)行底層任務。 ? 由于訪問微引擎的所有 API位于內(nèi)核地址空間,因此XScale上的代碼必須被設計為是可裝載內(nèi)核模
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1