国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1123|回復: 0
打印 上一主題 下一主題

MPU進化,多核異構處理器有多強?

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-11-21 09:45:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

隨著市場對嵌入式設備功能需求的提高,市面上出現了集成嵌入式處理器和單片機的主控方案,以兼顧性能和效率。

在實際應用中,嵌入式處理器和單片機之間需要進行大量且頻繁的數據交換,如果采用低速串行接口,則數據傳輸效率低,這將嚴重影響產品的性能;而如果采用高速并口,則占用管腳多,硬件成本將會增加。



為解決這一痛點,各大芯片公司陸續推出了兼具A核和M核的多核異構處理器,如NXPi.MX8系列、瑞薩的RZ/G2L系列以及TI的AM62x系列等等。雖然這些處理器的品牌及性能有所不同,但多核通信原理基本一致,都是基于寄存器和中斷傳遞消息,基于共享內存傳輸數據。

以配電終端產品為例,A核負責通訊和顯示等人機交互任務,M核負責采樣和保護等對實時性要求較高的任務,雙核間交互模擬量、開關量和錄波文件等多種信息,A核+M核的方案既滿足了傳統采樣保護功能,又支持多種接口通信及新增容器等功能,符合國家電網現行配電標準。



通信過程整體架構說明

一、 硬件層通信實現機制

通過物理內存DDR分配,將硬件層分為了兩部分:TXVring Buffer(發送虛擬環狀緩沖區)和RXVring Buffer(接收虛擬環狀緩沖區);其中M核從TXVring區發送數據,從RXVring區讀取接收數據,A核反之。

處理器支持消息傳遞單元(MessagingUnit,簡稱MU)功能模塊,通過MU傳遞消息進行通信和協調,芯片內的M7控制核和A53處理核通過通過寄存器中斷的方式傳遞命令,最多支持4組MU雙向傳遞消息,既可通過中斷告知對方數據傳遞的狀態,也可發送最多4字節數據,還可在低功耗模式下喚醒對方,是保證雙核通信實時性的重要手段。



寄存器輸入輸出通信模型

(1)CoreA寫入數據; (2)MU將Tx 空位清0,Rx滿位置1; (3)產生接收中斷請求,通知CoreB接收狀態寄存器中的接收器滿,可以讀取數據; (4)CoreB響應中斷,讀取數據; (5)CoreB讀完數據后,MU將Rx滿位清0,Tx空位置1; (6)狀態寄存器向CoreA生成發送中斷請求,告知CoreB讀完數據,發送寄存器空。

通過以上步驟,就完成了1次從CoreA向CoreB 傳遞消息的過程,反之亦然。

二、驅動層Virtio下RPMsg通信實現

Virtio是通用的IO虛擬化模型,位于設備之上的抽象層,負責前后端之間的通知機制和控制流程,為異構多核間數據通信提供了層的實現。

RPMsg消息框架是Linux系統基于Virtio緩存隊列實現的主處理核和協處理核間進行消息通信的框架,當客戶端驅動需要發送消息時,RPMsg會把消息封裝成Virtio緩存并添加到緩存隊列中以完成消息的發送,當消息總線接收到協處理器送到的消息時也會合理地派送給客戶驅動程序進行處理。

在驅動層,對A核,Linux采用RPMsg框架+Virtio驅動模型,將RPMsg封裝為了tty文件供應用層調用;在M核,將Virtio移植,并使用簡化版的RPMsg,因為涉及到互斥鎖和信號量,最終使用FreeRTOS完成過程的封裝,流程框圖如下方所示。


編輯切換為居中

添加圖片注釋,不超過 140 字(可選)


主處理核與協處理核數據傳遞流程圖

(1)Core0向Core1發送數據,通過rpmsg_send函數將數據打包至Virtioavail鏈表區; (2)在avail鏈表尋找共享內存中空閑緩存,將數據置于共享內存中; (3)通過中斷通知Core1數據到來,共享內存由avail鏈表區變至used區; (4)Core1收到中斷,觸發rpmsg的接收回調函數,從used區獲取數據所在的共享內存的物理地址,完成數據接收; (5)通過中斷通知Core0數據接收完成,共享內存緩存由used區變為avail區,供下次傳輸使用。

三、應用層雙核通信實現方式

在應用層,對A核可使用open、write和read函數對 /dev下設備文件進行調用;對M核,可使用rpmsg_lite_remote_init、rpmsg_lite_send和rpmsg_queue_recv函數進行調用,不做重點闡述。

四、實際使用效果

通過程序實測,M核和A核可以批量傳輸大數據。同樣以配電產品為例——128點采樣的錄波文件大約為43K,若通過傳統的串行總線傳輸方式,需要數秒才可完成傳輸。

而使用i.MX8MP的雙核異構通信方案,只需要不到0.5秒即可傳輸完成,數據傳輸效率提升數十倍!同時還避免了串行總線易受EMC干擾的問題,提高了數據傳輸穩定性,簡化了應用編程,可滿足用戶快速開發的需求。

以上就是關于多核異構處理器中A核與M核通信過程的解析,飛凌www.forlinx.com多核異構平臺有NXP的i.MX8系列、瑞薩的RZ/G2L系列以及TI的AM62x系列等等,您可關注了解。


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产原创巨作精品 | 中文日产国产精品久久 | 成人黄网大全在线观看 | ww欧洲ww在线视频免费观看 | 人蛇大战高清完整版在线观看 | 色欧美亚洲 | 久久精品三级 | 另类专区另类专区亚洲 | 国产精品久久一区一区 | 日韩精品一区二区三区高清 | 国产精品亚洲精品 | 久综合| 国产91香蕉在线精品 | 天天干天天操天天添 | 亚洲全黄| 青丝影院高清版在线观看 | 日本中文视频 | 老子影院午夜伦不卡不四虎卡 | 久久久久久免费播放一级毛片 | 爱爱永久免费视频网站 | 国产一区二区自拍视频 | 99精品国产福利在线观看 | 日日欧美 | 91视频免费播放 | 在线天堂新版在线观看 | 国产日产高清欧美一区二区三区 | 亚洲免费视 | 精品国产污污免费网站 | 精品视频一区二区三区在线观看 | 最新亚洲国产有精品 | 欧美日中文字幕 | 精品123区| 91啦视频在线 | 精品在线免费观看视频 | 国产精品成人一区二区不卡 | 爱婷婷网站在线观看 | 欧美日韩视频精品一区二区 | 成人黄色在线网站 | 免费观看a黄一级视频 | 欧美日韩免费播放一区二区 | 日韩欧美精品有码在线观看 |