[發(fā)明專利]通過隊(duì)列交換信息的方法和處理隊(duì)列的系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710451236.0 | 申請日: | 2017-06-15 |
| 公開(公告)號: | CN109144742B | 公開(公告)日: | 2020-02-07 |
| 發(fā)明(設(shè)計(jì))人: | 黃好城;王祎磊;伍德斌;蘭彤 | 申請(專利權(quán))人: | 北京憶芯科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F13/28 |
| 代理公司: | 11572 北京卓特專利代理事務(wù)所(普通合伙) | 代理人: | 段宇 |
| 地址: | 100085 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 隊(duì)列 交換信息 存儲器 處理隊(duì)列 隊(duì)列獲取 寫入 存儲空間 申請 | ||
本申請公開了通過隊(duì)列交換信息的方法和處理隊(duì)列的系統(tǒng)。公開的通過隊(duì)列交換信息的方法包括:第一生產(chǎn)者將第一消息寫入隊(duì)列;第一消費(fèi)者從隊(duì)列獲取第一消息;第一消費(fèi)者將第一消息的處理結(jié)果寫入隊(duì)列內(nèi)的第一消息;其中,第一消息的處理結(jié)果形成第二消息;第二消費(fèi)者從隊(duì)列獲取第二消息。本申請的存儲器中的單一隊(duì)列,既用于第一生產(chǎn)者向第一消費(fèi)者提交第一信息,也用于第一消費(fèi)者向第二消費(fèi)者提交第二信息,從而降低了對存儲器的存儲空間的需求。
技術(shù)領(lǐng)域
本申請涉及電子設(shè)備技術(shù)領(lǐng)域,尤其涉及通過隊(duì)列交換信息的方法和處理隊(duì)列的系統(tǒng)。
背景技術(shù)
在電子設(shè)備與外部設(shè)備之間可以進(jìn)行DMA(Direct Memory Access,直接存儲器訪問)傳輸。如圖1所示,電子設(shè)備100包括物理層(PHY)模塊110、DMA模塊120、存儲器130以及中央處理器(CPU)140。
外部設(shè)備300通過PHY模塊110耦合到電子設(shè)備100,實(shí)現(xiàn)電子設(shè)備100與外部設(shè)備300之間進(jìn)行DMA傳輸。電子設(shè)備100還耦合到存儲器400。在DMA傳輸中,在DMA模塊120的控制下,將存儲器400的數(shù)據(jù)傳輸給外部設(shè)備300,或者將外部設(shè)備300提供的數(shù)據(jù)存儲到存儲器400。作為舉例,存儲器400是DRAM(動態(tài)隨機(jī)存取存儲器),同存儲器130相比,存儲器400具有更大的存儲容量。
CPU 140通過生成DMA命令(或稱DMA描述符,用于指示在電子設(shè)備100與外部設(shè)備300之間的一次或多次DMA傳輸)并寫入存儲器130來指示DMA模塊120進(jìn)行DMA傳輸。并且,響應(yīng)于DMA傳輸?shù)耐瓿桑珼MA模塊120將DMA命令的執(zhí)行結(jié)果寫入存儲器130,從而使CPU 140知曉DMA命令處理完成,并從獲得DMA命令的執(zhí)行結(jié)果。因此,在傳輸DMA命令時,CPU 140和DMA模塊120形成一對生產(chǎn)者和消費(fèi)者;在傳輸DMA命令的執(zhí)行結(jié)果時,DMA模塊120和CPU 140形成另一對生產(chǎn)者和消費(fèi)者。
現(xiàn)有技術(shù)中,存儲器130中設(shè)有兩個隊(duì)列,一個隊(duì)列用于傳輸DMA命令,另一個隊(duì)列用于傳輸DMA命令的執(zhí)行結(jié)果。兩個隊(duì)列的使用對存儲器提出了很高的存儲空間要求,同時降低了數(shù)據(jù)處理速度。
發(fā)明內(nèi)容
本申請的目的在于提供一種通過隊(duì)列交換信息的方法和處理隊(duì)列的系統(tǒng),用于降低對存儲器的存儲空間的需求,提高數(shù)據(jù)處理速度。
根據(jù)本申請的第一方面,提供了根據(jù)本申請第一方面的通過隊(duì)列交換信息的第一方法,包括:
第一生產(chǎn)者將第一消息寫入隊(duì)列;
第一消費(fèi)者從隊(duì)列獲取第一消息;
第一消費(fèi)者將第一消息的處理結(jié)果寫入隊(duì)列內(nèi)的第一消息;其中,第一消息的處理結(jié)果形成第二消息;
第二消費(fèi)者從隊(duì)列獲取第二消息。
根據(jù)本申請的第一方面的通過隊(duì)列交換信息的第一方法,提供了根據(jù)本申請第一方面的通過隊(duì)列交換信息的第二方法,其中,第一生產(chǎn)者依據(jù)隊(duì)列的寫指針將第一消息寫入隊(duì)列;
第一消費(fèi)者依據(jù)隊(duì)列的讀指針從隊(duì)列獲取第一消息;
第一消費(fèi)者依據(jù)讀指針將第二消息寫入隊(duì)列。
根據(jù)本申請的第一方面的通過隊(duì)列交換信息的第一方法,提供了根據(jù)本申請第一方面的通過隊(duì)列交換信息的第三方法,其中,第一生產(chǎn)者依據(jù)隊(duì)列的寫指針將第一消息寫入隊(duì)列;
第一消費(fèi)者依據(jù)隊(duì)列的讀指針從隊(duì)列獲取第一消息;
第一消費(fèi)者記錄第一消息在隊(duì)列中的位置,并依據(jù)所記錄的位置將第二消息寫入隊(duì)列。
根據(jù)本申請的第一方面的通過隊(duì)列交換信息的第一至第三方法之一,提供了根據(jù)本申請第一方面的通過隊(duì)列交換信息的第四方法,其中,第二消費(fèi)者依據(jù)隊(duì)列的讀完成指針從隊(duì)列獲取第二消息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京憶芯科技有限公司,未經(jīng)北京憶芯科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710451236.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種接口擁塞時延的計(jì)算方法及裝置
- 一種報文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置





