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