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

    一種總線通信方法及系統技術方案

    技術編號:14990459 閱讀:114 留言:0更新日期:2017-04-03 21:19
    本申請公開了一種總線通信方法及系統,通過一級緩存接收總線數據;在DMA數據傳輸啟動時,將一級緩存接收的總線數據保存到二級緩存中,并將二級緩存中的總線數據保存到三級緩存中;三級緩存的容量大于二級緩存的容量;在將三級緩存存滿時,中斷DMA數據傳輸,向CPU發送DMA中斷請求,以使CPU在接收到DMA中斷請求后將三級緩存中保存的總線數據提取到本地磁盤中。本申請提供的方案,在二級緩存后增加了三級緩存,且三級緩存的容量大于二級緩存的容量,在三級緩存的容量存滿時再向CPU發送DMA中斷請求,可以降低CPU轉移總線數據的頻率,從而降低CPU負載和磁盤負載,便于及時處理其他線程任務,提高設備性能。

    【技術實現步驟摘要】

    本專利技術涉及數據通信
    ,尤其涉及一種總線通信方法及系統
    技術介紹
    在高帶寬數據通信中,例如在使用千兆以太網,PCIe通信協議的工況下,為了保證數據可被正確快速地接收,大多采用DMA(DirectMemoryAccess,直接內存存取)數據傳輸方式傳輸數據。DMA是一種不經過CPU而直接從內存存取數據的數據交換模式,在DMA方式下,CPU只須向DMA控制器下達指令,讓DMA控制器來處理數據的傳送,底層硬件板卡在接收到數據后,將數據直接通過DMA數據傳輸方式存儲到主機分配的DMA緩存中,數據傳送完畢再通過DMA中斷把信息反饋給CPU,CPU通過DMA中斷感知到數據已經存放到DMA緩存后,便將此數據保存到本地磁盤,之后下一輪的DMA數據傳輸才能開始,這樣可以避免CPU頻繁訪問底層硬件,在進行數據傳輸尤其是大數據量傳輸時可以很大程度上減輕CPU的資源占用率。但是,由于每一輪的DMA數據傳輸完成后均需要CPU將數據保存到本地磁盤,當每輪DMA數據傳輸之間的間隔時間較短時,便需要CPU頻繁地將數據從DMA緩存轉移到本地磁盤,從而導致CPU負載和磁盤負載過高,無法及時處理其他線程任務,降低設備性能。
    技術實現思路
    本專利技術提供一種總線通信方法及系統,以降低CPU負載和磁盤負載,便于及時處理其他線程任務,提高設備性能。為解決上述技術問題,本專利技術實施例提供以下技術方案:一種總線通信方法,包括:通過一級緩存接收總線數據;在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述總線數據保存到二級緩存中,并將所述二級緩存中的所述總線數據保存到三級緩存中;所述三級緩存的容量大于所述二級緩存的容量;在將所述三級緩存存滿時,中斷所述DMA數據傳輸,向CPU發送DMA中斷請求,以使所述CPU在接收到所述DMA中斷請求后將所述三級緩存中保存的所述總線數據提取到本地磁盤中。優選地,所述一級緩存中包括多個設置有序號的一級緩存空間;所述通過一級緩存接收總線數據,包括:接收所述總線數據,并按照所述一級緩存空間的序號保存接收的所述總線數據,在將一個所述一級緩存空間存滿后,再使用下一個所述一級緩存空間繼續保存,直到將所有的所述一級緩存空間存滿后,再重新按照所述一級緩存空間的序號保存接收的所述總線數據,覆蓋每一個所述一級緩存空間中的原有數據。優選地,所述二級緩存中包括多個設置有序號的二級緩存空間;所述在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述總線數據保存到二級緩存中,包括:在所述一級緩存中的任意一個所述一級緩存空間被存滿時,記錄被存滿的所述一級緩存空間的序號;在所述DMA數據傳輸啟動時,檢測所述二級緩存中是否存在可以保存數據的所述二級緩存空間;如果存在,判斷上一次保存數據的所述二級緩存空間的序號,并從可以保存數據的所述二級緩存空間中選擇與上一次保存數據的所述二級緩存空間不同的所述二級緩存空間,將被存滿的所述一級緩存空間中的所述總線數據保存到所選擇的所述二級緩存空間中。優選地,所述三級緩存中包括多個設置有序號的三級緩存空間;所述將所述二級緩存中的所述總線數據保存到三級緩存中,包括:檢測所述三級緩存中是否存在尚未被存滿的所述三級緩存空間;如果存在,在將被存滿的所述一級緩存空間中的所述總線數據保存到所選擇的所述二級緩存空間中后,將所選擇的所述二級緩存空間中的所述總線數據保存到尚未被存滿的所述三級緩存空間中。優選地,在所述向CPU發送DMA中斷請求之后,還包括:檢測所述三級緩存中的所述總線數據是否已被保存到所述本地磁盤中;如果是,則將所述三級緩存中的所述總線數據清空,并重新啟動所述DMA數據傳輸。一種總線通信系統,包括:接收模塊,用于通過一級緩存接收總線數據;保存模塊,用于在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述總線數據保存到二級緩存中,并將所述二級緩存中的所述總線數據保存到三級緩存中;所述三級緩存的容量大于所述二級緩存的容量;中斷模塊,用于在將所述三級緩存存滿時,中斷所述DMA數據傳輸,向CPU發送DMA中斷請求,以使所述CPU在接收到所述DMA中斷請求后將所述三級緩存中保存的所述總線數據提取到本地磁盤中。優選地,所述一級緩存中包括多個設置有序號的一級緩存空間;所述接收模塊,具體用于:接收所述總線數據,并按照所述一級緩存空間的序號保存接收的所述總線數據,在將一個所述一級緩存空間存滿后,再使用下一個所述一級緩存空間繼續保存,直到將所有的所述一級緩存空間存滿后,再重新按照所述一級緩存空間的序號保存接收的所述總線數據,覆蓋每一個所述一級緩存空間中的原有數據。優選地,所述二級緩存中包括多個設置有序號的二級緩存空間;所述保存模塊,包括:記錄單元,用于在所述一級緩存中的任意一個所述一級緩存空間被存滿時,記錄被存滿的所述一級緩存空間的序號;第一檢測單元,用于在所述DMA數據傳輸啟動時,檢測所述二級緩存中是否存在可以保存數據的所述二級緩存空間;選擇單元,用于如果所述二級緩存中存在可以保存數據的所述二級緩存空間,判斷上一次保存數據的所述二級緩存空間的序號,并從可以保存數據的所述二級緩存空間中選擇與上一次保存數據的所述二級緩存空間不同的所述二級緩存空間,將被存滿的所述一級緩存空間中的所述總線數據保存到所選擇的所述二級緩存空間中。優選地,所述三級緩存中包括多個設置有序號的三級緩存空間;所述保存模塊,還包括:第二檢測單元,用于檢測所述三級緩存中是否存在尚未被存滿的所述三級緩存空間;保存單元,用于如果所述三級緩存中存在尚未被存滿的所述三級緩存空間,在將被存滿的所述一級緩存空間中的所述總線數據保存到所選擇的所述二級緩存空間中后,將所選擇的所述二級緩存空間中的所述總線數據保存到尚未被存滿的所述三級緩存空間中。優選地,還包括:檢測模塊,用于檢測所述三級緩存中的所述總線數據是否已被保存到所述本地磁盤中;重啟模塊,用于如果所述三級緩存中的所述總線數據已被保存到所述本地磁盤中,則將所述三級緩存中的所述總線數據清空,并重新啟動所述DMA數據傳輸。由上可見,本申請提供的一種總線通信方法及系統,通過一級緩存接收總線數據;在DMA數據傳輸啟動時,將所述一級緩存接收的所述總線數據保存到二級緩存中,并將所述二級緩存中的所述總線數據保存到三級緩存中本文檔來自技高網...

    【技術保護點】
    一種總線通信方法,其特征在于,包括:通過一級緩存接收總線數據;在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述總線數據保存到二級緩存中,并將所述二級緩存中的所述總線數據保存到三級緩存中;所述三級緩存的容量大于所述二級緩存的容量;在將所述三級緩存存滿時,中斷所述DMA數據傳輸,向CPU發送DMA中斷請求,以使所述CPU在接收到所述DMA中斷請求后將所述三級緩存中保存的所述總線數據提取到本地磁盤中。

    【技術特征摘要】
    1.一種總線通信方法,其特征在于,包括:
    通過一級緩存接收總線數據;
    在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述總線
    數據保存到二級緩存中,并將所述二級緩存中的所述總線數據保存到三級緩
    存中;所述三級緩存的容量大于所述二級緩存的容量;
    在將所述三級緩存存滿時,中斷所述DMA數據傳輸,向CPU發送DMA
    中斷請求,以使所述CPU在接收到所述DMA中斷請求后將所述三級緩存中
    保存的所述總線數據提取到本地磁盤中。
    2.根據權利要求1所述的方法,其特征在于,所述一級緩存中包括多個
    設置有序號的一級緩存空間;
    所述通過一級緩存接收總線數據,包括:
    接收所述總線數據,并按照所述一級緩存空間的序號保存接收的所述總
    線數據,在將一個所述一級緩存空間存滿后,再使用下一個所述一級緩存空
    間繼續保存,直到將所有的所述一級緩存空間存滿后,再重新按照所述一級
    緩存空間的序號保存接收的所述總線數據,覆蓋每一個所述一級緩存空間中
    的原有數據。
    3.根據權利要求2所述的方法,其特征在于,所述二級緩存中包括多個
    設置有序號的二級緩存空間;
    所述在直接內存存取DMA數據傳輸啟動時,將所述一級緩存接收的所述
    總線數據保存到二級緩存中,包括:
    在所述一級緩存中的任意一個所述一級緩存空間被存滿時,記錄被存滿
    的所述一級緩存空間的序號;
    在所述DMA數據傳輸啟動時,檢測所述二級緩存中是否存在可以保存數
    據的所述二級緩存空間;
    如果存在,判斷上一次保存數據的所述二級緩存空間的序號,并從可以
    保存數據的所述二級緩存空間中選擇與上一次保存數據的所述二級緩存空間
    不同的所述二級緩存空間,將被存滿的所述一級緩存空間中的所述總線數據
    保存到所選擇的所述二級緩存空間中。
    4.根據權利要求3所述的方法,其特征在于,所述三級緩存中包括多個

    \t設置有序號的三級緩存空間;
    所述將所述二級緩存中的所述總線數據保存到三級緩存中,包括:
    檢測所述三級緩存中是否存在尚未被存滿的所述三級緩存空間;
    如果存在,在將被存滿的所述一級緩存空間中的所述總線數據保存到所
    選擇的所述二級緩存空間中后,將所選擇的所述二級緩存空間中的所述總線
    數據保存到尚未被存滿的所述三級緩存空間中。
    5.根據權利要求1所述的方法,其特征在于,在所述向CPU發送DMA
    中斷請求之后,還包括:
    檢測所述三級緩存中的所述總線數據是否已被保存到所述本地磁盤中;
    如果是,則將所述三級緩存中的所述總線數據清空,并重新啟動所述
    DMA數據傳輸。
    6.一種總線通信系統,其特征在于,包括:
    接收模塊,用于通過一...

    【專利技術屬性】
    技術研發人員:汪宇雷
    申請(專利權)人:北京經緯恒潤科技有限公司
    類型:發明
    國別省市:北京;11

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

    1
    主站蜘蛛池模板: 亚洲AV综合色区无码一二三区| 少妇精品无码一区二区三区| 无码国模国产在线观看免费| 亚洲精品无码久久不卡| 午夜精品久久久久久久无码| 色爱无码AV综合区| 天堂Av无码Av一区二区三区| 永久免费AV无码网站国产| av无码免费一区二区三区| 中文字字幕在线中文无码 | 日韩人妻无码一区二区三区99| 麻豆精品无码国产在线果冻| 无码中文字幕乱在线观看| 麻豆人妻少妇精品无码专区| 亚洲中文字幕无码亚洲成A人片 | 午夜人性色福利无码视频在线观看 | 少妇人妻无码精品视频| 国产仑乱无码内谢| 日韩av无码国产精品| 精品欧洲AV无码一区二区男男| 一本加勒比HEZYO无码人妻| 人妻无码久久中文字幕专区| 精品无码专区亚洲| 免费无遮挡无码永久在线观看视频| 精品人妻系列无码天堂| 亚洲av无码无在线观看红杏| 亚洲综合无码精品一区二区三区| 一本大道无码日韩精品影视| 免费无码看av的网站| 2020无码专区人妻系列日韩| 久久久久无码精品国产app| 精品久久久无码人妻中文字幕豆芽| 亚洲成av人无码亚洲成av人| 亚洲午夜无码久久久久软件| 亚洲国产成人无码AV在线| 国产精品无码久久四虎| 无码精品不卡一区二区三区| 无码精品A∨在线观看无广告| 性色AV一区二区三区无码| 国产嫖妓一区二区三区无码| 亚洲精品无码永久在线观看|