多核導航器學習筆記_第1頁
多核導航器學習筆記_第2頁
多核導航器學習筆記_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、KeyStone I 特征:1)一個硬件隊列管理器,其中包括:8192個隊列(其中一部分有特殊用途);20 個描述符內存區(qū)(descriptor memory region® ;2個鏈接隨機存儲器(linking RAMs),其中一個內部給 QMSS使 用,支持16K的描述符。2)幾個PKTDMA( Packet DMA,包含相互獨立的 Rx DMA和Tx DMA 兩個部件)。3)通過中斷產(chǎn)生實現(xiàn)多核主機之間的相互通知機制。多核導航器的一般特征:1)集中的緩沖區(qū)管理2)集中的數(shù)據(jù)包隊列管理3)獨立協(xié)議的數(shù)據(jù)包等級接口4)支持多通道/多優(yōu)先級的隊列5)支持多重自由緩沖隊列6)高效的主機

2、間的交互機制,可以減少對主機處理的性能要求7)包交接的0拷貝操作(zero copy packet handof多核導航器為主機提供的服務:1)提供為每個通道可以壓入不限數(shù)量的包的機制2)提供數(shù)據(jù)包傳送完成后返回隊列緩沖區(qū)給主機的機制3)提供傳輸通道關閉后恢復隊列緩沖區(qū)機制4)提供給每個接收端口分配緩沖區(qū)資源的機制5) 提供在完成數(shù)據(jù)接收后,傳遞緩沖區(qū)給主機的機制6) 提供在接收通道關閉后自動慢慢地停止接收數(shù)據(jù)的機制隊列管理器(Queue Manager)隊列管理器是一個硬件模塊,它負責數(shù)據(jù)包隊列的加速管理數(shù)據(jù)包直接內存存取(Packet DMA, PKTDMA)被傳輸數(shù)據(jù)的目的地址是由目的地

3、和自由描述符隊列索引一起決 定的,而不是一個絕對的內存地址。傳輸?shù)臄?shù)據(jù)都是一維的數(shù)據(jù)流。1) 通道在系統(tǒng)中每個PKTDMA可以被配置多個Rx以及Tx通道??赏?時雙向傳輸。2) Rx 流(Rx Flows)對于發(fā)送模式,Tx DMA使用描述符中的信息決定如何處理Tx包。對于接收模式,Rx DMA使用flow來完成任務。這里所謂的flow 就是一系列指令集,這些指令集告訴 Rx DMA如何處理Rx Packet。 Rx通道與Rx流之間沒有通信機制,但是 Rx包和Rx流之間有通信 機制。導航云(Navigator Cloud)由一系列的PKTDMAs和descriptors組成的。打包數(shù)據(jù)結構協(xié)處

4、理器(packed-data structure processors PDSP)在QMSS中有兩個或八個 PDSPs每個PDSP都具有運行固件QMSS相關功能的能力,比如累加、QoS以及時間管理累加固件的工作是測試被選中的隊列集合,并查詢是否有描述符 被壓進來。QoS的職責是確保周邊設備和主機CPU不會再數(shù)據(jù)包的影響下混 亂,這也被普遍稱為流量整形(traffic shapi ng)。時間管理器是由導航器運行時間軟件控制的,導航器運行時間軟 件是由 PDSP固件調度器(scheduler)和CorePac軟件調度器(dispatcher)組成的。包(Packets)所謂“包”指的是一個描述符

5、以及附加在其上的負載數(shù)據(jù)(payloaddata)的邏輯組合體。負載數(shù)據(jù)可以是一個數(shù)據(jù)包也可以是數(shù)據(jù)緩存, 由不同類型的描述符決定。負載數(shù)據(jù)可以和描述符連續(xù)放在一起,也 可以放在別的地方,通過一個指針存放在描述符中加以指引。隊列(Queue®隊列通常用來保存指向包的指針,這些包將在主機或者系統(tǒng)外設 之間傳遞。隊列是在隊列管理器模塊中維護的。1) 包入隊列操作(Packet Queuing將指向描述符的執(zhí)政寫入隊列管理器模塊指定的地址中去。該包 可以被壓入到隊列的頭部揮著尾部,這是由隊列的Queue Register C來決定的。一般默認是壓入尾部。2) 包出隊列操作(Packet D

6、e-queuing從隊列管理器相應的地址中讀取排在最前面的包(head packet) 的指針。當最前面的頭指針被讀取之后,隊列管理器將頭指針設為無 效,并用隊列中的下一個包的指針替換它。3)隊列代理器(Queue Proxy)隊列代理器是KeyStone架構設備中的一個模塊,它主要提供不同 內核之間壓入隊列的原子操作。隊列代理器的目的是在接受一個 Que N Reg C的寫操作,且緊跟著一個 Que N Reg D的寫操作時,不允許 其他內核有插入隊列操作。壓入隊列代理器的操作和寫隊列管理器區(qū) 域Que N的Reg C以及Reg D是等同的,唯一的區(qū)別是使用了不同 的地址(隊列代理區(qū)域中相同

7、的偏移量)引入隊列代理器的另外一個原因是多任務環(huán)境。在多線程中,代 理器不能區(qū)分來自同一個核,但是具有不同源的寫操作。隊列的類型1)發(fā)送隊列(Transmit Queues發(fā)送端口( Tx port)使用發(fā)送隊列,存儲處于等待狀態(tài)且將要被 發(fā)送的包。為了實現(xiàn)這一目的,Tx Ports為每一個發(fā)送通道保留一個 或多個專用的包隊列。通常,Tx隊列在內部被連接到一個指定的PKTDMA發(fā)送通道。2)發(fā)送完成隊列(Transmit completion QueuesTx port也會使用名為發(fā)送完成隊列的包隊列,在包被發(fā)送之后,將 包返回給主機。它也可以理解為 Tx釋放描述符隊列。只有在包的描述符中指示

8、出這個包被返回給隊列, 而不是直接回收時,才會使用發(fā) 送完成隊列。3)接收隊列(Receive Queues接收端口( Rx port)會使用接收隊列,將已經(jīng)完成接收的包向前 傳輸給主機或者其他等同的實體。 接收通道可以配置成各種方式,將 接收到的包傳遞給接收隊列。接收端口可以嚴格根據(jù)Rx通道,協(xié)議類型,優(yōu)先級別,前向傳輸要求,上述因素的組合以及應用規(guī)范等決 定對接收數(shù)據(jù)包進行排列。在很多情況下,接收隊列事實上對于另外 一個等同的實體也是一個發(fā)送隊列。 是發(fā)送隊列還是接收隊列,取決 于在系統(tǒng)的參考點。4)釋放描述符隊列(Free Descriptor Queues接收端口使用釋放描述符隊列完成

9、對 Rx DMA裝載數(shù)據(jù)的初始化 以及準備工作,其操作與描述符的類型有關。a. 主機包釋放描述符排列在FDQ的主機包必須有一個緩存連接到它們,同時緩存的大 小設置要合適。Rx DMA根據(jù)需要彈出主機包,并根據(jù)其中指示的緩 存大小填充它們。b. 單一釋放描述符Rx DMA并不從單一釋放描述符中讀取任何數(shù)值。PKTDMA默認 描述符有足夠的大小容納所有的包數(shù)據(jù)。如果數(shù)據(jù)超過了描述符的大 小,將會覆蓋下一個描述符的內容。描述符(Descriptor)描述符就是一小塊存儲器空間,它用來描述將要在系統(tǒng)中傳輸?shù)?一個數(shù)據(jù)包。1)主機包(Host Packe)主機包描述符具有固定大小描述區(qū)域,這個區(qū)域包括指

10、向數(shù)據(jù) buffer的指針,主機包在發(fā)送通道中,被主機應用所鏈接,在接收通 達中被RxDMA鏈接(主機包能在初始化階段創(chuàng)建一個 Rx FDQ時被 預鏈接)。2)主機緩存(Host Buffer)主機緩存描述符的大小可以隨你不同主機包在其內部發(fā)生變化; 但是決不能放在包的第一個鏈接上(所謂的起始包)。主機緩存可以 包含指向其它主機描述符的鏈接指針。3)單一包(Monolithic Packet)單一包描述符區(qū)域包含負載數(shù)據(jù)。包發(fā)送步驟:(Tx DMA通道初始化好之后,就可以開始傳輸包)1)主機知道存儲器中有一塊或者多塊數(shù)據(jù)需要以包的形式傳輸;2)主機分配一個描述符,通常從Tx完成隊列中分配,并填寫描述符 域和負載數(shù)據(jù)。3)對于主機包的描述符,主機根據(jù)需要分配并且占據(jù)主機緩存描述 符,并指向屬于包的剩余的數(shù)據(jù)塊上。?4)包接收步驟:(Rx DMA通道初始化好之后,就可以開始接收包) 多核導航器的數(shù)據(jù)移動1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論