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