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