對汽車(chē)片上系統采用雙核架構
不管單核的運行頻率有多高,在執行多個(gè)任務(wù)時(shí),它始終存在性能瓶頸和一些挑戰。以較高頻率運行的單核會(huì )消耗更多的功率。因此,單核架構無(wú)法滿(mǎn)足超低功率應用的需求。與基于單核的架構相比,基于雙核的SOC架構在性能和功率消耗方面實(shí)現了更好的平衡。
本文引用地址:http://dyxdggzs.com/article/116945.htm因此,雙核SoC目前已經(jīng)被大量應用于汽車(chē)設計。除了提供比單核更高的性能外,基于雙核的架構還被用于安全應用。安全性是汽車(chē)制造商比較關(guān)心的主要問(wèn)題之一。隨著(zhù)更多復雜應用的引入,硬件或軟件出現故障的機率也大大增加。汽車(chē)的設計必須足夠可靠,從而能夠檢測出任何故障并采取相應的修復措施?;陔p核的SoC的架構優(yōu)勢也使它們受到安全應用的青睞。
顧名思義,異構架構具有兩個(gè)不同的內核:由于這種架構含有兩個(gè)內核,并且這兩個(gè)內核分別使用了較高和較低的配置,因此較小的內核也被稱(chēng)為協(xié)處理器。其中,主內核用于執行批量應用處理,而較小的內核用于處理一些不太復雜的操作,比如持續在I/O上發(fā)送數據。因此即使有第二個(gè)內核存在,由于它的作用是支持或補充主內核,因此仍稱(chēng)為協(xié)處理器。
圖1顯示了MPC5668G的架構: 面向網(wǎng)關(guān)應用的雙核32位MCU。它提供了2個(gè)e200系列內核,采用PowerPC架構。E200z6充當主內核,而E200z0充當協(xié)處理器。E200z6內核支持浮點(diǎn)單元(FPU)、信號處理設計(SPE)、內存管理單元(MMU)等,而e200z0內核要遠遠小于E200z6內核,因此支持的功能也較少。
這兩個(gè)內核都可以訪(fǎng)問(wèn)所有內存和外圍設備以及其他“總線(xiàn)主控制器”,如FlexRay控制器和eDMA。交叉開(kāi)關(guān)用于控制接入和仲裁。到單從端口的并行請求通過(guò)循環(huán)仲裁或固定優(yōu)先級仲裁來(lái)進(jìn)行。中斷控制器進(jìn)行了增強,可以將中斷路由到任意或全部?jì)蓚€(gè)內核。
在SoC復位后,只有主內核e200z6啟動(dòng)。 主內核通過(guò)在SoC定義的寄存器中寫(xiě)入密匙來(lái)將z0內核從復位狀態(tài)中釋放。一旦z0內核啟動(dòng),它就可以用于各種功能并為z6內核提供支持。z0內核在啟動(dòng)后可以獨立于主內核運行,并且可以用于執行大量任務(wù),比如在不同SoC之間通信,I/O處理等等。因此,它減輕了主內核的負載并釋放了自身的帶寬。
除內核外,其他任何IP或外圍設備都沒(méi)有冗余。 也就是說(shuō),這兩個(gè)內核共享SoC中的其余模塊。例如,兩個(gè)內核的代碼(應用/調試)將存儲在同一個(gè)閃存中,在代碼處理期間使用相同的SRAM和同一個(gè)SRAM控制器。 對共享外圍設備的訪(fǎng)問(wèn)由信號量控制。信號量在這里發(fā)揮了關(guān)鍵作用,是雙內核SoC中不可或缺的部分,本文后面將進(jìn)行詳細介紹。
評論