• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于高速串行總線的DMA結構的pipeline讀寫方法技術

    技術編號:8131058 閱讀:236 留言:0更新日期:2012-12-27 03:13
    本發明專利技術公開了一種基于高速串行總線的DMA結構的pipeline讀寫方法,主機通過DCR設置DMA寄存器,TX狀態機根據設置依次循環發送讀描述符,讀數據和寫描述符請求,然后由端口狀態機控制完成上述各種請求,端口狀態機通過LIS總線發出讀或寫操作,端口狀態機發送多個讀描述符與讀數據操作通過LIS總線處理,該LIS總線將所述多個讀請求依次順序發出,然后LIS總線依次接受數據,端口狀態機將收到的數據分別更新到寄存器文件或發送到streamLink接口;同時,RX狀態機根據設置依次循環發送讀描述符,寫數據和寫描述符請求,然后端口狀態機控制完成各種請求,所述端口狀態機通過LIS總線發出讀或寫操作。

    【技術實現步驟摘要】

    本專利技術涉及數據通信領域,具體地,涉及ー種用于讀取內存數據的。
    技術介紹
    目前,隨著計算機技術的發展,總線也由并行總線發展到高速串行總線。總線的讀寫帶寬已經達到了 lGB/s以上,大數據量的讀寫多依靠DMA來處理,所以DMA工作模式,讀寫方式會直接影響總線帶寬的利用率。現有的DMA多為并行總線設計,僅適合于并行總線讀寫方式。如果應用到高速串行總線,會極大地影響讀寫效率,無法發揮高速串行總線的高帶寬。以總線的讀過程為例,總線主端會先發送讀請求,從端收到讀請求,然后響應請求數據,傳輸數據直到完成。并行 總線的響應速度很快,僅幾個時鐘,IOOns內響應讀請求,但是傳輸數據相對較慢。而高速串行總線,由于總線延時較大,讀請求響應很慢,Ius以上,但是數據傳輸比較快。
    技術實現思路
    本專利技術的目的在于,針對上述問題,提出,以實現數據傳輸快并且響應快的優點。為實現上述目的,本專利技術采用的技術方案是 一種,包括寫操作和讀操作 所述讀操作具體步驟如下 主機通過DCR設置DMA寄存器,TX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,讀數據和寫描述符請求,然后由端ロ狀態機控制完成上述各種請求,所述端ロ狀態機通過LIS總線發出讀或寫操作, 所述LIS總線讀寫操作具體如下 所述端ロ狀態機發送多個讀描述符與讀數據操作通過LIS總線處理,該LIS總線將所述多個讀請求依次順序發出,然后LIS總線依次收到數據I、數據2直至數據n,所述端ロ狀態機將收到的數據分別更新到寄存器文件或發送到StreamLink接ロ ; 在主機設置DCR寄存器的同吋,RX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,寫數據和寫描述符請求,然后端ロ狀態機控制完成上述各種請求,所述端ロ狀態機通過LIS總線發出讀或寫操作。進ー步的,所述TX狀態機讀取描述符,包括以下步驟 步驟I:判斷TX狀態機是否處于空閑狀態,若處于空閑狀態則由主機通過DCR寫TX描述符寄存器,TX狀態機檢測TX寄存器, 步驟2 :如果檢測到TX寄存器中當前描述符與結尾描述符不同,則發送ー個CL8R (讀描述符)請求給TX/RX仲裁器,該CL8R請求完成后,將寄存器的完成讀描述符功能位置為完成讀描述符狀態; 步驟3 :連續發送幾個B16R (讀數據)請求給TX/RX仲裁器,直到描述符中要求傳輸的數據全部從內存讀出并發送到StreamLink接ロ,然后將寄存器的完成數據位置位; 步驟4 :所述TX狀態機發送ー個CL8W (寫描述符)請求給TX / RX仲裁器,將完成狀態信息寫回內存,完成CL8W請求之后,將寄存器的繼續信號置位或者將寄存器的停止信號置位,如果狀態寄存器顯示下ー個描述符指針不是ー個空指針和未設置停止結束位,則將寄存器的繼續信號置位并將狀態機轉換到取得描述符狀態,否則將寄存器的停止信號置位并將TX狀態機轉換到空閑狀態。進ー步的,所述RX狀態機讀取描述符,包括以下步驟 步驟I:判斷RX狀態機是否處于空閑狀態,若處于空閑狀態則由主機通過DCR寫RX描述符寄存器,并檢查RX描述符寄存器; 步驟2 :如果檢測到TX寄存器中當前描述符與結尾描述符不同,則發送ー個CL8R請求給TX/RX仲裁器,該CL8R請求完成后,將寄存器的完成讀描述符功能位置為完成讀描述符 狀態; 步驟3 :連續發送幾個B16W (寫數據)請求給TX/RX仲裁器,直到StreamLink接ロ收集到的所有數據并寫入內存,將寄存器的完成數據位置位; 步驟4 :所述RX狀態機發送ー個CL8W的請求給TX / RX仲裁器,在完成該CL8W請求之后,將寄存器的DMA繼續位置位或者將寄存器的DMA停止位置位,如果狀態寄存器顯示下ー個描述符指針不是ー個空指針和未設置停止結束位,則將寄存器的DMA繼續位置位并將狀態機轉換到取得描述符狀態,否則將寄存器的DMA停止位置位并將RX狀態機轉換到空閑狀態。進ー步的,所述端ロ狀態機讀取描述符并將數據發送到TX_streamlink和RX_streamlink接口上,包括以下步驟 步驟I :判斷端ロ狀態機是否處于空閑狀態,如端ロ狀態機處于空閑狀態,則TX/RX仲裁器發出ー個CL8R請求或者B16W請求; 步驟2 :所述端ロ狀態機根據上述的CL8R請求或者B16W請求訪問寄存器文件中的緩沖區地址和緩沖區長度寄存器; 步驟3 :若上述CL8R請求或者B16W請求被接受,則上述端ロ狀態機將緩沖區地址和緩沖區長度計數器的值從寄存器文件載入; 步驟4 :如果所述端ロ狀態機從上述緩沖區載入的地址和數據沒有錯誤,則計數器載入緩沖區的地址和長度計數器的值,然后所述端ロ狀態機發出ー個CL8R或者B16W請求,若這個請求被接受,讀端ロ狀態機可以轉換到步驟5或步驟9兩個狀態中的其中ー個; 步驟5 :若接受CL8R請求,則上述端ロ狀態機在設置控制信號去讀取ー個描述符;并等待端ロ狀態機上的RdDataRdy的信號被置位; 步驟6 :若RdDataRdy的信號被置位,則所述端ロ狀態機請求訪問寄存器文件,從PCIE卡的讀FIFO中獲取下個描述符指針、緩沖區地址、緩沖區長度寄存器以及狀態寄存器值,并將描述符指針、緩沖區地址、緩沖區長度寄存器以及狀態寄存器值存儲在狀態寄存器;步驟7 :所述端ロ狀態機清空寄存器中的描述符,等待StreamLink接ロ接收DMA數據,如StreamLink接ロ接收到Dst_Rdy信號,則所述端ロ狀態機轉換到空閑狀態; 步驟8:若接受B16Ws請求,則上述端ロ狀態機設置控制信號從內存讀數據傳輸到StreamLink接ロ,并將數據存儲到寄存器,端ロ狀態機請求訪問寄存器文件,如果訪問被接受,上述緩沖區地址和緩沖區長度寄存器的值更新為下一次緩沖區地址和緩沖區長度寄存器的值,然后讀取內存中的數據并將該數據發送到StreamLink接ロ ; 步驟9 :如所有的數據獲取完成或者被重置,所述端ロ狀態機就清空所有數據; 步驟10,如數據的最后一個字符被StreamLink接ロ識別,則端ロ狀態機回到空閑狀態。本專利技術的技術方案提供ー種DMA架構,并采用讀取描述符的方法,并將描述符集中讀取中描述符列表中,提前對描述符進行預讀,然后根據預讀的描述符命令進行數據的讀寫,從而達到了數據傳輸快并且響應快的目的。下面通過附圖和實施例,對本專利技術的技術方案做進ー步的詳細描述。·附圖說明附圖用來提供對本專利技術的進ー步理解,并且構成說明書的一部分,與本專利技術的實施例一起用于解釋本專利技術,并不構成對本專利技術的限制。在附圖中 圖I為本專利技術實施例所述的DMA的結構框 圖2為采用了本專利技術所述的DMA結構的PCIE壓縮卡結構框 圖3為本專利技術實施例所述的DMA控制模塊的結構框 圖4為本專利技術所述的RX狀態機讀寫數據的流程 圖5為本專利技術所述的TX狀態機讀寫數據的流程 圖6為本專利技術所述端ロ狀態機讀的流程 圖7為本專利技術所述端ロ狀態機寫的流程 圖8為本專利技術所述的讀時序圖; 圖9為本專利技術所述的讀讀序圖。具體實施例方式以下結合附圖對本專利技術的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本專利技術,并不用于限定本專利技術。如圖I至圖3所示,一種基于高速串行總線的通用DMA結構,包括負責DMA數本文檔來自技高網...

    【技術保護點】
    一種基于高速串行總線的DMA結構的pipeline讀寫方法,其特征在于,包括寫操作和讀操作:?所述讀操作具體步驟如下:主機通過DCR設置DMA寄存器,TX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,讀數據和寫描述符請求,然后由端口狀態機控制完成上述各種請求,所述端口狀態機通過LIS總線發出讀或寫操作,所述LIS總線讀寫操作具體如下:所述端口狀態機發送多個讀描述符與讀數據操作通過LIS總線處理,該LIS總線將所述多個讀請求依次順序發出,然后LIS總線依次收到數據1、數據2直至數據n,所述端口狀態機將收到的數據分別更新到寄存器文件或發送到streamLink接口;在主機設置DCR寄存器的同時,RX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,寫數據和寫描述符請求,然后端口狀態機控制完成上述各種請求,所述端口狀態機通過LIS總線發出讀或寫操作。

    【技術特征摘要】
    1.一種基于高速串行總線的DMA結構的pipeline讀寫方法,其特征在于,包括寫操作和讀操作 所述讀操作具體步驟如下 主機通過DCR設置DMA寄存器,TX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,讀數據和寫描述符請求,然后由端ロ狀態機控制完成上述各種請求,所述端ロ狀態機通過LIS總線發出讀或寫操作, 所述LIS總線讀寫操作具體如下 所述端ロ狀態機發送多個讀描述符與讀數據操作通過LIS總線處理,該LIS總線將所述多個讀請求依次順序發出,然后LIS總線依次收到數據I、數據2直至數據n,所述端ロ狀態機將收到的數據分別更新到寄存器文件或發送到StreamLink接ロ ;· 在主機設置DCR寄存器的同吋,RX狀態機根據所述DMA寄存器設置依次循環發送讀描述符,寫數據和寫描述符請求,然后端ロ狀態機控制完成上述各種請求,所述端ロ狀態機通過LIS總線發出讀或寫操作。2.根據權利要求I所述的基于高速串行總線的DMA結構的pipeline讀寫方法,其特征在于,所述TX狀態機讀取請求如下 步驟I:判斷TX狀態機是否處于空閑狀態,若處于空閑狀態則由主機通過DCR寫TX描述符寄存器,TX狀態機檢測TX寄存器, 步驟2 :如果檢測到TX寄存器中當前描述符與結尾描述符不同,則發送ー個CL8R (讀描述符)請求給TX/RX仲裁器,該CL8R請求完成后,將寄存器的完成讀描述符功能位置為完成讀描述符狀態; 步驟3 :連續發送幾個B16R (讀數據)請求給TX/RX仲裁器,直到描述符中要求傳輸的數據全部從內存讀出并發送到StreamLink接ロ,然后將寄存器的完成數據位置位; 步驟4 :所述TX狀態機發送ー個CL8W (寫描述符)請求給TX / RX仲裁器,將完成狀態信息寫回內存,完成CL8W請求之后,將寄存器的繼續信號置位或者將寄存器的停止信號置位,如果狀態寄存器顯示下ー個描述符指針不是ー個空指針和未設置停止結束位,則將寄存器的繼續信號置位并將? ?狀態機轉換到取得描述符狀態,否則將寄存器的停止信號置位并將TX狀態機轉換到空閑狀態。3.根據權利要求I所述的基于高速串行總線的DMA結構的pipeline讀寫方法,所述RX狀態機讀取請求如下,包括以下步驟 步驟I:判斷RX狀態機是否處于空閑狀態,若處于空閑狀態則由主機通過DCR寫RX描述符寄存器,并檢查RX描述符寄存器; 步驟2 :如果檢測到TX寄存器中當前描述符與結尾描述符不同,則發送ー個CL8R請求給TX/RX仲裁器,該CL8R請求完成后,將寄存器的完成讀描述符功能位置為完成讀描述符狀態; 步驟3 :連續發送幾個B16W (寫數據)請求給TX/R...

    【專利技術屬性】
    技術研發人員:張慶敏張衡胡剛宋君
    申請(專利權)人:無錫眾志和達存儲技術股份有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码少妇一区二区| AV无码人妻中文字幕| 日韩无码系列综合区| 国产av无码久久精品| 97无码人妻福利免费公开在线视频| 久久无码AV中文出轨人妻| 91嫩草国产在线无码观看| 西西4444www大胆无码| 精品人无码一区二区三区| 人妻无码久久精品| 色噜噜综合亚洲av中文无码| 亚洲中久无码不卡永久在线观看| 亚洲AV日韩AV永久无码久久| 国产精品无码永久免费888 | 无码精品国产VA在线观看| 久久久久久国产精品无码超碰| 色综合久久久无码中文字幕| 无码国产69精品久久久久网站| 亚洲国产综合无码一区二区二三区 | 国产精品无码久久久久久久久久| 亚洲国产精品无码专区在线观看| 无码国模国产在线观看免费| 日日摸夜夜添无码AVA片| 人妻无码中文久久久久专区| 超清无码一区二区三区| 国产成人无码aa精品一区| 久久精品国产亚洲AV无码麻豆| 无码专区中文字幕无码| 中国无码人妻丰满熟妇啪啪软件| 亚洲AV无码一区二三区| 亚洲av麻豆aⅴ无码电影| 精品亚洲av无码一区二区柚蜜 | 色欲A∨无码蜜臀AV免费播 | 亚洲天然素人无码专区| 91精品日韩人妻无码久久不卡| 亚洲AV无码一区东京热久久| 中文字幕无码毛片免费看| 自拍中文精品无码| 成人无码AV一区二区| 亚洲精品无码MV在线观看 | 精品无码人妻夜人多侵犯18|