[發明專利]一種硬件管理共享內存的處理方法及裝置有效
| 申請號: | 202110597359.1 | 申請日: | 2021-05-31 |
| 公開(公告)號: | CN113467930B | 公開(公告)日: | 2023-04-14 |
| 發明(設計)人: | 周僑;高鵬;尤凱迪 | 申請(專利權)人: | 翱捷科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/54;G06F12/02 |
| 代理公司: | 上海雙霆知識產權代理事務所(普通合伙) 31415 | 代理人: | 殷曉雪 |
| 地址: | 201203 上海市浦東新區中國*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 硬件 管理 共享 內存 處理 方法 裝置 | ||
本申請公開了一種共享內存的處理方法。將共享內存按照固定的塊大小劃分為多個內存塊。內存分配控制器為每一個處理器、或者為同一個處理器的不同模塊提供一個專有的寄存器,內存分配控制器實現這些寄存器之間互斥。當有處理器需要使用共享內存時,處理器讀取內存分配控制器中對應的專有寄存器,該寄存器返回一個可用內存塊的起始地址信息,處理器由此被分配一個可用內存塊。當有處理器使用完某個數據包需要釋放該數據包時,將需要釋放的數據包交給內存釋放控制器統一進行數據包的釋放;內存釋放控制器將該內存塊的ref?cnt值減1。當某個內存塊的ref?cnt值減為0時,內存釋放控制器才將這個內存塊釋放。本申請解決了多個處理器使用共享內存時互相競爭的問題。
技術領域
本申請涉及一種硬件管理共享內存的處理方法。
背景技術
在手機等智能設備中通常存在多個處理器,如CP(communication?processor,通信處理器)、AP(application?processor,應用處理器)、DSP(數字信號處理器)、Wi-Fi控制單元等。在應用中存在一個處理器接收的數據包交給另一個處理器來處理的場景——例如CP接收的數據包交給AP處理,或者通過Wi-Fi轉發給其他設備處理——這就涉及共享內存使用和釋放的問題。例如某應用通過手機流量播放視頻,下行方向由CP分配內存空間從移動通訊網絡中接收對方的視頻內容。接收完成后,CP將該內存空間交給AP播放出來。播放完成后,由AP直接或者間接釋放該內存空間。上行方向由AP分配內存空間接收本地攝像頭的視頻內容,發送給CP。然后CP通過移動通訊網絡傳遞給對端顯示,CP發送完成后直接或者間接釋放該內存空間。在該示例性的使用場景中,內存存在多個使用者CP和AP,在分配和釋放內存的時候,就需要采取方法來管理內存,避免多方競爭使用同一塊內存空間,或者某一方意外地破壞其他使用者正在使用的內存空間。通常的方法是采用各種處理器之間的軟件鎖,或者處理器以及硬件提供的硬件互鎖機制,來避免競爭,達到滿足各方內存使用需求,妥善管理內存的目的。
但是在當前5G以及高速率網絡應用中,數據包的傳輸速率非常快,對每個數據包的處理時間要求非常短,上述利用軟件、硬件來達成互斥鎖的機制,將對數據包的處理帶來非常大的延遲,以及占用非常多的CPU資源,限制了數據包吞吐率;或者要求更高處理能力的處理器來操作,增加系統功耗和成本。
發明內容
本申請所要解決的技術問題是提供一種硬件管理共享內存的處理方法,不再使用互斥鎖的機制,因而不會帶來大延遲,也不會占用過多的CPU資源。所述硬件包括內存分配控制器和內存釋放控制器。
為解決上述技術問題,本申請提出了一種硬件管理共享內存的處理方法,包括如下步驟。步驟S1:將共享內存按照固定的塊大小劃分為多個內存塊;每個內存塊中實際存儲的數據包的數量記為ref-cnt;ref-cnt值為0的內存塊是可用內存塊;內存分配控制器提供可用內存塊信息給各處理器;內存分配控制器為每一個處理器、或者為同一個處理器的不同模塊提供一個專有的寄存器,由內存分配控制器實現這些寄存器之間的互斥。步驟S2:當有處理器需要使用共享內存時,處理器讀取內存分配控制器中對應的專有寄存器,該寄存器返回一個可用內存塊的起始地址信息,處理器由此被分配一個可用內存塊;處理器記錄分配的每個內存塊的地址,以及分配的每個內存塊的ref-cnt值。步驟S3:當有處理器使用完某個數據包需要釋放該數據包時,處理器將需要釋放的數據包交給內存釋放控制器統一進行數據包的釋放;內存釋放控制器通過該需要釋放的數據包的起始地址計算出其所屬內存塊,并將該內存塊的ref-cnt值減1。步驟S4:當某個內存塊的ref-cnt值減為0時,內存釋放控制器才將這個內存塊釋放。
進一步地,所述步驟S1中,在內存中或內存釋放控制器的內部緩存中存儲:共享內存的起始地址及大小、內存塊的大小。
進一步地,所述步驟S1中,所有可用內存塊的起始地址都記錄在可用內存塊表中。所述步驟S2中,內存分配控制器將已分配的內存塊從可用內存塊表中刪除。所述步驟S4中,內存釋放控制器將已釋放的內存塊的起始地址寫入可用內存塊表中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于翱捷科技股份有限公司,未經翱捷科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110597359.1/2.html,轉載請聲明來源鉆瓜專利網。





