摘要
本文介紹瑞薩RZ/G2L MPU的多核異構(gòu)設(shè)計(jì)及通信方案。
背景
在當(dāng)今的工業(yè)和消費(fèi)電子應(yīng)用中,系統(tǒng)需求日益增長(zhǎng),不僅要求執(zhí)行復(fù)雜的控制任務(wù),還需要實(shí)時(shí)地采集和處理數(shù)據(jù)。為了滿足這些需求,多核異構(gòu)處理器成為了一種流行的解決方案。這類處理器通常結(jié)合了ARM架構(gòu)的A系列核心(用于處理高級(jí)計(jì)算任務(wù))以及M系列或R系列核心(專注于實(shí)時(shí)操作)。在這種架構(gòu)下,復(fù)雜的控制任務(wù)可以由搭載Linux的A核心處理,而實(shí)時(shí)數(shù)據(jù)的采集和處理則可以交由運(yùn)行RTOS或bare-metal的M核或R核來(lái)完成。
與傳統(tǒng)的單核MPU和單核MCU的多芯片系統(tǒng)設(shè)計(jì)相比,多核異構(gòu)處理器展現(xiàn)出顯著的優(yōu)勢(shì)。在傳統(tǒng)設(shè)計(jì)中,兩顆芯片之間需要通過(guò)外部接口交換大量數(shù)據(jù),這不僅占用了寶貴的引腳資源,而且數(shù)據(jù)傳輸效率低下。相反,集成了A核和M核或R核的多核異構(gòu)處理器利用內(nèi)部總線結(jié)構(gòu)實(shí)現(xiàn)了快速通信,并共享內(nèi)部資源,從而避免了對(duì)外部引腳的占用。這種多核異構(gòu)的系統(tǒng)設(shè)計(jì)不僅降低了通信過(guò)程中的信息安全風(fēng)險(xiǎn),還減少了芯片采購(gòu)和管理成本,縮減了PCB板的成本和尺寸,并簡(jiǎn)化了開(kāi)發(fā)流程。
RZ/G2L產(chǎn)品介紹
配備雙核Arm Cortex-A55 (1.2 GHz) CPU和單核Arm Cortex-M33 (200 MHz) CPU、3D圖形加速引擎和視頻編碼解碼引擎器的通用微處理器。
G2L框圖
異構(gòu)通信機(jī)制OPENAMP
Open Asymmetric Multi-Processing
在RZ/G2L系列的MPU中,我們可以看到多核異構(gòu)架構(gòu)的一個(gè)實(shí)際應(yīng)用。這款MPU擁有一個(gè)大核Cortex-A55,頻率高達(dá)1.2GHz,能夠運(yùn)行Linux操作系統(tǒng),以及一個(gè)小核Cortex-M33,頻率為200MHz,專門(mén)用于運(yùn)行RTOS或裸機(jī)(bare-metal)程序。這兩個(gè)核心之間的異構(gòu)通信是通過(guò)OpenAMP軟件框架實(shí)現(xiàn)的。
OpenAMP是一個(gè)輕量級(jí)的通信協(xié)議,它使得不同的處理器能夠通過(guò)共享內(nèi)存或消息傳遞機(jī)制來(lái)進(jìn)行交流。在一個(gè)多核處理系統(tǒng)中,各個(gè)處理器可能會(huì)運(yùn)行不同的軟件模塊,而OpenAMP框架則為這些模塊之間的數(shù)據(jù)交換和協(xié)作提供了一種有效的手段。通過(guò)這種方式,OpenAMP不僅簡(jiǎn)化了多處理器間的通信,還增強(qiáng)了整個(gè)系統(tǒng)的協(xié)同效率和功能性。見(jiàn)圖1。
圖1
Virtio
虛擬化模塊
Virtio是一個(gè)共享內(nèi)存管理的虛擬設(shè)備框架,Virtio中的vring是指向數(shù)據(jù)緩沖區(qū)指針的FIFO隊(duì)列,有兩個(gè)單向的vring,一個(gè)vring專用于發(fā)送到遠(yuǎn)程處理器的消息,另一個(gè)vring用于從遠(yuǎn)程處理器接收的消息, 數(shù)據(jù)就存放于共享的內(nèi)存中,即Vring buffers, 一半用于發(fā)送,一半用于接收。
RPMsg
遠(yuǎn)程處理器消息傳遞
RPMsg框架位于Virtio的上層,RPMsg(Remote Processor Messaging)框架是一種基于Virtio的消息總線。見(jiàn)圖2。
圖2
Remoteproc
主處理器上的Linux操作系統(tǒng)可以對(duì)遠(yuǎn)程處理器及其相關(guān)軟件環(huán)境進(jìn)行生命周期管理,即啟動(dòng)或關(guān)閉遠(yuǎn)程處理器。見(jiàn)圖3。
圖3
IPCC處理器間通信控制器
MHU(Message Handling Unit)是MPU芯片內(nèi)的一個(gè)IP模塊,擔(dān)任IPCC角色,用于Cortex-A55(CA55)之間或與Cortex-M33(CM33)之間的消息通信。數(shù)據(jù)傳輸通過(guò)共享內(nèi)存方式實(shí)現(xiàn)。
一個(gè)通道由一對(duì)數(shù)據(jù)傳輸處理寄存器和響應(yīng)傳輸處理寄存器組成,共掛載12個(gè)通道(CA55 Core0/Core1 CM33,安全和非安全區(qū)域)。見(jiàn)圖4。
圖4
以上介紹了RZ/G2L雙核異構(gòu)的通信方式,同時(shí)RZ/G2L產(chǎn)品也提供相應(yīng)的軟件支持。
Multi-os (CA55 Linux + CM33 RTOS)
客戶可以使用靈活的軟件包(FSP)快速開(kāi)發(fā)應(yīng)用程序,使用OpenAMP創(chuàng)建與Linux配合使用的應(yīng)用程序。見(jiàn)圖5。
圖5
Cortex-M33開(kāi)發(fā)環(huán)境
圖6
相應(yīng)硬件板及軟件工具可以通過(guò)瑞薩官網(wǎng)獲得。
JTAG在線調(diào)試
當(dāng)連接JTAG時(shí),必須如下設(shè)置DIP SW1。見(jiàn)圖7。
圖7
CORTEX-M33啟動(dòng)方式
● CM33由CA55加載啟動(dòng)
● 引導(dǎo)過(guò)程中有多個(gè)時(shí)間點(diǎn)可以執(zhí)行此操作:
● Arm Trusted Firmware
啟動(dòng)CM33的最快方法
允許將代碼加載到安全RAM中
● u-boot -> Multi OS SW package默認(rèn)方式
CM33 固件容易更新
二進(jìn)制文件存儲(chǔ)在u-boot可以訪問(wèn)的文件系統(tǒng)中
● Linux (remoteproc)
最方便維護(hù),軟件升級(jí)改動(dòng)少
共享資源
資源共享時(shí),請(qǐng)注意如下分配
● 引腳復(fù)用
● 內(nèi)存分配
● 外設(shè)分配
以上介紹了RZ/G2L MPU的多核異構(gòu)設(shè)計(jì)及通信方案,目前RZ/G系列都采用ARM A核和M核或R核的多核異構(gòu)設(shè)計(jì),更多產(chǎn)品信息您可訪問(wèn)瑞薩官網(wǎng)。
-
處理器
+關(guān)注
關(guān)注
68文章
19407瀏覽量
231180 -
瑞薩
+關(guān)注
關(guān)注
35文章
22310瀏覽量
86743 -
MPU
+關(guān)注
關(guān)注
0文章
375瀏覽量
48947 -
RTOS
+關(guān)注
關(guān)注
22文章
819瀏覽量
119885 -
多核異構(gòu)
+關(guān)注
關(guān)注
0文章
18瀏覽量
5461
原文標(biāo)題:RZ/G2L多核異構(gòu)通信方案介紹
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論