【技術實現步驟摘要】
本專利技術涉及報文收發,具體而言,涉及一種報文傳輸方法、報文收發方法、裝置、設備及存儲介質。
技術介紹
1、dma(direct?memory?access,直接內存訪問)是一種cpu與外部設備交互的一種方式,和傳統的io(輸入輸出)相比,原來由cpu做的事情由dmac(direct?memory?accesscontrol,直接內存訪問控制器)代替,即從外部設備直接到內存的過程由dmac來做,而不再是cpu。
2、dmac和cpu之間使用描述符進行通信。描述符是一塊特定格式的內存。描述符以環的方式實現。dmac的每個通道都有各自的描述符環,通過描述符環中的信息,dmac將報文存放到指定的內存地址,處理完成后通知cpu取數據,cpu再從指定的內存地址中取出報文。同樣地,cpu將報文存放到指定的內存地址,處理完成后通知dmac取數據,dmac再從指定的內存地址中取出報文并發送。
3、當前描述符中包含表示實際報文存放的雙倍速率同步動態隨機存儲器的內存地址,以實際物理地址總線的編址形式存在。dmac可以基于此地址訪問相應的內存,而cpu不能直接基于此地址訪問,必須將此地址經過頁面映射為虛擬地址后,cpu才能訪問相應的內存,即收發報文時,cpu側需要看到相應內存的邏輯地址,dmac又需要看到相應內存的物理地址,會占用大量cpu資源來頻繁進行邏輯地址和物理地址的轉換,影響收發報文性能。
技術實現思路
1、本專利技術提供了一種報文傳輸方法、報文收發方法、裝置、設備及存儲
2、本專利技術的技術方案可以這樣實現:
3、第一方面,本專利技術提供一種報文傳輸方法,應用于電子設備的cpu,所述電子設備還包括dmac,所述方法包括:
4、為所述dmac的描述符分配對應的數據內存,并將所述數據內存的物理地址和邏輯地址同時賦值到所述描述符中,得到處理后的描述符;
5、基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸。
6、可選地,所述基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸的步驟包括:
7、在接收到第一指令時,從處理后的描述符中獲取所述數據內存的邏輯地址,并按照所述邏輯地址從所述數據內存中讀取待收取報文;
8、其中,所述待收取報文是所述dmac接收的報文,所述第一指令是所述dmac在按照從處理后的描述符中獲取的所述數據內存的物理地址,將所述待收取報文寫入所述數據內存后發送的。
9、可選地,所述基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸的步驟還包括:
10、從處理后的描述符中獲取所述數據內存的邏輯地址,并按照所述數據內存的邏輯地址將待發送報文寫入所述數據內存;
11、向所述dmac發送第二指令,使所述dmac在接收到所述第二指令后,按照從處理后的描述符中獲取的所述數據內存的物理地址,讀取所述數據內存中的所述待發送報文,并進行報文發送。
12、第二方面,本專利技術提供一種報文收發方法,應用于電子設備中的dmac,所述電子設備還包括cpu,所述方法包括:
13、基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸,以實現報文的收取和發送;
14、其中,所述預設描述符是由所述cpu對所述dmac的描述符分配對應的數據內存,并將所述數據內存的物理地址和邏輯地址同時賦值到所述dmac的描述符中得到的。
15、可選地,所述基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸的步驟包括:
16、按照從預設描述符中獲取的物理地址,將接收到的報文寫入所述預設描述符對應的數據內存;
17、發送第一指令給所述cpu,以使所述cpu在接收到第一指令后,按照從預設描述符中獲取的邏輯地址,從所述預設描述符對應的數據內存中讀取所述dmac接收到的報文。
18、可選地,所述基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸的步驟還包括:
19、在接收到第二指令時,按照從預設描述符中獲取的物理地址,從所述預設描述符對應的數據內存中讀取待發送報文,并進行報文發送;
20、其中,所述待發送報文是所述cpu按照從預設描述符中獲取的邏輯地址寫入所述預設描述符對應的數據內存中的,所述第二指令是所述cpu在將所述待發送報文寫入所述預設描述符對應的數據內存后發送的。
21、第三方面,本專利技術提供一種報文傳輸裝置,應用于電子設備的cpu,所述電子設備還包括dmac,所述裝置包括:
22、描述符處理模塊,用于為所述dmac的描述符分配對應的數據內存,并將所述數據內存的物理地址和邏輯地址同時賦值到所述描述符中,得到處理后的描述符;
23、數據處理模塊,用于基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸。
24、第四方面,本專利技術提供一種報文收發裝置,應用于電子設備中的dmac,所述電子設備還包括cpu,所述裝置包括:
25、報文處理模塊,用于基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸,以實現報文的收取和發送;其中,所述預設描述符是由所述cpu對所述dmac的描述符分配對應的數據內存,并將所述數據內存的物理地址和邏輯地址同時賦值到所述dmac的描述符中得到的。
26、第五方面,本專利技術提供一種電子設備,其包括cpu、dmac以及存儲器,所述存儲器存儲有第一計算機程序和第二計算機程序,所述第一計算機程序被所述cpu執行時實現如前述第一方面所述的報文傳輸方法,所述第二計算機程序被所述dmac執行時實現如前述第二方面所述的報文收發方法。
27、第六方面,本專利技術提供一種計算機可讀存儲介質,其存儲有第一計算機程序和第二計算機程序,所述第一計算機程序被cpu執行時實現如前述第一方面所述的報文傳輸方法,所述第二計算機程序被dmac執行時實現如前述第二方面所述的報文收發方法。
28、相較于現有技術,本專利技術提供的應用于cpu報文傳輸方法:為dmac的描述符分配對應的數據內存,并將數據內存的物理地址和邏輯地址同時賦值到描述符中,得到處理后的描述符;再基于處理后的描述符,與dmac通過數據內存進行報文傳輸。由于本專利技術通過將數據內存的物理地址和邏輯地址同時賦值到描述符中,使cpu可以直接基于描述符獲知相應數據內存的邏輯地址,dmac也可以直接基于描述符獲知相應數據內存的物理地址,從而在報文收發時無需頻繁進行邏輯地址和物理地址的轉換,避免因大量cpu資源被占用影響報文收發性能。
本文檔來自技高網...【技術保護點】
1.一種報文傳輸方法,其特征在于,應用于電子設備的CPU,所述電子設備還包括DMAC,所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述基于處理后的描述符,與所述DMAC通過所述數據內存進行報文傳輸的步驟包括:
3.如權利要求2所述的方法,其特征在于,所述基于處理后的描述符,與所述DMAC通過所述數據內存進行報文傳輸的步驟還包括:
4.一種報文收發方法,其特征在于,應用于電子設備中的DMAC,所述電子設備還包括CPU,所述方法包括:
5.如權利要求4所述的方法,其特征在于,所述基于預設描述符,與所述CPU通過所述預設描述符對應的數據內存進行報文傳輸的步驟包括:
6.如權利要求5所述的方法,其特征在于,所述基于預設描述符,與所述CPU通過所述預設描述符對應的數據內存進行報文傳輸的步驟還包括:
7.一種報文傳輸裝置,其特征在于,應用于電子設備的CPU,所述電子設備還包括DMAC,所述裝置包括:
8.一種報文收發裝置,其特征在于,應用于電子設備中的DMAC,所述電子設備還包括CPU,所述裝置包
9.一種電子設備,其特征在于,其包括CPU、DMAC以及存儲器,所述存儲器存儲有第一計算機程序和第二計算機程序,所述第一計算機程序被所述CPU執行時實現如權利要求1至3任一項所述的報文傳輸方法,所述第二計算機程序被所述DMAC執行時實現如權利要求4至6任一項所述的報文收發方法。
10.一種計算機可讀存儲介質,其特征在于,其存儲有第一計算機程序和第二計算機程序,所述第一計算機程序被CPU執行時實現如權利要求1至3任一項所述的報文傳輸方法,所述第二計算機程序被DMAC執行時實現如權利要求4至6任一項所述的報文收發方法。
...【技術特征摘要】
1.一種報文傳輸方法,其特征在于,應用于電子設備的cpu,所述電子設備還包括dmac,所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸的步驟包括:
3.如權利要求2所述的方法,其特征在于,所述基于處理后的描述符,與所述dmac通過所述數據內存進行報文傳輸的步驟還包括:
4.一種報文收發方法,其特征在于,應用于電子設備中的dmac,所述電子設備還包括cpu,所述方法包括:
5.如權利要求4所述的方法,其特征在于,所述基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸的步驟包括:
6.如權利要求5所述的方法,其特征在于,所述基于預設描述符,與所述cpu通過所述預設描述符對應的數據內存進行報文傳輸的步驟還包括:
【專利技術屬性】
技術研發人員:李磊,趙仕中,秦歡,
申請(專利權)人:蘇州盛科通信股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。