[發明專利]一種處理器間傳遞消息的方法和裝置有效
| 申請號: | 200610089616.6 | 申請日: | 2006-07-06 |
| 公開(公告)號: | CN101101586A | 公開(公告)日: | 2008-01-09 |
| 發明(設計)人: | 馬衛國 | 申請(專利權)人: | 大唐移動通信設備有限公司 |
| 主分類號: | G06F15/163 | 分類號: | G06F15/163 |
| 代理公司: | 北京集佳知識產權代理有限公司 | 代理人: | 李文紅;逯長明 |
| 地址: | 100083*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理器 傳遞 消息 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別是指一種處理器間傳遞消息的方法和裝置。
背景技術
大型系統中處理器間消息的傳遞通常通過雙端口存儲器連接,處理器間的消息傳遞是通過中斷的方式或標志位查詢的方式進行。
無論采用哪種工作方式,其工作的流程均無較大差別。參見圖1,圖1中包括兩個處理器,發送處理器101,接收處理器102,雙端口存儲器103與兩個處理器相連。
如果采用中斷的方式傳遞消息,發送處理器101需要發送消息時,首先判斷雙端口存儲器103中是否有足夠的空間存儲當前所發送的此條消息。如果雙端口存儲器103中有足夠的空間,則發送處理器101將該消息寫入到雙端口存儲器103中事先約定的位置。
隨后,發送處理器101向接收處理器102發送一個中斷信息,通知接收處理器102存儲器中有發送處理器101發送一條消息。接收處理器102接收到中斷信息后,從雙端口存儲器103中讀取該消息。
當采用中斷方式時,發送處理器每發送一條消息后,向接收處理器發送一次中斷信息,接收處理器每接收到一次中斷,都要暫停當前程序的執行,保護當前的現場,跳轉到中斷服務程序,退出中斷服務程序后再恢復現場,繼續當前程序的執行。響應一次中斷的處理器開銷較大。基于現有的中斷方式,當頻繁的逐條發送消息時,頻繁的中斷不但降低了傳送消息的效率,也降低了處理器的工作效率。
如果采用查詢方式傳遞消息,發送處理器101將一條消息寫入到雙端口存儲器103中后,更改雙端口存儲器103內的特殊標識。接收處理器102通過查詢雙端口存儲器103內的特殊標識,判斷是否有新的消息,如果有新的消息,接收處理器102讀取該條消息。
現有技術中采用兩種不同的方式解決處理器之間的消息傳遞,無論采用哪種方式發送處理器每次都只發送一條消息,接收處理器每次只接收一條消息,因此傳遞消息效率較低。
發明內容
有鑒于此,本發明所解決的技術問題在于提供一種處理器間傳遞消息的方法和裝置,使得在處理間傳遞消息時連續發送和接收,從而提高傳遞效率。
為解決現有技術中存在的問題,本發明提供一種處理器間傳遞消息的方法,包括:
發送處理器將所確定的下一條消息的存儲地址和本次所發送的消息寫入存儲器;
發送處理器在寫地址單元記錄所述確定的下一條消息的存儲地址;
接收處理器在查詢到所述存儲器有新的消息后,從讀地址單元記錄的存儲地址中獲取前述消息及其下一條消息的存儲地址;
接收處理器將所述下一條消息的存儲地址寫入讀地址單元中。
其中,所述下一條消息的存儲地址和本次所發送的消息構成消息鏈表單元。
其中,存儲器采用非連續存儲消息機制,所述寫入存儲器之前包括:發送處理器向其動態內存管理單元中請起始地址為寫地址單元中的地址,長度為本次所發送的消息鏈表單元的存儲空間。
其中,發送處理器申請到長度為本次所發送的消息鏈表單元的存儲空間后,所述寫入存儲器之前包括:發送處理器比較從動態內存管理單元獲取的當前最大的連續空閑存儲空間長度與最大消息鏈表單元長度的大小;
當比較結果為大于或等于時,則發送處理器將當前的最大連續空閑存儲空間的起始地址作為下一條消息鏈表單元的存儲地址;
當比較結果為小于時,則發送處理器讀取讀地址單元中的地址,發送處理器的動態內存管理單元釋放并獲得接收處理器已經讀走的消息鏈表單元的空間,發送處理器重新向動態內存管理單元獲取當前最大連續空閑空間的長度。
其中,存儲器采用連續存儲消息機制,所述發送處理器將所確定的下一條消息的存儲地址和本次所發送的消息寫入存儲器之前包括:
發送處理器確定存儲器中以寫地址單元的地址為起始地址的連續空閑空間是否有足夠空間存儲本次發送的消息鏈表單元,如果有,則寫入本次發送的消息鏈表單元;如果沒有,則退出本次發送。
其中,發送處理器確定存儲器中以寫地址單元的地址為起始地址的連續空閑空間是否足夠存儲本次發送的消息鏈表單元的過程包括:
發送處理器讀取讀地址單元、寫地址單元中的地址進行比較,
如果讀地址單元中的地址大于寫地址單元中的地址,則判斷寫地址單元中地址與當前所發送的消息鏈表單元長度之和是否小于以寫地址單元中地址為起始地址到以讀地址單元中地址為末地址的空間長度,如果小于,則表明有空間;如果大于或等于,則表明沒有空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐移動通信設備有限公司,未經大唐移動通信設備有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610089616.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種制備光學純度叔亮氨酸的方法
- 下一篇:電子裝置





