自從第一款片上系統(tǒng)產(chǎn)品問(wèn)世以來(lái),集成存儲(chǔ)器一直是微控制器 (MCU) 領(lǐng)域的一部分。然而,今天,存儲(chǔ)器架構(gòu)(尤其是閃存)在 MCU 在應(yīng)用中的性能方面發(fā)揮著越來(lái)越重要的作用。設(shè)計(jì)團(tuán)隊(duì)需要超越基本的內(nèi)存大小參數(shù),而是評(píng)估他們?nèi)绾螌?yīng)用程序映射到內(nèi)存空間以滿足項(xiàng)目性能要求。MCU 時(shí)鐘頻率已顯著提高,但只有設(shè)計(jì)人員能夠有效地將指令和數(shù)據(jù)饋送到處理器內(nèi)核,這才等同于更好的系統(tǒng)性能。
從歷史上看,MCU 的時(shí)鐘速度相對(duì)較慢——尤其是相對(duì)于通用微處理器而言。因此,內(nèi)存訪問(wèn)時(shí)間和帶寬并不是 MCU 的主要問(wèn)題。雖然微處理器供應(yīng)商開(kāi)發(fā)了多級(jí)緩存方案來(lái)有效地為內(nèi)核供電,但 MCU 的速度仍然與集成內(nèi)存的性能特征保持相對(duì)同步。然而,如今,即使是低成本 32 位 MCU 的時(shí)鐘頻率也達(dá)到了 100MHz 或更快的范圍,而這樣的速度要求設(shè)計(jì)團(tuán)隊(duì)仔細(xì)研究?jī)?nèi)存對(duì)性能的影響。
基于 ARM Cortex-M3 的 MCU
公司基于 ARM Cortex-M3 內(nèi)核的 32 位 MCU 的趨勢(shì)為啟動(dòng)閃存討論提供了良好的環(huán)境。ARM 提供內(nèi)核,但每個(gè) MCU 供應(yīng)商都必須用自己的外設(shè)集和內(nèi)存圍繞該內(nèi)核。Flash 實(shí)施和性能取決于每個(gè)供應(yīng)商擁有的 Flash IP 以及 MCU 供應(yīng)商或其制造合作伙伴的晶圓廠能力。
Cotex-M3 被許可方包括德州儀器(TI)、恩智浦半導(dǎo)體、飛思卡爾和意法半導(dǎo)體等。每個(gè)制造商都開(kāi)發(fā)了一種獨(dú)特的方法來(lái)解決閃存問(wèn)題,并且大多數(shù)制造商已經(jīng)遷移到使用 90 納米光刻技術(shù)的相對(duì)先進(jìn)的制造工藝。
即使在 90 納米,大多數(shù)閃存實(shí)現(xiàn)也無(wú)法提供與 100 MHz 或更快處理器的需求相匹配的訪問(wèn)時(shí)間和帶寬。雖然閃存訪問(wèn)時(shí)間不斷改進(jìn),但許多 MCU 實(shí)施僅支持 25 MHz 范圍內(nèi)的時(shí)鐘速度,且等待狀態(tài)為零。如果 Flash 的運(yùn)行速度明顯慢于處理器,則等待狀態(tài)會(huì)嚴(yán)重影響性能。
為了解決這個(gè)問(wèn)題,MCU 供應(yīng)商正在采用其他新技術(shù)來(lái)為處理器供電。例如,基于 Cortex-M3 內(nèi)核的 NXP Semiconductors LPC1800 MCU 的時(shí)鐘速度可高達(dá) 150 MHz。NXP 利用雙閃存組來(lái)減輕與等待狀態(tài)相關(guān)的性能損失。LPC1800 系列包括具有高達(dá) 1 MB 閃存的 MCU,其中許多采用雙存儲(chǔ)體策略。
每個(gè)雙組均為 256 位寬。對(duì)其中一個(gè)存儲(chǔ)體的讀取操作可以獲取多達(dá)八個(gè)指令字,并且兩個(gè)存儲(chǔ)體之間的串行讀取操作有效地使存儲(chǔ)器的訪問(wèn)時(shí)間加倍。
這種方法的缺點(diǎn)是除了增加功耗外,還增加了硅空間和制造復(fù)雜性方面的成本。閃存通常是 MCU 上的主要功耗之一。然而,由于恩智浦提供具有單閃存組和雙閃存組的 LPC1800 版本,設(shè)計(jì)團(tuán)隊(duì)可以決定手頭的項(xiàng)目是否需要性能優(yōu)勢(shì),并在選擇過(guò)程中進(jìn)行成本/收益評(píng)估。
內(nèi)存加速器緩存指令
其他 MCU 供應(yīng)商對(duì)閃存性能問(wèn)題采取不同的方法。STMicroelectronics STM32F2 MCU 系列同樣基于 Cortex-M3,提供 128 位寬的單閃存組。為了補(bǔ)充 MCU,該公司開(kāi)發(fā)了一種自適應(yīng)實(shí)時(shí) (ART) 存儲(chǔ)器加速器來(lái)緩存指令和數(shù)據(jù),并加快閃存訪問(wèn)時(shí)間。
STMicroelectronics 提供速度高達(dá) 120 MHz 的 STM32F2 系列。由于單次 Flash 讀取可以獲取四個(gè)指令字,因此 Flash 訪問(wèn)速度可以支持零等待狀態(tài)操作——假設(shè)對(duì)代碼進(jìn)行線性訪問(wèn)。但是,當(dāng)然,分支構(gòu)成了典型程序的很大一部分。盡管如此,STMicroelectronics 斷言,一旦分支目標(biāo)存儲(chǔ)在 ART 寄存器中,ART 加速器將啟用零等待狀態(tài)操作。
緩存的挑戰(zhàn)在于,程序不可避免地會(huì)遭受緩存未命中的等待狀態(tài)。設(shè)計(jì)團(tuán)隊(duì)可以緩解 Flash 未命中問(wèn)題的一種方法是手動(dòng)編寫(xiě)應(yīng)用程序的關(guān)鍵部分并確保關(guān)鍵例程適合緩存。不幸的是,這也會(huì)給任何編程任務(wù)增加大量時(shí)間。
STMicroelectronics 指出,緩存方法比使用更大的閃存陣列或多個(gè)存儲(chǔ)體更有效地利用了硅空間。嵌入式系統(tǒng)設(shè)計(jì)人員評(píng)估與手頭項(xiàng)目相關(guān)的成本要求和潛在的性能下降非常重要。
先進(jìn)的晶圓廠工藝加速訪問(wèn)
閃存性能限制的另一種方法是改進(jìn)單元設(shè)計(jì)和制造工藝。NXP Semiconductors 和 STMicroelectronics 都已轉(zhuǎn)向 90 nm 工藝,并因此縮短了閃存訪問(wèn)時(shí)間。不幸的是,性能仍然延遲了處理器性能的升級(jí)。
瑞薩電子另一方面,開(kāi)發(fā)了一種閃存架構(gòu),可提供 10 納秒的讀取訪問(wèn)。這意味著 100-MHz 處理器可以在無(wú)等待狀態(tài)下訪問(wèn)代碼或數(shù)據(jù)。
瑞薩電子不是 Cortex-M3 的被許可方,但提供范圍廣泛的專有內(nèi)核,這些內(nèi)核源自三菱半導(dǎo)體和日立半導(dǎo)體以及最近的 NEC 電子的合并。
該公司專注于主流 32 位市場(chǎng)中相對(duì)較新的RX600系列 MCU。迄今為止,該公司已經(jīng)推出了具有高達(dá) 1 MB 閃存的 100 MHz 產(chǎn)品,盡管它表示未來(lái)將提供高達(dá) 4 MB 的閃存。
雖然似乎更快的閃存工藝可能會(huì)增加制造成本并導(dǎo)致更昂貴的 MCU,但 RX 似乎并非如此。MCU 系列相對(duì)較新,剛剛開(kāi)始在大批量項(xiàng)目中贏得市場(chǎng)份額。設(shè)計(jì)團(tuán)隊(duì)?wèi)?yīng)評(píng)估與項(xiàng)目考慮的每個(gè) MCU 相關(guān)的成本。在考慮實(shí)現(xiàn)更快的 MCU 時(shí)要考慮的第一件事是應(yīng)用程序的系統(tǒng)級(jí)性能和閃存要求。
評(píng)論