協(xié)議和存儲(chǔ)器設(shè)計(jì)的最新進(jìn)展使得能夠以原位制動(dòng) (XiP) 方式直接從片外非易失性存儲(chǔ)器 (NVM) 設(shè)備運(yùn)行固件。
當(dāng)今的大多數(shù)嵌入式系統(tǒng)都依賴于片上閃存或SRAM來存儲(chǔ)程序存儲(chǔ)器(固件)。然而,這些存儲(chǔ)器在成本和功耗方面通常很昂貴,并且還將程序大小限制在片上實(shí)現(xiàn)的存儲(chǔ)器量。協(xié)議和存儲(chǔ)器設(shè)計(jì)的最新進(jìn)展使得能夠以原位制動(dòng) (XiP) 方式直接從片外非易失性存儲(chǔ)器 (NVM) 器件運(yùn)行固件,這種方法可能會(huì)緩解上述挑戰(zhàn)。
本文將介紹用于嵌入固件的傳統(tǒng)解決方案的優(yōu)缺點(diǎn)。接下來將深入討論XiP解決方案,并總結(jié)有關(guān)如何選擇最佳XiP架構(gòu)的建議。
嵌入式閃存長(zhǎng)期以來一直是微控制器(MCU)的中流砥柱。這些 MCU 通過一個(gè)或多個(gè)存儲(chǔ)固件和其他常量的 NVM 陣列來增強(qiáng)片上易失性存儲(chǔ)器陣列。實(shí)現(xiàn)這一目標(biāo)需要通過大量額外的制造步驟,使用NVM單元增強(qiáng)基本的CMOS工藝。過去,添加這些制造步驟的成本很小,但隨著CMOS技術(shù)的進(jìn)步,將標(biāo)準(zhǔn)CMOS工藝轉(zhuǎn)變?yōu)橹С諲VM的工藝變得越來越復(fù)雜和昂貴。事實(shí)上,雖然當(dāng)今批量生產(chǎn)中最先進(jìn)的CMOS工藝低于10nm,但帶有嵌入式閃存的CMOS在40nm方面落后于幾代人。
結(jié)果是,雖然MCU供應(yīng)商可以使用更快,更便宜且需要更低功率的工藝技術(shù)構(gòu)建產(chǎn)品,但使用嵌入式NVM可以防止他們這樣做。即使他們選擇支持嵌入式NVM的老一代產(chǎn)品,支持閃存的工藝與不支持閃存的工藝之間的價(jià)格差距也可能超過40%。此外,將特定的 NVM 大小提交到 MCU 中可能適用于一個(gè)應(yīng)用程序,但對(duì)于另一個(gè)應(yīng)用程序來說,這可能是錯(cuò)誤的容量。
盡管面臨所有這些挑戰(zhàn),嵌入式NVM將在很長(zhǎng)一段時(shí)間內(nèi)成為MCU的中流砥柱。對(duì)于可以在不太先進(jìn)的CMOS工藝中實(shí)現(xiàn)的較小設(shè)計(jì),使用嵌入式閃存將是最有效的解決方案。但性能更高、功耗更低的MCU需要替代解決方案。
使用嵌入式閃存的另一種方法是由外部串行閃存設(shè)備支持的片上SRAM陣列。啟動(dòng)時(shí),外部閃存的內(nèi)容被復(fù)制到片上SRAM,然后MCU開始從SRAM執(zhí)行。該解決方案的最大優(yōu)點(diǎn)是SRAM可以在最先進(jìn)的CMOS工藝下制造,而無需修改工藝。但是,該解決方案需要固件的兩個(gè)副本 - 一個(gè)在外部閃存中,另一個(gè)在SRAM中。即使在高級(jí)工藝節(jié)點(diǎn)中,大型片上SRAM陣列也相當(dāng)昂貴。而且,由于SRAM泄漏電流,因此當(dāng)系統(tǒng)處于關(guān)斷模式時(shí),它們需要關(guān)閉,每次MCU喚醒時(shí)都需要重復(fù)耗電且耗時(shí)的復(fù)制操作。最后,與嵌入式閃存的情況一樣,特定MCU中SRAM的大小是固定的,對(duì)于特定應(yīng)用的需要,它可能太大或太小。
MCU供應(yīng)商正在尋找新的內(nèi)存架構(gòu),以滿足新興智能物聯(lián)網(wǎng)邊緣設(shè)備的性能和功耗要求。XIP的使用正在成為高性能、低功耗系統(tǒng)的首選解決方案。借助 XiP,MCU 可以采用標(biāo)準(zhǔn) CMOS 工藝技術(shù)實(shí)現(xiàn),而只有外部閃存陣列需要特殊的 NVM 工藝。MCU通過一個(gè)指令緩存進(jìn)行了增強(qiáng),該緩存保存了常用的代碼段。每當(dāng)處理器在高速緩存中找不到所需的指令(高速緩存未命中)時(shí),MCU就會(huì)啟動(dòng)對(duì)外部閃存的訪問,以將缺少的指令存儲(chǔ)在高速緩存中。隨著新的 JEDEC xSPI 協(xié)議 (JESD 251) 的引入,閃存的接口可能高達(dá) 200MHz,具有雙數(shù)據(jù)速率 (DDR) 中的 8 位寬數(shù)據(jù)路徑切換。
最近,恩智浦和意法半導(dǎo)體都推出了MCU,可以使用外部閃存進(jìn)行原位掃描(XiP)操作。意法半導(dǎo)體的STM32L4+和STM32L5分別是基于Arm Cortex-M4和M33內(nèi)核的中檔MCU,而高端恩智浦 i.MX RT1050和RT10xx系列的其他成員則實(shí)現(xiàn)了600MHZ雙問題Cortex-M7和32KB指令緩存。恩智浦還通過其基于中檔M4的Kinetis K8x產(chǎn)品和最近推出的RT600(基于Arm Cortex-M33的MCU)支持XiP。意法半導(dǎo)體的MCU和Kinetis K8x實(shí)現(xiàn)了片上閃存和對(duì)XIP支持的組合。RT600 和 RT10xx 產(chǎn)品的設(shè)計(jì)沒有片上閃光燈,使它們能夠達(dá)到非常激進(jìn)的價(jià)格點(diǎn)。
為原位訪問選擇外部閃存設(shè)備時(shí),首先要問的問題是固件的哪些部分將在 XiP 模式下運(yùn)行。一些設(shè)計(jì)人員選擇混合方法,將程序的性能關(guān)鍵部分保留在芯片上(在ROM、閃存或SRAM中),并在XiP模式下使用外部閃存來擴(kuò)展其系統(tǒng)。
與此相關(guān)的問題:
全部或部分程序是從片上ROM、閃存還是SRAM執(zhí)行的?如果是,這些內(nèi)存類型中有哪些?
全部或部分程序是否會(huì)以 XiP 方式直接從外部閃存中執(zhí)行?
如果(a)的答案是SRAM,則需要在SoC外部使用閃存在引導(dǎo)時(shí)加載程序。設(shè)計(jì)人員可以選擇阿德斯托鳳凰(標(biāo)準(zhǔn)閃光燈)、融合(針對(duì)電池操作優(yōu)化的閃光燈)或 EcoXiP(針對(duì) XiP 優(yōu)化的八通道閃光燈)。對(duì)于成本敏感且吞吐量不重要的應(yīng)用程序,應(yīng)選擇 Phoenix。Fusion將適合具有非常嚴(yán)格的功率限制的最佳應(yīng)用。在這種情況下,只有當(dāng)客戶還需要XiP模式下的高性能或需要八通道閃存設(shè)備的吞吐量以實(shí)現(xiàn)非常快速的啟動(dòng)或頻繁的數(shù)據(jù)讀取操作時(shí),才應(yīng)考慮Adesto的EcoXiP-就像人工智能推理引擎一樣。
假設(shè)(b)的答案是肯定的(至少部分固件需要XiP),下一個(gè)問題是弄清楚需要多少性能。由于采用了高速八通道 DDR 接口,EcoXiP 可提供大約 4 倍于標(biāo)準(zhǔn)閃存設(shè)備的吞吐量。此外,“包裝并繼續(xù)”命令進(jìn)一步提高了可實(shí)現(xiàn)的吞吐量。有許多問題要問:
SoC 是否包含指令緩存?(如果沒有指令緩存,XiP性能將非常低,但是EcoXiP相對(duì)于四通道設(shè)備的優(yōu)勢(shì)將更加顯著)
CPU 將以什么頻率運(yùn)行,SPI 總線的頻率是多少?
在 XiP 中運(yùn)行時(shí)需要什么級(jí)別的性能?
設(shè)備是否需要現(xiàn)場(chǎng)軟件更新(通常稱為無線 (OTA) 更新)?
(c)的答案是至關(guān)重要的。在低頻和對(duì)XiP性能的低要求下,直接從標(biāo)準(zhǔn)四通道SPI閃存器件中執(zhí)行是相當(dāng)可行的。但是,即使指令緩存中只有很小百分比的未命中,與耗盡 EcoXiP 相比,在 Quad 設(shè)備之外執(zhí)行也能提供大約 50% 的 CPU 性能。
請(qǐng)注意,如果對(duì) (d) 的響應(yīng)為正,則 EcoXiP 的邊寫讀取功能將使 OTA 更新更加容易,前提是 SoC 是在沒有其他代碼存儲(chǔ)存儲(chǔ)器(僅依賴于 XiP)的情況下構(gòu)建的。還有其他用于OTA更新的解決方案,沒有邊寫邊讀,但它們都是SRAM密集型的,需要復(fù)雜的固件。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305198 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163834 -
sram
+關(guān)注
關(guān)注
6文章
767瀏覽量
114690
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論